From 77eb102007cd0ed558ec8d36db6c1691f3964015 Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Fri, 20 Sep 2024 15:46:28 +0800 Subject: [PATCH] Vanilla Nextra theme --- package.json | 6 +- .../components/AddressConverter.tsx | 171 ++++- .../Docs/components/AdminPolicy.tsx | 174 ------ .../Docs/components/ChainConfirmations.tsx | 74 ++- .../Docs/components/ConnectedChainsList.tsx | 214 +++++++ .../Docs/components/ContractAddresses.tsx | 71 +-- .../components/DocsHighlightBlockRack.tsx | 6 +- .../Docs/components/EndpointList.tsx | 69 +-- src/components/Docs/components/Fees.tsx | 98 +-- .../Docs/components/ForeignCoinsTable.tsx | 88 +-- src/components/Docs/components/GovParams.tsx | 121 ++-- .../Docs/components/GovUpgradeProposals.tsx | 153 +++-- .../Docs/components/NetworkDetails.tsx | 54 +- .../Docs/components/NodeSnapshots.tsx | 145 +++++ .../Docs/components/ObserverList.tsx | 92 +-- .../Docs/components/ObserverParams.tsx | 108 ---- .../Docs/components/OpenAPIBrowser.tsx | 78 ++- .../Docs/components/SubspaceKeyTable.tsx | 104 ---- .../Docs/components/ZetaTokenTable.tsx | 85 +-- src/components/Docs/index.ts | 4 +- src/lib/app.constants.ts | 10 + src/pages/about/_meta.json | 10 +- src/pages/about/index.mdx | 117 ++++ src/pages/about/roadmap.mdx | 121 ---- src/pages/about/token-utility/_meta.json | 44 +- .../about/token-utility/distribution.mdx | 38 +- src/pages/about/token-utility/gas.mdx | 20 +- src/pages/about/token-utility/liquidity.mdx | 21 +- src/pages/about/token-utility/overview.mdx | 10 +- src/pages/about/token-utility/token.mdx | 6 +- src/pages/about/token-utility/validators.mdx | 68 +- src/pages/about/zetachain.mdx | 58 -- src/pages/architecture/_meta.json | 9 - .../modules/crosschain/_meta.json | 4 - .../architecture/modules/emissions/_meta.json | 3 - .../architecture/modules/fungible/_meta.json | 4 - .../architecture/modules/observer/_meta.json | 4 - src/pages/architecture/overview.mdx | 71 --- src/pages/architecture/zetacored/zetacored.md | 43 -- .../zetacored_add-genesis-account.md | 44 -- .../zetacored/zetacored_add-observer-list.md | 29 - .../zetacored/zetacored_addr-conversion.md | 35 -- .../zetacored/zetacored_collect-gentxs.md | 28 - .../zetacored_collect-observer-info.md | 28 - .../zetacored/zetacored_config.md | 27 - .../architecture/zetacored/zetacored_debug.md | 31 - .../zetacored/zetacored_debug_addr.md | 35 -- .../zetacored/zetacored_debug_pubkey-raw.md | 36 -- .../zetacored/zetacored_debug_pubkey.md | 35 -- .../zetacored/zetacored_debug_raw-bytes.md | 35 -- .../architecture/zetacored/zetacored_docs.md | 28 - .../zetacored/zetacored_export.md | 30 - .../architecture/zetacored/zetacored_gentx.md | 91 --- .../zetacored/zetacored_get-pubkey.md | 27 - .../zetacored/zetacored_index-eth-tx.md | 37 -- .../architecture/zetacored/zetacored_init.md | 35 -- .../architecture/zetacored/zetacored_keys.md | 64 -- .../architecture/zetacored/zetacored_keys_.md | 30 - .../zetacored/zetacored_keys_add.md | 66 -- .../zetacored/zetacored_keys_delete.md | 41 -- .../zetacored/zetacored_keys_export.md | 43 -- .../zetacored/zetacored_keys_import.md | 34 - .../zetacored/zetacored_keys_list.md | 36 -- .../zetacored/zetacored_keys_migrate.md | 43 -- .../zetacored/zetacored_keys_mnemonic.md | 35 -- .../zetacored/zetacored_keys_parse.md | 36 -- .../zetacored/zetacored_keys_rename.md | 40 -- .../zetacored/zetacored_keys_show.md | 41 -- .../zetacored_keys_unsafe-export-eth-key.md | 34 - .../zetacored_keys_unsafe-import-eth-key.md | 34 - .../architecture/zetacored/zetacored_query.md | 50 -- .../zetacored/zetacored_query_account.md | 33 - .../zetacored/zetacored_query_auth.md | 34 - .../zetacored/zetacored_query_auth_account.md | 33 - .../zetacored_query_auth_accounts.md | 39 -- ...zetacored_query_auth_address-by-acc-num.md | 39 -- .../zetacored_query_auth_module-account.md | 39 -- .../zetacored_query_auth_module-accounts.md | 33 - .../zetacored/zetacored_query_auth_params.md | 39 -- .../zetacored/zetacored_query_authz.md | 31 - ...zetacored_query_authz_grants-by-grantee.md | 45 -- ...zetacored_query_authz_grants-by-granter.md | 45 -- .../zetacored/zetacored_query_authz_grants.md | 47 -- .../zetacored/zetacored_query_bank.md | 31 - .../zetacored_query_bank_balances.md | 48 -- .../zetacored_query_bank_denom-metadata.md | 45 -- .../zetacored/zetacored_query_bank_total.md | 50 -- .../zetacored/zetacored_query_block.md | 29 - .../zetacored/zetacored_query_crosschain.md | 43 -- ...ed_query_crosschain_get-zeta-accounting.md | 33 - ...uery_crosschain_in-tx-hash-to-cctx-data.md | 33 - ...cored_query_crosschain_last-zeta-height.md | 33 - ...uery_crosschain_list-all-in-tx-trackers.md | 33 - .../zetacored_query_crosschain_list-cctx.md | 39 -- ...tacored_query_crosschain_list-gas-price.md | 39 -- ...uery_crosschain_list-in-tx-hash-to-cctx.md | 39 -- ...red_query_crosschain_list-in-tx-tracker.md | 39 -- ...ed_query_crosschain_list-out-tx-tracker.md | 39 -- ...ored_query_crosschain_list-pending-cctx.md | 33 - .../zetacored_query_crosschain_params.md | 33 - .../zetacored_query_crosschain_show-cctx.md | 33 - ...tacored_query_crosschain_show-gas-price.md | 33 - ...uery_crosschain_show-in-tx-hash-to-cctx.md | 33 - ...ed_query_crosschain_show-out-tx-tracker.md | 33 - .../zetacored/zetacored_query_distribution.md | 34 - ...zetacored_query_distribution_commission.md | 40 -- ...cored_query_distribution_community-pool.md | 40 -- .../zetacored_query_distribution_params.md | 33 - .../zetacored_query_distribution_rewards.md | 41 -- .../zetacored_query_distribution_slashes.md | 46 -- ...tribution_validator-outstanding-rewards.md | 40 -- .../zetacored/zetacored_query_emissions.md | 32 - ...ed_query_emissions_get-emmisons-factors.md | 33 - ...red_query_emissions_list-pool-addresses.md | 33 - .../zetacored_query_emissions_params.md | 33 - ...uery_emissions_show-available-emissions.md | 33 - .../zetacored/zetacored_query_evidence.md | 47 -- .../zetacored/zetacored_query_evm.md | 31 - .../zetacored/zetacored_query_evm_code.md | 37 -- .../zetacored/zetacored_query_evm_params.md | 37 -- .../zetacored/zetacored_query_evm_storage.md | 37 -- .../zetacored/zetacored_query_feemarket.md | 31 - .../zetacored_query_feemarket_base-fee.md | 38 -- .../zetacored_query_feemarket_block-gas.md | 38 -- .../zetacored_query_feemarket_params.md | 37 -- .../zetacored/zetacored_query_fungible.md | 36 -- .../zetacored_query_fungible_code-hash.md | 33 - ...ery_fungible_gas-stability-pool-address.md | 39 -- ...ery_fungible_gas-stability-pool-balance.md | 39 -- ...ry_fungible_gas-stability-pool-balances.md | 39 -- ...cored_query_fungible_list-foreign-coins.md | 39 -- .../zetacored_query_fungible_params.md | 33 - ...cored_query_fungible_show-foreign-coins.md | 33 - ...etacored_query_fungible_system-contract.md | 33 - .../zetacored/zetacored_query_gov.md | 38 -- .../zetacored/zetacored_query_gov_deposit.md | 40 -- .../zetacored/zetacored_query_gov_deposits.md | 47 -- .../zetacored/zetacored_query_gov_param.md | 42 -- .../zetacored/zetacored_query_gov_params.md | 40 -- .../zetacored/zetacored_query_gov_proposal.md | 41 -- .../zetacored_query_gov_proposals.md | 52 -- .../zetacored/zetacored_query_gov_proposer.md | 40 -- .../zetacored/zetacored_query_gov_tally.md | 41 -- .../zetacored/zetacored_query_gov_vote.md | 40 -- .../zetacored/zetacored_query_gov_votes.md | 47 -- .../zetacored/zetacored_query_group.md | 42 -- .../zetacored_query_group_group-info.md | 33 - .../zetacored_query_group_group-members.md | 33 - ...red_query_group_group-policies-by-admin.md | 33 - ...red_query_group_group-policies-by-group.md | 33 - ...zetacored_query_group_group-policy-info.md | 33 - .../zetacored_query_group_groups-by-admin.md | 33 - .../zetacored_query_group_groups-by-member.md | 39 -- .../zetacored/zetacored_query_group_groups.md | 39 -- .../zetacored_query_group_proposal.md | 33 - ...d_query_group_proposals-by-group-policy.md | 33 - .../zetacored_query_group_tally-result.md | 33 - .../zetacored/zetacored_query_group_vote.md | 33 - ...zetacored_query_group_votes-by-proposal.md | 33 - .../zetacored_query_group_votes-by-voter.md | 33 - .../zetacored/zetacored_query_observer.md | 49 -- ...ery_observer_get-historical-tss-address.md | 33 - ...etacored_query_observer_get-tss-address.md | 33 - ...acored_query_observer_list-blame-by-msg.md | 33 - .../zetacored_query_observer_list-blame.md | 33 - ...acored_query_observer_list-chain-nonces.md | 39 -- ...acored_query_observer_list-chain-params.md | 33 - .../zetacored_query_observer_list-chains.md | 39 -- ...acored_query_observer_list-node-account.md | 39 -- ...acored_query_observer_list-observer-set.md | 33 - ...ored_query_observer_list-pending-nonces.md | 33 - ...tacored_query_observer_list-tss-history.md | 33 - .../zetacored_query_observer_params.md | 33 - .../zetacored_query_observer_show-ballot.md | 33 - .../zetacored_query_observer_show-blame.md | 33 - ...acored_query_observer_show-chain-nonces.md | 33 - ...acored_query_observer_show-chain-params.md | 33 - ...ed_query_observer_show-crosschain-flags.md | 33 - .../zetacored_query_observer_show-keygen.md | 33 - ...acored_query_observer_show-node-account.md | 33 - ...ored_query_observer_show-observer-count.md | 33 - .../zetacored_query_observer_show-tss.md | 33 - .../zetacored/zetacored_query_params.md | 29 - .../zetacored_query_params_subspace.md | 33 - .../zetacored/zetacored_query_slashing.md | 31 - .../zetacored_query_slashing_params.md | 39 -- .../zetacored_query_slashing_signing-info.md | 39 -- .../zetacored_query_slashing_signing-infos.md | 45 -- .../zetacored/zetacored_query_staking.md | 42 -- .../zetacored_query_staking_delegation.md | 40 -- .../zetacored_query_staking_delegations-to.md | 46 -- .../zetacored_query_staking_delegations.md | 46 -- ...zetacored_query_staking_historical-info.md | 40 -- .../zetacored_query_staking_params.md | 40 -- .../zetacored/zetacored_query_staking_pool.md | 40 -- .../zetacored_query_staking_redelegation.md | 40 -- ...acored_query_staking_redelegations-from.md | 46 -- .../zetacored_query_staking_redelegations.md | 46 -- ...ored_query_staking_unbonding-delegation.md | 40 -- ...uery_staking_unbonding-delegations-from.md | 46 -- ...red_query_staking_unbonding-delegations.md | 46 -- .../zetacored_query_staking_validator.md | 40 -- .../zetacored_query_staking_validators.md | 46 -- ...etacored_query_tendermint-validator-set.md | 32 - .../zetacored/zetacored_query_tx.md | 41 -- .../zetacored/zetacored_query_txs.md | 46 -- .../zetacored/zetacored_query_upgrade.md | 27 - .../zetacored_query_upgrade_applied.md | 38 -- ...zetacored_query_upgrade_module_versions.md | 39 -- .../zetacored/zetacored_query_upgrade_plan.md | 37 -- .../zetacored/zetacored_rollback.md | 38 -- .../zetacored/zetacored_rosetta.md | 38 -- .../zetacored/zetacored_snapshots.md | 29 - .../zetacored/zetacored_snapshots_delete.md | 27 - .../zetacored/zetacored_snapshots_dump.md | 28 - .../zetacored/zetacored_snapshots_export.md | 28 - .../zetacored/zetacored_snapshots_list.md | 27 - .../zetacored/zetacored_snapshots_load.md | 27 - .../zetacored/zetacored_snapshots_restore.md | 31 - .../architecture/zetacored/zetacored_start.md | 122 ---- .../zetacored/zetacored_status.md | 28 - .../zetacored/zetacored_tendermint.md | 29 - .../zetacored_tendermint_reset-state.md | 27 - .../zetacored_tendermint_show-address.md | 27 - .../zetacored_tendermint_show-node-id.md | 27 - .../zetacored_tendermint_show-validator.md | 27 - .../zetacored_tendermint_unsafe-reset-all.md | 28 - .../zetacored/zetacored_tendermint_version.md | 31 - .../zetacored/zetacored_testnet.md | 29 - .../zetacored/zetacored_testnet_init-files.md | 50 -- .../zetacored/zetacored_testnet_start.md | 48 -- .../architecture/zetacored/zetacored_tx.md | 51 -- .../zetacored/zetacored_tx_authz.md | 35 -- .../zetacored/zetacored_tx_authz_exec.md | 59 -- .../zetacored/zetacored_tx_authz_grant.md | 65 -- .../zetacored/zetacored_tx_authz_revoke.md | 58 -- .../zetacored/zetacored_tx_bank.md | 30 - .../zetacored/zetacored_tx_bank_multi-send.md | 62 -- .../zetacored/zetacored_tx_bank_send.md | 59 -- .../zetacored/zetacored_tx_broadcast.md | 61 -- .../zetacored/zetacored_tx_crisis.md | 29 - .../zetacored_tx_crisis_invariant-broken.md | 52 -- .../zetacored/zetacored_tx_crosschain.md | 41 -- ...etacored_tx_crosschain_abort-stuck-cctx.md | 52 -- ...ored_tx_crosschain_add-to-in-tx-tracker.md | 53 -- ...red_tx_crosschain_add-to-out-tx-tracker.md | 52 -- ...etacored_tx_crosschain_create-tss-voter.md | 52 -- ...zetacored_tx_crosschain_gas-price-voter.md | 52 -- .../zetacored_tx_crosschain_inbound-voter.md | 52 -- ...tacored_tx_crosschain_migrate-tss-funds.md | 52 -- .../zetacored_tx_crosschain_outbound-voter.md | 52 -- .../zetacored_tx_crosschain_refund-aborted.md | 52 -- ...x_crosschain_remove-from-out-tx-tracker.md | 52 -- ...acored_tx_crosschain_update-tss-address.md | 52 -- ...zetacored_tx_crosschain_whitelist-erc20.md | 52 -- .../zetacored/zetacored_tx_decode.md | 53 -- .../zetacored/zetacored_tx_distribution.md | 32 - ...red_tx_distribution_fund-community-pool.md | 59 -- ...cored_tx_distribution_set-withdraw-addr.md | 59 -- ...ed_tx_distribution_withdraw-all-rewards.md | 61 -- ...acored_tx_distribution_withdraw-rewards.md | 62 -- .../zetacored/zetacored_tx_emissions.md | 28 - .../zetacored/zetacored_tx_encode.md | 58 -- .../zetacored/zetacored_tx_evidence.md | 28 - .../zetacored/zetacored_tx_evm.md | 29 - .../zetacored/zetacored_tx_evm_raw.md | 52 -- .../zetacored/zetacored_tx_fungible.md | 36 -- ..._tx_fungible_deploy-fungible-coin-zrc-4.md | 52 -- ...red_tx_fungible_deploy-system-contracts.md | 52 -- ...tacored_tx_fungible_remove-foreign-coin.md | 52 -- ...ed_tx_fungible_update-contract-bytecode.md | 52 -- ...ored_tx_fungible_update-system-contract.md | 52 -- ..._tx_fungible_update-zrc20-liquidity-cap.md | 52 -- ..._tx_fungible_update-zrc20-paused-status.md | 58 -- ...d_tx_fungible_update-zrc20-withdraw-fee.md | 52 -- .../zetacored/zetacored_tx_gov.md | 34 - .../zetacored/zetacored_tx_gov_deposit.md | 60 -- .../zetacored_tx_gov_draft-proposal.md | 52 -- ...zetacored_tx_gov_submit-legacy-proposal.md | 82 --- ...legacy-proposal_cancel-software-upgrade.md | 59 -- ...it-legacy-proposal_community-pool-spend.md | 70 --- ...gov_submit-legacy-proposal_param-change.md | 84 --- ...submit-legacy-proposal_software-upgrade.md | 65 -- .../zetacored_tx_gov_submit-proposal.md | 76 --- .../zetacored/zetacored_tx_gov_vote.md | 61 -- .../zetacored_tx_gov_weighted-vote.md | 61 -- .../zetacored/zetacored_tx_group.md | 43 -- .../zetacored_tx_group_create-group-policy.md | 81 --- ...cored_tx_group_create-group-with-policy.md | 96 --- .../zetacored_tx_group_create-group.md | 81 --- .../zetacored_tx_group_draft-proposal.md | 52 -- .../zetacored/zetacored_tx_group_exec.md | 52 -- .../zetacored_tx_group_leave-group.md | 62 -- .../zetacored_tx_group_submit-proposal.md | 83 --- .../zetacored_tx_group_update-group-admin.md | 52 -- ...zetacored_tx_group_update-group-members.md | 79 --- ...etacored_tx_group_update-group-metadata.md | 52 -- ...ored_tx_group_update-group-policy-admin.md | 52 -- ...oup_update-group-policy-decision-policy.md | 52 -- ...d_tx_group_update-group-policy-metadata.md | 52 -- .../zetacored/zetacored_tx_group_vote.md | 69 --- .../zetacored_tx_group_withdraw-proposal.md | 62 -- .../zetacored/zetacored_tx_multi-sign.md | 75 --- .../zetacored/zetacored_tx_multisign-batch.md | 68 -- .../zetacored/zetacored_tx_observer.md | 36 -- .../zetacored_tx_observer_add-blame-vote.md | 52 -- .../zetacored_tx_observer_add-observer.md | 52 -- .../zetacored/zetacored_tx_observer_encode.md | 52 -- ...tacored_tx_observer_remove-chain-params.md | 52 -- ...tacored_tx_observer_update-chain-params.md | 52 -- ...red_tx_observer_update-crosschain-flags.md | 52 -- .../zetacored_tx_observer_update-keygen.md | 52 -- .../zetacored_tx_observer_update-observer.md | 52 -- .../zetacored/zetacored_tx_sign-batch.md | 78 --- .../zetacored/zetacored_tx_sign.md | 74 --- .../zetacored/zetacored_tx_slashing.md | 29 - .../zetacored/zetacored_tx_slashing_unjail.md | 59 -- .../zetacored/zetacored_tx_staking.md | 34 - .../zetacored_tx_staking_cancel-unbond.md | 65 -- .../zetacored_tx_staking_create-validator.md | 65 -- .../zetacored_tx_staking_delegate.md | 59 -- .../zetacored_tx_staking_edit-validator.md | 59 -- .../zetacored_tx_staking_redelegate.md | 59 -- .../zetacored/zetacored_tx_staking_unbond.md | 59 -- .../zetacored_tx_validate-signatures.md | 63 -- .../zetacored/zetacored_tx_vesting.md | 31 - ...vesting_create-periodic-vesting-account.md | 72 --- ...vesting_create-permanent-locked-account.md | 58 -- ...cored_tx_vesting_create-vesting-account.md | 61 -- .../zetacored/zetacored_validate-genesis.md | 27 - .../zetacored/zetacored_version.md | 29 - src/pages/developers/_meta.json | 41 +- src/pages/developers/apps/_meta.json | 6 + src/pages/developers/apps/intro.mdx | 153 +++++ src/pages/developers/architecture/_meta.json | 30 + .../modules/crosschain/_meta.json | 9 + .../modules/crosschain/messages.mdx | 114 ++-- .../modules/crosschain/overview.mdx | 6 +- .../architecture/modules/emissions/_meta.json | 3 + .../modules/emissions/overview.mdx | 6 +- .../architecture/modules/fungible/_meta.json | 4 + .../modules/fungible/messages.mdx | 23 +- .../modules/fungible/overview.mdx | 6 +- .../architecture/modules/observer/_meta.json | 4 + .../modules/observer/messages.mdx | 4 +- .../modules/observer/overview.mdx | 6 +- .../architecture/observers.mdx | 28 +- .../developers/architecture/overview.mdx | 71 +++ .../architecture/privileged.mdx | 20 +- .../architecture/protocol/README.md | 55 ++ .../architecture/protocol/SUMMARY.md | 38 ++ .../architecture/protocol/contracts/README.md | 8 + .../Revert.sol/interface.Revertable.md | 22 + .../Revert.sol/struct.RevertContext.md | 22 + .../Revert.sol/struct.RevertOptions.md | 26 + .../ERC20Custody.sol/contract.ERC20Custody.md | 249 ++++++++ .../evm/GatewayEVM.sol/contract.GatewayEVM.md | 480 ++++++++++++++ .../protocol/contracts/evm/README.md | 9 + .../abstract.ZetaConnectorBase.md | 173 ++++++ .../contract.ZetaConnectorNative.md | 130 ++++ .../contract.ZetaConnectorNonNative.md | 188 ++++++ .../interface.IERC20Custody.md | 85 +++ .../interface.IERC20CustodyErrors.md | 31 + .../interface.IERC20CustodyEvents.md | 96 +++ .../IGatewayEVM.sol/interface.IGatewayEVM.md | 201 ++++++ .../interface.IGatewayEVMErrors.md | 79 +++ .../interface.IGatewayEVMEvents.md | 101 +++ .../interface.IZetaConnectorEvents.md | 55 ++ .../interface.IZetaNonEthNew.md | 47 ++ .../contracts/evm/interfaces/README.md | 11 + .../GatewayZEVM.sol/contract.GatewayZEVM.md | 458 ++++++++++++++ .../protocol/contracts/zevm/README.md | 7 + .../zevm/ZRC20.sol/contract.ZRC20.md | 531 ++++++++++++++++ .../zevm/ZRC20.sol/interface.ZRC20Errors.md | 55 ++ .../interface.IGatewayZEVM.md | 267 ++++++++ .../interface.IGatewayZEVMErrors.md | 103 ++++ .../interface.IGatewayZEVMEvents.md | 67 ++ .../ISystem.sol/interface.ISystem.md | 51 ++ .../interfaces/IWZETA.sol/interface.IWETH9.md | 88 +++ .../interfaces/IZRC20.sol/enum.CoinType.md | 14 + .../interfaces/IZRC20.sol/interface.IZRC20.md | 116 ++++ .../IZRC20.sol/interface.IZRC20Metadata.md | 31 + .../IZRC20.sol/interface.ZRC20Events.md | 55 ++ .../contracts/zevm/interfaces/README.md | 15 + .../interface.UniversalContract.md | 19 + .../interface.zContract.md | 12 + .../UniversalContract.sol/struct.zContext.md | 12 + .../developers/architecture/protocol/index.md | 97 +++ .../{ => developers}/architecture/rewards.mdx | 12 +- .../architecture/whitelisting.mdx | 10 +- src/pages/developers/chains/_meta.json | 22 + src/pages/developers/chains/bitcoin.mdx | 105 ++++ src/pages/developers/chains/evm.mdx | 124 ++++ src/pages/developers/chains/list.mdx | 3 + src/pages/developers/chains/solana.mdx | 9 + src/pages/developers/chains/zetachain.mdx | 163 +++++ .../cross-chain-messaging/_meta.json | 7 - .../cross-chain-messaging/connector.mdx | 118 ---- .../cross-chain-messaging/examples/_meta.json | 6 - .../cross-chain-messaging/examples/erc20.mdx | 213 ------- .../examples/message.mdx | 242 -------- .../cross-chain-messaging/examples/nft.mdx | 317 ---------- .../cross-chain-messaging/examples/zeta.mdx | 414 ------------- .../cross-chain-messaging/gas-fees.mdx | 136 ---- .../cross-chain-messaging/overview.mdx | 79 --- .../cross-chain-messaging/transactions.mdx | 41 -- src/pages/developers/evm/_meta.json | 18 + src/pages/developers/{ => evm}/addresses.mdx | 26 +- src/pages/developers/evm/gas.mdx | 57 ++ src/pages/developers/evm/gateway.mdx | 52 ++ src/pages/developers/evm/throughput.mdx | 40 ++ src/pages/developers/frontend/_meta.json | 8 + .../developers/frontend/universalkit.mdx | 276 +++++++++ src/pages/developers/omnichain/_meta.json | 10 - src/pages/developers/omnichain/bitcoin.mdx | 79 --- src/pages/developers/omnichain/gas-fees.mdx | 62 -- .../developers/omnichain/liquidity-pools.mdx | 65 -- src/pages/developers/omnichain/overview.mdx | 86 --- .../developers/omnichain/system-contract.mdx | 78 --- .../developers/omnichain/tutorials/_meta.json | 12 - .../developers/omnichain/tutorials/curve.mdx | 49 -- .../omnichain/tutorials/nft/_meta.json | 4 - .../omnichain/tutorials/nft/contract.mdx | 298 --------- .../omnichain/tutorials/nft/frontend.mdx | 146 ----- .../single-input-multiple-output.mdx | 335 ---------- .../omnichain/tutorials/staking.mdx | 583 ------------------ .../developers/omnichain/tutorials/swap.mdx | 360 ----------- src/pages/developers/omnichain/zeta-evm.mdx | 21 - src/pages/developers/overview.mdx | 106 ---- src/pages/developers/reference/_meta.json | 10 + .../{omnichain => reference}/transactions.mdx | 53 +- src/pages/developers/services/_meta.json | 30 + src/pages/developers/services/alchemy.mdx | 115 ++++ src/pages/developers/services/envio.mdx | 37 ++ src/pages/developers/services/goldrush.mdx | 157 +++++ .../tutorials => services}/goldsky.mdx | 8 +- .../tutorials => services}/particle.mdx | 6 +- .../tutorials => services}/pyth.mdx | 27 +- src/pages/developers/services/subquery.mdx | 26 + src/pages/developers/template.mdx | 191 ------ src/pages/developers/tokens/_meta.json | 17 +- src/pages/developers/tokens/erc20.mdx | 11 +- src/pages/developers/tokens/zeta.mdx | 18 +- src/pages/developers/tokens/zrc20.mdx | 41 +- src/pages/developers/tutorials/_meta.json | 32 + .../bitcoin.mdx} | 46 +- .../{omnichain => }/tutorials/hello.mdx | 281 +++++---- src/pages/developers/tutorials/intro.mdx | 138 +++++ src/pages/developers/tutorials/localnet.mdx | 181 ++++++ src/pages/developers/tutorials/swap-any.mdx | 340 ++++++++++ src/pages/developers/tutorials/swap.mdx | 375 +++++++++++ src/pages/nodes/_meta.json | 10 + src/pages/nodes/start-here/_meta.json | 20 + .../start-here}/requirements.mdx | 33 +- src/pages/nodes/start-here/setup.mdx | 269 ++++++++ src/pages/nodes/start-here/syncing.mdx | 110 ++++ src/pages/nodes/validate/_meta.json | 8 + .../validate}/validator.mdx | 22 +- src/pages/reference/_meta.json | 22 +- src/pages/reference/apps/_meta.json | 24 + src/pages/reference/{ => apps}/explorers.mdx | 6 +- .../reference/{ => apps}/get-testnet-zeta.mdx | 23 +- src/pages/reference/{ => apps}/services.mdx | 10 +- src/pages/reference/{ => apps}/wallets.mdx | 26 +- src/pages/reference/bugbounty.mdx | 16 - src/pages/reference/details.mdx | 11 - src/pages/reference/learn/_meta.json | 12 + src/pages/reference/{ => learn}/faq.mdx | 43 +- src/pages/reference/{ => learn}/glossary.mdx | 26 +- src/pages/reference/network/_meta.json | 31 + .../reference/network/address-converter.mdx | 10 + src/pages/reference/{ => network}/api.mdx | 8 +- .../reference/{ => network}/contracts.mdx | 8 +- src/pages/reference/network/details.mdx | 13 + src/pages/reference/{ => network}/openapi.mdx | 6 +- .../network}/proposals.mdx | 8 +- src/pages/users/_meta.json | 26 +- .../{developers => users}/cli/_meta.json | 5 +- .../{developers => users}/cli/account.mdx | 11 +- .../{developers => users}/cli/balances.mdx | 10 +- .../{developers => users}/cli/delegate.mdx | 24 +- .../cli/governance/_meta.json | 4 +- .../cli/governance/deposit.mdx | 16 +- .../cli/governance/overview.mdx | 33 +- .../cli/governance/parameter.mdx | 34 +- .../cli/governance/submit.mdx | 4 +- .../cli/governance/text.mdx | 4 +- .../cli/governance/upgrade.mdx | 6 +- .../cli/governance/voting.mdx | 8 +- .../{developers => users}/cli/rewards.mdx | 11 +- src/pages/{developers => users}/cli/setup.mdx | 8 +- src/pages/users/keplr/setup.mdx | 32 +- src/pages/users/keplr/staking.mdx | 50 ++ src/pages/users/keplr/transfer.mdx | 19 +- src/pages/users/keplr/voting.mdx | 36 ++ src/pages/users/leap/delegate.mdx | 14 +- src/pages/users/leap/setup.mdx | 8 +- src/pages/users/pingpub/_meta.json | 4 +- src/pages/users/pingpub/delegate.mdx | 12 +- src/pages/users/zetahub/_meta.json | 42 +- src/pages/users/zetahub/connect-wallet.mdx | 4 +- src/pages/users/zetahub/create-wallet.mdx | 4 +- src/pages/users/zetahub/earn-zeta-xp.mdx | 71 +-- src/pages/users/zetahub/enroll-zeta-xp.mdx | 56 +- src/pages/users/zetahub/get-zeta.mdx | 4 +- src/pages/users/zetahub/pool.mdx | 92 +-- src/pages/users/zetahub/send.mdx | 8 +- src/pages/users/zetahub/stake.mdx | 113 +++- src/pages/validators/_meta.json | 12 - src/pages/validators/cosmovisor.mdx | 151 ----- src/pages/validators/ksync.mdx | 48 -- src/pages/validators/monitoring.mdx | 79 --- src/pages/validators/node.mdx | 98 --- src/pages/validators/setup.mdx | 87 --- src/pages/validators/snapshot.mdx | 22 - src/pages/validators/state-sync.mdx | 53 -- yarn.lock | 25 + 517 files changed, 9707 insertions(+), 19239 deletions(-) delete mode 100644 src/components/Docs/components/AdminPolicy.tsx create mode 100644 src/components/Docs/components/ConnectedChainsList.tsx create mode 100644 src/components/Docs/components/NodeSnapshots.tsx delete mode 100644 src/components/Docs/components/ObserverParams.tsx delete mode 100644 src/components/Docs/components/SubspaceKeyTable.tsx create mode 100644 src/pages/about/index.mdx delete mode 100644 src/pages/about/roadmap.mdx delete mode 100644 src/pages/about/zetachain.mdx delete mode 100644 src/pages/architecture/_meta.json delete mode 100644 src/pages/architecture/modules/crosschain/_meta.json delete mode 100644 src/pages/architecture/modules/emissions/_meta.json delete mode 100644 src/pages/architecture/modules/fungible/_meta.json delete mode 100644 src/pages/architecture/modules/observer/_meta.json delete mode 100644 src/pages/architecture/overview.mdx delete mode 100644 src/pages/architecture/zetacored/zetacored.md delete mode 100644 src/pages/architecture/zetacored/zetacored_add-genesis-account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_add-observer-list.md delete mode 100644 src/pages/architecture/zetacored/zetacored_addr-conversion.md delete mode 100644 src/pages/architecture/zetacored/zetacored_collect-gentxs.md delete mode 100644 src/pages/architecture/zetacored/zetacored_collect-observer-info.md delete mode 100644 src/pages/architecture/zetacored/zetacored_config.md delete mode 100644 src/pages/architecture/zetacored/zetacored_debug.md delete mode 100644 src/pages/architecture/zetacored/zetacored_debug_addr.md delete mode 100644 src/pages/architecture/zetacored/zetacored_debug_pubkey-raw.md delete mode 100644 src/pages/architecture/zetacored/zetacored_debug_pubkey.md delete mode 100644 src/pages/architecture/zetacored/zetacored_debug_raw-bytes.md delete mode 100644 src/pages/architecture/zetacored/zetacored_docs.md delete mode 100644 src/pages/architecture/zetacored/zetacored_export.md delete mode 100644 src/pages/architecture/zetacored/zetacored_gentx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_get-pubkey.md delete mode 100644 src/pages/architecture/zetacored/zetacored_index-eth-tx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_init.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_add.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_delete.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_export.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_import.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_list.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_migrate.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_mnemonic.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_parse.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_rename.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_show.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_unsafe-export-eth-key.md delete mode 100644 src/pages/architecture/zetacored/zetacored_keys_unsafe-import-eth-key.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_auth.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_auth_account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_auth_accounts.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_auth_address-by-acc-num.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_auth_module-account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_auth_module-accounts.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_auth_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_authz.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_authz_grants-by-grantee.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_authz_grants-by-granter.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_authz_grants.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_bank.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_bank_balances.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_bank_denom-metadata.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_bank_total.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_block.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_get-zeta-accounting.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_in-tx-hash-to-cctx-data.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_last-zeta-height.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_list-all-in-tx-trackers.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_list-cctx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_list-gas-price.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-hash-to-cctx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-tracker.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_list-out-tx-tracker.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_list-pending-cctx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_show-cctx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_show-gas-price.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_show-in-tx-hash-to-cctx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_crosschain_show-out-tx-tracker.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_distribution.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_distribution_commission.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_distribution_community-pool.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_distribution_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_distribution_rewards.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_distribution_slashes.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_distribution_validator-outstanding-rewards.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_emissions.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_emissions_get-emmisons-factors.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_emissions_list-pool-addresses.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_emissions_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_emissions_show-available-emissions.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_evidence.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_evm.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_evm_code.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_evm_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_evm_storage.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_feemarket.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_feemarket_base-fee.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_feemarket_block-gas.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_feemarket_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_code-hash.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-address.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balance.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balances.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_list-foreign-coins.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_show-foreign-coins.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_fungible_system-contract.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_deposit.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_deposits.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_param.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_proposals.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_proposer.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_tally.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_vote.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_gov_votes.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_group-info.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_group-members.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-admin.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-group.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_group-policy-info.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_groups-by-admin.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_groups-by-member.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_groups.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_proposals-by-group-policy.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_tally-result.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_vote.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_votes-by-proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_group_votes-by-voter.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_get-historical-tss-address.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_get-tss-address.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-blame-by-msg.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-blame.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-chain-nonces.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-chain-params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-chains.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-node-account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-observer-set.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-pending-nonces.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_list-tss-history.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-ballot.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-blame.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-chain-nonces.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-chain-params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-crosschain-flags.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-keygen.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-node-account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-observer-count.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_observer_show-tss.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_params_subspace.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_slashing.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_slashing_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_slashing_signing-info.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_slashing_signing-infos.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_delegation.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_delegations-to.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_delegations.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_historical-info.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_pool.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_redelegation.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_redelegations-from.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_redelegations.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegation.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations-from.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_validator.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_staking_validators.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_tendermint-validator-set.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_tx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_txs.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_upgrade.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_upgrade_applied.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_upgrade_module_versions.md delete mode 100644 src/pages/architecture/zetacored/zetacored_query_upgrade_plan.md delete mode 100644 src/pages/architecture/zetacored/zetacored_rollback.md delete mode 100644 src/pages/architecture/zetacored/zetacored_rosetta.md delete mode 100644 src/pages/architecture/zetacored/zetacored_snapshots.md delete mode 100644 src/pages/architecture/zetacored/zetacored_snapshots_delete.md delete mode 100644 src/pages/architecture/zetacored/zetacored_snapshots_dump.md delete mode 100644 src/pages/architecture/zetacored/zetacored_snapshots_export.md delete mode 100644 src/pages/architecture/zetacored/zetacored_snapshots_list.md delete mode 100644 src/pages/architecture/zetacored/zetacored_snapshots_load.md delete mode 100644 src/pages/architecture/zetacored/zetacored_snapshots_restore.md delete mode 100644 src/pages/architecture/zetacored/zetacored_start.md delete mode 100644 src/pages/architecture/zetacored/zetacored_status.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tendermint.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tendermint_reset-state.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tendermint_show-address.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tendermint_show-node-id.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tendermint_show-validator.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tendermint_unsafe-reset-all.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tendermint_version.md delete mode 100644 src/pages/architecture/zetacored/zetacored_testnet.md delete mode 100644 src/pages/architecture/zetacored/zetacored_testnet_init-files.md delete mode 100644 src/pages/architecture/zetacored/zetacored_testnet_start.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_authz.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_authz_exec.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_authz_grant.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_authz_revoke.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_bank.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_bank_multi-send.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_bank_send.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_broadcast.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crisis.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crisis_invariant-broken.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_abort-stuck-cctx.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-in-tx-tracker.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-out-tx-tracker.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_create-tss-voter.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_gas-price-voter.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_inbound-voter.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_migrate-tss-funds.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_outbound-voter.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_refund-aborted.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_remove-from-out-tx-tracker.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_update-tss-address.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_crosschain_whitelist-erc20.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_decode.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_distribution.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_distribution_fund-community-pool.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_distribution_set-withdraw-addr.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-all-rewards.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-rewards.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_emissions.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_encode.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_evidence.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_evm.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_evm_raw.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-fungible-coin-zrc-4.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-system-contracts.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_remove-foreign-coin.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_update-contract-bytecode.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_update-system-contract.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-liquidity-cap.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-paused-status.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-withdraw-fee.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_deposit.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_draft-proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_cancel-software-upgrade.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_community-pool-spend.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_param-change.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_software-upgrade.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_submit-proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_vote.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_gov_weighted-vote.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_create-group-policy.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_create-group-with-policy.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_create-group.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_draft-proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_exec.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_leave-group.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_submit-proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_update-group-admin.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_update-group-members.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_update-group-metadata.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-admin.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-decision-policy.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-metadata.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_vote.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_group_withdraw-proposal.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_multi-sign.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_multisign-batch.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_add-blame-vote.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_add-observer.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_encode.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_remove-chain-params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_update-chain-params.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_update-crosschain-flags.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_update-keygen.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_observer_update-observer.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_sign-batch.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_sign.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_slashing.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_slashing_unjail.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_staking.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_staking_cancel-unbond.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_staking_create-validator.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_staking_delegate.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_staking_edit-validator.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_staking_redelegate.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_staking_unbond.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_validate-signatures.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_vesting.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_vesting_create-periodic-vesting-account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_vesting_create-permanent-locked-account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_tx_vesting_create-vesting-account.md delete mode 100644 src/pages/architecture/zetacored/zetacored_validate-genesis.md delete mode 100644 src/pages/architecture/zetacored/zetacored_version.md create mode 100644 src/pages/developers/apps/_meta.json create mode 100644 src/pages/developers/apps/intro.mdx create mode 100644 src/pages/developers/architecture/_meta.json create mode 100644 src/pages/developers/architecture/modules/crosschain/_meta.json rename src/pages/{ => developers}/architecture/modules/crosschain/messages.mdx (66%) rename src/pages/{ => developers}/architecture/modules/crosschain/overview.mdx (98%) create mode 100644 src/pages/developers/architecture/modules/emissions/_meta.json rename src/pages/{ => developers}/architecture/modules/emissions/overview.mdx (93%) create mode 100644 src/pages/developers/architecture/modules/fungible/_meta.json rename src/pages/{ => developers}/architecture/modules/fungible/messages.mdx (84%) rename src/pages/{ => developers}/architecture/modules/fungible/overview.mdx (95%) create mode 100644 src/pages/developers/architecture/modules/observer/_meta.json rename src/pages/{ => developers}/architecture/modules/observer/messages.mdx (98%) rename src/pages/{ => developers}/architecture/modules/observer/overview.mdx (96%) rename src/pages/{ => developers}/architecture/observers.mdx (59%) create mode 100644 src/pages/developers/architecture/overview.mdx rename src/pages/{ => developers}/architecture/privileged.mdx (73%) create mode 100644 src/pages/developers/architecture/protocol/README.md create mode 100644 src/pages/developers/architecture/protocol/SUMMARY.md create mode 100644 src/pages/developers/architecture/protocol/contracts/README.md create mode 100644 src/pages/developers/architecture/protocol/contracts/Revert.sol/interface.Revertable.md create mode 100644 src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertContext.md create mode 100644 src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertOptions.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/ERC20Custody.sol/contract.ERC20Custody.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/GatewayEVM.sol/contract.GatewayEVM.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/README.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNative.sol/contract.ZetaConnectorNative.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNonNative.sol/contract.ZetaConnectorNonNative.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20Custody.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyErrors.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyEvents.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVM.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMErrors.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMEvents.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaConnector.sol/interface.IZetaConnectorEvents.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaNonEthNew.sol/interface.IZetaNonEthNew.md create mode 100644 src/pages/developers/architecture/protocol/contracts/evm/interfaces/README.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/GatewayZEVM.sol/contract.GatewayZEVM.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/README.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/contract.ZRC20.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/interface.ZRC20Errors.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVM.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/ISystem.sol/interface.ISystem.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IWZETA.sol/interface.IWETH9.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/enum.CoinType.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20Metadata.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.ZRC20Events.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/README.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.UniversalContract.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.zContract.md create mode 100644 src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/struct.zContext.md create mode 100644 src/pages/developers/architecture/protocol/index.md rename src/pages/{ => developers}/architecture/rewards.mdx (85%) rename src/pages/{ => developers}/architecture/whitelisting.mdx (94%) create mode 100644 src/pages/developers/chains/_meta.json create mode 100644 src/pages/developers/chains/bitcoin.mdx create mode 100644 src/pages/developers/chains/evm.mdx create mode 100644 src/pages/developers/chains/list.mdx create mode 100644 src/pages/developers/chains/solana.mdx create mode 100644 src/pages/developers/chains/zetachain.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/_meta.json delete mode 100644 src/pages/developers/cross-chain-messaging/connector.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/examples/_meta.json delete mode 100644 src/pages/developers/cross-chain-messaging/examples/erc20.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/examples/message.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/examples/nft.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/examples/zeta.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/gas-fees.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/overview.mdx delete mode 100644 src/pages/developers/cross-chain-messaging/transactions.mdx create mode 100644 src/pages/developers/evm/_meta.json rename src/pages/developers/{ => evm}/addresses.mdx (75%) create mode 100644 src/pages/developers/evm/gas.mdx create mode 100644 src/pages/developers/evm/gateway.mdx create mode 100644 src/pages/developers/evm/throughput.mdx create mode 100644 src/pages/developers/frontend/_meta.json create mode 100644 src/pages/developers/frontend/universalkit.mdx delete mode 100644 src/pages/developers/omnichain/_meta.json delete mode 100644 src/pages/developers/omnichain/bitcoin.mdx delete mode 100644 src/pages/developers/omnichain/gas-fees.mdx delete mode 100644 src/pages/developers/omnichain/liquidity-pools.mdx delete mode 100644 src/pages/developers/omnichain/overview.mdx delete mode 100644 src/pages/developers/omnichain/system-contract.mdx delete mode 100644 src/pages/developers/omnichain/tutorials/_meta.json delete mode 100644 src/pages/developers/omnichain/tutorials/curve.mdx delete mode 100644 src/pages/developers/omnichain/tutorials/nft/_meta.json delete mode 100644 src/pages/developers/omnichain/tutorials/nft/contract.mdx delete mode 100644 src/pages/developers/omnichain/tutorials/nft/frontend.mdx delete mode 100644 src/pages/developers/omnichain/tutorials/single-input-multiple-output.mdx delete mode 100644 src/pages/developers/omnichain/tutorials/staking.mdx delete mode 100644 src/pages/developers/omnichain/tutorials/swap.mdx delete mode 100644 src/pages/developers/omnichain/zeta-evm.mdx delete mode 100644 src/pages/developers/overview.mdx create mode 100644 src/pages/developers/reference/_meta.json rename src/pages/developers/{omnichain => reference}/transactions.mdx (79%) create mode 100644 src/pages/developers/services/_meta.json create mode 100644 src/pages/developers/services/alchemy.mdx create mode 100644 src/pages/developers/services/envio.mdx create mode 100644 src/pages/developers/services/goldrush.mdx rename src/pages/developers/{omnichain/tutorials => services}/goldsky.mdx (98%) rename src/pages/developers/{omnichain/tutorials => services}/particle.mdx (96%) rename src/pages/developers/{omnichain/tutorials => services}/pyth.mdx (59%) create mode 100644 src/pages/developers/services/subquery.mdx delete mode 100644 src/pages/developers/template.mdx create mode 100644 src/pages/developers/tutorials/_meta.json rename src/pages/developers/{omnichain/tutorials/bitcoin-frontend.mdx => tutorials/bitcoin.mdx} (83%) rename src/pages/developers/{omnichain => }/tutorials/hello.mdx (55%) create mode 100644 src/pages/developers/tutorials/intro.mdx create mode 100644 src/pages/developers/tutorials/localnet.mdx create mode 100644 src/pages/developers/tutorials/swap-any.mdx create mode 100644 src/pages/developers/tutorials/swap.mdx create mode 100644 src/pages/nodes/_meta.json create mode 100644 src/pages/nodes/start-here/_meta.json rename src/pages/{validators => nodes/start-here}/requirements.mdx (57%) create mode 100644 src/pages/nodes/start-here/setup.mdx create mode 100644 src/pages/nodes/start-here/syncing.mdx create mode 100644 src/pages/nodes/validate/_meta.json rename src/pages/{validators => nodes/validate}/validator.mdx (90%) create mode 100644 src/pages/reference/apps/_meta.json rename src/pages/reference/{ => apps}/explorers.mdx (98%) rename src/pages/reference/{ => apps}/get-testnet-zeta.mdx (83%) rename src/pages/reference/{ => apps}/services.mdx (90%) rename src/pages/reference/{ => apps}/wallets.mdx (75%) delete mode 100644 src/pages/reference/bugbounty.mdx delete mode 100644 src/pages/reference/details.mdx create mode 100644 src/pages/reference/learn/_meta.json rename src/pages/reference/{ => learn}/faq.mdx (81%) rename src/pages/reference/{ => learn}/glossary.mdx (87%) create mode 100644 src/pages/reference/network/_meta.json create mode 100644 src/pages/reference/network/address-converter.mdx rename src/pages/reference/{ => network}/api.mdx (95%) rename src/pages/reference/{ => network}/contracts.mdx (68%) create mode 100644 src/pages/reference/network/details.mdx rename src/pages/reference/{ => network}/openapi.mdx (68%) rename src/pages/{validators => reference/network}/proposals.mdx (83%) rename src/pages/{developers => users}/cli/_meta.json (51%) rename src/pages/{developers => users}/cli/account.mdx (95%) rename src/pages/{developers => users}/cli/balances.mdx (75%) rename src/pages/{developers => users}/cli/delegate.mdx (81%) rename src/pages/{developers => users}/cli/governance/_meta.json (88%) rename src/pages/{developers => users}/cli/governance/deposit.mdx (86%) rename src/pages/{developers => users}/cli/governance/overview.mdx (63%) rename src/pages/{developers => users}/cli/governance/parameter.mdx (61%) rename src/pages/{developers => users}/cli/governance/submit.mdx (97%) rename src/pages/{developers => users}/cli/governance/text.mdx (98%) rename src/pages/{developers => users}/cli/governance/upgrade.mdx (94%) rename src/pages/{developers => users}/cli/governance/voting.mdx (92%) rename src/pages/{developers => users}/cli/rewards.mdx (95%) rename src/pages/{developers => users}/cli/setup.mdx (95%) create mode 100644 src/pages/users/keplr/staking.mdx create mode 100644 src/pages/users/keplr/voting.mdx delete mode 100644 src/pages/validators/_meta.json delete mode 100644 src/pages/validators/cosmovisor.mdx delete mode 100644 src/pages/validators/ksync.mdx delete mode 100644 src/pages/validators/monitoring.mdx delete mode 100644 src/pages/validators/node.mdx delete mode 100644 src/pages/validators/setup.mdx delete mode 100644 src/pages/validators/snapshot.mdx delete mode 100644 src/pages/validators/state-sync.mdx diff --git a/package.json b/package.json index 2fde44b7..4b0c73e4 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "axios": "1.6.5", "bech32": "2.0.0", "clsx": "1.2.1", + "date-fns": "^4.1.0", "dotenv": "16.3.1", "ethers": "5.7.2", "framer-motion": "6.5.1", @@ -45,7 +46,9 @@ "nextra-theme-docs": "2.13.4", "react": "18.2.0", "react-dom": "18.2.0", + "react-qr-code": "^2.0.15", "react-redux": "8.1.3", + "react-toastify": "^10.0.5", "sharp": "0.32.6", "shiki": "1.3.0", "swagger-ui-react": "5.17.2", @@ -101,5 +104,6 @@ "preset": "emotion", "disableShortCss": false } - } + }, + "packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72" } diff --git a/src/components/Docs/components/AddressConverter/components/AddressConverter.tsx b/src/components/Docs/components/AddressConverter/components/AddressConverter.tsx index 984742b2..4c46c90c 100644 --- a/src/components/Docs/components/AddressConverter/components/AddressConverter.tsx +++ b/src/components/Docs/components/AddressConverter/components/AddressConverter.tsx @@ -1,40 +1,179 @@ +import "react-toastify/dist/ReactToastify.css"; + +import { bech32 } from "bech32"; +import { ethers } from "ethers"; +import { useTheme } from "nextra-theme-docs"; import { useState } from "react"; +import QRCode from "react-qr-code"; +import { toast, ToastContainer } from "react-toastify"; import { convertAddress } from "../AddressConverter.utils"; export const AddressConverter = () => { const [address, setAddress] = useState(""); const [convertedAddress, setConvertedAddress] = useState(""); + const [errorMessage, setErrorMessage] = useState(""); + const [isChecksumAddress, setIsChecksumAddress] = useState(false); + + const { theme } = useTheme(); + + // Check if the address is valid (ignoring checksum) + const isValidAddress = (address: string) => { + try { + if (address.startsWith("0x")) { + // Validate Ethereum address without considering checksum + return ethers.utils.isAddress(address.toLowerCase()); + } else { + const decoded = bech32.decode(address); + return decoded.prefix === "zeta"; + } + } catch (error) { + return false; + } + }; + + const handleConversion = () => { + setErrorMessage(""); + + if (!isValidAddress(address)) { + setErrorMessage("Invalid address format."); + return; + } + + try { + // Convert address if the address is valid + let converted = convertAddress(address); + setConvertedAddress(converted); + + // If it's an Ethereum address, check if it's checksummed + if (address.startsWith("0x")) { + // Handle non-checksummed addresses without throwing errors + try { + setIsChecksumAddress(address === ethers.utils.getAddress(address)); + } catch (error) { + setIsChecksumAddress(false); // Non-checksummed address + } + } else { + setIsChecksumAddress(false); // Not applicable for ZetaChain addresses + } + + setErrorMessage(""); // Clear error if conversion succeeds + } catch (error) { + setErrorMessage("Conversion failed, but the address is valid."); + console.error("Conversion error:", error); + } + }; + + const copyToClipboard = () => { + if (convertedAddress) { + navigator.clipboard.writeText(convertedAddress); + toast.success("Address copied to clipboard!", { + theme, + position: "top-right", + autoClose: 3000, + hideProgressBar: false, + closeOnClick: true, + pauseOnHover: true, + draggable: true, + progress: undefined, + }); + } + }; + + const handleAddressChange = (event: any) => { + const newAddress = event.target.value; + setAddress(newAddress); + setErrorMessage(""); // Reset error message when input changes + setConvertedAddress(""); // Reset converted address + + // Check checksum status for Ethereum addresses + if (newAddress.startsWith("0x") && isValidAddress(newAddress)) { + try { + setIsChecksumAddress(newAddress === ethers.utils.getAddress(newAddress)); + } catch (error) { + setIsChecksumAddress(false); // Handle non-checksummed addresses gracefully + } + } else { + setIsChecksumAddress(false); + } + }; + + const getButtonStatus = () => { + if (!address) return "Enter an address"; + if (!isValidAddress(address)) return "Invalid address"; + return "Convert"; + }; return ( -
+
+ +
+ {address.startsWith("0x") && isValidAddress(address) && ( +

+ {isChecksumAddress ? ( + "This address is checksummed." + ) : ( + <> + This address is{" "} + + not checksummed + + . + + )} +

+ )} +
+
setAddress(event.target.value)} + onChange={handleAddressChange} placeholder="0x or zeta address" - className="border border-grey-200 dark:border-grey-500 rounded p-3 sm:w-[450px] bg-transparent dark:bg-grey-800 outline-none" + autoComplete="off" + className="tracking-wide border border-gray-200 dark:border-gray-500 rounded p-3 sm:w-[450px] bg-transparent dark:bg-gray-800 outline-none" /> -
-

Converted address: {convertedAddress}

+ {errorMessage &&

{errorMessage}

} + + {convertedAddress && ( + <> +
+ + +
+
+
+ +
+
+ + )}
); }; diff --git a/src/components/Docs/components/AdminPolicy.tsx b/src/components/Docs/components/AdminPolicy.tsx deleted file mode 100644 index 439c8986..00000000 --- a/src/components/Docs/components/AdminPolicy.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import { Skeleton } from "@mui/material"; -import { useEffect, useState } from "react"; - -import { NetworkType } from "~/lib/app.types"; - -function capitalizeFirstLetter(s: string) { - return s.charAt(0).toUpperCase() + s.slice(1); -} - -function formatDate(dateString: string) { - const options: Intl.DateTimeFormatOptions = { - year: "numeric", - month: "long", - day: "numeric", - }; - return new Date(dateString).toLocaleDateString(undefined, options); -} - -const API: Record = { - testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", - mainnet: "https://zetachain.blockpi.network/lcd/v1/public", -}; - -const activeStyle = { fontWeight: "bold", textDecoration: "underline" }; -const inactiveStyle = { fontWeight: "normal", textDecoration: "none" }; - -export const AdminPolicy = () => { - const [adminPolicies, setAdminPolicies] = useState([]); - const [activeTab, setActiveTab] = useState("testnet"); - - useEffect(() => { - setAdminPolicies([]); - - const baseUrl = API[activeTab]; - - fetch(`${baseUrl}/zeta-chain/observer/params`) - .then((response) => response.json()) - .then((data) => { - const policies = data.params.admin_policy; - policies.forEach((policy: any) => { - fetch(`${baseUrl}/cosmos/group/v1/group_policy_info/${policy.address}`) - .then((response) => response.json()) - .then((detailData) => { - fetch(`${baseUrl}/cosmos/group/v1/group_members/${detailData.info.group_id}`) - .then((response) => response.json()) - .then((membersData) => { - setAdminPolicies((prevPolicies) => [ - ...prevPolicies, - { - ...detailData.info, - created_at: formatDate(detailData.info.created_at), - policy_type: capitalizeFirstLetter(policy.policy_type), - members: membersData.members.map((m: any) => ({ - ...m.member, - addedAt: formatDate(m.member.added_at), - })), - decision_policy: detailData.info.decision_policy, - }, - ]); - }); - }); - }); - }) - .catch((error) => { - console.error("Error fetching admin policies:", error); - }); - }, [activeTab]); - - return ( -
-
- - - -
- - {adminPolicies.length > 0 ? ( - adminPolicies.map((policy: any, index) => ( - // eslint-disable-next-line react/no-array-index-key -
-

Policy: {policy?.policy_type}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Address{policy.address}
Admin{policy.admin}
Created At{policy.created_at}
Group ID{policy.group_id}
Metadata{policy.metadata}
Decision Policy Type{policy.decision_policy["@type"].split("/").pop()}
Threshold{policy.decision_policy.threshold}
Min Execution Period{policy.decision_policy.windows.min_execution_period}
Voting Period{policy.decision_policy.windows.voting_period}
-
- -

Members

- -
- - - - - - - - - - - {policy.members.map((member: any, memberIndex: number) => ( - // eslint-disable-next-line react/no-array-index-key - - - - - - - ))} - -
Added AtAddressMetadataWeight
{member.addedAt}{member.address}{member.metadata}{member.weight}
-
-
- )) - ) : ( - - )} -
- ); -}; diff --git a/src/components/Docs/components/ChainConfirmations.tsx b/src/components/Docs/components/ChainConfirmations.tsx index c43ca5e3..0702c3c5 100644 --- a/src/components/Docs/components/ChainConfirmations.tsx +++ b/src/components/Docs/components/ChainConfirmations.tsx @@ -1,7 +1,9 @@ -import { Skeleton } from "@mui/material"; -import { useEffect, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; -import { NetworkType } from "~/lib/app.types"; +const rpcByNetworkType: any = { + mainnet: "https://zetachain.blockpi.network/lcd/v1/public", + testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", +}; type ChainData = { chains: { @@ -24,25 +26,27 @@ type ChainParams = { confirmation_count: string; }[]; -const API: Record = { - testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", - mainnet: "https://zetachain.blockpi.network/lcd/v1/public", -}; - const CHAIN_PARAMS = "/zeta-chain/observer/get_chain_params"; const SUPPORTED_CHAINS = "/zeta-chain/observer/supportedChains"; export const ChainConfirmations = () => { - const [chainParams, setChainParams] = useState([]); + const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, + ]; + + const [mainnetChainParams, setMainnetChainParams] = useState([]); + const [testnetChainParams, setTestnetChainParams] = useState([]); + const [isLoading, setIsLoading] = useState(true); - const [activeTab, setActiveTab] = useState("testnet"); + const [activeTab, setActiveTab] = useState(tabs[0]); useEffect(() => { setIsLoading(true); const fetchData = async () => { try { - const paramsUrl = `${API[activeTab]}${CHAIN_PARAMS}`; - const chainsUrl = `${API[activeTab]}${SUPPORTED_CHAINS}`; + const paramsUrl = `${rpcByNetworkType[activeTab.networkType]}${CHAIN_PARAMS}`; + const chainsUrl = `${rpcByNetworkType[activeTab.networkType]}${SUPPORTED_CHAINS}`; // Fetch supported chains first const responseChains = await fetch(chainsUrl); @@ -62,7 +66,8 @@ export const ChainConfirmations = () => { chainName: chainsData.chains.find((chain) => chain.chain_id === param.chain_id)?.chain_name || "Unknown", })); - setChainParams(filteredParams); + if (activeTab.networkType === "mainnet") setMainnetChainParams(filteredParams); + if (activeTab.networkType === "testnet") setTestnetChainParams(filteredParams); } catch (error) { console.error("Error fetching data:", error); } finally { @@ -71,39 +76,30 @@ export const ChainConfirmations = () => { }; fetchData(); - }, [activeTab]); + }, [activeTab.networkType]); - const activeStyle = { fontWeight: "bold", textDecoration: "underline" }; - const inactiveStyle = { fontWeight: "normal", textDecoration: "none" }; + const chainParams = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetChainParams : testnetChainParams; + }, [activeTab.networkType, mainnetChainParams, testnetChainParams]); return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
diff --git a/src/components/Docs/components/ConnectedChainsList.tsx b/src/components/Docs/components/ConnectedChainsList.tsx new file mode 100644 index 00000000..52ba5ba3 --- /dev/null +++ b/src/components/Docs/components/ConnectedChainsList.tsx @@ -0,0 +1,214 @@ +import Link from "next/link"; +import { useEffect, useState } from "react"; + +type Chain = { + chain_id: string; + chain_name: string; + network: string; + network_type: string; + vm: string; + consensus: string; + is_external: boolean; + cctx_gateway: string; + name: string; +}; + +type ForeignCoin = { + zrc20_contract_address: string; + asset: string; + foreign_chain_id: string; + decimals: number; + name: string; + symbol: string; + coin_type: string; +}; + +type CoinsData = { + foreignCoins: ForeignCoin[]; +}; + +type ChainsData = { + chains: Chain[]; +}; + +const CHAINS = "/zeta-chain/observer/supportedChains"; +const COINS = "/zeta-chain/fungible/foreign_coins"; + +const rpcByNetworkType: { [key: string]: string } = { + mainnet: "https://zetachain.blockpi.network/lcd/v1/public", + testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", +}; + +const formatString = (str: string) => { + return str + .split("_") + .map((word: string) => + word.length <= 3 ? word.toUpperCase() : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() + ) + .join(" "); +}; + +export const ConnectedChainsList = () => { + const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, + ]; + + const [mainnetChains, setMainnetChains] = useState([]); + const [testnetChains, setTestnetChains] = useState([]); + const [tokens, setTokens] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [activeTab, setActiveTab] = useState(tabs[0]); + + useEffect(() => { + setIsLoading(true); + + const fetchData = async () => { + try { + const CHAINS_URL = `${rpcByNetworkType[activeTab.networkType]}${CHAINS}`; + const COINS_URL = `${rpcByNetworkType[activeTab.networkType]}${COINS}`; + + const [chainsResponse, tokensResponse] = await Promise.all([ + fetch(CHAINS_URL).then((res) => res.json() as Promise), + fetch(COINS_URL).then((res) => res.json() as Promise), + ]); + + const formattedChains = chainsResponse.chains.map((chain) => ({ + ...chain, + chain_name: formatString(chain.chain_name), + })); + + const sortedChains = formattedChains.sort((a, b) => a.chain_name.localeCompare(b.chain_name)); + + if (activeTab.networkType === "mainnet") setMainnetChains(sortedChains); + if (activeTab.networkType === "testnet") setTestnetChains(sortedChains); + + setTokens(tokensResponse.foreignCoins); + } catch (error) { + console.error("Error fetching data:", error); + setMainnetChains([]); + setTestnetChains([]); + setTokens([]); + } finally { + setIsLoading(false); + } + }; + + fetchData(); + }, [activeTab.networkType]); + + const chains = activeTab.networkType === "mainnet" ? mainnetChains : testnetChains; + + const getTokensForChain = (chainId: string) => { + return tokens + .filter((token) => token.foreign_chain_id === chainId) + .map((token) => token.symbol) + .join(", "); + }; + + const getDocsLink = (chain: Chain) => { + if (chain.vm === "evm" && chain.consensus === "tendermint" && chain.cctx_gateway === "zevm") { + return { + text: "ZetaChain Gateway", + url: "/developers/chains/zetachain", + }; + } + if (chain.vm === "evm" && chain.consensus === "ethereum") { + return { + text: "EVM Gateway", + url: "/developers/chains/evm", + }; + } + if (chain.vm === "no_vm" && chain.consensus === "bitcoin") { + return { + text: "Bitcoin Gateway", + url: "/developers/chains/bitcoin", + }; + } + return null; + }; + + return ( +
+
+ {tabs.map((tab) => ( + + ))} +
+ + {isLoading ? ( +
Loading...
+ ) : ( +
+
+ + + + + + + + + + + + + + + {chains.map((chain, index) => { + const docsLink = getDocsLink(chain); + return ( + // eslint-disable-next-line react/no-array-index-key + + + + + + + + + + + ); + })} + +
Chain IDChain NameLabelSupported TokensGateway DocsVMConsensusCCTX Gateway
{chain.chain_id}{chain.chain_name}{chain.name}{getTokensForChain(chain.chain_id) || ""} + {docsLink ? ( + + {docsLink.text} + + ) : ( + "N/A" + )} + {chain.vm}{chain.consensus}{chain.cctx_gateway}
+
+ )} + +

+ Source:{" "} + + {rpcByNetworkType[activeTab.networkType]} + {CHAINS} + +

+
+ ); +}; + +export default ConnectedChainsList; diff --git a/src/components/Docs/components/ContractAddresses.tsx b/src/components/Docs/components/ContractAddresses.tsx index fbfc6e62..50c3b8c4 100644 --- a/src/components/Docs/components/ContractAddresses.tsx +++ b/src/components/Docs/components/ContractAddresses.tsx @@ -1,7 +1,9 @@ -import { Skeleton } from "@mui/material"; import { useEffect, useState } from "react"; -import { NetworkType } from "~/lib/app.types"; +const addressesUrl: any = { + testnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/v1/data/addresses.testnet.json", + mainnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/v1/data/addresses.mainnet.json", +}; type ContractAddressData = { chain_id: string; @@ -14,11 +16,6 @@ type ContractAddressData = { type ContractAddressesByChain = Record; -const addressesUrl: Record = { - testnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/data/addresses.testnet.json", - mainnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/data/addresses.mainnet.json", -}; - const groupDataByChain = (data: ContractAddressData[]) => data.reduce((acc, item) => { (acc[item.chain_name] = acc[item.chain_name] || []).push(item); @@ -32,13 +29,15 @@ const sortGroupedData = (groupedData: ContractAddressesByChain) => { return groupedData; }; -const activeStyle = { fontWeight: "bold", textDecoration: "underline" }; -const inactiveStyle = { fontWeight: "normal", textDecoration: "none" }; +const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, +]; export const ContractAddresses = () => { - const [activeTab, setActiveTab] = useState("testnet"); + const [activeTab, setActiveTab] = useState(tabs[0]); const [isLoading, setIsLoading] = useState(true); - const [groupedData, setGroupedData] = useState>({ + const [groupedData, setGroupedData] = useState>({ testnet: {}, mainnet: {}, }); @@ -62,37 +61,27 @@ export const ContractAddresses = () => { }, []); return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( - Object.entries(groupedData[activeTab]).map(([chainName, contracts]) => ( + Object.entries(groupedData[activeTab.networkType]).map(([chainName, contracts]) => (
-

{chainName}

+

{chainName}

-
+
@@ -104,7 +93,6 @@ export const ContractAddresses = () => { {contracts.map((contract, index) => ( - // eslint-disable-next-line react/no-array-index-key @@ -120,8 +108,13 @@ export const ContractAddresses = () => {

Source:{" "} - - {addressesUrl[activeTab]} + + {addressesUrl[activeTab.networkType]}

diff --git a/src/components/Docs/components/DocsHighlightBlock/components/DocsHighlightBlockRack.tsx b/src/components/Docs/components/DocsHighlightBlock/components/DocsHighlightBlockRack.tsx index 4b90d9f5..3d7a1d65 100644 --- a/src/components/Docs/components/DocsHighlightBlock/components/DocsHighlightBlockRack.tsx +++ b/src/components/Docs/components/DocsHighlightBlock/components/DocsHighlightBlockRack.tsx @@ -5,7 +5,7 @@ import { DocsHighlightBlock } from "./DocsHighlightBlock"; export const DocsHighlightBlockRack = () => { return (
- + @@ -20,7 +20,7 @@ export const DocsHighlightBlockRack = () => { /> - + @@ -36,7 +36,7 @@ export const DocsHighlightBlockRack = () => { /> - + diff --git a/src/components/Docs/components/EndpointList.tsx b/src/components/Docs/components/EndpointList.tsx index a1f0a22e..1030aaa1 100644 --- a/src/components/Docs/components/EndpointList.tsx +++ b/src/components/Docs/components/EndpointList.tsx @@ -1,7 +1,4 @@ -import { Skeleton } from "@mui/material"; -import { useEffect, useState } from "react"; - -import { NetworkType } from "~/lib/app.types"; +import { useEffect, useMemo, useState } from "react"; const networksURL = "https://raw.githubusercontent.com/zeta-chain/networks/main/data/networks.json"; @@ -22,71 +19,73 @@ const extractProvider = (url: string) => { return providerName.charAt(0).toUpperCase() + providerName.slice(1); }; -const activeStyle = { fontWeight: "bold", textDecoration: "underline" }; -const inactiveStyle = { fontWeight: "normal", textDecoration: "none" }; +const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, +]; export const EndpointList: React.FC = () => { - const [fetchedData, setFetchedData] = useState(null); - const [activeTab, setActiveTab] = useState("testnet"); + const [mainnetData, setMainnetData] = useState(null); + const [testnetData, setTestnetData] = useState(null); + + const [activeTab, setActiveTab] = useState(tabs[0]); const [isLoading, setIsLoading] = useState(true); useEffect(() => { setIsLoading(true); - setFetchedData(null); const fetchData = async () => { try { const res = await fetch(networksURL); const data = await res.json(); - const networkData = data[`zeta_${activeTab}`]; + const networkData = data[`zeta_${activeTab.networkType}`]; const sortedData = networkData?.api?.sort((a: any, b: any) => { const providerA = extractProvider(a.url); const providerB = extractProvider(b.url); if (providerA < providerB) return -1; if (providerA > providerB) return 1; + if (a.type < b.type) return -1; + if (a.type > b.type) return 1; return 0; }); - setFetchedData({ api: sortedData }); + if (activeTab.networkType === "mainnet") setMainnetData({ api: sortedData }); + if (activeTab.networkType === "testnet") setTestnetData({ api: sortedData }); } catch (e) { console.error("Error fetching data:", e); + if (activeTab.networkType === "mainnet") setMainnetData(null); + if (activeTab.networkType === "testnet") setTestnetData(null); } finally { setIsLoading(false); } }; fetchData(); - }, [activeTab]); + }, [activeTab.networkType]); + + const fetchedData = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetData : testnetData; + }, [activeTab.networkType, mainnetData, testnetData]); return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
{contract.type} {contract.symbol || "-"}
diff --git a/src/components/Docs/components/Fees.tsx b/src/components/Docs/components/Fees.tsx index 4e498b9f..b73b03b3 100644 --- a/src/components/Docs/components/Fees.tsx +++ b/src/components/Docs/components/Fees.tsx @@ -1,11 +1,8 @@ /* eslint-disable react/no-array-index-key */ -import { Skeleton } from "@mui/material"; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { ZetaChainClient } from "@zetachain/toolkit/client"; -import { useEffect, useState } from "react"; - -import { NetworkType } from "~/lib/app.types"; +import { useEffect, useMemo, useState } from "react"; type FeesState = { messaging: any[]; @@ -17,35 +14,57 @@ type FeesProps = { }; export const Fees: React.FC = ({ type }) => { - const [fees, setFees] = useState({ messaging: [], omnichain: [] }); - const [activeTab, setActiveTab] = useState("testnet"); + const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, + ]; + + const [activeTab, setActiveTab] = useState(tabs[0]); + const [mainnetFees, setMainnetFees] = useState({ + messaging: [], + omnichain: [], + }); + const [testnetFees, setTestnetFees] = useState({ + messaging: [], + omnichain: [], + }); + const [isLoading, setIsLoading] = useState(false); useEffect(() => { - setIsLoading(true); - const client = new ZetaChainClient({ network: activeTab }); - client - .getFees(500000) - .then((data: any) => { + const fetchFees = async () => { + setIsLoading(true); + + try { + const client = new ZetaChainClient({ + network: activeTab.networkType, + }); + const data = await client.getFees(500000); + const sortedOmnichainFees = [...data.omnichain].sort((a, b) => a.foreign_chain_id.localeCompare(b.foreign_chain_id) ); const updatedData: FeesState = { - messaging: data.messaging.filter( - (fee: any) => !["18332", "8332"].includes(fee.chainID) // There is a bug in getFees that returns messaging fees for Bitcoin. This filters them out. - ), + messaging: data.messaging, omnichain: sortedOmnichainFees, }; - setFees(updatedData); - setIsLoading(false); - }) - .catch((error: any) => { + if (activeTab.networkType === "mainnet") setMainnetFees(updatedData); + if (activeTab.networkType === "testnet") setTestnetFees(updatedData); + } catch (error) { console.error("Error fetching fees:", error); + } finally { setIsLoading(false); - }); - }, [activeTab]); + } + }; + + fetchFees(); + }, [activeTab.networkType]); + + const fees = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetFees : testnetFees; + }, [activeTab.networkType, mainnetFees, testnetFees]); const renderTableHeaders = () => { if (type === "messaging") { @@ -92,37 +111,24 @@ export const Fees: React.FC = ({ type }) => { )); }; - const activeStyle = { fontWeight: "bold", textDecoration: "underline" }; - const inactiveStyle = { fontWeight: "normal", textDecoration: "none" }; - return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
{renderTableHeaders()}{renderTableRows()} diff --git a/src/components/Docs/components/ForeignCoinsTable.tsx b/src/components/Docs/components/ForeignCoinsTable.tsx index 372c2d95..7077124b 100644 --- a/src/components/Docs/components/ForeignCoinsTable.tsx +++ b/src/components/Docs/components/ForeignCoinsTable.tsx @@ -1,7 +1,9 @@ -import { Skeleton } from "@mui/material"; -import { useEffect, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; -import { NetworkType } from "~/lib/app.types"; +const rpcByNetworkType: any = { + mainnet: "https://zetachain.blockpi.network/lcd/v1/public", + testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", +}; type ForeignCoin = { symbol: string; @@ -23,16 +25,9 @@ type ChainsData = { }[]; }; -const API: Record = { - testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", - mainnet: "https://zetachain.blockpi.network/lcd/v1/public", -}; - const COINS = "/zeta-chain/fungible/foreign_coins"; const CHAINS = "/zeta-chain/observer/supportedChains"; -const activeStyles = { fontWeight: "bold", textDecoration: "underline" }; - const formatString = (str: string) => { return str .split("_") @@ -43,17 +38,23 @@ const formatString = (str: string) => { }; export const ForeignCoinsTable = () => { - const [coins, setCoins] = useState<(ForeignCoin & { chainName: string })[]>([]); + const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, + ]; + + const [mainnetCoins, setMainnetCoins] = useState<(ForeignCoin & { chainName: string })[]>([]); + const [testnetCoins, setTestnetCoins] = useState<(ForeignCoin & { chainName: string })[]>([]); const [isLoading, setIsLoading] = useState(true); - const [activeTab, setActiveTab] = useState("testnet"); + const [activeTab, setActiveTab] = useState(tabs[0]); useEffect(() => { setIsLoading(true); - setCoins([]); + const fetchData = async () => { try { - const COINS_URL = `${API[activeTab]}${COINS}`; - const CHAINS_URL = `${API[activeTab]}${CHAINS}`; + const COINS_URL = `${rpcByNetworkType[activeTab.networkType]}${COINS}`; + const CHAINS_URL = `${rpcByNetworkType[activeTab.networkType]}${CHAINS}`; const responseCoins = await fetch(COINS_URL); const coinsData: CoinsData = await responseCoins.json(); @@ -72,45 +73,43 @@ export const ForeignCoinsTable = () => { })); const sortedCoins = enrichedCoins.sort((a, b) => a.chainName.localeCompare(b.chainName)); - setCoins(sortedCoins); + + if (activeTab.networkType === "mainnet") setMainnetCoins(sortedCoins); + if (activeTab.networkType === "testnet") setTestnetCoins(sortedCoins); } catch (error) { console.error("Error fetching data:", error); + if (activeTab.networkType === "mainnet") setMainnetCoins([]); + if (activeTab.networkType === "testnet") setTestnetCoins([]); } finally { setIsLoading(false); } }; fetchData(); - }, [activeTab]); + }, [activeTab.networkType]); - return ( -
-
- + const coins = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetCoins : testnetCoins; + }, [activeTab.networkType, mainnetCoins, testnetCoins]); - + return ( +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
@@ -142,8 +141,13 @@ export const ForeignCoinsTable = () => {

Source:{" "} - - {API[activeTab]} + + {rpcByNetworkType[activeTab.networkType]} {COINS}

diff --git a/src/components/Docs/components/GovParams.tsx b/src/components/Docs/components/GovParams.tsx index cd6c5fad..3c59af9a 100644 --- a/src/components/Docs/components/GovParams.tsx +++ b/src/components/Docs/components/GovParams.tsx @@ -1,7 +1,4 @@ -import { Skeleton } from "@mui/material"; -import { useCallback, useEffect, useState } from "react"; - -import { NetworkType } from "~/lib/app.types"; +import { useCallback, useEffect, useMemo, useState } from "react"; type AccountsData = { accounts: { @@ -42,21 +39,35 @@ type TallyingData = { tally_params: TallyParams; }; +const tabs = [ + { label: "Mainnet", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, +]; + export const GovParams = () => { - const [activeTab, setActiveTab] = useState("testnet"); - const [govAddress, setGovAddress] = useState(""); - const [votingParams, setVotingParams] = useState({}); - const [depositParams, setDepositParams] = useState({}); - const [tallyingParams, setTallyingParams] = useState({}); + const [activeTab, setActiveTab] = useState(tabs[0]); + + const [mainnetGovAddress, setMainnetGovAddress] = useState(""); + const [mainnetVotingParams, setMainnetVotingParams] = useState({}); + const [mainnetDepositParams, setMainnetDepositParams] = useState({}); + const [mainnetTallyingParams, setMainnetTallyingParams] = useState({}); + + const [testnetGovAddress, setTestnetGovAddress] = useState(""); + const [testnetVotingParams, setTestnetVotingParams] = useState({}); + const [testnetDepositParams, setTestnetDepositParams] = useState({}); + const [testnetTallyingParams, setTestnetTallyingParams] = useState({}); + const [isLoading, setIsLoading] = useState(false); const fetchData = useCallback(async () => { setIsLoading(true); - const baseUrl = - activeTab === "testnet" - ? "https://zetachain-athens.blockpi.network/lcd/v1/public" - : "https://zetachain.blockpi.network/lcd/v1/public"; + const rpcByNetworkType: Record = { + mainnet: "https://zetachain.blockpi.network/lcd/v1/public", + testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", + }; + + const baseUrl = rpcByNetworkType[activeTab.networkType]; try { // Fetch gov account address @@ -70,7 +81,8 @@ export const GovParams = () => { const govAccount = accountsData.accounts.find((account) => account.name === "gov"); - setGovAddress(govAccount?.base_account?.address || "Not found"); + if (activeTab.networkType === "mainnet") setMainnetGovAddress(govAccount?.base_account?.address || "Not found"); + if (activeTab.networkType === "testnet") setTestnetGovAddress(govAccount?.base_account?.address || "Not found"); // Fetch voting parameters const votingResponse = await fetch(`${baseUrl}/cosmos/gov/v1beta1/params/voting`); @@ -81,7 +93,8 @@ export const GovParams = () => { const votingData: VotingData = await votingResponse.json(); - setVotingParams(votingData.voting_params); + if (activeTab.networkType === "mainnet") setMainnetVotingParams(votingData.voting_params); + if (activeTab.networkType === "testnet") setTestnetVotingParams(votingData.voting_params); // Fetch deposit parameters const depositResponse = await fetch(`${baseUrl}/cosmos/gov/v1beta1/params/deposit`); @@ -92,7 +105,8 @@ export const GovParams = () => { const depositData: DepositData = await depositResponse.json(); - setDepositParams(depositData.deposit_params); + if (activeTab.networkType === "mainnet") setMainnetDepositParams(depositData.deposit_params); + if (activeTab.networkType === "testnet") setTestnetDepositParams(depositData.deposit_params); // Fetch tallying parameters const tallyingResponse = await fetch(`${baseUrl}/cosmos/gov/v1beta1/params/tallying`); @@ -103,50 +117,67 @@ export const GovParams = () => { const tallyingData: TallyingData = await tallyingResponse.json(); - setTallyingParams(tallyingData.tally_params); + if (activeTab.networkType === "mainnet") setMainnetTallyingParams(tallyingData.tally_params); + if (activeTab.networkType === "testnet") setTestnetTallyingParams(tallyingData.tally_params); } catch (error) { console.error("Error fetching data:", error); - setGovAddress("Error fetching address"); - setVotingParams({}); - setDepositParams({}); - setTallyingParams({}); + + if (activeTab.networkType === "mainnet") { + setMainnetGovAddress("Error fetching address"); + setMainnetVotingParams({}); + setMainnetDepositParams({}); + setMainnetTallyingParams({}); + } + + if (activeTab.networkType === "testnet") { + setTestnetGovAddress("Error fetching address"); + setTestnetVotingParams({}); + setTestnetDepositParams({}); + setTestnetTallyingParams({}); + } } finally { setIsLoading(false); } - }, [activeTab]); + }, [activeTab.networkType]); useEffect(() => { fetchData(); }, [fetchData]); + const govAddress = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetGovAddress : testnetGovAddress; + }, [activeTab.networkType, mainnetGovAddress, testnetGovAddress]); + + const votingParams = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetVotingParams : testnetVotingParams; + }, [activeTab.networkType, mainnetVotingParams, testnetVotingParams]) as VotingParams; + + const depositParams = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetDepositParams : testnetDepositParams; + }, [activeTab.networkType, mainnetDepositParams, testnetDepositParams]) as DepositParams; + + const tallyingParams = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetTallyingParams : testnetTallyingParams; + }, [activeTab.networkType, mainnetTallyingParams, testnetTallyingParams]) as TallyParams; + return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
diff --git a/src/components/Docs/components/GovUpgradeProposals.tsx b/src/components/Docs/components/GovUpgradeProposals.tsx index c2f4fb6e..4f0b0f2f 100644 --- a/src/components/Docs/components/GovUpgradeProposals.tsx +++ b/src/components/Docs/components/GovUpgradeProposals.tsx @@ -1,24 +1,49 @@ -import { Skeleton } from "@mui/material"; -import { useEffect, useState } from "react"; +import { GitHub, InfoOutlined } from "@mui/icons-material"; +import { Box, IconButton, Modal, Tooltip } from "@mui/material"; +import { useEffect, useMemo, useState } from "react"; -import { NetworkType } from "~/lib/app.types"; +const API: Record = { + testnet: "https://zetachain-athens.g.allthatnode.com/archive/rest/cosmos/gov/v1/proposals", + mainnet: "https://zetachain-mainnet.g.allthatnode.com/archive/rest/cosmos/gov/v1/proposals", +}; + +const convertIpfsLink = (link: string) => { + const ipfsPrefix = "ipfs://"; + const gatewayPrefix = "https://ipfs.io/ipfs/"; + return link.startsWith(ipfsPrefix) ? link.replace(ipfsPrefix, gatewayPrefix) : link; +}; -const API: Record = { - testnet: "https://zetachain-testnet-archive.allthatnode.com:1317/cosmos/gov/v1/proposals", - mainnet: "https://zetachain-mainnet-archive.allthatnode.com:1317/cosmos/gov/v1/proposals", +const modalStyles = { + position: "absolute" as const, + top: "50%", + left: "50%", + transform: "translate(-50%, -50%)", + width: 400, + bgcolor: "background.paper", + border: "2px solid #000", + boxShadow: 24, + p: 4, + overflow: "scroll", + minWidth: "75%", }; export const GovUpgradeProposals = () => { - const [proposals, setProposals] = useState([]); + const [mainnetProposals, setMainnetProposals] = useState([]); + const [testnetProposals, setTestnetProposals] = useState([]); const [isLoading, setIsLoading] = useState(true); - const [activeTab, setActiveTab] = useState("testnet"); + const [activeTab, setActiveTab] = useState({ label: "Mainnet", networkType: "mainnet" }); + + const [isModalOpen, setIsModalOpen] = useState(false); + const [modalContents, setModalContents] = useState(undefined); + const handleModalClose = () => setIsModalOpen(false); useEffect(() => { setIsLoading(true); const fetchData = async () => { try { - const response = await fetch(API[activeTab]); + const response = await fetch(API[activeTab.networkType]); const data = await response.json(); + const softwareUpgradeProposals = data.proposals .filter( (proposal: any) => @@ -34,7 +59,8 @@ export const GovUpgradeProposals = () => { .filter((proposal: any) => proposal.plan.name) .sort((a: any, b: any) => b.plan.height - a.plan.height); - setProposals(softwareUpgradeProposals); + if (activeTab.networkType === "mainnet") setMainnetProposals(softwareUpgradeProposals); + if (activeTab.networkType === "testnet") setTestnetProposals(softwareUpgradeProposals); } catch (error) { console.error("Error fetching data:", error); } finally { @@ -43,52 +69,43 @@ export const GovUpgradeProposals = () => { }; fetchData(); - }, [activeTab]); - - const activeStyle = { fontWeight: "bold", textDecoration: "underline" }; - const inactiveStyle = { fontWeight: "normal", textDecoration: "none" }; + }, [activeTab.networkType]); - const convertIpfsLink = (link: string) => { - const ipfsPrefix = "ipfs://"; - const gatewayPrefix = "https://ipfs.io/ipfs/"; - if (link.startsWith(ipfsPrefix)) { - return link.replace(ipfsPrefix, gatewayPrefix); - } - return link; - }; + const proposals = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetProposals : testnetProposals; + }, [activeTab.networkType, mainnetProposals, testnetProposals]); return ( -
-
- +
+ + +
{modalContents}
+
+
- +
+ {[ + { label: "Mainnet", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, + ].map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
- + @@ -96,15 +113,53 @@ export const GovUpgradeProposals = () => { {proposals.map((proposal: any, index: any) => ( - // eslint-disable-next-line react/no-array-index-key ))} diff --git a/src/components/Docs/components/NetworkDetails.tsx b/src/components/Docs/components/NetworkDetails.tsx index 5438b63f..7a54478f 100644 --- a/src/components/Docs/components/NetworkDetails.tsx +++ b/src/components/Docs/components/NetworkDetails.tsx @@ -1,11 +1,6 @@ import { useState } from "react"; -import { NetworkType } from "~/lib/app.types"; - -type NetworkData = Array<{ name: string; value: string }>; - -// Static data for the tables -const networkDetails: Record = { +const networkDetails: any = { testnet: [ { name: "Chain ID (EVM)", value: "7001" }, { name: "Chain ID (Cosmos)", value: "athens_7001-1" }, @@ -36,12 +31,13 @@ const networkDetails: Record = { ], }; -// Styles for active and inactive tabs -const activeStyles = { fontWeight: "bold", textDecoration: "underline" }; -const inactiveStyles = { fontWeight: "normal", textDecoration: "none" }; +const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, +]; -const NetworkTable: React.FC<{ networkData: NetworkData }> = ({ networkData }) => ( -
+const NetworkTable: React.FC<{ networkData: any }> = ({ networkData }) => ( +
ZetaChain VersionUpgrade Name Upgrade Height Status Details
{proposal.plan.name} {proposal.plan.height} {proposal.status} - - {convertIpfsLink(proposal.plan.info)} - + {proposal.plan.info.startsWith("{") ? ( + <> + + { + let plan = structuredClone(proposal.plan); + plan.info = JSON.parse(proposal.plan.info); + setModalContents(JSON.stringify(plan, null, 4)); + setIsModalOpen(true); + }} + > + + + + + + + + + + ) : ( + <> + + + + + + + )}
@@ -49,10 +45,8 @@ const NetworkTable: React.FC<{ networkData: NetworkData }> = ({ networkData }) = - - {networkData.map((item, index) => ( - // eslint-disable-next-line react/no-array-index-key + {networkData.map((item: any, index: number) => ( @@ -64,29 +58,23 @@ const NetworkTable: React.FC<{ networkData: NetworkData }> = ({ networkData }) = ); export const NetworkDetails = () => { - const [activeTab, setActiveTab] = useState("testnet"); + const [activeTab, setActiveTab] = useState(tabs[0]); return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
- +
); }; diff --git a/src/components/Docs/components/NodeSnapshots.tsx b/src/components/Docs/components/NodeSnapshots.tsx new file mode 100644 index 00000000..eb9335c3 --- /dev/null +++ b/src/components/Docs/components/NodeSnapshots.tsx @@ -0,0 +1,145 @@ +import axios from "axios"; +import { format } from "date-fns"; +import React, { useEffect, useMemo, useState } from "react"; + +interface NodeSnapshotsProps { + apiUrl: string; +} + +interface Snapshot { + environment: string; + type: string; + networkVersion?: string; + height?: number; + creationDate?: string; + link?: string; +} + +const tabs = [ + { label: "Mainnet", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, +]; + +export const NodeSnapshots: React.FC = ({ apiUrl }) => { + const [mainnetSnapshots, setMainnetSnapshots] = useState([]); + const [testnetSnapshots, setTestnetSnapshots] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [activeTab, setActiveTab] = useState(tabs[0]); + + useEffect(() => { + const fetchData = async () => { + const endpoints = [ + `${apiUrl}/testnet/fullnode/latest.json`, + `${apiUrl}/testnet/archive/latest.json`, + `${apiUrl}/mainnet/fullnode/latest.json`, + `${apiUrl}/mainnet/archive/latest.json`, + ]; + + const fetchEndpoint = async (endpoint: string) => { + try { + const response = await axios.get(endpoint); + if (response.config.url) { + const urlParts = response.config.url.split("/"); + const type = urlParts[urlParts.length - 2]; + const environment = urlParts[urlParts.length - 3]; + return response.data.snapshots.map((snapshot: any) => ({ + ...snapshot, + environment, + type, + })); + } + } catch (error) { + if (axios.isAxiosError(error) && error.response?.status === 404) { + const urlParts = endpoint.split("/"); + const type = urlParts[urlParts.length - 2]; + const environment = urlParts[urlParts.length - 3]; + return [ + { + environment, + type, + }, + ]; + } else { + console.error("Error fetching data", error); + } + } + return []; + }; + + const allData = await Promise.all(endpoints.map((endpoint) => fetchEndpoint(endpoint))); + const combinedData = allData.flat(); + + setMainnetSnapshots(combinedData.filter((snapshot) => snapshot.environment === "mainnet")); + setTestnetSnapshots(combinedData.filter((snapshot) => snapshot.environment === "testnet")); + setIsLoading(false); + }; + + fetchData(); + }, [apiUrl]); + + const formatDate = (dateString?: string) => { + if (!dateString) { + return ""; + } + const date = new Date(dateString); + if (Number.isNaN(date.getTime())) { + return "Invalid date"; + } + return format(date, "PPPpp"); + }; + + const snapshots = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetSnapshots : testnetSnapshots; + }, [activeTab.networkType, mainnetSnapshots, testnetSnapshots]); + + return ( +
+
+ {tabs.map((tab) => ( + + ))} +
+ + {isLoading ? ( +
Loading...
+ ) : ( +
+
Value
{item.name} {item.value}
+ + + + + + + + + + + {snapshots.map((snapshot, index) => ( + + + + + + + + ))} + +
TypeNetwork VersionHeightCreation DateDownload
{snapshot.type}{snapshot.networkVersion || ""}{snapshot.height || ""}{formatDate(snapshot.creationDate)} + {snapshot.link ? ( + + + + ) : null} +
+
+ )} +
+ ); +}; diff --git a/src/components/Docs/components/ObserverList.tsx b/src/components/Docs/components/ObserverList.tsx index 5950619a..a6e360ad 100644 --- a/src/components/Docs/components/ObserverList.tsx +++ b/src/components/Docs/components/ObserverList.tsx @@ -1,12 +1,9 @@ -import { Skeleton } from "@mui/material"; import { bech32 } from "bech32"; -import { useCallback, useEffect, useState } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; -import { NetworkType } from "~/lib/app.types"; - -const APIs: Record = { - testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", +const rpcByNetworkType: any = { mainnet: "https://zetachain.blockpi.network/lcd/v1/public", + testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public", }; const convertToValoper = (address: any) => { @@ -21,39 +18,49 @@ const convertToValoper = (address: any) => { return address; }; -const activeStyles = { fontWeight: "bold", textDecoration: "underline" }; -const inactiveStyles = { fontWeight: "normal", textDecoration: "none" }; - export const ObserverList = () => { - const [observers, setObservers] = useState([]); - const [validators, setValidators] = useState([]); + const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, + ]; + + const [mainnetObservers, setMainnetObservers] = useState([]); + const [mainnetValidators, setMainnetValidators] = useState([]); + const [testnetObservers, setTestnetObservers] = useState([]); + const [testnetValidators, setTestnetValidators] = useState([]); + const [isLoading, setIsLoading] = useState(true); - const [activeTab, setActiveTab] = useState("testnet"); + const [activeTab, setActiveTab] = useState(tabs[0]); const fetchObservers = useCallback(async () => { setIsLoading(true); + try { - const api = APIs[activeTab]; + const api = rpcByNetworkType[activeTab.networkType]; const response = await fetch(`${api}/zeta-chain/observer/nodeAccount`); const data = await response.json(); const processedData = data.NodeAccount.map((observer: any) => ({ ...observer, valoperAddress: convertToValoper(observer.operator), })); - setObservers(processedData || []); + + if (activeTab.networkType === "mainnet") setMainnetObservers(processedData || []); + if (activeTab.networkType === "testnet") setTestnetObservers(processedData || []); } catch (error) { console.error("Error fetching observer validators:", error); + if (activeTab.networkType === "mainnet") setMainnetObservers([]); + if (activeTab.networkType === "testnet") setTestnetObservers([]); } finally { setIsLoading(false); } - }, [activeTab]); + }, [activeTab.networkType]); const fetchValidators = useCallback( async (key = "") => { setIsLoading(true); try { - const api = APIs[activeTab]; + const api = rpcByNetworkType[activeTab.networkType]; const endpoint = "/cosmos/staking/v1beta1/validators"; const query = key ? `pagination.key=${encodeURIComponent(key)}` : ""; const url = `${api}${endpoint}?${query}`; @@ -62,7 +69,8 @@ export const ObserverList = () => { const data = await response.json(); if (data.validators) { - setValidators((prev: any) => [...prev, ...data.validators]); + if (activeTab.networkType === "mainnet") setMainnetValidators((prev: any) => [...prev, ...data.validators]); + if (activeTab.networkType === "testnet") setTestnetValidators((prev: any) => [...prev, ...data.validators]); if (data.pagination && data.pagination.next_key) { await fetchValidators(data.pagination.next_key); @@ -70,20 +78,28 @@ export const ObserverList = () => { } } catch (error) { console.error("Error fetching validators:", error); + if (activeTab.networkType === "mainnet") setMainnetValidators([]); + if (activeTab.networkType === "testnet") setTestnetValidators([]); } finally { setIsLoading(false); } }, - [activeTab] + [activeTab.networkType] ); useEffect(() => { - setObservers([]); - setValidators([]); fetchObservers(); fetchValidators(); }, [fetchObservers, fetchValidators]); + const observers = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetObservers : testnetObservers; + }, [activeTab.networkType, mainnetObservers, testnetObservers]); + + const validators = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetValidators : testnetValidators; + }, [activeTab.networkType, mainnetValidators, testnetValidators]); + const findMoniker = useCallback( (valoperAddress: any) => { const validator = validators.find((v: any) => v.operator_address === valoperAddress); @@ -102,33 +118,23 @@ export const ObserverList = () => { }, [findMoniker, observers]); return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
diff --git a/src/components/Docs/components/ObserverParams.tsx b/src/components/Docs/components/ObserverParams.tsx deleted file mode 100644 index b229c845..00000000 --- a/src/components/Docs/components/ObserverParams.tsx +++ /dev/null @@ -1,108 +0,0 @@ -import { Skeleton } from "@mui/material"; -import { useEffect, useState } from "react"; - -import { NetworkType } from "~/lib/app.types"; - -type Chain = { - chain_id: string; - chain_name: string; -}; - -type ObserverParamsType = { - ballot_threshold: string; - chain: Chain; - is_supported: boolean; - min_observer_delegation: string; -}; - -const APIs: Record = { - testnet: "https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/observer/params", - mainnet: "https://zetachain.blockpi.network/lcd/v1/public/zeta-chain/observer/params", -}; - -export const ObserverParams = () => { - const [data, setData] = useState([]); - const [isLoading, setIsLoading] = useState(true); - const [activeTab, setActiveTab] = useState("testnet"); - - useEffect(() => { - const API = APIs[activeTab]; - setIsLoading(true); - fetch(API) - .then((response) => response.json()) - .then((json) => { - setData(json.params.observer_params); - setIsLoading(false); - }) - .catch((error) => { - console.error("Error fetching data: ", error); - setIsLoading(false); - }); - }, [activeTab]); - - const active = { fontWeight: "bold", textDecoration: "underline" }; - const inactive = { fontWeight: "normal", textDecoration: "none" }; - - return ( -
-
- - - -
- - {isLoading ? ( - - ) : ( -
-
- - - - - - - - - - - {data.map((observerParam, index) => ( - // eslint-disable-next-line react/no-array-index-key - - - {/* eslint-disable-next-line radix */} - - - - - ))} - -
Chain NameMin Observer DelegationBallot ThresholdIs Supported
{observerParam.chain.chain_name}{parseInt(observerParam.min_observer_delegation)}{parseFloat(observerParam.ballot_threshold) * 100}%{observerParam.is_supported ? "Yes" : "No"}
- -
- Source:{" "} - - {APIs[activeTab]} - -
-
- )} -
- ); -}; diff --git a/src/components/Docs/components/OpenAPIBrowser.tsx b/src/components/Docs/components/OpenAPIBrowser.tsx index 800d3266..4e4fc1b1 100644 --- a/src/components/Docs/components/OpenAPIBrowser.tsx +++ b/src/components/Docs/components/OpenAPIBrowser.tsx @@ -1,30 +1,23 @@ import "swagger-ui-react/swagger-ui.css"; -import { Skeleton } from "@mui/material"; import axios from "axios"; import yaml from "js-yaml"; -import { useEffect, useState } from "react"; -import SwaggerUI from "swagger-ui-react"; +import dynamic from "next/dynamic"; +import { useEffect, useMemo, useState } from "react"; import tw, { styled } from "twin.macro"; -import { NetworkType } from "~/lib/app.types"; - -const activeStyles = { fontWeight: "bold", textDecoration: "underline" }; -const inactiveStyles = { fontWeight: "normal", textDecoration: "none" }; - const StyledContainer = styled.div` .swagger-ui { ${tw`dark:[filter: invert(88%) hue-rotate(180deg);]`} table { - thead tr, tbody tr:nth-of-type(even) { ${tw`bg-grey-100/60 dark:bg-[transparent]`}; } th, td { - ${tw`!p-2`}; + ${tw`!p-2 border border-grey-200 dark:border-grey-600 text-left text-[#3b4151] dark:text-[#3b4151]`}; } } @@ -50,11 +43,21 @@ const StyledContainer = styled.div` } `; +// Dynamically import SwaggerUI to disable server-side rendering +const SwaggerUI = dynamic(() => import("swagger-ui-react"), { ssr: false }); + +const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, +]; + export const OpenAPIBrowser = () => { - const [activeTab, setActiveTab] = useState("testnet"); - const [swaggerUrl, setSwaggerUrl] = useState(""); + const [activeTab, setActiveTab] = useState(tabs[0]); const [isLoading, setIsLoading] = useState(true); + const [mainnetSwaggerUrl, setMainnetSwaggerUrl] = useState(""); + const [testnetSwaggerUrl, setTestnetSwaggerUrl] = useState(""); + useEffect(() => { const fetchSwaggerFile = async () => { setIsLoading(true); @@ -69,7 +72,7 @@ export const OpenAPIBrowser = () => { const modifiedSwagger = { ...swaggerJson }; modifiedSwagger.host = - activeTab === "testnet" + activeTab.networkType === "testnet" ? "zetachain-athens.blockpi.network/lcd/v1/public" : "zetachain.blockpi.network/lcd/v1/public"; modifiedSwagger.schemes = ["https"]; @@ -81,47 +84,40 @@ export const OpenAPIBrowser = () => { const url = URL.createObjectURL(blob); - setSwaggerUrl(url); + if (activeTab.networkType === "mainnet") setMainnetSwaggerUrl(url); + if (activeTab.networkType === "testnet") setTestnetSwaggerUrl(url); } } catch (error) { console.error("Error fetching or modifying Swagger file:", error); + if (activeTab.networkType === "mainnet") setMainnetSwaggerUrl(""); + if (activeTab.networkType === "testnet") setTestnetSwaggerUrl(""); } finally { setIsLoading(false); } }; fetchSwaggerFile(); - }, [activeTab]); + }, [activeTab.networkType]); + + const swaggerUrl = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetSwaggerUrl : testnetSwaggerUrl; + }, [activeTab.networkType, mainnetSwaggerUrl, testnetSwaggerUrl]); return ( - -
- - - + +
+ {tabs.map((tab) => ( + + ))}
- {isLoading ? ( - - ) : ( - - )} + {isLoading ?
Loading...
: }
); }; diff --git a/src/components/Docs/components/SubspaceKeyTable.tsx b/src/components/Docs/components/SubspaceKeyTable.tsx deleted file mode 100644 index 287d1910..00000000 --- a/src/components/Docs/components/SubspaceKeyTable.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { Skeleton } from "@mui/material"; -import { useCallback, useEffect, useState } from "react"; - -import { NetworkType } from "~/lib/app.types"; - -type Subspace = { - subspace: string; - keys: string[]; -}; - -type SubspacesData = { - subspaces: Subspace[]; -}; - -export const SubspaceKeyTable = () => { - const [activeTab, setActiveTab] = useState("testnet"); - const [subspacesData, setSubspacesData] = useState([]); - const [isLoading, setIsLoading] = useState(false); - - const fetchData = useCallback(async () => { - setIsLoading(true); - - const baseUrl = - activeTab === "testnet" - ? "https://zetachain-athens.blockpi.network/lcd/v1/public" - : "https://zetachain.blockpi.network/lcd/v1/public"; - const url = `${baseUrl}/cosmos/params/v1beta1/subspaces`; - - try { - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - const data: SubspacesData = await response.json(); - - setSubspacesData(data.subspaces); - } catch (error) { - console.error("Error fetching data:", error); - setSubspacesData([]); - } finally { - setIsLoading(false); - } - }, [activeTab]); - - useEffect(() => { - fetchData(); - }, [fetchData]); - - return ( -
-
- - - -
- - {isLoading ? ( - - ) : ( -
- - - - - - - - - - {subspacesData.map( - (subspace) => - subspace.keys.length > 0 && - subspace.keys.map((key) => ( - - - - - )) - )} - -
SubspaceKey
{subspace.subspace}{key}
-
- )} -
- ); -}; diff --git a/src/components/Docs/components/ZetaTokenTable.tsx b/src/components/Docs/components/ZetaTokenTable.tsx index c8b9f3a0..080b5780 100644 --- a/src/components/Docs/components/ZetaTokenTable.tsx +++ b/src/components/Docs/components/ZetaTokenTable.tsx @@ -1,11 +1,10 @@ -import { Skeleton } from "@mui/material"; -import { useEffect, useState } from "react"; +import { useEffect, useMemo, useState } from "react"; -import { NetworkType } from "~/lib/app.types"; +type NetworkType = "mainnet" | "testnet"; -const API: Record = { - mainnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/data/addresses.mainnet.json", - testnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/data/addresses.testnet.json", +const API: any = { + mainnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/v1/data/addresses.mainnet.json", + testnet: "https://raw.githubusercontent.com/zeta-chain/protocol-contracts/main/v1/data/addresses.testnet.json", }; type AddressData = { @@ -16,63 +15,64 @@ type AddressData = { type: string; }[]; -export const ZetaTokenTable = () => { - const [zetaTokens, setZetaTokens] = useState([]); +export const ZetaTokenTable: any = () => { + const tabs = [ + { label: "Mainnet Beta", networkType: "mainnet" }, + { label: "Testnet", networkType: "testnet" }, + ]; + + const [mainnetZetaTokens, setMainnetZetaTokens] = useState([]); + const [testnetZetaTokens, setTestnetZetaTokens] = useState([]); + const [isLoading, setIsLoading] = useState(true); - const [activeTab, setActiveTab] = useState("testnet"); + const [activeTab, setActiveTab] = useState(tabs[0]); useEffect(() => { setIsLoading(true); - setZetaTokens([]); + const fetchData = async () => { try { - const response = await fetch(API[activeTab]); + const response = await fetch(API[activeTab.networkType]); const data: AddressData = await response.json(); const zetaTokenContracts = data.filter((item) => item.type === "zetaToken"); - setZetaTokens(zetaTokenContracts); + if (activeTab.networkType === "mainnet") setMainnetZetaTokens(zetaTokenContracts); + if (activeTab.networkType === "testnet") setTestnetZetaTokens(zetaTokenContracts); } catch (error) { console.error("Error fetching data:", error); + if (activeTab.networkType === "mainnet") setMainnetZetaTokens([]); + if (activeTab.networkType === "testnet") setTestnetZetaTokens([]); } finally { setIsLoading(false); } }; fetchData(); - }, [activeTab]); + }, [activeTab.networkType]); - const activeStyle = { fontWeight: "bold", textDecoration: "underline" }; - const inactiveStyle = { fontWeight: "normal", textDecoration: "none" }; + const zetaTokens = useMemo(() => { + return activeTab.networkType === "mainnet" ? mainnetZetaTokens : testnetZetaTokens; + }, [activeTab.networkType, mainnetZetaTokens, testnetZetaTokens]); return ( -
-
- - - +
+
+ {tabs.map((tab) => ( + + ))}
{isLoading ? ( - +
Loading...
) : ( -
+
@@ -98,8 +98,13 @@ export const ZetaTokenTable = () => {

Source:{" "} - - {API[activeTab]} + + {API[activeTab.networkType]}

diff --git a/src/components/Docs/index.ts b/src/components/Docs/index.ts index 797c16bd..631bb035 100644 --- a/src/components/Docs/index.ts +++ b/src/components/Docs/index.ts @@ -1,5 +1,4 @@ export * from "./components/AddressConverter"; -export * from "./components/AdminPolicy"; export * from "./components/ChainConfirmations"; export * from "./components/ContractAddresses"; export * from "./components/DocsHighlightBlock"; @@ -9,9 +8,8 @@ export * from "./components/ForeignCoinsTable"; export * from "./components/GovParams"; export * from "./components/GovUpgradeProposals"; export * from "./components/NetworkDetails"; +export * from "./components/NodeSnapshots"; export * from "./components/ObserverList"; -export * from "./components/ObserverParams"; export * from "./components/OpenAPIBrowser"; export * from "./components/Social"; -export * from "./components/SubspaceKeyTable"; export * from "./components/ZetaTokenTable"; diff --git a/src/lib/app.constants.ts b/src/lib/app.constants.ts index 425b075d..d57241e2 100644 --- a/src/lib/app.constants.ts +++ b/src/lib/app.constants.ts @@ -2,10 +2,20 @@ import { environment } from "../env.cjs"; export const isServer = typeof window === "undefined"; +export const isClient = !isServer; + export const isVercel = Boolean(environment.NEXT_PUBLIC_VERCEL); export const isVercelProd = Boolean(environment.NEXT_PUBLIC_VERCEL_ENV === "production"); export const isVercelPreview = Boolean(environment.NEXT_PUBLIC_VERCEL_ENV === "preview"); +export const isNodeEnvProd = process.env.NODE_ENV === "production"; + +export const isNodeEnvDev = process.env.NODE_ENV === "development"; + +export const isDevelopmentEnv = !(isVercelPreview || isVercelProd); + export const isLocalEnv = !isVercelProd && !isVercelPreview; + +export const basePath = process.env.NEXT_PUBLIC_BASE_PATH || ""; diff --git a/src/pages/about/_meta.json b/src/pages/about/_meta.json index f5ce4daf..8c4b7700 100644 --- a/src/pages/about/_meta.json +++ b/src/pages/about/_meta.json @@ -1,5 +1,7 @@ { - "zetachain": "What is ZetaChain?", - "roadmap": "Technical Roadmap", - "token-utility": "ZETA Token Utility" -} + "token-utility": { + "title": "About ZETA Token", + "description": "Understand more about the token underpinning ZetaChain", + "readTime": "5 min" + } +} \ No newline at end of file diff --git a/src/pages/about/index.mdx b/src/pages/about/index.mdx new file mode 100644 index 00000000..bfb9f447 --- /dev/null +++ b/src/pages/about/index.mdx @@ -0,0 +1,117 @@ +--- +title: About +description: All about ZetaChain, the foundational, public blockchain that enables omnichain, generic smart contracts and messaging between any blockchain. +heroImgUrl: /img/pages/about.svg +heroImgWidth: 562 +--- + +# What is ZetaChain? + +ZetaChain is the foundational, public blockchain that enables omnichain smart +contracts and messaging between any blockchain. It solves the problems of +"cross-chain" and "multi-chain" and aims to open the crypto and global financial +ecosystem to anyone. + +ZetaChain envisions and supports a truly fluid, multi-chain crypto ecosystem, +where users and developers can move between and appreciate the benefits of any +blockchain: payments, DeFi, liquidity, games, art, social graphs, performance, +security, privacy, and more. + +--- + +## Key Features + +### Chain Abstraction Framework + +ZetaChain is a decentralized and public blockchain network. Built on Cosmos SDK +and Comet BFT consensus, ZetaChain's Chain Abstraction Framework (CAF) enables +omnichain connectivity. It offers the ability to build robust state management +with multi-leg, multi-chain apps, using the familiar EVM development +environment. + +### Hyper-connected Nodes + +ZetaChain's nodes can read and write to connected chains through its TSS +architecture, enabling a secure, decentralized Chain Abstraction Framework for +cross-chain applications. + +### Omnichain Smart Contracts + +Smart contracts deployed on ZetaChain can read/write to connected chains. +ZetaChain is the only public blockchain supporting smart contracts with this +capability. + +### Cross-chain Message Passing + +Developers can pass messages between chains with simple function calls. This +enables cross-chain transactions and asset movements in one step. + +### Managed External Assets + +ZetaChain can manage assets and vaults on externally connected chains, enabling +orchestration and smart contract logic across chains like Bitcoin and Dogecoin. + +--- + +## Technical Roadmap + +ZetaChain’s mission is to serve as a platform for universal access, simplicity, +and utility across any blockchains. The initial mainnet launch contains all core +functionalities, including the EVM layer, omnichain smart contracts, and +cross-chain messaging. + +This roadmap outlines potential development directions to improve and expand +upon ZetaChain's functionality based on community input. Upgrades will be done +through governance, and the development of ZetaChain is fully open-source. + +--- + +## Roadmap Pillars + +### Pillar 1: Chain Integrations + +**Objective:** Expand the ecosystem by integrating additional blockchain +networks like Solana, Filecoin, and Cosmos ecosystem. +**Expected Outcome:** Increased network robustness and accessibility. + +### Pillar 2: More dApp, Asset, and Transaction Types + +**Objective:** Facilitate the creation of diverse decentralized applications +(dApps) and assets. +**Key Features:** Support for ZRC-20, NFT, and BRC20/Ordinals in omnichain smart +contracts. +**Expected Outcome:** A more vibrant ecosystem supporting a wider range of +applications. + +### Pillar 3: Trust Model Improvement & Security + +**Objective:** Enhance the trust model and security of the network. +**Strategies:** Shift from observation to proof-verification and improve +observer/tss signer monitoring. +**Expected Outcome:** Reduced costs and increased network security. + +### Pillar 4: Performance and Robustness Improvement + +**Objective:** Boost the network's efficiency and throughput. +**Key Areas:** Higher cross-chain TPS, lower resource consumption, and improved +error handling. + +### Pillar 5: Omnichain dApp Developer Tooling, SDK, and Support + +**Objective:** Provide superior tools and support to developers. +**Tools to Develop:** SDKs, debugging tools, and cross-chain transaction +simulation. + +### Pillar 6: Taking Ownership of Key Dependencies + +**Objective:** Improve key open-source dependencies like Ethermint and TSS-lib. +**Expected Outcome:** A more reliable ecosystem with smoother integration. + +--- + +The inclusion of any third-party tools or services in our documentation is for +informational purposes only and should not be construed as an endorsement or +guarantee of their reliability, security, or trustworthiness. Users are advised +to conduct their own due diligence and exercise caution when using any +third-party tools. We do not assume any responsibility or liability for any loss +or damage arising from the use of such tools or services. diff --git a/src/pages/about/roadmap.mdx b/src/pages/about/roadmap.mdx deleted file mode 100644 index 284744c7..00000000 --- a/src/pages/about/roadmap.mdx +++ /dev/null @@ -1,121 +0,0 @@ -# Technical Roadmap - -## Overview - -ZetaChain’s mission is to serve as a platform for universal access, simplicity, -and utility across any blockchains. ZetaChain’s initial mainnet launch contains -all core functionality contemplated within ZetaChain’s proposed features, -including its EVM layer, omnichain smart contracts, and cross-chain messaging. - -ZetaChain is a Proof-of-Stake blockchain designed for interoperability, -supporting the creation of omnichain dApps that can span any chain, including -the Bitcoin blockchain, where all transaction, incentives, data security, and -cross-chain interaction requires ZETA tokens to function. - -This document outlines the initial development directions that the protocol may -take in order to improve and add onto the core functionality of the ZetaChain -network, based on decentralized community input. All real development and -upgrades will be done through governance, and development of the ZetaChain -network is fully open-source — anybody can and should feel free to contribute to -the development of the network. The community and contributors will drive the -progress of the network. - -## Potential Key Development Roadmap Pillars - -![Roadmap](/img/docs/roadmap.png) - -Here are the key pillars of planned areas of development. - -### Chain integrations - -- **Objective**: Expand the ecosystem by integrating additional blockchain - networks. -- **Chains to Integrate**: Chains such as Solana, Filecoin, Bitcoin - ordinals/BRC20, Cosmos ecosystem via Inter-Blockchain Communication (IBC), - various Layer 2 solutions (L2s), and others as determined by ecosystem needs. -- **Approach**: Develop and implement secure and efficient protocols for - cross-chain interoperability. Improve framework and architecture for new chain - integrations modularly. -- **Expected Outcome**: Increased network robustness and accessibility, - attracting a wider user base. -- **Challenges**: Cryptography (TSS for signature schemes other than ECDSA - secp256k1 curve), heterogeneous blockchain model/parameters/interaction - methods, potential problems with source of information that may not be - efficiently/robustly available from standard full-node, speed and cost of - considerations in relation to spam deterrence. - -### More dApp, Asset, and Transaction Types - -- **Objective**: Facilitate the creation and operation of diverse decentralized - applications (dApps) and assets/standards. -- **Key Features**: - - Arbitrary omnichain smart contract messaging to/from ZetaChain. - - ZRC-20 whitelisting automation and expanded onboarding process. - - ZRC20-like NFT support for omnichain smart contracts. - - BRC20/Ordinals support in Omni-chain smart contracts. - - Standardized interactions with external chains beyond fungible tokens (ZRC20 - model)— like NFTs (”ZRC721”?) -- **Expected Outcome**: A more vibrant and versatile ecosystem supporting a - wider range of applications and assets that applications can orchestrate. -- **Challenges:** Secure, simple, and efficient way to compose and interoperate - different assets/contracts, standards on different chains. - -### Trust Model Improvement & Security - -- **Objective**: Enhance the trust model and security of the network. -- **Strategies**: - - Shift from observation of inbound and outbound transactions to a - proof-verification-based model. - - Reduce reliance on the assumption of 2/3 honest observers for external - events. - - Improve observer/tss signer on-chain monitoring and incentives - - Gradually increase decentralization and reduce central point of - failures/control. - - Improve performance and reduce cost by utilizing zero-knowledge proof for - validating external events/computations. -- **Expected Outcome**: Reduced operational costs, enhanced network security, - and increased trustworthiness, and reduce single point of failure points. -- **Challenges:** Incentives, decentralization, and security. - -### Performance and Robustness Improvement - -- **Objective**: Boost the network's efficiency and throughput. -- **Key Areas**: - - Higher cross-chain Transactions Per Second (TPS). - - Lower resource consumption and storage requirements for validators. - - Increase awareness of network operation, error/exception handling and - recovery. - - Performance and chaos engineering tooling to battle-test new protocol - upgrades. -- **Expected Outcome**: A faster, more efficient, and reliable blockchain - network capable of handling increased transaction volumes. -- **Challenges:** understanding the bottleneck, scaling issues, and tradeoffs - between performance/storage efficiency vs verifiability of the network. - -### Omnichain dApp Developer Tooling, SDK, and Support - -- **Objective**: Provide superior tools and support to developers. -- **Tools to Develop**: - - JavaScript/TypeScript SDKs, Telegram Bot SDK - - Debugging tools. - - Cross-chain transaction simulation. - - Explorer/observability: especially better support for complex cross-chain - dApps to expose the cross-chain sub-tx in an easy to understand way. -- **Expected Outcome**: Easier development process, leading to an influx of - high-quality and more novel dApps. -- **Challenges:** understanding of dApp/frontend needs; diverse requirements and - preferences from developers. - -### Taking Ownership of Key Dependencies - -- **Objective**: Improve key open-source dependencies. -- **Areas of Focus**: - - Ethermint: Enhance compatibility with Ethereum tooling, efficiency, and - interoperability with EVM and Cosmos modules. - - TSS-lib & Go-TSS: Improve security, performance, and support for new - signature schemes and chains. -- **Expected Outcome**: A more reliable and versatile ecosystem, facilitating - smoother operations and integration. A growing community of open source - contributors for each projects. -- **Challenges:** large code base to develop and maintain, upstreaming strategy - and working with other teams that share substantial amount of code. diff --git a/src/pages/about/token-utility/_meta.json b/src/pages/about/token-utility/_meta.json index 91cbfe22..f5e31232 100644 --- a/src/pages/about/token-utility/_meta.json +++ b/src/pages/about/token-utility/_meta.json @@ -1,8 +1,38 @@ { - "overview": "Token Utility", - "token": "ZETA Token", - "distribution": "ZETA Distribution", - "validators": "Validator Incentives", - "gas": "Gas Fees", - "liquidity": "Core Liquidity Pools" -} + "overview": { + "title": "Token Utility", + "description": "How ZETA is used across components of the ZetaChain ecosystem.", + "readTime": "5 min", + "readType": "Beginner" + }, + "token": { + "title": "ZETA Token", + "description": "All about the total supply of the ZETA token.", + "readTime": "5 min", + "readType": "Beginner" + }, + "distribution": { + "title": "ZETA Distribution", + "description": "How the total supply of ZETA is distributed.", + "readTime": "5 min", + "readType": "Beginner" + }, + "validators": { + "title": "Validator Incentives", + "description": "How validator incentives are structured for securing the network.", + "readTime": "5 min", + "readType": "Beginner" + }, + "gas": { + "title": "Gas Fees", + "description": "How ZETA is used for gas fees for the network.", + "readTime": "5 min", + "readType": "Beginner" + }, + "liquidity": { + "title": "Core Liquidity Pools", + "description": "All about the core liquidity pools on ZetaChain.", + "readTime": "5 min", + "readType": "Beginner" + } +} \ No newline at end of file diff --git a/src/pages/about/token-utility/distribution.mdx b/src/pages/about/token-utility/distribution.mdx index 8cad24a6..f8408057 100644 --- a/src/pages/about/token-utility/distribution.mdx +++ b/src/pages/about/token-utility/distribution.mdx @@ -1,6 +1,10 @@ +--- +title: ZETA Distribution +--- + import { Alert } from "~/components/shared"; -# ZETA Distribution +## Overview The initial supply of ZETA is distributed across the following allocations. The total initial supply of ZETA is 2,100,000,000. After approximately 4 years based @@ -27,9 +31,16 @@ of long-term sustainability. | Core Contributors | 22.50% | 472,500,000 | Starting 6 months after launch, for a period of 6 months, 1/18 will be unlocked per month. After 12 months, 1/36 will be unlocked monthly for 24 months. | | Purchasers and Advisors | 16.00% | 336,000,000 | Starting 6 months after launch, for a period of 6 months, 1/18 will be unlocked per month. After 12 months, 1/36 will be unlocked monthly for 24 months. | -Holders who have locked ZETA may use the ZETA to stake to validators in order to provide security to the network and validate transactions. Locked ZETA may only be staked, not used for any other purposes. Some third parties may count staked ZETA as part of circulating supply. The amount of locked tokens that are staked is dynamic, and the total live amount of staked tokens can be found by querying the blockchain or viewing a relevant explorer. Different parties may employ different methodologies for calculating or tracking circulating, staked, or total token supply. +Holders who have locked ZETA may use the ZETA to stake to validators in order to +provide security to the network and validate transactions. Locked ZETA may only +be staked, not used for any other purposes. Some third parties may count staked +ZETA as part of circulating supply. The amount of locked tokens that are staked +is dynamic, and the total live amount of staked tokens can be found by querying +the blockchain or viewing a relevant explorer. Different parties may employ +different methodologies for calculating or tracking circulating, staked, or +total token supply. -# User Growth Pool +## User Growth Pool This portion is allocated towards incentivizing usage and growing the user-base of ZetaChain. This will be distributed through various initiatives which are @@ -38,13 +49,13 @@ used for programs like the ZetaLabs airdrop, wallet campaigns, and other community-focused rewards to raise awareness of ZetaChain utility features and usage thereof. -# Ecosystem Growth Fund +## Ecosystem Growth Fund This portion is allocated towards partners and developers contributing to the ZetaChain ecosystem. For example, incentives to help dApp developers get started through a grant program or for wallet partners to support ZetaChain natively. -# Validator Incentives +## Validator Incentives A portion of the total initial supply (10%) is allocated to the initial emissions pool on ZetaChain. This pool allows for block rewards targeted to @@ -54,30 +65,31 @@ through validator rewards, separate from the emission curve. You can read more about Validator Incentives and distributions [here](/about/token-utility/validators). -# Liquidity Incentives +## Liquidity Incentives The assets managed by the network’s TSS have an allocation of rewards that -incentivize providing liquidity that is usable on zEVM. This portion is -allocated towards incentivizing liquidity that is crucial for the protocol and -ecosystem to function and maintain stability, in order to facilitate +incentivize providing liquidity that is usable on ZetaChain's EVM. This portion +is allocated towards incentivizing liquidity that is crucial for the protocol +and ecosystem to function and maintain stability, in order to facilitate low-slippage and minimal gas-usage transfers of value through and on ZetaChain. To incentivize liquidity in pools such as the Core ZRC-20 pools, this pool will be used to provide on-chain incentives for them to help bootstrap a seamless transaction experience for users and developers. -# Protocol Treasury +## Protocol Treasury The treasury pool is allocated towards ecosystem and community initiatives aimed at improving the ZetaChain ecosystem such as network insurance, bug bounties, protocol development and bounties, and operations. -# Core Contributors, Advisors, and Purchasers +## Core Contributors, Advisors, and Purchasers ZETA are allocated to Purchasers as well as Core Contributors and Advisors who earned tokens for their contributions to the ZetaChain network. - **_Disclaimer: The above details are the current thinking and models with regard to ZetaChain and ZETA. They are - subject to variations for the ZetaChain mainnet and further developments thereafter._** + {" "} + The above details are the current thinking and models with regard to ZetaChain and ZETA. They are subject to variations + for the ZetaChain mainnet and further developments thereafter.{" "} diff --git a/src/pages/about/token-utility/gas.mdx b/src/pages/about/token-utility/gas.mdx index 11db5de0..39180577 100644 --- a/src/pages/about/token-utility/gas.mdx +++ b/src/pages/about/token-utility/gas.mdx @@ -1,9 +1,13 @@ -# Gas Fees +--- +title: Gas Fees +--- -ZETA is used for gas fees for zEVM, Omnichain Smart Contract features, and for -Cross-Chain Messaging. Fees are distributed to the validator set proportionally -to ZETA staked, and in the future, would be targeted to distribute across -various network participants. +## Overview + +ZETA is used for gas fees for ZetaChain's EVM, Omnichain Smart Contract +features, and for Cross-Chain Messaging. Fees are distributed to the validator +set proportionally to ZETA staked, and in the future, would be targeted to +distribute across various network participants. At a high level, fees are bundled for users of ZetaChain dApps, whether they use cross-chain messaging and/or smart contracts. These fees are distributed to @@ -15,10 +19,10 @@ distributed to a community or developer-kickback pool. ## Omnichain Gas Fees -You can learn more about Omnichain Smart Contract and zEVM gas fees -[here](/developers/omnichain/gas-fees). +You can learn more about Omnichain Smart Contract and ZetaChain's EVM gas fees +[here](/developers/evm/gas/#omnichain-contract-fees). ## Cross-Chain Messaging Gas Fees You can learn more about Cross-Chain-Messaging gas fees -[here](/developers/cross-chain-messaging/gas-fees). +[here](/developers/evm/gas/#cross-chain-messaging-fees). diff --git a/src/pages/about/token-utility/liquidity.mdx b/src/pages/about/token-utility/liquidity.mdx index bc1fda19..47140355 100644 --- a/src/pages/about/token-utility/liquidity.mdx +++ b/src/pages/about/token-utility/liquidity.mdx @@ -1,7 +1,7 @@ -# Core Liquidity Pools - -Core liquidity pools on ZetaChain facilitate cross-chain gas fee payment and -depend on ZETA. +--- +title: Core Liquidity Pools +description: Core liquidity pools on ZetaChain facilitate cross-chain gas fee payment and depend on ZETA. +--- ## Overview @@ -9,7 +9,7 @@ The network has ZETA / Managed-Token-Gas pools that are used to pay for gas on outbound transactions. By using ZetaChain cross-chain functionality, the protocol uses these underlying -pools to pay for outbound gas in transactions on external chains. This means +pools to pay for outbound gas in transactions on connected chains. This means that with the increased usage of ZetaChain’s core functionality, comes increased usage and fees of these pools. Arbitrageurs will be able to balance these pools as they are utilized by the network. @@ -20,9 +20,8 @@ to ensure minimal cost or slippage for end-users or developers. ## What is a core pool? -ZetaChain needs a [ZETA] / [Gas ZRC-20] Uniswap Pool (on zEVM) to convert ZETA -in order to write outbound transactions to that chain. Whenever a chain's -support is added, a corresponding pool between ZETA and that chain's native gas -asset is also created. You can read more about how these pool function in the -Omnichain Smart Contracts documentation -[here](/developers/omnichain/liquidity-pools/). +ZetaChain needs a [ZETA] / [Gas ZRC-20] Uniswap Pool (on ZetaChain's EVM) to +convert ZETA in order to write outbound transactions to that chain. Whenever a +chain's support is added, a corresponding pool between ZETA and that chain's +native gas asset is also created. You can read more about how to pool your ZETA +[here](/users/zetahub/pool). diff --git a/src/pages/about/token-utility/overview.mdx b/src/pages/about/token-utility/overview.mdx index e0a26a92..4bd9278d 100644 --- a/src/pages/about/token-utility/overview.mdx +++ b/src/pages/about/token-utility/overview.mdx @@ -1,4 +1,6 @@ -# Token Utility +--- +title: Token Utility +--- ## Overview @@ -29,7 +31,7 @@ token standard called ZRC-20. Liquidity in the Threshold Signature Scheme (TSS) addresses are managed by a distributed network of validators in a decentralized manner. Assets are deposited into TSS addresses and ERC-20 custody contracts on connected chains, and those assets are thereby usable at a native level by logic -in a ZetaChain smart contract. Users on external chains may send messages to +in a ZetaChain smart contract. Users on connected chains may send messages to either simply transfer value and data to other connected chains (”cross-chain messaging”), or to call contracts on ZetaChain’s EVM that can orchestrate liquidity on any connected chain. They may also connect directly to ZetaChain’s @@ -53,7 +55,7 @@ There are 4 primary participants chains and the TSS addresses and thereby the cross-chain functionality of the network. These two roles are batched into a single set of validators, but may be decoupled later. -- Transacting users: who pay fees to transact on ZetaChain zEVM and for +- Transacting users: who pay fees to transact on ZetaChain's EVM and for cross-chain tractions. - ZETA token holders/delegators: who can participate in governance and security of the network. @@ -74,7 +76,7 @@ core pillars: destination, not only used for bundling gas but as the **medium** of value transfer between connected chains to facilitate value transfer without the creation of new wrapped assets. -- Core Liquidity Pools comprised of ZETA and other external chain assets let +- Core Liquidity Pools comprised of ZETA and other connected chain assets let users transact on ZetaChain and between connected chains (for gas on outbound transactions) through ZetaChain. The liquidity providers (LPs) receive trading fees and other liquidity incentives to provide liquidity for this in the form diff --git a/src/pages/about/token-utility/token.mdx b/src/pages/about/token-utility/token.mdx index 189b05fc..0d7ca3ce 100644 --- a/src/pages/about/token-utility/token.mdx +++ b/src/pages/about/token-utility/token.mdx @@ -1,4 +1,8 @@ -# ZETA Token +--- +title: ZETA Token +--- + +## Overview The total initial supply of ZETA is 2,100,000,000 (two billion, one hundred million). After approximately 4 years based on a set curve, the protocol will diff --git a/src/pages/about/token-utility/validators.mdx b/src/pages/about/token-utility/validators.mdx index 6bdfe43e..e6d76e2d 100644 --- a/src/pages/about/token-utility/validators.mdx +++ b/src/pages/about/token-utility/validators.mdx @@ -1,39 +1,79 @@ -# Validator Incentives - -Validator incentives are structured such that operators are remunerated for their efforts in securing the network, offsetting operational costs and risk involved in staking ZETA to run a Validator. Although the proportion of distribution over time may be changed via parameter changes/protocol upgrades, the amount dedicated to rewards is fixed. +--- +title: Validator Incentives +description: Validator incentives are structured such that operators are remunerated for their efforts in securing the network, offsetting operational costs and risk involved in staking ZETA to run a Validator. Although the proportion of distribution over time may be changed via parameter changes/protocol upgrades, the amount dedicated to rewards is fixed. +--- ## Validator types -Validators are comprised of 3 different roles: Core Validators, Observers, and TSS Signers. Fees from transactions and rewards are distributed to Validators in return for their service of processing transactions and keeping the network secure. +Validators are comprised of 3 different roles: Core Validators, Observers, and +TSS Signers. Fees from transactions and rewards are distributed to Validators in +return for their service of processing transactions and keeping the network +secure. -> _Note: in general, Observers and TSS Signers are technically separate but will be batched together for operators such that an operator is either running a Core Validator or an Observer-Signer Validator. Core Validator u prerequisite to being an Observer-Signer (Observer-Signers will run all 3 roles, technically). Observer-Signers receive 25% of block rewards and Core Validators receive the other 75%. At launch, it is planned such that the top 100 Core Validators on total stake will be eligible to participate in consensus. 9 validators will comprise the initial Observer-Signer set. These numbers will increase over time further the decentralization of the network._ +> _Note: in general, Observers and TSS Signers are technically separate but will +> be batched together for operators such that an operator is either running a +> Core Validator or an Observer-Signer Validator. Core Validator u prerequisite +> to being an Observer-Signer (Observer-Signers will run all 3 roles, +> technically). Observer-Signers receive 25% of block rewards and Core +> Validators receive the other 75%. At launch, it is planned such that the top +> 100 Core Validators on total stake will be eligible to participate in +> consensus. 9 validators will comprise the initial Observer-Signer set. These +> numbers will increase over time further the decentralization of the network._ -Here we define the different functions of validators and their allocation of the validator block incentives. +Here we define the different functions of validators and their allocation of the +validator block incentives. **Core Validators (75%)** -These provide consensus for ZetaCore (ZetaChain’s base blockchain). These will support general PoS mechanics and delegation from users. Anyone will be able to run a validator to earn rewards by securing the network. Users may delegate stake to any existing operator, or run their own validator. +These provide consensus for ZetaCore (ZetaChain’s base blockchain). These will +support general PoS mechanics and delegation from users. Anyone will be able to +run a validator to earn rewards by securing the network. Users may delegate +stake to any existing operator, or run their own validator. **Observer Validators (12.5%)** -These observe external chains and send relevant events to the Core Validators. Observation will eventually become less important with further verification/proof development, so the portion of rewards allocated to Observers will eventually transition more to TSS Signers via governance-based upgrades. +These observe connected chains and send relevant events to the Core Validators. +Observation will eventually become less important with further +verification/proof development, so the portion of rewards allocated to Observers +will eventually transition more to TSS Signers via governance-based upgrades. **TSS Signer Validators (12.5%)** -When ZetaChain wants to write receiving info from Core Validators transactions to different chains, it uses a network of TSS Signers to write in a decentralized manner. +When ZetaChain wants to write receiving info from Core Validators transactions +to different chains, it uses a network of TSS Signers to write in a +decentralized manner. ## Validator block rewards -The initial 10% total supply pool of validator incentives are programmed to distribute over the first 4 years after the launch of the network. Emissions are fixed based on time/block. Validators earn emissions based on this curve and their securing the network. +The initial 10% total supply pool of validator incentives are programmed to +distribute over the first 4 years after the launch of the network. Emissions are +fixed based on time/block. Validators earn emissions based on this curve and +their securing the network. -As this initial genesis pool tends lower, the protocol will introduce a planned 2.5% inflation through validator rewards separate from the emission curve at a certain block height. This inflation rate, at this shift, will replace the existing rate of validator emissions. Beyond this time, the inflation rate will be introduced and adjustable by the network via governance. +As this initial genesis pool tends lower, the protocol will introduce a planned +2.5% inflation through validator rewards separate from the emission curve at a +certain block height. This inflation rate, at this shift, will replace the +existing rate of validator emissions. Beyond this time, the inflation rate will +be introduced and adjustable by the network via governance. -In addition, there is a factor of the bonded ratio and a target bonded ratio that is bounded. If the bonded ratio goes over the target, the emissions will reduce, and if the bonded ratio goes lower, the emissions will increase, helping incentivize more or less staking/bonding over time. However, the core emission curve and pool remains the same. +In addition, there is a factor of the bonded ratio and a target bonded ratio +that is bounded. If the bonded ratio goes over the target, the emissions will +reduce, and if the bonded ratio goes lower, the emissions will increase, helping +incentivize more or less staking/bonding over time. However, the core emission +curve and pool remains the same. ## Unlock Period -Any stake has an unlock period of 21 days. Rewards are allocated to delegators/stakers, but to withdraw them, one must wait 21 days to receive them. +Any stake has an unlock period of 21 days. Rewards are allocated to +delegators/stakers, but to withdraw them, one must wait 21 days to receive them. ## Slashing -To ensure network liveness and safety, deviation from the protocol by the validators will be penalized by slashing their bonded ZETA. This could include standard Cosmos SDK defined slash-able violations such as missed votes on blocks, conflicting votes on blocks, etc., for core validators. Besides that, for observer-signer validators, additional behaviors will be penalized by slashing the accompanying core validator staked ZETA. Such behaviors may include repeatedly failing to observe relevant external events, reporting incorrect events, failing to join the TSS keygen or keysign party, etc. +To ensure network liveness and safety, deviation from the protocol by the +validators will be penalized by slashing their bonded ZETA. This could include +standard Cosmos SDK defined slash-able violations such as missed votes on +blocks, conflicting votes on blocks, etc., for core validators. Besides that, +for observer-signer validators, additional behaviors will be penalized by +slashing the accompanying core validator staked ZETA. Such behaviors may include +repeatedly failing to observe relevant external events, reporting incorrect +events, failing to join the TSS keygen or keysign party, etc. diff --git a/src/pages/about/zetachain.mdx b/src/pages/about/zetachain.mdx deleted file mode 100644 index ab897e1b..00000000 --- a/src/pages/about/zetachain.mdx +++ /dev/null @@ -1,58 +0,0 @@ -# What is ZetaChain? - -ZetaChain is the foundational, public blockchain that enables omnichain, generic -smart contracts and messaging between _any_ blockchain. It solves the problems -of “cross-chain” and “multi-chain” and aims to open the crypto and global -financial ecosystem to anyone. ZetaChain envisions and supports a truly fluid, -multi-chain crypto ecosystem, where users and developers can move between and -appreciate the benefits of any blockchain: payments, DeFi, liquidity, games, -art, social graphs, performance, security, privacy, and so on. - -View the whitepaper [here](https://zetachain.com/whitepaper.pdf) for a closer -look at ZetaChain's background and architecture. - -## Key features - -### Decentralized and public - -ZetaChain is a decentralized and public blockchain network. It is built on -Cosmos SDK and Tendermint Consensus. While many cross-chain solutions like -bridges have to vary, often centralized trust models that have a track record -for being susceptible to exploits and hacks, ZetaChain is a Proof-of-Stake -blockchain, where all transactions and activity on the platform -- even -cross-chain transactions -- are fully transparent, verifiable, and function in a -trust-minimized manner. - -### Hyper-connected nodes - -ZetaChain's nodes have observers that monitor transactions on every connected -chain. Through ZetaChain's TSS architecture, the network can sign and verify -transactions on every connected chain as a wallet can. By being able to read and -write to connected chains in a secure, decentralized manner, these -hyper-connected nodes provide a seamless omnichain environment for developers to -build novel and powerful cross-chain applications on top of. - -### Omnichain smart contracts - -Smart contracts can be deployed natively on ZetaChain that can read/write to -connected chains. ZetaChain is the only public blockchain to support smart -contracts with this capability, enabling a new paradigm of app development. - -### Cross-chain message passing - -A developer can pass messages (data and value) between chains and layers with -simple function calls. Through message passing, a dApp developer can build -powerful cross-chain applications by simply implementing a few functions within -their existing smart contracts. - -Learn how to build dApps using ZetaChain's Connector -[here](/developers/cross-chain-messaging/connector). - -### Managed external assets - -ZetaChain's network and dApps built on top of ZetaChain can manage assets and -vaults of externally connected chains. This allows assets on any chain to be -managed just as a smart contract on a single chain can manage assets on its -respective chain. A dApp on ZetaChain can thus orchestrate and bring smart -contract logic to any connected chain. This property applies to all chains, -including non-smart-contract chains, like Bitcoin and Dogecoin. diff --git a/src/pages/architecture/_meta.json b/src/pages/architecture/_meta.json deleted file mode 100644 index 4b146ccd..00000000 --- a/src/pages/architecture/_meta.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "overview": "Overview", - "observers": "Observer-Signer Validators", - "privileged": "Privileged Actions", - "rewards": "Staking Rewards", - "whitelisting": "Whitelisting ERC-20", - "modules": "Modules", - "zetacored": "Zetacore Daemon" -} diff --git a/src/pages/architecture/modules/crosschain/_meta.json b/src/pages/architecture/modules/crosschain/_meta.json deleted file mode 100644 index 2e0cc07d..00000000 --- a/src/pages/architecture/modules/crosschain/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "overview": "Overview", - "messages": "Messages" -} diff --git a/src/pages/architecture/modules/emissions/_meta.json b/src/pages/architecture/modules/emissions/_meta.json deleted file mode 100644 index 6875e2c4..00000000 --- a/src/pages/architecture/modules/emissions/_meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "overview": "Overview" -} diff --git a/src/pages/architecture/modules/fungible/_meta.json b/src/pages/architecture/modules/fungible/_meta.json deleted file mode 100644 index 2e0cc07d..00000000 --- a/src/pages/architecture/modules/fungible/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "overview": "Overview", - "messages": "Messages" -} diff --git a/src/pages/architecture/modules/observer/_meta.json b/src/pages/architecture/modules/observer/_meta.json deleted file mode 100644 index 2e0cc07d..00000000 --- a/src/pages/architecture/modules/observer/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "overview": "Overview", - "messages": "Messages" -} diff --git a/src/pages/architecture/overview.mdx b/src/pages/architecture/overview.mdx deleted file mode 100644 index 2efc9e55..00000000 --- a/src/pages/architecture/overview.mdx +++ /dev/null @@ -1,71 +0,0 @@ -import Image from "next/image"; - -# Overview - -At a high level, ZetaChain is a Proof of Stake (PoS) blockchain built on the -Cosmos SDK and Tendermint PBFT consensus engine. As a result, ZetaChain enjoys -fast block time (~5s) and instant finality (no confirmation needed, no -re-organization allowed). The Tendermint PBFT consensus engine has shown to -scale to ~300 nodes in production. With future upgrades with BLS threshold -signatures the number can potentially increase to 1000+. The throughput of -transactions on ZetaChain can potentially reach 100 TPS due to the efficient -Tendermint consensus protocol. - -The ZetaChain architecture consists of a distributed network of nodes, often -referred to as validators. Validators act as decentralized observers that reach -consensus on relevant external state and events, and can also update external -chain state via distributed key signing. ZetaChain accomplishes these functions -in a decentralized (without a single point of failure, trustless, -permissionless), transparent, and efficient way. - -Contained within each validator is the ZetaCore and ZetaClient. ZetaCore is -responsible for producing the blockchain and maintaining the replicated state -machine. ZetaClient is responsible for observing events on external chains and -signing outbound transactions. - -ZetaCore and ZetaClient are bundled together and run by node operators. Anyone -can become a node operator to participate in validation provided that enough -bonds are staked. - - - -## Validators - -Validators are comprised of 3 different roles: Basic Validators, Observers, and -TSS signer. Fees from transactions and rewards are distributed to Validators in -return for their service of processing transactions and keeping the network -secure. Observers and TSS Signers scale separately from Basic Validators due to -varying security and bond requirements. - -### Basic Validators - -ZetaChain uses the Tendermint consensus protocol which is a partially -synchronous Byzantine Fault Tolerant (BFT) consensus algorithm. Each validator -node can vote on block proposals with voting power proportional to the staking -coins (ZETA) bonded/delegated. Each validator is identified by its consensus -public key. Validators need to be online all the time, ready to participate in -the constantly growing block production. In exchange for their service, -validators will receive block rewards and transaction fees. - -### Observers - -Another set of important participants for ZetaChain consensus are the observers -who reach consensus on external chain events and states. The observers watch -externally connected chains for certain relevant transactions/events/states at -particular addresses via their full nodes of external chains. - -### TSS Signers - -ZetaChain collectively holds standard ECDSA/EdDSA keys for authenticated -interaction with external chains. The keys are distributed among multiple -signers in such a way that only a super majority of them can sign on behalf of -the ZetaChain. It's important to ensure that at no time is any single entity or -small fraction of nodes able to sign messages on behalf of ZetaChain on external -chains. The ZetaChain system uses bonded stakes and positive/negative incentives -to ensure economic safety. diff --git a/src/pages/architecture/zetacored/zetacored.md b/src/pages/architecture/zetacored/zetacored.md deleted file mode 100644 index 4b5f360d..00000000 --- a/src/pages/architecture/zetacored/zetacored.md +++ /dev/null @@ -1,43 +0,0 @@ -## zetacored - -Zetacore Daemon (server) - -### Options - -``` - -h, --help help for zetacored - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored add-genesis-account](zetacored_add-genesis-account.md) - Add a genesis account to genesis.json -* [zetacored add-observer-list](zetacored_add-observer-list.md) - Add a list of observers to the observer mapper ,default path is ~/.zetacored/os_info/observer_info.json -* [zetacored addr-conversion](zetacored_addr-conversion.md) - convert a zeta1xxx address to validator operator address zetavaloper1xxx -* [zetacored collect-gentxs](zetacored_collect-gentxs.md) - Collect genesis txs and output a genesis.json file -* [zetacored collect-observer-info](zetacored_collect-observer-info.md) - collect observer info from a folder , default path is ~/.zetacored/os_info/ - -* [zetacored config](zetacored_config.md) - Create or query an application CLI configuration file -* [zetacored debug](zetacored_debug.md) - Tool for helping with debugging your application -* [zetacored docs](zetacored_docs.md) - Generate markdown documentation for zetacored -* [zetacored export](zetacored_export.md) - Export state to JSON -* [zetacored gentx](zetacored_gentx.md) - Generate a genesis tx carrying a self delegation -* [zetacored get-pubkey](zetacored_get-pubkey.md) - Get the node account public key -* [zetacored index-eth-tx](zetacored_index-eth-tx.md) - Index historical eth txs -* [zetacored init](zetacored_init.md) - Initialize private validator, p2p, genesis, and application configuration files -* [zetacored keys](zetacored_keys.md) - Manage your application's keys -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored rollback](zetacored_rollback.md) - rollback cosmos-sdk and tendermint state by one height -* [zetacored rosetta](zetacored_rosetta.md) - spin up a rosetta server -* [zetacored snapshots](zetacored_snapshots.md) - Manage local snapshots -* [zetacored start](zetacored_start.md) - Run the full node -* [zetacored status](zetacored_status.md) - Query remote node for status -* [zetacored tendermint](zetacored_tendermint.md) - Tendermint subcommands -* [zetacored testnet](zetacored_testnet.md) - subcommands for starting or configuring local testnets -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored validate-genesis](zetacored_validate-genesis.md) - validates the genesis file at the default location or at the location passed as an arg -* [zetacored version](zetacored_version.md) - Print the application binary version information - diff --git a/src/pages/architecture/zetacored/zetacored_add-genesis-account.md b/src/pages/architecture/zetacored/zetacored_add-genesis-account.md deleted file mode 100644 index 3bd28a9b..00000000 --- a/src/pages/architecture/zetacored/zetacored_add-genesis-account.md +++ /dev/null @@ -1,44 +0,0 @@ -# add-genesis-account - -Add a genesis account to genesis.json - -### Synopsis - -Add a genesis account to genesis.json. The provided account must specify -the account address or key name and a list of initial coins. If a key name is given, -the address will be looked up in the local Keybase. The list of initial tokens must -contain valid denominations. Accounts may optionally be supplied with vesting parameters. - - -``` -zetacored add-genesis-account [address_or_key_name] [coin][,[coin]] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for add-genesis-account - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test) - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) - --vesting-amount string amount of coins for vesting accounts - --vesting-end-time int schedule end time (unix epoch) for vesting accounts - --vesting-start-time int schedule start time (unix epoch) for vesting accounts -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_add-observer-list.md b/src/pages/architecture/zetacored/zetacored_add-observer-list.md deleted file mode 100644 index 2678e965..00000000 --- a/src/pages/architecture/zetacored/zetacored_add-observer-list.md +++ /dev/null @@ -1,29 +0,0 @@ -# add-observer-list - -Add a list of observers to the observer mapper ,default path is ~/.zetacored/os_info/observer_info.json - -``` -zetacored add-observer-list [observer-list.json] [flags] -``` - -### Options - -``` - -h, --help help for add-observer-list - --keygen-block int set keygen block , default is 20 (default 20) - --tss-pubkey string set TSS pubkey if using older keygen -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_addr-conversion.md b/src/pages/architecture/zetacored/zetacored_addr-conversion.md deleted file mode 100644 index f99cd72a..00000000 --- a/src/pages/architecture/zetacored/zetacored_addr-conversion.md +++ /dev/null @@ -1,35 +0,0 @@ -# addr-conversion - -convert a zeta1xxx address to validator operator address zetavaloper1xxx - -### Synopsis - - -read a zeta1xxx or zetavaloper1xxx address and convert it to the other type; -it always outputs three lines; the first line is the zeta1xxx address, the second line is the zetavaloper1xxx address -and the third line is the ethereum address. - - -``` -zetacored addr-conversion [zeta address] [flags] -``` - -### Options - -``` - -h, --help help for addr-conversion -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_collect-gentxs.md b/src/pages/architecture/zetacored/zetacored_collect-gentxs.md deleted file mode 100644 index 12638006..00000000 --- a/src/pages/architecture/zetacored/zetacored_collect-gentxs.md +++ /dev/null @@ -1,28 +0,0 @@ -# collect-gentxs - -Collect genesis txs and output a genesis.json file - -``` -zetacored collect-gentxs [flags] -``` - -### Options - -``` - --gentx-dir string override default "gentx" directory from which collect and execute genesis transactions; default [--home]/config/gentx/ - -h, --help help for collect-gentxs - --home string The application home directory -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_collect-observer-info.md b/src/pages/architecture/zetacored/zetacored_collect-observer-info.md deleted file mode 100644 index b6957914..00000000 --- a/src/pages/architecture/zetacored/zetacored_collect-observer-info.md +++ /dev/null @@ -1,28 +0,0 @@ -# collect-observer-info - -collect observer info from a folder , default path is ~/.zetacored/os_info/ - - -``` -zetacored collect-observer-info [folder] [flags] -``` - -### Options - -``` - -h, --help help for collect-observer-info -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_config.md b/src/pages/architecture/zetacored/zetacored_config.md deleted file mode 100644 index 9e28944a..00000000 --- a/src/pages/architecture/zetacored/zetacored_config.md +++ /dev/null @@ -1,27 +0,0 @@ -# config - -Create or query an application CLI configuration file - -``` -zetacored config [key] [value] [flags] -``` - -### Options - -``` - -h, --help help for config -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_debug.md b/src/pages/architecture/zetacored/zetacored_debug.md deleted file mode 100644 index 9f0ba3fb..00000000 --- a/src/pages/architecture/zetacored/zetacored_debug.md +++ /dev/null @@ -1,31 +0,0 @@ -# debug - -Tool for helping with debugging your application - -``` -zetacored debug [flags] -``` - -### Options - -``` - -h, --help help for debug -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) -* [zetacored debug addr](zetacored_debug_addr.md) - Convert an address between hex and bech32 -* [zetacored debug pubkey](zetacored_debug_pubkey.md) - Decode a pubkey from proto JSON -* [zetacored debug pubkey-raw](zetacored_debug_pubkey-raw.md) - Decode a ED25519 or secp256k1 pubkey from hex, base64, or bech32 -* [zetacored debug raw-bytes](zetacored_debug_raw-bytes.md) - Convert raw bytes output (eg. [10 21 13 255]) to hex - diff --git a/src/pages/architecture/zetacored/zetacored_debug_addr.md b/src/pages/architecture/zetacored/zetacored_debug_addr.md deleted file mode 100644 index 1ab387aa..00000000 --- a/src/pages/architecture/zetacored/zetacored_debug_addr.md +++ /dev/null @@ -1,35 +0,0 @@ -# debug addr - -Convert an address between hex and bech32 - -### Synopsis - -Convert an address between hex encoding and bech32. - -Example: -$ zetacored debug addr cosmos1e0jnq2sun3dzjh8p2xq95kk0expwmd7shwjpfg - - -``` -zetacored debug addr [address] [flags] -``` - -### Options - -``` - -h, --help help for addr -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored debug](zetacored_debug.md) - Tool for helping with debugging your application - diff --git a/src/pages/architecture/zetacored/zetacored_debug_pubkey-raw.md b/src/pages/architecture/zetacored/zetacored_debug_pubkey-raw.md deleted file mode 100644 index 796abde4..00000000 --- a/src/pages/architecture/zetacored/zetacored_debug_pubkey-raw.md +++ /dev/null @@ -1,36 +0,0 @@ -# debug pubkey-raw - -Decode a ED25519 or secp256k1 pubkey from hex, base64, or bech32 - -### Synopsis - -Decode a pubkey from hex, base64, or bech32. -Example: -$ zetacored debug pubkey-raw TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz -$ zetacored debug pubkey-raw cosmos1e0jnq2sun3dzjh8p2xq95kk0expwmd7shwjpfg - - -``` -zetacored debug pubkey-raw [pubkey] -t [{ed25519, secp256k1}] [flags] -``` - -### Options - -``` - -h, --help help for pubkey-raw - -t, --type string Pubkey type to decode (oneof secp256k1, ed25519) -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored debug](zetacored_debug.md) - Tool for helping with debugging your application - diff --git a/src/pages/architecture/zetacored/zetacored_debug_pubkey.md b/src/pages/architecture/zetacored/zetacored_debug_pubkey.md deleted file mode 100644 index 26688637..00000000 --- a/src/pages/architecture/zetacored/zetacored_debug_pubkey.md +++ /dev/null @@ -1,35 +0,0 @@ -# debug pubkey - -Decode a pubkey from proto JSON - -### Synopsis - -Decode a pubkey from proto JSON and display it's address. - -Example: -$ zetacored debug pubkey '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AurroA7jvfPd1AadmmOvWM2rJSwipXfRf8yD6pLbA2DJ"}' - - -``` -zetacored debug pubkey [pubkey] [flags] -``` - -### Options - -``` - -h, --help help for pubkey -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored debug](zetacored_debug.md) - Tool for helping with debugging your application - diff --git a/src/pages/architecture/zetacored/zetacored_debug_raw-bytes.md b/src/pages/architecture/zetacored/zetacored_debug_raw-bytes.md deleted file mode 100644 index c60a83ef..00000000 --- a/src/pages/architecture/zetacored/zetacored_debug_raw-bytes.md +++ /dev/null @@ -1,35 +0,0 @@ -# debug raw-bytes - -Convert raw bytes output (eg. [10 21 13 255]) to hex - -### Synopsis - -Convert raw-bytes to hex. - -Example: -$ zetacored debug raw-bytes [72 101 108 108 111 44 32 112 108 97 121 103 114 111 117 110 100] - - -``` -zetacored debug raw-bytes [raw-bytes] [flags] -``` - -### Options - -``` - -h, --help help for raw-bytes -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored debug](zetacored_debug.md) - Tool for helping with debugging your application - diff --git a/src/pages/architecture/zetacored/zetacored_docs.md b/src/pages/architecture/zetacored/zetacored_docs.md deleted file mode 100644 index 953748f2..00000000 --- a/src/pages/architecture/zetacored/zetacored_docs.md +++ /dev/null @@ -1,28 +0,0 @@ -# docs - -Generate markdown documentation for zetacored - -``` -zetacored docs [path] [flags] -``` - -### Options - -``` - -h, --help help for docs - --path string Path where the docs will be generated -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_export.md b/src/pages/architecture/zetacored/zetacored_export.md deleted file mode 100644 index a737712f..00000000 --- a/src/pages/architecture/zetacored/zetacored_export.md +++ /dev/null @@ -1,30 +0,0 @@ -# export - -Export state to JSON - -``` -zetacored export [flags] -``` - -### Options - -``` - --for-zero-height Export state to start at height zero (perform preproccessing) - --height int Export state from a particular height (-1 means latest height) (default -1) - -h, --help help for export - --home string The application home directory - --jail-allowed-addrs strings Comma-separated list of operator addresses of jailed validators to unjail -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_gentx.md b/src/pages/architecture/zetacored/zetacored_gentx.md deleted file mode 100644 index fe1f09c6..00000000 --- a/src/pages/architecture/zetacored/zetacored_gentx.md +++ /dev/null @@ -1,91 +0,0 @@ -# gentx - -Generate a genesis tx carrying a self delegation - -### Synopsis - -Generate a genesis transaction that creates a validator with a self-delegation, -that is signed by the key in the Keyring referenced by a given name. A node ID and Bech32 consensus -pubkey may optionally be provided. If they are omitted, they will be retrieved from the priv_validator.json -file. The following default parameters are included: - - delegation amount: 100000000stake - commission rate: 0.1 - commission max rate: 0.2 - commission max change rate: 0.01 - minimum self delegation: 1 - - -Example: -$ zetacored gentx my-key-name 1000000stake --home=/path/to/home/dir --keyring-backend=os --chain-id=test-chain-1 \ - --moniker="myvalidator" \ - --commission-max-change-rate=0.01 \ - --commission-max-rate=1.0 \ - --commission-rate=0.07 \ - --details="..." \ - --security-contact="..." \ - --website="..." - - -``` -zetacored gentx [key_name] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --amount string Amount of coins to bond - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --chain-id string The network chain ID - --commission-max-change-rate string The maximum commission change rate percentage (per day) - --commission-max-rate string The maximum commission rate percentage - --commission-rate string The initial commission rate percentage - --details string The validator's (optional) details - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for gentx - --home string The application home directory - --identity string The (optional) identity signature (ex. UPort or Keybase) - --ip string The node's public IP - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --min-self-delegation string The minimum self delegation required on the validator - --moniker string The validator's (optional) moniker - --node string [host]:[port] to tendermint rpc interface for this chain - --node-id string The node's NodeID - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --output-document string Write the genesis transaction JSON document to the given file instead of the default location - --pubkey string The validator's Protobuf JSON encoded public key - --security-contact string The validator's (optional) security contact email - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - --website string The validator's (optional) website - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_get-pubkey.md b/src/pages/architecture/zetacored/zetacored_get-pubkey.md deleted file mode 100644 index 5a47530f..00000000 --- a/src/pages/architecture/zetacored/zetacored_get-pubkey.md +++ /dev/null @@ -1,27 +0,0 @@ -# get-pubkey - -Get the node account public key - -``` -zetacored get-pubkey [tssKeyName] [password] [flags] -``` - -### Options - -``` - -h, --help help for get-pubkey -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_index-eth-tx.md b/src/pages/architecture/zetacored/zetacored_index-eth-tx.md deleted file mode 100644 index 4b57d283..00000000 --- a/src/pages/architecture/zetacored/zetacored_index-eth-tx.md +++ /dev/null @@ -1,37 +0,0 @@ -# index-eth-tx - -Index historical eth txs - -### Synopsis - -Index historical eth txs, it only support two traverse direction to avoid creating gaps in the indexer db if using arbitrary block ranges: - - backward: index the blocks from the first indexed block to the earliest block in the chain, if indexer db is empty, start from the latest block. - - forward: index the blocks from the latest indexed block to latest block in the chain. - - When start the node, the indexer start from the latest indexed block to avoid creating gap. - Backward mode should be used most of the time, so the latest indexed block is always up-to-date. - - -``` -zetacored index-eth-tx [backward|forward] [flags] -``` - -### Options - -``` - -h, --help help for index-eth-tx -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_init.md b/src/pages/architecture/zetacored/zetacored_init.md deleted file mode 100644 index 364ff496..00000000 --- a/src/pages/architecture/zetacored/zetacored_init.md +++ /dev/null @@ -1,35 +0,0 @@ -# init - -Initialize private validator, p2p, genesis, and application configuration files - -### Synopsis - -Initialize validators's and node's configuration files. - -``` -zetacored init [moniker] [flags] -``` - -### Options - -``` - --chain-id string genesis file chain-id, if left blank will be randomly created - -h, --help help for init - --home string node's home directory - -o, --overwrite overwrite the genesis.json file - --recover provide seed phrase to recover existing key instead of creating - --staking-bond-denom string genesis file staking bond denomination, if left blank default value is 'stake' -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_keys.md b/src/pages/architecture/zetacored/zetacored_keys.md deleted file mode 100644 index f1d11ef2..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys.md +++ /dev/null @@ -1,64 +0,0 @@ -# keys - -Manage your application's keys - -### Synopsis - -Keyring management commands. These keys may be in any format supported by the -Tendermint crypto library and can be used by light-clients, full nodes, or any other application -that needs to sign with a private key. - -The keyring supports the following backends: - - os Uses the operating system's default credentials store. - file Uses encrypted file-based keystore within the app's configuration directory. - This keyring will request a password each time it is accessed, which may occur - multiple times in a single command resulting in repeated password prompts. - kwallet Uses KDE Wallet Manager as a credentials management application. - pass Uses the pass command line utility to store and retrieve keys. - test Stores keys insecurely to disk. It does not prompt for a password to be unlocked - and it should be use only for testing purposes. - -kwallet and pass backends depend on external tools. Refer to their respective documentation for more -information: - KWallet https://github.com/KDE/kwallet - pass https://www.passwordstore.org/ - -The pass backend requires GnuPG: https://gnupg.org/ - - -### Options - -``` - -h, --help help for keys - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) -* [zetacored keys ](zetacored_keys_.md) - -* [zetacored keys add](zetacored_keys_add.md) - Add an encrypted private key (either newly generated or recovered), encrypt it, and save to [name] file -* [zetacored keys delete](zetacored_keys_delete.md) - Delete the given keys -* [zetacored keys export](zetacored_keys_export.md) - Export private keys -* [zetacored keys import](zetacored_keys_import.md) - Import private keys into the local keybase -* [zetacored keys list](zetacored_keys_list.md) - List all keys -* [zetacored keys migrate](zetacored_keys_migrate.md) - Migrate keys from amino to proto serialization format -* [zetacored keys mnemonic](zetacored_keys_mnemonic.md) - Compute the bip39 mnemonic for some input entropy -* [zetacored keys parse](zetacored_keys_parse.md) - Parse address from hex to bech32 and vice versa -* [zetacored keys rename](zetacored_keys_rename.md) - Rename an existing key -* [zetacored keys show](zetacored_keys_show.md) - Retrieve key information by name or address -* [zetacored keys unsafe-export-eth-key](zetacored_keys_unsafe-export-eth-key.md) - **UNSAFE** Export an Ethereum private key -* [zetacored keys unsafe-import-eth-key](zetacored_keys_unsafe-import-eth-key.md) - **UNSAFE** Import Ethereum private keys into the local keybase - diff --git a/src/pages/architecture/zetacored/zetacored_keys_.md b/src/pages/architecture/zetacored/zetacored_keys_.md deleted file mode 100644 index cb72d3d3..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_.md +++ /dev/null @@ -1,30 +0,0 @@ -# keys - - - -``` -zetacored keys [flags] -``` - -### Options - -``` - -h, --help help for this command -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_add.md b/src/pages/architecture/zetacored/zetacored_keys_add.md deleted file mode 100644 index 44e4b3d9..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_add.md +++ /dev/null @@ -1,66 +0,0 @@ -# keys add - -Add an encrypted private key (either newly generated or recovered), encrypt it, and save to [name] file - -### Synopsis - -Derive a new private key and encrypt to disk. -Optionally specify a BIP39 mnemonic, a BIP39 passphrase to further secure the mnemonic, -and a bip32 HD path to derive a specific account. The key will be stored under the given name -and encrypted with the given password. The only input that is required is the encryption password. - -If run with -i, it will prompt the user for BIP44 path, BIP39 mnemonic, and passphrase. -The flag --recover allows one to recover a key from a seed passphrase. -If run with --dry-run, a key would be generated (or recovered) but not stored to the -local keystore. -Use the --pubkey flag to add arbitrary public keys to the keystore for constructing -multisig transactions. - -You can create and store a multisig key by passing the list of key names stored in a keyring -and the minimum number of signatures required through --multisig-threshold. The keys are -sorted by address, unless the flag --nosort is set. -Example: - - keys add mymultisig --multisig "keyname1,keyname2,keyname3" --multisig-threshold 2 - - -``` -zetacored keys add [name] [flags] -``` - -### Options - -``` - --account uint32 Account number for HD derivation (less than equal 2147483647) - --algo string Key signing algorithm to generate keys for - --coin-type uint32 coin type number for HD derivation (default 118) - --dry-run Perform action, but don't add key to local keystore - --hd-path string Manual HD Path derivation (overrides BIP44 config) - -h, --help help for add - --index uint32 Address index number for HD derivation (less than equal 2147483647) - -i, --interactive Interactively prompt user for BIP39 passphrase and mnemonic - --ledger Store a local reference to a private key on a Ledger device - --multisig strings List of key names stored in keyring to construct a public legacy multisig key - --multisig-threshold int K out of N required signatures. For use in conjunction with --multisig (default 1) - --no-backup Don't print out seed phrase (if others are watching the terminal) - --nosort Keys passed to --multisig are taken in the order they're supplied - --pubkey string Parse a public key in JSON format and saves key info to [name] file. - --recover Provide seed phrase to recover existing key instead of creating -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_delete.md b/src/pages/architecture/zetacored/zetacored_keys_delete.md deleted file mode 100644 index 77e81a7c..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_delete.md +++ /dev/null @@ -1,41 +0,0 @@ -# keys delete - -Delete the given keys - -### Synopsis - -Delete keys from the Keybase backend. - -Note that removing offline or ledger keys will remove -only the public key references stored locally, i.e. -private keys stored in a ledger device cannot be deleted with the CLI. - - -``` -zetacored keys delete [name]... [flags] -``` - -### Options - -``` - -f, --force Remove the key unconditionally without asking for the passphrase. Deprecated. - -h, --help help for delete - -y, --yes Skip confirmation prompt when deleting offline or ledger key references -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_export.md b/src/pages/architecture/zetacored/zetacored_keys_export.md deleted file mode 100644 index 1326bafd..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_export.md +++ /dev/null @@ -1,43 +0,0 @@ -# keys export - -Export private keys - -### Synopsis - -Export a private key from the local keyring in ASCII-armored encrypted format. - -When both the --unarmored-hex and --unsafe flags are selected, cryptographic -private key material is exported in an INSECURE fashion that is designed to -allow users to import their keys in hot wallets. This feature is for advanced -users only that are confident about how to handle private keys work and are -FULLY AWARE OF THE RISKS. If you are unsure, you may want to do some research -and export your keys in ASCII-armored encrypted format. - -``` -zetacored keys export [name] [flags] -``` - -### Options - -``` - -h, --help help for export - --unarmored-hex Export unarmored hex privkey. Requires --unsafe. - --unsafe Enable unsafe operations. This flag must be switched on along with all unsafe operation-specific options. -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_import.md b/src/pages/architecture/zetacored/zetacored_keys_import.md deleted file mode 100644 index ef13052b..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_import.md +++ /dev/null @@ -1,34 +0,0 @@ -# keys import - -Import private keys into the local keybase - -### Synopsis - -Import a ASCII armored private key into the local keybase. - -``` -zetacored keys import [name] [keyfile] [flags] -``` - -### Options - -``` - -h, --help help for import -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_list.md b/src/pages/architecture/zetacored/zetacored_keys_list.md deleted file mode 100644 index ebe4e311..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_list.md +++ /dev/null @@ -1,36 +0,0 @@ -# keys list - -List all keys - -### Synopsis - -Return a list of all public keys stored by this key manager -along with their associated name and address. - -``` -zetacored keys list [flags] -``` - -### Options - -``` - -h, --help help for list - -n, --list-names List names only -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_migrate.md b/src/pages/architecture/zetacored/zetacored_keys_migrate.md deleted file mode 100644 index eb870c13..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_migrate.md +++ /dev/null @@ -1,43 +0,0 @@ -# keys migrate - -Migrate keys from amino to proto serialization format - -### Synopsis - -Migrate keys from Amino to Protocol Buffers records. -For each key material entry, the command will check if the key can be deserialized using proto. -If this is the case, the key is already migrated. Therefore, we skip it and continue with a next one. -Otherwise, we try to deserialize it using Amino into LegacyInfo. If this attempt is successful, we serialize -LegacyInfo to Protobuf serialization format and overwrite the keyring entry. If any error occurred, it will be -outputted in CLI and migration will be continued until all keys in the keyring DB are exhausted. -See https://github.com/cosmos/cosmos-sdk/pull/9695 for more details. - -It is recommended to run in 'dry-run' mode first to verify all key migration material. - - -``` -zetacored keys migrate [flags] -``` - -### Options - -``` - -h, --help help for migrate -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_mnemonic.md b/src/pages/architecture/zetacored/zetacored_keys_mnemonic.md deleted file mode 100644 index 090bd824..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_mnemonic.md +++ /dev/null @@ -1,35 +0,0 @@ -# keys mnemonic - -Compute the bip39 mnemonic for some input entropy - -### Synopsis - -Create a bip39 mnemonic, sometimes called a seed phrase, by reading from the system entropy. To pass your own entropy, use --unsafe-entropy - -``` -zetacored keys mnemonic [flags] -``` - -### Options - -``` - -h, --help help for mnemonic - --unsafe-entropy Prompt the user to supply their own entropy, instead of relying on the system -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_parse.md b/src/pages/architecture/zetacored/zetacored_keys_parse.md deleted file mode 100644 index 9d7f83a7..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_parse.md +++ /dev/null @@ -1,36 +0,0 @@ -# keys parse - -Parse address from hex to bech32 and vice versa - -### Synopsis - -Convert and print to stdout key addresses and fingerprints from -hexadecimal into bech32 cosmos prefixed format and vice versa. - - -``` -zetacored keys parse [hex-or-bech32-address] [flags] -``` - -### Options - -``` - -h, --help help for parse -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_rename.md b/src/pages/architecture/zetacored/zetacored_keys_rename.md deleted file mode 100644 index ea3533f4..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_rename.md +++ /dev/null @@ -1,40 +0,0 @@ -# keys rename - -Rename an existing key - -### Synopsis - -Rename a key from the Keybase backend. - -Note that renaming offline or ledger keys will rename -only the public key references stored locally, i.e. -private keys stored in a ledger device cannot be renamed with the CLI. - - -``` -zetacored keys rename [old_name] [new_name] [flags] -``` - -### Options - -``` - -h, --help help for rename - -y, --yes Skip confirmation prompt when renaming offline or ledger key references -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_show.md b/src/pages/architecture/zetacored/zetacored_keys_show.md deleted file mode 100644 index a416702f..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_show.md +++ /dev/null @@ -1,41 +0,0 @@ -# keys show - -Retrieve key information by name or address - -### Synopsis - -Display keys details. If multiple names or addresses are provided, -then an ephemeral multisig key will be created under the name "multi" -consisting of all the keys provided by name and multisig threshold. - -``` -zetacored keys show [name_or_address [name_or_address...]] [flags] -``` - -### Options - -``` - -a, --address Output the address only (overrides --output) - --bech string The Bech32 prefix encoding for a key (acc|val|cons) - -d, --device Output the address in a ledger device - -h, --help help for show - --multisig-threshold int K out of N required signatures (default 1) - -p, --pubkey Output the public key only (overrides --output) -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_unsafe-export-eth-key.md b/src/pages/architecture/zetacored/zetacored_keys_unsafe-export-eth-key.md deleted file mode 100644 index cfc8d6cf..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_unsafe-export-eth-key.md +++ /dev/null @@ -1,34 +0,0 @@ -# keys unsafe-export-eth-key - -**UNSAFE** Export an Ethereum private key - -### Synopsis - -**UNSAFE** Export an Ethereum private key unencrypted to use in dev tooling - -``` -zetacored keys unsafe-export-eth-key [name] [flags] -``` - -### Options - -``` - -h, --help help for unsafe-export-eth-key -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_keys_unsafe-import-eth-key.md b/src/pages/architecture/zetacored/zetacored_keys_unsafe-import-eth-key.md deleted file mode 100644 index 0892d27a..00000000 --- a/src/pages/architecture/zetacored/zetacored_keys_unsafe-import-eth-key.md +++ /dev/null @@ -1,34 +0,0 @@ -# keys unsafe-import-eth-key - -**UNSAFE** Import Ethereum private keys into the local keybase - -### Synopsis - -**UNSAFE** Import a hex-encoded Ethereum private key into the local keybase. - -``` -zetacored keys unsafe-import-eth-key [name] [pk] [flags] -``` - -### Options - -``` - -h, --help help for unsafe-import-eth-key -``` - -### Options inherited from parent commands - -``` - --home string The application home directory - --keyring-backend string Select keyring's backend (os|file|test) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --output string Output format (text|json) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored keys](zetacored_keys.md) - Manage your application's keys - diff --git a/src/pages/architecture/zetacored/zetacored_query.md b/src/pages/architecture/zetacored/zetacored_query.md deleted file mode 100644 index c962a93b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query.md +++ /dev/null @@ -1,50 +0,0 @@ -# query - -Querying subcommands - -``` -zetacored query [flags] -``` - -### Options - -``` - --chain-id string The network chain ID - -h, --help help for query -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) -* [zetacored query account](zetacored_query_account.md) - Query for account by address -* [zetacored query auth](zetacored_query_auth.md) - Querying commands for the auth module -* [zetacored query authz](zetacored_query_authz.md) - Querying commands for the authz module -* [zetacored query bank](zetacored_query_bank.md) - Querying commands for the bank module -* [zetacored query block](zetacored_query_block.md) - Get verified data for the block at given height -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module -* [zetacored query distribution](zetacored_query_distribution.md) - Querying commands for the distribution module -* [zetacored query emissions](zetacored_query_emissions.md) - Querying commands for the emissions module -* [zetacored query evidence](zetacored_query_evidence.md) - Query for evidence by hash or for all (paginated) submitted evidence -* [zetacored query evm](zetacored_query_evm.md) - Querying commands for the evm module -* [zetacored query feemarket](zetacored_query_feemarket.md) - Querying commands for the fee market module -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module -* [zetacored query params](zetacored_query_params.md) - Querying commands for the params module -* [zetacored query slashing](zetacored_query_slashing.md) - Querying commands for the slashing module -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module -* [zetacored query tendermint-validator-set](zetacored_query_tendermint-validator-set.md) - Get the full tendermint validator set at given height -* [zetacored query tx](zetacored_query_tx.md) - Query for a transaction by hash, "[addr]/[seq]" combination or comma-separated signatures in a committed block -* [zetacored query txs](zetacored_query_txs.md) - Query for paginated transactions that match a set of events -* [zetacored query upgrade](zetacored_query_upgrade.md) - Querying commands for the upgrade module - diff --git a/src/pages/architecture/zetacored/zetacored_query_account.md b/src/pages/architecture/zetacored/zetacored_query_account.md deleted file mode 100644 index e848bf4c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_account.md +++ /dev/null @@ -1,33 +0,0 @@ -# query account - -Query for account by address - -``` -zetacored query account [address] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for account - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_query_auth.md b/src/pages/architecture/zetacored/zetacored_query_auth.md deleted file mode 100644 index 46e34dd3..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_auth.md +++ /dev/null @@ -1,34 +0,0 @@ -# query auth - -Querying commands for the auth module - -``` -zetacored query auth [flags] -``` - -### Options - -``` - -h, --help help for auth -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query auth account](zetacored_query_auth_account.md) - Query for account by address -* [zetacored query auth accounts](zetacored_query_auth_accounts.md) - Query all the accounts -* [zetacored query auth address-by-acc-num](zetacored_query_auth_address-by-acc-num.md) - Query for an address by account number -* [zetacored query auth module-account](zetacored_query_auth_module-account.md) - Query module account info by module name -* [zetacored query auth module-accounts](zetacored_query_auth_module-accounts.md) - Query all module accounts -* [zetacored query auth params](zetacored_query_auth_params.md) - Query the current auth parameters - diff --git a/src/pages/architecture/zetacored/zetacored_query_auth_account.md b/src/pages/architecture/zetacored/zetacored_query_auth_account.md deleted file mode 100644 index 79c205d5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_auth_account.md +++ /dev/null @@ -1,33 +0,0 @@ -# query auth account - -Query for account by address - -``` -zetacored query auth account [address] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for account - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query auth](zetacored_query_auth.md) - Querying commands for the auth module - diff --git a/src/pages/architecture/zetacored/zetacored_query_auth_accounts.md b/src/pages/architecture/zetacored/zetacored_query_auth_accounts.md deleted file mode 100644 index 08949051..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_auth_accounts.md +++ /dev/null @@ -1,39 +0,0 @@ -# query auth accounts - -Query all the accounts - -``` -zetacored query auth accounts [flags] -``` - -### Options - -``` - --count-total count total number of records in all-accounts to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for accounts - --limit uint pagination limit of all-accounts to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of all-accounts to query for - -o, --output string Output format (text|json) - --page uint pagination page of all-accounts to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of all-accounts to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query auth](zetacored_query_auth.md) - Querying commands for the auth module - diff --git a/src/pages/architecture/zetacored/zetacored_query_auth_address-by-acc-num.md b/src/pages/architecture/zetacored/zetacored_query_auth_address-by-acc-num.md deleted file mode 100644 index dd3b30c8..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_auth_address-by-acc-num.md +++ /dev/null @@ -1,39 +0,0 @@ -# query auth address-by-acc-num - -Query for an address by account number - -``` -zetacored query auth address-by-acc-num [acc-num] [flags] -``` - -### Examples - -``` -zetacored q auth address-by-acc-num 1 -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for address-by-acc-num - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query auth](zetacored_query_auth.md) - Querying commands for the auth module - diff --git a/src/pages/architecture/zetacored/zetacored_query_auth_module-account.md b/src/pages/architecture/zetacored/zetacored_query_auth_module-account.md deleted file mode 100644 index 5b559938..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_auth_module-account.md +++ /dev/null @@ -1,39 +0,0 @@ -# query auth module-account - -Query module account info by module name - -``` -zetacored query auth module-account [module-name] [flags] -``` - -### Examples - -``` -zetacored q auth module-account auth -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for module-account - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query auth](zetacored_query_auth.md) - Querying commands for the auth module - diff --git a/src/pages/architecture/zetacored/zetacored_query_auth_module-accounts.md b/src/pages/architecture/zetacored/zetacored_query_auth_module-accounts.md deleted file mode 100644 index 1cd402bc..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_auth_module-accounts.md +++ /dev/null @@ -1,33 +0,0 @@ -# query auth module-accounts - -Query all module accounts - -``` -zetacored query auth module-accounts [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for module-accounts - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query auth](zetacored_query_auth.md) - Querying commands for the auth module - diff --git a/src/pages/architecture/zetacored/zetacored_query_auth_params.md b/src/pages/architecture/zetacored/zetacored_query_auth_params.md deleted file mode 100644 index da51b2af..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_auth_params.md +++ /dev/null @@ -1,39 +0,0 @@ -# query auth params - -Query the current auth parameters - -### Synopsis - -Query the current auth parameters: - -$ zetacored query auth params - -``` -zetacored query auth params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query auth](zetacored_query_auth.md) - Querying commands for the auth module - diff --git a/src/pages/architecture/zetacored/zetacored_query_authz.md b/src/pages/architecture/zetacored/zetacored_query_authz.md deleted file mode 100644 index dce403e2..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_authz.md +++ /dev/null @@ -1,31 +0,0 @@ -# query authz - -Querying commands for the authz module - -``` -zetacored query authz [flags] -``` - -### Options - -``` - -h, --help help for authz -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query authz grants](zetacored_query_authz_grants.md) - query grants for a granter-grantee pair and optionally a msg-type-url -* [zetacored query authz grants-by-grantee](zetacored_query_authz_grants-by-grantee.md) - query authorization grants granted to a grantee -* [zetacored query authz grants-by-granter](zetacored_query_authz_grants-by-granter.md) - query authorization grants granted by granter - diff --git a/src/pages/architecture/zetacored/zetacored_query_authz_grants-by-grantee.md b/src/pages/architecture/zetacored/zetacored_query_authz_grants-by-grantee.md deleted file mode 100644 index c00276bf..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_authz_grants-by-grantee.md +++ /dev/null @@ -1,45 +0,0 @@ -# query authz grants-by-grantee - -query authorization grants granted to a grantee - -### Synopsis - -Query authorization grants granted to a grantee. -Examples: -$ zetacored q authz grants-by-grantee cosmos1skj.. - -``` -zetacored query authz grants-by-grantee [grantee-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in grantee-grants to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for grants-by-grantee - --limit uint pagination limit of grantee-grants to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of grantee-grants to query for - -o, --output string Output format (text|json) - --page uint pagination page of grantee-grants to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of grantee-grants to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query authz](zetacored_query_authz.md) - Querying commands for the authz module - diff --git a/src/pages/architecture/zetacored/zetacored_query_authz_grants-by-granter.md b/src/pages/architecture/zetacored/zetacored_query_authz_grants-by-granter.md deleted file mode 100644 index 3d9490f7..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_authz_grants-by-granter.md +++ /dev/null @@ -1,45 +0,0 @@ -# query authz grants-by-granter - -query authorization grants granted by granter - -### Synopsis - -Query authorization grants granted by granter. -Examples: -$ zetacored q authz grants-by-granter cosmos1skj.. - -``` -zetacored query authz grants-by-granter [granter-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in granter-grants to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for grants-by-granter - --limit uint pagination limit of granter-grants to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of granter-grants to query for - -o, --output string Output format (text|json) - --page uint pagination page of granter-grants to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of granter-grants to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query authz](zetacored_query_authz.md) - Querying commands for the authz module - diff --git a/src/pages/architecture/zetacored/zetacored_query_authz_grants.md b/src/pages/architecture/zetacored/zetacored_query_authz_grants.md deleted file mode 100644 index 060217e1..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_authz_grants.md +++ /dev/null @@ -1,47 +0,0 @@ -# query authz grants - -query grants for a granter-grantee pair and optionally a msg-type-url - -### Synopsis - -Query authorization grants for a granter-grantee pair. If msg-type-url -is set, it will select grants only for that msg type. -Examples: -$ zetacored query authz grants cosmos1skj.. cosmos1skjwj.. -$ zetacored query authz grants cosmos1skjw.. cosmos1skjwj.. /cosmos.bank.v1beta1.MsgSend - -``` -zetacored query authz grants [granter-addr] [grantee-addr] [msg-type-url]? [flags] -``` - -### Options - -``` - --count-total count total number of records in grants to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for grants - --limit uint pagination limit of grants to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of grants to query for - -o, --output string Output format (text|json) - --page uint pagination page of grants to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of grants to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query authz](zetacored_query_authz.md) - Querying commands for the authz module - diff --git a/src/pages/architecture/zetacored/zetacored_query_bank.md b/src/pages/architecture/zetacored/zetacored_query_bank.md deleted file mode 100644 index 663651c3..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_bank.md +++ /dev/null @@ -1,31 +0,0 @@ -# query bank - -Querying commands for the bank module - -``` -zetacored query bank [flags] -``` - -### Options - -``` - -h, --help help for bank -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query bank balances](zetacored_query_bank_balances.md) - Query for account balances by address -* [zetacored query bank denom-metadata](zetacored_query_bank_denom-metadata.md) - Query the client metadata for coin denominations -* [zetacored query bank total](zetacored_query_bank_total.md) - Query the total supply of coins of the chain - diff --git a/src/pages/architecture/zetacored/zetacored_query_bank_balances.md b/src/pages/architecture/zetacored/zetacored_query_bank_balances.md deleted file mode 100644 index 17960f4c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_bank_balances.md +++ /dev/null @@ -1,48 +0,0 @@ -# query bank balances - -Query for account balances by address - -### Synopsis - -Query the total balance of an account or of a specific denomination. - -Example: - $ zetacored query bank balances [address] - $ zetacored query bank balances [address] --denom=[denom] - -``` -zetacored query bank balances [address] [flags] -``` - -### Options - -``` - --count-total count total number of records in all balances to query for - --denom string The specific balance denomination to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for balances - --limit uint pagination limit of all balances to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of all balances to query for - -o, --output string Output format (text|json) - --page uint pagination page of all balances to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of all balances to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query bank](zetacored_query_bank.md) - Querying commands for the bank module - diff --git a/src/pages/architecture/zetacored/zetacored_query_bank_denom-metadata.md b/src/pages/architecture/zetacored/zetacored_query_bank_denom-metadata.md deleted file mode 100644 index 03a0737e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_bank_denom-metadata.md +++ /dev/null @@ -1,45 +0,0 @@ -# query bank denom-metadata - -Query the client metadata for coin denominations - -### Synopsis - -Query the client metadata for all the registered coin denominations - -Example: - To query for the client metadata of all coin denominations use: - $ zetacored query bank denom-metadata - -To query for the client metadata of a specific coin denomination use: - $ zetacored query bank denom-metadata --denom=[denom] - -``` -zetacored query bank denom-metadata [flags] -``` - -### Options - -``` - --denom string The specific denomination to query client metadata for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for denom-metadata - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query bank](zetacored_query_bank.md) - Querying commands for the bank module - diff --git a/src/pages/architecture/zetacored/zetacored_query_bank_total.md b/src/pages/architecture/zetacored/zetacored_query_bank_total.md deleted file mode 100644 index a8bf3d0f..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_bank_total.md +++ /dev/null @@ -1,50 +0,0 @@ -# query bank total - -Query the total supply of coins of the chain - -### Synopsis - -Query total supply of coins that are held by accounts in the chain. - -Example: - $ zetacored query bank total - -To query for the total supply of a specific coin denomination use: - $ zetacored query bank total --denom=[denom] - -``` -zetacored query bank total [flags] -``` - -### Options - -``` - --count-total count total number of records in all supply totals to query for - --denom string The specific balance denomination to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for total - --limit uint pagination limit of all supply totals to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of all supply totals to query for - -o, --output string Output format (text|json) - --page uint pagination page of all supply totals to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of all supply totals to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query bank](zetacored_query_bank.md) - Querying commands for the bank module - diff --git a/src/pages/architecture/zetacored/zetacored_query_block.md b/src/pages/architecture/zetacored/zetacored_query_block.md deleted file mode 100644 index ed4368c9..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_block.md +++ /dev/null @@ -1,29 +0,0 @@ -# query block - -Get verified data for the block at given height - -``` -zetacored query block [height] [flags] -``` - -### Options - -``` - -h, --help help for block - -n, --node string Node to connect to -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain.md b/src/pages/architecture/zetacored/zetacored_query_crosschain.md deleted file mode 100644 index 0f973fe7..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain.md +++ /dev/null @@ -1,43 +0,0 @@ -# query crosschain - -Querying commands for the crosschain module - -``` -zetacored query crosschain [flags] -``` - -### Options - -``` - -h, --help help for crosschain -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query crosschain get-zeta-accounting](zetacored_query_crosschain_get-zeta-accounting.md) - Query zeta accounting -* [zetacored query crosschain in-tx-hash-to-cctx-data](zetacored_query_crosschain_in-tx-hash-to-cctx-data.md) - query a cctx data from a in tx hash -* [zetacored query crosschain last-zeta-height](zetacored_query_crosschain_last-zeta-height.md) - Query last Zeta Height -* [zetacored query crosschain list-all-in-tx-trackers](zetacored_query_crosschain_list-all-in-tx-trackers.md) - shows all inTxTrackers -* [zetacored query crosschain list-cctx](zetacored_query_crosschain_list-cctx.md) - list all CCTX -* [zetacored query crosschain list-gas-price](zetacored_query_crosschain_list-gas-price.md) - list all gasPrice -* [zetacored query crosschain list-in-tx-hash-to-cctx](zetacored_query_crosschain_list-in-tx-hash-to-cctx.md) - list all inTxHashToCctx -* [zetacored query crosschain list-in-tx-tracker](zetacored_query_crosschain_list-in-tx-tracker.md) - shows a list of in tx tracker by chainId -* [zetacored query crosschain list-out-tx-tracker](zetacored_query_crosschain_list-out-tx-tracker.md) - list all OutTxTracker -* [zetacored query crosschain list-pending-cctx](zetacored_query_crosschain_list-pending-cctx.md) - shows pending CCTX -* [zetacored query crosschain params](zetacored_query_crosschain_params.md) - shows the parameters of the module -* [zetacored query crosschain show-cctx](zetacored_query_crosschain_show-cctx.md) - shows a CCTX -* [zetacored query crosschain show-gas-price](zetacored_query_crosschain_show-gas-price.md) - shows a gasPrice -* [zetacored query crosschain show-in-tx-hash-to-cctx](zetacored_query_crosschain_show-in-tx-hash-to-cctx.md) - shows a inTxHashToCctx -* [zetacored query crosschain show-out-tx-tracker](zetacored_query_crosschain_show-out-tx-tracker.md) - shows a OutTxTracker - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_get-zeta-accounting.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_get-zeta-accounting.md deleted file mode 100644 index 589865d8..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_get-zeta-accounting.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain get-zeta-accounting - -Query zeta accounting - -``` -zetacored query crosschain get-zeta-accounting [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for get-zeta-accounting - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_in-tx-hash-to-cctx-data.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_in-tx-hash-to-cctx-data.md deleted file mode 100644 index 34d1c6b3..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_in-tx-hash-to-cctx-data.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain in-tx-hash-to-cctx-data - -query a cctx data from a in tx hash - -``` -zetacored query crosschain in-tx-hash-to-cctx-data [in-tx-hash] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for in-tx-hash-to-cctx-data - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_last-zeta-height.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_last-zeta-height.md deleted file mode 100644 index accc88a3..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_last-zeta-height.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain last-zeta-height - -Query last Zeta Height - -``` -zetacored query crosschain last-zeta-height [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for last-zeta-height - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-all-in-tx-trackers.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_list-all-in-tx-trackers.md deleted file mode 100644 index 6a195b1d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-all-in-tx-trackers.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain list-all-in-tx-trackers - -shows all inTxTrackers - -``` -zetacored query crosschain list-all-in-tx-trackers [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-all-in-tx-trackers - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-cctx.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_list-cctx.md deleted file mode 100644 index c0d70a9e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-cctx.md +++ /dev/null @@ -1,39 +0,0 @@ -# query crosschain list-cctx - -list all CCTX - -``` -zetacored query crosschain list-cctx [flags] -``` - -### Options - -``` - --count-total count total number of records in list-cctx to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-cctx - --limit uint pagination limit of list-cctx to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-cctx to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-cctx to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-cctx to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-gas-price.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_list-gas-price.md deleted file mode 100644 index 5ff569c9..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-gas-price.md +++ /dev/null @@ -1,39 +0,0 @@ -# query crosschain list-gas-price - -list all gasPrice - -``` -zetacored query crosschain list-gas-price [flags] -``` - -### Options - -``` - --count-total count total number of records in list-gas-price to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-gas-price - --limit uint pagination limit of list-gas-price to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-gas-price to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-gas-price to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-gas-price to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-hash-to-cctx.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-hash-to-cctx.md deleted file mode 100644 index 35f5cc16..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-hash-to-cctx.md +++ /dev/null @@ -1,39 +0,0 @@ -# query crosschain list-in-tx-hash-to-cctx - -list all inTxHashToCctx - -``` -zetacored query crosschain list-in-tx-hash-to-cctx [flags] -``` - -### Options - -``` - --count-total count total number of records in list-in-tx-hash-to-cctx to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-in-tx-hash-to-cctx - --limit uint pagination limit of list-in-tx-hash-to-cctx to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-in-tx-hash-to-cctx to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-in-tx-hash-to-cctx to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-in-tx-hash-to-cctx to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-tracker.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-tracker.md deleted file mode 100644 index 89f2186d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-in-tx-tracker.md +++ /dev/null @@ -1,39 +0,0 @@ -# query crosschain list-in-tx-tracker - -shows a list of in tx tracker by chainId - -``` -zetacored query crosschain list-in-tx-tracker [chainId] [flags] -``` - -### Options - -``` - --count-total count total number of records in list-in-tx-tracker [chainId] to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-in-tx-tracker - --limit uint pagination limit of list-in-tx-tracker [chainId] to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-in-tx-tracker [chainId] to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-in-tx-tracker [chainId] to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-in-tx-tracker [chainId] to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-out-tx-tracker.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_list-out-tx-tracker.md deleted file mode 100644 index a21ea726..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-out-tx-tracker.md +++ /dev/null @@ -1,39 +0,0 @@ -# query crosschain list-out-tx-tracker - -list all OutTxTracker - -``` -zetacored query crosschain list-out-tx-tracker [flags] -``` - -### Options - -``` - --count-total count total number of records in list-out-tx-tracker to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-out-tx-tracker - --limit uint pagination limit of list-out-tx-tracker to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-out-tx-tracker to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-out-tx-tracker to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-out-tx-tracker to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-pending-cctx.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_list-pending-cctx.md deleted file mode 100644 index 7a886b8e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_list-pending-cctx.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain list-pending-cctx - -shows pending CCTX - -``` -zetacored query crosschain list-pending-cctx [chain-id] [limit] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-pending-cctx - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_params.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_params.md deleted file mode 100644 index e10e8cb5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_params.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain params - -shows the parameters of the module - -``` -zetacored query crosschain params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-cctx.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_show-cctx.md deleted file mode 100644 index ff278e95..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-cctx.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain show-cctx - -shows a CCTX - -``` -zetacored query crosschain show-cctx [index] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-cctx - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-gas-price.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_show-gas-price.md deleted file mode 100644 index 4b34188e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-gas-price.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain show-gas-price - -shows a gasPrice - -``` -zetacored query crosschain show-gas-price [index] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-gas-price - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-in-tx-hash-to-cctx.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_show-in-tx-hash-to-cctx.md deleted file mode 100644 index 75c2735d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-in-tx-hash-to-cctx.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain show-in-tx-hash-to-cctx - -shows a inTxHashToCctx - -``` -zetacored query crosschain show-in-tx-hash-to-cctx [in-tx-hash] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-in-tx-hash-to-cctx - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-out-tx-tracker.md b/src/pages/architecture/zetacored/zetacored_query_crosschain_show-out-tx-tracker.md deleted file mode 100644 index 47786d54..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_crosschain_show-out-tx-tracker.md +++ /dev/null @@ -1,33 +0,0 @@ -# query crosschain show-out-tx-tracker - -shows a OutTxTracker - -``` -zetacored query crosschain show-out-tx-tracker [chainId] [nonce] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-out-tx-tracker - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query crosschain](zetacored_query_crosschain.md) - Querying commands for the crosschain module - diff --git a/src/pages/architecture/zetacored/zetacored_query_distribution.md b/src/pages/architecture/zetacored/zetacored_query_distribution.md deleted file mode 100644 index 2219cd53..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_distribution.md +++ /dev/null @@ -1,34 +0,0 @@ -# query distribution - -Querying commands for the distribution module - -``` -zetacored query distribution [flags] -``` - -### Options - -``` - -h, --help help for distribution -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query distribution commission](zetacored_query_distribution_commission.md) - Query distribution validator commission -* [zetacored query distribution community-pool](zetacored_query_distribution_community-pool.md) - Query the amount of coins in the community pool -* [zetacored query distribution params](zetacored_query_distribution_params.md) - Query distribution params -* [zetacored query distribution rewards](zetacored_query_distribution_rewards.md) - Query all distribution delegator rewards or rewards from a particular validator -* [zetacored query distribution slashes](zetacored_query_distribution_slashes.md) - Query distribution validator slashes -* [zetacored query distribution validator-outstanding-rewards](zetacored_query_distribution_validator-outstanding-rewards.md) - Query distribution outstanding (un-withdrawn) rewards for a validator and all their delegations - diff --git a/src/pages/architecture/zetacored/zetacored_query_distribution_commission.md b/src/pages/architecture/zetacored/zetacored_query_distribution_commission.md deleted file mode 100644 index db12182e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_distribution_commission.md +++ /dev/null @@ -1,40 +0,0 @@ -# query distribution commission - -Query distribution validator commission - -### Synopsis - -Query validator commission rewards from delegators to that validator. - -Example: -$ zetacored query distribution commission zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query distribution commission [validator] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for commission - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query distribution](zetacored_query_distribution.md) - Querying commands for the distribution module - diff --git a/src/pages/architecture/zetacored/zetacored_query_distribution_community-pool.md b/src/pages/architecture/zetacored/zetacored_query_distribution_community-pool.md deleted file mode 100644 index e3908f2c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_distribution_community-pool.md +++ /dev/null @@ -1,40 +0,0 @@ -# query distribution community-pool - -Query the amount of coins in the community pool - -### Synopsis - -Query all coins in the community pool which is under Governance control. - -Example: -$ zetacored query distribution community-pool - -``` -zetacored query distribution community-pool [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for community-pool - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query distribution](zetacored_query_distribution.md) - Querying commands for the distribution module - diff --git a/src/pages/architecture/zetacored/zetacored_query_distribution_params.md b/src/pages/architecture/zetacored/zetacored_query_distribution_params.md deleted file mode 100644 index 41fe2e1d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_distribution_params.md +++ /dev/null @@ -1,33 +0,0 @@ -# query distribution params - -Query distribution params - -``` -zetacored query distribution params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query distribution](zetacored_query_distribution.md) - Querying commands for the distribution module - diff --git a/src/pages/architecture/zetacored/zetacored_query_distribution_rewards.md b/src/pages/architecture/zetacored/zetacored_query_distribution_rewards.md deleted file mode 100644 index 314fd0ac..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_distribution_rewards.md +++ /dev/null @@ -1,41 +0,0 @@ -# query distribution rewards - -Query all distribution delegator rewards or rewards from a particular validator - -### Synopsis - -Query all rewards earned by a delegator, optionally restrict to rewards from a single validator. - -Example: -$ zetacored query distribution rewards zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p -$ zetacored query distribution rewards zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query distribution rewards [delegator-addr] [validator-addr] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for rewards - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query distribution](zetacored_query_distribution.md) - Querying commands for the distribution module - diff --git a/src/pages/architecture/zetacored/zetacored_query_distribution_slashes.md b/src/pages/architecture/zetacored/zetacored_query_distribution_slashes.md deleted file mode 100644 index 376c9a9d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_distribution_slashes.md +++ /dev/null @@ -1,46 +0,0 @@ -# query distribution slashes - -Query distribution validator slashes - -### Synopsis - -Query all slashes of a validator for a given block range. - -Example: -$ zetacored query distribution slashes zetavalopervaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj 0 100 - -``` -zetacored query distribution slashes [validator] [start-height] [end-height] [flags] -``` - -### Options - -``` - --count-total count total number of records in validator slashes to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for slashes - --limit uint pagination limit of validator slashes to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of validator slashes to query for - -o, --output string Output format (text|json) - --page uint pagination page of validator slashes to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of validator slashes to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query distribution](zetacored_query_distribution.md) - Querying commands for the distribution module - diff --git a/src/pages/architecture/zetacored/zetacored_query_distribution_validator-outstanding-rewards.md b/src/pages/architecture/zetacored/zetacored_query_distribution_validator-outstanding-rewards.md deleted file mode 100644 index 37491de3..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_distribution_validator-outstanding-rewards.md +++ /dev/null @@ -1,40 +0,0 @@ -# query distribution validator-outstanding-rewards - -Query distribution outstanding (un-withdrawn) rewards for a validator and all their delegations - -### Synopsis - -Query distribution outstanding (un-withdrawn) rewards for a validator and all their delegations. - -Example: -$ zetacored query distribution validator-outstanding-rewards zetavaloper1lwjmdnks33xwnmfayc64ycprww49n33mtm92ne - -``` -zetacored query distribution validator-outstanding-rewards [validator] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for validator-outstanding-rewards - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query distribution](zetacored_query_distribution.md) - Querying commands for the distribution module - diff --git a/src/pages/architecture/zetacored/zetacored_query_emissions.md b/src/pages/architecture/zetacored/zetacored_query_emissions.md deleted file mode 100644 index 64c7d096..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_emissions.md +++ /dev/null @@ -1,32 +0,0 @@ -# query emissions - -Querying commands for the emissions module - -``` -zetacored query emissions [flags] -``` - -### Options - -``` - -h, --help help for emissions -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query emissions get-emmisons-factors](zetacored_query_emissions_get-emmisons-factors.md) - Query GetEmmisonsFactors -* [zetacored query emissions list-pool-addresses](zetacored_query_emissions_list-pool-addresses.md) - Query list-pool-addresses -* [zetacored query emissions params](zetacored_query_emissions_params.md) - shows the parameters of the module -* [zetacored query emissions show-available-emissions](zetacored_query_emissions_show-available-emissions.md) - Query show-available-emissions - diff --git a/src/pages/architecture/zetacored/zetacored_query_emissions_get-emmisons-factors.md b/src/pages/architecture/zetacored/zetacored_query_emissions_get-emmisons-factors.md deleted file mode 100644 index d6d7e50d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_emissions_get-emmisons-factors.md +++ /dev/null @@ -1,33 +0,0 @@ -# query emissions get-emmisons-factors - -Query GetEmmisonsFactors - -``` -zetacored query emissions get-emmisons-factors [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for get-emmisons-factors - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query emissions](zetacored_query_emissions.md) - Querying commands for the emissions module - diff --git a/src/pages/architecture/zetacored/zetacored_query_emissions_list-pool-addresses.md b/src/pages/architecture/zetacored/zetacored_query_emissions_list-pool-addresses.md deleted file mode 100644 index c7f6d128..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_emissions_list-pool-addresses.md +++ /dev/null @@ -1,33 +0,0 @@ -# query emissions list-pool-addresses - -Query list-pool-addresses - -``` -zetacored query emissions list-pool-addresses [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-pool-addresses - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query emissions](zetacored_query_emissions.md) - Querying commands for the emissions module - diff --git a/src/pages/architecture/zetacored/zetacored_query_emissions_params.md b/src/pages/architecture/zetacored/zetacored_query_emissions_params.md deleted file mode 100644 index 8ed7ad69..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_emissions_params.md +++ /dev/null @@ -1,33 +0,0 @@ -# query emissions params - -shows the parameters of the module - -``` -zetacored query emissions params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query emissions](zetacored_query_emissions.md) - Querying commands for the emissions module - diff --git a/src/pages/architecture/zetacored/zetacored_query_emissions_show-available-emissions.md b/src/pages/architecture/zetacored/zetacored_query_emissions_show-available-emissions.md deleted file mode 100644 index 64298eb1..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_emissions_show-available-emissions.md +++ /dev/null @@ -1,33 +0,0 @@ -# query emissions show-available-emissions - -Query show-available-emissions - -``` -zetacored query emissions show-available-emissions [address] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-available-emissions - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query emissions](zetacored_query_emissions.md) - Querying commands for the emissions module - diff --git a/src/pages/architecture/zetacored/zetacored_query_evidence.md b/src/pages/architecture/zetacored/zetacored_query_evidence.md deleted file mode 100644 index 6531727b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_evidence.md +++ /dev/null @@ -1,47 +0,0 @@ -# query evidence - -Query for evidence by hash or for all (paginated) submitted evidence - -### Synopsis - -Query for specific submitted evidence by hash or query for all (paginated) evidence: - -Example: -$ zetacored query evidence DF0C23E8634E480F84B9D5674A7CDC9816466DEC28A3358F73260F68D28D7660 -$ zetacored query evidence --page=2 --limit=50 - -``` -zetacored query evidence [flags] -``` - -### Options - -``` - --count-total count total number of records in evidence to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for evidence - --limit uint pagination limit of evidence to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of evidence to query for - -o, --output string Output format (text|json) - --page uint pagination page of evidence to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of evidence to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_query_evm.md b/src/pages/architecture/zetacored/zetacored_query_evm.md deleted file mode 100644 index 5ee6a1ba..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_evm.md +++ /dev/null @@ -1,31 +0,0 @@ -# query evm - -Querying commands for the evm module - -``` -zetacored query evm [flags] -``` - -### Options - -``` - -h, --help help for evm -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query evm code](zetacored_query_evm_code.md) - Gets code from an account -* [zetacored query evm params](zetacored_query_evm_params.md) - Get the evm params -* [zetacored query evm storage](zetacored_query_evm_storage.md) - Gets storage for an account with a given key and height - diff --git a/src/pages/architecture/zetacored/zetacored_query_evm_code.md b/src/pages/architecture/zetacored/zetacored_query_evm_code.md deleted file mode 100644 index 25db6243..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_evm_code.md +++ /dev/null @@ -1,37 +0,0 @@ -# query evm code - -Gets code from an account - -### Synopsis - -Gets code from an account. If the height is not provided, it will use the latest height from context. - -``` -zetacored query evm code ADDRESS [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for code - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query evm](zetacored_query_evm.md) - Querying commands for the evm module - diff --git a/src/pages/architecture/zetacored/zetacored_query_evm_params.md b/src/pages/architecture/zetacored/zetacored_query_evm_params.md deleted file mode 100644 index 31792401..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_evm_params.md +++ /dev/null @@ -1,37 +0,0 @@ -# query evm params - -Get the evm params - -### Synopsis - -Get the evm parameter values. - -``` -zetacored query evm params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query evm](zetacored_query_evm.md) - Querying commands for the evm module - diff --git a/src/pages/architecture/zetacored/zetacored_query_evm_storage.md b/src/pages/architecture/zetacored/zetacored_query_evm_storage.md deleted file mode 100644 index 02e81bca..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_evm_storage.md +++ /dev/null @@ -1,37 +0,0 @@ -# query evm storage - -Gets storage for an account with a given key and height - -### Synopsis - -Gets storage for an account with a given key and height. If the height is not provided, it will use the latest height from context. - -``` -zetacored query evm storage ADDRESS KEY [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for storage - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query evm](zetacored_query_evm.md) - Querying commands for the evm module - diff --git a/src/pages/architecture/zetacored/zetacored_query_feemarket.md b/src/pages/architecture/zetacored/zetacored_query_feemarket.md deleted file mode 100644 index 142edf58..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_feemarket.md +++ /dev/null @@ -1,31 +0,0 @@ -# query feemarket - -Querying commands for the fee market module - -``` -zetacored query feemarket [flags] -``` - -### Options - -``` - -h, --help help for feemarket -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query feemarket base-fee](zetacored_query_feemarket_base-fee.md) - Get the base fee amount at a given block height -* [zetacored query feemarket block-gas](zetacored_query_feemarket_block-gas.md) - Get the block gas used at a given block height -* [zetacored query feemarket params](zetacored_query_feemarket_params.md) - Get the fee market params - diff --git a/src/pages/architecture/zetacored/zetacored_query_feemarket_base-fee.md b/src/pages/architecture/zetacored/zetacored_query_feemarket_base-fee.md deleted file mode 100644 index a6bfaafd..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_feemarket_base-fee.md +++ /dev/null @@ -1,38 +0,0 @@ -# query feemarket base-fee - -Get the base fee amount at a given block height - -### Synopsis - -Get the base fee amount at a given block height. -If the height is not provided, it will use the latest height from context. - -``` -zetacored query feemarket base-fee [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for base-fee - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query feemarket](zetacored_query_feemarket.md) - Querying commands for the fee market module - diff --git a/src/pages/architecture/zetacored/zetacored_query_feemarket_block-gas.md b/src/pages/architecture/zetacored/zetacored_query_feemarket_block-gas.md deleted file mode 100644 index 8548a00c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_feemarket_block-gas.md +++ /dev/null @@ -1,38 +0,0 @@ -# query feemarket block-gas - -Get the block gas used at a given block height - -### Synopsis - -Get the block gas used at a given block height. -If the height is not provided, it will use the latest height from context - -``` -zetacored query feemarket block-gas [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for block-gas - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query feemarket](zetacored_query_feemarket.md) - Querying commands for the fee market module - diff --git a/src/pages/architecture/zetacored/zetacored_query_feemarket_params.md b/src/pages/architecture/zetacored/zetacored_query_feemarket_params.md deleted file mode 100644 index 35805cb5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_feemarket_params.md +++ /dev/null @@ -1,37 +0,0 @@ -# query feemarket params - -Get the fee market params - -### Synopsis - -Get the fee market parameter values. - -``` -zetacored query feemarket params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query feemarket](zetacored_query_feemarket.md) - Querying commands for the fee market module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible.md b/src/pages/architecture/zetacored/zetacored_query_fungible.md deleted file mode 100644 index 52d7ccc8..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible.md +++ /dev/null @@ -1,36 +0,0 @@ -# query fungible - -Querying commands for the fungible module - -``` -zetacored query fungible [flags] -``` - -### Options - -``` - -h, --help help for fungible -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query fungible code-hash](zetacored_query_fungible_code-hash.md) - shows the code hash of an account -* [zetacored query fungible gas-stability-pool-address](zetacored_query_fungible_gas-stability-pool-address.md) - query the address of a gas stability pool -* [zetacored query fungible gas-stability-pool-balance](zetacored_query_fungible_gas-stability-pool-balance.md) - query the balance of a gas stability pool for a chain -* [zetacored query fungible gas-stability-pool-balances](zetacored_query_fungible_gas-stability-pool-balances.md) - query all gas stability pool balances -* [zetacored query fungible list-foreign-coins](zetacored_query_fungible_list-foreign-coins.md) - list all ForeignCoins -* [zetacored query fungible params](zetacored_query_fungible_params.md) - shows the parameters of the module -* [zetacored query fungible show-foreign-coins](zetacored_query_fungible_show-foreign-coins.md) - shows a ForeignCoins -* [zetacored query fungible system-contract](zetacored_query_fungible_system-contract.md) - query system contract - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_code-hash.md b/src/pages/architecture/zetacored/zetacored_query_fungible_code-hash.md deleted file mode 100644 index 8072fa76..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_code-hash.md +++ /dev/null @@ -1,33 +0,0 @@ -# query fungible code-hash - -shows the code hash of an account - -``` -zetacored query fungible code-hash [address] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for code-hash - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-address.md b/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-address.md deleted file mode 100644 index 0ac34a6d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-address.md +++ /dev/null @@ -1,39 +0,0 @@ -# query fungible gas-stability-pool-address - -query the address of a gas stability pool - -``` -zetacored query fungible gas-stability-pool-address [flags] -``` - -### Options - -``` - --count-total count total number of records in gas-stability-pool-address to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for gas-stability-pool-address - --limit uint pagination limit of gas-stability-pool-address to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of gas-stability-pool-address to query for - -o, --output string Output format (text|json) - --page uint pagination page of gas-stability-pool-address to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of gas-stability-pool-address to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balance.md b/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balance.md deleted file mode 100644 index b8afb756..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balance.md +++ /dev/null @@ -1,39 +0,0 @@ -# query fungible gas-stability-pool-balance - -query the balance of a gas stability pool for a chain - -``` -zetacored query fungible gas-stability-pool-balance [chain-id] [flags] -``` - -### Options - -``` - --count-total count total number of records in gas-stability-pool-balance [chain-id] to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for gas-stability-pool-balance - --limit uint pagination limit of gas-stability-pool-balance [chain-id] to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of gas-stability-pool-balance [chain-id] to query for - -o, --output string Output format (text|json) - --page uint pagination page of gas-stability-pool-balance [chain-id] to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of gas-stability-pool-balance [chain-id] to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balances.md b/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balances.md deleted file mode 100644 index 43cdc1bf..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_gas-stability-pool-balances.md +++ /dev/null @@ -1,39 +0,0 @@ -# query fungible gas-stability-pool-balances - -query all gas stability pool balances - -``` -zetacored query fungible gas-stability-pool-balances [flags] -``` - -### Options - -``` - --count-total count total number of records in gas-stability-pool-balances to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for gas-stability-pool-balances - --limit uint pagination limit of gas-stability-pool-balances to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of gas-stability-pool-balances to query for - -o, --output string Output format (text|json) - --page uint pagination page of gas-stability-pool-balances to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of gas-stability-pool-balances to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_list-foreign-coins.md b/src/pages/architecture/zetacored/zetacored_query_fungible_list-foreign-coins.md deleted file mode 100644 index 2a5f6a38..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_list-foreign-coins.md +++ /dev/null @@ -1,39 +0,0 @@ -# query fungible list-foreign-coins - -list all ForeignCoins - -``` -zetacored query fungible list-foreign-coins [flags] -``` - -### Options - -``` - --count-total count total number of records in list-foreign-coins to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-foreign-coins - --limit uint pagination limit of list-foreign-coins to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-foreign-coins to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-foreign-coins to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-foreign-coins to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_params.md b/src/pages/architecture/zetacored/zetacored_query_fungible_params.md deleted file mode 100644 index 9845c39c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_params.md +++ /dev/null @@ -1,33 +0,0 @@ -# query fungible params - -shows the parameters of the module - -``` -zetacored query fungible params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_show-foreign-coins.md b/src/pages/architecture/zetacored/zetacored_query_fungible_show-foreign-coins.md deleted file mode 100644 index 8bb0ff9d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_show-foreign-coins.md +++ /dev/null @@ -1,33 +0,0 @@ -# query fungible show-foreign-coins - -shows a ForeignCoins - -``` -zetacored query fungible show-foreign-coins [index] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-foreign-coins - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_fungible_system-contract.md b/src/pages/architecture/zetacored/zetacored_query_fungible_system-contract.md deleted file mode 100644 index f31b40e4..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_fungible_system-contract.md +++ /dev/null @@ -1,33 +0,0 @@ -# query fungible system-contract - -query system contract - -``` -zetacored query fungible system-contract [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for system-contract - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query fungible](zetacored_query_fungible.md) - Querying commands for the fungible module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov.md b/src/pages/architecture/zetacored/zetacored_query_gov.md deleted file mode 100644 index 9ab0a1b9..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov.md +++ /dev/null @@ -1,38 +0,0 @@ -# query gov - -Querying commands for the governance module - -``` -zetacored query gov [flags] -``` - -### Options - -``` - -h, --help help for gov -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query gov deposit](zetacored_query_gov_deposit.md) - Query details of a deposit -* [zetacored query gov deposits](zetacored_query_gov_deposits.md) - Query deposits on a proposal -* [zetacored query gov param](zetacored_query_gov_param.md) - Query the parameters (voting|tallying|deposit) of the governance process -* [zetacored query gov params](zetacored_query_gov_params.md) - Query the parameters of the governance process -* [zetacored query gov proposal](zetacored_query_gov_proposal.md) - Query details of a single proposal -* [zetacored query gov proposals](zetacored_query_gov_proposals.md) - Query proposals with optional filters -* [zetacored query gov proposer](zetacored_query_gov_proposer.md) - Query the proposer of a governance proposal -* [zetacored query gov tally](zetacored_query_gov_tally.md) - Get the tally of a proposal vote -* [zetacored query gov vote](zetacored_query_gov_vote.md) - Query details of a single vote -* [zetacored query gov votes](zetacored_query_gov_votes.md) - Query votes on a proposal - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_deposit.md b/src/pages/architecture/zetacored/zetacored_query_gov_deposit.md deleted file mode 100644 index e1be829f..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_deposit.md +++ /dev/null @@ -1,40 +0,0 @@ -# query gov deposit - -Query details of a deposit - -### Synopsis - -Query details for a single proposal deposit on a proposal by its identifier. - -Example: -$ zetacored query gov deposit 1 cosmos1skjwj5whet0lpe65qaq4rpq03hjxlwd9nf39lk - -``` -zetacored query gov deposit [proposal-id] [depositer-addr] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for deposit - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_deposits.md b/src/pages/architecture/zetacored/zetacored_query_gov_deposits.md deleted file mode 100644 index b9b0187c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_deposits.md +++ /dev/null @@ -1,47 +0,0 @@ -# query gov deposits - -Query deposits on a proposal - -### Synopsis - -Query details for all deposits on a proposal. -You can find the proposal-id by running "zetacored query gov proposals". - -Example: -$ zetacored query gov deposits 1 - -``` -zetacored query gov deposits [proposal-id] [flags] -``` - -### Options - -``` - --count-total count total number of records in deposits to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for deposits - --limit uint pagination limit of deposits to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of deposits to query for - -o, --output string Output format (text|json) - --page uint pagination page of deposits to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of deposits to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_param.md b/src/pages/architecture/zetacored/zetacored_query_gov_param.md deleted file mode 100644 index da4d5700..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_param.md +++ /dev/null @@ -1,42 +0,0 @@ -# query gov param - -Query the parameters (voting|tallying|deposit) of the governance process - -### Synopsis - -Query the all the parameters for the governance process. - -Example: -$ zetacored query gov param voting -$ zetacored query gov param tallying -$ zetacored query gov param deposit - -``` -zetacored query gov param [param-type] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for param - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_params.md b/src/pages/architecture/zetacored/zetacored_query_gov_params.md deleted file mode 100644 index 216da703..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_params.md +++ /dev/null @@ -1,40 +0,0 @@ -# query gov params - -Query the parameters of the governance process - -### Synopsis - -Query the all the parameters for the governance process. - -Example: -$ zetacored query gov params - -``` -zetacored query gov params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_proposal.md b/src/pages/architecture/zetacored/zetacored_query_gov_proposal.md deleted file mode 100644 index 65c7caf7..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_proposal.md +++ /dev/null @@ -1,41 +0,0 @@ -# query gov proposal - -Query details of a single proposal - -### Synopsis - -Query details for a proposal. You can find the -proposal-id by running "zetacored query gov proposals". - -Example: -$ zetacored query gov proposal 1 - -``` -zetacored query gov proposal [proposal-id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for proposal - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_proposals.md b/src/pages/architecture/zetacored/zetacored_query_gov_proposals.md deleted file mode 100644 index ac78a2fe..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_proposals.md +++ /dev/null @@ -1,52 +0,0 @@ -# query gov proposals - -Query proposals with optional filters - -### Synopsis - -Query for a all paginated proposals that match optional filters: - -Example: -$ zetacored query gov proposals --depositor cosmos1skjwj5whet0lpe65qaq4rpq03hjxlwd9nf39lk -$ zetacored query gov proposals --voter cosmos1skjwj5whet0lpe65qaq4rpq03hjxlwd9nf39lk -$ zetacored query gov proposals --status (DepositPeriod|VotingPeriod|Passed|Rejected) -$ zetacored query gov proposals --page=2 --limit=100 - -``` -zetacored query gov proposals [flags] -``` - -### Options - -``` - --count-total count total number of records in proposals to query for - --depositor string (optional) filter by proposals deposited on by depositor - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for proposals - --limit uint pagination limit of proposals to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of proposals to query for - -o, --output string Output format (text|json) - --page uint pagination page of proposals to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of proposals to query for - --reverse results are sorted in descending order - --status string (optional) filter proposals by proposal status, status: deposit_period/voting_period/passed/rejected - --voter string (optional) filter by proposals voted on by voted -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_proposer.md b/src/pages/architecture/zetacored/zetacored_query_gov_proposer.md deleted file mode 100644 index 95e67f8e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_proposer.md +++ /dev/null @@ -1,40 +0,0 @@ -# query gov proposer - -Query the proposer of a governance proposal - -### Synopsis - -Query which address proposed a proposal with a given ID. - -Example: -$ zetacored query gov proposer 1 - -``` -zetacored query gov proposer [proposal-id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for proposer - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_tally.md b/src/pages/architecture/zetacored/zetacored_query_gov_tally.md deleted file mode 100644 index 61194cbd..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_tally.md +++ /dev/null @@ -1,41 +0,0 @@ -# query gov tally - -Get the tally of a proposal vote - -### Synopsis - -Query tally of votes on a proposal. You can find -the proposal-id by running "zetacored query gov proposals". - -Example: -$ zetacored query gov tally 1 - -``` -zetacored query gov tally [proposal-id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for tally - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_vote.md b/src/pages/architecture/zetacored/zetacored_query_gov_vote.md deleted file mode 100644 index 804d6d21..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_vote.md +++ /dev/null @@ -1,40 +0,0 @@ -# query gov vote - -Query details of a single vote - -### Synopsis - -Query details for a single vote on a proposal given its identifier. - -Example: -$ zetacored query gov vote 1 cosmos1skjwj5whet0lpe65qaq4rpq03hjxlwd9nf39lk - -``` -zetacored query gov vote [proposal-id] [voter-addr] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for vote - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_gov_votes.md b/src/pages/architecture/zetacored/zetacored_query_gov_votes.md deleted file mode 100644 index 7db7631f..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_gov_votes.md +++ /dev/null @@ -1,47 +0,0 @@ -# query gov votes - -Query votes on a proposal - -### Synopsis - -Query vote details for a single proposal by its identifier. - -Example: -$ zetacored query gov votes 1 -$ zetacored query gov votes 1 --page=2 --limit=100 - -``` -zetacored query gov votes [proposal-id] [flags] -``` - -### Options - -``` - --count-total count total number of records in votes to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for votes - --limit uint pagination limit of votes to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of votes to query for - -o, --output string Output format (text|json) - --page uint pagination page of votes to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of votes to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query gov](zetacored_query_gov.md) - Querying commands for the governance module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group.md b/src/pages/architecture/zetacored/zetacored_query_group.md deleted file mode 100644 index 4d997aad..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group.md +++ /dev/null @@ -1,42 +0,0 @@ -# query group - -Querying commands for the group module - -``` -zetacored query group [flags] -``` - -### Options - -``` - -h, --help help for group -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query group group-info](zetacored_query_group_group-info.md) - Query for group info by group id -* [zetacored query group group-members](zetacored_query_group_group-members.md) - Query for group members by group id with pagination flags -* [zetacored query group group-policies-by-admin](zetacored_query_group_group-policies-by-admin.md) - Query for group policies by admin account address with pagination flags -* [zetacored query group group-policies-by-group](zetacored_query_group_group-policies-by-group.md) - Query for group policies by group id with pagination flags -* [zetacored query group group-policy-info](zetacored_query_group_group-policy-info.md) - Query for group policy info by account address of group policy -* [zetacored query group groups](zetacored_query_group_groups.md) - Query for groups present in the state -* [zetacored query group groups-by-admin](zetacored_query_group_groups-by-admin.md) - Query for groups by admin account address with pagination flags -* [zetacored query group groups-by-member](zetacored_query_group_groups-by-member.md) - Query for groups by member address with pagination flags -* [zetacored query group proposal](zetacored_query_group_proposal.md) - Query for proposal by id -* [zetacored query group proposals-by-group-policy](zetacored_query_group_proposals-by-group-policy.md) - Query for proposals by account address of group policy with pagination flags -* [zetacored query group tally-result](zetacored_query_group_tally-result.md) - Query tally result of proposal -* [zetacored query group vote](zetacored_query_group_vote.md) - Query for vote by proposal id and voter account address -* [zetacored query group votes-by-proposal](zetacored_query_group_votes-by-proposal.md) - Query for votes by proposal id with pagination flags -* [zetacored query group votes-by-voter](zetacored_query_group_votes-by-voter.md) - Query for votes by voter account address with pagination flags - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_group-info.md b/src/pages/architecture/zetacored/zetacored_query_group_group-info.md deleted file mode 100644 index ba8ebee5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_group-info.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group group-info - -Query for group info by group id - -``` -zetacored query group group-info [id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for group-info - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_group-members.md b/src/pages/architecture/zetacored/zetacored_query_group_group-members.md deleted file mode 100644 index 598b879f..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_group-members.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group group-members - -Query for group members by group id with pagination flags - -``` -zetacored query group group-members [id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for group-members - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-admin.md b/src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-admin.md deleted file mode 100644 index ac0c3806..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-admin.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group group-policies-by-admin - -Query for group policies by admin account address with pagination flags - -``` -zetacored query group group-policies-by-admin [admin] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for group-policies-by-admin - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-group.md b/src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-group.md deleted file mode 100644 index fd154d8b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_group-policies-by-group.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group group-policies-by-group - -Query for group policies by group id with pagination flags - -``` -zetacored query group group-policies-by-group [group-id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for group-policies-by-group - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_group-policy-info.md b/src/pages/architecture/zetacored/zetacored_query_group_group-policy-info.md deleted file mode 100644 index 25c96191..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_group-policy-info.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group group-policy-info - -Query for group policy info by account address of group policy - -``` -zetacored query group group-policy-info [group-policy-account] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for group-policy-info - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_groups-by-admin.md b/src/pages/architecture/zetacored/zetacored_query_group_groups-by-admin.md deleted file mode 100644 index 8914583f..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_groups-by-admin.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group groups-by-admin - -Query for groups by admin account address with pagination flags - -``` -zetacored query group groups-by-admin [admin] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for groups-by-admin - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_groups-by-member.md b/src/pages/architecture/zetacored/zetacored_query_group_groups-by-member.md deleted file mode 100644 index deb8387c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_groups-by-member.md +++ /dev/null @@ -1,39 +0,0 @@ -# query group groups-by-member - -Query for groups by member address with pagination flags - -``` -zetacored query group groups-by-member [address] [flags] -``` - -### Options - -``` - --count-total count total number of records in groups-by-members to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for groups-by-member - --limit uint pagination limit of groups-by-members to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of groups-by-members to query for - -o, --output string Output format (text|json) - --page uint pagination page of groups-by-members to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of groups-by-members to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_groups.md b/src/pages/architecture/zetacored/zetacored_query_group_groups.md deleted file mode 100644 index a629b9d5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_groups.md +++ /dev/null @@ -1,39 +0,0 @@ -# query group groups - -Query for groups present in the state - -``` -zetacored query group groups [flags] -``` - -### Options - -``` - --count-total count total number of records in groups to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for groups - --limit uint pagination limit of groups to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of groups to query for - -o, --output string Output format (text|json) - --page uint pagination page of groups to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of groups to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_proposal.md b/src/pages/architecture/zetacored/zetacored_query_group_proposal.md deleted file mode 100644 index d072cd1a..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_proposal.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group proposal - -Query for proposal by id - -``` -zetacored query group proposal [id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for proposal - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_proposals-by-group-policy.md b/src/pages/architecture/zetacored/zetacored_query_group_proposals-by-group-policy.md deleted file mode 100644 index 0a2ee4cb..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_proposals-by-group-policy.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group proposals-by-group-policy - -Query for proposals by account address of group policy with pagination flags - -``` -zetacored query group proposals-by-group-policy [group-policy-account] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for proposals-by-group-policy - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_tally-result.md b/src/pages/architecture/zetacored/zetacored_query_group_tally-result.md deleted file mode 100644 index cd9354ba..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_tally-result.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group tally-result - -Query tally result of proposal - -``` -zetacored query group tally-result [proposal-id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for tally-result - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_vote.md b/src/pages/architecture/zetacored/zetacored_query_group_vote.md deleted file mode 100644 index 3e406df0..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_vote.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group vote - -Query for vote by proposal id and voter account address - -``` -zetacored query group vote [proposal-id] [voter] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for vote - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_votes-by-proposal.md b/src/pages/architecture/zetacored/zetacored_query_group_votes-by-proposal.md deleted file mode 100644 index 9a1fcc82..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_votes-by-proposal.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group votes-by-proposal - -Query for votes by proposal id with pagination flags - -``` -zetacored query group votes-by-proposal [proposal-id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for votes-by-proposal - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_group_votes-by-voter.md b/src/pages/architecture/zetacored/zetacored_query_group_votes-by-voter.md deleted file mode 100644 index 13e84dde..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_group_votes-by-voter.md +++ /dev/null @@ -1,33 +0,0 @@ -# query group votes-by-voter - -Query for votes by voter account address with pagination flags - -``` -zetacored query group votes-by-voter [voter] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for votes-by-voter - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query group](zetacored_query_group.md) - Querying commands for the group module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer.md b/src/pages/architecture/zetacored/zetacored_query_observer.md deleted file mode 100644 index 47e5951c..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer.md +++ /dev/null @@ -1,49 +0,0 @@ -# query observer - -Querying commands for the observer module - -``` -zetacored query observer [flags] -``` - -### Options - -``` - -h, --help help for observer -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query observer get-historical-tss-address](zetacored_query_observer_get-historical-tss-address.md) - Query tss address by finalized zeta height (for historical tss addresses) -* [zetacored query observer get-tss-address](zetacored_query_observer_get-tss-address.md) - Query current tss address -* [zetacored query observer list-blame](zetacored_query_observer_list-blame.md) - Query AllBlameRecords -* [zetacored query observer list-blame-by-msg](zetacored_query_observer_list-blame-by-msg.md) - Query AllBlameRecords -* [zetacored query observer list-chain-nonces](zetacored_query_observer_list-chain-nonces.md) - list all chainNonces -* [zetacored query observer list-chain-params](zetacored_query_observer_list-chain-params.md) - Query GetChainParams -* [zetacored query observer list-chains](zetacored_query_observer_list-chains.md) - list all SupportedChains -* [zetacored query observer list-node-account](zetacored_query_observer_list-node-account.md) - list all NodeAccount -* [zetacored query observer list-observer-set](zetacored_query_observer_list-observer-set.md) - Query observer set -* [zetacored query observer list-pending-nonces](zetacored_query_observer_list-pending-nonces.md) - shows a chainNonces -* [zetacored query observer list-tss-history](zetacored_query_observer_list-tss-history.md) - show historical list of TSS -* [zetacored query observer params](zetacored_query_observer_params.md) - shows the parameters of the module -* [zetacored query observer show-ballot](zetacored_query_observer_show-ballot.md) - Query BallotByIdentifier -* [zetacored query observer show-blame](zetacored_query_observer_show-blame.md) - Query BlameByIdentifier -* [zetacored query observer show-chain-nonces](zetacored_query_observer_show-chain-nonces.md) - shows a chainNonces -* [zetacored query observer show-chain-params](zetacored_query_observer_show-chain-params.md) - Query GetChainParamsForChain -* [zetacored query observer show-crosschain-flags](zetacored_query_observer_show-crosschain-flags.md) - shows the crosschain flags -* [zetacored query observer show-keygen](zetacored_query_observer_show-keygen.md) - shows keygen -* [zetacored query observer show-node-account](zetacored_query_observer_show-node-account.md) - shows a NodeAccount -* [zetacored query observer show-observer-count](zetacored_query_observer_show-observer-count.md) - Query show-observer-count -* [zetacored query observer show-tss](zetacored_query_observer_show-tss.md) - shows a TSS - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_get-historical-tss-address.md b/src/pages/architecture/zetacored/zetacored_query_observer_get-historical-tss-address.md deleted file mode 100644 index d56798a0..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_get-historical-tss-address.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer get-historical-tss-address - -Query tss address by finalized zeta height (for historical tss addresses) - -``` -zetacored query observer get-historical-tss-address [finalizedZetaHeight] [bitcoinChainId] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for get-historical-tss-address - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_get-tss-address.md b/src/pages/architecture/zetacored/zetacored_query_observer_get-tss-address.md deleted file mode 100644 index 5c5e68bd..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_get-tss-address.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer get-tss-address - -Query current tss address - -``` -zetacored query observer get-tss-address [bitcoinChainId]] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for get-tss-address - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-blame-by-msg.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-blame-by-msg.md deleted file mode 100644 index 3a62fba6..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-blame-by-msg.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer list-blame-by-msg - -Query AllBlameRecords - -``` -zetacored query observer list-blame-by-msg [chainId] [nonce] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-blame-by-msg - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-blame.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-blame.md deleted file mode 100644 index 3cb99f2d..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-blame.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer list-blame - -Query AllBlameRecords - -``` -zetacored query observer list-blame [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-blame - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-chain-nonces.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-chain-nonces.md deleted file mode 100644 index b11ee00a..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-chain-nonces.md +++ /dev/null @@ -1,39 +0,0 @@ -# query observer list-chain-nonces - -list all chainNonces - -``` -zetacored query observer list-chain-nonces [flags] -``` - -### Options - -``` - --count-total count total number of records in list-chain-nonces to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-chain-nonces - --limit uint pagination limit of list-chain-nonces to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-chain-nonces to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-chain-nonces to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-chain-nonces to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-chain-params.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-chain-params.md deleted file mode 100644 index d655176e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-chain-params.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer list-chain-params - -Query GetChainParams - -``` -zetacored query observer list-chain-params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-chain-params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-chains.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-chains.md deleted file mode 100644 index 0af9244e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-chains.md +++ /dev/null @@ -1,39 +0,0 @@ -# query observer list-chains - -list all SupportedChains - -``` -zetacored query observer list-chains [flags] -``` - -### Options - -``` - --count-total count total number of records in list-chains to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-chains - --limit uint pagination limit of list-chains to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-chains to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-chains to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-chains to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-node-account.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-node-account.md deleted file mode 100644 index 4908b582..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-node-account.md +++ /dev/null @@ -1,39 +0,0 @@ -# query observer list-node-account - -list all NodeAccount - -``` -zetacored query observer list-node-account [flags] -``` - -### Options - -``` - --count-total count total number of records in list-node-account to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-node-account - --limit uint pagination limit of list-node-account to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of list-node-account to query for - -o, --output string Output format (text|json) - --page uint pagination page of list-node-account to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of list-node-account to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-observer-set.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-observer-set.md deleted file mode 100644 index 506d5d86..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-observer-set.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer list-observer-set - -Query observer set - -``` -zetacored query observer list-observer-set [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-observer-set - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-pending-nonces.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-pending-nonces.md deleted file mode 100644 index c4828f8b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-pending-nonces.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer list-pending-nonces - -shows a chainNonces - -``` -zetacored query observer list-pending-nonces [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-pending-nonces - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_list-tss-history.md b/src/pages/architecture/zetacored/zetacored_query_observer_list-tss-history.md deleted file mode 100644 index 3b59d8a2..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_list-tss-history.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer list-tss-history - -show historical list of TSS - -``` -zetacored query observer list-tss-history [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for list-tss-history - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_params.md b/src/pages/architecture/zetacored/zetacored_query_observer_params.md deleted file mode 100644 index 96f5f2ec..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_params.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer params - -shows the parameters of the module - -``` -zetacored query observer params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-ballot.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-ballot.md deleted file mode 100644 index 40451e65..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-ballot.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-ballot - -Query BallotByIdentifier - -``` -zetacored query observer show-ballot [ballot-identifier] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-ballot - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-blame.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-blame.md deleted file mode 100644 index 61b1b08b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-blame.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-blame - -Query BlameByIdentifier - -``` -zetacored query observer show-blame [blame-identifier] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-blame - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-chain-nonces.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-chain-nonces.md deleted file mode 100644 index 68285873..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-chain-nonces.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-chain-nonces - -shows a chainNonces - -``` -zetacored query observer show-chain-nonces [index] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-chain-nonces - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-chain-params.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-chain-params.md deleted file mode 100644 index 606024c4..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-chain-params.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-chain-params - -Query GetChainParamsForChain - -``` -zetacored query observer show-chain-params [chain-id] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-chain-params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-crosschain-flags.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-crosschain-flags.md deleted file mode 100644 index bd46be73..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-crosschain-flags.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-crosschain-flags - -shows the crosschain flags - -``` -zetacored query observer show-crosschain-flags [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-crosschain-flags - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-keygen.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-keygen.md deleted file mode 100644 index 96118f90..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-keygen.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-keygen - -shows keygen - -``` -zetacored query observer show-keygen [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-keygen - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-node-account.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-node-account.md deleted file mode 100644 index e597d089..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-node-account.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-node-account - -shows a NodeAccount - -``` -zetacored query observer show-node-account [operator_address] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-node-account - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-observer-count.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-observer-count.md deleted file mode 100644 index abad040a..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-observer-count.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-observer-count - -Query show-observer-count - -``` -zetacored query observer show-observer-count [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-observer-count - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_observer_show-tss.md b/src/pages/architecture/zetacored/zetacored_query_observer_show-tss.md deleted file mode 100644 index 38f10576..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_observer_show-tss.md +++ /dev/null @@ -1,33 +0,0 @@ -# query observer show-tss - -shows a TSS - -``` -zetacored query observer show-tss [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for show-tss - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query observer](zetacored_query_observer.md) - Querying commands for the observer module - diff --git a/src/pages/architecture/zetacored/zetacored_query_params.md b/src/pages/architecture/zetacored/zetacored_query_params.md deleted file mode 100644 index f090db8b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_params.md +++ /dev/null @@ -1,29 +0,0 @@ -# query params - -Querying commands for the params module - -``` -zetacored query params [flags] -``` - -### Options - -``` - -h, --help help for params -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query params subspace](zetacored_query_params_subspace.md) - Query for raw parameters by subspace and key - diff --git a/src/pages/architecture/zetacored/zetacored_query_params_subspace.md b/src/pages/architecture/zetacored/zetacored_query_params_subspace.md deleted file mode 100644 index 4dc265c5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_params_subspace.md +++ /dev/null @@ -1,33 +0,0 @@ -# query params subspace - -Query for raw parameters by subspace and key - -``` -zetacored query params subspace [subspace] [key] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for subspace - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query params](zetacored_query_params.md) - Querying commands for the params module - diff --git a/src/pages/architecture/zetacored/zetacored_query_slashing.md b/src/pages/architecture/zetacored/zetacored_query_slashing.md deleted file mode 100644 index 10af5225..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_slashing.md +++ /dev/null @@ -1,31 +0,0 @@ -# query slashing - -Querying commands for the slashing module - -``` -zetacored query slashing [flags] -``` - -### Options - -``` - -h, --help help for slashing -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query slashing params](zetacored_query_slashing_params.md) - Query the current slashing parameters -* [zetacored query slashing signing-info](zetacored_query_slashing_signing-info.md) - Query a validator's signing information -* [zetacored query slashing signing-infos](zetacored_query_slashing_signing-infos.md) - Query signing information of all validators - diff --git a/src/pages/architecture/zetacored/zetacored_query_slashing_params.md b/src/pages/architecture/zetacored/zetacored_query_slashing_params.md deleted file mode 100644 index c2b4359e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_slashing_params.md +++ /dev/null @@ -1,39 +0,0 @@ -# query slashing params - -Query the current slashing parameters - -### Synopsis - -Query genesis parameters for the slashing module: - -$ zetacored query slashing params - -``` -zetacored query slashing params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query slashing](zetacored_query_slashing.md) - Querying commands for the slashing module - diff --git a/src/pages/architecture/zetacored/zetacored_query_slashing_signing-info.md b/src/pages/architecture/zetacored/zetacored_query_slashing_signing-info.md deleted file mode 100644 index 1e8f13b9..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_slashing_signing-info.md +++ /dev/null @@ -1,39 +0,0 @@ -# query slashing signing-info - -Query a validator's signing information - -### Synopsis - -Use a validators' consensus public key to find the signing-info for that validator: - -$ zetacored query slashing signing-info '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"OauFcTKbN5Lx3fJL689cikXBqe+hcp6Y+x0rYUdR9Jk="}' - -``` -zetacored query slashing signing-info [validator-conspub] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for signing-info - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query slashing](zetacored_query_slashing.md) - Querying commands for the slashing module - diff --git a/src/pages/architecture/zetacored/zetacored_query_slashing_signing-infos.md b/src/pages/architecture/zetacored/zetacored_query_slashing_signing-infos.md deleted file mode 100644 index b1a3d5f3..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_slashing_signing-infos.md +++ /dev/null @@ -1,45 +0,0 @@ -# query slashing signing-infos - -Query signing information of all validators - -### Synopsis - -signing infos of validators: - -$ zetacored query slashing signing-infos - -``` -zetacored query slashing signing-infos [flags] -``` - -### Options - -``` - --count-total count total number of records in signing infos to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for signing-infos - --limit uint pagination limit of signing infos to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of signing infos to query for - -o, --output string Output format (text|json) - --page uint pagination page of signing infos to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of signing infos to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query slashing](zetacored_query_slashing.md) - Querying commands for the slashing module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking.md b/src/pages/architecture/zetacored/zetacored_query_staking.md deleted file mode 100644 index b7770b1b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking.md +++ /dev/null @@ -1,42 +0,0 @@ -# query staking - -Querying commands for the staking module - -``` -zetacored query staking [flags] -``` - -### Options - -``` - -h, --help help for staking -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query staking delegation](zetacored_query_staking_delegation.md) - Query a delegation based on address and validator address -* [zetacored query staking delegations](zetacored_query_staking_delegations.md) - Query all delegations made by one delegator -* [zetacored query staking delegations-to](zetacored_query_staking_delegations-to.md) - Query all delegations made to one validator -* [zetacored query staking historical-info](zetacored_query_staking_historical-info.md) - Query historical info at given height -* [zetacored query staking params](zetacored_query_staking_params.md) - Query the current staking parameters information -* [zetacored query staking pool](zetacored_query_staking_pool.md) - Query the current staking pool values -* [zetacored query staking redelegation](zetacored_query_staking_redelegation.md) - Query a redelegation record based on delegator and a source and destination validator address -* [zetacored query staking redelegations](zetacored_query_staking_redelegations.md) - Query all redelegations records for one delegator -* [zetacored query staking redelegations-from](zetacored_query_staking_redelegations-from.md) - Query all outgoing redelegatations from a validator -* [zetacored query staking unbonding-delegation](zetacored_query_staking_unbonding-delegation.md) - Query an unbonding-delegation record based on delegator and validator address -* [zetacored query staking unbonding-delegations](zetacored_query_staking_unbonding-delegations.md) - Query all unbonding-delegations records for one delegator -* [zetacored query staking unbonding-delegations-from](zetacored_query_staking_unbonding-delegations-from.md) - Query all unbonding delegatations from a validator -* [zetacored query staking validator](zetacored_query_staking_validator.md) - Query a validator -* [zetacored query staking validators](zetacored_query_staking_validators.md) - Query for all validators - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_delegation.md b/src/pages/architecture/zetacored/zetacored_query_staking_delegation.md deleted file mode 100644 index e9a6c6c5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_delegation.md +++ /dev/null @@ -1,40 +0,0 @@ -# query staking delegation - -Query a delegation based on address and validator address - -### Synopsis - -Query delegations for an individual delegator on an individual validator. - -Example: -$ zetacored query staking delegation zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query staking delegation [delegator-addr] [validator-addr] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for delegation - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_delegations-to.md b/src/pages/architecture/zetacored/zetacored_query_staking_delegations-to.md deleted file mode 100644 index bb765062..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_delegations-to.md +++ /dev/null @@ -1,46 +0,0 @@ -# query staking delegations-to - -Query all delegations made to one validator - -### Synopsis - -Query delegations on an individual validator. - -Example: -$ zetacored query staking delegations-to zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query staking delegations-to [validator-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in validator delegations to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for delegations-to - --limit uint pagination limit of validator delegations to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of validator delegations to query for - -o, --output string Output format (text|json) - --page uint pagination page of validator delegations to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of validator delegations to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_delegations.md b/src/pages/architecture/zetacored/zetacored_query_staking_delegations.md deleted file mode 100644 index a136886e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_delegations.md +++ /dev/null @@ -1,46 +0,0 @@ -# query staking delegations - -Query all delegations made by one delegator - -### Synopsis - -Query delegations for an individual delegator on all validators. - -Example: -$ zetacored query staking delegations zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p - -``` -zetacored query staking delegations [delegator-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in delegations to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for delegations - --limit uint pagination limit of delegations to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of delegations to query for - -o, --output string Output format (text|json) - --page uint pagination page of delegations to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of delegations to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_historical-info.md b/src/pages/architecture/zetacored/zetacored_query_staking_historical-info.md deleted file mode 100644 index fd747bef..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_historical-info.md +++ /dev/null @@ -1,40 +0,0 @@ -# query staking historical-info - -Query historical info at given height - -### Synopsis - -Query historical info at given height. - -Example: -$ zetacored query staking historical-info 5 - -``` -zetacored query staking historical-info [height] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for historical-info - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_params.md b/src/pages/architecture/zetacored/zetacored_query_staking_params.md deleted file mode 100644 index 96dc7f11..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_params.md +++ /dev/null @@ -1,40 +0,0 @@ -# query staking params - -Query the current staking parameters information - -### Synopsis - -Query values set as staking parameters. - -Example: -$ zetacored query staking params - -``` -zetacored query staking params [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for params - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_pool.md b/src/pages/architecture/zetacored/zetacored_query_staking_pool.md deleted file mode 100644 index 9c2cb6c2..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_pool.md +++ /dev/null @@ -1,40 +0,0 @@ -# query staking pool - -Query the current staking pool values - -### Synopsis - -Query values for amounts stored in the staking pool. - -Example: -$ zetacored query staking pool - -``` -zetacored query staking pool [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for pool - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_redelegation.md b/src/pages/architecture/zetacored/zetacored_query_staking_redelegation.md deleted file mode 100644 index 35e4e643..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_redelegation.md +++ /dev/null @@ -1,40 +0,0 @@ -# query staking redelegation - -Query a redelegation record based on delegator and a source and destination validator address - -### Synopsis - -Query a redelegation record for an individual delegator between a source and destination validator. - -Example: -$ zetacored query staking redelegation zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p zetavaloper1l2rsakp388kuv9k8qzq6lrm9taddae7fpx59wm zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query staking redelegation [delegator-addr] [src-validator-addr] [dst-validator-addr] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for redelegation - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_redelegations-from.md b/src/pages/architecture/zetacored/zetacored_query_staking_redelegations-from.md deleted file mode 100644 index d14af625..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_redelegations-from.md +++ /dev/null @@ -1,46 +0,0 @@ -# query staking redelegations-from - -Query all outgoing redelegatations from a validator - -### Synopsis - -Query delegations that are redelegating _from_ a validator. - -Example: -$ zetacored query staking redelegations-from zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query staking redelegations-from [validator-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in validator redelegations to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for redelegations-from - --limit uint pagination limit of validator redelegations to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of validator redelegations to query for - -o, --output string Output format (text|json) - --page uint pagination page of validator redelegations to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of validator redelegations to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_redelegations.md b/src/pages/architecture/zetacored/zetacored_query_staking_redelegations.md deleted file mode 100644 index 1e017bff..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_redelegations.md +++ /dev/null @@ -1,46 +0,0 @@ -# query staking redelegations - -Query all redelegations records for one delegator - -### Synopsis - -Query all redelegation records for an individual delegator. - -Example: -$ zetacored query staking redelegation zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p - -``` -zetacored query staking redelegations [delegator-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in delegator redelegations to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for redelegations - --limit uint pagination limit of delegator redelegations to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of delegator redelegations to query for - -o, --output string Output format (text|json) - --page uint pagination page of delegator redelegations to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of delegator redelegations to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegation.md b/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegation.md deleted file mode 100644 index a987f5b6..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegation.md +++ /dev/null @@ -1,40 +0,0 @@ -# query staking unbonding-delegation - -Query an unbonding-delegation record based on delegator and validator address - -### Synopsis - -Query unbonding delegations for an individual delegator on an individual validator. - -Example: -$ zetacored query staking unbonding-delegation zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query staking unbonding-delegation [delegator-addr] [validator-addr] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for unbonding-delegation - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations-from.md b/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations-from.md deleted file mode 100644 index e3fa2625..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations-from.md +++ /dev/null @@ -1,46 +0,0 @@ -# query staking unbonding-delegations-from - -Query all unbonding delegatations from a validator - -### Synopsis - -Query delegations that are unbonding _from_ a validator. - -Example: -$ zetacored query staking unbonding-delegations-from zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query staking unbonding-delegations-from [validator-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in unbonding delegations to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for unbonding-delegations-from - --limit uint pagination limit of unbonding delegations to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of unbonding delegations to query for - -o, --output string Output format (text|json) - --page uint pagination page of unbonding delegations to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of unbonding delegations to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations.md b/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations.md deleted file mode 100644 index 103b6568..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_unbonding-delegations.md +++ /dev/null @@ -1,46 +0,0 @@ -# query staking unbonding-delegations - -Query all unbonding-delegations records for one delegator - -### Synopsis - -Query unbonding delegations for an individual delegator. - -Example: -$ zetacored query staking unbonding-delegations zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p - -``` -zetacored query staking unbonding-delegations [delegator-addr] [flags] -``` - -### Options - -``` - --count-total count total number of records in unbonding delegations to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for unbonding-delegations - --limit uint pagination limit of unbonding delegations to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of unbonding delegations to query for - -o, --output string Output format (text|json) - --page uint pagination page of unbonding delegations to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of unbonding delegations to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_validator.md b/src/pages/architecture/zetacored/zetacored_query_staking_validator.md deleted file mode 100644 index cdf17315..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_validator.md +++ /dev/null @@ -1,40 +0,0 @@ -# query staking validator - -Query a validator - -### Synopsis - -Query details about an individual validator. - -Example: -$ zetacored query staking validator zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj - -``` -zetacored query staking validator [validator-addr] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for validator - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_staking_validators.md b/src/pages/architecture/zetacored/zetacored_query_staking_validators.md deleted file mode 100644 index bec49a6e..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_staking_validators.md +++ /dev/null @@ -1,46 +0,0 @@ -# query staking validators - -Query for all validators - -### Synopsis - -Query details about all validators on a network. - -Example: -$ zetacored query staking validators - -``` -zetacored query staking validators [flags] -``` - -### Options - -``` - --count-total count total number of records in validators to query for - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for validators - --limit uint pagination limit of validators to query for (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - --offset uint pagination offset of validators to query for - -o, --output string Output format (text|json) - --page uint pagination page of validators to query for. This sets offset to a multiple of limit (default 1) - --page-key string pagination page-key of validators to query for - --reverse results are sorted in descending order -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query staking](zetacored_query_staking.md) - Querying commands for the staking module - diff --git a/src/pages/architecture/zetacored/zetacored_query_tendermint-validator-set.md b/src/pages/architecture/zetacored/zetacored_query_tendermint-validator-set.md deleted file mode 100644 index 05136fde..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_tendermint-validator-set.md +++ /dev/null @@ -1,32 +0,0 @@ -# query tendermint-validator-set - -Get the full tendermint validator set at given height - -``` -zetacored query tendermint-validator-set [height] [flags] -``` - -### Options - -``` - -h, --help help for tendermint-validator-set - --limit int Query number of results returned per page (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) - --page int Query a specific page of paginated results (default 1) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_query_tx.md b/src/pages/architecture/zetacored/zetacored_query_tx.md deleted file mode 100644 index fdb41b94..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_tx.md +++ /dev/null @@ -1,41 +0,0 @@ -# query tx - -Query for a transaction by hash, "[addr]/[seq]" combination or comma-separated signatures in a committed block - -### Synopsis - -Example: -$ zetacored query tx [hash] -$ zetacored query tx --type=acc_seq [addr]/[sequence] -$ zetacored query tx --type=signature [sig1_base64],[sig2_base64...] - -``` -zetacored query tx --type=[hash|acc_seq|signature] [hash|acc_seq|signature] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for tx - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) - --type string The type to be used when querying tx, can be one of "hash", "acc_seq", "signature" -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_query_txs.md b/src/pages/architecture/zetacored/zetacored_query_txs.md deleted file mode 100644 index d004bb1b..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_txs.md +++ /dev/null @@ -1,46 +0,0 @@ -# query txs - -Query for paginated transactions that match a set of events - -### Synopsis - -Search for transactions that match the exact given events where results are paginated. -Each event takes the form of '{eventType}.{eventAttribute}={value}'. Please refer -to each module's documentation for the full set of events to query for. Each module -documents its respective events under 'xx_events.md'. - -Example: -$ zetacored query txs --events 'message.sender=cosmos1...&message.action=withdraw_delegator_reward' --page 1 --limit 30 - -``` -zetacored query txs [flags] -``` - -### Options - -``` - --events string list of transaction events in the form of {eventType}.{eventAttribute}={value} - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for txs - --limit int Query number of transactions results per page returned (default 100) - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) - --page int Query a specific page of paginated results (default 1) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_query_upgrade.md b/src/pages/architecture/zetacored/zetacored_query_upgrade.md deleted file mode 100644 index ec54fb0a..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_upgrade.md +++ /dev/null @@ -1,27 +0,0 @@ -# query upgrade - -Querying commands for the upgrade module - -### Options - -``` - -h, --help help for upgrade -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query](zetacored_query.md) - Querying subcommands -* [zetacored query upgrade applied](zetacored_query_upgrade_applied.md) - block header for height at which a completed upgrade was applied -* [zetacored query upgrade module_versions](zetacored_query_upgrade_module_versions.md) - get the list of module versions -* [zetacored query upgrade plan](zetacored_query_upgrade_plan.md) - get upgrade plan (if one exists) - diff --git a/src/pages/architecture/zetacored/zetacored_query_upgrade_applied.md b/src/pages/architecture/zetacored/zetacored_query_upgrade_applied.md deleted file mode 100644 index caa94c57..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_upgrade_applied.md +++ /dev/null @@ -1,38 +0,0 @@ -# query upgrade applied - -block header for height at which a completed upgrade was applied - -### Synopsis - -If upgrade-name was previously executed on the chain, this returns the header for the block at which it was applied. -This helps a client determine which binary was valid over a given range of blocks, as well as more context to understand past migrations. - -``` -zetacored query upgrade applied [upgrade-name] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for applied - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query upgrade](zetacored_query_upgrade.md) - Querying commands for the upgrade module - diff --git a/src/pages/architecture/zetacored/zetacored_query_upgrade_module_versions.md b/src/pages/architecture/zetacored/zetacored_query_upgrade_module_versions.md deleted file mode 100644 index 97f936b5..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_upgrade_module_versions.md +++ /dev/null @@ -1,39 +0,0 @@ -# query upgrade module_versions - -get the list of module versions - -### Synopsis - -Gets a list of module names and their respective consensus versions. -Following the command with a specific module name will return only -that module's information. - -``` -zetacored query upgrade module_versions [optional module_name] [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for module_versions - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query upgrade](zetacored_query_upgrade.md) - Querying commands for the upgrade module - diff --git a/src/pages/architecture/zetacored/zetacored_query_upgrade_plan.md b/src/pages/architecture/zetacored/zetacored_query_upgrade_plan.md deleted file mode 100644 index 8176eb43..00000000 --- a/src/pages/architecture/zetacored/zetacored_query_upgrade_plan.md +++ /dev/null @@ -1,37 +0,0 @@ -# query upgrade plan - -get upgrade plan (if one exists) - -### Synopsis - -Gets the currently scheduled upgrade plan, if one exists - -``` -zetacored query upgrade plan [flags] -``` - -### Options - -``` - --grpc-addr string the gRPC endpoint to use for this chain - --grpc-insecure allow gRPC over insecure channels, if not TLS the server must use TLS - --height int Use a specific height to query state at (this can error if the node is pruning state) - -h, --help help for plan - --node string [host]:[port] to Tendermint RPC interface for this chain - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored query upgrade](zetacored_query_upgrade.md) - Querying commands for the upgrade module - diff --git a/src/pages/architecture/zetacored/zetacored_rollback.md b/src/pages/architecture/zetacored/zetacored_rollback.md deleted file mode 100644 index 76e5ec55..00000000 --- a/src/pages/architecture/zetacored/zetacored_rollback.md +++ /dev/null @@ -1,38 +0,0 @@ -# rollback - -rollback cosmos-sdk and tendermint state by one height - -### Synopsis - - -A state rollback is performed to recover from an incorrect application state transition, -when Tendermint has persisted an incorrect app hash and is thus unable to make -progress. Rollback overwrites a state at height n with the state at height n - 1. -The application also rolls back to height n - 1. No blocks are removed, so upon -restarting Tendermint the transactions in block n will be re-executed against the -application. - - -``` -zetacored rollback [flags] -``` - -### Options - -``` - -h, --help help for rollback - --home string The application home directory -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_rosetta.md b/src/pages/architecture/zetacored/zetacored_rosetta.md deleted file mode 100644 index 3ff2cbd7..00000000 --- a/src/pages/architecture/zetacored/zetacored_rosetta.md +++ /dev/null @@ -1,38 +0,0 @@ -# rosetta - -spin up a rosetta server - -``` -zetacored rosetta [flags] -``` - -### Options - -``` - --addr string the address rosetta will bind to - --blockchain string the blockchain type - --denom-to-suggest string default denom for fee suggestion - --enable-fee-suggestion enable default fee suggestion - --gas-to-suggest int default gas for fee suggestion (default 200000) - --grpc string the app gRPC endpoint - -h, --help help for rosetta - --network string the network name - --offline run rosetta only with construction API - --prices-to-suggest string default prices for fee suggestion - --retries int the number of retries that will be done before quitting (default 5) - --tendermint string the tendermint rpc endpoint, without tcp:// -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_snapshots.md b/src/pages/architecture/zetacored/zetacored_snapshots.md deleted file mode 100644 index e75ca720..00000000 --- a/src/pages/architecture/zetacored/zetacored_snapshots.md +++ /dev/null @@ -1,29 +0,0 @@ -# snapshots - -Manage local snapshots - -### Options - -``` - -h, --help help for snapshots -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) -* [zetacored snapshots delete](zetacored_snapshots_delete.md) - Delete a local snapshot -* [zetacored snapshots dump](zetacored_snapshots_dump.md) - Dump the snapshot as portable archive format -* [zetacored snapshots export](zetacored_snapshots_export.md) - Export app state to snapshot store -* [zetacored snapshots list](zetacored_snapshots_list.md) - List local snapshots -* [zetacored snapshots load](zetacored_snapshots_load.md) - Load a snapshot archive file (.tar.gz) into snapshot store -* [zetacored snapshots restore](zetacored_snapshots_restore.md) - Restore app state from local snapshot - diff --git a/src/pages/architecture/zetacored/zetacored_snapshots_delete.md b/src/pages/architecture/zetacored/zetacored_snapshots_delete.md deleted file mode 100644 index 1fdd8cc1..00000000 --- a/src/pages/architecture/zetacored/zetacored_snapshots_delete.md +++ /dev/null @@ -1,27 +0,0 @@ -# snapshots delete - -Delete a local snapshot - -``` -zetacored snapshots delete [height] [format] [flags] -``` - -### Options - -``` - -h, --help help for delete -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored snapshots](zetacored_snapshots.md) - Manage local snapshots - diff --git a/src/pages/architecture/zetacored/zetacored_snapshots_dump.md b/src/pages/architecture/zetacored/zetacored_snapshots_dump.md deleted file mode 100644 index 8cca605a..00000000 --- a/src/pages/architecture/zetacored/zetacored_snapshots_dump.md +++ /dev/null @@ -1,28 +0,0 @@ -# snapshots dump - -Dump the snapshot as portable archive format - -``` -zetacored snapshots dump [height] [format] [flags] -``` - -### Options - -``` - -h, --help help for dump - -o, --output string output file -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored snapshots](zetacored_snapshots.md) - Manage local snapshots - diff --git a/src/pages/architecture/zetacored/zetacored_snapshots_export.md b/src/pages/architecture/zetacored/zetacored_snapshots_export.md deleted file mode 100644 index e331f1c9..00000000 --- a/src/pages/architecture/zetacored/zetacored_snapshots_export.md +++ /dev/null @@ -1,28 +0,0 @@ -# snapshots export - -Export app state to snapshot store - -``` -zetacored snapshots export [flags] -``` - -### Options - -``` - --height int Height to export, default to latest state height - -h, --help help for export -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored snapshots](zetacored_snapshots.md) - Manage local snapshots - diff --git a/src/pages/architecture/zetacored/zetacored_snapshots_list.md b/src/pages/architecture/zetacored/zetacored_snapshots_list.md deleted file mode 100644 index dceabbe0..00000000 --- a/src/pages/architecture/zetacored/zetacored_snapshots_list.md +++ /dev/null @@ -1,27 +0,0 @@ -# snapshots list - -List local snapshots - -``` -zetacored snapshots list [flags] -``` - -### Options - -``` - -h, --help help for list -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored snapshots](zetacored_snapshots.md) - Manage local snapshots - diff --git a/src/pages/architecture/zetacored/zetacored_snapshots_load.md b/src/pages/architecture/zetacored/zetacored_snapshots_load.md deleted file mode 100644 index c1dd66e5..00000000 --- a/src/pages/architecture/zetacored/zetacored_snapshots_load.md +++ /dev/null @@ -1,27 +0,0 @@ -# snapshots load - -Load a snapshot archive file (.tar.gz) into snapshot store - -``` -zetacored snapshots load [archive-file] [flags] -``` - -### Options - -``` - -h, --help help for load -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored snapshots](zetacored_snapshots.md) - Manage local snapshots - diff --git a/src/pages/architecture/zetacored/zetacored_snapshots_restore.md b/src/pages/architecture/zetacored/zetacored_snapshots_restore.md deleted file mode 100644 index 03502fe8..00000000 --- a/src/pages/architecture/zetacored/zetacored_snapshots_restore.md +++ /dev/null @@ -1,31 +0,0 @@ -# snapshots restore - -Restore app state from local snapshot - -### Synopsis - -Restore app state from local snapshot - -``` -zetacored snapshots restore [height] [format] [flags] -``` - -### Options - -``` - -h, --help help for restore -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored snapshots](zetacored_snapshots.md) - Manage local snapshots - diff --git a/src/pages/architecture/zetacored/zetacored_start.md b/src/pages/architecture/zetacored/zetacored_start.md deleted file mode 100644 index e4694111..00000000 --- a/src/pages/architecture/zetacored/zetacored_start.md +++ /dev/null @@ -1,122 +0,0 @@ -# start - -Run the full node - -### Synopsis - -Run the full node application with Tendermint in or out of process. By -default, the application will run with Tendermint in process. - -Pruning options can be provided via the '--pruning' flag or alternatively with '--pruning-keep-recent', -'pruning-keep-every', and 'pruning-interval' together. - -For '--pruning' the options are as follows: - -default: the last 100 states are kept in addition to every 500th state; pruning at 10 block intervals -nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node) -everything: all saved states will be deleted, storing only the current state; pruning at 10 block intervals -custom: allow pruning options to be manually specified through 'pruning-keep-recent', 'pruning-keep-every', and 'pruning-interval' - -Node halting configurations exist in the form of two flags: '--halt-height' and '--halt-time'. During -the ABCI Commit phase, the node will check if the current block height is greater than or equal to -the halt-height or if the current block time is greater than or equal to the halt-time. If so, the -node will attempt to gracefully shutdown and the block will not be committed. In addition, the node -will not be able to commit subsequent blocks. - -For profiling and benchmarking purposes, CPU profiling can be enabled via the '--cpu-profile' flag -which accepts a path for the resulting pprof file. - - -``` -zetacored start [flags] -``` - -### Options - -``` - --abci string specify abci transport (socket | grpc) - --address string Listen address - --api.enable Defines if Cosmos-sdk REST server should be enabled - --api.enabled-unsafe-cors Defines if CORS should be enabled (unsafe - use it at your own risk) - --app-db-backend string The type of database for application and snapshots databases - --consensus.create_empty_blocks set this to false to only produce blocks when there are txs or when the AppHash changes (default true) - --consensus.create_empty_blocks_interval string the possible interval between empty blocks - --consensus.double_sign_check_height int how many blocks to look back to check existence of the node's consensus votes before joining consensus - --cpu-profile string Enable CPU profiling and write to the provided file - --db_backend string database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb - --db_dir string database directory - --evm.max-tx-gas-wanted uint the gas wanted for each eth tx returned in ante handler in check tx mode - --evm.tracer string the EVM tracer type to collect execution traces from the EVM transaction execution (json|struct|access_list|markdown) - --fast_sync fast blockchain syncing (default true) - --genesis_hash bytesHex optional SHA-256 hash of the genesis file - --grpc-only Start the node in gRPC query only mode without Tendermint process - --grpc-web.address string The gRPC-Web server address to listen on - --grpc-web.enable Define if the gRPC-Web server should be enabled. (Note: gRPC must also be enabled.) (default true) - --grpc.address string the gRPC server address to listen on - --grpc.enable Define if the gRPC server should be enabled (default true) - --halt-height uint Block height at which to gracefully halt the chain and shutdown the node - --halt-time uint Minimum block time (in Unix seconds) at which to gracefully halt the chain and shutdown the node - -h, --help help for start - --home string The application home directory - --inter-block-cache Enable inter-block caching (default true) - --inv-check-period uint Assert registered invariants every N blocks - --json-rpc.address string the JSON-RPC server address to listen on - --json-rpc.allow-unprotected-txs Allow for unprotected (non EIP155 signed) transactions to be submitted via the node's RPC when the global parameter is disabled - --json-rpc.api strings Defines a list of JSON-RPC namespaces that should be enabled (default [eth,net,web3]) - --json-rpc.block-range-cap eth_getLogs Sets the max block range allowed for eth_getLogs query (default 10000) - --json-rpc.enable Define if the JSON-RPC server should be enabled (default true) - --json-rpc.enable-indexer Enable the custom tx indexer for json-rpc - --json-rpc.evm-timeout duration Sets a timeout used for eth_call (0=infinite) (default 5s) - --json-rpc.filter-cap int32 Sets the global cap for total number of filters that can be created (default 200) - --json-rpc.gas-cap uint Sets a cap on gas that can be used in eth_call/estimateGas unit is aphoton (0=infinite) (default 25000000) - --json-rpc.http-idle-timeout duration Sets a idle timeout for json-rpc http server (0=infinite) (default 2m0s) - --json-rpc.http-timeout duration Sets a read/write timeout for json-rpc http server (0=infinite) (default 30s) - --json-rpc.logs-cap eth_getLogs Sets the max number of results can be returned from single eth_getLogs query (default 10000) - --json-rpc.max-open-connections int Sets the maximum number of simultaneous connections for the server listener - --json-rpc.txfee-cap float Sets a cap on transaction fee that can be sent via the RPC APIs (1 = default 1 photon) (default 1) - --json-rpc.ws-address string the JSON-RPC WS server address to listen on - --metrics Define if EVM rpc metrics server should be enabled - --min-retain-blocks uint Minimum block height offset during ABCI commit to prune Tendermint blocks - --minimum-gas-prices string Minimum gas prices to accept for transactions; Any fee in a tx must meet this minimum (e.g. 0.01photon;0.0001stake) - --moniker string node name - --p2p.external-address string ip:port address to advertise to peers for them to dial - --p2p.laddr string node listen address. (0.0.0.0:0 means any interface, any port) - --p2p.persistent_peers string comma-delimited ID@host:port persistent peers - --p2p.pex enable/disable Peer-Exchange (default true) - --p2p.private_peer_ids string comma-delimited private peer IDs - --p2p.seed_mode enable/disable seed mode - --p2p.seeds string comma-delimited ID@host:port seed nodes - --p2p.unconditional_peer_ids string comma-delimited IDs of unconditional peers - --p2p.upnp enable/disable UPNP port forwarding - --priv_validator_laddr string socket address to listen on for connections from external priv_validator process - --proxy_app string proxy app address, or one of: 'kvstore', 'persistent_kvstore', 'counter', 'e2e' or 'noop' for local testing. - --pruning string Pruning strategy (default|nothing|everything|custom) - --pruning-interval uint Height interval at which pruned heights are removed from disk (ignored if pruning is not 'custom') - --pruning-keep-recent uint Number of recent heights to keep on disk (ignored if pruning is not 'custom') - --rpc.grpc_laddr string GRPC listen address (BroadcastTx only). Port required - --rpc.laddr string RPC listen address. Port required - --rpc.pprof_laddr string pprof listen address (https://golang.org/pkg/net/http/pprof) - --rpc.unsafe enabled unsafe rpc methods - --state-sync.snapshot-interval uint State sync snapshot interval - --state-sync.snapshot-keep-recent uint32 State sync snapshot to keep (default 2) - --tls.certificate-path string the cert.pem file path for the server TLS configuration - --tls.key-path string the key.pem file path for the server TLS configuration - --trace Provide full stack traces for errors in ABCI Log - --trace-store string Enable KVStore tracing to an output file - --transport string Transport protocol: socket, grpc - --unsafe-skip-upgrades ints Skip a set of upgrade heights to continue the old binary - --with-tendermint Run abci app embedded in-process with tendermint (default true) - --x-crisis-skip-assert-invariants Skip x/crisis invariants check on startup -``` - -### Options inherited from parent commands - -``` - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_status.md b/src/pages/architecture/zetacored/zetacored_status.md deleted file mode 100644 index 3c0c262a..00000000 --- a/src/pages/architecture/zetacored/zetacored_status.md +++ /dev/null @@ -1,28 +0,0 @@ -# status - -Query remote node for status - -``` -zetacored status [flags] -``` - -### Options - -``` - -h, --help help for status - -n, --node string Node to connect to -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_tendermint.md b/src/pages/architecture/zetacored/zetacored_tendermint.md deleted file mode 100644 index fe715dbd..00000000 --- a/src/pages/architecture/zetacored/zetacored_tendermint.md +++ /dev/null @@ -1,29 +0,0 @@ -# tendermint - -Tendermint subcommands - -### Options - -``` - -h, --help help for tendermint -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) -* [zetacored tendermint reset-state](zetacored_tendermint_reset-state.md) - Remove all the data and WAL -* [zetacored tendermint show-address](zetacored_tendermint_show-address.md) - Shows this node's tendermint validator consensus address -* [zetacored tendermint show-node-id](zetacored_tendermint_show-node-id.md) - Show this node's ID -* [zetacored tendermint show-validator](zetacored_tendermint_show-validator.md) - Show this node's tendermint validator info -* [zetacored tendermint unsafe-reset-all](zetacored_tendermint_unsafe-reset-all.md) - (unsafe) Remove all the data and WAL, reset this node's validator to genesis state -* [zetacored tendermint version](zetacored_tendermint_version.md) - Print tendermint libraries' version - diff --git a/src/pages/architecture/zetacored/zetacored_tendermint_reset-state.md b/src/pages/architecture/zetacored/zetacored_tendermint_reset-state.md deleted file mode 100644 index ea946802..00000000 --- a/src/pages/architecture/zetacored/zetacored_tendermint_reset-state.md +++ /dev/null @@ -1,27 +0,0 @@ -# tendermint reset-state - -Remove all the data and WAL - -``` -zetacored tendermint reset-state [flags] -``` - -### Options - -``` - -h, --help help for reset-state -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tendermint](zetacored_tendermint.md) - Tendermint subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tendermint_show-address.md b/src/pages/architecture/zetacored/zetacored_tendermint_show-address.md deleted file mode 100644 index 9caed7da..00000000 --- a/src/pages/architecture/zetacored/zetacored_tendermint_show-address.md +++ /dev/null @@ -1,27 +0,0 @@ -# tendermint show-address - -Shows this node's tendermint validator consensus address - -``` -zetacored tendermint show-address [flags] -``` - -### Options - -``` - -h, --help help for show-address -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tendermint](zetacored_tendermint.md) - Tendermint subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tendermint_show-node-id.md b/src/pages/architecture/zetacored/zetacored_tendermint_show-node-id.md deleted file mode 100644 index e4155258..00000000 --- a/src/pages/architecture/zetacored/zetacored_tendermint_show-node-id.md +++ /dev/null @@ -1,27 +0,0 @@ -# tendermint show-node-id - -Show this node's ID - -``` -zetacored tendermint show-node-id [flags] -``` - -### Options - -``` - -h, --help help for show-node-id -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tendermint](zetacored_tendermint.md) - Tendermint subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tendermint_show-validator.md b/src/pages/architecture/zetacored/zetacored_tendermint_show-validator.md deleted file mode 100644 index adde101d..00000000 --- a/src/pages/architecture/zetacored/zetacored_tendermint_show-validator.md +++ /dev/null @@ -1,27 +0,0 @@ -# tendermint show-validator - -Show this node's tendermint validator info - -``` -zetacored tendermint show-validator [flags] -``` - -### Options - -``` - -h, --help help for show-validator -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tendermint](zetacored_tendermint.md) - Tendermint subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tendermint_unsafe-reset-all.md b/src/pages/architecture/zetacored/zetacored_tendermint_unsafe-reset-all.md deleted file mode 100644 index 7447c462..00000000 --- a/src/pages/architecture/zetacored/zetacored_tendermint_unsafe-reset-all.md +++ /dev/null @@ -1,28 +0,0 @@ -# tendermint unsafe-reset-all - -(unsafe) Remove all the data and WAL, reset this node's validator to genesis state - -``` -zetacored tendermint unsafe-reset-all [flags] -``` - -### Options - -``` - -h, --help help for unsafe-reset-all - --keep-addr-book keep the address book intact -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tendermint](zetacored_tendermint.md) - Tendermint subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tendermint_version.md b/src/pages/architecture/zetacored/zetacored_tendermint_version.md deleted file mode 100644 index 93e660df..00000000 --- a/src/pages/architecture/zetacored/zetacored_tendermint_version.md +++ /dev/null @@ -1,31 +0,0 @@ -# tendermint version - -Print tendermint libraries' version - -### Synopsis - -Print protocols' and libraries' version numbers against which this app has been compiled. - -``` -zetacored tendermint version [flags] -``` - -### Options - -``` - -h, --help help for version -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tendermint](zetacored_tendermint.md) - Tendermint subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_testnet.md b/src/pages/architecture/zetacored/zetacored_testnet.md deleted file mode 100644 index f6c0ffc8..00000000 --- a/src/pages/architecture/zetacored/zetacored_testnet.md +++ /dev/null @@ -1,29 +0,0 @@ -# testnet - -subcommands for starting or configuring local testnets - -``` -zetacored testnet [flags] -``` - -### Options - -``` - -h, --help help for testnet -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) -* [zetacored testnet init-files](zetacored_testnet_init-files.md) - Initialize config directories & files for a multi-validator testnet running locally via separate processes (e.g. Docker Compose or similar) -* [zetacored testnet start](zetacored_testnet_start.md) - Launch an in-process multi-validator testnet - diff --git a/src/pages/architecture/zetacored/zetacored_testnet_init-files.md b/src/pages/architecture/zetacored/zetacored_testnet_init-files.md deleted file mode 100644 index e1a94a7e..00000000 --- a/src/pages/architecture/zetacored/zetacored_testnet_init-files.md +++ /dev/null @@ -1,50 +0,0 @@ -# testnet init-files - -Initialize config directories & files for a multi-validator testnet running locally via separate processes (e.g. Docker Compose or similar) - -### Synopsis - -init-files will setup "v" number of directories and populate each with -necessary files (private validator, genesis, config, etc.) for running "v" validator nodes. - -Booting up a network with these validator folders is intended to be used with Docker Compose, -or a similar setup where each node has a manually configurable IP address. - -Note, strict routability for addresses is turned off in the config file. - -Example: - evmosd testnet init-files --v 4 --output-dir ./.testnets --starting-ip-address 192.168.10.2 - - -``` -zetacored testnet init-files [flags] -``` - -### Options - -``` - --algo string Key signing algorithm to generate keys for - --chain-id string genesis file chain-id, if left blank will be randomly created - -h, --help help for init-files - --keyring-backend string Select keyring's backend (os|file|test) - --minimum-gas-prices string Minimum gas prices to accept for transactions; All fees in a tx must meet this minimum (e.g. 0.01photino,0.001stake) - --node-daemon-home string Home directory of the node's daemon configuration - --node-dir-prefix string Prefix the directory name for each node with (node results in node0, node1, ...) - -o, --output-dir string Directory to store initialization data for the testnet - --starting-ip-address string Starting IP address (192.168.0.1 results in persistent peers list ID0@192.168.0.1:46656, ID1@192.168.0.2:46656, ...) - --v int Number of validators to initialize the testnet with (default 4) -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored testnet](zetacored_testnet.md) - subcommands for starting or configuring local testnets - diff --git a/src/pages/architecture/zetacored/zetacored_testnet_start.md b/src/pages/architecture/zetacored/zetacored_testnet_start.md deleted file mode 100644 index 5098b976..00000000 --- a/src/pages/architecture/zetacored/zetacored_testnet_start.md +++ /dev/null @@ -1,48 +0,0 @@ -# testnet start - -Launch an in-process multi-validator testnet - -### Synopsis - -testnet will launch an in-process multi-validator testnet, -and generate "v" directories, populated with necessary validator configuration files -(private validator, genesis, config, etc.). - -Example: - evmosd testnet --v 4 --output-dir ./.testnets - - -``` -zetacored testnet start [flags] -``` - -### Options - -``` - --algo string Key signing algorithm to generate keys for - --api.address string the address to listen on for REST API - --chain-id string genesis file chain-id, if left blank will be randomly created - --enable-logging Enable INFO logging of tendermint validator nodes - --grpc.address string the gRPC server address to listen on - -h, --help help for start - --json-rpc.address string the JSON-RPC server address to listen on - --minimum-gas-prices string Minimum gas prices to accept for transactions; All fees in a tx must meet this minimum (e.g. 0.01photino,0.001stake) - -o, --output-dir string Directory to store initialization data for the testnet - --print-mnemonic print mnemonic of first validator to stdout for manual testing (default true) - --rpc.address string the RPC address to listen on - --v int Number of validators to initialize the testnet with (default 4) -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored testnet](zetacored_testnet.md) - subcommands for starting or configuring local testnets - diff --git a/src/pages/architecture/zetacored/zetacored_tx.md b/src/pages/architecture/zetacored/zetacored_tx.md deleted file mode 100644 index 2d8b1343..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx.md +++ /dev/null @@ -1,51 +0,0 @@ -# tx - -Transactions subcommands - -``` -zetacored tx [flags] -``` - -### Options - -``` - --chain-id string The network chain ID - -h, --help help for tx -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) -* [zetacored tx authz](zetacored_tx_authz.md) - Authorization transactions subcommands -* [zetacored tx bank](zetacored_tx_bank.md) - Bank transaction subcommands -* [zetacored tx broadcast](zetacored_tx_broadcast.md) - Broadcast transactions generated offline -* [zetacored tx crisis](zetacored_tx_crisis.md) - Crisis transactions subcommands -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands -* [zetacored tx decode](zetacored_tx_decode.md) - Decode a binary encoded transaction string -* [zetacored tx distribution](zetacored_tx_distribution.md) - Distribution transactions subcommands -* [zetacored tx emissions](zetacored_tx_emissions.md) - emissions transactions subcommands -* [zetacored tx encode](zetacored_tx_encode.md) - Encode transactions generated offline -* [zetacored tx evidence](zetacored_tx_evidence.md) - Evidence transaction subcommands -* [zetacored tx evm](zetacored_tx_evm.md) - evm transactions subcommands -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands -* [zetacored tx gov](zetacored_tx_gov.md) - Governance transactions subcommands -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands -* [zetacored tx multi-sign](zetacored_tx_multi-sign.md) - Generate multisig signatures for transactions generated offline -* [zetacored tx multisign-batch](zetacored_tx_multisign-batch.md) - Assemble multisig transactions in batch from batch signatures -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands -* [zetacored tx sign](zetacored_tx_sign.md) - Sign a transaction generated offline -* [zetacored tx sign-batch](zetacored_tx_sign-batch.md) - Sign transaction batch files -* [zetacored tx slashing](zetacored_tx_slashing.md) - Slashing transaction subcommands -* [zetacored tx staking](zetacored_tx_staking.md) - Staking transaction subcommands -* [zetacored tx validate-signatures](zetacored_tx_validate-signatures.md) - validate transactions signatures -* [zetacored tx vesting](zetacored_tx_vesting.md) - Vesting transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_authz.md b/src/pages/architecture/zetacored/zetacored_tx_authz.md deleted file mode 100644 index 17e48690..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_authz.md +++ /dev/null @@ -1,35 +0,0 @@ -# tx authz - -Authorization transactions subcommands - -### Synopsis - -Authorize and revoke access to execute transactions on behalf of your address - -``` -zetacored tx authz [flags] -``` - -### Options - -``` - -h, --help help for authz -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx authz exec](zetacored_tx_authz_exec.md) - execute tx on behalf of granter account -* [zetacored tx authz grant](zetacored_tx_authz_grant.md) - Grant authorization to an address -* [zetacored tx authz revoke](zetacored_tx_authz_revoke.md) - revoke authorization - diff --git a/src/pages/architecture/zetacored/zetacored_tx_authz_exec.md b/src/pages/architecture/zetacored/zetacored_tx_authz_exec.md deleted file mode 100644 index b9f29172..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_authz_exec.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx authz exec - -execute tx on behalf of granter account - -### Synopsis - -execute tx on behalf of granter account: -Example: - $ zetacored tx authz exec tx.json --from grantee - $ zetacored tx bank send [granter] [recipient] --from [granter] --chain-id [chain-id] --generate-only > tx.json && zetacored tx authz exec tx.json --from grantee - -``` -zetacored tx authz exec [tx-json-file] --from [grantee] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for exec - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx authz](zetacored_tx_authz.md) - Authorization transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_authz_grant.md b/src/pages/architecture/zetacored/zetacored_tx_authz_grant.md deleted file mode 100644 index 7ce03835..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_authz_grant.md +++ /dev/null @@ -1,65 +0,0 @@ -# tx authz grant - -Grant authorization to an address - -### Synopsis - -create a new grant authorization to an address to execute a transaction on your behalf: - -Examples: - $ zetacored tx authz grant cosmos1skjw.. send /cosmos.bank.v1beta1.MsgSend --spend-limit=1000stake --from=cosmos1skl.. - $ zetacored tx authz grant cosmos1skjw.. generic --msg-type=/cosmos.gov.v1.MsgVote --from=cosmos1sk.. - -``` -zetacored tx authz grant [grantee] [authorization_type="send"|"generic"|"delegate"|"unbond"|"redelegate"] --from [granter] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --allowed-validators strings Allowed validators addresses separated by , - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --deny-validators strings Deny validators addresses separated by , - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --expiration int Expire time as Unix timestamp. Set zero (0) for no expiry. Default is 0. - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for grant - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --msg-type string The Msg method name for which we are creating a GenericAuthorization - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --spend-limit string SpendLimit for Send Authorization, an array of Coins allowed spend - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx authz](zetacored_tx_authz.md) - Authorization transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_authz_revoke.md b/src/pages/architecture/zetacored/zetacored_tx_authz_revoke.md deleted file mode 100644 index 243f0e80..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_authz_revoke.md +++ /dev/null @@ -1,58 +0,0 @@ -# tx authz revoke - -revoke authorization - -### Synopsis - -revoke authorization from a granter to a grantee: -Example: - $ zetacored tx authz revoke cosmos1skj.. /cosmos.bank.v1beta1.MsgSend --from=cosmos1skj.. - -``` -zetacored tx authz revoke [grantee] [msg-type-url] --from=[granter] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for revoke - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx authz](zetacored_tx_authz.md) - Authorization transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_bank.md b/src/pages/architecture/zetacored/zetacored_tx_bank.md deleted file mode 100644 index efcb9ead..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_bank.md +++ /dev/null @@ -1,30 +0,0 @@ -# tx bank - -Bank transaction subcommands - -``` -zetacored tx bank [flags] -``` - -### Options - -``` - -h, --help help for bank -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx bank multi-send](zetacored_tx_bank_multi-send.md) - Send funds from one account to two or more accounts. -* [zetacored tx bank send](zetacored_tx_bank_send.md) - Send funds from one account to another. - diff --git a/src/pages/architecture/zetacored/zetacored_tx_bank_multi-send.md b/src/pages/architecture/zetacored/zetacored_tx_bank_multi-send.md deleted file mode 100644 index c8fd491f..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_bank_multi-send.md +++ /dev/null @@ -1,62 +0,0 @@ -# tx bank multi-send - -Send funds from one account to two or more accounts. - -### Synopsis - -Send funds from one account to two or more accounts. -By default, sends the [amount] to each address of the list. -Using the '--split' flag, the [amount] is split equally between the addresses. -Note, the '--from' flag is ignored as it is implied from [from_key_or_address]. -When using '--dry-run' a key name cannot be used, only a bech32 address. - - -``` -zetacored tx bank multi-send [from_key_or_address] [to_address_1, to_address_2, ...] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for multi-send - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --split Send the equally split token amount to each address - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx bank](zetacored_tx_bank.md) - Bank transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_bank_send.md b/src/pages/architecture/zetacored/zetacored_tx_bank_send.md deleted file mode 100644 index 342846e7..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_bank_send.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx bank send - -Send funds from one account to another. - -### Synopsis - -Send funds from one account to another. -Note, the '--from' flag is ignored as it is implied from [from_key_or_address]. -When using '--dry-run' a key name cannot be used, only a bech32 address. - - -``` -zetacored tx bank send [from_key_or_address] [to_address] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for send - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx bank](zetacored_tx_bank.md) - Bank transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_broadcast.md b/src/pages/architecture/zetacored/zetacored_tx_broadcast.md deleted file mode 100644 index be08af8b..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_broadcast.md +++ /dev/null @@ -1,61 +0,0 @@ -# tx broadcast - -Broadcast transactions generated offline - -### Synopsis - -Broadcast transactions created with the --generate-only -flag and signed with the sign command. Read a transaction from [file_path] and -broadcast it to a node. If you supply a dash (-) argument in place of an input -filename, the command reads from standard input. - -$ zetacored tx broadcast ./mytxn.json - -``` -zetacored tx broadcast [file_path] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for broadcast - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crisis.md b/src/pages/architecture/zetacored/zetacored_tx_crisis.md deleted file mode 100644 index 2b168b52..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crisis.md +++ /dev/null @@ -1,29 +0,0 @@ -# tx crisis - -Crisis transactions subcommands - -``` -zetacored tx crisis [flags] -``` - -### Options - -``` - -h, --help help for crisis -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx crisis invariant-broken](zetacored_tx_crisis_invariant-broken.md) - Submit proof that an invariant broken to halt the chain - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crisis_invariant-broken.md b/src/pages/architecture/zetacored/zetacored_tx_crisis_invariant-broken.md deleted file mode 100644 index 584603ba..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crisis_invariant-broken.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crisis invariant-broken - -Submit proof that an invariant broken to halt the chain - -``` -zetacored tx crisis invariant-broken [module-name] [invariant-route] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for invariant-broken - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crisis](zetacored_tx_crisis.md) - Crisis transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain.md deleted file mode 100644 index 5e61146b..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain.md +++ /dev/null @@ -1,41 +0,0 @@ -# tx crosschain - -crosschain transactions subcommands - -``` -zetacored tx crosschain [flags] -``` - -### Options - -``` - -h, --help help for crosschain -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx crosschain abort-stuck-cctx](zetacored_tx_crosschain_abort-stuck-cctx.md) - abort a stuck CCTX -* [zetacored tx crosschain add-to-in-tx-tracker](zetacored_tx_crosschain_add-to-in-tx-tracker.md) - Add a in-tx-tracker - Use 0:Zeta,1:Gas,2:ERC20 -* [zetacored tx crosschain add-to-out-tx-tracker](zetacored_tx_crosschain_add-to-out-tx-tracker.md) - Add a out-tx-tracker -* [zetacored tx crosschain create-tss-voter](zetacored_tx_crosschain_create-tss-voter.md) - Create a new TSSVoter -* [zetacored tx crosschain gas-price-voter](zetacored_tx_crosschain_gas-price-voter.md) - Broadcast message gasPriceVoter -* [zetacored tx crosschain inbound-voter](zetacored_tx_crosschain_inbound-voter.md) - Broadcast message sendVoter -* [zetacored tx crosschain migrate-tss-funds](zetacored_tx_crosschain_migrate-tss-funds.md) - Migrate TSS funds to the latest TSS address -* [zetacored tx crosschain outbound-voter](zetacored_tx_crosschain_outbound-voter.md) - Broadcast message receiveConfirmation -* [zetacored tx crosschain refund-aborted](zetacored_tx_crosschain_refund-aborted.md) - Refund an aborted tx , the refund address is optional, if not provided, the refund will be sent to the sender/tx origin of the cctx. -* [zetacored tx crosschain remove-from-out-tx-tracker](zetacored_tx_crosschain_remove-from-out-tx-tracker.md) - Remove a out-tx-tracker -* [zetacored tx crosschain update-tss-address](zetacored_tx_crosschain_update-tss-address.md) - Create a new TSSVoter -* [zetacored tx crosschain whitelist-erc20](zetacored_tx_crosschain_whitelist-erc20.md) - Add a new erc20 token to whitelist - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_abort-stuck-cctx.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_abort-stuck-cctx.md deleted file mode 100644 index 206cda64..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_abort-stuck-cctx.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain abort-stuck-cctx - -abort a stuck CCTX - -``` -zetacored tx crosschain abort-stuck-cctx [index] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for abort-stuck-cctx - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-in-tx-tracker.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-in-tx-tracker.md deleted file mode 100644 index a78ed41f..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-in-tx-tracker.md +++ /dev/null @@ -1,53 +0,0 @@ -# tx crosschain add-to-in-tx-tracker - -Add a in-tx-tracker - Use 0:Zeta,1:Gas,2:ERC20 - -``` -zetacored tx crosschain add-to-in-tx-tracker [chain-id] [tx-hash] [coin-type] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for add-to-in-tx-tracker - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-out-tx-tracker.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-out-tx-tracker.md deleted file mode 100644 index 1468ead0..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_add-to-out-tx-tracker.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain add-to-out-tx-tracker - -Add a out-tx-tracker - -``` -zetacored tx crosschain add-to-out-tx-tracker [chain] [nonce] [tx-hash] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for add-to-out-tx-tracker - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_create-tss-voter.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_create-tss-voter.md deleted file mode 100644 index b6932a3c..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_create-tss-voter.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain create-tss-voter - -Create a new TSSVoter - -``` -zetacored tx crosschain create-tss-voter [pubkey] [keygenBlock] [status] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for create-tss-voter - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_gas-price-voter.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_gas-price-voter.md deleted file mode 100644 index e3804f96..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_gas-price-voter.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain gas-price-voter - -Broadcast message gasPriceVoter - -``` -zetacored tx crosschain gas-price-voter [chain] [price] [supply] [blockNumber] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for gas-price-voter - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_inbound-voter.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_inbound-voter.md deleted file mode 100644 index cfa72e72..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_inbound-voter.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain inbound-voter - -Broadcast message sendVoter - -``` -zetacored tx crosschain inbound-voter [sender] [senderChainID] [txOrigin] [receiver] [receiverChainID] [amount] [message] [inTxHash] [inBlockHeight] [coinType] [asset] [eventIndex] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for inbound-voter - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_migrate-tss-funds.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_migrate-tss-funds.md deleted file mode 100644 index 4942cc91..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_migrate-tss-funds.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain migrate-tss-funds - -Migrate TSS funds to the latest TSS address - -``` -zetacored tx crosschain migrate-tss-funds [chainID] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for migrate-tss-funds - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_outbound-voter.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_outbound-voter.md deleted file mode 100644 index e48b29d4..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_outbound-voter.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain outbound-voter - -Broadcast message receiveConfirmation - -``` -zetacored tx crosschain outbound-voter [sendHash] [outTxHash] [outBlockHeight] [outGasUsed] [outEffectiveGasPrice] [outEffectiveGasLimit] [valueReceived] [Status] [chain] [outTXNonce] [coinType] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for outbound-voter - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_refund-aborted.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_refund-aborted.md deleted file mode 100644 index 515d85dc..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_refund-aborted.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain refund-aborted - -Refund an aborted tx , the refund address is optional, if not provided, the refund will be sent to the sender/tx origin of the cctx. - -``` -zetacored tx crosschain refund-aborted [cctx-index] [refund-address] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for refund-aborted - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_remove-from-out-tx-tracker.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_remove-from-out-tx-tracker.md deleted file mode 100644 index 8b16d994..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_remove-from-out-tx-tracker.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain remove-from-out-tx-tracker - -Remove a out-tx-tracker - -``` -zetacored tx crosschain remove-from-out-tx-tracker [chain] [nonce] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for remove-from-out-tx-tracker - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_update-tss-address.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_update-tss-address.md deleted file mode 100644 index 9825c4f4..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_update-tss-address.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain update-tss-address - -Create a new TSSVoter - -``` -zetacored tx crosschain update-tss-address [pubkey] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-tss-address - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_crosschain_whitelist-erc20.md b/src/pages/architecture/zetacored/zetacored_tx_crosschain_whitelist-erc20.md deleted file mode 100644 index 0c4da0b9..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_crosschain_whitelist-erc20.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx crosschain whitelist-erc20 - -Add a new erc20 token to whitelist - -``` -zetacored tx crosschain whitelist-erc20 [erc20Address] [chainID] [name] [symbol] [decimals] [gasLimit] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for whitelist-erc20 - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx crosschain](zetacored_tx_crosschain.md) - crosschain transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_decode.md b/src/pages/architecture/zetacored/zetacored_tx_decode.md deleted file mode 100644 index f56c07eb..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_decode.md +++ /dev/null @@ -1,53 +0,0 @@ -# tx decode - -Decode a binary encoded transaction string - -``` -zetacored tx decode [protobuf-byte-string] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for decode - -x, --hex Treat input as hexadecimal instead of base64 - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_distribution.md b/src/pages/architecture/zetacored/zetacored_tx_distribution.md deleted file mode 100644 index 24ba4940..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_distribution.md +++ /dev/null @@ -1,32 +0,0 @@ -# tx distribution - -Distribution transactions subcommands - -``` -zetacored tx distribution [flags] -``` - -### Options - -``` - -h, --help help for distribution -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx distribution fund-community-pool](zetacored_tx_distribution_fund-community-pool.md) - Funds the community pool with the specified amount -* [zetacored tx distribution set-withdraw-addr](zetacored_tx_distribution_set-withdraw-addr.md) - change the default withdraw address for rewards associated with an address -* [zetacored tx distribution withdraw-all-rewards](zetacored_tx_distribution_withdraw-all-rewards.md) - withdraw all delegations rewards for a delegator -* [zetacored tx distribution withdraw-rewards](zetacored_tx_distribution_withdraw-rewards.md) - Withdraw rewards from a given delegation address, and optionally withdraw validator commission if the delegation address given is a validator operator - diff --git a/src/pages/architecture/zetacored/zetacored_tx_distribution_fund-community-pool.md b/src/pages/architecture/zetacored/zetacored_tx_distribution_fund-community-pool.md deleted file mode 100644 index d1f8f5b9..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_distribution_fund-community-pool.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx distribution fund-community-pool - -Funds the community pool with the specified amount - -### Synopsis - -Funds the community pool with the specified amount - -Example: -$ zetacored tx distribution fund-community-pool 100uatom --from mykey - -``` -zetacored tx distribution fund-community-pool [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for fund-community-pool - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx distribution](zetacored_tx_distribution.md) - Distribution transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_distribution_set-withdraw-addr.md b/src/pages/architecture/zetacored/zetacored_tx_distribution_set-withdraw-addr.md deleted file mode 100644 index 16e42388..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_distribution_set-withdraw-addr.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx distribution set-withdraw-addr - -change the default withdraw address for rewards associated with an address - -### Synopsis - -Set the withdraw address for rewards associated with a delegator address. - -Example: -$ zetacored tx distribution set-withdraw-addr zeta1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p --from mykey - -``` -zetacored tx distribution set-withdraw-addr [withdraw-addr] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for set-withdraw-addr - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx distribution](zetacored_tx_distribution.md) - Distribution transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-all-rewards.md b/src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-all-rewards.md deleted file mode 100644 index 19532016..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-all-rewards.md +++ /dev/null @@ -1,61 +0,0 @@ -# tx distribution withdraw-all-rewards - -withdraw all delegations rewards for a delegator - -### Synopsis - -Withdraw all rewards for a single delegator. -Note that if you use this command with --broadcast-mode=sync or --broadcast-mode=async, the max-msgs flag will automatically be set to 0. - -Example: -$ zetacored tx distribution withdraw-all-rewards --from mykey - -``` -zetacored tx distribution withdraw-all-rewards [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for withdraw-all-rewards - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --max-msgs int Limit the number of messages per tx (0 for unlimited) - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx distribution](zetacored_tx_distribution.md) - Distribution transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-rewards.md b/src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-rewards.md deleted file mode 100644 index 690512f9..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_distribution_withdraw-rewards.md +++ /dev/null @@ -1,62 +0,0 @@ -# tx distribution withdraw-rewards - -Withdraw rewards from a given delegation address, and optionally withdraw validator commission if the delegation address given is a validator operator - -### Synopsis - -Withdraw rewards from a given delegation address, -and optionally withdraw validator commission if the delegation address given is a validator operator. - -Example: -$ zetacored tx distribution withdraw-rewards zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj --from mykey -$ zetacored tx distribution withdraw-rewards zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj --from mykey --commission - -``` -zetacored tx distribution withdraw-rewards [validator-addr] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --commission Withdraw the validator's commission in addition to the rewards - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for withdraw-rewards - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx distribution](zetacored_tx_distribution.md) - Distribution transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_emissions.md b/src/pages/architecture/zetacored/zetacored_tx_emissions.md deleted file mode 100644 index f782c072..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_emissions.md +++ /dev/null @@ -1,28 +0,0 @@ -# tx emissions - -emissions transactions subcommands - -``` -zetacored tx emissions [flags] -``` - -### Options - -``` - -h, --help help for emissions -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_encode.md b/src/pages/architecture/zetacored/zetacored_tx_encode.md deleted file mode 100644 index 5065aea5..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_encode.md +++ /dev/null @@ -1,58 +0,0 @@ -# tx encode - -Encode transactions generated offline - -### Synopsis - -Encode transactions created with the --generate-only flag and signed with the sign command. -Read a transaction from [file], serialize it to the Protobuf wire protocol, and output it as base64. -If you supply a dash (-) argument in place of an input filename, the command reads from standard input. - -``` -zetacored tx encode [file] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for encode - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_evidence.md b/src/pages/architecture/zetacored/zetacored_tx_evidence.md deleted file mode 100644 index e597d3af..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_evidence.md +++ /dev/null @@ -1,28 +0,0 @@ -# tx evidence - -Evidence transaction subcommands - -``` -zetacored tx evidence [flags] -``` - -### Options - -``` - -h, --help help for evidence -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_evm.md b/src/pages/architecture/zetacored/zetacored_tx_evm.md deleted file mode 100644 index a804fbeb..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_evm.md +++ /dev/null @@ -1,29 +0,0 @@ -# tx evm - -evm transactions subcommands - -``` -zetacored tx evm [flags] -``` - -### Options - -``` - -h, --help help for evm -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx evm raw](zetacored_tx_evm_raw.md) - Build cosmos transaction from raw ethereum transaction - diff --git a/src/pages/architecture/zetacored/zetacored_tx_evm_raw.md b/src/pages/architecture/zetacored/zetacored_tx_evm_raw.md deleted file mode 100644 index 554fc5ed..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_evm_raw.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx evm raw - -Build cosmos transaction from raw ethereum transaction - -``` -zetacored tx evm raw TX_HEX [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for raw - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx evm](zetacored_tx_evm.md) - evm transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible.md b/src/pages/architecture/zetacored/zetacored_tx_fungible.md deleted file mode 100644 index 9073048a..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible.md +++ /dev/null @@ -1,36 +0,0 @@ -# tx fungible - -fungible transactions subcommands - -``` -zetacored tx fungible [flags] -``` - -### Options - -``` - -h, --help help for fungible -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx fungible deploy-fungible-coin-zrc-4](zetacored_tx_fungible_deploy-fungible-coin-zrc-4.md) - Broadcast message DeployFungibleCoinZRC20 -* [zetacored tx fungible deploy-system-contracts](zetacored_tx_fungible_deploy-system-contracts.md) - Broadcast message SystemContracts -* [zetacored tx fungible remove-foreign-coin](zetacored_tx_fungible_remove-foreign-coin.md) - Broadcast message RemoveForeignCoin -* [zetacored tx fungible update-contract-bytecode](zetacored_tx_fungible_update-contract-bytecode.md) - Broadcast message UpdateContractBytecode -* [zetacored tx fungible update-system-contract](zetacored_tx_fungible_update-system-contract.md) - Broadcast message UpdateSystemContract -* [zetacored tx fungible update-zrc20-liquidity-cap](zetacored_tx_fungible_update-zrc20-liquidity-cap.md) - Broadcast message UpdateZRC20LiquidityCap -* [zetacored tx fungible update-zrc20-paused-status](zetacored_tx_fungible_update-zrc20-paused-status.md) - Broadcast message UpdateZRC20PausedStatus -* [zetacored tx fungible update-zrc20-withdraw-fee](zetacored_tx_fungible_update-zrc20-withdraw-fee.md) - Broadcast message UpdateZRC20WithdrawFee - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-fungible-coin-zrc-4.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-fungible-coin-zrc-4.md deleted file mode 100644 index efb5f50a..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-fungible-coin-zrc-4.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx fungible deploy-fungible-coin-zrc-4 - -Broadcast message DeployFungibleCoinZRC20 - -``` -zetacored tx fungible deploy-fungible-coin-zrc-4 [erc-20] [foreign-chain] [decimals] [name] [symbol] [coin-type] [gas-limit] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for deploy-fungible-coin-zrc-4 - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-system-contracts.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-system-contracts.md deleted file mode 100644 index c9acde47..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_deploy-system-contracts.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx fungible deploy-system-contracts - -Broadcast message SystemContracts - -``` -zetacored tx fungible deploy-system-contracts [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for deploy-system-contracts - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_remove-foreign-coin.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_remove-foreign-coin.md deleted file mode 100644 index 4f706ad6..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_remove-foreign-coin.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx fungible remove-foreign-coin - -Broadcast message RemoveForeignCoin - -``` -zetacored tx fungible remove-foreign-coin [name] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for remove-foreign-coin - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-contract-bytecode.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_update-contract-bytecode.md deleted file mode 100644 index bc97a583..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-contract-bytecode.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx fungible update-contract-bytecode - -Broadcast message UpdateContractBytecode - -``` -zetacored tx fungible update-contract-bytecode [contract-address] [new-code-hash] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-contract-bytecode - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-system-contract.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_update-system-contract.md deleted file mode 100644 index c9a3e163..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-system-contract.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx fungible update-system-contract - -Broadcast message UpdateSystemContract - -``` -zetacored tx fungible update-system-contract [contract-address] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-system-contract - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-liquidity-cap.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-liquidity-cap.md deleted file mode 100644 index f3d40329..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-liquidity-cap.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx fungible update-zrc20-liquidity-cap - -Broadcast message UpdateZRC20LiquidityCap - -``` -zetacored tx fungible update-zrc20-liquidity-cap [zrc20] [liquidity-cap] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-zrc20-liquidity-cap - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-paused-status.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-paused-status.md deleted file mode 100644 index 7a26d225..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-paused-status.md +++ /dev/null @@ -1,58 +0,0 @@ -# tx fungible update-zrc20-paused-status - -Broadcast message UpdateZRC20PausedStatus - -``` -zetacored tx fungible update-zrc20-paused-status [contractAddress1, contractAddress2, ...] [pausedStatus] [flags] -``` - -### Examples - -``` -zetacored tx fungible update-zrc20-paused-status "0xece40cbB54d65282c4623f141c4a8a0bE7D6AdEc, 0xece40cbB54d65282c4623f141c4a8a0bEjgksncf" 0 -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-zrc20-paused-status - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-withdraw-fee.md b/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-withdraw-fee.md deleted file mode 100644 index dc20a6d0..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_fungible_update-zrc20-withdraw-fee.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx fungible update-zrc20-withdraw-fee - -Broadcast message UpdateZRC20WithdrawFee - -``` -zetacored tx fungible update-zrc20-withdraw-fee [contractAddress] [newWithdrawFee] [newGasLimit] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-zrc20-withdraw-fee - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx fungible](zetacored_tx_fungible.md) - fungible transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov.md b/src/pages/architecture/zetacored/zetacored_tx_gov.md deleted file mode 100644 index 07e657f2..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov.md +++ /dev/null @@ -1,34 +0,0 @@ -# tx gov - -Governance transactions subcommands - -``` -zetacored tx gov [flags] -``` - -### Options - -``` - -h, --help help for gov -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx gov deposit](zetacored_tx_gov_deposit.md) - Deposit tokens for an active proposal -* [zetacored tx gov draft-proposal](zetacored_tx_gov_draft-proposal.md) - Generate a draft proposal json file. The generated proposal json contains only one message (skeleton). -* [zetacored tx gov submit-legacy-proposal](zetacored_tx_gov_submit-legacy-proposal.md) - Submit a legacy proposal along with an initial deposit -* [zetacored tx gov submit-proposal](zetacored_tx_gov_submit-proposal.md) - Submit a proposal along with some messages, metadata and deposit -* [zetacored tx gov vote](zetacored_tx_gov_vote.md) - Vote for an active proposal, options: yes/no/no_with_veto/abstain -* [zetacored tx gov weighted-vote](zetacored_tx_gov_weighted-vote.md) - Vote for an active proposal, options: yes/no/no_with_veto/abstain - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_deposit.md b/src/pages/architecture/zetacored/zetacored_tx_gov_deposit.md deleted file mode 100644 index d36702fc..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_deposit.md +++ /dev/null @@ -1,60 +0,0 @@ -# tx gov deposit - -Deposit tokens for an active proposal - -### Synopsis - -Submit a deposit for an active proposal. You can -find the proposal-id by running "zetacored query gov proposals". - -Example: -$ zetacored tx gov deposit 1 10stake --from mykey - -``` -zetacored tx gov deposit [proposal-id] [deposit] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for deposit - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov](zetacored_tx_gov.md) - Governance transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_draft-proposal.md b/src/pages/architecture/zetacored/zetacored_tx_gov_draft-proposal.md deleted file mode 100644 index 8a95f75c..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_draft-proposal.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx gov draft-proposal - -Generate a draft proposal json file. The generated proposal json contains only one message (skeleton). - -``` -zetacored tx gov draft-proposal [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for draft-proposal - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov](zetacored_tx_gov.md) - Governance transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal.md b/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal.md deleted file mode 100644 index a51c9830..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal.md +++ /dev/null @@ -1,82 +0,0 @@ -# tx gov submit-legacy-proposal - -Submit a legacy proposal along with an initial deposit - -### Synopsis - -Submit a legacy proposal along with an initial deposit. -Proposal title, description, type and deposit can be given directly or through a proposal JSON file. - -Example: -$ zetacored tx gov submit-legacy-proposal --proposal="path/to/proposal.json" --from mykey - -Where proposal.json contains: - -{ - "title": "Test Proposal", - "description": "My awesome proposal", - "type": "Text", - "deposit": "10test" -} - -Which is equivalent to: - -$ zetacored tx gov submit-legacy-proposal --title="Test Proposal" --description="My awesome proposal" --type="Text" --deposit="10test" --from mykey - -``` -zetacored tx gov submit-legacy-proposal [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --deposit string The proposal deposit - --description string The proposal description - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for submit-legacy-proposal - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --proposal string Proposal file path (if this path is given, other proposal flags are ignored) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - --title string The proposal title - --type string The proposal Type - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov](zetacored_tx_gov.md) - Governance transactions subcommands -* [zetacored tx gov submit-legacy-proposal cancel-software-upgrade](zetacored_tx_gov_submit-legacy-proposal_cancel-software-upgrade.md) - Cancel the current software upgrade proposal -* [zetacored tx gov submit-legacy-proposal community-pool-spend](zetacored_tx_gov_submit-legacy-proposal_community-pool-spend.md) - Submit a community pool spend proposal -* [zetacored tx gov submit-legacy-proposal param-change](zetacored_tx_gov_submit-legacy-proposal_param-change.md) - Submit a parameter change proposal -* [zetacored tx gov submit-legacy-proposal software-upgrade](zetacored_tx_gov_submit-legacy-proposal_software-upgrade.md) - Submit a software upgrade proposal - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_cancel-software-upgrade.md b/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_cancel-software-upgrade.md deleted file mode 100644 index 37df646f..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_cancel-software-upgrade.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx gov submit-legacy-proposal cancel-software-upgrade - -Cancel the current software upgrade proposal - -### Synopsis - -Cancel a software upgrade along with an initial deposit. - -``` -zetacored tx gov submit-legacy-proposal cancel-software-upgrade [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --deposit string deposit of proposal - --description string description of proposal - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for cancel-software-upgrade - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - --title string title of proposal - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov submit-legacy-proposal](zetacored_tx_gov_submit-legacy-proposal.md) - Submit a legacy proposal along with an initial deposit - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_community-pool-spend.md b/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_community-pool-spend.md deleted file mode 100644 index 9698694c..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_community-pool-spend.md +++ /dev/null @@ -1,70 +0,0 @@ -# tx gov submit-legacy-proposal community-pool-spend - -Submit a community pool spend proposal - -### Synopsis - -Submit a community pool spend proposal along with an initial deposit. -The proposal details must be supplied via a JSON file. - -Example: -$ zetacored tx gov submit-proposal community-pool-spend [path/to/proposal.json] --from=[key_or_address] - -Where proposal.json contains: - -{ - "title": "Community Pool Spend", - "description": "Pay me some Atoms!", - "recipient": "zeta1s5afhd6gxevu37mkqcvvsj8qeylhn0rz46zdlq", - "amount": "1000stake", - "deposit": "1000stake" -} - -``` -zetacored tx gov submit-legacy-proposal community-pool-spend [proposal-file] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for community-pool-spend - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov submit-legacy-proposal](zetacored_tx_gov_submit-legacy-proposal.md) - Submit a legacy proposal along with an initial deposit - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_param-change.md b/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_param-change.md deleted file mode 100644 index ea0d0080..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_param-change.md +++ /dev/null @@ -1,84 +0,0 @@ -# tx gov submit-legacy-proposal param-change - -Submit a parameter change proposal - -### Synopsis - -Submit a parameter proposal along with an initial deposit. -The proposal details must be supplied via a JSON file. For values that contains -objects, only non-empty fields will be updated. - -IMPORTANT: Currently parameter changes are evaluated but not validated, so it is -very important that any "value" change is valid (ie. correct type and within bounds) -for its respective parameter, eg. "MaxValidators" should be an integer and not a decimal. - -Proper vetting of a parameter change proposal should prevent this from happening -(no deposits should occur during the governance process), but it should be noted -regardless. - -Example: -$ zetacored tx gov submit-proposal param-change [path/to/proposal.json] --from=[key_or_address] - -Where proposal.json contains: - -{ - "title": "Staking Param Change", - "description": "Update max validators", - "changes": [ - { - "subspace": "staking", - "key": "MaxValidators", - "value": 105 - } - ], - "deposit": "1000stake" -} - -``` -zetacored tx gov submit-legacy-proposal param-change [proposal-file] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for param-change - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov submit-legacy-proposal](zetacored_tx_gov_submit-legacy-proposal.md) - Submit a legacy proposal along with an initial deposit - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_software-upgrade.md b/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_software-upgrade.md deleted file mode 100644 index 3102f302..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-legacy-proposal_software-upgrade.md +++ /dev/null @@ -1,65 +0,0 @@ -# tx gov submit-legacy-proposal software-upgrade - -Submit a software upgrade proposal - -### Synopsis - -Submit a software upgrade along with an initial deposit. -Please specify a unique name and height for the upgrade to take effect. -You may include info to reference a binary download link, in a format compatible with: https://github.com/cosmos/cosmos-sdk/tree/main/cosmovisor - -``` -zetacored tx gov submit-legacy-proposal software-upgrade [name] (--upgrade-height [height]) (--upgrade-info [info]) [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --daemon-name string The name of the executable being upgraded (for upgrade-info validation). Default is the DAEMON_NAME env var if set, or else this executable - --deposit string deposit of proposal - --description string description of proposal - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for software-upgrade - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --no-validate Skip validation of the upgrade info - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - --title string title of proposal - --upgrade-height int The height at which the upgrade must happen - --upgrade-info string Info for the upgrade plan such as new version download urls, etc. - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov submit-legacy-proposal](zetacored_tx_gov_submit-legacy-proposal.md) - Submit a legacy proposal along with an initial deposit - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-proposal.md b/src/pages/architecture/zetacored/zetacored_tx_gov_submit-proposal.md deleted file mode 100644 index a529531f..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_submit-proposal.md +++ /dev/null @@ -1,76 +0,0 @@ -# tx gov submit-proposal - -Submit a proposal along with some messages, metadata and deposit - -### Synopsis - -Submit a proposal along with some messages, metadata and deposit. -They should be defined in a JSON file. - -Example: -$ zetacored tx gov submit-proposal path/to/proposal.json - -Where proposal.json contains: - -{ - // array of proto-JSON-encoded sdk.Msgs - "messages": [ - { - "@type": "/cosmos.bank.v1beta1.MsgSend", - "from_address": "cosmos1...", - "to_address": "cosmos1...", - "amount":[{"denom": "stake","amount": "10"}] - } - ], - "metadata: "4pIMOgIGx1vZGU=", // base64-encoded metadata - "deposit": "10stake" -} - -``` -zetacored tx gov submit-proposal [path/to/proposal.json] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for submit-proposal - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov](zetacored_tx_gov.md) - Governance transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_vote.md b/src/pages/architecture/zetacored/zetacored_tx_gov_vote.md deleted file mode 100644 index 9e2053f8..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_vote.md +++ /dev/null @@ -1,61 +0,0 @@ -# tx gov vote - -Vote for an active proposal, options: yes/no/no_with_veto/abstain - -### Synopsis - -Submit a vote for an active proposal. You can -find the proposal-id by running "zetacored query gov proposals". - -Example: -$ zetacored tx gov vote 1 yes --from mykey - -``` -zetacored tx gov vote [proposal-id] [option] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for vote - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --metadata string Specify metadata of the vote - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov](zetacored_tx_gov.md) - Governance transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_gov_weighted-vote.md b/src/pages/architecture/zetacored/zetacored_tx_gov_weighted-vote.md deleted file mode 100644 index 061cb115..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_gov_weighted-vote.md +++ /dev/null @@ -1,61 +0,0 @@ -# tx gov weighted-vote - -Vote for an active proposal, options: yes/no/no_with_veto/abstain - -### Synopsis - -Submit a vote for an active proposal. You can -find the proposal-id by running "zetacored query gov proposals". - -Example: -$ zetacored tx gov weighted-vote 1 yes=0.6,no=0.3,abstain=0.05,no_with_veto=0.05 --from mykey - -``` -zetacored tx gov weighted-vote [proposal-id] [weighted-options] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for weighted-vote - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --metadata string Specify metadata of the weighted vote - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx gov](zetacored_tx_gov.md) - Governance transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group.md b/src/pages/architecture/zetacored/zetacored_tx_group.md deleted file mode 100644 index 7e2ec701..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group.md +++ /dev/null @@ -1,43 +0,0 @@ -# tx group - -Group transaction subcommands - -``` -zetacored tx group [flags] -``` - -### Options - -``` - -h, --help help for group -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx group create-group](zetacored_tx_group_create-group.md) - Create a group which is an aggregation of member accounts with associated weights and an administrator account. -* [zetacored tx group create-group-policy](zetacored_tx_group_create-group-policy.md) - Create a group policy which is an account associated with a group and a decision policy. Note, the '--from' flag is ignored as it is implied from [admin]. -* [zetacored tx group create-group-with-policy](zetacored_tx_group_create-group-with-policy.md) - Create a group with policy which is an aggregation of member accounts with associated weights, an administrator account and decision policy. -* [zetacored tx group draft-proposal](zetacored_tx_group_draft-proposal.md) - Generate a draft proposal json file. The generated proposal json contains only one message (skeleton). -* [zetacored tx group exec](zetacored_tx_group_exec.md) - Execute a proposal -* [zetacored tx group leave-group](zetacored_tx_group_leave-group.md) - Remove member from the group -* [zetacored tx group submit-proposal](zetacored_tx_group_submit-proposal.md) - Submit a new proposal -* [zetacored tx group update-group-admin](zetacored_tx_group_update-group-admin.md) - Update a group's admin -* [zetacored tx group update-group-members](zetacored_tx_group_update-group-members.md) - Update a group's members. Set a member's weight to "0" to delete it. -* [zetacored tx group update-group-metadata](zetacored_tx_group_update-group-metadata.md) - Update a group's metadata -* [zetacored tx group update-group-policy-admin](zetacored_tx_group_update-group-policy-admin.md) - Update a group policy admin -* [zetacored tx group update-group-policy-decision-policy](zetacored_tx_group_update-group-policy-decision-policy.md) - Update a group policy's decision policy -* [zetacored tx group update-group-policy-metadata](zetacored_tx_group_update-group-policy-metadata.md) - Update a group policy metadata -* [zetacored tx group vote](zetacored_tx_group_vote.md) - Vote on a proposal -* [zetacored tx group withdraw-proposal](zetacored_tx_group_withdraw-proposal.md) - Withdraw a submitted proposal - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_create-group-policy.md b/src/pages/architecture/zetacored/zetacored_tx_group_create-group-policy.md deleted file mode 100644 index 61a0e58d..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_create-group-policy.md +++ /dev/null @@ -1,81 +0,0 @@ -# tx group create-group-policy - -Create a group policy which is an account associated with a group and a decision policy. Note, the '--from' flag is ignored as it is implied from [admin]. - -``` -zetacored tx group create-group-policy [admin] [group-id] [metadata] [decision-policy-json-file] [flags] -``` - -### Examples - -``` - -zetacored tx group create-group-policy [admin] [group-id] [metadata] policy.json - -where policy.json contains: - -{ - "@type": "/cosmos.group.v1.ThresholdDecisionPolicy", - "threshold": "1", - "windows": { - "voting_period": "120h", - "min_execution_period": "0s" - } -} - -Here, we can use percentage decision policy when needed, where 0 < percentage <= 1: - -{ - "@type": "/cosmos.group.v1.PercentageDecisionPolicy", - "percentage": "0.5", - "windows": { - "voting_period": "120h", - "min_execution_period": "0s" - } -} -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for create-group-policy - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_create-group-with-policy.md b/src/pages/architecture/zetacored/zetacored_tx_group_create-group-with-policy.md deleted file mode 100644 index 799e1d37..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_create-group-with-policy.md +++ /dev/null @@ -1,96 +0,0 @@ -# tx group create-group-with-policy - -Create a group with policy which is an aggregation of member accounts with associated weights, an administrator account and decision policy. - -### Synopsis - -Create a group with policy which is an aggregation of member accounts with associated weights, -an administrator account and decision policy. Note, the '--from' flag is ignored as it is implied from [admin]. -Members accounts can be given through a members JSON file that contains an array of members. -If group-policy-as-admin flag is set to true, the admin of the newly created group and group policy is set with the group policy address itself. - -``` -zetacored tx group create-group-with-policy [admin] [group-metadata] [group-policy-metadata] [members-json-file] [decision-policy-json-file] [flags] -``` - -### Examples - -``` - -zetacored tx group create-group-with-policy [admin] [group-metadata] [group-policy-metadata] members.json policy.json - -where members.json contains: - -{ - "members": [ - { - "address": "addr1", - "weight": "1", - "metadata": "some metadata" - }, - { - "address": "addr2", - "weight": "1", - "metadata": "some metadata" - } - ] -} - -and policy.json contains: - -{ - "@type": "/cosmos.group.v1.ThresholdDecisionPolicy", - "threshold": "1", - "windows": { - "voting_period": "120h", - "min_execution_period": "0s" - } -} - -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - --group-policy-as-admin Sets admin of the newly created group and group policy with group policy address itself when true - -h, --help help for create-group-with-policy - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_create-group.md b/src/pages/architecture/zetacored/zetacored_tx_group_create-group.md deleted file mode 100644 index 40bf5d12..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_create-group.md +++ /dev/null @@ -1,81 +0,0 @@ -# tx group create-group - -Create a group which is an aggregation of member accounts with associated weights and an administrator account. - -### Synopsis - -Create a group which is an aggregation of member accounts with associated weights and an administrator account. -Note, the '--from' flag is ignored as it is implied from [admin]. Members accounts can be given through a members JSON file that contains an array of members. - -``` -zetacored tx group create-group [admin] [metadata] [members-json-file] [flags] -``` - -### Examples - -``` - -zetacored tx group create-group [admin] [metadata] [members-json-file] - -Where members.json contains: - -{ - "members": [ - { - "address": "addr1", - "weight": "1", - "metadata": "some metadata" - }, - { - "address": "addr2", - "weight": "1", - "metadata": "some metadata" - } - ] -} -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for create-group - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_draft-proposal.md b/src/pages/architecture/zetacored/zetacored_tx_group_draft-proposal.md deleted file mode 100644 index 2aa80bb1..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_draft-proposal.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx group draft-proposal - -Generate a draft proposal json file. The generated proposal json contains only one message (skeleton). - -``` -zetacored tx group draft-proposal [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for draft-proposal - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_exec.md b/src/pages/architecture/zetacored/zetacored_tx_group_exec.md deleted file mode 100644 index bbca4e53..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_exec.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx group exec - -Execute a proposal - -``` -zetacored tx group exec [proposal-id] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for exec - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_leave-group.md b/src/pages/architecture/zetacored/zetacored_tx_group_leave-group.md deleted file mode 100644 index e1b618bd..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_leave-group.md +++ /dev/null @@ -1,62 +0,0 @@ -# tx group leave-group - -Remove member from the group - -### Synopsis - -Remove member from the group - -Parameters: - group-id: unique id of the group - member-address: account address of the group member - Note, the '--from' flag is ignored as it is implied from [member-address] - - -``` -zetacored tx group leave-group [member-address] [group-id] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for leave-group - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_submit-proposal.md b/src/pages/architecture/zetacored/zetacored_tx_group_submit-proposal.md deleted file mode 100644 index 81a220e8..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_submit-proposal.md +++ /dev/null @@ -1,83 +0,0 @@ -# tx group submit-proposal - -Submit a new proposal - -### Synopsis - -Submit a new proposal. -Parameters: - msg_tx_json_file: path to json file with messages that will be executed if the proposal is accepted. - -``` -zetacored tx group submit-proposal [proposal_json_file] [flags] -``` - -### Examples - -``` - -zetacored tx group submit-proposal path/to/proposal.json - - Where proposal.json contains: - -{ - "group_policy_address": "cosmos1...", - // array of proto-JSON-encoded sdk.Msgs - "messages": [ - { - "@type": "/cosmos.bank.v1beta1.MsgSend", - "from_address": "cosmos1...", - "to_address": "cosmos1...", - "amount":[{"denom": "stake","amount": "10"}] - } - ], - "metadata": "4pIMOgIGx1vZGU=", // base64-encoded metadata - "proposers": ["cosmos1...", "cosmos1..."], -} -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --exec string Set to 1 to try to execute proposal immediately after creation (proposers signatures are considered as Yes votes) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for submit-proposal - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-admin.md b/src/pages/architecture/zetacored/zetacored_tx_group_update-group-admin.md deleted file mode 100644 index 61683036..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-admin.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx group update-group-admin - -Update a group's admin - -``` -zetacored tx group update-group-admin [admin] [group-id] [new-admin] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-group-admin - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-members.md b/src/pages/architecture/zetacored/zetacored_tx_group_update-group-members.md deleted file mode 100644 index 8fd88040..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-members.md +++ /dev/null @@ -1,79 +0,0 @@ -# tx group update-group-members - -Update a group's members. Set a member's weight to "0" to delete it. - -``` -zetacored tx group update-group-members [admin] [group-id] [members-json-file] [flags] -``` - -### Examples - -``` - -zetacored tx group update-group-members [admin] [group-id] [members-json-file] - -Where members.json contains: - -{ - "members": [ - { - "address": "addr1", - "weight": "1", - "metadata": "some new metadata" - }, - { - "address": "addr2", - "weight": "0", - "metadata": "some metadata" - } - ] -} - -Set a member's weight to "0" to delete it. - -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-group-members - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-metadata.md b/src/pages/architecture/zetacored/zetacored_tx_group_update-group-metadata.md deleted file mode 100644 index 9c891cc3..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-metadata.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx group update-group-metadata - -Update a group's metadata - -``` -zetacored tx group update-group-metadata [admin] [group-id] [metadata] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-group-metadata - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-admin.md b/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-admin.md deleted file mode 100644 index 1f8d8217..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-admin.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx group update-group-policy-admin - -Update a group policy admin - -``` -zetacored tx group update-group-policy-admin [admin] [group-policy-account] [new-admin] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-group-policy-admin - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-decision-policy.md b/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-decision-policy.md deleted file mode 100644 index 6cb8672e..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-decision-policy.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx group update-group-policy-decision-policy - -Update a group policy's decision policy - -``` -zetacored tx group update-group-policy-decision-policy [admin] [group-policy-account] [decision-policy-json-file] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-group-policy-decision-policy - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-metadata.md b/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-metadata.md deleted file mode 100644 index b274c72e..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_update-group-policy-metadata.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx group update-group-policy-metadata - -Update a group policy metadata - -``` -zetacored tx group update-group-policy-metadata [admin] [group-policy-account] [new-metadata] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-group-policy-metadata - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_vote.md b/src/pages/architecture/zetacored/zetacored_tx_group_vote.md deleted file mode 100644 index c50b17c9..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_vote.md +++ /dev/null @@ -1,69 +0,0 @@ -# tx group vote - -Vote on a proposal - -### Synopsis - -Vote on a proposal. - -Parameters: - proposal-id: unique ID of the proposal - voter: voter account addresses. - vote-option: choice of the voter(s) - VOTE_OPTION_UNSPECIFIED: no-op - VOTE_OPTION_NO: no - VOTE_OPTION_YES: yes - VOTE_OPTION_ABSTAIN: abstain - VOTE_OPTION_NO_WITH_VETO: no-with-veto - Metadata: metadata for the vote - - -``` -zetacored tx group vote [proposal-id] [voter] [vote-option] [metadata] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --exec string Set to 1 to try to execute proposal immediately after voting - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for vote - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_group_withdraw-proposal.md b/src/pages/architecture/zetacored/zetacored_tx_group_withdraw-proposal.md deleted file mode 100644 index 03443daf..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_group_withdraw-proposal.md +++ /dev/null @@ -1,62 +0,0 @@ -# tx group withdraw-proposal - -Withdraw a submitted proposal - -### Synopsis - -Withdraw a submitted proposal. - -Parameters: - proposal-id: unique ID of the proposal. - group-policy-admin-or-proposer: either admin of the group policy or one the proposer of the proposal. - Note: --from flag will be ignored here. - - -``` -zetacored tx group withdraw-proposal [proposal-id] [group-policy-admin-or-proposer] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for withdraw-proposal - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx group](zetacored_tx_group.md) - Group transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_multi-sign.md b/src/pages/architecture/zetacored/zetacored_tx_multi-sign.md deleted file mode 100644 index c09adeaa..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_multi-sign.md +++ /dev/null @@ -1,75 +0,0 @@ -# tx multi-sign - -Generate multisig signatures for transactions generated offline - -### Synopsis - -Sign transactions created with the --generate-only flag that require multisig signatures. - -Read one or more signatures from one or more [signature] file, generate a multisig signature compliant to the -multisig key [name], and attach the key name to the transaction read from [file]. - -Example: -$ zetacored tx multisign transaction.json k1k2k3 k1sig.json k2sig.json k3sig.json - -If --signature-only flag is on, output a JSON representation -of only the generated signature. - -If the --offline flag is on, the client will not reach out to an external node. -Account number or sequence number lookups are not performed so you must -set these parameters manually. - -The current multisig implementation defaults to amino-json sign mode. -The SIGN_MODE_DIRECT sign mode is not supported.' - -``` -zetacored tx multi-sign [file] [name] [[signature]...] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --amino Generate Amino-encoded JSON suitable for submitting to the txs REST endpoint - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --chain-id string network chain ID - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for multi-sign - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --output-document string The document is written to the given file instead of STDOUT - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --signature-only Print only the generated signature, then exit - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_multisign-batch.md b/src/pages/architecture/zetacored/zetacored_tx_multisign-batch.md deleted file mode 100644 index d624d6b7..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_multisign-batch.md +++ /dev/null @@ -1,68 +0,0 @@ -# tx multisign-batch - -Assemble multisig transactions in batch from batch signatures - -### Synopsis - -Assemble a batch of multisig transactions generated by batch sign command. - -Read one or more signatures from one or more [signature] file, generate a multisig signature compliant to the -multisig key [name], and attach the key name to the transaction read from [file]. - -Example: -$ zetacored tx multisign-batch transactions.json multisigk1k2k3 k1sigs.json k2sigs.json k3sig.json - -The current multisig implementation defaults to amino-json sign mode. -The SIGN_MODE_DIRECT sign mode is not supported.' - -``` -zetacored tx multisign-batch [file] [name] [[signature-file]...] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for multisign-batch - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --multisig string Address of the multisig account that the transaction signs on behalf of - --no-auto-increment disable sequence auto increment - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --output-document string The document is written to the given file instead of STDOUT - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer.md b/src/pages/architecture/zetacored/zetacored_tx_observer.md deleted file mode 100644 index 5340a104..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer.md +++ /dev/null @@ -1,36 +0,0 @@ -# tx observer - -observer transactions subcommands - -``` -zetacored tx observer [flags] -``` - -### Options - -``` - -h, --help help for observer -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx observer add-blame-vote](zetacored_tx_observer_add-blame-vote.md) - Broadcast message add-blame-vote -* [zetacored tx observer add-observer](zetacored_tx_observer_add-observer.md) - Broadcast message add-observer -* [zetacored tx observer encode](zetacored_tx_observer_encode.md) - Encode a json string into hex -* [zetacored tx observer remove-chain-params](zetacored_tx_observer_remove-chain-params.md) - Broadcast message to remove chain params -* [zetacored tx observer update-chain-params](zetacored_tx_observer_update-chain-params.md) - Broadcast message updateChainParams -* [zetacored tx observer update-crosschain-flags](zetacored_tx_observer_update-crosschain-flags.md) - Update crosschain flags -* [zetacored tx observer update-keygen](zetacored_tx_observer_update-keygen.md) - command to update the keygen block via a group proposal -* [zetacored tx observer update-observer](zetacored_tx_observer_update-observer.md) - Broadcast message add-observer - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_add-blame-vote.md b/src/pages/architecture/zetacored/zetacored_tx_observer_add-blame-vote.md deleted file mode 100644 index 95570651..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_add-blame-vote.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer add-blame-vote - -Broadcast message add-blame-vote - -``` -zetacored tx observer add-blame-vote [chain-id] [index] [failure-reason] [node-list] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for add-blame-vote - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_add-observer.md b/src/pages/architecture/zetacored/zetacored_tx_observer_add-observer.md deleted file mode 100644 index 179edd49..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_add-observer.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer add-observer - -Broadcast message add-observer - -``` -zetacored tx observer add-observer [observer-address] [zetaclient-grantee-pubkey] [add_node_account_only] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for add-observer - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_encode.md b/src/pages/architecture/zetacored/zetacored_tx_observer_encode.md deleted file mode 100644 index 7cfe7608..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_encode.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer encode - -Encode a json string into hex - -``` -zetacored tx observer encode [file.json] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for encode - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_remove-chain-params.md b/src/pages/architecture/zetacored/zetacored_tx_observer_remove-chain-params.md deleted file mode 100644 index 8aa627e5..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_remove-chain-params.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer remove-chain-params - -Broadcast message to remove chain params - -``` -zetacored tx observer remove-chain-params [chain-id] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for remove-chain-params - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_update-chain-params.md b/src/pages/architecture/zetacored/zetacored_tx_observer_update-chain-params.md deleted file mode 100644 index 49e73e71..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_update-chain-params.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer update-chain-params - -Broadcast message updateChainParams - -``` -zetacored tx observer update-chain-params [chain-id] [client-params.json] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-chain-params - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_update-crosschain-flags.md b/src/pages/architecture/zetacored/zetacored_tx_observer_update-crosschain-flags.md deleted file mode 100644 index 2a7f86ee..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_update-crosschain-flags.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer update-crosschain-flags - -Update crosschain flags - -``` -zetacored tx observer update-crosschain-flags [is-inbound-enabled] [is-outbound-enabled] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-crosschain-flags - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_update-keygen.md b/src/pages/architecture/zetacored/zetacored_tx_observer_update-keygen.md deleted file mode 100644 index 50489141..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_update-keygen.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer update-keygen - -command to update the keygen block via a group proposal - -``` -zetacored tx observer update-keygen [block] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-keygen - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_observer_update-observer.md b/src/pages/architecture/zetacored/zetacored_tx_observer_update-observer.md deleted file mode 100644 index bee88513..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_observer_update-observer.md +++ /dev/null @@ -1,52 +0,0 @@ -# tx observer update-observer - -Broadcast message add-observer - -``` -zetacored tx observer update-observer [old-observer-address] [new-observer-address] [update-reason] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for update-observer - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx observer](zetacored_tx_observer.md) - observer transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_sign-batch.md b/src/pages/architecture/zetacored/zetacored_tx_sign-batch.md deleted file mode 100644 index 2dbbff55..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_sign-batch.md +++ /dev/null @@ -1,78 +0,0 @@ -# tx sign-batch - -Sign transaction batch files - -### Synopsis - -Sign batch files of transactions generated with --generate-only. -The command processes list of transactions from a file (one StdTx each line), or multiple files. -Then generates signed transactions or signatures and print their JSON encoding, delimited by '\n'. -As the signatures are generated, the command updates the account and sequence number accordingly. - -If the --signature-only flag is set, it will output the signature parts only. - -The --offline flag makes sure that the client will not reach out to full node. -As a result, the account and the sequence number queries will not be performed and -it is required to set such parameters manually. Note, invalid values will cause -the transaction to fail. The sequence will be incremented automatically for each -transaction that is signed. - -If --account-number or --sequence flag is used when offline=false, they are ignored and -overwritten by the default flag values. - -The --multisig=[multisig_key] flag generates a signature on behalf of a multisig -account key. It implies --signature-only. - - -``` -zetacored tx sign-batch [file] ([file2]...) [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --append Combine all message and generate single signed transaction for broadcast. - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --chain-id string network chain ID - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for sign-batch - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --multisig string Address or key name of the multisig account on behalf of which the transaction shall be signed - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --output-document string The document will be written to the given file instead of STDOUT - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --signature-only Print only the generated signature, then exit - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_sign.md b/src/pages/architecture/zetacored/zetacored_tx_sign.md deleted file mode 100644 index 85549cd5..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_sign.md +++ /dev/null @@ -1,74 +0,0 @@ -# tx sign - -Sign a transaction generated offline - -### Synopsis - -Sign a transaction created with the --generate-only flag. -It will read a transaction from [file], sign it, and print its JSON encoding. - -If the --signature-only flag is set, it will output the signature parts only. - -The --offline flag makes sure that the client will not reach out to full node. -As a result, the account and sequence number queries will not be performed and -it is required to set such parameters manually. Note, invalid values will cause -the transaction to fail. - -The --multisig=[multisig_key] flag generates a signature on behalf of a multisig account -key. It implies --signature-only. Full multisig signed transactions may eventually -be generated via the 'multisign' command. - - -``` -zetacored tx sign [file] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --amino Generate Amino encoded JSON suitable for submiting to the txs REST endpoint - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --chain-id string The network chain ID - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for sign - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --multisig string Address or key name of the multisig account on behalf of which the transaction shall be signed - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --output-document string The document will be written to the given file instead of STDOUT - --overwrite Overwrite existing signatures with a new one. If disabled, new signature will be appended - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --signature-only Print only the signatures - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_slashing.md b/src/pages/architecture/zetacored/zetacored_tx_slashing.md deleted file mode 100644 index 1352d193..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_slashing.md +++ /dev/null @@ -1,29 +0,0 @@ -# tx slashing - -Slashing transaction subcommands - -``` -zetacored tx slashing [flags] -``` - -### Options - -``` - -h, --help help for slashing -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx slashing unjail](zetacored_tx_slashing_unjail.md) - unjail validator previously jailed for downtime - diff --git a/src/pages/architecture/zetacored/zetacored_tx_slashing_unjail.md b/src/pages/architecture/zetacored/zetacored_tx_slashing_unjail.md deleted file mode 100644 index 0521563e..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_slashing_unjail.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx slashing unjail - -unjail validator previously jailed for downtime - -### Synopsis - -unjail a jailed validator: - -$ zetacored tx slashing unjail --from mykey - - -``` -zetacored tx slashing unjail [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for unjail - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx slashing](zetacored_tx_slashing.md) - Slashing transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_staking.md b/src/pages/architecture/zetacored/zetacored_tx_staking.md deleted file mode 100644 index 3dd7eefd..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_staking.md +++ /dev/null @@ -1,34 +0,0 @@ -# tx staking - -Staking transaction subcommands - -``` -zetacored tx staking [flags] -``` - -### Options - -``` - -h, --help help for staking -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx staking cancel-unbond](zetacored_tx_staking_cancel-unbond.md) - Cancel unbonding delegation and delegate back to the validator -* [zetacored tx staking create-validator](zetacored_tx_staking_create-validator.md) - create new validator initialized with a self-delegation to it -* [zetacored tx staking delegate](zetacored_tx_staking_delegate.md) - Delegate liquid tokens to a validator -* [zetacored tx staking edit-validator](zetacored_tx_staking_edit-validator.md) - edit an existing validator account -* [zetacored tx staking redelegate](zetacored_tx_staking_redelegate.md) - Redelegate illiquid tokens from one validator to another -* [zetacored tx staking unbond](zetacored_tx_staking_unbond.md) - Unbond shares from a validator - diff --git a/src/pages/architecture/zetacored/zetacored_tx_staking_cancel-unbond.md b/src/pages/architecture/zetacored/zetacored_tx_staking_cancel-unbond.md deleted file mode 100644 index 35365c95..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_staking_cancel-unbond.md +++ /dev/null @@ -1,65 +0,0 @@ -# tx staking cancel-unbond - -Cancel unbonding delegation and delegate back to the validator - -### Synopsis - -Cancel Unbonding Delegation and delegate back to the validator. - -Example: -$ zetacored tx staking cancel-unbond zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj 100stake 2 --from mykey - -``` -zetacored tx staking cancel-unbond [validator-addr] [amount] [creation-height] [flags] -``` - -### Examples - -``` -$ zetacored tx staking cancel-unbond zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj 100stake 2 --from mykey -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for cancel-unbond - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx staking](zetacored_tx_staking.md) - Staking transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_staking_create-validator.md b/src/pages/architecture/zetacored/zetacored_tx_staking_create-validator.md deleted file mode 100644 index 68c87452..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_staking_create-validator.md +++ /dev/null @@ -1,65 +0,0 @@ -# tx staking create-validator - -create new validator initialized with a self-delegation to it - -``` -zetacored tx staking create-validator [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --amount string Amount of coins to bond - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --commission-max-change-rate string The maximum commission change rate percentage (per day) - --commission-max-rate string The maximum commission rate percentage - --commission-rate string The initial commission rate percentage - --details string The validator's (optional) details - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for create-validator - --identity string The optional identity signature (ex. UPort or Keybase) - --ip string The node's public IP. It takes effect only when used in combination with --generate-only - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --min-self-delegation string The minimum self delegation required on the validator - --moniker string The validator's name - --node string [host]:[port] to tendermint rpc interface for this chain - --node-id string The node's ID - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --pubkey string The validator's Protobuf JSON encoded public key - --security-contact string The validator's (optional) security contact email - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - --website string The validator's (optional) website - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx staking](zetacored_tx_staking.md) - Staking transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_staking_delegate.md b/src/pages/architecture/zetacored/zetacored_tx_staking_delegate.md deleted file mode 100644 index 7159e8ce..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_staking_delegate.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx staking delegate - -Delegate liquid tokens to a validator - -### Synopsis - -Delegate an amount of liquid coins to a validator from your wallet. - -Example: -$ zetacored tx staking delegate zetavaloper1l2rsakp388kuv9k8qzq6lrm9taddae7fpx59wm 1000stake --from mykey - -``` -zetacored tx staking delegate [validator-addr] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for delegate - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx staking](zetacored_tx_staking.md) - Staking transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_staking_edit-validator.md b/src/pages/architecture/zetacored/zetacored_tx_staking_edit-validator.md deleted file mode 100644 index 931e319a..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_staking_edit-validator.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx staking edit-validator - -edit an existing validator account - -``` -zetacored tx staking edit-validator [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --commission-rate string The new commission rate percentage - --details string The validator's (optional) details - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for edit-validator - --identity string The (optional) identity signature (ex. UPort or Keybase) - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --min-self-delegation string The minimum self delegation required on the validator - --new-moniker string The validator's name - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - --security-contact string The validator's (optional) security contact email - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - --website string The validator's (optional) website - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx staking](zetacored_tx_staking.md) - Staking transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_staking_redelegate.md b/src/pages/architecture/zetacored/zetacored_tx_staking_redelegate.md deleted file mode 100644 index 962cfeb9..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_staking_redelegate.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx staking redelegate - -Redelegate illiquid tokens from one validator to another - -### Synopsis - -Redelegate an amount of illiquid staking tokens from one validator to another. - -Example: -$ zetacored tx staking redelegate zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj zetavaloper1l2rsakp388kuv9k8qzq6lrm9taddae7fpx59wm 100stake --from mykey - -``` -zetacored tx staking redelegate [src-validator-addr] [dst-validator-addr] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for redelegate - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx staking](zetacored_tx_staking.md) - Staking transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_staking_unbond.md b/src/pages/architecture/zetacored/zetacored_tx_staking_unbond.md deleted file mode 100644 index 5f891d27..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_staking_unbond.md +++ /dev/null @@ -1,59 +0,0 @@ -# tx staking unbond - -Unbond shares from a validator - -### Synopsis - -Unbond an amount of bonded shares from a validator. - -Example: -$ zetacored tx staking unbond zetavaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj 100stake --from mykey - -``` -zetacored tx staking unbond [validator-addr] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for unbond - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx staking](zetacored_tx_staking.md) - Staking transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_validate-signatures.md b/src/pages/architecture/zetacored/zetacored_tx_validate-signatures.md deleted file mode 100644 index 474fe95a..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_validate-signatures.md +++ /dev/null @@ -1,63 +0,0 @@ -# tx validate-signatures - -validate transactions signatures - -### Synopsis - -Print the addresses that must sign the transaction, those who have already -signed it, and make sure that signatures are in the correct order. - -The command would check whether all required signers have signed the transactions, whether -the signatures were collected in the right order, and if the signature is valid over the -given transaction. If the --offline flag is also set, signature validation over the -transaction will be not be performed as that will require RPC communication with a full node. - - -``` -zetacored tx validate-signatures [file] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --chain-id string The network chain ID - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for validate-signatures - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_vesting.md b/src/pages/architecture/zetacored/zetacored_tx_vesting.md deleted file mode 100644 index 9cb22ff6..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_vesting.md +++ /dev/null @@ -1,31 +0,0 @@ -# tx vesting - -Vesting transaction subcommands - -``` -zetacored tx vesting [flags] -``` - -### Options - -``` - -h, --help help for vesting -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx](zetacored_tx.md) - Transactions subcommands -* [zetacored tx vesting create-periodic-vesting-account](zetacored_tx_vesting_create-periodic-vesting-account.md) - Create a new vesting account funded with an allocation of tokens. -* [zetacored tx vesting create-permanent-locked-account](zetacored_tx_vesting_create-permanent-locked-account.md) - Create a new permanently locked account funded with an allocation of tokens. -* [zetacored tx vesting create-vesting-account](zetacored_tx_vesting_create-vesting-account.md) - Create a new vesting account funded with an allocation of tokens. - diff --git a/src/pages/architecture/zetacored/zetacored_tx_vesting_create-periodic-vesting-account.md b/src/pages/architecture/zetacored/zetacored_tx_vesting_create-periodic-vesting-account.md deleted file mode 100644 index 93affb07..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_vesting_create-periodic-vesting-account.md +++ /dev/null @@ -1,72 +0,0 @@ -# tx vesting create-periodic-vesting-account - -Create a new vesting account funded with an allocation of tokens. - -### Synopsis - -A sequence of coins and period length in seconds. Periods are sequential, in that the duration of of a period only starts at the end of the previous period. The duration of the first period starts upon account creation. For instance, the following periods.json file shows 20 "test" coins vesting 30 days apart from each other. - Where periods.json contains: - - An array of coin strings and unix epoch times for coins to vest -{ "start_time": 1625204910, -"periods":[ - { - "coins": "10test", - "length_seconds":2592000 //30 days - }, - { - "coins": "10test", - "length_seconds":2592000 //30 days - }, -] - } - - -``` -zetacored tx vesting create-periodic-vesting-account [to_address] [periods_json_file] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for create-periodic-vesting-account - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx vesting](zetacored_tx_vesting.md) - Vesting transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_vesting_create-permanent-locked-account.md b/src/pages/architecture/zetacored/zetacored_tx_vesting_create-permanent-locked-account.md deleted file mode 100644 index 5fba92e9..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_vesting_create-permanent-locked-account.md +++ /dev/null @@ -1,58 +0,0 @@ -# tx vesting create-permanent-locked-account - -Create a new permanently locked account funded with an allocation of tokens. - -### Synopsis - -Create a new account funded with an allocation of permanently locked tokens. These -tokens may be used for staking but are non-transferable. Staking rewards will acrue as liquid and transferable -tokens. - -``` -zetacored tx vesting create-permanent-locked-account [to_address] [amount] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for create-permanent-locked-account - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx vesting](zetacored_tx_vesting.md) - Vesting transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_tx_vesting_create-vesting-account.md b/src/pages/architecture/zetacored/zetacored_tx_vesting_create-vesting-account.md deleted file mode 100644 index 992e4b98..00000000 --- a/src/pages/architecture/zetacored/zetacored_tx_vesting_create-vesting-account.md +++ /dev/null @@ -1,61 +0,0 @@ -# tx vesting create-vesting-account - -Create a new vesting account funded with an allocation of tokens. - -### Synopsis - -Create a new vesting account funded with an allocation of tokens. The -account can either be a delayed or continuous vesting account, which is determined -by the '--delayed' flag. All vesting accounts created will have their start time -set by the committed block's time. The end_time must be provided as a UNIX epoch -timestamp. - -``` -zetacored tx vesting create-vesting-account [to_address] [amount] [end_time] [flags] -``` - -### Options - -``` - -a, --account-number uint The account number of the signing account (offline mode only) - --aux Generate aux signer data instead of sending a tx - -b, --broadcast-mode string Transaction broadcasting mode (sync|async|block) - --delayed Create a delayed vesting account if true - --dry-run ignore the --gas flag and perform a simulation of a transaction, but don't broadcast it (when enabled, the local Keybase is not accessible) - --fee-granter string Fee granter grants fees for the transaction - --fee-payer string Fee payer pays fees for the transaction instead of deducting from the signer - --fees string Fees to pay along with transaction; eg: 10uatom - --from string Name or address of private key with which to sign - --gas string gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically. Note: "auto" option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of "fees". (default 200000) - --gas-adjustment float adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored (default 1) - --gas-prices string Gas prices in decimal format to determine the transaction fee (e.g. 0.1uatom) - --generate-only Build an unsigned transaction and write it to STDOUT (when enabled, the local Keybase only accessed when providing a key name) - -h, --help help for create-vesting-account - --keyring-backend string Select keyring's backend (os|file|kwallet|pass|test|memory) - --keyring-dir string The client Keyring directory; if omitted, the default 'home' directory will be used - --ledger Use a connected Ledger device - --node string [host]:[port] to tendermint rpc interface for this chain - --note string Note to add a description to the transaction (previously --memo) - --offline Offline mode (does not allow any online functionality) - -o, --output string Output format (text|json) - -s, --sequence uint The sequence number of the signing account (offline mode only) - --sign-mode string Choose sign mode (direct|amino-json|direct-aux), this is an advanced feature - --timeout-height uint Set a block timeout height to prevent the tx from being committed past a certain height - --tip string Tip is the amount that is going to be transferred to the fee payer on the target chain. This flag is only valid when used with --aux, and is ignored if the target chain didn't enable the TipDecorator - -y, --yes Skip tx broadcasting prompt confirmation -``` - -### Options inherited from parent commands - -``` - --chain-id string The network chain ID - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored tx vesting](zetacored_tx_vesting.md) - Vesting transaction subcommands - diff --git a/src/pages/architecture/zetacored/zetacored_validate-genesis.md b/src/pages/architecture/zetacored/zetacored_validate-genesis.md deleted file mode 100644 index 25d37981..00000000 --- a/src/pages/architecture/zetacored/zetacored_validate-genesis.md +++ /dev/null @@ -1,27 +0,0 @@ -# validate-genesis - -validates the genesis file at the default location or at the location passed as an arg - -``` -zetacored validate-genesis [file] [flags] -``` - -### Options - -``` - -h, --help help for validate-genesis -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/architecture/zetacored/zetacored_version.md b/src/pages/architecture/zetacored/zetacored_version.md deleted file mode 100644 index f10c6c2f..00000000 --- a/src/pages/architecture/zetacored/zetacored_version.md +++ /dev/null @@ -1,29 +0,0 @@ -# version - -Print the application binary version information - -``` -zetacored version [flags] -``` - -### Options - -``` - -h, --help help for version - --long Print long version information - -o, --output string Output format (text|json) -``` - -### Options inherited from parent commands - -``` - --home string directory for config and data - --log_format string The logging format (json|plain) - --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) - --trace print out full stack trace on errors -``` - -### SEE ALSO - -* [zetacored](zetacored.md) - Zetacore Daemon (server) - diff --git a/src/pages/developers/_meta.json b/src/pages/developers/_meta.json index bb2081bb..e46b722f 100644 --- a/src/pages/developers/_meta.json +++ b/src/pages/developers/_meta.json @@ -1,9 +1,34 @@ { - "overview": "Start building with ZetaChain", - "template": "Smart Contract Template", - "addresses": "Account Addresses", - "omnichain": "Omnichain Contracts", - "cross-chain-messaging": "Cross-Chain Messaging", - "cli": "Using ZetaChain's CLI", - "tokens": "Types of Tokens" -} + "apps": { + "title": "Building Universal Apps", + "description": "Explore the basics of developing on ZetaChain." + }, + "evm": { + "title": "Universal EVM", + "description": "EVM enhanced with omnichain interoperability features, enabling the development of robust universal apps." + }, + "chains": { + "title": "Connected Blockchains", + "description": "Use Gateway to make calls to and from universal apps, deposit and withdraw tokens." + }, + "tutorials": { + "title": "Tutorials", + "description": "Step-by-step guides to help you master building on ZetaChain." + }, + "frontend": { + "title": "Frontend Tutorials", + "description": "Build powerful universal web applications with ZetaChain." + }, + "services": { + "title": "Apps & Services", + "description": "Discover useful developer-focused applications and services to enhance your development process on ZetaChain." + }, + "tokens": { + "title": "Working with Tokens", + "description": "Overview of the different types of tokens available on ZetaChain and connected blockchains, and how to work with them." + }, + "architecture": { + "title": "Architecture", + "description": "Take an in-depth look into the inner workings and technical architecture of the ZetaChain protocol." + } +} \ No newline at end of file diff --git a/src/pages/developers/apps/_meta.json b/src/pages/developers/apps/_meta.json new file mode 100644 index 00000000..c81fb694 --- /dev/null +++ b/src/pages/developers/apps/_meta.json @@ -0,0 +1,6 @@ +{ + "intro": { + "title": "Universal App Basics", + "description": "Build universal apps that can be called from any blockchain" + } +} \ No newline at end of file diff --git a/src/pages/developers/apps/intro.mdx b/src/pages/developers/apps/intro.mdx new file mode 100644 index 00000000..3a191411 --- /dev/null +++ b/src/pages/developers/apps/intro.mdx @@ -0,0 +1,153 @@ +--- +title: Universal Apps +--- + +import { Alert } from "~/components/shared"; + +## Overview + +A universal app is a smart contract on ZetaChain that is natively connected to +other blockchains like Ethereum, BNB and Bitcoin. + +Unlike a regular contract, a universal app can accept contract calls, messages +and token transfers from any connected chain. It can also trigger contract +calls, and make token transfers on connected chains. These abilities enable +universal apps to orchestrate complex multi-step transactions that span across +chains. + +For example, a Bitcoin user can interact with a universal app to send USDC to a +recipient on Ethereum. An Ethereum user can buy an NFT on ZetaChain and send it +to to their account on the BNB chain. + +Universal apps are deployed on ZetaChain's universal EVM, which extends the EVM +with omnichain interoperability features. This means your existing contracts +will work out of the box on ZetaChain, and with some modifications, they can +gain powerful omnichain capabilities. + +Here's an example universal app: + +```solidity +pragma solidity 0.8.26; + +import "@zetachain/protocol-contracts/contracts/zevm/interfaces/UniversalContract.sol"; + +contract UniversalApp is UniversalContract { + function onCrossChainCall( + zContext calldata context, + address zrc20, + uint256 amount, + bytes calldata message + ) external virtual override { + // ... + } +} +``` + +## Calling Universal Apps + +Users can call universal apps by interacting with a **Gateway contract** on a +connected chain. Each connected chain has a single Gateway contract that exposes +methods to deposit tokens to and call universal apps. Users can pass both data +and tokens when calling universal apps. + + + {" "} + Gateway is an upcoming unified interface that will replace the TSS address and ERC-20 custody contract. Gateway is scheduled + for release towards the end of Q3 2024.{" "} + + +In this example an Ethereum user sends 1 ETH and a message "hello" to a +universal app: + + + +A call to a universal app triggers an `onCrossChainCall` method. + +A universal app receives: + +- a message (in this example, `"hello"`) containing arbitrary data. A message + can include recipient address, a token address, properties of an NFT to be + minted, etc. +- tokens represented as ZRC-20 (in this example, 1 ZRC-20 ETH). + +Each native gas and supported ERC-20 token from connected chains has a +corresponding ZRC-20 token on ZetaChain. ZRC-20 tokens are ERC-20-compatible and +can be permissionlessly transferred back (withdrawn) to their original chain +(ZRC-20 ETH on ZetaChain becomes ETH on Ethereum). + +`onCrossChainCall` also has access to additional context information such as the +original sender address and chain ID. + +Universal apps can also initiate token transfers and contract calls to connected +chains. + +In this example a universal app: + +- accepts 6 ETH and "I want BNB" (bytes that represent the destination token) + from Ethereum +- swaps 6 ZRC-20 ETH for ZRC-20 BNB using a decentralized exchange on ZetaChain +- calls the Gateway contract to withdraw ZRC-20 BNB and call a contract on the + BNB chain + +Of course, a single universal app call can trigger more than one call to +different chains. + + + +With a universal app a complex sequence of transactions and value transfers that +span multiple blockchains can be triggered by a single user-signed transaction. + +## Bitcoin Support + +Universal apps are fully-compatible with Bitcoin. The same universal app +contract can receive calls from any connected chain. + +Users can call universal apps from the Bitcoin network by sending BTC and data +to the **Gateway address**. To make a call to a universal app a Bitcoin user +only needs to sign a single transaction using their wallet of choice. Universal +apps offer gas abstraction, so end-user are not required to have an account on +chains other than Bitcoin or acquire gas tokens. + +## Gas Abstraction + +Incoming calls to universal apps from connected chains do not incur additional +gas costs aside from the initial interaction with the Gateway contract. + +Outgoing calls from universal apps (like contract calls and token withdrawals) +to connected chains require gas. Universal EVM offers tools to query gas, and +it's up to each universal app to make sure that the contract has the right +amount of ZRC-20 gas token to cover the gas fees. + +In practice it means that a universal app would swap a fraction of the incoming +ZRC-20 token to the ZRC-20 of the gas token of the chain to which an outgoing +call is made. When an outgoing call or withdrawal is made, a required amount of +ZRC-20 gas token is deducted to cover the gas fees on the destination chain. + +For end user this system abstracts away the complexities of cross-chain gas. As +long as the user provides a sufficient amount as input (in the token of their +choosing), the gas fees will be covered. + +## Summary + +- Universal apps: + - can receive contract calls and tokens from users and contracts on connected + chains + - can trigger contract calls and token transfers to connected chains + - can automatically handle gas for cross-chain transactions + - are fully compatible with EVM chains (like Ethereum, BNB, and Polygon), + Bitcoin, Solana. Support for TON and Cosmos (through IBC) and other chains + is coming soon. +- Native gas and supported ERC-20 tokens are represented as ZRC-20 tokens. A + ZRC-20 token can be permissionlessly withdrawn back to its original chain. diff --git a/src/pages/developers/architecture/_meta.json b/src/pages/developers/architecture/_meta.json new file mode 100644 index 00000000..f473e019 --- /dev/null +++ b/src/pages/developers/architecture/_meta.json @@ -0,0 +1,30 @@ +{ + "overview": { + "title": "Architecture", + "description": "Overview of the architecture of ZetaChain" + }, + "observers": { + "title": "Observer-Signer Validators", + "description": "List of currently active observer-signer validators" + }, + "privileged": { + "title": "Privileged Actions", + "description": "Administrative actions that can only be executed by dedicated groups" + }, + "rewards": { + "title": "Staking Rewards", + "description": "How staking rewards are calculated" + }, + "whitelisting": { + "title": "Whitelisting ERC-20", + "description": "How to whitelist an ERC-20 as a supported ZRC-20" + }, + "modules": { + "title": "Modules", + "description": "ZetaChain's Cosmos SDK modules" + }, + "zetacored": { + "title": "ZetaChain Node CLI", + "description": "Command-line interface of the ZetaChain node binary" + } +} \ No newline at end of file diff --git a/src/pages/developers/architecture/modules/crosschain/_meta.json b/src/pages/developers/architecture/modules/crosschain/_meta.json new file mode 100644 index 00000000..fd10fa77 --- /dev/null +++ b/src/pages/developers/architecture/modules/crosschain/_meta.json @@ -0,0 +1,9 @@ +{ + "overview": { + "title": "Cross-Chain Module", + "description": "Cross-chain messaging makes the most sense for applications that generally need minimal logic or state to maintain across all chains.", + "readTime": "5 min", + "readType": "Beginner" + }, + "messages": "Messages" +} diff --git a/src/pages/architecture/modules/crosschain/messages.mdx b/src/pages/developers/architecture/modules/crosschain/messages.mdx similarity index 66% rename from src/pages/architecture/modules/crosschain/messages.mdx rename to src/pages/developers/architecture/modules/crosschain/messages.mdx index f69a9315..4a027e2d 100644 --- a/src/pages/architecture/modules/crosschain/messages.mdx +++ b/src/pages/developers/architecture/modules/crosschain/messages.mdx @@ -1,10 +1,13 @@ -# Messages +--- +title: Messages +--- ## MsgAddToOutTxTracker -AddToOutTxTracker adds a new record to the outbound transaction tracker. -only the admin policy account and the observer validators are authorized to broadcast this message without proof. -If no pending cctx is found, the tracker is removed, if there is an existed tracker with the nonce & chainID. +AddToOutTxTracker adds a new record to the outbound transaction tracker. only +the admin policy account and the observer validators are authorized to broadcast +this message without proof. If no pending cctx is found, the tracker is removed, +if there is an existed tracker with the nonce & chainID. Authorized: admin policy group 1, observer. @@ -40,7 +43,8 @@ message MsgAddToInTxTracker { ## MsgRemoveFromOutTxTracker -RemoveFromOutTxTracker removes a record from the outbound transaction tracker by chain ID and nonce. +RemoveFromOutTxTracker removes a record from the outbound transaction tracker by +chain ID and nonce. Authorized: admin policy group 1. @@ -54,9 +58,9 @@ message MsgRemoveFromOutTxTracker { ## MsgGasPriceVoter -GasPriceVoter submits information about the connected chain's gas price at a specific block -height. Gas price submitted by each validator is recorded separately and a -median index is updated. +GasPriceVoter submits information about the connected chain's gas price at a +specific block height. Gas price submitted by each validator is recorded +separately and a median index is updated. Only observer validators are authorized to broadcast this message. @@ -72,26 +76,23 @@ message MsgGasPriceVoter { ## MsgVoteOnObservedOutboundTx -VoteOnObservedOutboundTx casts a vote on an outbound transaction observed on a connected chain (after -it has been broadcasted to and finalized on a connected chain). If this is -the first vote, a new ballot is created. When a threshold of votes is -reached, the ballot is finalized. When a ballot is finalized, the outbound -transaction is processed. +VoteOnObservedOutboundTx casts a vote on an outbound transaction observed on a +connected chain (after it has been broadcasted to and finalized on a connected +chain). If this is the first vote, a new ballot is created. When a threshold of +votes is reached, the ballot is finalized. When a ballot is finalized, the +outbound transaction is processed. -If the observation is successful, the difference between zeta burned -and minted is minted by the bank module and deposited into the module -account. +If the observation is successful, the difference between zeta burned and minted +is minted by the bank module and deposited into the module account. -If the observation is unsuccessful, the logic depends on the previous -status. +If the observation is unsuccessful, the logic depends on the previous status. If the previous status was `PendingOutbound`, a new revert transaction is created. To cover the revert transaction fee, the required amount of tokens submitted with the CCTX are swapped using a Uniswap V2 contract instance on -ZetaChain for the ZRC20 of the gas token of the receiver chain. The ZRC20 -tokens are then -burned. The nonce is updated. If everything is successful, the CCTX status is -changed to `PendingRevert`. +ZetaChain for the ZRC20 of the gas token of the receiver chain. The ZRC20 tokens +are then burned. The nonce is updated. If everything is successful, the CCTX +status is changed to `PendingRevert`. If the previous status was `PendingRevert`, the CCTX is aborted. @@ -133,28 +134,28 @@ message MsgVoteOnObservedOutboundTx { ## MsgVoteOnObservedInboundTx -VoteOnObservedInboundTx casts a vote on an inbound transaction observed on a connected chain. If this -is the first vote, a new ballot is created. When a threshold of votes is -reached, the ballot is finalized. When a ballot is finalized, a new CCTX is -created. - -If the receiver chain is ZetaChain, `HandleEVMDeposit` is called. If the -tokens being deposited are ZETA, `MintZetaToEVMAccount` is called and the -tokens are minted to the receiver account on ZetaChain. If the tokens being -deposited are gas tokens or ERC20 of a connected chain, ZRC20's `deposit` -method is called and the tokens are deposited to the receiver account on -ZetaChain. If the message is not empty, system contract's `depositAndCall` -method is also called and an omnichain contract on ZetaChain is executed. -Omnichain contract address and arguments are passed as part of the message. -If everything is successful, the CCTX status is changed to `OutboundMined`. +VoteOnObservedInboundTx casts a vote on an inbound transaction observed on a +connected chain. If this is the first vote, a new ballot is created. When a +threshold of votes is reached, the ballot is finalized. When a ballot is +finalized, a new CCTX is created. + +If the receiver chain is ZetaChain, `HandleEVMDeposit` is called. If the tokens +being deposited are ZETA, `MintZetaToEVMAccount` is called and the tokens are +minted to the receiver account on ZetaChain. If the tokens being deposited are +gas tokens or ERC20 of a connected chain, ZRC20's `deposit` method is called and +the tokens are deposited to the receiver account on ZetaChain. If the message is +not empty, system contract's `depositAndCall` method is also called and an +omnichain contract on ZetaChain is executed. Omnichain contract address and +arguments are passed as part of the message. If everything is successful, the +CCTX status is changed to `OutboundMined`. If the receiver chain is a connected chain, the `FinalizeInbound` method is -called to prepare the CCTX to be processed as an outbound transaction. To -cover the outbound transaction fee, the required amount of tokens submitted -with the CCTX are swapped using a Uniswap V2 contract instance on ZetaChain -for the ZRC20 of the gas token of the receiver chain. The ZRC20 tokens are -then burned. The nonce is updated. If everything is successful, the CCTX -status is changed to `PendingOutbound`. +called to prepare the CCTX to be processed as an outbound transaction. To cover +the outbound transaction fee, the required amount of tokens submitted with the +CCTX are swapped using a Uniswap V2 contract instance on ZetaChain for the ZRC20 +of the gas token of the receiver chain. The ZRC20 tokens are then burned. The +nonce is updated. If everything is successful, the CCTX status is changed to +`PendingOutbound`. ```mermaid stateDiagram-v2 @@ -197,7 +198,7 @@ message MsgVoteOnObservedInboundTx { ## MsgWhitelistERC20 WhitelistERC20 deploys a new zrc20, create a foreign coin object for the ERC20 -and emit a crosschain tx to whitelist the ERC20 on the external chain +and emit a crosschain tx to whitelist the ERC20 on the connected chain Authorized: admin policy group 1. @@ -238,14 +239,15 @@ message MsgMigrateTssFunds { ## MsgCreateTSSVoter -CreateTSSVoter votes on creating a TSS key and recording the information about it (public -key, participant and operator addresses, finalized and keygen heights). +CreateTSSVoter votes on creating a TSS key and recording the information about +it (public key, participant and operator addresses, finalized and keygen +heights). -If the vote passes, the information about the TSS key is recorded on chain -and the status of the keygen is set to "success". +If the vote passes, the information about the TSS key is recorded on chain and +the status of the keygen is set to "success". -Fails if the keygen does not exist, the keygen has been already -completed, or the keygen has failed. +Fails if the keygen does not exist, the keygen has been already completed, or +the keygen has failed. Only node accounts are authorized to broadcast this message. @@ -260,8 +262,7 @@ message MsgCreateTSSVoter { ## MsgAbortStuckCCTX -AbortStuckCCTX aborts a stuck CCTX -Authorized: admin policy group 2 +AbortStuckCCTX aborts a stuck CCTX Authorized: admin policy group 2 ```proto message MsgAbortStuckCCTX { @@ -272,11 +273,11 @@ message MsgAbortStuckCCTX { ## MsgRefundAbortedCCTX -RefundAbortedCCTX refunds the aborted CCTX. -It verifies if the CCTX is aborted and not refunded, and if the refund address is valid. -It refunds the amount to the refund address and sets the CCTX as refunded. -Refer to documentation for GetRefundAddress for the refund address logic. -Refer to documentation for GetAbortedAmount for the aborted amount logic. +RefundAbortedCCTX refunds the aborted CCTX. It verifies if the CCTX is aborted +and not refunded, and if the refund address is valid. It refunds the amount to +the refund address and sets the CCTX as refunded. Refer to documentation for +GetRefundAddress for the refund address logic. Refer to documentation for +GetAbortedAmount for the aborted amount logic. ```proto message MsgRefundAbortedCCTX { @@ -285,4 +286,3 @@ message MsgRefundAbortedCCTX { string refund_address = 3; } ``` - diff --git a/src/pages/architecture/modules/crosschain/overview.mdx b/src/pages/developers/architecture/modules/crosschain/overview.mdx similarity index 98% rename from src/pages/architecture/modules/crosschain/overview.mdx rename to src/pages/developers/architecture/modules/crosschain/overview.mdx index 3f371d52..2bdcbae1 100644 --- a/src/pages/architecture/modules/crosschain/overview.mdx +++ b/src/pages/developers/architecture/modules/crosschain/overview.mdx @@ -1,4 +1,8 @@ -# Overview +--- +title: Cross-Chain Module +--- + +## Overview The `crosschain` module tracks inbound and outbound cross-chain transactions (CCTX). diff --git a/src/pages/developers/architecture/modules/emissions/_meta.json b/src/pages/developers/architecture/modules/emissions/_meta.json new file mode 100644 index 00000000..95f0503f --- /dev/null +++ b/src/pages/developers/architecture/modules/emissions/_meta.json @@ -0,0 +1,3 @@ +{ + "overview": "Emissions Module" +} diff --git a/src/pages/architecture/modules/emissions/overview.mdx b/src/pages/developers/architecture/modules/emissions/overview.mdx similarity index 93% rename from src/pages/architecture/modules/emissions/overview.mdx rename to src/pages/developers/architecture/modules/emissions/overview.mdx index 84593191..4b9322d2 100644 --- a/src/pages/architecture/modules/emissions/overview.mdx +++ b/src/pages/developers/architecture/modules/emissions/overview.mdx @@ -1,4 +1,8 @@ -# Overview +--- +title: Emissions Module +--- + +## Overview The `emissions` module is responsible for orchestrating rewards distribution for observers, validators and TSS signers. Currently, it only distributes rewards to diff --git a/src/pages/developers/architecture/modules/fungible/_meta.json b/src/pages/developers/architecture/modules/fungible/_meta.json new file mode 100644 index 00000000..3f86e868 --- /dev/null +++ b/src/pages/developers/architecture/modules/fungible/_meta.json @@ -0,0 +1,4 @@ +{ + "overview": "Fungible Module", + "messages": "Messages" +} diff --git a/src/pages/architecture/modules/fungible/messages.mdx b/src/pages/developers/architecture/modules/fungible/messages.mdx similarity index 84% rename from src/pages/architecture/modules/fungible/messages.mdx rename to src/pages/developers/architecture/modules/fungible/messages.mdx index 8b92ef5b..0da3e392 100644 --- a/src/pages/architecture/modules/fungible/messages.mdx +++ b/src/pages/developers/architecture/modules/fungible/messages.mdx @@ -1,4 +1,6 @@ -# Messages +--- +title: Messages +--- ## MsgDeploySystemContracts @@ -18,18 +20,18 @@ DeployFungibleCoinZRC20 deploys a fungible coin from a connected chains as a ZRC If this is a gas coin, the following happens: -* ZRC20 contract for the coin is deployed -* contract address of ZRC20 is set as a token address in the system -contract -* ZETA tokens are minted and deposited into the module account -* setGasZetaPool is called on the system contract to add the information -about the pool to the system contract -* addLiquidityETH is called to add liquidity to the pool +- ZRC20 contract for the coin is deployed +- contract address of ZRC20 is set as a token address in the system + contract +- ZETA tokens are minted and deposited into the module account +- setGasZetaPool is called on the system contract to add the information + about the pool to the system contract +- addLiquidityETH is called to add liquidity to the pool If this is a non-gas coin, the following happens: -* ZRC20 contract for the coin is deployed -* The coin is added to the list of foreign coins in the module's state +- ZRC20 contract for the coin is deployed +- The coin is added to the list of foreign coins in the module's state Authorized: admin policy group 2. @@ -130,4 +132,3 @@ message MsgUpdateZRC20LiquidityCap { string liquidity_cap = 3; } ``` - diff --git a/src/pages/architecture/modules/fungible/overview.mdx b/src/pages/developers/architecture/modules/fungible/overview.mdx similarity index 95% rename from src/pages/architecture/modules/fungible/overview.mdx rename to src/pages/developers/architecture/modules/fungible/overview.mdx index f7c477f2..c2009fac 100644 --- a/src/pages/architecture/modules/fungible/overview.mdx +++ b/src/pages/developers/architecture/modules/fungible/overview.mdx @@ -1,4 +1,8 @@ -# Overview +--- +title: Fungible Module +--- + +## Overview The `fungible` module facilitates the deployment of fungible tokens of connected blockchains (called "foreign coins") on ZetaChain. diff --git a/src/pages/developers/architecture/modules/observer/_meta.json b/src/pages/developers/architecture/modules/observer/_meta.json new file mode 100644 index 00000000..ccbcb980 --- /dev/null +++ b/src/pages/developers/architecture/modules/observer/_meta.json @@ -0,0 +1,4 @@ +{ + "overview": "Observer Module", + "messages": "Messages" +} diff --git a/src/pages/architecture/modules/observer/messages.mdx b/src/pages/developers/architecture/modules/observer/messages.mdx similarity index 98% rename from src/pages/architecture/modules/observer/messages.mdx rename to src/pages/developers/architecture/modules/observer/messages.mdx index 891834e1..0e632853 100644 --- a/src/pages/architecture/modules/observer/messages.mdx +++ b/src/pages/developers/architecture/modules/observer/messages.mdx @@ -1,4 +1,6 @@ -# Messages +--- +title: Messages +--- ## MsgAddObserver diff --git a/src/pages/architecture/modules/observer/overview.mdx b/src/pages/developers/architecture/modules/observer/overview.mdx similarity index 96% rename from src/pages/architecture/modules/observer/overview.mdx rename to src/pages/developers/architecture/modules/observer/overview.mdx index 40f28933..fe0344f8 100644 --- a/src/pages/architecture/modules/observer/overview.mdx +++ b/src/pages/developers/architecture/modules/observer/overview.mdx @@ -1,4 +1,8 @@ -# Overview +--- +title: Observer Module +--- + +## Overview The `observer` module keeps track of ballots for voting, a mapping between chains and observer accounts, a list of supported connected chains, core diff --git a/src/pages/architecture/observers.mdx b/src/pages/developers/architecture/observers.mdx similarity index 59% rename from src/pages/architecture/observers.mdx rename to src/pages/developers/architecture/observers.mdx index e451d0c1..14a3b090 100644 --- a/src/pages/architecture/observers.mdx +++ b/src/pages/developers/architecture/observers.mdx @@ -1,18 +1,21 @@ -import { ObserverList, ObserverParams } from "~/components/Docs"; -import { Alert } from "~/components/shared"; +--- +title: Observer-Signer Validators +--- + +import { ObserverList } from "~/components/Docs"; -# Observer-Signer Validators +import { Alert } from "~/components/shared"; ZetaChain has two types of validators: core validators and observer-signer validators (observer-signers). - - ZetaChain is designed to have two types of validators: observers and signers. Observers monitor activities on - connected chains, while signers handle the signing of transactions from the Threshold Signature Scheme (TSS) address - on behalf of the protocol. However, currently, all observer-signer validators on ZetaChain perform both roles, acting - as both observers and signers. This means each observer-signer validator simultaneously observes transactions on - connected chains and participates in transaction signing. - +ZetaChain is designed to have two types of validators: observers and signers. +Observers monitor activities on connected chains, while signers handle the +signing of transactions from the Threshold Signature Scheme (TSS) address on +behalf of the protocol. However, currently, all observer-signer validators on +ZetaChain perform both roles, acting as both observers and signers. This means +each observer-signer validator simultaneously observes transactions on connected +chains and participates in transaction signing. Observer-signers are tasked with running nodes of connected chains, observing them with `zetaclient` and writing transactions to connected chains. @@ -23,8 +26,7 @@ where observer-signers can observe only the subset of chains they are interested in (for example, their infrastructure is built around running EVM nodes). In the current version of the protocol, all observers-signers are observing all chains. -A list of [observer-signers](/architecture/modules/observer/overview) on the -ZetaChain testnet: +A list of observer-signers on the ZetaChain testnet: @@ -32,5 +34,3 @@ As they perform a critical function in the system, the minimum self delegation/stake required to be an observer-signer is set as a param of the `observer` module on a per chain basis. This is to ensure that observer-signer validators are incentivized to perform their duties and are not malicious. - - diff --git a/src/pages/developers/architecture/overview.mdx b/src/pages/developers/architecture/overview.mdx new file mode 100644 index 00000000..2c9b6f3e --- /dev/null +++ b/src/pages/developers/architecture/overview.mdx @@ -0,0 +1,71 @@ +--- +title: Architecture +--- + +import { Alert } from "~/components/shared"; + +## Overview + +At a high level, ZetaChain is a Proof of Stake (PoS) blockchain built on the +Cosmos SDK and Comet BFT consensus engine. As a result, ZetaChain enjoys fast +block time (~5s) and instant finality (no confirmation needed, no +re-organization allowed). The Comet BFT consensus engine has shown to scale to +~300 nodes in production. With future upgrades with BLS threshold signatures the +number can potentially increase to 1000+. The throughput of transactions on +ZetaChain can potentially reach 100 transactions per second TPS due to the +efficiency of the consensus protocol. + +The ZetaChain architecture consists of a distributed network of nodes, often +referred to as validators. Validators act as decentralized observers that reach +consensus on relevant connected chain state and events, and can also +update connected chain state via distributed key signing. ZetaChain accomplishes +these functions in a decentralized (without a single point of failure, +trustless, permissionless), transparent, and efficient way. + +Contained within each validator is the ZetaCore and ZetaClient. ZetaCore is +responsible for producing the blockchain and maintaining the replicated state +machine. ZetaClient is responsible for observing events on connected chains and +signing outbound transactions. + +ZetaCore and ZetaClient are bundled together and run by node operators. Anyone +can become a node operator to participate in validation provided that enough +bonds are staked. + +![](/img/docs/architecture-1.png) + +## Validators + +Validators are comprised of 2 different roles: Core Validators and +Observer-Signer Validators. Fees from transactions and rewards are distributed +to validators in return for their service of processing transactions and keeping +the network secure. + +### Core Validators + +ZetaChain uses the Comet BFT consensus protocol which is a partially synchronous +Byzantine Fault Tolerant (BFT) consensus algorithm. Each validator node can vote +on block proposals with voting power proportional to the staking coins (ZETA), +bonded/delegated. Each validator is identified by its consensus public key. +Validators need to be online all the time, ready to participate in the +constantly growing block production. In exchange for their service, validators +will receive block rewards and transaction fees. + +### Observer-Signer Validators + +Another set of important participants for ZetaChain consensus are the +observer-signer validators who reach consensus on connected chain events and +states. The observer-signers watch connected chains for certain relevant +transactions/events/states at particular addresses via their full nodes of +connected chains. + +ZetaChain collectively holds standard ECDSA/EdDSA keys for authenticated +interaction with connected chains. The keys are distributed among multiple +observer-signers in such a way that only a super majority of them can sign on +behalf of the ZetaChain. The ZetaChain system uses bonded stakes and +positive/negative incentives to ensure economic safety. + + + {" "} + It's important to note that at no time is any single entity or small fraction of nodes able to sign messages on behalf + of ZetaChain on connected chains.{" "} + diff --git a/src/pages/architecture/privileged.mdx b/src/pages/developers/architecture/privileged.mdx similarity index 73% rename from src/pages/architecture/privileged.mdx rename to src/pages/developers/architecture/privileged.mdx index fc5ad4c5..4768fa92 100644 --- a/src/pages/architecture/privileged.mdx +++ b/src/pages/developers/architecture/privileged.mdx @@ -1,7 +1,8 @@ -import { AdminPolicy } from "~/components/Docs"; -import { Alert } from "~/components/shared"; +--- +title: Privileged Actions +--- -# Privileged Actions +import { Alert } from "~/components/shared"; Certain privileged actions (transaction messages) are only allowed to be performed by authorized entities. Some messages require the sender to be an @@ -36,11 +37,10 @@ To learn which policy accounts can send which privileged messages, check the module documentation and look for "Authorized" notice next to each message. - You may notice that policy accounts below are called "Group1" and "Group2". These are just names that indicate the - level of permissions and are not related to the actual groups associated with policy accounts. As you can see in - testnet there are two entries ("Group1" and "Group2") and both point to the same policy account. This means that right - now even though there are two levels of permissions ("Group1" and "Group2") there is only one policy account that is - authorized to perform privileged actions. On mainnet this might change. + {" "} + Notice that policy accounts below are called "Group1" and "Group2". These are just names that indicate the level of permissions + and are not related to the actual groups associated with policy accounts. As you can see in testnet there are two entries + ("Group1" and "Group2") and both point to the same policy account. This means that right now even though there are two + levels of permissions ("Group1" and "Group2") there is only one policy account that is authorized to perform privileged + actions. On mainnet this might change.{" "} - - diff --git a/src/pages/developers/architecture/protocol/README.md b/src/pages/developers/architecture/protocol/README.md new file mode 100644 index 00000000..d5f72b3d --- /dev/null +++ b/src/pages/developers/architecture/protocol/README.md @@ -0,0 +1,55 @@ +### ⚠️ Important Notice: V2 in Development + +We are currently developing Version 2 (V2) of our smart contract architecture. This new version will significantly enhance the developer experience for building Universal Apps. + +Developers can already begin testing the new interface by referring to [the V2 Localnet guide](./scripts/localnet//v2_localnet.md). + +### Build + +```shell +$ forge build +``` + +### Test + +```shell +$ forge test +``` + +### Format + +```shell +$ forge fmt +``` + +### Gas Snapshots + +```shell +$ forge snapshot +``` + +### Anvil + +```shell +$ anvil +``` + +### Deploy using script + +```shell +$ forge script script/.s.sol: --rpc-url --private-key +``` + +### Cast + +```shell +$ cast +``` + +### Help + +```shell +$ forge --help +$ anvil --help +$ cast --help +``` diff --git a/src/pages/developers/architecture/protocol/SUMMARY.md b/src/pages/developers/architecture/protocol/SUMMARY.md new file mode 100644 index 00000000..b222ddca --- /dev/null +++ b/src/pages/developers/architecture/protocol/SUMMARY.md @@ -0,0 +1,38 @@ +# Summary +- [Home](README.md) +# contracts + - [❱ evm](contracts/evm/README.md) + - [❱ interfaces](contracts/evm/interfaces/README.md) + - [IERC20CustodyEvents](contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyEvents.md) + - [IERC20CustodyErrors](contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyErrors.md) + - [IERC20Custody](contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20Custody.md) + - [IGatewayEVMEvents](contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMEvents.md) + - [IGatewayEVMErrors](contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMErrors.md) + - [IGatewayEVM](contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVM.md) + - [IZetaConnectorEvents](contracts/evm/interfaces/IZetaConnector.sol/interface.IZetaConnectorEvents.md) + - [IZetaNonEthNew](contracts/evm/interfaces/IZetaNonEthNew.sol/interface.IZetaNonEthNew.md) + - [ERC20Custody](contracts/evm/ERC20Custody.sol/contract.ERC20Custody.md) + - [GatewayEVM](contracts/evm/GatewayEVM.sol/contract.GatewayEVM.md) + - [ZetaConnectorBase](contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md) + - [ZetaConnectorNative](contracts/evm/ZetaConnectorNative.sol/contract.ZetaConnectorNative.md) + - [ZetaConnectorNonNative](contracts/evm/ZetaConnectorNonNative.sol/contract.ZetaConnectorNonNative.md) + - [❱ zevm](contracts/zevm/README.md) + - [❱ interfaces](contracts/zevm/interfaces/README.md) + - [IGatewayZEVMEvents](contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md) + - [IGatewayZEVMErrors](contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md) + - [IGatewayZEVM](contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVM.md) + - [ISystem](contracts/zevm/interfaces/ISystem.sol/interface.ISystem.md) + - [IWETH9](contracts/zevm/interfaces/IWZETA.sol/interface.IWETH9.md) + - [IZRC20](contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20.md) + - [IZRC20Metadata](contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20Metadata.md) + - [ZRC20Events](contracts/zevm/interfaces/IZRC20.sol/interface.ZRC20Events.md) + - [CoinType](contracts/zevm/interfaces/IZRC20.sol/enum.CoinType.md) + - [zContext](contracts/zevm/interfaces/UniversalContract.sol/struct.zContext.md) + - [zContract](contracts/zevm/interfaces/UniversalContract.sol/interface.zContract.md) + - [UniversalContract](contracts/zevm/interfaces/UniversalContract.sol/interface.UniversalContract.md) + - [GatewayZEVM](contracts/zevm/GatewayZEVM.sol/contract.GatewayZEVM.md) + - [ZRC20Errors](contracts/zevm/ZRC20.sol/interface.ZRC20Errors.md) + - [ZRC20](contracts/zevm/ZRC20.sol/contract.ZRC20.md) + - [RevertOptions](contracts/Revert.sol/struct.RevertOptions.md) + - [RevertContext](contracts/Revert.sol/struct.RevertContext.md) + - [Revertable](contracts/Revert.sol/interface.Revertable.md) diff --git a/src/pages/developers/architecture/protocol/contracts/README.md b/src/pages/developers/architecture/protocol/contracts/README.md new file mode 100644 index 00000000..aea1f3f5 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/README.md @@ -0,0 +1,8 @@ + + +# Contents +- [evm](/contracts/evm) +- [zevm](/contracts/zevm) +- [RevertOptions](Revert.sol/struct.RevertOptions.md) +- [RevertContext](Revert.sol/struct.RevertContext.md) +- [Revertable](Revert.sol/interface.Revertable.md) diff --git a/src/pages/developers/architecture/protocol/contracts/Revert.sol/interface.Revertable.md b/src/pages/developers/architecture/protocol/contracts/Revert.sol/interface.Revertable.md new file mode 100644 index 00000000..30281bd5 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/Revert.sol/interface.Revertable.md @@ -0,0 +1,22 @@ +# Revertable +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/Revert.sol) + +Interface for contracts that support revertable calls. + + +## Functions +### onRevert + +Called when a revertable call is made. + + +```solidity +function onRevert(RevertContext calldata revertContext) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + diff --git a/src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertContext.md b/src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertContext.md new file mode 100644 index 00000000..536cfe42 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertContext.md @@ -0,0 +1,22 @@ +# RevertContext +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/Revert.sol) + +Struct containing revert context passed to onRevert. + + +```solidity +struct RevertContext { + address asset; + uint64 amount; + bytes revertMessage; +} +``` + +**Properties** + +|Name|Type|Description| +|----|----|-----------| +|`asset`|`address`|Address of asset, empty if it's gas token.| +|`amount`|`uint64`|Amount specified with the transaction.| +|`revertMessage`|`bytes`|Arbitrary data sent back in onRevert.| + diff --git a/src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertOptions.md b/src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertOptions.md new file mode 100644 index 00000000..d575bafd --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/Revert.sol/struct.RevertOptions.md @@ -0,0 +1,26 @@ +# RevertOptions +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/Revert.sol) + +Struct containing revert options + + +```solidity +struct RevertOptions { + address revertAddress; + bool callOnRevert; + address abortAddress; + bytes revertMessage; + uint256 onRevertGasLimit; +} +``` + +**Properties** + +|Name|Type|Description| +|----|----|-----------| +|`revertAddress`|`address`|Address to receive revert.| +|`callOnRevert`|`bool`|Flag if onRevert hook should be called.| +|`abortAddress`|`address`|Address to receive funds if aborted.| +|`revertMessage`|`bytes`|Arbitrary data sent back in onRevert.| +|`onRevertGasLimit`|`uint256`|Gas limit for revert tx, unused on GatewayZEVM methods| + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/ERC20Custody.sol/contract.ERC20Custody.md b/src/pages/developers/architecture/protocol/contracts/evm/ERC20Custody.sol/contract.ERC20Custody.md new file mode 100644 index 00000000..8a66e112 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/ERC20Custody.sol/contract.ERC20Custody.md @@ -0,0 +1,249 @@ +# ERC20Custody +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/ERC20Custody.sol) + +**Inherits:** +[IERC20Custody](/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20Custody.md), ReentrancyGuard, AccessControl, Pausable + +Holds the ERC20 tokens deposited on ZetaChain and includes functionality to call a contract. + +*This contract does not call smart contracts directly, it passes through the Gateway contract.* + + +## State Variables +### gateway +Gateway contract. + + +```solidity +IGatewayEVM public immutable gateway; +``` + + +### whitelisted +Mapping of whitelisted tokens => true/false. + + +```solidity +mapping(address => bool) public whitelisted; +``` + + +### tssAddress +The address of the TSS (Threshold Signature Scheme) contract. + + +```solidity +address public tssAddress; +``` + + +### supportsLegacy +Used to flag if contract supports legacy methods (eg. deposit). + + +```solidity +bool public supportsLegacy; +``` + + +### PAUSER_ROLE +New role identifier for pauser role. + + +```solidity +bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); +``` + + +### WITHDRAWER_ROLE +New role identifier for withdrawer role. + + +```solidity +bytes32 public constant WITHDRAWER_ROLE = keccak256("WITHDRAWER_ROLE"); +``` + + +### WHITELISTER_ROLE +New role identifier for whitelister role. + + +```solidity +bytes32 public constant WHITELISTER_ROLE = keccak256("WHITELISTER_ROLE"); +``` + + +## Functions +### constructor + +Constructor for ERC20Custody. + +*Set admin as default admin and pauser, and tssAddress as tss role.* + + +```solidity +constructor(address gateway_, address tssAddress_, address admin_); +``` + +### pause + +Pause contract. + + +```solidity +function pause() external onlyRole(PAUSER_ROLE); +``` + +### unpause + +Unpause contract. + + +```solidity +function unpause() external onlyRole(PAUSER_ROLE); +``` + +### setSupportsLegacy + +Unpause contract. + + +```solidity +function setSupportsLegacy(bool _supportsLegacy) external onlyRole(DEFAULT_ADMIN_ROLE); +``` + +### whitelist + +Whitelist ERC20 token. + + +```solidity +function whitelist(address token) external onlyRole(WHITELISTER_ROLE); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|address of ERC20 token| + + +### unwhitelist + +Unwhitelist ERC20 token. + + +```solidity +function unwhitelist(address token) external onlyRole(WHITELISTER_ROLE); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|address of ERC20 token| + + +### withdraw + +Withdraw directly transfers the tokens to the destination address without contract call. + +*This function can only be called by the TSS address.* + + +```solidity +function withdraw( + address to, + address token, + uint256 amount +) + external + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|Destination address for the tokens.| +|`token`|`address`|Address of the ERC20 token.| +|`amount`|`uint256`|Amount of tokens to withdraw.| + + +### withdrawAndCall + +WithdrawAndCall transfers tokens to Gateway and call a contract through the Gateway. + +*This function can only be called by the TSS address.* + + +```solidity +function withdrawAndCall( + address to, + address token, + uint256 amount, + bytes calldata data +) + public + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|Address of the contract to call.| +|`token`|`address`|Address of the ERC20 token.| +|`amount`|`uint256`|Amount of tokens to withdraw.| +|`data`|`bytes`|Calldata to pass to the contract call.| + + +### withdrawAndRevert + +WithdrawAndRevert transfers tokens to Gateway and call a contract with a revert functionality through +the Gateway. + +*This function can only be called by the TSS address.* + + +```solidity +function withdrawAndRevert( + address to, + address token, + uint256 amount, + bytes calldata data, + RevertContext calldata revertContext +) + public + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|Address of the contract to call.| +|`token`|`address`|Address of the ERC20 token.| +|`amount`|`uint256`|Amount of tokens to withdraw.| +|`data`|`bytes`|Calldata to pass to the contract call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### deposit + +Deposits asset to custody and pay fee in zeta erc20. + + +```solidity +function deposit( + bytes calldata recipient, + IERC20 asset, + uint256 amount, + bytes calldata message +) + external + nonReentrant + whenNotPaused; +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/GatewayEVM.sol/contract.GatewayEVM.md b/src/pages/developers/architecture/protocol/contracts/evm/GatewayEVM.sol/contract.GatewayEVM.md new file mode 100644 index 00000000..b266db07 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/GatewayEVM.sol/contract.GatewayEVM.md @@ -0,0 +1,480 @@ +# GatewayEVM +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/GatewayEVM.sol) + +**Inherits:** +Initializable, AccessControlUpgradeable, UUPSUpgradeable, [IGatewayEVM](/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVM.md), ReentrancyGuardUpgradeable, PausableUpgradeable + +The GatewayEVM contract is the endpoint to call smart contracts on external chains. + +*The contract doesn't hold any funds and should never have active allowances.* + + +## State Variables +### custody +The address of the custody contract. + + +```solidity +address public custody; +``` + + +### tssAddress +The address of the TSS (Threshold Signature Scheme) contract. + + +```solidity +address public tssAddress; +``` + + +### zetaConnector +The address of the ZetaConnector contract. + + +```solidity +address public zetaConnector; +``` + + +### zetaToken +The address of the Zeta token contract. + + +```solidity +address public zetaToken; +``` + + +### TSS_ROLE +New role identifier for tss role. + + +```solidity +bytes32 public constant TSS_ROLE = keccak256("TSS_ROLE"); +``` + + +### ASSET_HANDLER_ROLE +New role identifier for asset handler role. + + +```solidity +bytes32 public constant ASSET_HANDLER_ROLE = keccak256("ASSET_HANDLER_ROLE"); +``` + + +### PAUSER_ROLE +New role identifier for pauser role. + + +```solidity +bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); +``` + + +## Functions +### constructor + + +```solidity +constructor(); +``` + +### initialize + +Initialize with tss address. address of zeta token and admin account set as DEFAULT_ADMIN_ROLE. + +*Using admin to authorize upgrades and pause, and tss for tss role.* + + +```solidity +function initialize(address tssAddress_, address zetaToken_, address admin_) public initializer; +``` + +### _authorizeUpgrade + +*Authorizes the upgrade of the contract, sender must be owner.* + + +```solidity +function _authorizeUpgrade(address newImplementation) internal override onlyRole(DEFAULT_ADMIN_ROLE); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`newImplementation`|`address`|Address of the new implementation.| + + +### _execute + +*Internal function to execute a call to a destination address.* + + +```solidity +function _execute(address destination, bytes calldata data) internal returns (bytes memory); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`destination`|`address`|Address to call.| +|`data`|`bytes`|Calldata to pass to the call.| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bytes`|The result of the call.| + + +### pause + +Pause contract. + + +```solidity +function pause() external onlyRole(PAUSER_ROLE); +``` + +### unpause + +Unpause contract. + + +```solidity +function unpause() external onlyRole(PAUSER_ROLE); +``` + +### executeRevert + +Transfers msg.value to destination contract and executes it's onRevert function. + +*This function can only be called by the TSS address and it is payable.* + + +```solidity +function executeRevert( + address destination, + bytes calldata data, + RevertContext calldata revertContext +) + public + payable + onlyRole(TSS_ROLE) + whenNotPaused + nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`destination`|`address`|Address to call.| +|`data`|`bytes`|Calldata to pass to the call.| +|`revertContext`|`RevertContext`|| + + +### execute + +Executes a call to a destination address without ERC20 tokens. + +*This function can only be called by the TSS address and it is payable.* + + +```solidity +function execute( + address destination, + bytes calldata data +) + external + payable + onlyRole(TSS_ROLE) + whenNotPaused + nonReentrant + returns (bytes memory); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`destination`|`address`|Address to call.| +|`data`|`bytes`|Calldata to pass to the call.| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bytes`|The result of the call.| + + +### executeWithERC20 + +Executes a call to a destination contract using ERC20 tokens. + +*This function can only be called by the custody or connector address. +It uses the ERC20 allowance system, resetting gateway allowance at the end.* + + +```solidity +function executeWithERC20( + address token, + address to, + uint256 amount, + bytes calldata data +) + public + onlyRole(ASSET_HANDLER_ROLE) + whenNotPaused + nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|Address of the ERC20 token.| +|`to`|`address`|Address of the contract to call.| +|`amount`|`uint256`|Amount of tokens to transfer.| +|`data`|`bytes`|Calldata to pass to the call.| + + +### revertWithERC20 + +Directly transfers ERC20 tokens and calls onRevert. + +*This function can only be called by the custody or connector address.* + + +```solidity +function revertWithERC20( + address token, + address to, + uint256 amount, + bytes calldata data, + RevertContext calldata revertContext +) + external + onlyRole(ASSET_HANDLER_ROLE) + whenNotPaused + nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|Address of the ERC20 token.| +|`to`|`address`|Address of the contract to call.| +|`amount`|`uint256`|Amount of tokens to transfer.| +|`data`|`bytes`|Calldata to pass to the call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### deposit + +Deposits ETH to the TSS address. + + +```solidity +function deposit(address receiver, RevertOptions calldata revertOptions) external payable whenNotPaused nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### deposit + +Deposits ERC20 tokens to the custody or connector contract. + + +```solidity +function deposit( + address receiver, + uint256 amount, + address asset, + RevertOptions calldata revertOptions +) + external + whenNotPaused + nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`amount`|`uint256`|Amount of tokens to deposit.| +|`asset`|`address`|Address of the ERC20 token.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### depositAndCall + +Deposits ETH to the TSS address and calls an omnichain smart contract. + + +```solidity +function depositAndCall( + address receiver, + bytes calldata payload, + RevertOptions calldata revertOptions +) + external + payable + whenNotPaused + nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`payload`|`bytes`|Calldata to pass to the call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### depositAndCall + +Deposits ERC20 tokens to the custody or connector contract and calls an omnichain smart contract. + + +```solidity +function depositAndCall( + address receiver, + uint256 amount, + address asset, + bytes calldata payload, + RevertOptions calldata revertOptions +) + external + whenNotPaused + nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`amount`|`uint256`|Amount of tokens to deposit.| +|`asset`|`address`|Address of the ERC20 token.| +|`payload`|`bytes`|Calldata to pass to the call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### call + +Calls an omnichain smart contract without asset transfer. + + +```solidity +function call( + address receiver, + bytes calldata payload, + RevertOptions calldata revertOptions +) + external + whenNotPaused + nonReentrant; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`payload`|`bytes`|Calldata to pass to the call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### setCustody + +Sets the custody contract address. + + +```solidity +function setCustody(address custody_) external onlyRole(DEFAULT_ADMIN_ROLE); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`custody_`|`address`|Address of the custody contract.| + + +### setConnector + +Sets the connector contract address. + + +```solidity +function setConnector(address zetaConnector_) external onlyRole(DEFAULT_ADMIN_ROLE); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`zetaConnector_`|`address`|Address of the connector contract.| + + +### resetApproval + +*Resets the approval of a token for a specified address. +This is used to ensure that the approval is set to zero before setting it to a new value.* + + +```solidity +function resetApproval(address token, address to) private returns (bool); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|Address of the ERC20 token.| +|`to`|`address`|Address to reset the approval for.| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bool`|True if the approval reset was successful, false otherwise.| + + +### transferFromToAssetHandler + +*Transfers tokens from the sender to the asset handler. +This function handles the transfer of tokens to either the connector or custody contract based on the asset +type.* + + +```solidity +function transferFromToAssetHandler(address from, address token, uint256 amount) private; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`from`|`address`|Address of the sender.| +|`token`|`address`|Address of the ERC20 token.| +|`amount`|`uint256`|Amount of tokens to transfer.| + + +### transferToAssetHandler + +*Transfers tokens to the asset handler. +This function handles the transfer of tokens to either the connector or custody contract based on the asset +type.* + + +```solidity +function transferToAssetHandler(address token, uint256 amount) private; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|Address of the ERC20 token.| +|`amount`|`uint256`|Amount of tokens to transfer.| + + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/README.md b/src/pages/developers/architecture/protocol/contracts/evm/README.md new file mode 100644 index 00000000..cf13d938 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/README.md @@ -0,0 +1,9 @@ + + +# Contents +- [interfaces](/contracts/evm/interfaces) +- [ERC20Custody](ERC20Custody.sol/contract.ERC20Custody.md) +- [GatewayEVM](GatewayEVM.sol/contract.GatewayEVM.md) +- [ZetaConnectorBase](ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md) +- [ZetaConnectorNative](ZetaConnectorNative.sol/contract.ZetaConnectorNative.md) +- [ZetaConnectorNonNative](ZetaConnectorNonNative.sol/contract.ZetaConnectorNonNative.md) diff --git a/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md b/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md new file mode 100644 index 00000000..42fc26bf --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md @@ -0,0 +1,173 @@ +# ZetaConnectorBase +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/ZetaConnectorBase.sol) + +**Inherits:** +[IZetaConnectorEvents](/contracts/evm/interfaces/IZetaConnector.sol/interface.IZetaConnectorEvents.md), ReentrancyGuard, Pausable, AccessControl + +Abstract base contract for ZetaConnector. + +*This contract implements basic functionality for handling tokens and interacting with the Gateway contract.* + + +## State Variables +### gateway +The Gateway contract used for executing cross-chain calls. + + +```solidity +IGatewayEVM public immutable gateway; +``` + + +### zetaToken +The address of the Zeta token. + + +```solidity +address public immutable zetaToken; +``` + + +### WITHDRAWER_ROLE +New role identifier for withdrawer role. + + +```solidity +bytes32 public constant WITHDRAWER_ROLE = keccak256("WITHDRAWER_ROLE"); +``` + + +### PAUSER_ROLE +New role identifier for pauser role. + + +```solidity +bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); +``` + + +### TSS_ROLE +New role identifier for tss role. + + +```solidity +bytes32 public constant TSS_ROLE = keccak256("TSS_ROLE"); +``` + + +## Functions +### constructor + +Constructor for ZetaConnectors. + +*Set admin as default admin and pauser, and tssAddress as tss role.* + + +```solidity +constructor(address gateway_, address zetaToken_, address tssAddress_, address admin_); +``` + +### pause + +Pause contract. + + +```solidity +function pause() external onlyRole(PAUSER_ROLE); +``` + +### unpause + +Unpause contract. + + +```solidity +function unpause() external onlyRole(PAUSER_ROLE); +``` + +### withdraw + +Withdraw tokens to a specified address. + + +```solidity +function withdraw(address to, uint256 amount, bytes32 internalSendHash) external virtual; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| + + +### withdrawAndCall + +Withdraw tokens and call a contract through Gateway. + + +```solidity +function withdrawAndCall(address to, uint256 amount, bytes calldata data, bytes32 internalSendHash) external virtual; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`data`|`bytes`|The calldata to pass to the contract call.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| + + +### withdrawAndRevert + +Withdraw tokens and call a contract with a revert callback through Gateway. + + +```solidity +function withdrawAndRevert( + address to, + uint256 amount, + bytes calldata data, + bytes32 internalSendHash, + RevertContext calldata revertContext +) + external + virtual; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`data`|`bytes`|The calldata to pass to the contract call.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### receiveTokens + +Handle received tokens. + + +```solidity +function receiveTokens(uint256 amount) external virtual; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`amount`|`uint256`|The amount of tokens received.| + + +## Errors +### ZeroAddress +Error indicating that a zero address was provided. + + +```solidity +error ZeroAddress(); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNative.sol/contract.ZetaConnectorNative.md b/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNative.sol/contract.ZetaConnectorNative.md new file mode 100644 index 00000000..87b292d1 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNative.sol/contract.ZetaConnectorNative.md @@ -0,0 +1,130 @@ +# ZetaConnectorNative +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/ZetaConnectorNative.sol) + +**Inherits:** +[ZetaConnectorBase](/contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md) + +Implementation of ZetaConnectorBase for native token handling. + +*This contract directly transfers Zeta tokens and interacts with the Gateway contract.* + + +## Functions +### constructor + + +```solidity +constructor( + address gateway_, + address zetaToken_, + address tssAddress_, + address admin_ +) + ZetaConnectorBase(gateway_, zetaToken_, tssAddress_, admin_); +``` + +### withdraw + +Withdraw tokens to a specified address. + +*This function can only be called by the TSS address.* + + +```solidity +function withdraw( + address to, + uint256 amount, + bytes32 internalSendHash +) + external + override + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| + + +### withdrawAndCall + +Withdraw tokens and call a contract through Gateway. + +*This function can only be called by the TSS address.* + + +```solidity +function withdrawAndCall( + address to, + uint256 amount, + bytes calldata data, + bytes32 internalSendHash +) + external + override + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`data`|`bytes`|The calldata to pass to the contract call.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| + + +### withdrawAndRevert + +Withdraw tokens and call a contract with a revert callback through Gateway. + +*This function can only be called by the TSS address.* + + +```solidity +function withdrawAndRevert( + address to, + uint256 amount, + bytes calldata data, + bytes32 internalSendHash, + RevertContext calldata revertContext +) + external + override + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`data`|`bytes`|The calldata to pass to the contract call.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### receiveTokens + +Handle received tokens. + + +```solidity +function receiveTokens(uint256 amount) external override whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`amount`|`uint256`|The amount of tokens received.| + + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNonNative.sol/contract.ZetaConnectorNonNative.md b/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNonNative.sol/contract.ZetaConnectorNonNative.md new file mode 100644 index 00000000..21492448 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/ZetaConnectorNonNative.sol/contract.ZetaConnectorNonNative.md @@ -0,0 +1,188 @@ +# ZetaConnectorNonNative +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/ZetaConnectorNonNative.sol) + +**Inherits:** +[ZetaConnectorBase](/contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md) + +Implementation of ZetaConnectorBase for non-native token handling. + +*This contract mints and burns Zeta tokens and interacts with the Gateway contract.* + + +## State Variables +### maxSupply +Max supply for minting. + + +```solidity +uint256 public maxSupply = type(uint256).max; +``` + + +## Functions +### constructor + + +```solidity +constructor( + address gateway_, + address zetaToken_, + address tssAddress_, + address admin_ +) + ZetaConnectorBase(gateway_, zetaToken_, tssAddress_, admin_); +``` + +### setMaxSupply + +Set max supply for minting. + +*This function can only be called by the TSS address.* + + +```solidity +function setMaxSupply(uint256 maxSupply_) external onlyRole(TSS_ROLE) whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`maxSupply_`|`uint256`|New max supply.| + + +### withdraw + +Withdraw tokens to a specified address. + +*This function can only be called by the TSS address.* + + +```solidity +function withdraw( + address to, + uint256 amount, + bytes32 internalSendHash +) + external + override + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| + + +### withdrawAndCall + +Withdraw tokens and call a contract through Gateway. + +*This function can only be called by the TSS address, and mints if supply is not reached.* + + +```solidity +function withdrawAndCall( + address to, + uint256 amount, + bytes calldata data, + bytes32 internalSendHash +) + external + override + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`data`|`bytes`|The calldata to pass to the contract call.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| + + +### withdrawAndRevert + +Withdraw tokens and call a contract with a revert callback through Gateway. + +*This function can only be called by the TSS address, and mints if supply is not reached.* + + +```solidity +function withdrawAndRevert( + address to, + uint256 amount, + bytes calldata data, + bytes32 internalSendHash, + RevertContext calldata revertContext +) + external + override + nonReentrant + onlyRole(WITHDRAWER_ROLE) + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to withdraw tokens to.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`data`|`bytes`|The calldata to pass to the contract call.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the transaction.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### receiveTokens + +Handle received tokens and burn them. + + +```solidity +function receiveTokens(uint256 amount) external override whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`amount`|`uint256`|The amount of tokens received.| + + +### _mintTo + +*mints to provided account and checks if totalSupply will be exceeded* + + +```solidity +function _mintTo(address to, uint256 amount, bytes32 internalSendHash) internal; +``` + +## Events +### MaxSupplyUpdated +Event triggered when max supply is updated. + + +```solidity +event MaxSupplyUpdated(uint256 maxSupply); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`maxSupply`|`uint256`|New max supply.| + +## Errors +### ExceedsMaxSupply + +```solidity +error ExceedsMaxSupply(); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20Custody.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20Custody.md new file mode 100644 index 00000000..0dce2739 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20Custody.md @@ -0,0 +1,85 @@ +# IERC20Custody +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IERC20Custody.sol) + +**Inherits:** +[IERC20CustodyEvents](/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyEvents.md), [IERC20CustodyErrors](/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyErrors.md) + + +## Functions +### whitelisted + +Mapping of whitelisted tokens => true/false. + + +```solidity +function whitelisted(address token) external view returns (bool); +``` + +### withdraw + +Withdraw directly transfers the tokens to the destination address without contract call. + +*This function can only be called by the TSS address.* + + +```solidity +function withdraw(address token, address to, uint256 amount) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|Address of the ERC20 token.| +|`to`|`address`|Destination address for the tokens.| +|`amount`|`uint256`|Amount of tokens to withdraw.| + + +### withdrawAndCall + +WithdrawAndCall transfers tokens to Gateway and call a contract through the Gateway. + +*This function can only be called by the TSS address.* + + +```solidity +function withdrawAndCall(address token, address to, uint256 amount, bytes calldata data) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|Address of the ERC20 token.| +|`to`|`address`|Address of the contract to call.| +|`amount`|`uint256`|Amount of tokens to withdraw.| +|`data`|`bytes`|Calldata to pass to the contract call.| + + +### withdrawAndRevert + +WithdrawAndRevert transfers tokens to Gateway and call a contract with a revert functionality through +the Gateway. + +*This function can only be called by the TSS address.* + + +```solidity +function withdrawAndRevert( + address token, + address to, + uint256 amount, + bytes calldata data, + RevertContext calldata revertContext +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|Address of the ERC20 token.| +|`to`|`address`|Address of the contract to call.| +|`amount`|`uint256`|Amount of tokens to withdraw.| +|`data`|`bytes`|Calldata to pass to the contract call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyErrors.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyErrors.md new file mode 100644 index 00000000..2d9792af --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyErrors.md @@ -0,0 +1,31 @@ +# IERC20CustodyErrors +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IERC20Custody.sol) + +Interface for the errors used in the ERC20 custody contract. + + +## Errors +### ZeroAddress +Error for zero address input. + + +```solidity +error ZeroAddress(); +``` + +### NotWhitelisted +Error for not whitelisted ERC20 token + + +```solidity +error NotWhitelisted(); +``` + +### LegacyMethodsNotSupported +Error for calling not supported legacy methods. + + +```solidity +error LegacyMethodsNotSupported(); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyEvents.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyEvents.md new file mode 100644 index 00000000..f50b6fa9 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyEvents.md @@ -0,0 +1,96 @@ +# IERC20CustodyEvents +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IERC20Custody.sol) + +Interface for the events emitted by the ERC20 custody contract. + + +## Events +### Withdrawn +Emitted when tokens are withdrawn. + + +```solidity +event Withdrawn(address indexed to, address indexed token, uint256 amount); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address receiving the tokens.| +|`token`|`address`|The address of the ERC20 token.| +|`amount`|`uint256`|The amount of tokens withdrawn.| + +### WithdrawnAndCalled +Emitted when tokens are withdrawn and a contract call is made. + + +```solidity +event WithdrawnAndCalled(address indexed to, address indexed token, uint256 amount, bytes data); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address receiving the tokens.| +|`token`|`address`|The address of the ERC20 token.| +|`amount`|`uint256`|The amount of tokens withdrawn.| +|`data`|`bytes`|The calldata passed to the contract call.| + +### WithdrawnAndReverted +Emitted when tokens are withdrawn and a revertable contract call is made. + + +```solidity +event WithdrawnAndReverted( + address indexed to, address indexed token, uint256 amount, bytes data, RevertContext revertContext +); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address receiving the tokens.| +|`token`|`address`|The address of the ERC20 token.| +|`amount`|`uint256`|The amount of tokens withdrawn.| +|`data`|`bytes`|The calldata passed to the contract call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + +### Whitelisted +Emitted when ERC20 token is whitelisted + + +```solidity +event Whitelisted(address indexed token); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|address of ERC20 token.| + +### Unwhitelisted +Emitted when ERC20 token is unwhitelisted + + +```solidity +event Unwhitelisted(address indexed token); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|address of ERC20 token.| + +### Deposited +Emitted in legacy deposit method. + + +```solidity +event Deposited(bytes recipient, IERC20 indexed asset, uint256 amount, bytes message); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVM.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVM.md new file mode 100644 index 00000000..5f3ec5e4 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVM.md @@ -0,0 +1,201 @@ +# IGatewayEVM +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IGatewayEVM.sol) + +**Inherits:** +[IGatewayEVMErrors](/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMErrors.md), [IGatewayEVMEvents](/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMEvents.md) + +Interface for the GatewayEVM contract. + + +## Functions +### executeWithERC20 + +Executes a call to a contract using ERC20 tokens. + + +```solidity +function executeWithERC20(address token, address to, uint256 amount, bytes calldata data) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|The address of the ERC20 token.| +|`to`|`address`|The address of the contract to call.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`data`|`bytes`|The calldata to pass to the contract call.| + + +### executeRevert + +Transfers msg.value to destination contract and executes it's onRevert function. + +*This function can only be called by the TSS address and it is payable.* + + +```solidity +function executeRevert( + address destination, + bytes calldata data, + RevertContext calldata revertContext +) + external + payable; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`destination`|`address`|Address to call.| +|`data`|`bytes`|Calldata to pass to the call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### execute + +Executes a call to a contract. + + +```solidity +function execute(address destination, bytes calldata data) external payable returns (bytes memory); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`destination`|`address`|The address of the contract to call.| +|`data`|`bytes`|The calldata to pass to the contract call.| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bytes`|The result of the contract call.| + + +### revertWithERC20 + +Executes a revertable call to a contract using ERC20 tokens. + + +```solidity +function revertWithERC20( + address token, + address to, + uint256 amount, + bytes calldata data, + RevertContext calldata revertContext +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|The address of the ERC20 token.| +|`to`|`address`|The address of the contract to call.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`data`|`bytes`|The calldata to pass to the contract call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### deposit + +Deposits ETH to the TSS address. + + +```solidity +function deposit(address receiver, RevertOptions calldata revertOptions) external payable; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### deposit + +Deposits ERC20 tokens to the custody or connector contract. + + +```solidity +function deposit(address receiver, uint256 amount, address asset, RevertOptions calldata revertOptions) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`amount`|`uint256`|Amount of tokens to deposit.| +|`asset`|`address`|Address of the ERC20 token.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### depositAndCall + +Deposits ETH to the TSS address and calls an omnichain smart contract. + + +```solidity +function depositAndCall( + address receiver, + bytes calldata payload, + RevertOptions calldata revertOptions +) + external + payable; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`payload`|`bytes`|Calldata to pass to the call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### depositAndCall + +Deposits ERC20 tokens to the custody or connector contract and calls an omnichain smart contract. + + +```solidity +function depositAndCall( + address receiver, + uint256 amount, + address asset, + bytes calldata payload, + RevertOptions calldata revertOptions +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`amount`|`uint256`|Amount of tokens to deposit.| +|`asset`|`address`|Address of the ERC20 token.| +|`payload`|`bytes`|Calldata to pass to the call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### call + +Calls an omnichain smart contract without asset transfer. + + +```solidity +function call(address receiver, bytes calldata payload, RevertOptions calldata revertOptions) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`address`|Address of the receiver.| +|`payload`|`bytes`|Calldata to pass to the call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMErrors.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMErrors.md new file mode 100644 index 00000000..72f91335 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMErrors.md @@ -0,0 +1,79 @@ +# IGatewayEVMErrors +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IGatewayEVM.sol) + +Interface for the errors used in the GatewayEVM contract. + + +## Errors +### ExecutionFailed +Error for failed execution. + + +```solidity +error ExecutionFailed(); +``` + +### DepositFailed +Error for failed deposit. + + +```solidity +error DepositFailed(); +``` + +### InsufficientETHAmount +Error for insufficient ETH amount. + + +```solidity +error InsufficientETHAmount(); +``` + +### InsufficientERC20Amount +Error for insufficient ERC20 token amount. + + +```solidity +error InsufficientERC20Amount(); +``` + +### ZeroAddress +Error for zero address input. + + +```solidity +error ZeroAddress(); +``` + +### ApprovalFailed +Error for failed token approval. + + +```solidity +error ApprovalFailed(); +``` + +### CustodyInitialized +Error for already initialized custody. + + +```solidity +error CustodyInitialized(); +``` + +### ConnectorInitialized +Error for already initialized connector. + + +```solidity +error ConnectorInitialized(); +``` + +### NotWhitelistedInCustody +Error when trying to transfer not whitelisted token to custody. + + +```solidity +error NotWhitelistedInCustody(); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMEvents.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMEvents.md new file mode 100644 index 00000000..a59ed493 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMEvents.md @@ -0,0 +1,101 @@ +# IGatewayEVMEvents +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IGatewayEVM.sol) + +Interface for the events emitted by the GatewayEVM contract. + + +## Events +### Executed +Emitted when a contract call is executed. + + +```solidity +event Executed(address indexed destination, uint256 value, bytes data); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`destination`|`address`|The address of the contract called.| +|`value`|`uint256`|The amount of ETH sent with the call.| +|`data`|`bytes`|The calldata passed to the contract call.| + +### Reverted +Emitted when a contract call is reverted. + + +```solidity +event Reverted(address indexed to, address indexed token, uint256 amount, bytes data, RevertContext revertContext); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address of the contract called.| +|`token`|`address`|The address of the ERC20 token, empty if gas token| +|`amount`|`uint256`|The amount of ETH sent with the call.| +|`data`|`bytes`|The calldata passed to the contract call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + +### ExecutedWithERC20 +Emitted when a contract call with ERC20 tokens is executed. + + +```solidity +event ExecutedWithERC20(address indexed token, address indexed to, uint256 amount, bytes data); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`token`|`address`|The address of the ERC20 token.| +|`to`|`address`|The address of the contract called.| +|`amount`|`uint256`|The amount of tokens transferred.| +|`data`|`bytes`|The calldata passed to the contract call.| + +### Deposited +Emitted when a deposit is made. + + +```solidity +event Deposited( + address indexed sender, + address indexed receiver, + uint256 amount, + address asset, + bytes payload, + RevertOptions revertOptions +); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`sender`|`address`|The address of the sender.| +|`receiver`|`address`|The address of the receiver.| +|`amount`|`uint256`|The amount of ETH or tokens deposited.| +|`asset`|`address`|The address of the ERC20 token (zero address if ETH).| +|`payload`|`bytes`|The calldata passed with the deposit.| +|`revertOptions`|`RevertOptions`|Revert options.| + +### Called +Emitted when an omnichain smart contract call is made without asset transfer. + + +```solidity +event Called(address indexed sender, address indexed receiver, bytes payload, RevertOptions revertOptions); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`sender`|`address`|The address of the sender.| +|`receiver`|`address`|The address of the receiver.| +|`payload`|`bytes`|The calldata passed to the call.| +|`revertOptions`|`RevertOptions`|Revert options.| + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaConnector.sol/interface.IZetaConnectorEvents.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaConnector.sol/interface.IZetaConnectorEvents.md new file mode 100644 index 00000000..f1ba7798 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaConnector.sol/interface.IZetaConnectorEvents.md @@ -0,0 +1,55 @@ +# IZetaConnectorEvents +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IZetaConnector.sol) + +Interface for the events emitted by the ZetaConnector contracts. + + +## Events +### Withdrawn +Emitted when tokens are withdrawn. + + +```solidity +event Withdrawn(address indexed to, uint256 amount); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to which the tokens are withdrawn.| +|`amount`|`uint256`|The amount of tokens withdrawn.| + +### WithdrawnAndCalled +Emitted when tokens are withdrawn and a contract is called. + + +```solidity +event WithdrawnAndCalled(address indexed to, uint256 amount, bytes data); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to which the tokens are withdrawn.| +|`amount`|`uint256`|The amount of tokens withdrawn.| +|`data`|`bytes`|The calldata passed to the contract call.| + +### WithdrawnAndReverted +Emitted when tokens are withdrawn and a contract is called with a revert callback. + + +```solidity +event WithdrawnAndReverted(address indexed to, uint256 amount, bytes data, RevertContext revertContext); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|The address to which the tokens are withdrawn.| +|`amount`|`uint256`|The amount of tokens withdrawn.| +|`data`|`bytes`|The calldata passed to the contract call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaNonEthNew.sol/interface.IZetaNonEthNew.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaNonEthNew.sol/interface.IZetaNonEthNew.md new file mode 100644 index 00000000..a7a370f0 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/IZetaNonEthNew.sol/interface.IZetaNonEthNew.md @@ -0,0 +1,47 @@ +# IZetaNonEthNew +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/evm/interfaces/IZetaNonEthNew.sol) + +**Inherits:** +IERC20 + +IZetaNonEthNew is a mintable / burnable version of IERC20. + + +## Functions +### burnFrom + +Burns the specified amount of tokens from the specified account. + +*Emits a {Transfer} event with `to` set to the zero address.* + + +```solidity +function burnFrom(address account, uint256 amount) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`account`|`address`|The address of the account from which tokens will be burned.| +|`amount`|`uint256`|The amount of tokens to burn.| + + +### mint + +Mints the specified amount of tokens to the specified account. + +*Emits a {Transfer} event with `from` set to the zero address.* + + +```solidity +function mint(address mintee, uint256 value, bytes32 internalSendHash) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`mintee`|`address`|The address of the account to which tokens will be minted.| +|`value`|`uint256`|The amount of tokens to mint.| +|`internalSendHash`|`bytes32`|A hash used for internal tracking of the minting transaction.| + + diff --git a/src/pages/developers/architecture/protocol/contracts/evm/interfaces/README.md b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/README.md new file mode 100644 index 00000000..1c636c76 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/evm/interfaces/README.md @@ -0,0 +1,11 @@ + + +# Contents +- [IERC20CustodyEvents](IERC20Custody.sol/interface.IERC20CustodyEvents.md) +- [IERC20CustodyErrors](IERC20Custody.sol/interface.IERC20CustodyErrors.md) +- [IERC20Custody](IERC20Custody.sol/interface.IERC20Custody.md) +- [IGatewayEVMEvents](IGatewayEVM.sol/interface.IGatewayEVMEvents.md) +- [IGatewayEVMErrors](IGatewayEVM.sol/interface.IGatewayEVMErrors.md) +- [IGatewayEVM](IGatewayEVM.sol/interface.IGatewayEVM.md) +- [IZetaConnectorEvents](IZetaConnector.sol/interface.IZetaConnectorEvents.md) +- [IZetaNonEthNew](IZetaNonEthNew.sol/interface.IZetaNonEthNew.md) diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/GatewayZEVM.sol/contract.GatewayZEVM.md b/src/pages/developers/architecture/protocol/contracts/zevm/GatewayZEVM.sol/contract.GatewayZEVM.md new file mode 100644 index 00000000..360fa048 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/GatewayZEVM.sol/contract.GatewayZEVM.md @@ -0,0 +1,458 @@ +# GatewayZEVM +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/GatewayZEVM.sol) + +**Inherits:** +[IGatewayZEVM](/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVM.md), Initializable, AccessControlUpgradeable, UUPSUpgradeable, ReentrancyGuardUpgradeable, PausableUpgradeable + +The GatewayZEVM contract is the endpoint to call smart contracts on omnichain. + +*The contract doesn't hold any funds and should never have active allowances.* + + +## State Variables +### FUNGIBLE_MODULE_ADDRESS +The constant address of the Fungible module. + + +```solidity +address public constant FUNGIBLE_MODULE_ADDRESS = 0x735b14BB79463307AAcBED86DAf3322B1e6226aB; +``` + + +### zetaToken +The address of the Zeta token. + + +```solidity +address public zetaToken; +``` + + +### PAUSER_ROLE +New role identifier for pauser role. + + +```solidity +bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); +``` + + +## Functions +### onlyFungible + +*Only Fungible module address allowed modifier.* + + +```solidity +modifier onlyFungible(); +``` + +### constructor + + +```solidity +constructor(); +``` + +### initialize + +Initialize with address of zeta token and admin account set as DEFAULT_ADMIN_ROLE. + +*Using admin to authorize upgrades and pause.* + + +```solidity +function initialize(address zetaToken_, address admin_) public initializer; +``` + +### _authorizeUpgrade + +*Authorizes the upgrade of the contract.* + + +```solidity +function _authorizeUpgrade(address newImplementation) internal override onlyRole(DEFAULT_ADMIN_ROLE); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`newImplementation`|`address`|The address of the new implementation.| + + +### receive + +*Receive function to receive ZETA from WETH9.withdraw().* + + +```solidity +receive() external payable whenNotPaused; +``` + +### pause + +Pause contract. + + +```solidity +function pause() external onlyRole(PAUSER_ROLE); +``` + +### unpause + +Unpause contract. + + +```solidity +function unpause() external onlyRole(PAUSER_ROLE); +``` + +### _withdrawZRC20 + +*Internal function to withdraw ZRC20 tokens.* + + +```solidity +function _withdrawZRC20(uint256 amount, address zrc20) internal returns (uint256); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`zrc20`|`address`|The address of the ZRC20 token.| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`uint256`|The gas fee for the withdrawal.| + + +### _withdrawZRC20WithGasLimit + +*Internal function to withdraw ZRC20 tokens with gas limit.* + + +```solidity +function _withdrawZRC20WithGasLimit(uint256 amount, address zrc20, uint256 gasLimit) internal returns (uint256); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`gasLimit`|`uint256`|Gas limit.| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`uint256`|The gas fee for the withdrawal.| + + +### _transferZETA + +*Internal function to transfer ZETA tokens.* + + +```solidity +function _transferZETA(uint256 amount, address to) internal; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`to`|`address`|The address to transfer the tokens to.| + + +### withdraw + +Withdraw ZRC20 tokens to an external chain. + + +```solidity +function withdraw( + bytes memory receiver, + uint256 amount, + address zrc20, + RevertOptions calldata revertOptions +) + external + nonReentrant + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### withdrawAndCall + +Withdraw ZRC20 tokens and call a smart contract on an external chain. + + +```solidity +function withdrawAndCall( + bytes memory receiver, + uint256 amount, + address zrc20, + bytes calldata message, + uint256 gasLimit, + RevertOptions calldata revertOptions +) + external + nonReentrant + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`message`|`bytes`|The calldata to pass to the contract call.| +|`gasLimit`|`uint256`|Gas limit.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### withdraw + +Withdraw ZETA tokens to an external chain. + + +```solidity +function withdraw( + bytes memory receiver, + uint256 amount, + uint256 chainId, + RevertOptions calldata revertOptions +) + external + nonReentrant + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`chainId`|`uint256`|| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### withdrawAndCall + +Withdraw ZETA tokens and call a smart contract on an external chain. + + +```solidity +function withdrawAndCall( + bytes memory receiver, + uint256 amount, + uint256 chainId, + bytes calldata message, + RevertOptions calldata revertOptions +) + external + nonReentrant + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`chainId`|`uint256`|Chain id of the external chain.| +|`message`|`bytes`|The calldata to pass to the contract call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### call + +Call a smart contract on an external chain without asset transfer. + + +```solidity +function call( + bytes memory receiver, + address zrc20, + bytes calldata message, + uint256 gasLimit, + RevertOptions calldata revertOptions +) + external + nonReentrant + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`zrc20`|`address`|Address of zrc20 to pay fees.| +|`message`|`bytes`|The calldata to pass to the contract call.| +|`gasLimit`|`uint256`|Gas limit.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### deposit + +Deposit foreign coins into ZRC20. + + +```solidity +function deposit(address zrc20, uint256 amount, address target) external onlyFungible whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to deposit.| +|`target`|`address`|The target address to receive the deposited tokens.| + + +### execute + +Execute a user-specified contract on ZEVM. + + +```solidity +function execute( + zContext calldata context, + address zrc20, + uint256 amount, + address target, + bytes calldata message +) + external + onlyFungible + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`context`|`zContext`|The context of the cross-chain call.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`target`|`address`|The target contract to call.| +|`message`|`bytes`|The calldata to pass to the contract call.| + + +### depositAndCall + +Deposit foreign coins into ZRC20 and call a user-specified contract on ZEVM. + + +```solidity +function depositAndCall( + zContext calldata context, + address zrc20, + uint256 amount, + address target, + bytes calldata message +) + external + onlyFungible + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`context`|`zContext`|The context of the cross-chain call.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`target`|`address`|The target contract to call.| +|`message`|`bytes`|The calldata to pass to the contract call.| + + +### depositAndCall + +Deposit ZETA and call a user-specified contract on ZEVM. + + +```solidity +function depositAndCall( + zContext calldata context, + uint256 amount, + address target, + bytes calldata message +) + external + onlyFungible + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`context`|`zContext`|The context of the cross-chain call.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`target`|`address`|The target contract to call.| +|`message`|`bytes`|The calldata to pass to the contract call.| + + +### executeRevert + +Revert a user-specified contract on ZEVM. + + +```solidity +function executeRevert(address target, RevertContext calldata revertContext) external onlyFungible whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`target`|`address`|The target contract to call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### depositAndRevert + +Deposit foreign coins into ZRC20 and revert a user-specified contract on ZEVM. + + +```solidity +function depositAndRevert( + address zrc20, + uint256 amount, + address target, + RevertContext calldata revertContext +) + external + onlyFungible + whenNotPaused; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to revert.| +|`target`|`address`|The target contract to call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +## Errors +### ZeroAddress +Error indicating a zero address was provided. + + +```solidity +error ZeroAddress(); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/README.md b/src/pages/developers/architecture/protocol/contracts/zevm/README.md new file mode 100644 index 00000000..6bff934d --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/README.md @@ -0,0 +1,7 @@ + + +# Contents +- [interfaces](/contracts/zevm/interfaces) +- [GatewayZEVM](GatewayZEVM.sol/contract.GatewayZEVM.md) +- [ZRC20Errors](ZRC20.sol/interface.ZRC20Errors.md) +- [ZRC20](ZRC20.sol/contract.ZRC20.md) diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/contract.ZRC20.md b/src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/contract.ZRC20.md new file mode 100644 index 00000000..c2ddc955 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/contract.ZRC20.md @@ -0,0 +1,531 @@ +# ZRC20 +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/ZRC20.sol) + +**Inherits:** +[IZRC20Metadata](/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20Metadata.md), [ZRC20Errors](/contracts/zevm/ZRC20.sol/interface.ZRC20Errors.md), [ZRC20Events](/contracts/zevm/interfaces/IZRC20.sol/interface.ZRC20Events.md) + + +## State Variables +### FUNGIBLE_MODULE_ADDRESS +Fungible address is always the same, maintained at the protocol level + + +```solidity +address public constant FUNGIBLE_MODULE_ADDRESS = 0x735b14BB79463307AAcBED86DAf3322B1e6226aB; +``` + + +### CHAIN_ID +Chain id.abi + + +```solidity +uint256 public immutable CHAIN_ID; +``` + + +### COIN_TYPE +Coin type, checkout Interfaces.sol. + + +```solidity +CoinType public immutable COIN_TYPE; +``` + + +### SYSTEM_CONTRACT_ADDRESS +System contract address. + +*Name is in upper case to maintain compatibility with ZRC20.sol v1* + + +```solidity +address public SYSTEM_CONTRACT_ADDRESS; +``` + + +### GAS_LIMIT +Gas limit. + +*Name is in upper case to maintain compatibility with ZRC20.sol v1* + + +```solidity +uint256 public GAS_LIMIT; +``` + + +### PROTOCOL_FLAT_FEE +Protocol flat fee. + +*Name is in upper case to maintain compatibility with ZRC20.sol v1* + + +```solidity +uint256 public override PROTOCOL_FLAT_FEE; +``` + + +### _balances + +```solidity +mapping(address => uint256) private _balances; +``` + + +### _allowances + +```solidity +mapping(address => mapping(address => uint256)) private _allowances; +``` + + +### _totalSupply + +```solidity +uint256 private _totalSupply; +``` + + +### _name + +```solidity +string private _name; +``` + + +### _symbol + +```solidity +string private _symbol; +``` + + +### _decimals + +```solidity +uint8 private _decimals; +``` + + +### gatewayAddress +Gateway contract address. + +*This variable is added at last position to maintain storage layout with ZRC20.sol v1* + + +```solidity +address public gatewayAddress; +``` + + +## Functions +### _msgSender + + +```solidity +function _msgSender() internal view virtual returns (address); +``` + +### onlyFungible + +*Only fungible module modifier.* + + +```solidity +modifier onlyFungible(); +``` + +### constructor + +*The only one allowed to deploy new ZRC20 is fungible address.* + + +```solidity +constructor( + string memory name_, + string memory symbol_, + uint8 decimals_, + uint256 chainid_, + CoinType coinType_, + uint256 gasLimit_, + address systemContractAddress_, + address gatewayAddress_ +); +``` + +### name + +*ZRC20 name* + + +```solidity +function name() public view virtual override returns (string memory); +``` +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`string`|name as string| + + +### setName + +*Name can be updated by fungible module account.* + + +```solidity +function setName(string memory newName) external override onlyFungible; +``` + +### setSymbol + +*Symbol can be updated by fungible module account.* + + +```solidity +function setSymbol(string memory newSymbol) external override onlyFungible; +``` + +### symbol + +*ZRC20 symbol.* + + +```solidity +function symbol() public view virtual override returns (string memory); +``` +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`string`|symbol as string.| + + +### decimals + +*ZRC20 decimals.* + + +```solidity +function decimals() public view virtual override returns (uint8); +``` +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`uint8`|returns uint8 decimals.| + + +### totalSupply + +*ZRC20 total supply.* + + +```solidity +function totalSupply() public view virtual override returns (uint256); +``` +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`uint256`|returns uint256 total supply.| + + +### balanceOf + +*Returns ZRC20 balance of an account.* + + +```solidity +function balanceOf(address account) public view virtual override returns (uint256); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`account`|`address`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`uint256`|uint256 account balance.| + + +### transfer + +*Returns ZRC20 balance of an account.* + + +```solidity +function transfer(address recipient, uint256 amount) public virtual override returns (bool); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`recipient`|`address`|| +|`amount`|`uint256`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bool`|true/false if transfer succeeded/failed.| + + +### allowance + +*Returns token allowance from owner to spender.* + + +```solidity +function allowance(address owner, address spender) public view virtual override returns (uint256); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`owner`|`address`|| +|`spender`|`address`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`uint256`|uint256 allowance.| + + +### approve + +*Approves amount transferFrom for spender.* + + +```solidity +function approve(address spender, uint256 amount) public virtual override returns (bool); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`spender`|`address`|| +|`amount`|`uint256`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bool`|true/false if succeeded/failed.| + + +### transferFrom + +*Transfers tokens from sender to recipient.* + + +```solidity +function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`sender`|`address`|| +|`recipient`|`address`|| +|`amount`|`uint256`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bool`|true/false if succeeded/failed.| + + +### burn + +*Burns an amount of tokens.* + + +```solidity +function burn(uint256 amount) external override returns (bool); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`amount`|`uint256`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bool`|true/false if succeeded/failed.| + + +### _transfer + + +```solidity +function _transfer(address sender, address recipient, uint256 amount) internal virtual; +``` + +### _mint + + +```solidity +function _mint(address account, uint256 amount) internal virtual; +``` + +### _burn + + +```solidity +function _burn(address account, uint256 amount) internal virtual; +``` + +### _approve + + +```solidity +function _approve(address owner, address spender, uint256 amount) internal virtual; +``` + +### deposit + +*Deposits corresponding tokens from external chain, only callable by Fungible module.* + + +```solidity +function deposit(address to, uint256 amount) external override returns (bool); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`address`|| +|`amount`|`uint256`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bool`|true/false if succeeded/failed.| + + +### withdrawGasFee + +*Withdraws gas fees.* + + +```solidity +function withdrawGasFee() public view override returns (address, uint256); +``` +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`address`|returns the ZRC20 address for gas on the same chain of this ZRC20, and calculates the gas fee for withdraw()| +|``|`uint256`|| + + +### withdrawGasFeeWithGasLimit + +*Withdraws gas fees with specified gasLimit* + + +```solidity +function withdrawGasFeeWithGasLimit(uint256 gasLimit) public view override returns (address, uint256); +``` +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`address`|returns the ZRC20 address for gas on the same chain of this ZRC20, and calculates the gas fee for withdraw()| +|``|`uint256`|| + + +### withdraw + +*Withraws ZRC20 tokens to external chains, this function causes cctx module to send out outbound tx to the +outbound chain +this contract should be given enough allowance of the gas ZRC20 to pay for outbound tx gas fee.* + + +```solidity +function withdraw(bytes memory to, uint256 amount) external override returns (bool); +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`to`|`bytes`|| +|`amount`|`uint256`|| + +**Returns** + +|Name|Type|Description| +|----|----|-----------| +|``|`bool`|true/false if succeeded/failed.| + + +### updateSystemContractAddress + +*Updates system contract address. Can only be updated by the fungible module.* + + +```solidity +function updateSystemContractAddress(address addr) external onlyFungible; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`addr`|`address`|| + + +### updateGatewayAddress + +*Updates gateway contract address. Can only be updated by the fungible module.* + + +```solidity +function updateGatewayAddress(address addr) external onlyFungible; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`addr`|`address`|| + + +### updateGasLimit + +*Updates gas limit. Can only be updated by the fungible module.* + + +```solidity +function updateGasLimit(uint256 gasLimit_) external onlyFungible; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`gasLimit_`|`uint256`|| + + +### updateProtocolFlatFee + +*Updates protocol flat fee. Can only be updated by the fungible module.* + + +```solidity +function updateProtocolFlatFee(uint256 protocolFlatFee_) external onlyFungible; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`protocolFlatFee_`|`uint256`|| + + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/interface.ZRC20Errors.md b/src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/interface.ZRC20Errors.md new file mode 100644 index 00000000..50612d52 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/ZRC20.sol/interface.ZRC20Errors.md @@ -0,0 +1,55 @@ +# ZRC20Errors +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/ZRC20.sol) + +*Custom errors for ZRC20* + + +## Errors +### CallerIsNotFungibleModule + +```solidity +error CallerIsNotFungibleModule(); +``` + +### InvalidSender + +```solidity +error InvalidSender(); +``` + +### GasFeeTransferFailed + +```solidity +error GasFeeTransferFailed(); +``` + +### ZeroGasCoin + +```solidity +error ZeroGasCoin(); +``` + +### ZeroGasPrice + +```solidity +error ZeroGasPrice(); +``` + +### LowAllowance + +```solidity +error LowAllowance(); +``` + +### LowBalance + +```solidity +error LowBalance(); +``` + +### ZeroAddress + +```solidity +error ZeroAddress(); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVM.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVM.md new file mode 100644 index 00000000..c9283203 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVM.md @@ -0,0 +1,267 @@ +# IGatewayZEVM +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IGatewayZEVM.sol) + +**Inherits:** +[IGatewayZEVMErrors](/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md), [IGatewayZEVMEvents](/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md) + +Interface for the GatewayZEVM contract. + +*Defines functions for cross-chain interactions and token handling.* + + +## Functions +### withdraw + +Withdraw ZRC20 tokens to an external chain. + + +```solidity +function withdraw( + bytes memory receiver, + uint256 amount, + address zrc20, + RevertOptions calldata revertOptions +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### withdraw + +Withdraw ZETA tokens to an external chain. + + +```solidity +function withdraw( + bytes memory receiver, + uint256 amount, + uint256 chainId, + RevertOptions calldata revertOptions +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`chainId`|`uint256`|| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### withdrawAndCall + +Withdraw ZRC20 tokens and call a smart contract on an external chain. + + +```solidity +function withdrawAndCall( + bytes memory receiver, + uint256 amount, + address zrc20, + bytes calldata message, + uint256 gasLimit, + RevertOptions calldata revertOptions +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`message`|`bytes`|The calldata to pass to the contract call.| +|`gasLimit`|`uint256`|Gas limit.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### withdrawAndCall + +Withdraw ZETA tokens and call a smart contract on an external chain. + + +```solidity +function withdrawAndCall( + bytes memory receiver, + uint256 amount, + uint256 chainId, + bytes calldata message, + RevertOptions calldata revertOptions +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`amount`|`uint256`|The amount of tokens to withdraw.| +|`chainId`|`uint256`|Chain id of the external chain.| +|`message`|`bytes`|The calldata to pass to the contract call.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### call + +Call a smart contract on an external chain without asset transfer. + + +```solidity +function call( + bytes memory receiver, + address zrc20, + bytes calldata message, + uint256 gasLimit, + RevertOptions calldata revertOptions +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`zrc20`|`address`|Address of zrc20 to pay fees.| +|`message`|`bytes`|The calldata to pass to the contract call.| +|`gasLimit`|`uint256`|Gas limit.| +|`revertOptions`|`RevertOptions`|Revert options.| + + +### deposit + +Deposit foreign coins into ZRC20. + + +```solidity +function deposit(address zrc20, uint256 amount, address target) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to deposit.| +|`target`|`address`|The target address to receive the deposited tokens.| + + +### execute + +Execute a user-specified contract on ZEVM. + + +```solidity +function execute( + zContext calldata context, + address zrc20, + uint256 amount, + address target, + bytes calldata message +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`context`|`zContext`|The context of the cross-chain call.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`target`|`address`|The target contract to call.| +|`message`|`bytes`|The calldata to pass to the contract call.| + + +### depositAndCall + +Deposit foreign coins into ZRC20 and call a user-specified contract on ZEVM. + + +```solidity +function depositAndCall( + zContext calldata context, + address zrc20, + uint256 amount, + address target, + bytes calldata message +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`context`|`zContext`|The context of the cross-chain call.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`target`|`address`|The target contract to call.| +|`message`|`bytes`|The calldata to pass to the contract call.| + + +### depositAndCall + +Deposit ZETA and call a user-specified contract on ZEVM. + + +```solidity +function depositAndCall(zContext calldata context, uint256 amount, address target, bytes calldata message) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`context`|`zContext`|The context of the cross-chain call.| +|`amount`|`uint256`|The amount of tokens to transfer.| +|`target`|`address`|The target contract to call.| +|`message`|`bytes`|The calldata to pass to the contract call.| + + +### executeRevert + +Revert a user-specified contract on ZEVM. + + +```solidity +function executeRevert(address target, RevertContext calldata revertContext) external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`target`|`address`|The target contract to call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + +### depositAndRevert + +Deposit foreign coins into ZRC20 and revert a user-specified contract on ZEVM. + + +```solidity +function depositAndRevert( + address zrc20, + uint256 amount, + address target, + RevertContext calldata revertContext +) + external; +``` +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`amount`|`uint256`|The amount of tokens to revert.| +|`target`|`address`|The target contract to call.| +|`revertContext`|`RevertContext`|Revert context to pass to onRevert.| + + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md new file mode 100644 index 00000000..1a3e6962 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md @@ -0,0 +1,103 @@ +# IGatewayZEVMErrors +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IGatewayZEVM.sol) + +Interface for the errors used in the GatewayZEVM contract. + + +## Errors +### WithdrawalFailed +Error indicating a withdrawal failure. + + +```solidity +error WithdrawalFailed(); +``` + +### InsufficientZRC20Amount +Error indicating an insufficient ZRC20 token amount. + + +```solidity +error InsufficientZRC20Amount(); +``` + +### InsufficientZetaAmount +Error indicating an insufficient zeta amount. + + +```solidity +error InsufficientZetaAmount(); +``` + +### ZRC20BurnFailed +Error indicating a failure to burn ZRC20 tokens. + + +```solidity +error ZRC20BurnFailed(); +``` + +### ZRC20TransferFailed +Error indicating a failure to transfer ZRC20 tokens. + + +```solidity +error ZRC20TransferFailed(); +``` + +### ZRC20DepositFailed +Error indicating a failure to deposit ZRC20 tokens. + + +```solidity +error ZRC20DepositFailed(); +``` + +### GasFeeTransferFailed +Error indicating a failure to transfer gas fee. + + +```solidity +error GasFeeTransferFailed(); +``` + +### CallerIsNotFungibleModule +Error indicating that the caller is not the Fungible module. + + +```solidity +error CallerIsNotFungibleModule(); +``` + +### InvalidTarget +Error indicating an invalid target address. + + +```solidity +error InvalidTarget(); +``` + +### FailedZetaSent +Error indicating a failure to send ZETA tokens. + + +```solidity +error FailedZetaSent(); +``` + +### OnlyWZETAOrFungible +Error indicating that only WZETA or the Fungible module can call the function. + + +```solidity +error OnlyWZETAOrFungible(); +``` + +### EmptyMessage +Error indicating call method received empty message as argument. + + +```solidity +error EmptyMessage(); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md new file mode 100644 index 00000000..7c799bbc --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md @@ -0,0 +1,67 @@ +# IGatewayZEVMEvents +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IGatewayZEVM.sol) + +Interface for the events emitted by the GatewayZEVM contract. + + +## Events +### Called +Emitted when a cross-chain call is made. + + +```solidity +event Called( + address indexed sender, + address indexed zrc20, + bytes receiver, + bytes message, + uint256 gasLimit, + RevertOptions revertOptions +); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`sender`|`address`|The address of the sender.| +|`zrc20`|`address`|Address of zrc20 to pay fees.| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`message`|`bytes`|The calldata passed to the contract call.| +|`gasLimit`|`uint256`|Gas limit.| +|`revertOptions`|`RevertOptions`|Revert options.| + +### Withdrawn +Emitted when a withdrawal is made. + + +```solidity +event Withdrawn( + address indexed sender, + uint256 indexed chainId, + bytes receiver, + address zrc20, + uint256 value, + uint256 gasfee, + uint256 protocolFlatFee, + bytes message, + uint256 gasLimit, + RevertOptions revertOptions +); +``` + +**Parameters** + +|Name|Type|Description| +|----|----|-----------| +|`sender`|`address`|The address from which the tokens are withdrawn.| +|`chainId`|`uint256`|Chain id of external chain.| +|`receiver`|`bytes`|The receiver address on the external chain.| +|`zrc20`|`address`|The address of the ZRC20 token.| +|`value`|`uint256`|The amount of tokens withdrawn.| +|`gasfee`|`uint256`|The gas fee for the withdrawal.| +|`protocolFlatFee`|`uint256`|The protocol flat fee for the withdrawal.| +|`message`|`bytes`|The calldata passed to the contract call.| +|`gasLimit`|`uint256`|Gas limit.| +|`revertOptions`|`RevertOptions`|Revert options.| + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/ISystem.sol/interface.ISystem.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/ISystem.sol/interface.ISystem.md new file mode 100644 index 00000000..1094a7ad --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/ISystem.sol/interface.ISystem.md @@ -0,0 +1,51 @@ +# ISystem +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/ISystem.sol) + +Interface for the System contract. + +*Defines functions for system contract callable by fungible module.* + + +## Functions +### FUNGIBLE_MODULE_ADDRESS + + +```solidity +function FUNGIBLE_MODULE_ADDRESS() external view returns (address); +``` + +### wZetaContractAddress + + +```solidity +function wZetaContractAddress() external view returns (address); +``` + +### uniswapv2FactoryAddress + + +```solidity +function uniswapv2FactoryAddress() external view returns (address); +``` + +### gasPriceByChainId + + +```solidity +function gasPriceByChainId(uint256 chainID) external view returns (uint256); +``` + +### gasCoinZRC20ByChainId + + +```solidity +function gasCoinZRC20ByChainId(uint256 chainID) external view returns (address); +``` + +### gasZetaPoolByChainId + + +```solidity +function gasZetaPoolByChainId(uint256 chainID) external view returns (address); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IWZETA.sol/interface.IWETH9.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IWZETA.sol/interface.IWETH9.md new file mode 100644 index 00000000..56031e6b --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IWZETA.sol/interface.IWETH9.md @@ -0,0 +1,88 @@ +# IWETH9 +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IWZETA.sol) + +Interface for the Weth9 contract. + + +## Functions +### totalSupply + + +```solidity +function totalSupply() external view returns (uint256); +``` + +### balanceOf + + +```solidity +function balanceOf(address owner) external view returns (uint256); +``` + +### allowance + + +```solidity +function allowance(address owner, address spender) external view returns (uint256); +``` + +### approve + + +```solidity +function approve(address spender, uint256 wad) external returns (bool); +``` + +### transfer + + +```solidity +function transfer(address to, uint256 wad) external returns (bool); +``` + +### transferFrom + + +```solidity +function transferFrom(address from, address to, uint256 wad) external returns (bool); +``` + +### deposit + + +```solidity +function deposit() external payable; +``` + +### withdraw + + +```solidity +function withdraw(uint256 wad) external; +``` + +## Events +### Approval + +```solidity +event Approval(address indexed owner, address indexed spender, uint256 value); +``` + +### Transfer + +```solidity +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +### Deposit + +```solidity +event Deposit(address indexed dst, uint256 wad); +``` + +### Withdrawal + +```solidity +event Withdrawal(address indexed src, uint256 wad); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/enum.CoinType.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/enum.CoinType.md new file mode 100644 index 00000000..02c70b1e --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/enum.CoinType.md @@ -0,0 +1,14 @@ +# CoinType +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IZRC20.sol) + +*Coin types for ZRC20. Zeta value should not be used.* + + +```solidity +enum CoinType { + Zeta, + Gas, + ERC20 +} +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20.md new file mode 100644 index 00000000..220c1fff --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20.md @@ -0,0 +1,116 @@ +# IZRC20 +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IZRC20.sol) + +Interface for the ZRC20 token contract. + + +## Functions +### totalSupply + + +```solidity +function totalSupply() external view returns (uint256); +``` + +### balanceOf + + +```solidity +function balanceOf(address account) external view returns (uint256); +``` + +### transfer + + +```solidity +function transfer(address recipient, uint256 amount) external returns (bool); +``` + +### allowance + + +```solidity +function allowance(address owner, address spender) external view returns (uint256); +``` + +### approve + + +```solidity +function approve(address spender, uint256 amount) external returns (bool); +``` + +### transferFrom + + +```solidity +function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); +``` + +### deposit + + +```solidity +function deposit(address to, uint256 amount) external returns (bool); +``` + +### burn + + +```solidity +function burn(uint256 amount) external returns (bool); +``` + +### withdraw + + +```solidity +function withdraw(bytes memory to, uint256 amount) external returns (bool); +``` + +### withdrawGasFee + + +```solidity +function withdrawGasFee() external view returns (address, uint256); +``` + +### withdrawGasFeeWithGasLimit + + +```solidity +function withdrawGasFeeWithGasLimit(uint256 gasLimit) external view returns (address, uint256); +``` + +### PROTOCOL_FLAT_FEE + +*Name is in upper case to maintain compatibility with ZRC20.sol v1* + + +```solidity +function PROTOCOL_FLAT_FEE() external view returns (uint256); +``` + +### GAS_LIMIT + +*Name is in upper case to maintain compatibility with ZRC20.sol v1* + + +```solidity +function GAS_LIMIT() external view returns (uint256); +``` + +### setName + + +```solidity +function setName(string memory newName) external; +``` + +### setSymbol + + +```solidity +function setSymbol(string memory newSymbol) external; +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20Metadata.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20Metadata.md new file mode 100644 index 00000000..74798425 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20Metadata.md @@ -0,0 +1,31 @@ +# IZRC20Metadata +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IZRC20.sol) + +**Inherits:** +[IZRC20](/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20.md) + +Interface for the ZRC20 metadata. + + +## Functions +### name + + +```solidity +function name() external view returns (string memory); +``` + +### symbol + + +```solidity +function symbol() external view returns (string memory); +``` + +### decimals + + +```solidity +function decimals() external view returns (uint8); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.ZRC20Events.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.ZRC20Events.md new file mode 100644 index 00000000..cf66ba84 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/IZRC20.sol/interface.ZRC20Events.md @@ -0,0 +1,55 @@ +# ZRC20Events +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/IZRC20.sol) + +Interface for the ZRC20 events. + + +## Events +### Transfer + +```solidity +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +### Approval + +```solidity +event Approval(address indexed owner, address indexed spender, uint256 value); +``` + +### Deposit + +```solidity +event Deposit(bytes from, address indexed to, uint256 value); +``` + +### Withdrawal + +```solidity +event Withdrawal(address indexed from, bytes to, uint256 value, uint256 gasFee, uint256 protocolFlatFee); +``` + +### UpdatedSystemContract + +```solidity +event UpdatedSystemContract(address systemContract); +``` + +### UpdatedGateway + +```solidity +event UpdatedGateway(address gateway); +``` + +### UpdatedGasLimit + +```solidity +event UpdatedGasLimit(uint256 gasLimit); +``` + +### UpdatedProtocolFlatFee + +```solidity +event UpdatedProtocolFlatFee(uint256 protocolFlatFee); +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/README.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/README.md new file mode 100644 index 00000000..b412a802 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/README.md @@ -0,0 +1,15 @@ + + +# Contents +- [IGatewayZEVMEvents](IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md) +- [IGatewayZEVMErrors](IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md) +- [IGatewayZEVM](IGatewayZEVM.sol/interface.IGatewayZEVM.md) +- [ISystem](ISystem.sol/interface.ISystem.md) +- [IWETH9](IWZETA.sol/interface.IWETH9.md) +- [IZRC20](IZRC20.sol/interface.IZRC20.md) +- [IZRC20Metadata](IZRC20.sol/interface.IZRC20Metadata.md) +- [ZRC20Events](IZRC20.sol/interface.ZRC20Events.md) +- [CoinType](IZRC20.sol/enum.CoinType.md) +- [zContext](UniversalContract.sol/struct.zContext.md) +- [zContract](UniversalContract.sol/interface.zContract.md) +- [UniversalContract](UniversalContract.sol/interface.UniversalContract.md) diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.UniversalContract.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.UniversalContract.md new file mode 100644 index 00000000..b8b6afc9 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.UniversalContract.md @@ -0,0 +1,19 @@ +# UniversalContract +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/UniversalContract.sol) + + +## Functions +### onCrossChainCall + + +```solidity +function onCrossChainCall(zContext calldata context, address zrc20, uint256 amount, bytes calldata message) external; +``` + +### onRevert + + +```solidity +function onRevert(RevertContext calldata revertContext) external; +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.zContract.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.zContract.md new file mode 100644 index 00000000..759183e2 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.zContract.md @@ -0,0 +1,12 @@ +# zContract +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/UniversalContract.sol) + + +## Functions +### onCrossChainCall + + +```solidity +function onCrossChainCall(zContext calldata context, address zrc20, uint256 amount, bytes calldata message) external; +``` + diff --git a/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/struct.zContext.md b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/struct.zContext.md new file mode 100644 index 00000000..0f5b5074 --- /dev/null +++ b/src/pages/developers/architecture/protocol/contracts/zevm/interfaces/UniversalContract.sol/struct.zContext.md @@ -0,0 +1,12 @@ +# zContext +[Git Source](https://github.com/zeta-chain/protocol-contracts/blob/c157025a39efca61d83e5991d093a94548f342fb/contracts/zevm/interfaces/UniversalContract.sol) + + +```solidity +struct zContext { + bytes origin; + address sender; + uint256 chainID; +} +``` + diff --git a/src/pages/developers/architecture/protocol/index.md b/src/pages/developers/architecture/protocol/index.md new file mode 100644 index 00000000..b2ed4dfb --- /dev/null +++ b/src/pages/developers/architecture/protocol/index.md @@ -0,0 +1,97 @@ +--- +title: "Protocol contracts" +--- + +### ⚠️ Important Notice: V2 in Development + +We are currently developing Version 2 (V2) of our smart contract architecture. This new version will significantly enhance the developer experience for building Universal Apps. + +Developers can already begin testing the new interface by referring to [the V2 Localnet guide](./scripts/localnet//v2_localnet.md). + +### Build + +```shell +$ forge build +``` + +### Test + +```shell +$ forge test +``` + +### Format + +```shell +$ forge fmt +``` + +### Gas Snapshots + +```shell +$ forge snapshot +``` + +### Anvil + +```shell +$ anvil +``` + +### Deploy using script + +```shell +$ forge script script/.s.sol: --rpc-url --private-key +``` + +### Cast + +```shell +$ cast +``` + +### Help + +```shell +$ forge --help +$ anvil --help +$ cast --help +``` +# Summary +- [Home](README.md) +# contracts + - [❱ evm](protocol/contracts/evm/README.md) + - [❱ interfaces](protocol/contracts/evm/interfaces/README.md) + - [IERC20CustodyEvents](protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyEvents.md) + - [IERC20CustodyErrors](protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20CustodyErrors.md) + - [IERC20Custody](protocol/contracts/evm/interfaces/IERC20Custody.sol/interface.IERC20Custody.md) + - [IGatewayEVMEvents](protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMEvents.md) + - [IGatewayEVMErrors](protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVMErrors.md) + - [IGatewayEVM](protocol/contracts/evm/interfaces/IGatewayEVM.sol/interface.IGatewayEVM.md) + - [IZetaConnectorEvents](protocol/contracts/evm/interfaces/IZetaConnector.sol/interface.IZetaConnectorEvents.md) + - [IZetaNonEthNew](protocol/contracts/evm/interfaces/IZetaNonEthNew.sol/interface.IZetaNonEthNew.md) + - [ERC20Custody](protocol/contracts/evm/ERC20Custody.sol/contract.ERC20Custody.md) + - [GatewayEVM](protocol/contracts/evm/GatewayEVM.sol/contract.GatewayEVM.md) + - [ZetaConnectorBase](protocol/contracts/evm/ZetaConnectorBase.sol/abstract.ZetaConnectorBase.md) + - [ZetaConnectorNative](protocol/contracts/evm/ZetaConnectorNative.sol/contract.ZetaConnectorNative.md) + - [ZetaConnectorNonNative](protocol/contracts/evm/ZetaConnectorNonNative.sol/contract.ZetaConnectorNonNative.md) + - [❱ zevm](protocol/contracts/zevm/README.md) + - [❱ interfaces](protocol/contracts/zevm/interfaces/README.md) + - [IGatewayZEVMEvents](protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMEvents.md) + - [IGatewayZEVMErrors](protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVMErrors.md) + - [IGatewayZEVM](protocol/contracts/zevm/interfaces/IGatewayZEVM.sol/interface.IGatewayZEVM.md) + - [ISystem](protocol/contracts/zevm/interfaces/ISystem.sol/interface.ISystem.md) + - [IWETH9](protocol/contracts/zevm/interfaces/IWZETA.sol/interface.IWETH9.md) + - [IZRC20](protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20.md) + - [IZRC20Metadata](protocol/contracts/zevm/interfaces/IZRC20.sol/interface.IZRC20Metadata.md) + - [ZRC20Events](protocol/contracts/zevm/interfaces/IZRC20.sol/interface.ZRC20Events.md) + - [CoinType](protocol/contracts/zevm/interfaces/IZRC20.sol/enum.CoinType.md) + - [zContext](protocol/contracts/zevm/interfaces/UniversalContract.sol/struct.zContext.md) + - [zContract](protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.zContract.md) + - [UniversalContract](protocol/contracts/zevm/interfaces/UniversalContract.sol/interface.UniversalContract.md) + - [GatewayZEVM](protocol/contracts/zevm/GatewayZEVM.sol/contract.GatewayZEVM.md) + - [ZRC20Errors](protocol/contracts/zevm/ZRC20.sol/interface.ZRC20Errors.md) + - [ZRC20](protocol/contracts/zevm/ZRC20.sol/contract.ZRC20.md) + - [RevertOptions](protocol/contracts/Revert.sol/struct.RevertOptions.md) + - [RevertContext](protocol/contracts/Revert.sol/struct.RevertContext.md) + - [Revertable](protocol/contracts/Revert.sol/interface.Revertable.md) diff --git a/src/pages/architecture/rewards.mdx b/src/pages/developers/architecture/rewards.mdx similarity index 85% rename from src/pages/architecture/rewards.mdx rename to src/pages/developers/architecture/rewards.mdx index 2fb427b0..7e0c2d39 100644 --- a/src/pages/architecture/rewards.mdx +++ b/src/pages/developers/architecture/rewards.mdx @@ -1,4 +1,6 @@ -# Staking Rewards +--- +title: Staking Rewards +--- ZetaChain is a delegated proof of stake blockchain. Holders of ZETA tokens can stake their tokens by delegating to validators. Staking tokens allows holders to @@ -13,8 +15,8 @@ Currently, staking rewards are comprised of transaction fees collected each block and fixed rewards coming from the emissions pool. $$ -StakingRewards = TransactionFees + {EmissionsPool \over NumberOfBlocksPerYear × -4} × ValidatorRewardsPercentage +StakingRewards = TransactionFees + {EmissionsPool \over NumberOfBlocksPerYear +× 4} × ValidatorRewardsPercentage $$ Emissions pool address: @@ -27,5 +29,5 @@ https://zetachain.blockpi.network/lcd/v1/public/cosmos/bank/v1beta1/balances/zet - The emission pool is currently funded manually - Currently, there is no inflation in the network -Learn more about the tokenomics in the -[ZETA Token Utility](/about/token-utility/distribution/) section of the docs. +Learn more about the tokenomics in the [ZETA Token +Utility](/about/token-utility/distribution) section of the docs. diff --git a/src/pages/architecture/whitelisting.mdx b/src/pages/developers/architecture/whitelisting.mdx similarity index 94% rename from src/pages/architecture/whitelisting.mdx rename to src/pages/developers/architecture/whitelisting.mdx index ca1d272f..cff4ce27 100644 --- a/src/pages/architecture/whitelisting.mdx +++ b/src/pages/developers/architecture/whitelisting.mdx @@ -1,4 +1,6 @@ -# Whitelisting ERC-20 +--- +title: Whitelisting ERC-20 +--- ## Overview @@ -18,8 +20,8 @@ be proposed through governance. ## Background The `zetacored` state maintains a list of whitelisted foreign fungible assets, -including ERC20 tokens on external chains in the `foreign_coins` construct. Each -of the `foreign_coin` is manageable by a ZRC20 contract on Zeta EVM. +including ERC20 tokens on connected chains in the `foreign_coins` construct. +Each of the `foreign_coin` is manageable by a ZRC20 contract on Zeta EVM. By default all native gas assets on connected chains will be whitelisted. Other fungible tokens need to be whitelisted. @@ -70,7 +72,7 @@ the following procedure: 2. Add an entry to the state variable viewable at `{IP}:1317/zeta-chain/fungible/foreign_coins`; 3. Whitelist the ERC20 contract address on the `ERC20Custody` contract on that - external chain; + connected chain; After these steps are done, the ERC20 whitelisting is finished. Liquidity for the given asset should promptly begin deposits in order to provide a smooth diff --git a/src/pages/developers/chains/_meta.json b/src/pages/developers/chains/_meta.json new file mode 100644 index 00000000..20ca42be --- /dev/null +++ b/src/pages/developers/chains/_meta.json @@ -0,0 +1,22 @@ +{ + "list": { + "title": "List of Connected Chains", + "description": "" + }, + "zetachain": { + "title": "ZetaChain", + "description": "Make calls from universal apps and withdraw tokens to connected chains" + }, + "evm": { + "title": "EVM Blockchains", + "description": "Make calls to universal apps and deposit tokens from Ethereum, BNB, Polygon, Base and more" + }, + "solana": { + "title": "Solana", + "description": "Make calls to universal apps and deposit SOL from Solana" + }, + "bitcoin": { + "title": "Bitcoin", + "description": "Make calls to universal apps and deposit BTC from Bitcoin" + } +} \ No newline at end of file diff --git a/src/pages/developers/chains/bitcoin.mdx b/src/pages/developers/chains/bitcoin.mdx new file mode 100644 index 00000000..6e2ddb3f --- /dev/null +++ b/src/pages/developers/chains/bitcoin.mdx @@ -0,0 +1,105 @@ +--- +title: Call Universal Apps from Bitcoin +--- + +import { Alert } from "~/components/shared"; + +On Bitcoin the gateway is implemented as an TSS MPC account. The private key +securing the account is split into fragments and distributed among ZetaChain +observer-signer validators. + +Bitcoin gateway supports: + +- depositing BTC to a universal app or an account on ZetaChain +- depositing BTC and calling a universal app + +## Overview + +To deposit BTC into ZetaChain's Universal EVM (and optionally call a smart +contract), the Bitcoin transaction must conform to this specifications: + +1. The Bitcoin transaction must have at least 2 outputs. +2. The first output must be addressed to the TSS Bitcoin address. +3. The second output must be a memo output, i.e. `OP_RETURN PUSH_x [DATA]`. This + output must be less than 80 bytes. +4. The memo `[DATA]` is an array of bytes that encodes the recipient address of + this deposit into ZRC-20 or the smart contract on ZetaChain's EVM that will + be invoked by this transaction. +5. If the purpose of this Bitcoin transaction is to only deposit BTC into the + BTC ZRC-20 on ZetaChain's EVM, then the `[DATA]` should be exactly 20 bytes + long, consists of an Ethereum-style address. +6. If the purpose of this Bitcoin transaction is to deposit BTC and also use the + deposited amount to call a smart contract on ZetaChain's EVM, then the + `[DATA]` field must consists of a smart contract address, and a binary + message that will be forwarded to the said smart contract: + + ``` + [DATA] = [ZetaChain's EVM contract address (20B)] - [arbitrary binary message] + ``` + +## Example 1: Deposit BTC into an account on ZetaChain's EVM + +[Here's](https://blockstream.info/testnet/tx/952d60fd9efc1aad4b87a8a7a6d57a972d49e084de8b5dc524e163216c11c04f?expand) +an example Bitcoin transaction on Bitcoin Testnet that deposits 0.0005 tBTC +(50000 sats) into the address (0x)6da30bfa65e85a16b05bce3846339ed2bc746316. + +Note the three outputs: + +1. sending the intended amount (50000sats) to the current TSS Bitcoin address + tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur. +2. the memo output, encoding the recipient address on ZetaChain's EVM + (0x)6a146da30bfa65e85a16b05bce3846339ed2bc746316. +3. change sent back to the user. + +If you're using ZetaChain's Hardhat [smart contract +template](https://github.com/zeta-chain/template), you can use the `send-btc` +task to transfer BTC: + +``` +npx hardhat send-btc --recipient tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur --amount 0.0005 --memo 6a146da30bfa65e85a16b05bce3846339ed2bc746316 +``` + +Where `recipient` is the TSS Bitcoin address, `amount` is the amount of tBTC to +transfer, and `memo` is the recipient address on ZetaChain's EVM. + +## Example 2: Deposit BTC and call a smart contract on ZetaChain's EVM + + + {" "} + In order to test with Bitcoin, you will need to use a wallet that allows setting an `OP_RETURN` and memos in a binary format. + Please see our wallet suggestions [here](/reference/apps/wallets).{" "} + + +If invalid information is sent (i. e. invalid address), the assets may be lost +and not recoverable. + +In summary, a ZetaChain's EVM BTC transaction would look like this: + +1. A user sends 1 BTC on Bitcoin network to the Bitcoin [TSS + address](/reference/network/contracts) , adding a memo (via `OP_RETURN`) in + the tx saying (colloquially) “deposit to 0x1337”. +2. Upon receiving this tx, the ZetaCore state machine calls the deposit (0x1337, + 1e8) to mint and credit 0x1337 with 1 zBTC minus fees. +3. If 0x1337 is an Externally Owned Account (EOA), that's it. If it’s a + contract, ZetaCore will call the `onCrossChainMessage` function sending the + message that was specified in the `OP_RETURN` memo. + +The TSS address holds the BTC, where ownerships are tracked inside this BTC +ZRC-20 contract. + +## Deposit Fee + +Unlike EVM-based chains, each deposited Bitcoin output incurs a fee when it is +spent. To address this, both the depositor and the withdrawer share the cost of +the spend. This fee is charged in advance as a deposit fee. + +The Bitcoin deposit fee is calculated with the following formula: + +``` +depositFee == (txFee / txVsize) * 68vB * 2 +``` + +- `txFee` is the deposit transaction's fee. This can be calculated by formula: + `totalInputValue - totalOutputValue` +- `txVsize` is the deposit transaction's size in vByte. This can be retrieved + from RPC `GetRawTransaction` (ZetaChain's implementation). diff --git a/src/pages/developers/chains/evm.mdx b/src/pages/developers/chains/evm.mdx new file mode 100644 index 00000000..42e1ec65 --- /dev/null +++ b/src/pages/developers/chains/evm.mdx @@ -0,0 +1,124 @@ +To interact with universal apps from EVM chains (like Ethereum, BNB, Polygon, +etc.) use the EVM gateway. + +EVM gateway supports: + +- depositing gas tokens to a universal app or an account on ZetaChain +- depositing supported ERC-20 tokens (including ZETA tokens) +- depositing gas tokens and calling a universal app +- depositing supported ERC-20 tokens and calling a universal app +- calling a universal app + +## Deposit Gas Tokens + +To deposit tokens to an EOA or a universal contract call the `deposit` function +of the Gateway contract. + +```solidity +deposit(address receiver, RevertOptions calldata revertOptions) external payable; +``` + +The `deposit` function is payable, which means it accepts native gas tokens (for +example, ETH on Ethereum), which will then be sent to a `receiver` on ZetaChain. + +The `receiver` is either an externally-owned account (EOA) or a universal app +address on ZetaChain. Even if the receiver is a universal app contract with the +standard `receive` function, the `deposit` function will not trigger a contract +call. If you want to deposit and call a universal app, please, use the +`depositAndCall` function, instead. + +After the deposit is processed, the receiver gets [ZRC-20 +version](/developers/tokens/zrc20) of the deposited token, for example (ZRC-20 +ETH). + +## Deposit ERC-20 Tokens + +The `deposit` function can also be used to send supported ERC-20 tokens to EOAs +and universal apps on ZetaChain. + +```solidity +deposit(address receiver, uint256 amount, address asset, RevertOptions calldata revertOptions) external; +``` + +Only [supported ERC-20 assets](/developers/tokens/zrc20) can be deposited. The +receiver gets ZRC-20 version of the deposited token (for example, ZRC-20 +USDC.ETH). + +The `amount` is the amount and `asset` is the token address of the ERC-20 that +is being deposited. + +## Deposit Gas Tokens and Call a Universal App + +To deposit tokens and call a universal app contract use the `depositAndCall` +function. + +```solidity +depositAndCall(address receiver, bytes calldata payload, RevertOptions calldata revertOptions) external payable; +``` + +After the cross-chain transaction is processed, the `onCrossChainCall` function +of a universal app contract is executed. + +The `receiver` must be a universal app contract address. + +```solidity +pragma solidity 0.8.7; + +import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; + +contract UniversalApp is UniversalContract { + function onCrossChainCall( + zContext calldata context, + address zrc20, + uint256 amount, + bytes calldata message + ) external virtual override { + // ... + } +} +``` + +`onCrossChainCall` receives: + +- `message`: value of the `payload` +- `amount`: amount of deposited tokens +- `zrc20`: ZRC-20 address of a the deposited tokens (for example, contract + address of ZRC-20 ETH) +- `context`: + - `context.origin`: the original sender address on a connected chain (the EOA + or contract that called the Gateway) + - `context.chainID`: chain ID of the connected chain from which the call was + made + +When calling a universal app, the payload contains bytes passed to +`onCrossChainCall` as `message`. You don't need to pass a function selector in +the payload as the only function that can be called from a connected chain is +`onCrossChainCall`. + +## Deposit ERC-20 Tokens and Call a Universal App + +`depositAndCall` can also be used to call a universal app contract and send +ERC-20 tokens. + +```solidity +depositAndCall(address receiver, uint256 amount, address asset, bytes calldata payload, RevertOptions calldata revertOptions) external; +``` + +The `amount` is the amount and `asset` is the token address of the ERC-20 that +is being deposited. + +In the current version of the protocol only one ERC-20 asset can be deposited at +a time. + +## Call a Universal App + +To call a universal app (without depositing tokens), use the `call` function. + +```solidity +call(address receiver, bytes calldata payload, RevertOptions calldata revertOptions) external; +``` + +## Revert Transactions + +For information on `RevertOptions` refer to the [ZetaChain "Revert Transactions" +doc](/developers/chains/zetachain#revert-transactions). diff --git a/src/pages/developers/chains/list.mdx b/src/pages/developers/chains/list.mdx new file mode 100644 index 00000000..e9a74337 --- /dev/null +++ b/src/pages/developers/chains/list.mdx @@ -0,0 +1,3 @@ +import { ConnectedChainsList } from "~/components/Docs/components/ConnectedChainsList"; + + diff --git a/src/pages/developers/chains/solana.mdx b/src/pages/developers/chains/solana.mdx new file mode 100644 index 00000000..3c2b2ab5 --- /dev/null +++ b/src/pages/developers/chains/solana.mdx @@ -0,0 +1,9 @@ +On Solana the gateway is implemented as a Solana program. + +Solana gateway supports: + +- depositing SOL to a universal app or an account on ZetaChain +- depositing SOL and calling a universal app +- depositing SPL tokens (coming soon) + +https://github.com/zeta-chain/protocol-contracts-solana/ diff --git a/src/pages/developers/chains/zetachain.mdx b/src/pages/developers/chains/zetachain.mdx new file mode 100644 index 00000000..72e7e8b6 --- /dev/null +++ b/src/pages/developers/chains/zetachain.mdx @@ -0,0 +1,163 @@ +To make a call from a universal app to a contract on a connected chain or to +withdraw tokens, use the ZetaChain gateway. + +ZetaChain gateway supports: + +- withdrawing ZRC-20 tokens as native gas or ERC-20 tokens to connected chains +- withdrawing ZETA tokens to connected chains +withdrawing tokens to and making a contract call on connected chains +- calling contracts on connected chains + +## Withdraw ZRC-20 Tokens + +To withdraw ZRC-20 tokens to an EOA or a contract on a connected chain, call +the `withdraw` function of the gateway contract. + +```solidity +withdraw(bytes memory receiver, uint256 amount, address zrc20, RevertOptions calldata revertOptions) external; +``` + +The `receiver` is either an externally-owned account (EOA) or a contract on a +connected chain. Even if the receiver is a smart contract with the standard +`receive` function, the `withdraw` function will not trigger a contract call. If +you want to withdraw and call a contract on a connected chain, please, use the +`withdrawAndCall` function, instead. + +The `receiver` is of type `bytes`, because the receiver may be on a chain that +uses a different address type, for example, bech32 on Bitcoin. `bytes` allow the +receiver address to be chain agnostic. When withdrawing to a receiver on an EVM +chain make sure that you convert `address` to `bytes`. + +The `amount` is the amount and `zrc20` is the ZRC-20 address of the token that +is being withdrawn. + +You don't need to specify which chain to withdraw to, because each ZRC-20 has an +associated chain from which it was deposited. A ZRC-20 token can be withdrawn +only to the chain from which it was originally deposited. This means that if you +want to withdraw ZRC-20 USDC.ETH to the BNB chain, you first have to swap it to +ZRC-20 USDC.BNB. + +## Withdraw ZETA Tokens + +The `withdraw` function can also be used to withdraw ZETA tokens to a connected +chain. + +``` +withdraw(bytes memory receiver, uint256 amount, uint256 chainId, RevertOptions calldata revertOptions) external; +``` + +## Withdraw ZRC-20 Tokens and Call a Contract on Connected Chain + +To withdraw ZRC-20 tokens and make a call from a universal app to a contract on +a connected chain use the `withdrawAndCall` function of the gateway contract. + +```solidity +function withdrawAndCall(bytes memory receiver, uint256 amount, address zrc20, bytes calldata message, uint256 gasLimit, RevertOptions calldata revertOptions) external; +``` + +The tokens are withdrawn and a call is made to a contract on the connected chain +identified by the `zrc20` address. For example, if ZRC-20 ETH is being +withdrawn, then the call is made to a contract on Ethereum. + +## Withdraw ZETA Tokens and Call a Contract on Connected Chain + +The `withdrawAndCall` function can also be used to withdraw ZETA tokens and make +a call from a universal app to a contract on a connected chain. + +```solidity +withdrawAndCall(bytes memory receiver, uint256 amount, uint256 chainId, bytes calldata message, RevertOptions calldata revertOptions) external; +``` + +## Call a Contract on a Connected Chain + +To call a contract on a connected chain (without withdrawing tokens), use the +`call` function. + +```solidity +function call(bytes memory receiver, address zrc20, bytes calldata message, uint256 gasLimit, RevertOptions calldata revertOptions) external; +``` + +`zrc20` represents the ZRC-20 token address of the gas token of the destination +chain. In the context of this function `zrc20` address acts as an identifier for +the chain to which the call is made. For example, to make a call to Ethereum, +use ZRC-20 ETH token address. + +## Format of the `message` when Calling Contracts + +The `withdrawAndCall` and `call` functions have a `bytes calldata message` +parameter. This parameter contains the function selector and the encoded +arguments necessary to call a specific function in the target contract. + +The message parameter should contain: + +- Function selector: the first 8 bytes represent the function selector, which is + the first 4 bytes of the Keccak-256 hash of the function signature. +- Arguments: the remaining bytes in the message correspond to the arguments + passed to the function, encoded according to Ethereum's ABI encoding rules. + These arguments can vary in length depending on the data types. + +For example, consider the following message: + +``` +0xa777d0dc00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005616c696365000000000000000000000000000000000000000000000000000000 +``` + +- Function Selector: `0xa777d0dc`. This corresponds to the function + `hello(string)`. +- Arguments: The remaining data + (`0000000000000000000000000000000000000000000000000000000000000020...`) is the + ABI-encoded argument passed to the `hello(string)` function. Specifically: + `616c696365` represents the string `alice` in hexadecimal. + +## Revert Transactions + +The `RevertOptions` struct defines how assets should be handled in the event of +a cross-chain transaction (CCTX) reverting: + +```solidity +struct RevertOptions { + address revertAddress; + bool callOnRevert; + address abortAddress; + bytes revertMessage; + uint256 onRevertGasLimit; +} +``` + +`revertAddress`: the address that should get assets back if the CCTX reverts. +For example, if a smart contract using ZetaChain wants to send assets back to +the sender upon a revert, `revertAddress` should be set to `msg.sender`. + +`callOnRevert`: a boolean flag indicating whether the `onRevert` function should +be called on the `revertAddress`. For example, a smart contract may want to +execute custom logic when a revert occurs, such as unlocking tokens. In this +case, the contract would set `callOnRevert` to true and assign `revertAddress` +to `address(this)`. + +`abortAddress`: the address that will receive the funds on ZetaChain if the CCTX +aborts. This feature is not currently used. + +`revertMessage`: message sent back to the `onRevert` function. This allows +additional context to be provided for handling the revert. + +`onRevertGasLimit`: the gas limit to be used when executing the `onRevert` +function. + +Contracts that implement the `onRevert` functionality are referred to as +`Revertable` contracts. These contracts should conform to the following +interface: + +```solidity +struct RevertContext { + address asset; + uint64 amount; + bytes revertMessage; +} + +interface Revertable { + function onRevert(RevertContext calldata revertContext) external; +} +``` + +This interface allows the contract to handle reverts in a customized way, based +on the context provided through the `RevertContext` struct. diff --git a/src/pages/developers/cross-chain-messaging/_meta.json b/src/pages/developers/cross-chain-messaging/_meta.json deleted file mode 100644 index 7f54d9d7..00000000 --- a/src/pages/developers/cross-chain-messaging/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "overview": "Overview", - "connector": "Connector API", - "gas-fees": "Gas Fees", - "transactions": "Types of Transactions", - "examples": "Tutorials" -} diff --git a/src/pages/developers/cross-chain-messaging/connector.mdx b/src/pages/developers/cross-chain-messaging/connector.mdx deleted file mode 100644 index 6c607d37..00000000 --- a/src/pages/developers/cross-chain-messaging/connector.mdx +++ /dev/null @@ -1,118 +0,0 @@ -# Connector - -ZetaChain connector lets you send cross-chain messages (data and value) between -any connected chains. To find up-to-date Connector and ZETA addresses to develop -with, go [here](/reference/contracts). - -## Introduction - -To create cross-chain smart contracts using Zeta Connector, your contracts -should: - -- Call `connector.send` to send messages. -- Handle `onZetaMessage` to receive messages. -- Handle `onZetaRevert` to revert messages. - -## Sending data and value across chains - -Call `connector.send` from your contracts to interact with other chains: - -```solidity -interface ZetaInterfaces { - /** - * @dev Use SendInput to interact with the Connector: connector.send(SendInput) - */ - struct SendInput { - /// @dev Chain id of the destination chain. More about chain ids https://docs.zetachain.com/learn/glossary#chain-id - uint256 destinationChainId; - /// @dev Address receiving the message on the destination chain (expressed in bytes since it can be non-EVM) - bytes destinationAddress; - /// @dev Gas limit for the destination chain's transaction - uint256 destinationGasLimit; - /// @dev An encoded, arbitrary message to be parsed by the destination contract - bytes message; - /// @dev ZETA to be sent cross-chain + ZetaChain gas fees + destination chain gas fees (expressed in ZETA) - uint256 zetaValueAndGas; - /// @dev Optional parameters for the ZetaChain protocol - bytes zetaParams; - } -} - -interface ZetaConnector { - function send(ZetaInterfaces.SendInput calldata input) external; -} -``` - -## onZetaMessage - -After the source contract calls `connector.send`, the ZetaChain system will -forward the message to the destination chain and call `onZetaMessage` at -contract address `destinationAddress`. Optionally, the sending contract can -provide some ZETA token (`zetaAmount`, approved to be spent by the ZetaConnector -contract) to move value cross-chain, and cover gas fee for the destination chain -interaction. The ZetaChain system will move the ZETA token to the destination -chain, and transfer it to the receiving smart contract `destinationAddress`. The -destination chain must deploy a smart contract that implements this interface: - -```solidity -interface ZetaInterfaces { - struct ZetaMessage { - bytes zetaTxSenderAddress; - uint256 sourceChainId; - address destinationAddress; - /// @dev Remaining ZETA from zetaValueAndGas after subtracting ZetaChain gas fees and destination gas fees - uint256 zetaValue; - bytes message; - } -} - -interface ZetaReceiver { - function onZetaMessage(ZetaInterfaces.ZetaMessage calldata zetaMessage) external; -} -``` - -Inside the function, we can assume that the current smart contract has already -received `zetaAmount` ZETA token that the sending contract sent over (minus gas -fees). - -## onZetaRevert - -If this contract function call fails for some reason, the ZetaChain system will -call the `onZetaRevert` function of the sending smart contract. The burnt ZETA -token will be refunded to the sending contract, and the sending contract should -properly revert its actions regarding this cross-chain message. - -The source chain smart contract must also implement this interface: - -```solidity -interface ZetaInterfaces { - struct ZetaRevert { - address zetaTxSenderAddress; - uint256 sourceChainId; - bytes destinationAddress; - uint256 destinationChainId; - /// @dev Equals to: zetaValueAndGas - ZetaChain gas fees - destination chain gas fees - source chain revert tx gas fees - uint256 remainingZetaValue; - bytes message; - } -} - -interface ZetaReceiver { - function onZetaRevert(ZetaInterfaces.ZetaRevert calldata zetaRevert) external; -} -``` - -In case the destination transaction fails, application level roll-back should -happen in this function. - -## Summary - -To make your dApps multi-chain using ZetaChain's Connector, you will need to -deploy contracts to multiple chains supported by ZetaChain. Those contracts will -be able to send messages and value between each other by implementing the -`onZetaMessage` and `onZetaRevert` callbacks, and calling `connector.send`. - -## Examples - -We have a growing library of example apps with real code you can use to -kickstart your development. diff --git a/src/pages/developers/cross-chain-messaging/examples/_meta.json b/src/pages/developers/cross-chain-messaging/examples/_meta.json deleted file mode 100644 index 05cfe96b..00000000 --- a/src/pages/developers/cross-chain-messaging/examples/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "zeta": "Cross-Chain ZETA Transfer", - "message": "Cross-Chain Message", - "erc20": "Cross-Chain ERC-20", - "nft": "Cross-Chain NFT" -} diff --git a/src/pages/developers/cross-chain-messaging/examples/erc20.mdx b/src/pages/developers/cross-chain-messaging/examples/erc20.mdx deleted file mode 100644 index 2f26b63a..00000000 --- a/src/pages/developers/cross-chain-messaging/examples/erc20.mdx +++ /dev/null @@ -1,213 +0,0 @@ -import { CodeBlock } from "~/components/shared"; - -# Cross-Chain ERC-20 - -In this tutorial you will learn how to create a contract capable of minting -ERC-20 tokens and sending them to a contract on a different chain using -cross-chain messaging. - -## Set up your environment - -``` -git clone https://github.com/zeta-chain/template -cd template -yarn -``` - -## Create the Contract - -To create a new cross-chain messaging contract you will use the `messaging` -Hardhat task available by default in the template. - -``` -npx hardhat messaging CrossChainERC20 to:address value:uint256 -``` - -- `to`: address of the recipient on the destination chain -- `value`: the amount of ERC-20 tokens transferred - -## Cross-Chain Messaging Contract - -Let's review and make changes to the contract: - - - -By default the generated contract is a standard cross-chain messaging contract -with functions to send a message, message handler and revert handler. - -Let's modify the contract to make it ERC-20 compatible. - -To enable ERC-20 token features, import the necessary OpenZeppelin contracts: -`ERC20` for standard token functionality and `ERC20Burnable` to enable burning -tokens. - -In the contract's constructor, initialize the ERC-20 token by setting a name and -a symbol using the `ERC20` constructor. Then, pre-mint an initial supply of -tokens to the deploying address by calling the `_mint` function. - -In the `sendMessage` function, ensure the sender has sufficient tokens to send -by checking their balance. If they have enough, burn the required amount from -their balance using `_burn`. Add `msg.sender` to the message by passing it as a -third argument to `abi.decode`. This is necessary in case the transaction is -reverted, so the sender can be reimbursed. - -To handle the cross-chain message, decode the incoming message in -`onZetaMessage` and mint tokens to the intended recipient using the `_mint` -function. - -In the event of a message revert, decode the original message in `onZetaRevert` -to identify the sender and the amount. Reimburse the sender by minting the -tokens back to their account with `_mint`. Use the `from` address, as this is -the original sender who should receive the reimbursement. - -## Deploy the Contract - -Clear the cache and artifacts, then compile the contract: - -``` -npx hardhat compile --force -``` - -Run the following command to deploy the contract to two networks: - -``` -npx hardhat deploy --networks sepolia_testnet,bsc_testnet -``` - -``` -🚀 Successfully deployed contract on sepolia_testnet -📜 Contract address: 0x18B6f0aB98429F00eDD44D5900090D71e3747e10 - -🚀 Successfully deployed contract on bsc_testnet -📜 Contract address: 0x7eA3054e5086FeE43D745975d171d3a850A94304 - -🔗 Setting interactors for a contract on sepolia_testnet -✅ Interactor address for 97 (bsc_testnet) is set to 0x7ea3054e5086fee43d745975d171d3a850a94304 - -🔗 Setting interactors for a contract on bsc_testnet -✅ Interactor address for 11155111 (sepolia_testnet) is set to 0x18b6f0ab98429f00edd44d5900090d71e3747e10 -``` - -## Send an ERC-20 Token - -Use the interact task to call the `sendMessage` method of the contract and send -ERC-20 tokens from Sepolia to BSC Testnet - -``` -npx hardhat interact --to 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 --value 1000000000 --contract 0x18B6f0aB98429F00eDD44D5900090D71e3747e10 --network sepolia_testnet --amount 0.01 --destination bsc_testnet -``` - -``` -🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 - -✅ The transaction has been broadcasted to sepolia_testnet -📝 Transaction hash: 0x25cfda972e255480e15b47472ae6c8d8842201855776fedaa446f75cab7a0e86 -``` - -You can check the broadcasted transaction on Sepolia's Etherscan: - -https://sepolia.etherscan.io/tx/0x25cfda972e255480e15b47472ae6c8d8842201855776fedaa446f75cab7a0e86 - -Next, you can track the progress of the cross-chain transaction: - -``` -npx hardhat cctx 0x25cfda972e255480e15b47472ae6c8d8842201855776fedaa446f75cab7a0e86 -``` - -``` -✓ CCTXs on ZetaChain found. - -✓ 0x258d3ad9adf92ac5b7d59354435adfadac0af6430737f388ebf2664c22c71158: 11155111 → 97: OutboundMined -``` - -## Source Code - -You can find the source code for the example in this tutorial here: - -https://github.com/zeta-chain/example-contracts/tree/main/messaging/erc20 diff --git a/src/pages/developers/cross-chain-messaging/examples/message.mdx b/src/pages/developers/cross-chain-messaging/examples/message.mdx deleted file mode 100644 index e3501f4d..00000000 --- a/src/pages/developers/cross-chain-messaging/examples/message.mdx +++ /dev/null @@ -1,242 +0,0 @@ -# Cross-Chain Message - -In this tutorial you will learn how to create a contract capable of sending a -message with arbitrary data between contracts on connected chains using -cross-chain messaging. - -
- -
- -## Set up your environment - -``` -git clone https://github.com/zeta-chain/template -cd template -yarn -``` - -## Create the Contract - -To create a new cross-chain messaging contract you will use the `messaging` -Hardhat task available by default in the template. - -``` -npx hardhat messaging CrossChainMessage message:string -``` - -The `messaging` task accepts one or more arguments: the name of the contract and -a list of arguments (optionally with types). The arguments define the contents -of the message that will be sent across chains. - -In the example above the message will have only one field: `message` of type -`string`. If the type is not specified it is assumed to be `string`. - -The optional `--fees` flag is missing, which means this contract will accept -native gas tokens as input and swap it for ZETA. - -## Cross-Chain Messaging Contract - -Let's review the contract: - -```solidity filename="contracts/CrossChainMessage.sol" -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@openzeppelin/contracts/interfaces/IERC20.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; -import "@zetachain/protocol-contracts/contracts/evm/tools/ZetaInteractor.sol"; -import "@zetachain/protocol-contracts/contracts/evm/interfaces/ZetaInterfaces.sol"; - -contract CrossChainMessage is ZetaInteractor, ZetaReceiver { - - event CrossChainMessageEvent(string); - event CrossChainMessageRevertedEvent(string); - - ZetaTokenConsumer private immutable _zetaConsumer; - IERC20 internal immutable _zetaToken; - - constructor(address connectorAddress, address zetaTokenAddress, address zetaConsumerAddress) ZetaInteractor(connectorAddress) { - _zetaToken = IERC20(zetaTokenAddress); - _zetaConsumer = ZetaTokenConsumer(zetaConsumerAddress); - } - - function sendMessage(uint256 destinationChainId, string memory message) external payable { - if (!_isValidChainId(destinationChainId)) - revert InvalidDestinationChainId(); - - uint256 crossChainGas = 2 * (10 ** 18); - uint256 zetaValueAndGas = _zetaConsumer.getZetaFromEth{ - value: msg.value - }(address(this), crossChainGas); - _zetaToken.approve(address(connector), zetaValueAndGas); - - connector.send( - ZetaInterfaces.SendInput({ - destinationChainId: destinationChainId, - destinationAddress: interactorsByChainId[destinationChainId], - destinationGasLimit: 300000, - message: abi.encode(message), - zetaValueAndGas: zetaValueAndGas, - zetaParams: abi.encode("") - }) - ); - } - - - function onZetaMessage( - ZetaInterfaces.ZetaMessage calldata zetaMessage - ) external override isValidMessageCall(zetaMessage) { - (string memory message ) = abi.decode( - zetaMessage.message, (string) - ); - - emit CrossChainMessageEvent(message); - } - - function onZetaRevert( - ZetaInterfaces.ZetaRevert calldata zetaRevert - ) external override isValidRevertCall(zetaRevert) { - (string memory message) = abi.decode( - zetaRevert.message, - (string) - ); - - emit CrossChainMessageRevertedEvent(message); - } - -} -``` - -The contract: - -- inherits from - [`ZetaInteractor`](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/tools/ZetaInteractor.sol), - which provides two modifiers that are used to validate the message and revert - calls: `isValidMessageCall` and `isValidRevertCall`. -- implements - [`ZetaReceiver`](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/interfaces/ZetaInterfaces.sol), - which defines two functions: `onZetaMessage` and `onZetaRevert`. - -State Variables: - -- `_zetaConsumer`: a private immutable state variable that stores the address of - `ZetaTokenConsumer`, which is used amond other things for getting ZETA tokens - from native tokens to pay for gas when sending a message. -- `_zetaToken`: an internal immutable state variable that stores the address of - the ZETA token contract. - -The contract defines two events: `CrossChainMessageEvent` emitted when a message -is processed on the destination chain and `CrossChainMessageRevertedEvent` -emitted when a message is reverted on the destination chain. - -The constructor passes `connectorAddress` to the `ZetaInteractor` constructor -and initializes both `_zetaToken` and `_zetaConsumer` state variables. - -The `sendMessage` function is used to send a message to a recipient contract on -the destination chain. It first checks that the destination chain ID is valid. -Then it uses ZETA consumer to get the needed amount of ZETA tokens from the -provided `msg.value` (amount of native gas assets sent with the function call), -and approves the `ZetaConnector` to spend the `zetaValueAndGas` amount of ZETA -tokens. - -The `sendMessage` function uses `connector.send` to send a crosss-chain message -with the following arguments wrapped in a struct: - -- `destinationChainId`: chain ID of the destination chain -- `destinationAddress`: address of the contract receiving the message on the - destination chain (expressed in bytes since it can be non-EVM) -- `destinationGasLimit`: gas limit for the destination chain's transaction -- `message`: arbitrary message to be parsed by the receiving contract on the - destination chain -- `zetaValueAndGas`: amount of ZETA tokens to be sent to the destination chain, - ZetaChain gas fees, and destination chain gas fees (expressed in ZETA tokens) -- `zetaParams`: optional ZetaChain parameters. - -The `onZetaMessage` function processes incoming cross-chain messages. The -function uses `abi.decode` to decode the contents of the `message`. After -decoding the functions emits `CrossChainMessageEvent` event with the message -content. - -The `onZetaRevert` function handles the reverts of cross-chain messages. This -function is triggered on the source chain if the message passing failed. - -Both `onZetaMessage` and `onZetaRevert` use the `isValidRevertCall` modifier to -ensure that the revert message is genuine and originates from the trusted -source. - -## Deploy the Contract - -Clear the cache and artifacts, then compile the contract: - -``` -npx hardhat compile --force -``` - -Run the following command to deploy the contract to two networks: - -``` -npx hardhat deploy --networks sepolia_testnet,bsc_testnet -``` - -``` -🚀 Successfully deployed contract on bsc_testnet -📜 Contract address: 0x4036009aa206a5c4d3bDABaC7242b18ACc5655D5 - -🚀 Successfully deployed contract on sepolia_testnet -📜 Contract address: 0x5d5c88B669337686af75f97C817365164786C88a - -🔗 Setting interactors for a contract on bsc_testnet -✅ Interactor address for 11155111 (sepolia_testnet) is set to 0x5d5c88b669337686af75f97c817365164786c88a - -🔗 Setting interactors for a contract on sepolia_testnet -✅ Interactor address for 97 (bsc_testnet) is set to 0x4036009aa206a5c4d3bdabac7242b18acc5655d5 -``` - -## Send a Message - -Send a message from Sepolia to BSC testnet using the contract address (see the -output of the `deploy` task). Make sure to submit enough native gas tokens with -`--amount` to pay for the transaction fees. - -``` -npx hardhat interact --message hello --contract 0x5d5c88B669337686af75f97C817365164786C88a --network sepolia_testnet --amount 0.01 --destination bsc_testnet - -``` - -``` -🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 - -✅ The transaction has been broadcasted to sepolia_testnet -📝 Transaction hash: 0x798f15cc214e8d5d595ba1944099134330439a4a30b76cc791e1ca60cd85d696 -``` - -You can check the broadcasted transaction on Sepolia's Etherscan: - -https://sepolia.etherscan.io/tx/0x798f15cc214e8d5d595ba1944099134330439a4a30b76cc791e1ca60cd85d696 - -Next, you can track the progress of the cross-chain transaction: - -``` -npx hardhat cctx 0x798f15cc214e8d5d595ba1944099134330439a4a30b76cc791e1ca60cd85d696 -``` - -``` -✓ CCTXs on ZetaChain found. - -✓ 0x9f3dfff6b1373a6717ce6a0e20d3e6e1591cf13e75634f385550d3e1a226c604: 11155111 → 97: OutboundMined -``` - -## Source Code - -You can find the source code for the example in this tutorial here: - -https://github.com/zeta-chain/example-contracts/tree/main/messaging/message diff --git a/src/pages/developers/cross-chain-messaging/examples/nft.mdx b/src/pages/developers/cross-chain-messaging/examples/nft.mdx deleted file mode 100644 index 59d3d1c7..00000000 --- a/src/pages/developers/cross-chain-messaging/examples/nft.mdx +++ /dev/null @@ -1,317 +0,0 @@ -# Cross-Chain NFT - -In this tutorial you will learn how to create a contract capable of minting NFTs -and sending them to a contract on a different chain using cross-chain messaging. - -## Set up your environment - -``` -git clone https://github.com/zeta-chain/template -cd template -yarn -``` - -## Create the Contract - -To create a new cross-chain messaging contract you will use the `messaging` -Hardhat task available by default in the template. - -``` -npx hardhat messaging CrossChainNFT to:address token:uint256 -``` - -- `to`: address of the recipient on the destination chain -- `token` - an ID of the NFT being transferred - -Modify the contract to implement NFT logic: - -```solidity filename="contracts/CrossChainNFT.sol" {8,11,20,26,31-32,49,56,71,79-82,84,89-95} -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@openzeppelin/contracts/interfaces/IERC20.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; -import "@zetachain/protocol-contracts/contracts/evm/tools/ZetaInteractor.sol"; -import "@zetachain/protocol-contracts/contracts/evm/interfaces/ZetaInterfaces.sol"; -import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; - -contract CrossChainNFT is - ERC721("CrossChainNFT", "CCNFT"), - ZetaInteractor, - ZetaReceiver -{ - event CrossChainNFTEvent(address, uint256); - event CrossChainNFTRevertedEvent(address, uint256); - - ZetaTokenConsumer private immutable _zetaConsumer; - IERC20 internal immutable _zetaToken; - uint256 private _tokenIds; - - constructor( - address connectorAddress, - address zetaTokenAddress, - address zetaConsumerAddress, - bool useEven - ) ZetaInteractor(connectorAddress) { - _zetaToken = IERC20(zetaTokenAddress); - _zetaConsumer = ZetaTokenConsumer(zetaConsumerAddress); - - _tokenIds++; - if (useEven) _tokenIds++; - } - - function sendMessage( - uint256 destinationChainId, - address to, - uint256 token - ) external payable { - if (!_isValidChainId(destinationChainId)) - revert InvalidDestinationChainId(); - - uint256 crossChainGas = 2 * (10 ** 18); - uint256 zetaValueAndGas = _zetaConsumer.getZetaFromEth{ - value: msg.value - }(address(this), crossChainGas); - _zetaToken.approve(address(connector), zetaValueAndGas); - - _burn(token); - - connector.send( - ZetaInterfaces.SendInput({ - destinationChainId: destinationChainId, - destinationAddress: interactorsByChainId[destinationChainId], - destinationGasLimit: 300000, - message: abi.encode(to, token, msg.sender), - zetaValueAndGas: zetaValueAndGas, - zetaParams: abi.encode("") - }) - ); - } - - function onZetaMessage( - ZetaInterfaces.ZetaMessage calldata zetaMessage - ) external override isValidMessageCall(zetaMessage) { - (address to, uint256 token) = abi.decode( - zetaMessage.message, - (address, uint256) - ); - - _safeMint(to, token); - - emit CrossChainNFTEvent(to, token); - } - - function onZetaRevert( - ZetaInterfaces.ZetaRevert calldata zetaRevert - ) external override isValidRevertCall(zetaRevert) { - (address to, uint256 token, address from) = abi.decode( - zetaRevert.message, - (address, uint256, address) - ); - - _safeMint(from, token); - - emit CrossChainNFTRevertedEvent(to, token); - } - - function mint(address to) public returns (uint256) { - _tokenIds++; - _tokenIds++; - - _safeMint(to, _tokenIds); - return _tokenIds; - } -} -``` - -To integrate NFT functionality, import the `ERC721` contract from OpenZeppelin. - -Initialize the ERC-721 token by setting a name and a symbol using the `ERC721` -constructor. - -Initialize a `_tokenIds` counter for managing NFT IDs. - -Add a `bool useEven` parameter to the constructor. The contract will be deployed -on two chains (in this example) and you need to ensure that IDs of tokens minted -on different chains do not clash. Using this constructor parameter on one chain -IDs will be odd, on the other chain IDs will be even. Inside the constructor -increment the initial token IDs. - -In the sendMessage function, burn the specified NFT by calling `_burn`. Add -`msg.sender` to the message by passing it as a third argument to `abi.decode`. -This is necessary in case the transaction is reverted, so the same NFT can be -minted and transferred back to the original sender. - -In the `onZetaMessage` function, decode the incoming message to retrieve the -recipient address and NFT ID. Mint the specified NFT to the recipient using -`_safeMint`. - -In the `onZetaRevert` function, decode the revert message to obtain the -recipient, NFT ID, and the original sender. Reimburse the original sender by -minting the NFT back to their account using `_safeMint`. - -## Create a Mint Task - -The mint task accepts a contract address as an argument, calls the `mint` -function on it, searches the events for a "Transfer" event and prints out the -token ID. - -```ts filename="tasks/mint.ts" -import { task } from "hardhat/config"; -import { HardhatRuntimeEnvironment } from "hardhat/types"; - -const contractName = "CrossChainNFT"; - -const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - const [signer] = await hre.ethers.getSigners(); - - const factory = await hre.ethers.getContractFactory(contractName); - const contract = factory.attach(args.contract); - - const tx = await contract.connect(signer).mint(signer.address); - - const receipt = await tx.wait(); - const event = receipt.events?.find((event) => event.event === "Transfer"); - const nftId = event?.args?.tokenId.toString(); - - if (args.json) { - console.log(nftId); - } else { - console.log(`🔑 Using account: ${signer.address}\n`); - console.log(`✅ "mint" transaction has been broadcasted to ${hre.network.name} -📝 Transaction hash: ${receipt.transactionHash} -🌠 Minted NFT ID: ${nftId} -`); - } -}; - -task("mint", "Mint a new NFT.", main).addParam("contract", "Contract address").addFlag("json", "Output JSON"); -``` - -Import the mint task in the Hardhat config file: - -```ts filename="hardhat.config.ts" -import "./tasks/mint"; -``` - -## Update the Deploy Task - -Modify the deploy task by adding a new argument `parity` and passing it to the -`deployContract` function. The `parity` argument is used to determine the parity -of NFT IDs on different chains: even IDs on one chain and odd IDs on another. - -```ts filename="tasks/deploy.ts" {5-14,23,32} -const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - const networks = args.networks.split(","); - const contracts: { [key: string]: string } = {}; - await Promise.all( - networks.map(async (networkName: string, i: number) => { - const parity = i % 2 == 0; - contracts[networkName] = await deployContract( - hre, - networkName as ParamChainName, - parity, - args.json, - args.gasLimit - ); - }) - ); - - // ... -}; - -const deployContract = async ( - hre: HardhatRuntimeEnvironment, - networkName: string, - parity: boolean, - json: boolean = false, - gasLimit: number -) => { - //... - const contract = await factory.deploy( - connector, - zetaToken, - zetaTokenConsumerUniV2 || zetaTokenConsumerUniV3, - parity, - { gasLimit } - ); - //... -}; -``` - -## Deploy the Contract - -Clear the cache and artifacts, then compile the contract: - -``` -npx hardhat compile --force -``` - -Run the following command to deploy the contract to two networks: - -``` -npx hardhat deploy --networks sepolia_testnet,bsc_testnet -``` - -``` -🚀 Successfully deployed contract on bsc_testnet -📜 Contract address: 0x345b7a0ecd2faecF980db7fC1E645b960450E8E4 - -🚀 Successfully deployed contract on sepolia_testnet -📜 Contract address: 0x8A0061fFb4572e4D57D260C3c2a99DD25e8Ab66C - -🔗 Setting interactors for a contract on bsc_testnet -✅ Interactor address for 11155111 (sepolia_testnet) is set to 0x8a0061ffb4572e4d57d260c3c2a99dd25e8ab66c - -🔗 Setting interactors for a contract on sepolia_testnet -✅ Interactor address for 97 (bsc_testnet) is set to 0x345b7a0ecd2faecf980db7fc1e645b960450e8e4 -``` - -## Mint an NFT - -``` -npx hardhat mint --contract 0x8A0061fFb4572e4D57D260C3c2a99DD25e8Ab66C --network sepolia_testnet -``` - -``` -🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 - -✅ "mint" transaction has been broadcasted to sepolia_testnet -📝 Transaction hash: 0xd29edcb4a785fb237965cee63ad415a4a3d091eb022241583ddc30eda49b1d0c -🌠 Minted NFT ID: 4 -``` - -## Send the NFT to the Destination Chain - -``` -npx hardhat interact --to 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 --token 4 --contract 0x8A0061fFb4572e4D57D260C3c2a99DD25e8Ab66C --network sepolia_testnet --amount 0.01 --destination bsc_testnet -``` - -``` -🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 - -✅ The transaction has been broadcasted to sepolia_testnet -📝 Transaction hash: 0x132d6312be65590a66eae59df835528b74b6a46ded59b67712c0646280ceac33 -``` - -You can check the broadcasted transaction on Sepolia's Etherscan: - -https://sepolia.etherscan.io/tx/0x132d6312be65590a66eae59df835528b74b6a46ded59b67712c0646280ceac33 - -Next, you can track the progress of the cross-chain transaction: - -``` -npx hardhat cctx 0x132d6312be65590a66eae59df835528b74b6a46ded59b67712c0646280ceac33 -``` - -``` -✓ CCTXs on ZetaChain found. - -✓ 0xb1ee24fb046397a8fd8444ad2e1ab4762b8d98e091e88bfa6dc7bf1a3a93c70f: 11155111 → 97: OutboundMined -``` - -## Source Code - -You can find the source code for the example in this tutorial here: - -https://github.com/zeta-chain/example-contracts/tree/main/messaging/nft diff --git a/src/pages/developers/cross-chain-messaging/examples/zeta.mdx b/src/pages/developers/cross-chain-messaging/examples/zeta.mdx deleted file mode 100644 index 911ce1be..00000000 --- a/src/pages/developers/cross-chain-messaging/examples/zeta.mdx +++ /dev/null @@ -1,414 +0,0 @@ -# Cross-Chain ZETA Transfer - -In this tutorial you will learn how to create a contract capable of sending ZETA -tokens between contracts on connected chains using cross-chain messaging. - -- This tutorial uses ZetaChain cross-chain messaging, but in this example we're - only sending ZETA. You will learn how to send arbitrary data in a message in - the [Message](/developers/cross-chain-messaging/examples/message) tutorial. -- Since this contract's purpose is to send ZETA, the contract in this example - will accept ZETA as input. Example contracts in other tutorials will use - native gas assets as input for convenience. -- All the code will be generated for you by the template. - -## Prerequisites - -- [Node.js](https://nodejs.org/en/) (version 18 or above) -- [Yarn](https://yarnpkg.com/) -- [Git](https://git-scm.com/) - -## Set up your environment - -``` -git clone https://github.com/zeta-chain/template -cd template -yarn -``` - -## Create the Contract - -To create a new cross-chain messaging contract you will use the `messaging` -Hardhat task available by default in the template. - -``` -npx hardhat messaging CrossChainZETA --fees zeta -``` - -The `messaging` task accepts one or more arguments: the name of the contract and -a list of arguments (optionally with types). The arguments define the contents -of the message that will be sent across chains. In this example the contract -will only be sending ZETA, so the list of arguments is empty. - -Use the `--fee zeta` to specify that this contract will be accepting ZETA -tokens. You will learn more about this flag later in this tutorial. - -The `messaging` task has created: - -- `contracts/CrossChainMessage.sol`: a Solidity cross-chain messaging contract -- `tasks/deploy.ts`: a Hardhat task to deploy the contract on one or more chains -- `tasks/interact.ts`: a Hardhat task to interact with the contract - -It also modified `hardhat.config.ts` to import both `deploy` and `interact` -tasks. - -Let's review the contract: - -```solidity filename="contracts/CrossChainZeta.sol" -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@openzeppelin/contracts/interfaces/IERC20.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; -import "@zetachain/protocol-contracts/contracts/evm/tools/ZetaInteractor.sol"; -import "@zetachain/protocol-contracts/contracts/evm/interfaces/ZetaInterfaces.sol"; -import "@zetachain/protocol-contracts/contracts/evm/Zeta.eth.sol"; - -contract CrossChainZeta is ZetaInteractor { - error ErrorTransferringZeta(); - - event CrossChainZetaEvent(); - event CrossChainZetaRevertedEvent(); - - IERC20 internal immutable _zetaToken; - - constructor(address connectorAddress, address zetaTokenAddress) ZetaInteractor(connectorAddress) { - _zetaToken = IERC20(zetaTokenAddress); - } - - function sendMessage(uint256 destinationChainId, uint256 zetaValueAndGas) external payable { - if (!_isValidChainId(destinationChainId)) - revert InvalidDestinationChainId(); - - bool success1 = _zetaToken.approve(address(connector), zetaValueAndGas); - bool success2 = _zetaToken.transferFrom(msg.sender, address(this), zetaValueAndGas); - if (!(success1 && success2)) revert ErrorTransferringZeta(); - - connector.send( - ZetaInterfaces.SendInput({ - destinationChainId: destinationChainId, - destinationAddress: interactorsByChainId[destinationChainId], - destinationGasLimit: 300000, - message: abi.encode(), - zetaValueAndGas: zetaValueAndGas, - zetaParams: abi.encode("") - }) - ); - } -} -``` - -The contract: - -- inherits from - [`ZetaInteractor`](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/tools/ZetaInteractor.sol), - which provides the connector functionality and helper functions like - `_isValidChainId`. - -State Variables: - -- `_zetaToken`: an internal immutable state variable that stores the address of - the ZETA token contract. - -The constructor passes `connectorAddress` to the `ZetaInteractor` constructor -and initializes the `_zetaToken` state variables. - -The `sendMessage` function is used to send ZETA tokens to a recipient contract -on the destination chain. It first checks that the destination chain ID is -valid. Then it approves the contract to spend an amount of ZETA - -## Cross-Chain Fees - -[Cross-chain messaging fees](/developers/cross-chain-messaging/gas-fees/) are -paid in ZETA tokens. This is convenient if the caller has ZETA tokens on the -source chain. However, many users might only have native gas tokens. In this -case it's more convenient for a contract to accept native gas token, and swap it -for ZETA. - -To choose which token your contract accepts, use the `--fees` flag. - -To make the contract accept ZETA, use `--fees zeta`. This value was used to -create a contract above. Since the contract's only purpose is to send ZETA, it -makes sense to also accept ZETA as a fee token. - -To make the contract accept native gas tokens, use `--fees native` or skip this -flag completely as this is the default option. - -## Sending ZETA - -The `sendMessage` function uses `connector.send` to send a crosss-chain message -with the following arguments wrapped in a struct: - -- `destinationChainId`: chain ID of the destination chain -- `destinationAddress`: address of the contract receiving the message on the - destination chain (expressed in bytes since it can be non-EVM) -- `destinationGasLimit`: gas limit for the destination chain's transaction -- `message`: arbitrary message to be parsed by the receiving contract on the - destination chain. In this example it's empty as we're only sending ZETA, not - arbitrary data. -- `zetaValueAndGas`: amount of ZETA tokens to be sent to the destination chain, - ZetaChain gas fees, and destination chain gas fees (expressed in ZETA tokens) -- `zetaParams`: optional ZetaChain parameters. Currently, not being used. - -After handling the fees the contract calls `connector.send` to send -`zetaValueAndGas` amount of ZETA to the `destinationAddress` contract on the -`destinationChainId` blockchain. The message is empty as only ZETA tokens are -being transferred. - -## Deploy Task - -The `messaging` task has created a Hardhat task to deploy the contract. - -```ts filename="tasks/deploy.ts" -import { getAddress } from "@zetachain/protocol-contracts"; -import { ethers } from "ethers"; -import { task, types } from "hardhat/config"; -import { HardhatRuntimeEnvironment } from "hardhat/types"; -import type { ParamChainName } from "@zetachain/protocol-contracts"; - -const contractName = "CrossChainZeta"; - -const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - const networks = args.networks.split(","); - const contracts: { [key: string]: string } = {}; - await Promise.all( - networks.map(async (networkName: ParamChainName) => { - contracts[networkName] = await deployContract(hre, networkName, args.json, args.gasLimit); - }) - ); - - for (const source in contracts) { - await setInteractors(hre, source as ParamChainName, contracts, args.json, args.gasLimit); - } - - if (args.json) { - console.log(JSON.stringify(contracts, null, 2)); - } -}; - -const initWallet = (hre: HardhatRuntimeEnvironment, networkName: ParamChainName) => { - const { url } = hre.config.networks[networkName] as any; - const provider = new ethers.providers.JsonRpcProvider(url); - const wallet = new ethers.Wallet(process.env.PRIVATE_KEY as string, provider); - - return wallet; -}; - -const deployContract = async ( - hre: HardhatRuntimeEnvironment, - networkName: ParamChainName, - json: boolean = false, - gasLimit: number -) => { - const wallet = initWallet(hre, networkName); - - const connector = getAddress("connector", networkName); - const zetaToken = getAddress("zetaToken", networkName); - - const { abi, bytecode } = await hre.artifacts.readArtifact(contractName); - const factory = new ethers.ContractFactory(abi, bytecode, wallet); - const contract = await factory.deploy(connector, zetaToken, { gasLimit }); - - await contract.deployed(); - if (!json) { - console.log(` -🚀 Successfully deployed contract on ${networkName} -📜 Contract address: ${contract.address}`); - } - return contract.address; -}; - -const setInteractors = async ( - hre: HardhatRuntimeEnvironment, - source: ParamChainName, - contracts: { [key: string]: string }, - json: boolean = false, - gasLimit: number -) => { - if (!json) { - console.log(` -🔗 Setting interactors for a contract on ${source}`); - } - const wallet = initWallet(hre, source); - - const { abi, bytecode } = await hre.artifacts.readArtifact(contractName); - const factory = new ethers.ContractFactory(abi, bytecode, wallet); - const contract = factory.attach(contracts[source]); - - for (const counterparty in contracts) { - if (counterparty === source) continue; - - const counterpartyContract = ethers.utils.solidityPack(["address"], [contracts[counterparty]]); - const chainId = hre.config.networks[counterparty].chainId; - await ( - await contract.setInteractorByChainId(chainId, counterpartyContract, { - gasLimit, - }) - ).wait(); - if (!json) { - console.log(`✅ Interactor address for ${chainId} (${counterparty}) is set to ${counterpartyContract}`); - } - } -}; - -task("deploy", "Deploy the contract", main) - .addParam("networks", "Comma separated list of networks to deploy to") - .addOptionalParam("gasLimit", "Gas limit", 10000000, types.int) - .addFlag("json", "Output JSON"); -``` - -To establish cross-chain messaging between blockchains via ZetaChain, you need -to deploy contracts capable of sending and receiving cross-chain messages to two -or more blockchains connected to ZetaChain. - -You can specify the desired chains by using a `--networks` parameter of the -`deploy` task, which accepts a list of network names separated by commas. For -instance, `--networks sepolia_testnet,bsc_testnet`. - -The `main` function maintains a mapping of network names to their corresponding -deployed contract addresses, iterating over the networks to deploy the contract -on each one. - -The contract's constructor requires three arguments: the connector contract's -address, the ZETA token's address, and the ZETA token consumer contract's -address. These addresses are obtained using ZetaChain's `getAddress`. - -The `main` function subsequently sets interactors for each contract. An -interactor is a mapping between a chain ID of the destination and the contract -address on that chain. - -When deploying to two chains (like Sepolia and BSC testnet), you will invoke -`setInteractorByChainId` on a Sepolia contract and pass the BSC testnet chain ID -(97) and the BSC testnet contract address. You then perform the same operation -on a BSC testnet contract, passing the Sepolia chain ID (11155111) and the -Sepolia contract address. If deploying to more than two chains, you must call -`setInteractorByChainId` for each link between the chains. - -## Interact Task - -The `messaging` task has also created a Hardhat task to interact with the -contract: - -```ts filename="tasks/interact.ts" -import { task } from "hardhat/config"; -import { HardhatRuntimeEnvironment } from "hardhat/types"; -import { parseEther } from "@ethersproject/units"; -import { getAddress } from "@zetachain/protocol-contracts"; - -const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - const [signer] = await hre.ethers.getSigners(); - - const factory = await hre.ethers.getContractFactory("CrossChainZeta"); - const contract = factory.attach(args.contract); - - const destination = hre.config.networks[args.destination]?.chainId; - if (destination === undefined) { - throw new Error(`${args.destination} is not a valid destination chain`); - } - - const value = parseEther(args.amount); - - const zetaTokenAddress = getAddress("zetaToken", hre.network.name as any); - const zetaFactory = await hre.ethers.getContractFactory("ZetaEth"); - const zetaToken = zetaFactory.attach(zetaTokenAddress); - - await (await zetaToken.approve(args.contract, value)).wait(); - - const tx = await contract.connect(signer).sendMessage(destination, value); - - const receipt = await tx.wait(); - if (args.json) { - console.log(JSON.stringify(tx, null, 2)); - } else { - console.log(`🔑 Using account: ${signer.address}\n`); - console.log(`✅ The transaction has been broadcasted to ${hre.network.name} -📝 Transaction hash: ${receipt.transactionHash} -`); - } -}; - -task("interact", "Sends a message from one chain to another.", main) - .addFlag("json", "Output JSON") - .addParam("contract", "Contract address") - .addParam("amount", "Token amount to send") - .addParam("destination", "Destination chain"); -``` - -The task accepts the following arguments: - -- `contract`: address of the contract on the source chain -- `amount`: amount of native tokens to send with the transaction -- `destination`: name of the destination chain - -The `main` function uses the `contract` argument to attach to the contract on -the source chain. It then uses the `destination` argument to obtain the -destination chain's chain ID. The function subsequently calls the `sendMessage` -contract method passing `destination` and `value`. - -## Deploy the Contract - -Clear the cache and artifacts, then compile the contract: - -``` -npx hardhat compile --force -``` - -Run the following command to deploy the contract to two networks: - -``` -npx hardhat deploy --networks sepolia_testnet,bsc_testnet -``` - -``` -🚀 Successfully deployed contract on bsc_testnet -📜 Contract address: 0x65D661B68ff1466dedf80685450ac4c684b522BB - -🚀 Successfully deployed contract on sepolia_testnet -📜 Contract address: 0xDEB42ce9d2F32caaA38Bf3107a054951E11575DF - -🔗 Setting interactors for a contract on bsc_testnet -✅ Interactor address for 11155111 (sepolia_testnet) is set to 0xdeb42ce9d2f32caaa38bf3107a054951e11575df - -🔗 Setting interactors for a contract on sepolia_testnet -✅ Interactor address for 97 (bsc_testnet) is set to 0x65d661b68ff1466dedf80685450ac4c684b522bb -``` - -## Send ZETA - -Run the following command to send ZETA tokens from Sepolia to BSC testnet. -Please, note that since the contract expect ZETA tokens as fees, the value of -the `--amount` param is denominated in ZETA tokens. A fraction of the amount -will be deducted as a cross-chain fee, the rest will be sent to the recipient on -the destination chain. - -``` -npx hardhat interact --contract 0xDEB42ce9d2F32caaA38Bf3107a054951E11575DF --network sepolia_testnet --amount 3 --destination bsc_testnet -``` - -``` -🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 - -✅ The transaction has been broadcasted to sepolia_testnet -📝 Transaction hash: 0x90db3fa9e6e169eadae84b2dbfac15c6829807029f7198f1fcf515e6fb4d04cb -``` - -You can check the broadcasted transaction on Sepolia's Etherscan: - -https://sepolia.etherscan.io/tx/0x90db3fa9e6e169eadae84b2dbfac15c6829807029f7198f1fcf515e6fb4d04cb - -Next, you can track the progress of the cross-chain transaction: - -``` -npx hardhat cctx 0x90db3fa9e6e169eadae84b2dbfac15c6829807029f7198f1fcf515e6fb4d04cb -``` - -``` -✓ CCTXs on ZetaChain found. - -✓ 0xbf258794df4475fc79fec38f9afe3a92bee82477c3af1c9e61912e6b21408bb0: 11155111 → 97: OutboundMined -``` - -## Source Code - -You can find the source code for the example in this tutorial here: - -https://github.com/zeta-chain/example-contracts/tree/main/messaging/zeta diff --git a/src/pages/developers/cross-chain-messaging/gas-fees.mdx b/src/pages/developers/cross-chain-messaging/gas-fees.mdx deleted file mode 100644 index c6e1654a..00000000 --- a/src/pages/developers/cross-chain-messaging/gas-fees.mdx +++ /dev/null @@ -1,136 +0,0 @@ -import { Fees } from "~/components/Docs"; - -# Cross-Chain Messaging Fees - -A user (wallet, contract) must pay fees in order to send data and value across -chains through ZetaChain. A user pays for fees by sending ZETA (and message -data) on a connected chain to a Connector contract. This ZETA is used to pay -validators/stakers/ecosystem pools, as well as for paying the gas on the -destination. To a user, this is all bundled into a single transaction. - -When sending a cross-chain message you're paying two types of fees: - -- Outbound gas fee: calculated dynamically based on the gas prices for the - destination chain, the gas limit supplied by the user and the token prices on - the liquidity pools on ZetaChain. -- Protocol fee: currently, a fixed value defined in the ZetaChain source code. - -### Current Cross-Chain Messaging Fees - -In the table below you can see the current fees. The fees are defined in ZETA -tokens and are calculated for the destination chain (the chain where the message -is sent to). The fees are calculated with the gas limit of 500000. - - - -To calculate fees for a different gas limit, please, check out the `fees` -command in the smart-contract -[template](https://github.com/zeta-chain/template): - -``` -npx hardhat fees -``` - -## Different Approaches to Paying the Fees - -When you write a smart contract that uses cross chain messages this contract -needs to pay fees in ZETA for every cross chain transaction. There are several -ways to handle this. - -### Sending ZETA to the Connector - -In your cross-chain messaging contract approve `zetaValueAndGas` amount of ZETA -tokens to the connector and then transfer them to the connector contract. - -The main disadvantage with this approach is that the user must approve your -contract before and they have to have enough ZETA in his wallet. - -```solidity -function sendMessage(uint256 destinationChainId, bytes calldata destinationAddress, uint256 zetaValueAndGas) external { - if (zetaValueAndGas == 0) revert InvalidZetaValueAndGas(); - - bool success1 = ZetaEth(zetaToken).approve(address(connector), zetaValueAndGas); - bool success2 = ZetaEth(zetaToken).transferFrom(msg.sender, address(this), zetaValueAndGas); - if (!(success1 && success2)) revert ErrorTransferringZeta(); - - connector.send( - ZetaInterfaces.SendInput({ - destinationChainId: destinationChainId, - destinationAddress: destinationAddress, - destinationGasLimit: 300000, - message: abi.encode(), - zetaValueAndGas: zetaValueAndGas, - zetaParams: abi.encode("") - }) - ); -} -``` - -### Pay With ZETA From the Contract - -You can add ZETA tokens to the contract and the contract will use these tokens -when sending cross chain messages. - -This is easier for end-users, because they don't have to think about using ZETA -tokens, but it's more complex for the contract developer because they have to -ensure that the contract has enough ZETA tokens. - -```solidity -function sendMessage(uint256 destinationChainId, bytes calldata destinationAddress) external { - bool success1 = ZetaEth(zetaToken).approve(address(connector), ZETA_GAS); - if (!success1) revert ErrorApprovingZeta(); - - connector.send( - ZetaInterfaces.SendInput({ - destinationChainId: destinationChainId, - destinationAddress: destinationAddress, - destinationGasLimit: 300000, - message: abi.encode(), - zetaValueAndGas: ZETA_GAS, - zetaParams: abi.encode("") - }) - ); -} -``` - -### Pay With Any Token and Swap to ZETA - -Your contract can accept any token and swap it to ZETA internally. - -This approach is more complex, because you need to add a swap logic to your -contract and take market price fluctuations into account. But it's more -convenient for end-users, because they can use any token to pay for cross chain -messages without even knowing that ZETA is being used under the hood. - -To make it eaier you can use ZetaConsumer's `getZetaFromEth` to swap any token -to ZETA. - -```solidity -function sendMessage(uint256 destinationChainId, bytes calldata destinationAddress) external payable{ - uint256 crossChainGas = 2 * (10 ** 18); - uint256 zetaValueAndGas = _zetaConsumer.getZetaFromEth{value: msg.value}(address(this), crossChainGas); - bool success1 = ZetaEth(zetaToken).approve(address(connector), zetaValueAndGas); - if (!success1) revert ErrorApprovingZeta(); - - connector.send( - ZetaInterfaces.SendInput({ - destinationChainId: destinationChainId, - destinationAddress: destinationAddress, - destinationGasLimit: 300000, - message: abi.encode(), - zetaValueAndGas: zetaValueAndGas, - zetaParams: abi.encode("") - }) - ); -} -``` - -[ZetaTokenConsumer](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/interfaces/ZetaInterfaces.sol) -is an interface with several implementations that handles all the logic you need -to swap ZETA from/to another token. Right now we have three implementations -([Uniswap V2](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/tools/ZetaTokenConsumerUniV2.strategy.sol), -[Uniswap V3](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/tools/ZetaTokenConsumerUniV3.strategy.sol), -and -[Trident](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/tools/ZetaTokenConsumerTrident.strategy.sol)) -using different DEX. You can include it in your contract and just call the -appropriate method. diff --git a/src/pages/developers/cross-chain-messaging/overview.mdx b/src/pages/developers/cross-chain-messaging/overview.mdx deleted file mode 100644 index acef755a..00000000 --- a/src/pages/developers/cross-chain-messaging/overview.mdx +++ /dev/null @@ -1,79 +0,0 @@ -import { Alert } from "~/components/shared"; - -# Cross-Chain Messaging - -Cross-chain messaging makes the most sense for applications that generally need -minimal logic or state to maintain across all chains, and where data that needs -only to be passed between different chains one way. - -Cross-chain messaging (CCM) offers: - -- Transfer of ZETA tokens between connected EVM chains, including to/from - ZetaChain -- Transfer of messages with arbitrary data between connected EVM chains - - - Currently, it's not possible to send messages with arbitrary data to/from ZetaChain using CCM. For sending data to - ZetaChain, check out [omnichain contracts](/developers/omnichain/overview/). - - -```solidity -pragma solidity 0.8.7; - -import "@zetachain/protocol-contracts/contracts/evm/tools/ZetaInteractor.sol"; -import "@zetachain/protocol-contracts/contracts/evm/interfaces/ZetaInterfaces.sol"; - -contract YourContract is ZetaInteractor, ZetaReceiver { - constructor(address connectorAddress) - ZetaInteractor(connectorAddress) - {} - - function sendMessage(uint256 destinationChainId) external payable { - connector.send( - ZetaInterfaces.SendInput({ - destinationChainId: destinationChainId, - destinationAddress: interactorsByChainId[destinationChainId], - destinationGasLimit: 300000, - message: abi.encode("Hello, Cross-Chain World!"), - zetaValueAndGas: msg.value, - zetaParams: abi.encode("") - }) - ); - } - - function onZetaMessage(ZetaInterfaces.ZetaMessage calldata zetaMessage) external override isValidMessageCall(zetaMessage) { - // Handle the message - } - - function onZetaRevert(ZetaInterfaces.ZetaRevert calldata zetaRevert) external override isValidRevertCall(zetaRevert) { - // Handle the revert - } -} -``` - -The contract above is a very simple example of a cross-chain messaging contract. -Check out the -[Message tutorial](/developers/cross-chain-messaging/examples/hello-world/) for -a more in-depth example. - -CCM contracts are deployed on two or more connected chains. ZetaChain acts as a -relayer transferring the messages between blockchains. - -To send a message a user calls a function that executes `connector.send()`. -ZetaChain picks up the message and sends it to the destination chain. The -message is then received by a CCM contract passed to the `onZetaMessage` -function. - -A good use-case of CCM is an application that needs only to call a contract or -send value to an address on a different chain. After the message is received and -processed on the destination, the application ideally doesn't have to broadcast -anything back to synchronize state for anything, and the sender doesn't care -about the results. - -Cross-chain messaging works to build a variety of applications and primitives -such as: - -- Omnichain NFTs that can be sent between different chains, and that don't need - to know about the state of the collection on other chains -- “Simple” swap or bridge apps that use liquidity pools on existing chains -- Proving ownership of NFTs or simple action-calls to a different chain diff --git a/src/pages/developers/cross-chain-messaging/transactions.mdx b/src/pages/developers/cross-chain-messaging/transactions.mdx deleted file mode 100644 index 93d8194c..00000000 --- a/src/pages/developers/cross-chain-messaging/transactions.mdx +++ /dev/null @@ -1,41 +0,0 @@ -# Types of Transactions - -## ZETA Transfer - -### ✅ ZETA Between Connected Chains - -```jsx -npx hardhat send-zeta --amount 3 --network mumbai_testnet --destination bsc_testnet -``` - -https://mumbai.polygonscan.com/tx/0x217300fc78a04eaf9c6217749b3e20aa99548771de48638b5016efae853c9368 - -### ❌ ZETA Between Connected Chains (insufficient amount) - -```jsx -npx hardhat send-zeta --amount 0.1 --network mumbai_testnet --destination bsc_testnet --ignore-checks -``` - -https://mumbai.polygonscan.com/tx/0x9132a994cbf536486c1354a6333e6d8f59156971888eebe8f74f882d48d16770 - -### ✅ ZETA to ZetaChain - -```jsx -npx hardhat send-zeta --amount 3 --network mumbai_testnet --destination zeta_testnet -``` - -https://mumbai.polygonscan.com/tx/0x40038e68d3f997952c302c95bcf10f841f8d3e960db3e71249ae0fe2b81a2e6f - -### ✅ ZETA from ZetaChain - -```jsx -npx hardhat send-zeta --amount 3 --network zeta_testnet --destination mumbai_testnet -``` - -https://athens.explorer.zetachain.com/cc/tx/0xa28ff75a237afcdc3a5ee7a8c79a4e813e899ab6d9b0c22d20e5cdf10e028a6a - -## Messaging - -### ✅ Cross-chain messaging - -https://goerli.etherscan.io/tx/0x681173b17e4ddc557d496114601845edf4666087027e77f33df7bffe4954619f diff --git a/src/pages/developers/evm/_meta.json b/src/pages/developers/evm/_meta.json new file mode 100644 index 00000000..bbc64458 --- /dev/null +++ b/src/pages/developers/evm/_meta.json @@ -0,0 +1,18 @@ +{ + "gateway": { + "title": "Gateway", + "description": "A single point of entry for interacting with universal apps" + }, + "gas": { + "title": "Gas Fees", + "description": "Learn about ZRC-20 withdraw fees, message passing fees" + }, + "addresses": { + "title": "Account Addresses", + "description": "Learn about types of account address, how to use and convert between them" + }, + "throughput": { + "title": "Liquidity Throughput", + "description": "Liquidity caps on tokens and rate limiting" + } +} \ No newline at end of file diff --git a/src/pages/developers/addresses.mdx b/src/pages/developers/evm/addresses.mdx similarity index 75% rename from src/pages/developers/addresses.mdx rename to src/pages/developers/evm/addresses.mdx index e37434fc..2441fb27 100644 --- a/src/pages/developers/addresses.mdx +++ b/src/pages/developers/evm/addresses.mdx @@ -1,15 +1,17 @@ +--- +title: Account Addresses +--- + import { AddressConverter } from "~/components/Docs"; import { Alert } from "~/components/shared"; -# Account Addresses - ## Overview ZetaChain is built with Cosmos SDK and uses the Ethermint module to provide EVM compatibility. Being both a Cosmos and an EVM chain means that ZetaChain -supports two types of addresses: -[bech32 Cosmos addresses](https://docs.cosmos.network/main/build/spec/addresses/bech32) -and [hex EVM addresses](https://ethereum.org/developers/docs/accounts). +supports two types of addresses: [bech32 Cosmos +addresses](https://docs.cosmos.network/main/build/spec/addresses/bech32) and +[hex EVM addresses](https://ethereum.org/developers/docs/accounts). Bech32 addresses are known for their human-readable format, which typically starts with a prefix related to the specific blockchain. These addresses are @@ -52,7 +54,8 @@ wallet and an EVM wallet and access the same account. Some wallets, like Keplr display both bech32 and hex addresses. - You don't need to transfer your tokens between a bech32 address and an hex address that represent the same account. + {" "} + You don't need to transfer your tokens between a bech32 address and an hex address that represent the same account.{" "} ## Account Type @@ -67,12 +70,5 @@ For Cosmos and EVM compatiblity the account `@type` should be ## Account Address Converter -To convert between bech32 and EVM addresses, you can use the following tool: - - - -Converting between bech32 and EVM addresses is an off-chain operation and can be -implemented in any programming language, for example, -[in TypeScript](https://github.com/zeta-chain/docs/blob/addresses-page/src/components/AddressConverter/convertAddress.ts). -On the CLI you can also use -[`zetacored debug addr`](/architecture/zetacored/zetacored_debug_addr/) command. +To convert between bech32 and EVM addresses, you can use the [address +converter](/reference/network/address-converter). diff --git a/src/pages/developers/evm/gas.mdx b/src/pages/developers/evm/gas.mdx new file mode 100644 index 00000000..341d52ee --- /dev/null +++ b/src/pages/developers/evm/gas.mdx @@ -0,0 +1,57 @@ +--- +title: Gas Fees +--- + +import { Fees } from "~/components/Docs"; + +import { Alert } from "~/components/shared"; + +## Overview + +When interacting with smart contracts on ZetaChain, users need to include a fee +for gas for each transaction. + +The gas market mechanism for smart contracts on ZetaChain's EVM is similar to +that of [Ethermint](https://docs.ethermint.zone/basics/gas.html) and follows +Ethereum's EIP 1559 gas fee structure. This system is designed to deter spamming +activities on the network. + +## Deposit + +When depositing tokens to ZetaChain by sending them to the TSS (Threshold +Signature Scheme) address on a connected chain, you will pay the fee in the +native gas token of that chain, similar to a standard transaction. + +For example, if you are depositing ETH from Ethereum to ZetaChain, the fee will +be in ETH, comparable to a regular token transfer on the Ethereum network. For +more information on Ethereum gas and fees, refer to the [official +documentation](https://ethereum.org/en/developers/docs/gas/). + +## Withdraw + +When withdrawing ZRC-20 tokens back to a connected connected chain, the +"withdraw gas fee" is applicable (listed as "Total fee" in the table below). + +To find out the fee amount, call the `withdrawGasFee` function on the [ZRC-20 +contract](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/ZRC20.sol) +for the token you wish to withdraw. This function will return the fee in the +native gas token of the connected chain. + +The `withdraw` function will deduct this gas fee from your ZRC-20 balance and +proceed with the withdrawal to the destination chain. + +## Current omnichain fees + +In the table below you can see the current fees. The fees are defined in native +gas tokens on the destination chain (the chain to which ZRC-20 tokens are +withdrawn). The fees are calculated with the gas limit of 500000. + + + +To calculate fees for a different gas limit, please, check out the `fees` +command in the smart-contract +[template](https://github.com/zeta-chain/template): + +``` +npx hardhat fees +``` diff --git a/src/pages/developers/evm/gateway.mdx b/src/pages/developers/evm/gateway.mdx new file mode 100644 index 00000000..0e90a150 --- /dev/null +++ b/src/pages/developers/evm/gateway.mdx @@ -0,0 +1,52 @@ +Gateway is an interface that serves as a unified entry point for interactions +between contracts on connected chains and universal apps on ZetaChain. + +## Gateway on Connected Chains + +The gateway on connected chains (like Ethereum, Solana and Bitcoin) facilitates +incoming transactions: contract calls and token transfers from connected chains +to universal apps on ZetaChain. + +The implementation of the gateway depends on the connected chain: + +- EVM chains: a gateway smart contract +- Solana: a gateway program +- Bitcoin: a TSS MPC gateway address managed by a network of observer-signer + validators + +Each chain has only one gateway. The same gateway is used to interact with all +universal apps. + +Gateway supports the following features: + +- depositing native gas tokens to a universal app or an account on ZetaChain +- depositing supported ERC-20 tokens (including ZETA tokens) to a universal app + or an account on ZetaChain +- depositing native gas tokens and making a contract call (with arbitrary data + passing) to a universal app +- depositing supported ERC-20 tokens and making a contract call (with arbitrary + data passing) to a universal app +- making a contract call (with arbitrary data passing) to a universal app + +These features may vary depending on each specific connected chain. For example, +deposits from Bitcoin can only be made in native gas token (BTC). And deposits +from Solana can be made in SOL and (soon) SPL tokens. + +Currently, only one asset can be deposited at a time to a universal app. Support +for multi-asset deposits will be added in the future updates to the protocol. + +## Gateway on ZetaChain + +Gateway on ZetaChain facilitates outgoing transactions: calls and token +withdrawals from universal apps to contracts on connected chains. + +Gateway supports the following features: + +- withdrawing ZRC-20 tokens as native gas or ERC-20 tokens to connected chains +- withdrawing ZETA tokens to a connected chain +- withdrawing tokens to and making a contract call on a connected chain +- making a contract call on a connected chain + +Currently, only one asset can be withdrawn at a time from a universal app. +Support for multi-asset withdrawals will be added in the future updates to the +protocol. diff --git a/src/pages/developers/evm/throughput.mdx b/src/pages/developers/evm/throughput.mdx new file mode 100644 index 00000000..a5dfed1d --- /dev/null +++ b/src/pages/developers/evm/throughput.mdx @@ -0,0 +1,40 @@ +ZetaChain uses two mechanisms to manage liquidity throughput and ensure secure transactions: + +- Liquidity caps for incoming transactions +- Rate limiting for outgoing transactions + +These mechanisms maintain network stability and reliability, especially during high transaction volumes. By using liquidity caps for incoming transactions and rate limiting for outgoing transactions, ZetaChain controls the flow of tokens into and out of the network. This prevents abuse, safeguards the network from potential liquidity shocks, and ensures the system can handle high transaction loads without compromising performance or security. + +## Incoming Transactions: Liquidity Caps + +For transactions coming into ZetaChain from a connected chain, ZetaChain uses a +mechanism called liquidity caps. Each supported token on ZetaChain has a +predefined maximum amount, or cap, that can be sent to ZetaChain. If the cap is +reached, any further transactions attempting to send more tokens to ZetaChain +will be reverted. Each supported token has its own cap, and transactions +exceeding the cap are reverted. The current liquidity caps for supported tokens +can be accessed through the chain's API: on +[testnet](https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/fungible/foreign_coins) +and [mainnet +beta](https://zetachain.blockpi.network/lcd/v1/public/zeta-chain/fungible/foreign_coins). + +## Outgoing Transactions: Rate Limiter + +For transactions from ZetaChain to a connected chain, ZetaChain employs a rate +limiter mechanism. This mechanism ensures that the total number of tokens +withdrawn within a specified sliding window of ZetaChain blocks does not exceed +a predefined global limit. The rate limiter operates within a sliding window +defined in ZetaChain blocks, and there is a global limit denominated in ZETA +(rate) per block. The total amount of withdrawals for all tokens combined within +a single window cannot exceed the rate multiplied by the number of window +blocks. + +Each ZRC-20 token has a conversion rate to ZETA. For example, if a ZRC-20 token +XYZ has a conversion rate of 2, withdrawing 10 XYZ will be counted as 20 ZETA +towards the limit. The current rate limiter parameters can be accessed through +the rate limiter flags endpoint: on +[testnet](https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/rateLimiterFlags) +and [mainnet +beta](https://zetachain.blockpi.network/lcd/v1/public/zeta-chain/crosschain/rateLimiterFlags). + +These mechanisms ensure ZetaChain efficiently manages liquidity, prevents abuse, and maintains network stability during high transaction volumes. diff --git a/src/pages/developers/frontend/_meta.json b/src/pages/developers/frontend/_meta.json new file mode 100644 index 00000000..2d747c67 --- /dev/null +++ b/src/pages/developers/frontend/_meta.json @@ -0,0 +1,8 @@ +{ + "universalkit": { + "title": "UniversalKit", + "description": "A set of ready to use React components that lets you build user interfaces for universal apps on ZetaChain", + "readType": "Beginner", + "readTime": "30 min" + } +} \ No newline at end of file diff --git a/src/pages/developers/frontend/universalkit.mdx b/src/pages/developers/frontend/universalkit.mdx new file mode 100644 index 00000000..2cc14bf0 --- /dev/null +++ b/src/pages/developers/frontend/universalkit.mdx @@ -0,0 +1,276 @@ +--- +heroImgUrl: /img/pages/universalkit.svg +heroImgWidth: 549 +--- + +import { Alert } from "~/components/shared"; + +# Start Here + +[UniversalKit](https://github.com/zeta-chain/universalkit/) provides a set of +React components designed to make building universal applications easier. + +The components are expected to work with +[Next.js](https://github.com/vercel/next.js), +[RainbowKit](https://github.com/rainbow-me/rainbowkit/) and +[wagmi](https://github.com/wevm/wagmi). + +Start from a template (recommended): + +``` +git clone https://github.com/zeta-chain/template +cd template/web +yarn +``` + +Or add UniversalKit to your existing app: + +``` +yarn add @zetachain/universalkit +``` + + The component library is in under active development and currently is recommended for testnet use only. + +## UniversalKit Provider + +UniversalKit Provider is a React context provider that initializes and provides +shared state between components. + +To initialize the provider, wrap your application with the +`UniversalKitProvider` and pass wagmi config and query client: + +```tsx filename="src/app/providers.tsx" +import { UniversalKitProvider } from "@zetachain/universalkit"; + + + {children} +; +``` + +If you're using the [template](https://github.com/zeta-chain/template), the +provider is already initialized. + +## ZetaChain Client Config + +ZetaChain Client is a client that provides access to useful methods for +interacting with ZetaChain. The client is powered by the +[Toolkit](https://github.com/zeta-chain/toolkit) library. + +To provide custom RPC endpoints to the UniversalKit pass the `zetaChainConfig` +prop + +```tsx filename="src/app/providers.tsx" +const zetaChainConfig = { + network: "testnet", + chains: { + zeta_testnet: { + api: [ + { + url: "https://zetachain-athens.g.allthatnode.com/archive/evm", + type: "evm", + }, + ], + }, + }, +}; + + + {children} +; +``` + +## Bitcoin Wallet Provider + +Bitcoin Wallet Provider is a React context provider that initializes and +provides functionality for connecting a Bitcoin wallet to the application: +address of the connected Bitcoin wallet, connection status, connected wallet +type, method to connect a wallet, method to disconnect a wallet, and method to +send a transaction. + +```ts +import { useBitcoinWallet } from "@zetachain/universalkit"; + +const { address, loading, connectedWalletType, connectWallet, disconnect, sendTransaction } = useBitcoinWallet(); +``` + +## Connect Bitcoin + +![](/img/docs/components-connect-bitcoin.png) + +Connect Bitcoin is a component that allows users to connect their Bitcoin wallet +to the application. Currently, OKX, XDEFI and UniSat wallets are supported. + +After a Bitcoin wallet is connected, the current address becomes available from +the `BitcoinWalletProvider`. + +```tsx filename="src/app/page.tsx" +"use client"; + +import { ConnectButton } from "@rainbow-me/rainbowkit"; +import { ConnectBitcoin } from "@zetachain/universalkit"; + +const Page = () => { + return ( +
+
+ + +
+
+
{/* Add components here */}
+
+
+ ); +}; + +export default Page; +``` + +## Swap + +![](/img/docs/components-swap.png) + +The Swap component provides the following functionality: + +- Swap between connected chains (for example, Ethereum and BNB) +- Deposit native gas and supported ERC-20 tokens from a connected chain to + ZetaChain +- Withdraw ZRC-20 tokens from ZetaChain to a connected chain +- Send ZETA between chains +- Transfer native gas and ERC-20 tokens on connected chains + +For cross-chain swaps the component depends on a universal swap contract. +Complete [the swap tutorial](/developers/tutorials/swap-any) and deploy your own +contract, or use the contract address from the example below. contract or use +the contract address from the example below. + +```tsx filename="src/app/page.tsx" +"use client"; + +import { ConnectButton } from "@rainbow-me/rainbowkit"; +import { Swap, ConnectBitcoin } from "@zetachain/universalkit"; + +const contract = "0xb459F14260D1dc6484CE56EB0826be317171e91F"; // universal swap contract + +const Page = () => { + return ( +
+
+ + +
+
+
+ +
+
+
+ ); +}; + +export default Page; +``` + +## Balances + +![](/img/docs/components-balances.png) + +The Balances component provides a list of token balances on all chains connected +to ZetaChain, with the ability to search the list and filter tokens by chain. + +```tsx filename="src/app/page.tsx" +"use client"; + +import { ConnectButton } from "@rainbow-me/rainbowkit"; +import { Balances, ConnectBitcoin } from "@zetachain/universalkit"; + +const Page = () => { + return ( +
+
+ + +
+
+
+ +
+
+
+ ); +}; + +export default Page; +``` + +## Profile + +![](/img/docs/components-profile.png) + +The Profile component resolves an address to a domain name and displays it as a +button. For resolving addresses the component uses [Space ID Web3 Name +SDK](https://docs.space.id/developer-guide/web3-name-sdk/web3-name-sdk). + +```tsx filename="src/app/page.tsx" +"use client"; + +import { ConnectButton } from "@rainbow-me/rainbowkit"; +import { Profile, ConnectBitcoin } from "@zetachain/universalkit"; +import { useAccount } from "wagmi"; + +const Page = () => { + const account = useAccount(); + + return ( +
+
+ + +
+
+
+ +
+
+
+ ); +}; + +export default Page; +``` + +## Staking Rewards + +![](/img/docs/components-staking-rewards.png) + +The Staking Rewards component displays the staked amount, number of tokens being +unstaked, and the number of rewards earned. The component also allows users to +claim staking rewards. + +```tsx filename="src/app/page.tsx" +"use client"; + +import { ConnectButton } from "@rainbow-me/rainbowkit"; +import { StakingRewards, ConnectBitcoin } from "@zetachain/universalkit"; +import { useAccount } from "wagmi"; + +const Page = () => { + const account = useAccount(); + + return ( +
+
+ + +
+
+
+ +
+
+
+ ); +}; + +export default Page; +``` diff --git a/src/pages/developers/omnichain/_meta.json b/src/pages/developers/omnichain/_meta.json deleted file mode 100644 index dc73ec2a..00000000 --- a/src/pages/developers/omnichain/_meta.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "overview": "Overview", - "zeta-evm": "ZetaEVM (zEVM)", - "liquidity-pools": "Liquidity Pools", - "gas-fees": "Gas Fees", - "system-contract": "System Contract", - "bitcoin": "Bitcoin: deposit & call contracts", - "transactions": "Types of Transactions", - "tutorials": "Tutorials" -} diff --git a/src/pages/developers/omnichain/bitcoin.mdx b/src/pages/developers/omnichain/bitcoin.mdx deleted file mode 100644 index f5285850..00000000 --- a/src/pages/developers/omnichain/bitcoin.mdx +++ /dev/null @@ -1,79 +0,0 @@ -import { Alert } from "~/components/shared"; - -# Deposit and call zEVM contracts from Bitcoin - -This section is important for wallet and app developers. - - - All inputs and outputs of Bitcoin transactions sent to TSS address must be a P2WPKH address (SegWit bech32 address, - such as bc1xxx on Bitcoin mainnet). Otherwise the transactions will not be observed and there will be no refund, and - may cause irreversible user fund loss. - - -To deposit BTC into zEVM ZRC-20 contract (and optionally call a smart contract), -the Bitcoin transaction must conform to this specifications: - -1. The Bitcoin transaction must have at least 2 outputs. -2. The first output must be addressed to the TSS Bitcoin address. -3. The second output must be a memo output, i.e. `OP_RETURN PUSH_x [DATA]`. This - output must be less than 80 bytes. -4. The memo `[DATA]` is an array of bytes that encodes the recipient address of - this deposit into ZRC-20 or the smart contract on zEVM that will be invoked - by this transaction. -5. If the purpose of this Bitcoin transaction is to only deposit BTC into the - BTC ZRC-20 on zEVM, then the `[DATA]` should be exactly 20 bytes long, - consists of an Ethereum-style address. -6. If the purpose of this Bitcoin transaction is to deposit BTC and also use the - deposited amount to call a smart contract on zEVM, then the `[DATA]` field - must consists of a smart contract address, and a binary message that will be - forwarded to the said smart contract: - `[DATA] = [zEVM contract address (20B)] + [arbitrary binary message]` - -## Example 1: Deposit BTC into an account in zEVM - -[Here's](https://blockstream.info/testnet/tx/952d60fd9efc1aad4b87a8a7a6d57a972d49e084de8b5dc524e163216c11c04f?expand) -an example Bitcoin transaction on Bitcoin Testnet that deposits 0.0005 tBTC -(50000 sats) into the address (0x)6da30bfa65e85a16b05bce3846339ed2bc746316. - -Note the three outputs: - -1. sending the intended amount (50000sats) to the current TSS Bitcoin address - tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur. -2. the memo output, encoding the recipient address on zEVM - (0x)6a146da30bfa65e85a16b05bce3846339ed2bc746316. -3. change sent back to the user. - -If you're using ZetaChain's Hardhat -[smart contract template](https://github.com/zeta-chain/template), you can use -the `send-btc` task to transfer BTC: - -``` -npx hardhat send-btc --recipient tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur --amount 0.0005 --memo 6a146da30bfa65e85a16b05bce3846339ed2bc746316 -``` - -Where `recipient` is the TSS Bitcoin address, `amount` is the amount of tBTC to -transfer, and `memo` is the recipient address on zEVM. - -## Example 2: Deposit BTC and call a smart contract in zEVM - - - In order to test with Bitcoin, you will need to use a wallet that allows setting an `OP_RETURN` and memos in a binary - format. Please see our wallet suggestions [here](/reference/wallets). - - -If invalid information is sent (i. e. invalid address), the assets may be lost -and not recoverable. - -In summary, a zEVM BTC transaction would look like this: - -1. A user sends 1 BTC on Bitcoin network to the Bitcoin - [TSS address](/reference/contracts) , adding a memo (via `OP_RETURN`) in the - tx saying (colloquially) “deposit to 0x1337”. -2. Upon receiving this tx, the ZetaCore state machine calls the deposit (0x1337, - 1e8) to mint and credit 0x1337 with 1 zBTC minus fees. -3. If 0x1337 is an Externally Owned Account (EOA), that's it. If it's a - contract, ZetaCore will call the `onCrossChainMessage` function sending the - message that was specified in the `OP_RETURN` memo. - -The TSS address holds the BTC, where ownerships are tracked inside this BTC -ZRC-20 contract. diff --git a/src/pages/developers/omnichain/gas-fees.mdx b/src/pages/developers/omnichain/gas-fees.mdx deleted file mode 100644 index e2a08361..00000000 --- a/src/pages/developers/omnichain/gas-fees.mdx +++ /dev/null @@ -1,62 +0,0 @@ -import { Fees } from "~/components/Docs"; -import { Alert } from "~/components/shared"; - -# Fees - -When interacting with smart contracts on ZetaChain, users need to include a fee -spent on gas for that specific transaction. - -Smart contracts, both during deployment and when called, require gas. You can -interact with a zEVM (ZetaChain Virtual Machine) contract from an external chain -using a ZRC-20 `deposit`. This can include embedding a contract call within the -message. Alternatively, you can directly connect to ZetaChain and interact with -a contract that is already deployed on zEVM. - -The gas market mechanism for ZetaEVM smart contracts is similar to that of -[Ethermint](https://docs.ethermint.zone/basics/gas.html) and behaves like -Ethereum's EIP 1559 gas fee structure. This system is designed to deter spamming -activities on the network. - -## Omnichain Contract Fees - -### Deposit - -When depositing tokens to ZetaChain by sending them to the TSS (Threshold -Signature Scheme) address on a connected chain, you will pay the fee in the -native gas token of that chain, just as you would for a standard transaction. - -For example, if you are depositing ETH from Ethereum to ZetaChain, the fee will -be in ETH and comparable to a regular token transfer on the Ethereum network. -For more information on Ethereum gas and fees, refer to the -[official documentation](https://ethereum.org/en/developers/docs/gas/). - -### Withdraw - -When withdrawing ZRC-20 tokens back to a connected external chain, the "withdraw -gas fee" is applicable (listed as "Total fee" in the table below). - -To find out the fee amount, call the withdrawGasFee function on the -[ZRC-20 contract](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/ZRC20.sol) -for the token you wish to withdraw. This function will return the fee in the -native gas token of the connected chain. - -The `withdraw` function will deduct this gas fee from your ZRC-20 balance and -proceed with the withdrawal to the destination chain. - -### Current omnichain fees - -These fees are calculated for ZetaChain testnet. - -In the table below you can see the current fees. The fees are defined in native -gas tokens on the destination chain (the chain to which ZRC-20 tokens are -withdrawn). The fees are calculated with the gas limit of 500000. - - - -To calculate fees for a different gas limit, please, check out the `fees` -command in the smart-contract -[template](https://github.com/zeta-chain/template): - -``` -npx hardhat fees -``` diff --git a/src/pages/developers/omnichain/liquidity-pools.mdx b/src/pages/developers/omnichain/liquidity-pools.mdx deleted file mode 100644 index 42c1e19d..00000000 --- a/src/pages/developers/omnichain/liquidity-pools.mdx +++ /dev/null @@ -1,65 +0,0 @@ -import Image from "next/image"; - -# Liquidity Pools - -Liquidity pools help facilitate both crucial functions of ZetaChain and improved -user experience (lower fees, more fluid exchanges, more versatile financial -applications) for the entire crypto ecosystem. the pools in ZetaChain's -environment fall into three main buckets: core ZETA pools, additional zEVM -pools, and external ZETA pools. - -## Core ZETA Pools - -A [ZETA] / [Gas ZRC-20] Uniswap Pool (on zEVM) is the core pool needed by -ZetaChain to write outbound transactions to that chain. Whenever a chain's -support is added, a corresponding pool between ZETA and that chain's native gas -asset is also created. - -Here, you can visualize how a UniswapV2 contract controls ZETA / gas pools. -Liquidity is provided to TSS addresses on connected chains, and then Uniswap (or -any exchange contract) can use those assets (ZRC-20) against ZETA or any other -asset. - - - -For example, you can see how cross-chain messaging functions using these core -pools that pair native gas (ZRC-20) with ZETA to pay for outbound transactions: - - - -## Additional zEVM Pools - -Any liquidity pool may be created on zEVM. One can deploy normal ERC-20 tokens -onto ZetaChain, incorporate external chain tokens through ZRC-20, and make any -permutation of liquidity pool required for their applications, just as one would -on a single-chain EVM. For example, one could create useful [ZETA] / -[Stablecoin] or [Gas] / [Stablecoin] pools that let users trade more fluidly -against different assets. - -As another example, you can see how one could swap using a DEX that uses ZRC-20 -tokens in a pool directly against each other. This depicts a swap between native -MATIC and ETH. Of course, if needed, tokens could use ZETA as an intermediary -(MATIC -> ZETA -> ETH) if a certain pool does not exist. - - - -## External ZETA Pools - -ZETA is an omnichain token that exists both on ZetaChain as well as on any -connected chain, as it is for both smart contract gas fees and cross-chain -messaging. Certain pools such as [ZETA] / [Gas] on each chain will be helpful -for applications to facilitate cross-chain value transfer through messaging. -Developers also need pools on external chains to acquire ZETA, in order to use -it for messaging. diff --git a/src/pages/developers/omnichain/overview.mdx b/src/pages/developers/omnichain/overview.mdx deleted file mode 100644 index 2f0c545a..00000000 --- a/src/pages/developers/omnichain/overview.mdx +++ /dev/null @@ -1,86 +0,0 @@ -# Overview - -Omnichain Smart Contracts are contracts deployed on ZetaChain that can use and -orchestrate assets on connected chains, as well as on ZetaChain. With omnichain -smart contracts you are able to have a single place of logic that can maintain -the state of assets and data across all connected chains. - -For a contract to be considered omnichain it must inherit from the `zContract` -interface and implement the `onCrossChainCall` function: - -```mermaid -flowchart LR - subgraph Ethereum ["Ethereum (or other EVM chain)"] - direction LR - Account("Account") - TSS("TSS Address") - erc20Custody("ERC-20 Custody Contract") - Account -- "send ETH" --> TSS - Account -- "deposit ERC-20" --> erc20Custody - end - subgraph Bitcoin ["Bitcoin"] - accountBTC("Account") - TSSBTC("TSS Address") - accountBTC -- send BTC --> TSSBTC - end - subgraph ZetaChain - systemContract("System Contract") - omnichainContract("Omnichain Contract") - TSS --> systemContract - erc20Custody --> systemContract - systemContract -- "call" --> omnichainContract - TSSBTC --> systemContract - end -``` - -```solidity -pragma solidity 0.8.7; - -import "@zetachain/protocol-contracts/contracts/zevm/interfaces/IZRC20.sol"; -import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; - -contract YourContract is zContract { - function onCrossChainCall( - zContext calldata context, - address zrc20, - uint256 amount, - bytes calldata message - ) external virtual override { - bytes32 recipient = abi.decode(message, (bytes32)); - - (, uint256 gasFee) = IZRC20(zrc20).withdrawGasFee(); - - IZRC20(zrc20).approve(zrc20, gasFee); - IZRC20(zrc20).withdraw(abi.encodePacked(recipient), amount - gasFee); - } -} -``` - -The contract above is a very simple example of an omnichain contract. Check out -the [introductory omnichain tutorial](/developers/omnichain/tutorials/hello) for -a more in-depth example. - -An omnichain contract is deployed on ZetaChain and can be called from any -connected chain. - -To call an omnichain contract from a connected chain a user sends native gas -tokens to the TSS address or deposits supported ERC-20 tokens to ERC-20 custody -contract. The amount of deposited tokens becomes available an omnichain contract -in a [ZRC-20](/developers/tokens/zrc20) form and the payload of the deposit is -passed as the message to the contract. - -Omnichain Smart Contracts are ideal for more complex applications where state -management between different chains is core to the application. Some use case -examples include: - -- Complex trading or DeFi applications that involve liquidity on multiple - chains. -- Adding smart contract layer to non-smart-contract chains like Bitcoin and - Dogecoin, or incorporating these chains/assets with other pieces of the DeFi - ecosystem natively. -- Multichain smart-contract wallet applications like portfolio management across - all chains. -- Leveraging existing implementations of protocols like Aave, Uniswap, Curve, - etc. for omnichain. Since zEVM is EVM-compatible, one can build on top of - these implementations (just as they would on Ethereum) to adapt them for - omnichain interoperability. diff --git a/src/pages/developers/omnichain/system-contract.mdx b/src/pages/developers/omnichain/system-contract.mdx deleted file mode 100644 index a158e503..00000000 --- a/src/pages/developers/omnichain/system-contract.mdx +++ /dev/null @@ -1,78 +0,0 @@ -# System contract - -To make your life easier we already deployed a system contract with some -information you may need in your protocol. You can import this code into your -project and instance with the deployed address. You can find the up-to-date -address of the system contract using the ZetaChain's API: - -https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/fungible/system_contract - -In this contract you will find: - -- wZetaContractAddress: ZRC20 version of Zeta Native Token -- uniswapv2FactoryAddress and uniswapv2Router02Address: Uniswap v2 already - deployed on zEVM -- gasZetaPoolByChainId and gasCoinZRC20ByChainId: helpers with ZRC20 data - indexed by chain ID -- gasPriceByChainId: helper to estimate gas for an external transaction - -```solidity filename="SystemContract.sol" -contract SystemContract is SystemContractErrors { - mapping(uint256 => uint256) public gasPriceByChainId; - mapping(uint256 => address) public gasCoinZRC20ByChainId; - mapping(uint256 => address) public gasZetaPoolByChainId; - - address public constant FUNGIBLE_MODULE_ADDRESS = 0x735b14BB79463307AAcBED86DAf3322B1e6226aB; - address public immutable uniswapv2FactoryAddress; - address public immutable uniswapv2Router02Address; - address public wZetaContractAddress; - address public zetaConnectorZEVMAddress; - //... -} -``` - -Source: -[`SystemContract.sol`](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/SystemContract.sol) - -Let's look at an example of how to use the system contract in your smart -contract. - -Install the protocol contracts package: - -``` -yarn add --dev @zetachain/protocol-contracts -``` - -Import the system contract and create a reference to the system contract in the -constructor: - -```solidity filename="Contract.sol" -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; - -contract SystemContractSample { - SystemContract public immutable systemContract; - - constructor(address systemContractAddress) { - systemContract = SystemContract(systemContractAddress); - } - - function getZRC20AddressByChainId(uint32 targetZRC20ChainId) public returns(address) { - return systemContract.gasCoinZRC20ByChainId(targetZRC20ChainId); - } -} -``` - -In your deploy script, you can get the system contract address by using the -`getAddress` helper function. - -```ts -import { getAddress } from "@zetachain/protocol-contracts"; - -const SYSTEM_CONTRACT = getAddress("systemContract", "zeta_testnet"); -``` - -For an example of how the system contract can be used, please, refer to the -[Swap example project](https://github.com/zeta-chain/example-contracts/tree/main/omnichain/swap). diff --git a/src/pages/developers/omnichain/tutorials/_meta.json b/src/pages/developers/omnichain/tutorials/_meta.json deleted file mode 100644 index d9ea2f3d..00000000 --- a/src/pages/developers/omnichain/tutorials/_meta.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "hello": "First Omnichain Contract", - "staking": "Staking", - "swap": "Swap", - "goldsky": "Subgraph: Goldsky", - "single-input-multiple-output": "Single Input Multiple Output", - "curve": "Curve on zEVM", - "bitcoin-frontend": "Bitcoin Frontend", - "particle": "Account Abstraction: Particle Network", - "pyth": "Pyth Price Oracle", - "nft": "Non-Fungible Tokens (NFTs)" -} diff --git a/src/pages/developers/omnichain/tutorials/curve.mdx b/src/pages/developers/omnichain/tutorials/curve.mdx deleted file mode 100644 index 5b722604..00000000 --- a/src/pages/developers/omnichain/tutorials/curve.mdx +++ /dev/null @@ -1,49 +0,0 @@ -import { CodeBlock } from "~/components/shared"; - -# Curve on zEVM - -## Overview - -Assuming you have familiarized yourself with -[ZRC-20 Tokens](/developers/tokens/zrc20) and -[zEVM](/developers/omnichain/zeta-evm), this example walks through how you'd -create an omnichain Curve pool! This means you can leverage the existing Curve -contracts and orchestrate external, native assets as if they were all on one -chain. - -## Deploy Curve on ZetaChain - -Since zEVM is fully EVM compatible, you can download the Curve repo as it is and -deploy it on zEVM, simply pointing the RPC to zEVM RPC. You can find all the -ZetaChain RPC information [here](/reference/api). - -## Deploy a tri-token pool of ZRC-20 tokens - -Let's say we already deployed a tri-token pool (if you don't know how to deploy -it take a look to official script, does all the work for you out of the box -[deployment script](https://github.com/curvefi/curve-contract/blob/master/scripts/deploy.py)), -using the address of three ZRC-2020 tokens. You can find the ZetaChain addresses -of ZRC-20 tokens supported right now on the ZetaChain testnet using this -[endpoint](https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/fungible/foreign_coins). - -## Implement a cross-chain stableswap - -Now that you have Curve and the pool you want deployed, swapping would look just -like this: - - - -In this example `crvZRC20s` is an array of three ZRC20 tokens, for example sETH, -tBNB and tMATIC. And `crv3pool` is the address of the pool you deployed with -Curve's code. - -Easy right? In order to swap, you just need to write onCrossChainCall. This -function simply extracts params from the message, calls the Curve pool's -`exchange`, and then withdraws to the designated destination. All swap/pool -logic remains in the core Curve contract deployment. Users can interact by -depositing and calling this zEVM contract from an external chain. You can see -how you'd call this for a user programmatically -[here](/developers/tokens/zrc20/). diff --git a/src/pages/developers/omnichain/tutorials/nft/_meta.json b/src/pages/developers/omnichain/tutorials/nft/_meta.json deleted file mode 100644 index b4ffa85c..00000000 --- a/src/pages/developers/omnichain/tutorials/nft/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "contract": "NFT Smart Contract", - "frontend": "Frontend dApp" -} diff --git a/src/pages/developers/omnichain/tutorials/nft/contract.mdx b/src/pages/developers/omnichain/tutorials/nft/contract.mdx deleted file mode 100644 index 6d1ce9ef..00000000 --- a/src/pages/developers/omnichain/tutorials/nft/contract.mdx +++ /dev/null @@ -1,298 +0,0 @@ -# NFT Smart Contract - -## Overview - -In this tutorial you will learn how to create an NFT omnichain smart contract -that mints NFTs on ZetaChain in response to token deposits on connected chains. - -A user deposits a native gas token on one of the connected chains by sending it -to the TSS address. This triggers an omnichain contract call on ZetaChain, and -`onCrossChainCall` is called. The contract then mints an NFT with an `amount` -property equal to the amount of tokens deposited, and a `chain` property equal -to the chain ID of the chain that the deposit was made on. The NFT is sent to -the user address on ZetaChain. - -A user may then send the NFT to another address on ZetaChain (as it is a regular -ERC-721) or burn it. - -When an NFT is burned, the `amount` of tokens that it represents is withdrawn to -a recipient (specified by the user when burning the NFT) on the `chain` from -which the NFT was minted. - -## Set Up Your Environment - -Clone the Hardhat contract template: - -``` -git clone https://github.com/zeta-chain/template -``` - -Install dependencies: - -``` -cd template -yarn -``` - -## Create the contract - -Run the following command to create a new omnichain contract called `NFT`. - -``` -npx hardhat omnichain NFT recipient:address -``` - -## Omnichain Contract - -```solidity filename="contracts/NFT.sol" {6-8,10,12,14-20,38-46} -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; -import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; -import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; -import "@openzeppelin/contracts/utils/Counters.sol"; -import "@zetachain/toolkit/contracts/BytesHelperLib.sol"; - -contract NFT is zContract, ERC721 { - SystemContract public immutable systemContract; - uint256 constant BITCOIN = 18332; - - using Counters for Counters.Counter; - Counters.Counter private _tokenIdCounter; - - mapping(uint256 => uint256) public tokenAmounts; - mapping(uint256 => uint256) public tokenChains; - - constructor(address systemContractAddress) ERC721("MyNFT", "MNFT") { - systemContract = SystemContract(systemContractAddress); - } - - modifier onlySystem() { - require( - msg.sender == address(systemContract), - "Only system contract can call this function" - ); - _; - } - - function onCrossChainCall( - zContext calldata context, - address zrc20, - uint256 amount, - bytes calldata message - ) external override onlySystem { - address recipient; - - if (context.chainID == BITCOIN) { - recipient = BytesHelperLib.bytesToAddress(message, 0); - } else { - recipient = abi.decode(message, (address)); - } - - _mintNFT(recipient, context.chainID, amount); - } -} -``` - -Import OpenZeppelin's ERC-721 implementation and the `Counters` library. You -will use the `Counters` library to keep track of the token IDs. You will also -import the `BytesHelperLib` from the ZetaChain toolkit. This library will be -used for decoding data sent from other chains. - -The `NFT` contract inherits from `zContract` and `ERC721`. The `zContract` -interface is required for omnichain contracts and the `ERC721` interface is -required for NFTs. - -Create a new `BITCOIN` constant that is set to the chain ID of the Bitcoin -testnet. - -Create two mappings: `tokenAmounts` that maps token IDs to the amount of tokens -that the NFT represents and `tokenChains` that maps token IDs to the chain ID of -the chain that the NFT was minted on. - -Create a `systemContract` variable that is set to the address of the -`SystemContract` contract. - -Modify the constructor to call the `ERC721` constructor with the name and symbol -of the NFT. - -Let's now take a look at the `onCrossChainCall` function. This function is -called when a user deposits tokens from a connected chain. - -The only value that will be passed in the `message` parameter is the recipient -address. - -For Bitcoin this is important, because NFTs are minted on ZetaChain, which uses -hex addresses, but the `context.origin` contains a bech32 Bitcoin address. Since -we cannot derive the hex address from the bech32 address, we pass the hex -address as a parameter in the `message` parameter. - -For EVM chains, passing the recipient address in the `message` parameter is not -strictly necessary, because the `context.origin` contains the hex address of the -sender, but we will do it anyway for consistency. And it allows users to specify -a different recipient address than the sender address. - -In the `onCrossChainCall` function, decode the `message` parameter to get the -recipient address. Then call the `_mintNFT` function to mint the NFT. - -## Minting - -Create a new `_mintNFT` function that takes a `recipient` address, a `chainId`, -and an `amount` as parameters. This function is private, because it is only -called from the `onCrossChainCall` function. - -```solidity filename="contracts/NFT.sol" - function _mintNFT( - address recipient, - uint256 chainId, - uint256 amount - ) private { - uint256 tokenId = _tokenIdCounter.current(); - _safeMint(recipient, tokenId); - tokenChains[tokenId] = chainId; - tokenAmounts[tokenId] = amount; - _tokenIdCounter.increment(); - } -``` - -The function mints a new NFT and stores the `chainId` and `amount` in the -`tokenChains` and `tokenAmounts` mappings. It then increments the token ID -counter. - -## Burning - -Create a new `burn` function that takes a `tokenId` and a `recipient` address as -parameters. This function is public, because it is called by the user when they -want to burn an NFT and withdraw the tokens that it represents. - -```solidity filename="contracts/NFT.sol" - function burnNFT(uint256 tokenId, bytes memory recipient) public { - require( - _isApprovedOrOwner(_msgSender(), tokenId), - "Caller is not owner nor approved" - ); - address zrc20 = systemContract.gasCoinZRC20ByChainId( - tokenChains[tokenId] - ); - - (, uint256 gasFee) = IZRC20(zrc20).withdrawGasFee(); - - IZRC20(zrc20).approve(zrc20, gasFee); - IZRC20(zrc20).withdraw(recipient, tokenAmounts[tokenId] - gasFee); - - _burn(tokenId); - delete tokenAmounts[tokenId]; - delete tokenChains[tokenId]; - } -``` - -The function first checks that the caller is the owner of the NFT. It then -retrieves the gas token ZRC-20 address for the chain that the NFT was minted on. -It then withdraws the tokens that the NFT represents to the `recipient` address. -The amount of tokens that the NFT represents minus the gas fee is withdrawn. - -## Compile and Deploy the Contract - -``` -npx hardhat compile --force -``` - -``` -npx hardhat deploy --network zeta_testnet -``` - -``` -🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 - -🚀 Successfully deployed contract on ZetaChain. -📜 Contract address: 0xb9647Fbb6562A0049CE3b425228dC59218F3b93c -🌍 Explorer: https://athens3.explorer.zetachain.com/address/0xb9647Fbb6562A0049CE3b425228dC59218F3b93c -``` - -## Configure Goldsky for Event Indexing - -When NFTs are minted, transferred or burned on ZetaChain, the ZetaChain protocol -emits events. Since the contract cannot return all NFTs that belong to a user, -you need to index these events to be able to display the NFTs. Goldsky is a -subgraph indexer that indexes events. - -To configure Goldsky to index events for your contract, create a `goldsky.json` -file in the root of your project: - -```json filename="goldsky.json -{ - "version": "1", - "name": "NFT", - "abis": { - "NFT": { - "path": "artifacts/contracts/NFT.sol/NFT.json" - } - }, - "chains": ["zetachain-testnet"], - "instances": [ - { - "abi": "NFT", - "address": "0x7a984BD3ce37257e0124A3c0d25857df5E258Be2", // Your contract address - "chain": "zetachain-testnet", - "startBlock": 3241788 // The block number that your contract was deployed on - } - ] -} -``` - -Install Goldsky, login and deploy the subgraph: - -``` -curl https://goldsky.com | sh - -goldsky login - -goldsky subgraph deploy nft/v1 --from-abi goldsky.json -``` - -Copy the URL returned by the `goldsky subgraph deploy` command, you will need it -in the next section when building the frontend. - -To learn more about setting up Goldsky, read -[the guide](/developers/omnichain/tutorials/goldsky). - -## Mint an NFT - -Use the `interact` command to mint an NFT. The `--contract` parameter is the -address of the contract that you just deployed. The `--amount` parameter is the -amount of tokens that you want to deposit. The `--recipient` parameter is the -address that you want to receive the NFT on ZetaChain. - -``` -npx hardhat interact --contract 0xb9647Fbb6562A0049CE3b425228dC59218F3b93c --amount 0.01 --network sepolia_testnet --recipient 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 -``` - -``` -🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 - -🚀 Successfully broadcasted a token transfer transaction on sepolia_testnet network. -📝 Transaction hash: 0x8e0c9edd2a570494b8610c99d9772cefd4fb3a5ebb42bb714f83ef898ff53881 -``` - -Track the transaction using the `cctx` command: - -``` -npx hardhat cctx 0x8e0c9edd2a570494b8610c99d9772cefd4fb3a5ebb42bb714f83ef898ff53881 - -✓ CCTXs on ZetaChain found. - -✓ 0xcd894e7299d80b6bf04c7a0b1589f0e5e1b4bcdbd691eb780429ceb359006d59: 5 → 7001: OutboundMined (Remote omnichain contract call completed) -``` - -## Limitations - -- Even though the minting process is initiated on connected chains, NFTs will be - minted on ZetaChain. -- During minting and burning only fungible tokens are transferred between - blockchains. The NFT itself is not transferred. - -## Next Steps - -In the next tutorial you will learn how to build a user interface for your NFT -omnichain contract that allows users to mint, burn and view NFTs. diff --git a/src/pages/developers/omnichain/tutorials/nft/frontend.mdx b/src/pages/developers/omnichain/tutorials/nft/frontend.mdx deleted file mode 100644 index c5537361..00000000 --- a/src/pages/developers/omnichain/tutorials/nft/frontend.mdx +++ /dev/null @@ -1,146 +0,0 @@ -import { CodeBlock } from "~/components/shared"; - -# Frontend dApp - -## Overview - -In this section, you will create a frontend dApp that allows users to deposit -native tokens on connected chains to mint NFTs on ZetaChain, view their -collection, burn NFTs to withdraw native tokens from ZetaChain and transfer NFTs -to other addresses on ZetaChain. - -This UI is built as part of -[the example frontend project](https://github.com/zeta-chain/example-frontend), -but you can replicate it in your own project. - -![Frontend dApp](/img/docs/nft.png) - -## Prerequisites - -- Complete the - [NFT Omnichain Contract](/developers/omnichain/tutorials/nft/contract) - tutorial. Make sure that you've configured Goldsky to index events from your - contract. - -## Page Layout - -The entry point of the frontend dApp is the `NFTPage` component. It is -responsible for rendering the page layout and the widgets that trigger -broadcasting of transactions. - -The `NFTPage` component uses the `useNFT` hook to access the state of the -frontend dApp. The `useNFT` hook is responsible for managing the state of the -frontend dApp and for broadcasting transactions. - -On component load the `NFTPage` component calls the `fetchNFTs` function to -fetch the NFTs owned by the connected address. - - - -## useNFT Hook - -`useNFT` is a simple component that stores the state of the frontend dApp. - - - -## Fetching NFTs - -The hook is responsible for fetching NFTs owned by the connected address. - -Set the constant to store the URL of the subgraph that you deployed in the -previous section. - -Goldsky is a subgraph indexer that uses GraphQL to query events from your -contract. Write a query that fetches all `Transfer` events. You're interested in -transfers that were sent to or from a specific address. In the body of the query -specify the fields your're interested in. - -The function to fetch NFT makes a GraphQL request to the subgraph to fetch the -`transfer` events. The function then filters the events to find the NFTs that -are currently owned by the address by checking which NFTs were sent to the -addres and which NFTs were sent from the address. - -Since you're using the default ERC-721 Transfer event, you only have the -`tokenId` field that contains the ID of the NFT. You will need to query the -contract to get the chain ID and the amount of the NFT. - -To correctly format the amount of tokens in NFTs, you to know the number of -decimals of the corresponding ZRC-20 token. Query the foreign coins endpoints to -find the decimals and use to correctly format the amounts. - -Finally, sort NFTs by ID in descending order. - - - -## Minting NFTs - -To mint an NFT on ZetaChain you need to deposit native tokens on a connected -chain to the TSS address. - -For Bitcoin use the supported XDEFI wallet. Format the request correctly with -the recipient (TSS address), amount (in sats) and memo (the address that will -receive the NFT on ZetaChain), and call the `request` method. - -For EVM chains, just use `sendTransaction` to send a token transfer transaction -to the TSS address with the amount of tokens that you want to deposit and the -recipient address in the data field. - -Next, if the transaction was successful, use the transaction hash to track the -progress of the cross-chain transaction. - - - -## Burning NFTs - -Burning NFTs happens on ZetaChain. To burn an NFT, you need to approve an NFT -first, then call the `burn` method on the omnichain contract. The `burn` method -takes the ID of the NFT as an argument. - -Due to fluctuating gas prices, a transaction might fail. To make sure that the -user has best experience possible, implement a recursive check for approval. -This function will check if a user has approved the omnichain contract to burn -an NFT. If the user has not approved the contract, the function will ask for an -approval. Implement a similar function to check for ownership of the NFT. - -In the body of the function call the approval function, once the approval is -received, call burn the NFT and start checking for ownership. As soon as the -user is no longer the owner of the NFT, update the frontend dApp state. - - - -## Transferring NFTs - -Transferring NFTS happens on ZetaChain and does not invlove any cross-chain -interactions. Simple call the contract's transfer method and pass the recipient, -the sender and the ID of the NFT. - - - -## Congratulations! - -You've successfully created a frontend dApp that allows users to mint, burn and -transfer NFTs on ZetaChain. diff --git a/src/pages/developers/omnichain/tutorials/single-input-multiple-output.mdx b/src/pages/developers/omnichain/tutorials/single-input-multiple-output.mdx deleted file mode 100644 index bfe2e7f4..00000000 --- a/src/pages/developers/omnichain/tutorials/single-input-multiple-output.mdx +++ /dev/null @@ -1,335 +0,0 @@ -# Single Input Multiple Output - -## Overview - -If you already read the previous tutorials you already know how to use zEVM. A -very common use case on zEVM is a smart contract with a single input from one -chain, perform some logic, and then execute the output to another or multiple -chains. - -The example in this tutorial does exactly that: the contract reads an address -from the message, and then send some tokens to that address in several chains. - -This capability may be useful for applications like multichain asset managers or -DeFi applications that need to distribute or manage assets on many chains from -one place. - -This tutorial also demonstrates how a single inbound cross-chain transactions -can result in more than one outbound cross-chain transactions. - -## Set up your environment - -``` -git clone https://github.com/zeta-chain/template -``` - -## Create the contract - -Run the following command to create a new omnichain contract called -`MultiOutput` with one parameter in the message: - -``` -npx hardhat omnichain Multioutput recipient btcRecipient targetToken -``` - -## OnCrossChainCall - -Implement the `onCrossChainCall` function: - -```solidity filename="contracts/Multioutput.sol" -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; -import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; -import "@zetachain/toolkit/contracts/BytesHelperLib.sol"; -import "@zetachain/toolkit/contracts/SwapHelperLib.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; - -contract MultiOutput is zContract, Ownable { - error NoAvailableTransfers(); - error InvalidRecipient(); - error FetchingBTCZRC20Failed(); - - event Withdrawal(address, uint256, bytes); - - SystemContract public immutable systemContract; - - uint256 constant BITCOIN = 18332; - - constructor(address systemContractAddress) { - systemContract = SystemContract(systemContractAddress); - } - - modifier onlySystem() { - require( - msg.sender == address(systemContract), - "Only system contract can call this function" - ); - _; - } - - function onCrossChainCall( - zContext calldata context, - address zrc20, - uint256 amount, - bytes calldata message - ) external virtual override onlySystem { - address btcToken = systemContract.gasCoinZRC20ByChainId(BITCOIN); - if (btcToken == address(0)) revert FetchingBTCZRC20Failed(); - - ( - address evmRecipient, - bytes memory btcRecipient, - address[] memory destinationTokens - ) = parseMessage(context.chainID, message); - - uint256 totalTransfers = destinationTokens.length; - if (totalTransfers == 0) revert NoAvailableTransfers(); - - uint256 amountToTransfer = amount / totalTransfers; - uint256 leftOver = amount - amountToTransfer * totalTransfers; - - uint256 lastTransferIndex = destinationTokens[ - destinationTokens.length - 1 - ] == zrc20 - ? destinationTokens.length - 2 - : destinationTokens.length - 1; - - for (uint256 i; i < destinationTokens.length; i++) { - address targetZRC20 = destinationTokens[i]; - if (targetZRC20 == zrc20) continue; - - if (lastTransferIndex == i) { - amountToTransfer += leftOver; - } - - bytes memory recipient = abi.encodePacked( - BytesHelperLib.addressToBytes(evmRecipient) - ); - - if (targetZRC20 == btcToken) { - if (btcRecipient.length == 0) revert InvalidRecipient(); - recipient = abi.encodePacked(btcRecipient); - } - - _doSwapAndWithdraw(zrc20, amountToTransfer, targetZRC20, recipient); - } - } -} -``` - -On a high level the `onCrossChainCall` function does the following: - -1. Parse the message to get the recipient address and the destination tokens. -2. Calculate the amount to transfer to each destination token. -3. Loop through the destination tokens and call the `_doSwapAndWithdraw` - function to perform the transfer. - -When looping through the destination tokens, the contract checks that the -destination token is not the same as the source token, and if it is, it skips -the transfer. - -The contract also checks if the destination token is BTC, and if it is, it uses -the BTC recipient address from the message. - -## Parse the message - -Next, implement the `parseMessage` function: - -```solidity filename="contracts/Multioutput.sol" - function parseMessage( - uint256 chainID, - bytes calldata message - ) public pure returns (address, bytes memory, address[] memory) { - address evmRecipient; - bytes memory btcRecipient; - address[] memory destinationTokens; - if (chainID == BITCOIN) { - evmRecipient = BytesHelperLib.bytesToAddress(message, 0); - uint256 numTokens = message.length / 20 - 1; - destinationTokens = new address[](numTokens); - for (uint256 i = 0; i < numTokens; i++) { - destinationTokens[i] = BytesHelperLib.bytesToAddress( - message, - 20 + i * 20 - ); - } - } else { - ( - address evmAddress, - bytes memory btcAddress, - bytes memory targetToken - ) = abi.decode(message, (address, bytes, bytes)); - - btcRecipient = btcAddress; - evmRecipient = evmAddress; - - uint256 numTokens = targetToken.length / 32; - destinationTokens = new address[](numTokens); - for (uint256 i = 0; i < numTokens; i++) { - destinationTokens[i] = BytesHelperLib.bytesMemoryToAddress( - targetToken, - i * 32 - ); - } - } - - return (evmRecipient, btcRecipient, destinationTokens); - } -``` - -`parseMessage` is a helper function that decodes the message to get the -recipient address and the destination tokens. - -If the source chain is Bitcoin, the function assumes that the destination -address is an EVM address and uses the helper function to manually decode the -first 20 bytes as the recipient address. The rest of the message is a list of -destination tokens. The function loops through the message and decodes each 20 -bytes as an address. - -If the source chain is not Bitcoin, the function expects both an EVM address and -a BTC address in the message. The function decodes the message using the -`abi.decode` function and returns the recipient address, the BTC recipient -address, and the destination tokens. The function loops through the message and -decodes token addresses. - -## Swap and Withdraw - -Finally, implement the `_doSwapAndWithdraw` function: - -```solidity filename="contracts/Multioutput.sol" - function _doSwapAndWithdraw( - address zrc20, - uint256 amountToTransfer, - address targetZRC20, - bytes memory recipient - ) internal { - (address gasZRC20, uint256 gasFee) = IZRC20(targetZRC20) - .withdrawGasFee(); - - uint256 inputForGas = SwapHelperLib.swapTokensForExactTokens( - systemContract.wZetaContractAddress(), - systemContract.uniswapv2FactoryAddress(), - systemContract.uniswapv2Router02Address(), - zrc20, - gasFee, - gasZRC20, - amountToTransfer - ); - - uint256 outputAmount = SwapHelperLib._doSwap( - systemContract.wZetaContractAddress(), - systemContract.uniswapv2FactoryAddress(), - systemContract.uniswapv2Router02Address(), - zrc20, - amountToTransfer - inputForGas, - targetZRC20, - 0 - ); - - IZRC20(gasZRC20).approve(targetZRC20, gasFee); - IZRC20(targetZRC20).withdraw(recipient, outputAmount); - } -``` - -`_doSwapAndWithdraw` mirrors the functionality of the omnichain swap example -contract. - -It first calls the `withdrawGasFee` function to get the gas token and the gas -fee. - -If `targetZRC20` is an ERC-20 token, `gasZRC20` will not be the same as -`targetZRC20` and it's important to have two swaps: the first swap is to swap -the source token for the gas token, and the second swap is to swap the rest of -the source token amount for the target token. - -If `targetZRC20` is a gas token, `gasZRC20` will be the same as `targetZRC20`. -We could skip the first swap and just swap the source token for the target -token, but for the sake of simplicity, we use the same logic for both cases. - -## Modify the Interact Task - -Modify the interact task to correctly handle BTC destination address and a list -of destination token addresses. If BTC address is provided, it gets converted -into bytes. Destination tokens are split into an array and encoded as addresses. - -{/* prettier-ignore-start */} -```ts filename="tasks/interact.ts" {4-18, 23} -const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - const [signer] = await hre.ethers.getSigners(); - - const destinationTokens = args.targetToken.split(","); - - let bitcoinAddress = ""; - let data; - if (args.btcRecipient) { - bitcoinAddress = args.btcRecipient; - } - - const bitcoinAddressBytes = utils.solidityPack(["bytes"], [utils.toUtf8Bytes(bitcoinAddress)]); - - const tokensBytes = ethers.utils.concat( - destinationTokens.map((address) => utils.defaultAbiCoder.encode(["address"], [address])) - ); - - data = prepareData(args.contract, ["address", "bytes", "bytes"], [args.recipient, bitcoinAddressBytes, tokensBytes]); - //... -}; - -task("interact", "Interact with the contract", main) - .addOptionalParam("btcRecipient", "The bitcoin address to send to"); -``` -{/* prettier-ignore-end */} - -## Create an Account and Request Tokens from the Faucet - -Before proceeding with the next steps, make sure you have -[created an account and requested ZETA tokens](/developers/omnichain/tutorials/hello#create-an-account) -from the faucet. - -## Deploy the Contract - -Clear the cache and artifacts, then compile the contract: - -``` -npx hardhat compile --force -``` - -``` -npx hardhat deploy --network zeta_testnet -``` - -``` -🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 - -🚀 Successfully deployed contract on ZetaChain. -📜 Contract address: 0xa573Df1F0729FE6F1BD69b0a5dbFE393e6e09f47 -🌍 Explorer: https://athens3.explorer.zetachain.com/address/0xa573Df1F0729FE6F1BD69b0a5dbFE393e6e09f47 -``` - -## Interact with the Contract - -``` -npx hardhat interact --contract 0xa573Df1F0729FE6F1BD69b0a5dbFE393e6e09f47 --network bsc_testnet --target-token 0x05BA149A7bd6dC1F937fA9046A9e05C05f3b18b0,0x65a45c57636f9BcCeD4fe193A602008578BcA90b --amount 5 --recipient 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 --btc-recipient tb1q8shzf7afc3rhw8n6w6ec32s8h6e2mrw077d0gg - -🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 - -🚀 Successfully broadcasted a token transfer transaction on bsc_testnet network. -📝 Transaction hash: 0xf6895678629b99d756c8d4378d4d3e57e495c95edd39b2ab51cbd707bff75d59 -``` - -``` -npx hardhat cctx 0xf6895678629b99d756c8d4378d4d3e57e495c95edd39b2ab51cbd707bff75d59 -✓ CCTXs on ZetaChain found. - -✓ 0x83dc34b68d36fbafb7a9c7eef51f3a19a5b842a39f1364f53091a236266d4ff1: 97 → 7001: OutboundMined (Remote omnichain contract call completed) -✓ 0x25494fd66075c98a1ef1d13723fb0ca9029377580cf1c2847d0b786896d850cb: 7001 → 11155111: PendingOutbound → OutboundMined -✓ 0xacc9d061b051c48b79b1dfec9e2ed3b7679af7ac225e8c995fab77b96d437bcc: 7001 → 18332: PendingOutbound → OutboundMined -``` - -## Source Code - -You can find the source code for the example in this tutorial here: - -https://github.com/zeta-chain/example-contracts/tree/main/omnichain/multioutput diff --git a/src/pages/developers/omnichain/tutorials/staking.mdx b/src/pages/developers/omnichain/tutorials/staking.mdx deleted file mode 100644 index 5a37f6ae..00000000 --- a/src/pages/developers/omnichain/tutorials/staking.mdx +++ /dev/null @@ -1,583 +0,0 @@ -# Staking - -In this tutorial you will create an omnichain contract that will be capable of -receiving tokens from connected chains and staking them on ZetaChain. Native -tokens deposited to ZetaChain as ZRC-20s will be locked in the contract until -withdrawn by the staker. Rewards will be accrued at a fixed rate proportionally -to amount of tokens staked. - -The staker is the one depositing tokens to the contract. The staker is required -to provide a beneficiary address to which the rewards will be sent (a staker is -allowed to be its own beneficiary). Only the staker can withdraw the staked -tokens from the contract and withdraw to the chain from which they originate. - -Only the beneficiary can claim the rewards from the contract. - -For simplicity this contract will be compatible with one of the connected chains -at a time. The chain ID of the connected chain will be passed to the contract -constructor and will be used to check that the contract is called from a -compatible chain. - -This tutorial shows how to: - -- create an omnichain contract that can receive tokens from connected chains -- use the parameters of the `onCrossChainCall` function to: - - decode the staker address from the `context.origin` parameter - - decode the contents of the `message` parameter - - determine the chain ID from `context.chainID` -- dispatch different logic using an action code -- how to withdraw tokens correctly both to EVM-based chains and to Bitcoin - -## Prerequisites - -- [Node.js](https://nodejs.org/en/) (version 18 or above) -- [Yarn](https://yarnpkg.com/) -- [Git](https://git-scm.com/) - -## Set Up Your Environment - -Clone the Hardhat contract template: - -``` -git clone https://github.com/zeta-chain/template -``` - -Install dependencies: - -``` -cd template -yarn -``` - -## Create the Contract - -To create a new omnichain contract you will use the `omnichain` Hardhat task and -pass a contract name (`Staking`) to the task: - -``` -npx hardhat omnichain Staking -``` - -## Omnichain Contract - -### Design the Omnichain Contract - -To implement the functionality described in the introduction, you will need to -handle the following actions. - -Called from a connected chain by the staker: - -- Staking tokens by depositing them into the staking omnichain contract on - ZetaChain -- Unstaking tokens by withdrawing them to the chain from which they originate -- Setting the beneficiary address - -Called on ZetaChain: - -- Claiming rewards by the beneficiary -- Querying the pending rewards - -Since the omnichain contract has only one function that gets called when the -contract is triggered from a connected chain (`onCrossChainCall`), and you need -to be able to execute different logic depending on the action, you will need to -encode the action code into the `message` parameter of the `onCrossChainCall`. - -Even though the `message` value will be encoded differently in EVM-based chains -and Bitcoin, the first bytes of the `message` will always be the action code -encoded as `uint8`. - -```mermaid -flowchart LR - subgraph zetachain ["ZetaChain"] - contract("Staking contract") - system_contract("System contract") - end - subgraph connected_chain ["Connected chain"] - tss("TSS address") - end - user("User") - user -- stake --> tss - user -- unstake --> tss - user -- set beneficiary --> tss - tss --> system_contract - system_contract -- calls --> contract - user -- claim rewards --> contract - user -- query rewards --> contract -``` - -### Handle the Omnichain Contract Call - -```solidity filename="contracts/Staking.sol" -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; -import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; -import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -import "@zetachain/toolkit/contracts/BytesHelperLib.sol"; - -contract Staking is ERC20, zContract { - SystemContract public immutable systemContract; - uint256 public immutable chainID; - uint256 constant BITCOIN = 18332; - - uint256 public rewardRate = 1; - - error WrongChain(uint256 chainID); - error UnknownAction(uint8 action); - error Overflow(); - error Underflow(); - error WrongAmount(); - error NotAuthorized(); - error NoRewardsToClaim(); - - mapping(bytes => uint256) public stakes; - mapping(bytes => address) public beneficiary; - mapping(bytes => uint256) public lastStakeTime; - - constructor( - string memory name_, - string memory symbol_, - uint256 chainID_, - address systemContractAddress - ) ERC20(name_, symbol_) { - systemContract = SystemContract(systemContractAddress); - chainID = chainID_; - } - - modifier onlySystem() { - require( - msg.sender == address(systemContract), - "Only system contract can call this function" - ); - _; - } - - function onCrossChainCall( - zContext calldata context, - address zrc20, - uint256 amount, - bytes calldata message - ) external virtual override onlySystem { - if (chainID != context.chainID) { - revert WrongChain(context.chainID); - } - - uint8 action = chainID == BITCOIN - ? uint8(message[0]) - : abi.decode(message, (uint8)); - - if (action == 1) { - stake(context.origin, amount, message); - } else if (action == 2) { - unstake(context.origin); - } else if (action == 3) { - updateBeneficiary(context.origin, message); - } else { - revert UnknownAction(action); - } - } -} -``` - -First, import the `ERC20` contract from OpenZeppelin to manage our ERC20 staking -reward token. Import `BytesHelperLib` from ZetaChain's toolkit for utility -functions to convert bytes into addresses and vice versa. - -Add the `chainID` variable to store the ID of the connected chain. This variable -will be set in the constructor and will be used to check that the contract is -called from the correct chain. - -Add the `BITCOIN` constant to store the chain ID of Bitcoin. ZetaChain uses -`18332` to represent Bitcoin's chain ID. - -The contract needs to store the following mappings: - -- `stakes` - stores the staker's staked balance -- `beneficiary` - stores the staker's beneficiary address -- `lastStakeTime` - stores the timestamp of the last staking action - -Modify the constructor to accept three additional arguments: `name_`, `symbol_`, -and `chainID_`. The `name_` and `symbol_` arguments will be used to initialize -the `ERC20` contract. The `chainID_` argument will be used to set the `chainID` -variable. - -`onCrossChainCall` is the function that will be called by the system contract -when a user triggers the omnichain contract from a connected chain. - -First, check that the omnichain contract is called from the same connected chain -as the one specified in the constructor. You can use `context.chainID` to get -the chain ID of the connected chain from which the omnichain contract was -called. - -`context.origin` contains information about the address from which the -transaction that triggered the omnichain contract was broadcasted. - -For EVM-based chains, `context.origin` is the actual address of the account -which broadcasted the transaction. For example: - -``` -0x2cD3D070aE1BD365909dD859d29F387AA96911e1 -``` - -For Bitcoin, `context.origin` is the hexadecimal representation of the Bitcoin -address. For example, if the Bitcoin address is: - -``` -tb1q2dr85d57450xwde6560qyhj7zvzw9895hq25tx -``` - -The hexadecimal representation of the address is: - -``` -0x74623171326472383564353734353078776465363536307179686a377a767a7739383935687132357478 -``` - -The `message` parameter contains the data that was passed to the omnichain -contract when it was called from the connected chain. In our design the first -value in the message is the `action` code. For Bitcoin take the first byte of -the message and convert it to an unsigned 8-bit integer (`uint8`). For EVM-based -chains, use `abi.decode` to decode the first value of the message as a `uint8`. - -Finally, based on the `action` code, call the corresponding function: - -`1` - stake ZRC-20 tokens - -`2` - unstake ZRC-20 tokens - -`3` - update beneficiary address - -### Update Beneficiary - -`updateBeneficiary` is a function that will be called by the staking function to -set the beneficiary address or can be optionally called by the staker. - -The `message` is encoded differently in EVM-based chains and Bitcoin. For -Bitcoin, the beneficiary address follows the `uint8` action code (1 byte long) -and is 20 bytes long. Use `bytesToAddress` with an offset of `1` (byte) to -decode the beneficiary address. - -For EVM-based chains, use `abi.decode` to get the beneficiary address from the -`message`. - -```solidity filename="contracts/Staking.sol" - function updateBeneficiary( - bytes memory staker, - bytes calldata message - ) internal { - address beneficiaryAddress; - if (chainID == BITCOIN) { - beneficiaryAddress = BytesHelperLib.bytesToAddress(message, 1); - } else { - (, beneficiaryAddress) = abi.decode(message, (uint8, address)); - } - beneficiary[staker] = beneficiaryAddress; - } -``` - -### Stake ZRC-20 Tokens - -`stake` is a function that will be called by `onCrossChainCall` to stake the -deposited tokens. - -```solidity filename="contracts/Staking.sol" - function stake( - bytes memory staker, - uint256 amount, - bytes calldata message - ) internal { - updateBeneficiary(staker, message); - - stakes[staker] += amount; - if (stakes[staker] < amount) revert Overflow(); - - updateRewards(staker); - } - - function updateRewards(bytes memory staker) internal { - if (lastStakeTime[staker] == 0) lastStakeTime[staker] = block.timestamp; - uint256 rewardAmount = queryRewards(staker); - - _mint(beneficiary[staker], rewardAmount); - lastStakeTime[staker] = block.timestamp; - } - - function queryRewards(bytes memory staker) public view returns (uint256) { - uint256 timeDifference = block.timestamp - lastStakeTime[staker]; - uint256 rewardAmount = timeDifference * stakes[staker] * rewardRate; - return rewardAmount; - } -``` - -`stake` increases the staker's balance in the contract. The function also calls -the `updateRewards` function to update the rewards for the staker. - -`updateRewards` calculates the rewards for the staker and mints them to the -beneficiary address. The function also updates the timestamp of when the staking -happened last. - -### Unstake ZRC-20 Tokens - -The `unstake` function begins by updating any outstanding rewards due to the -user. It then checks that the user has a sufficient staked balance. -Subsequently, it identifies the ZRC20 token associated with the contract's -`chainID` and determines the gas fee for the unstaking operation. This fee is -then approved. The user's tokens, minus the gas fee, are withdrawn to the -encoded recipient address. Finally, the contract updates the user's staking -balance and the timestamp of their last stake action. - -```solidity filename="contracts/Staking.sol" - function unstake(bytes memory staker) internal { - uint256 amount = stakes[staker]; - - updateRewards(staker); - - address zrc20 = systemContract.gasCoinZRC20ByChainId(chainID); - (, uint256 gasFee) = IZRC20(zrc20).withdrawGasFee(); - - if (amount < gasFee) revert WrongAmount(); - - stakes[staker] = 0; - - IZRC20(zrc20).approve(zrc20, gasFee); - IZRC20(zrc20).withdraw(staker, amount - gasFee); - - if (stakes[staker] > amount) revert Underflow(); - - lastStakeTime[staker] = block.timestamp; - } -``` - -### Claim Rewards - -`claimRewards` is a function that will be called by the beneficiary to claim the -rewards. The function checks that the caller is the beneficiary and calls the -`updateRewards` function to send rewards to the beneficiary. - -```solidity filename="contracts/Staking.sol" - function claimRewards(bytes memory staker) external { - if (beneficiary[staker] != msg.sender) revert NotAuthorized(); - uint256 rewardAmount = queryRewards(staker); - if (rewardAmount <= 0) revert NoRewardsToClaim(); - updateRewards(staker); - } -``` - -## Modify the Task to Deploy the Contract - -Modify the deploy task to accept an additional `--chain` flag that will specify -the connected chain. The `--chain` flag is used to determine the chain ID of the -connected chain and pass it as an argument to the constructor. - -It is also used to get the symbol of the ZRC-20 token on the connected chain. - -{/* prettier-ignore-start */} -```ts filename="tasks/deploy.ts" {1,7-26,32-36} -import ZRC20 from "@zetachain/protocol-contracts/abi/zevm/ZRC20.sol/ZRC20.json"; - -// ... - -const factory = await hre.ethers.getContractFactory("Staking"); - -let symbol, chainID; -if (args.chain === "btc_testnet") { - symbol = "BTC"; - chainID = 18332; -} else { - const zrc20 = getAddress("zrc20", args.chain); - const contract = new hre.ethers.Contract(zrc20, ZRC20.abi, signer); - symbol = await contract.symbol(); - chainID = hre.config.networks[args.chain]?.chainId; - if (chainID === undefined) { - throw new Error(`🚨 Chain ${args.chain} not found in hardhat config.`); - } -} - -const contract = await factory.deploy( - `Staking rewards for ${symbol}`, - `R${symbol.toUpperCase()}`, - chainID, - systemContract -); - -await contract.deployed(); - -// ... - -task("deploy", "Deploy the contract", main).addParam( - "chain", - "Chain ID (use btc_testnet for Bitcoin Testnet)" -); -``` -{/* prettier-ignore-end */} - -## Tasks to Interact with the Contract - -To make it easier to interact with the contract, create a few tasks that will: - -- stake tokens -- unstake tokens -- set beneficiary address - -You can find the source code for the tasks in the `tasks` directory of the -project: - -https://github.com/zeta-chain/example-contracts/tree/main/omnichain/staking/tasks - -When copying these files make sure to also the helper function -`convertToHexAddress.ts` in the `lib` directory. - -To perform the actions above, the tasks simply send transactions to the TSS -address on the connected chain with the encoded data in the `data` field of the -transactions. - -According to the design, the first byte of the `message` parameter is the action -code. The rest of the `message` is the data that is required for the action. - -For example, to stake tokens, the `data` is just the `uint8` action code: - -```ts -const data = prepareData(args.contract, ["uint8"], ["1"]); -``` - -To set the beneficiary address, the `data` is the `uint8` action code followed -by the beneficiary address: - -```ts -const data = prepareData(args.contract, ["uint8", "address"], ["3", args.beneficiary]); -``` - -Under the hood `prepareData` will also add the omnichain contract address to the -beginning of the `data` to make sure the transaction is sent to the right -contract on ZetaChain. - -The `stake` task requires you to send tokens specified by the `amount` argument. -These tokens will be transferred to and locked in the TSS address, and your -staking contract will receive the same amount of tokens as ZRC-20s. - -Other actions do not require you to send tokens, so the `amount` argument can be -`"0"`. - -For Bitcoin, create an `addresses` task that will help you convert between -bech32 address and a hexadecimal representation of the address. - -```ts filename="tasks/addresses.ts" -import { task } from "hardhat/config"; -import { HardhatRuntimeEnvironment } from "hardhat/types"; -import { utils } from "ethers"; - -const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - const dataTypes = ["bytes"]; - const values = [utils.toUtf8Bytes(args.address)]; - - const encodedData = utils.solidityPack(dataTypes, values); - console.log(`Encoded: ${encodedData}`); - console.log(`context.origin: ${encodedData.slice(0, 42)}`); -}; - -task("address", "Encode a Bitcoin bech32 address to hex", main).addPositionalParam("address"); -``` - -Before proceeding make sure to import all newly created tasks in -`hardhat.config.ts`. - -## Create an Account and Request Tokens from the Faucet - -Before proceeding with the next steps, make sure you have -[created an account and requested ZETA tokens](/developers/omnichain/tutorials/hello#create-an-account) -from the faucet. - -## Interact with the Contract from an EVM-based Chain - -### Deploying the Contract - -Clear the cache and artifacts, then compile the contract: - -``` -npx hardhat compile --force -``` - -Use the `deploy` task to deploy the contract to ZetaChain with `--chain` flag -specifying Sepolia testnet: - -``` -npx hardhat deploy --network zeta_testnet --chain sepolia_testnet -``` - -### Stake Tokens - -``` -npx hardhat stake --amount 0.1 --beneficiary ADDRESS --contract ADDRESS --network sepolia_testnet -``` - -### Unstake Tokens - -``` -npx hardhat unstake --contract ADDRESS --network sepolia_testnet -``` - -## Interact with the Contract from Bitcoin - -### Deploying the Contract - -Clear the cache and artifacts, then compile the contract: - -``` -npx hardhat compile --force -``` - -Use the `deploy` task to deploy the contract to ZetaChain with `--chain` flag -specifying the Bitcoin testnet: - -``` -npx hardhat deploy --network zeta_testnet --chain btc_testnet - -🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 - -🚀 Successfully deployed contract on ZetaChain. -📜 Contract address: 0x57cafCe6802c45F682201b93529B09EfB9A492C3 -🌍 Explorer: https://athens3.explorer.zetachain.com/address/0x57cafCe6802c45F682201b93529B09EfB9A492C3 -``` - -### Stake Tokens - -Pass your contract address (without the `0x` prefix), the action code for -staking tokens (`01`), beneficiary address -(`2cD3D070aE1BD365909dD859d29F387AA96911e1`) to the memo flag. Specify the -`--amount` of tBTC you want to transfer to your omnichain contract. - -``` -npx hardhat send-btc --memo 57cafCe6802c45F682201b93529B09EfB9A492C3012cD3D070aE1BD365909dD859d29F387AA96911e1 --amount 0.01 --recipient tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur -``` - -### Unstake Tokens - -Pass your contract address (without the `0x` prefix) and the action code for -unstaking tokens (`02`) to the memo flag. - -``` -npx hardhat send-btc --memo 57cafCe6802c45F682201b93529B09EfB9A492C302 --amount 0.0 --recipient tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur -``` - -## Summary - -Congratulations! 🎉 You have created an omnichain staking contract and learned: - -- how to make your contract compatible both with EVM-based chains and Bitcoin -- how use the `context.chainID` to get chain ID and the `context.origin` to get - an identifier for the sender -- that the `context.origin` represents the actual sender address on EVM-based - chains and the first 20 bytes of the hexadecimal representation of the Bitcoin - address on Bitcoin -- the pattern for encoding the action code into the `message` parameter of the - `onCrossChainCall` function to execute different logic from the same function -- how to use the `BytesHelperLib` from ZetaChain's toolkit to convert bytes into - an address. -- how to implement and use `bytesToBech32Bytes` to take the bytes corresponding - to the hexadecimal representation of the Bitcoin address from the `message`. - -## Source Code - -You can find the source code for the example in this tutorial here: - -https://github.com/zeta-chain/example-contracts/tree/main/omnichain/staking diff --git a/src/pages/developers/omnichain/tutorials/swap.mdx b/src/pages/developers/omnichain/tutorials/swap.mdx deleted file mode 100644 index e9eb354d..00000000 --- a/src/pages/developers/omnichain/tutorials/swap.mdx +++ /dev/null @@ -1,360 +0,0 @@ -# Swap - -## Overview - -In this tutorial you will write a cross-chain swap contract that allows users to -swap a native gas or ERC-20 token from one of the connected chains for a token -on another chain. - -The swap process involves depositing a token from a connected chain to -ZetaChain, triggering a swap omnichain contract to swap between ZRC-20 -representations of the tokens and then withdrawing the swapped token to the -recipient address on the destination chain. - -## Set Up Your Environment - -Clone the Hardhat contract template: - -``` -git clone https://github.com/zeta-chain/template -``` - -Install dependencies: - -``` -cd template -yarn -``` - -## Create the contract - -Run the following command to create a new omnichain contract called `Swap`. - -``` -npx hardhat omnichain Swap targetToken:address recipient -``` - -## Omnichain Contract - -```solidity filename="contracts/Swap.sol" {6-7,11,31-72} -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; -import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; -import "@zetachain/toolkit/contracts/SwapHelperLib.sol"; -import "@zetachain/toolkit/contracts/BytesHelperLib.sol"; - -contract Swap is zContract { - SystemContract public immutable systemContract; - uint256 constant BITCOIN = 18332; - - constructor(address systemContractAddress) { - systemContract = SystemContract(systemContractAddress); - } - - modifier onlySystem() { - require( - msg.sender == address(systemContract), - "Only system contract can call this function" - ); - _; - } - - function onCrossChainCall( - zContext calldata context, - address zrc20, - uint256 amount, - bytes calldata message - ) external virtual override onlySystem { - address targetTokenAddress; - bytes memory recipientAddress; - - if (context.chainID == BITCOIN) { - targetTokenAddress = BytesHelperLib.bytesToAddress(message, 0); - recipientAddress = abi.encodePacked( - BytesHelperLib.bytesToAddress(message, 20) - ); - } else { - (address targetToken, bytes memory recipient) = abi.decode( - message, - (address, bytes) - ); - targetTokenAddress = targetToken; - recipientAddress = recipient; - } - - (address gasZRC20, uint256 gasFee) = IZRC20(targetTokenAddress) - .withdrawGasFee(); - - uint256 inputForGas = SwapHelperLib.swapTokensForExactTokens( - systemContract.wZetaContractAddress(), - systemContract.uniswapv2FactoryAddress(), - systemContract.uniswapv2Router02Address(), - zrc20, - gasFee, - gasZRC20, - amount - ); - - uint256 outputAmount = SwapHelperLib._doSwap( - systemContract.wZetaContractAddress(), - systemContract.uniswapv2FactoryAddress(), - systemContract.uniswapv2Router02Address(), - zrc20, - amount - inputForGas, - targetTokenAddress, - 0 - ); - - IZRC20(gasZRC20).approve(targetTokenAddress, gasFee); - IZRC20(targetTokenAddress).withdraw(recipientAddress, outputAmount); - } -} -``` - -The contract expects to receive two values in the `message`: - -- `address targetTokenAddress`: the address of the ZRC-20 version of the - destination token. -- `bytes memory recipientAddress`: the recipient address on the destination - chain. We're using `bytes`, because the recipient address can be either on an - EVM chain or Bitcoin. - -When the contract is called from an EVM chain, the `message` is encoded as a -`bytes` array using the ABI encoding. - -When the contract is called from Bitcoin it's up to us to encode and then decode -the message. - -Use `context.chainID` to determine the connected chain from which the contract -is called. - -If it's Bitcoin, the first 20 bytes of the `message` are the -`targetTokenAddress` encoded as an `address`. Use `bytesToAddress` helper method -to get the target token address. To get the recipient address, use the same -helper method with an offset of 20 bytes and then use `abi.encodePacked` to -convert the address to `bytes`. - -If it's an EVM chain, use `abi.decode` to decode the `message` into the -`targetToken` and `recipient` variables. - -Next, get the gas fee and the gas coin address from the target token. The gas -coin is the token that will be used to pay for the gas on the destination chain. - -Use the `SwapHelperLib.swapTokensForExactTokens` helper method to swap the -incoming token for the gas coin using the internal liquidity pools. The method -returns the amount of the incoming token that was used to pay for the gas. - -Next, swap the incoming amount minus the amount spent swapping for a gas fee for -the target token on the destination chain using the `SwapHelperLib._doSwap` -helper method. - -Finally, withdraw the tokens to the recipient address on the destination chain. - -## Update the Interact Task - -In the `interact` task generated for us by the contract template the recipient -is encoded as string. Our contract, however, expects the recipient to be encoded -as `bytes` to ensure that both EVM and Bitcoin addresses are supported. - -To support both EVM and Bitcoin addresses, we need to check if the recipient is -a valid Bitcoin address. If it is, we need to encode it as `bytes` using -`utils.solidityPack`. - -If it's not a valid bech32 address, then we assume it's an EVM address and use -`args.recipient` as the value for the recipient. - -Finally, update the `prepareData` function call to use the `bytes` type for the -recipient. - -{/* prettier-ignore-start */} -```ts filename="tasks/interact.ts" {6,11-18,22-23} -import { task } from "hardhat/config"; -import { HardhatRuntimeEnvironment } from "hardhat/types"; -import { parseEther } from "@ethersproject/units"; -import { getAddress } from "@zetachain/protocol-contracts"; -import { prepareData } from "@zetachain/toolkit/client"; -import bech32 from "bech32"; - -const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - const [signer] = await hre.ethers.getSigners(); - - let recipient; - try { - if (bech32.decode(args.recipient)) { - recipient = utils.solidityPack(["bytes"], [utils.toUtf8Bytes(args.recipient)]); - } - } catch (e) { - recipient = args.recipient; - } - - const data = prepareData( - args.contract, - ["address", "bytes"], - [args.targetToken, recipient] - ); - - let tx; - - if (args.token) { - const custodyAddress = getAddress("erc20Custody", hre.network.name as any); - if (!custodyAddress) { - throw new Error(`No ERC20 Custody contract found for ${hre.network.name} network`); - } - - const custodyContract = new ethers.Contract(custodyAddress, ERC20Custody.abi, signer); - const tokenContract = new ethers.Contract(args.token, ERC20.abi, signer); - const decimals = await tokenContract.decimals(); - const value = parseUnits(args.amount, decimals); - const approve = await tokenContract.approve(custodyAddress, value); - await approve.wait(); - - tx = await custodyContract.deposit(signer.address, args.token, value, data); - tx.wait(); - } else { - const value = parseUnits(args.amount, 18); - const to = getAddress("tss", hre.network.name as any); - tx = await signer.sendTransaction({ data, to, value }); - } - - if (args.json) { - console.log(JSON.stringify(tx, null, 2)); - } else { - console.log(`🔑 Using account: ${signer.address}\n`); - - console.log(`🚀 Successfully broadcasted a token transfer transaction on ${hre.network.name} network. -📝 Transaction hash: ${tx.hash} - `); - } -}; - -task("interact", "Interact with the contract", main) - .addParam("contract", "The address of the withdraw contract on ZetaChain") - .addParam("amount", "Amount of tokens to send") - .addOptionalParam("token", "The address of the token to send") - .addFlag("json", "Output in JSON") - .addParam("targetToken") - .addParam("recipient"); -``` -{/* prettier-ignore-end */} - -## Create an Account and Request Tokens from the Faucet - -Before proceeding with the next steps, make sure you have -[created an account and requested ZETA tokens](/developers/omnichain/tutorials/hello#create-an-account) -from the faucet. - -## Compile and Deploy the Contract - -``` -npx hardhat compile --force -``` - -``` -npx hardhat deploy --network zeta_testnet -``` - -``` -🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 - -🚀 Successfully deployed contract on ZetaChain. -📜 Contract address: 0xf6CDd83AB44E4d947FE52c2637ee4A04F330328E -🌍 Explorer: https://athens3.explorer.zetachain.com/address/0xf6CDd83AB44E4d947FE52c2637ee4A04F330328E -``` - -## Swap Native Gas Tokens Between EVM Chains - -Use the `interact` task to perform a cross-chain swap. In this example, we're -swapping native sETH from Sepolia for tMATIC on Polygon Mumbai. The contract -will deposit sETH to ZetaChain as ZRC-20, swap it for ZRC-20 tMATIC and then -withdraw native tMATIC Polygon Mumbai. To get the value of the `--target-token` -find the ZRC-20 contract address of the destination token in the -[ZRC-20 section of the docs](/developers/tokens/zrc20). - -``` -npx hardhat interact --contract 0xf6CDd83AB44E4d947FE52c2637ee4A04F330328E --amount 0.01 --network sepolia_testnet --target-token 0x48f80608B672DC30DC7e3dbBd0343c5F02C738Eb --recipient 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 -``` - -``` -🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 - -🚀 Successfully broadcasted a token transfer transaction on sepolia_testnet network. -📝 Transaction hash: 0x6b4156c195d955d1325a5e6275214db63ff2e3642838607333e74abd74b8fc13 -``` - -Track your cross-chain transaction: - -``` -npx hardhat cctx 0x6b4156c195d955d1325a5e6275214db63ff2e3642838607333e74abd74b8fc13 -``` - -``` -✓ CCTXs on ZetaChain found. - -✓ 0xb263483d61d0b1c89685364324c32438a3546b3f732a3d37840e6042e4837357: 5 → 7001: OutboundMined (Remote omnichain contract call completed) -✓ 0xcad3a0b8949b1bd39c51e80ff6be9a5c6d337df8a04b39a48667d2c688172e35: 7001 → 80001: PendingOutbound → OutboundMined -``` - -## Swap ERC-20 Tokens Between EVM Chains - -Now let's swap USDC from Sepolia to MATIC on Polygon Mumbai. To send USDC -specify the ERC-20 token contract address (on Sepolia) in the `--token` -parameter. You can find the address of the token in the -[ZRC-20 section of the docs](/developers/tokens/zrc20). - -``` -npx hardhat interact --contract 0xf6CDd83AB44E4d947FE52c2637ee4A04F330328E --amount 10 --token 0x07865c6e87b9f70255377e024ace6630c1eaa37f --network sepolia_testnet --target-token 0x48f80608B672DC30DC7e3dbBd0343c5F02C738Eb --recipient 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 -``` - -``` -🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 - -🚀 Successfully broadcasted a token transfer transaction on sepolia_testnet -network. -📝 Transaction hash: 0xff32dd2391c4f62694cc99afd0da1c2a1352c8caf29846cc366aab54a631e8f8 -``` - -``` -npx hardhat cctx -0xff32dd2391c4f62694cc99afd0da1c2a1352c8caf29846cc366aab54a631e8f8 -``` - -``` -npx hardhat cctx 0xff32dd2391c4f62694cc99afd0da1c2a1352c8caf29846cc366aab54a631e8f8 -✓ CCTXs on ZetaChain found. - -✓ 0xa4cb698122916f10c932e146c45517b4f47de1e16be493ea66f28b5a34c7bfb5: 5 → 7001: OutboundMined (Remote omnichain contract call completed) -✓ 0xad18c759713ce5604683aeb389fc9a1a91f537c0abbb8d9f9fc6cfc11e55fdc7: 7001 → 80001: PendingOutbound → OutboundMined -``` - -## Swap from Bitcoin - -Use the `send-btc` task to send Bitcoin to the TSS address with a memo. The memo -should contain the following: - -- Omnichain contract address on ZetaChain: - `f6CDd83AB44E4d947FE52c2637ee4A04F330328E` -- Target token address: `48f80608B672DC30DC7e3dbBd0343c5F02C738Eb` -- Recipient address: `2cD3D070aE1BD365909dD859d29F387AA96911e1` - -``` -npx hardhat send-btc --amount 0.001 --memo f6CDd83AB44E4d947FE52c2637ee4A04F330328E48f80608B672DC30DC7e3dbBd0343c5F02C738Eb2cD3D070aE1BD365909dD859d29F387AA96911e1 --recipient tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur -``` - -``` -npx hardhat cctx 3c2eeee38fafbfbcdceca0d595c1433c48c738aaa6e1df407a681aeeeb1da3d6 -``` - -``` -✓ CCTXs on ZetaChain found. - -✓ 0xa7d4a46545806a5aff4d4fc20cb37295f426b70f0f6b2a123f67cbdb3014c995: 18332 → 7001: OutboundMined (Remote omnichain contract call completed) -✓ 0x963cf8890b3da9e84379eca06a2e4835aba3a027bca6560e76d19945b75b2c39: 7001 → 80001: PendingOutbound → OutboundMined -``` - -## Source Code - -You can find the source code for the example in this tutorial here: - -https://github.com/zeta-chain/example-contracts/tree/main/omnichain/swap diff --git a/src/pages/developers/omnichain/zeta-evm.mdx b/src/pages/developers/omnichain/zeta-evm.mdx deleted file mode 100644 index 80b55ef2..00000000 --- a/src/pages/developers/omnichain/zeta-evm.mdx +++ /dev/null @@ -1,21 +0,0 @@ -import Image from "next/image"; - -# ZetaEVM (zEVM) - -zEVM is an Ethereum-compatible virtual machine where you can deploy and use -Omnichain Smart Contracts, built on top of ZetaChain's core blockchain. -Contracts on zEVM are connected to ZetaChain's interoperability layer and are -able to orchestrate assets on external chains as if they were all on a single -chain. - - - -Contracts on zEVM can be called via [ZRC-20](/developers/tokens/zrc20) from -external chains. To connect to zEVM directly, check out the network info -[here](/reference/contracts). diff --git a/src/pages/developers/overview.mdx b/src/pages/developers/overview.mdx deleted file mode 100644 index 68cc093e..00000000 --- a/src/pages/developers/overview.mdx +++ /dev/null @@ -1,106 +0,0 @@ -# Start building with ZetaChain - -At a high level, ZetaChain is a Proof of Stake (PoS) blockchain developed using -the Cosmos SDK and Comet BFT consensus engine. As a result, ZetaChain enjoys -fast block time and instant finality. - -ZetaChain hosts an Ethereum Virtual Machine (EVM) compatible execution layer. In -addition to supporting all EVM features and standard interactions (such as -contract creation, contract interaction, and contract composition), ZetaChain's -EVM distinguishing characteristics include: - -- The ability for contracts on ZetaChain to be called from connected chains -- The capacity for contracts on ZetaChain to generate outbound transactions on - external chains. - -These two unique features enable ZetaChain's EVM to function as a -general-purpose programmable platform, supporting cross-chain transactions that -can atomically modify states across different chains in a single step. - -ZetaChain offers two ways to develop dApps: **omnichain contracts** and -**cross-chain message passing**. - -## Omnichain Contracts - -With [omnichain contracts](/developers/omnichain/overview) you deploy **a single -omnichain contract** to ZetaChain. - -Omnichain contracts can: - -- Accept deposits from users on connected chains (e.g., Ethereum, Binance Smart - Chain, Bitcoin). A deposit may contain: - - a native gas or supported ERC-20 token. Tokens (both gas and ERC-20) are - deposited into omnichain contracts as - [ZRC-20 tokens](/developers/tokens/zrc20). - - a message with an arbitrary data. -- Execute logic based on the deposits -- Create outbound transactions to withdraw ZRC-20 to connected chains as native - assets. A single omnichain contract call can result in multiple outbound - transactions to different chains. - -Ability to accept inputs (native gas, supported ERC-20, and arbitrary data) from -users on connected chains, execute custom logic and create outputs (tokens -withdrawals) to connected chains makes ZetaChain omnichain contracts a powerful -tool for building interoperable apps that span multiple chains. - -### Advantages of omnichain contracts - -Developers can extend common applications like Uniswap V2/V3, Curve, Aave, and -Compound by making them compatible with ZRC-20. These applications have been -audited and battle-tested on Ethereum and can easily be deployed and built on -ZetaChain. The changes required to add ZRC-20 support are minimal, and users may -interact with these applications in single-step transactions just as they would -on Ethereum. - -ZRC-20 can easily support Bitcoin/Dogecoin which do not have capability or -efficiency to support general purpose smart contracts for applications like -swapping, lending, etc. - -ZRC-20 may cost significantly less gas than message passing in many use cases -because its interactions with foreign chains are confined to fungible coins -(standard value transfer of ETH/BNB/MATIC costs 21k gas, moving ERC20 tokens -costs around 60k gas; no logic/state on foreign chains means much less gas). - -With omnichain smart contracts, you can pair and trade native asset liquidity -directly against each other. This minimizes steps to trade native assets in a -single step, and it doesn't involve a bridge or wrapping step or sending complex -messages. For example, you could trade Ethereum ETH directly for Polygon USDC -through a unified pool in a single transaction. - -With ZRC-20/zEVM, exception/revert handling is much simpler as foreign -interaction is confined to either a standard ERC-20/contract interaction -(success) or no contract interaction (failure) immediately. - -## Cross-Chain Message Passing - -With -[cross-chain message (CCM) passing](/developers/cross-chain-messaging/overview) -you deploy **CCM-enabled contracts on connected chains** that can pass arbitrary -message data and value between each other. - -On a connected chain a user can call a CCM-enabled contract. The contract calls -the Connector API and sends a message. ZetaChain acts as a relayer and transmits -the message to the destination chain. On the destination chain a CCM-enabled -contract uses the Connector API to receive the message and handles it. - -The state is stored on a set of CCM-enabled contracts on different chains. - -CCM makes sense for applications that only need unidirectional and asynchronous -logic/effects and that don't need or benefit from a unified state. - -### Advantages of cross-chain message passing - -CCM supports any type of data transfer and it's up to the contracts to decide -how to handle the data. - -CCM is a reliable general purpose solution for augmenting existing applications -with cross-chain functionality. - -With messages, you can leverage existing liquidity like Uniswap pools on -existing chains, and trade via burning/minting ZETA through ZetaChain. This -approach may be more complex (more transactions involved, more gas), but doesn't -rely on liquidity within ZetaChain's ecosystem. - -By leveraging the ZETA burn/mint functionality built into ZetaChain, one can -build value-transfer applications that don't bridge/wrap assets, minimizing risk -for users. diff --git a/src/pages/developers/reference/_meta.json b/src/pages/developers/reference/_meta.json new file mode 100644 index 00000000..302ef5fd --- /dev/null +++ b/src/pages/developers/reference/_meta.json @@ -0,0 +1,10 @@ +{ + "transactions": { + "title": "Types of Transactions", + "description": "Examples of different kinds of transactions when interacting with universal apps on ZetaChain" + }, + "template": { + "title": "Universal App Template", + "description": "Hardhat-based template for building universal apps" + } +} \ No newline at end of file diff --git a/src/pages/developers/omnichain/transactions.mdx b/src/pages/developers/reference/transactions.mdx similarity index 79% rename from src/pages/developers/omnichain/transactions.mdx rename to src/pages/developers/reference/transactions.mdx index 7fa79809..bfb37d25 100644 --- a/src/pages/developers/omnichain/transactions.mdx +++ b/src/pages/developers/reference/transactions.mdx @@ -1,6 +1,8 @@ -import { Alert } from "~/components/shared"; +--- +title: Types of Transactions +--- -# Types of Transactions +import { Alert } from "~/components/shared"; ## Depositing to EOA @@ -62,8 +64,8 @@ contract on ZetaChain make a token transfer to the TSS address on the connected chain and specify omnichain contract address as the first 20 bytes of the input data and provide a valid message. -This is an example deposit and call of -[the example omnichain swap contract](/developers/omnichain/tutorials/swap/). +This is an example deposit and call of [the example omnichain swap +contract](/developers/tutorials/swap/). ``` npx hardhat deposit --amount 3 --network sepolia_testnet --recipient 0x20C4770A73DF5e2ab4B38c08d1055c2173034257 --message '[["address", "bytes"], ["0xd97B1de3619ed2c6BEb3860147E30cA8A7dC9891", "0x4955a3F38ff86ae92A914445099caa8eA2B9bA32"]]' @@ -76,8 +78,8 @@ https://sepolia.etherscan.io/tx/0xf291232b1fa6b6e9dd9dbfc4c09b22f32ed9ca61e6f778 A single deposit and call transaction can result in multiple outbound transactions triggering outputs on multiple connected chains. -This is an example deposit and call of -[the example omnichain multioutput contract](/developers/omnichain/tutorials/single-input-multiple-output/). +This is an example deposit and call of [the example omnichain multioutput +contract](/developers/tutorials/multioutput/). ``` npx hardhat deposit --amount 4 --network sepolia_testnet --recipient 0xa573Df1F0729FE6F1BD69b0a5dbFE393e6e09f47 --message '[["address", "bytes", "bytes"], ["0x4955a3F38ff86ae92A914445099caa8eA2B9bA32", "0x746231713873687a663761666333726877386e367736656333327338683665326d727730373764306767", "0x000000000000000000000000d97b1de3619ed2c6beb3860147e30ca8a7dc989100000000000000000000000065a45c57636f9bcced4fe193a602008578bca90b"]]' @@ -113,9 +115,8 @@ https://sepolia.etherscan.io/tx/0xecf2916c940a4fdf85f250ea822532bba92879cf615197 To withdraw native gas tokens ZRC-20 from ZetaChain to a connected chain, call the `withdraw` method of the ZRC-20 token contract on ZetaChain. -The withdraw amount must be higher than -[the withdraw fee](/developers/omnichain/gas-fees/). Each ZRC-20 token has its -own withdraw fee. +The withdraw amount must be higher than [the withdraw +fee](/developers/evm/gas/#withdraw). Each ZRC-20 token has its own withdraw fee. ``` npx hardhat withdraw --amount 0.1 --zrc20 0x05BA149A7bd6dC1F937fA9046A9e05C05f3b18b0 --network zeta_testnet @@ -138,3 +139,37 @@ npx hardhat withdraw --amount 1 --zrc20 0xcC683A782f4B30c138787CB5576a86AF66fdc3 ``` https://athens.explorer.zetachain.com/evm/tx/0x540738849a6414809aeb0a9c959e3401b460aeae87c86bc9fd55bd6c1009b014 + +## Sending ZETA + +### ✅ ZETA Between Connected Chains + +```jsx +npx hardhat send-zeta --amount 3 --network mumbai_testnet --destination bsc_testnet +``` + +https://mumbai.polygonscan.com/tx/0x217300fc78a04eaf9c6217749b3e20aa99548771de48638b5016efae853c9368 + +### ❌ ZETA Between Connected Chains (insufficient amount) + +```jsx +npx hardhat send-zeta --amount 0.1 --network mumbai_testnet --destination bsc_testnet --ignore-checks +``` + +https://mumbai.polygonscan.com/tx/0x9132a994cbf536486c1354a6333e6d8f59156971888eebe8f74f882d48d16770 + +### ✅ ZETA to ZetaChain + +```jsx +npx hardhat send-zeta --amount 3 --network mumbai_testnet --destination zeta_testnet +``` + +https://mumbai.polygonscan.com/tx/0x40038e68d3f997952c302c95bcf10f841f8d3e960db3e71249ae0fe2b81a2e6f + +### ✅ ZETA from ZetaChain + +```jsx +npx hardhat send-zeta --amount 3 --network zeta_testnet --destination mumbai_testnet +``` + +https://athens.explorer.zetachain.com/cc/tx/0xa28ff75a237afcdc3a5ee7a8c79a4e813e899ab6d9b0c22d20e5cdf10e028a6a diff --git a/src/pages/developers/services/_meta.json b/src/pages/developers/services/_meta.json new file mode 100644 index 00000000..a4649785 --- /dev/null +++ b/src/pages/developers/services/_meta.json @@ -0,0 +1,30 @@ +{ + "alchemy": { + "title": "Alchemy", + "description": "Node API and Subgraphs" + }, + "goldsky": { + "title": "Goldsky", + "description": "Subgraph indexer" + }, + "pyth": { + "title": "Pyth", + "description": "Price and VRF Oracle" + }, + "particle": { + "title": "Particle Network", + "description": "Account Abstraction" + }, + "envio": { + "title": "Envio", + "description": "Real-time data indexer" + }, + "subquery": { + "title": "SubQuery", + "description": "Open-source, flexible, multi-chain data indexer" + }, + "goldrush": { + "title": "GoldRush", + "description": "Historical blockchain data API" + } +} \ No newline at end of file diff --git a/src/pages/developers/services/alchemy.mdx b/src/pages/developers/services/alchemy.mdx new file mode 100644 index 00000000..84f74cc6 --- /dev/null +++ b/src/pages/developers/services/alchemy.mdx @@ -0,0 +1,115 @@ +# Alchemy + +Alchemy is a blockchain development platform that provides tools and +infrastructure to build and scale decentralized applications. As a +developer-focused platform, Alchemy helps companies create scalable and reliable +dApps without the difficulty of managing blockchain infrastructure in-house. It +simplifies the development process by offering a suite of APIs and services that +enable developers to interact with blockchain networks efficiently. + +One of Alchemy's standout offerings is the Alchemy Supernode, which provides a +reliable and scalable way to connect and build on the ZetaChain blockchain. This +ensures that developers can focus on innovation and functionality without +worrying about the complexities of node management. + +With Alchemy, developers can access real-time blockchain data, manage smart +contracts, and monitor the performance of their dApps across various +blockchains, making it a versatile choice for building robust, scalable, and +secure blockchain-based applications. + +## Sign Up for an Alchemy Account + +Go to https://auth.alchemy.com/signup and sign up for an Alchemy or sign in with +your existing account. + +![](/img/docs/alchemy-0.png) + +## Create a New ZetaChain Project + +In the Alchemy dashboard you have an overview of all projects currently set up +in your account. + +Click "Create new app" to name your project and give it a description. + +![](/img/docs/alchemy-1.png) + +![](/img/docs/alchemy-1.5.png) + +All apps on Alchemy are multichain by default. This means that your dApp +immediately has access to all available Alchemy network chains upon creation. +You can view all available networks and the related API URLs in the “Networks” +tab. You also have access to switch between Mainnet or Testnet, if available. + +![](/img/docs/alchemy-2.png) + +## API Key and RPC Endpoints + +Interactions with your Alchemy RPC instance are protected by an API key. Your +API key is automatically generated for you and can be copied from the top-right +of your app page. + +On this page you will also find RPC Endpoints, HTTP and WSS, for all available +chains. Search for the ZetaChain network and take note of the Mainnet URL. You +will use this later to make a request to ZetaChain. + +![](/img/docs/alchemy-3.png) + +## Connect to Alchemy + +If you're starting from scratch, create a new directory and initialize an npm +project: + +``` +mkdir zetachain-app +cd zetachain-app +npm init -y +``` + +Use npm to install `axios`. Axios is a widely-used HTTP client allowing you to +make API requests. + +``` +npm install axios +``` + +Create an `index.js` file in your project directory and paste the code below +into the file to send a request to the ZetaChain network. Make sure to replace +YOUR_API_KEY with your actual API key found on your Alchemy app dashboard. + +```ts +const axios = require("axios"); + +const url = `https://zetachain-mainnet.g.alchemy.com/v2/${YOUR_API_KEY}`; + +const payload = { + jsonrpc: "2.0", + id: 1, + method: "eth_blockNumber", + params: [], +}; + +axios + .post(url, payload) + .then((response) => { + console.log("Block Number:", parseInt(response.data.result)); + }) + .catch((error) => { + console.error(error); + }); +``` + +Run the script with Node.js: + +``` +node index.js +``` + +You should a see the current block number on ZetaChain outputted to your +console: + +``` +Block Number: 3688095 +``` + +You can find the full list of JSON-RPC methods available on ZetaChain in the +[Alchemy Docs](https://docs.alchemy.com/reference/zetachain-api-endpoints). diff --git a/src/pages/developers/services/envio.mdx b/src/pages/developers/services/envio.mdx new file mode 100644 index 00000000..c09df2b0 --- /dev/null +++ b/src/pages/developers/services/envio.mdx @@ -0,0 +1,37 @@ +--- +title: Envio +--- + +## Overview + +Envio is a cutting-edge, real-time indexer designed for EVM-compatible +blockchains. It offers developers a seamless and efficient solution for indexing +blockchain data. With features such as automatic code generation and flexible +language support, Envio enhances the user experience and streamlines the +development process. Indexers on Envio can be written in JavaScript, TypeScript, +or ReScript. + +Envio simplifies the process of indexing blockchain data, providing rapid +syncing speeds and an easy setup process. Comprehensive logging and error +messaging are included to facilitate effective troubleshooting and debugging. + +
+ +
+ +## Key Features + +- Automatic Code Generation: Save time with automated code creation. +- Flexible Language Support: Write indexers in JavaScript, TypeScript, or + ReScript. +- Fast Syncing: Experience rapid data synchronization. +- Simplified Setup: Get started quickly with minimal configuration. +- Detailed Logging: Debug effectively with thorough logs and error messages. diff --git a/src/pages/developers/services/goldrush.mdx b/src/pages/developers/services/goldrush.mdx new file mode 100644 index 00000000..226c3203 --- /dev/null +++ b/src/pages/developers/services/goldrush.mdx @@ -0,0 +1,157 @@ +--- +title: "GoldRush" +--- + +## Overview + +The GoldRush API is designed as a single, unified interface for developers to access historical blockchain data quickly and at scale. It addresses common challenges faced by developers when working with blockchain data, such as: + +- High costs and limitations associated with running or using public blockchain nodes +- Complexity of writing custom SQL queries +- Delays in waiting for data to be indexed + +GoldRush offers a RESTful API that allows developers to easily fetch data with consistent request and response object formats. For example, by simply changing the network name in the URL, you can retrieve all token balances for an address across any of the 200+ supported networks. Developers can integrate the API once and automatically benefit from newly supported networks, endpoint performance upgrades, and other improvements. + +## Registering for a GoldRush API Key + +Before using the GoldRush API, you need to register for an account and obtain an API key. Visit the [GoldRush website](https://goldrush.dev) and click the "Signup for free API Key" button. Follow the prompts to fill in the necessary information and submit your application. + +![](/img/docs/goldrush-home.png) + +After submission, you'll need to wait for a short period. You'll receive an invitation email with a link to complete your registration. Once registered, you'll be assigned an API key, which is required to access the Gold Rush API. You can copy your API key from the top right corner of the interface for future use. + +![](/img/docs/goldrush-key.png) + +## Using the GoldRush API + +GoldRush API provides various data query interfaces, such as querying Token balances, Transactions, Portfolios, Blocks, etc. In addition to direct HTTP requests, GoldRush API supports SDKs for multiple programming languages, including Python, TypeScript, Go, Ruby, and Shell. + +### Initializing the Project + +First, initialize an npm project with the following commands: + +```bash +mkdir zetachain-app +cd zetachain-app +npm init -y +``` + +Install the necessary dependencies: + +```bash +npm install @covalenthq/client-sdk axios +``` + +### Querying Token Balances + +We'll demonstrate how to use the GoldRush API to query account balances using both direct HTTP requests and the TypeScript SDK. + + +#### Using HTTP Requests + +Create an `index.js` file and add the following code: + +```javascript +const axios = require("axios"); + +const apiKey = "your_api_key"; +const network = "zetachain-mainnet"; +const walletAddress = "your_wallet_address"; +const url = `https://api.covalenthq.com/v1/${network}/address/${walletAddress}/balances_v2/`; + +axios.get(url, { + auth: { + username: apiKey, + password: '' + }, + headers: { + 'Content-Type': 'application/json' + } +}) +.then((response) => { + console.log(JSON.stringify(response.data, null, 2)); +}) +.catch((error) => { + console.error('Request failed:', error); +}); + +``` + +Run the code using the `node index.js` command. You'll get a result similar to the following: + +```json +{ + "data": { + "address": "0xece40cbb54d65282c4623f141c4a8a0be7d6adec", + "updated_at": "2024-08-28T10:17:28.671658047Z", + "next_update_at": "2024-08-28T10:22:28.671658318Z", + "quote_currency": "USD", + "chain_id": 7000, + "chain_name": "zetachain-mainnet", + "items": [ + { + "contract_decimals": 18, + "contract_name": "Zeta", + "contract_ticker_symbol": "ZETA", + "contract_address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", + "supports_erc": [], + "logo_url": "https://www.datocms-assets.com/86369/1693331953-zetachain-colour.png", + "contract_display_name": "Zeta", + "logo_urls": { + "token_logo_url": "https://logos.covalenthq.com/tokens/7000/0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.png", + "protocol_logo_url": null, + "chain_logo_url": "https://www.datocms-assets.com/86369/1693503842-zetachain-icon-white.svg" + }, + "last_transferred_at": null, + "native_token": true, + "type": "cryptocurrency", + "is_spam": false, + "balance": "129029144648174752049", + "balance_24h": "129029144648174752049", + "quote_rate": 0.50380385, + "quote_rate_24h": 0.49448004, + "quote": 65.00538, + "pretty_quote": "$65.01", + "quote_24h": 63.802338, + "pretty_quote_24h": "$63.80", + "protocol_metadata": null, + "nft_data": null + }, + ] + }, + "error": false, + "error_message": null, + "error_code": null +} + +``` + + +#### Using the TypeScript SDK + +Using the official SDK can sometimes be more convenient. In your `index.js` file, copy the following code: + + +```javascript +const { GoldRushClient } = require("@covalenthq/client-sdk"); + +const apiKey = "your_api_key"; +const network = "zetachain-mainnet"; +const walletAddress = "your_wallet_address"; + +const apiServices = async () => { + try { + const client = new GoldRushClient(apiKey); + const resp = await client.BalanceService.getTokenBalancesForWalletAddress(network, walletAddress); + console.log(resp.data); + } catch (error) { + console.error("An error occurred:", error); + } +} + +apiServices().catch(console.error); +``` + +Run the code using the `node index.js` command. You'll get a result similar to the one shown above. + +For more tutorials on using the GoldRush API with ZetaChain, please visit the [ZetaChain Blockchain Data Indexing API](https://goldrush.dev/docs/networks/zetachain/) documentation. \ No newline at end of file diff --git a/src/pages/developers/omnichain/tutorials/goldsky.mdx b/src/pages/developers/services/goldsky.mdx similarity index 98% rename from src/pages/developers/omnichain/tutorials/goldsky.mdx rename to src/pages/developers/services/goldsky.mdx index 21033f0d..60e14f7c 100644 --- a/src/pages/developers/omnichain/tutorials/goldsky.mdx +++ b/src/pages/developers/services/goldsky.mdx @@ -1,11 +1,15 @@ -# Subgraph: Goldsky +--- +title: "Subgraph: Goldsky" +--- + +## Overview In this tutorial you will learn how to query for omnichain contract event data using a subgraph indexer. For the purposes of this tutorial we will be using the [Goldsky](https://docs.goldsky.com/) subgraph. This tutorial assumes you have already completed the -[Swap tutorial](/developers/omnichain/tutorials/swap/). If you want to get the +[Swap tutorial](/developers/tutorials/swap/). If you want to get the source code for the completed contract, you can find it in the [`example-contracts` repo](https://github.com/zeta-chain/example-contracts/tree/main/omnichain/swap). diff --git a/src/pages/developers/omnichain/tutorials/particle.mdx b/src/pages/developers/services/particle.mdx similarity index 96% rename from src/pages/developers/omnichain/tutorials/particle.mdx rename to src/pages/developers/services/particle.mdx index 93b4b3e7..4a3a87a0 100644 --- a/src/pages/developers/omnichain/tutorials/particle.mdx +++ b/src/pages/developers/services/particle.mdx @@ -1,4 +1,8 @@ -# Account Abstraction: Particle Network +--- +title: "Account Abstraction: Particle Network" +--- + +## Overview Particle Network offers a comprehensive set of tools and services designed to enhance the user experience of decentralized applications (dApps) on ZetaChain. diff --git a/src/pages/developers/omnichain/tutorials/pyth.mdx b/src/pages/developers/services/pyth.mdx similarity index 59% rename from src/pages/developers/omnichain/tutorials/pyth.mdx rename to src/pages/developers/services/pyth.mdx index 77057357..20909f0d 100644 --- a/src/pages/developers/omnichain/tutorials/pyth.mdx +++ b/src/pages/developers/services/pyth.mdx @@ -1,6 +1,10 @@ +--- +title: Pyth Price Oracle +--- + import { Alert } from "~/components/shared"; -# Pyth Price Oracle +## Overview [Pyth Network](https://docs.pyth.network/) is a price oracle that provides a high-frequency, low-latency price feed for a wide range of assets. It is @@ -27,7 +31,7 @@ The ZetaChain contributor team runs a Pyth scheduler that submits prices to the Pyth oracle. The scheduler regularly updates the prices of assets on the oracle, ensuring that the price feeds are accurate and up-to-date. - + ZetaChain's Pyth scheduler is provided as a public service to the community to enhance the developer experience and make it easier to test out dapps. If you're building a production level dapp, you should **consider running your own scheduler**. Learn more in [the Pyth's @@ -37,3 +41,22 @@ ensuring that the price feeds are accurate and up-to-date. Currently supported assets: BTC, BNB, MATIC, ETH, USDC, ZETA, USDT. Price feed IDs: https://pyth.network/developers/price-feed-ids + +## Pyth Entropy + +[Pyth Entropy](https://docs.pyth.network/entropy) allows developers to quickly and easily generate secure +random numbers on the blockchain. Entropy's rapid response time allows +developers to build applications such as NFT mints and games with responsive UX. +Entropy also provides strong security guarantees to ensure that both +users and application developers can trust that the results are random. + +Pyth Entropy is currently available on Zetachain. [Learn more](https://docs.pyth.network/entropy/generate-random-numbers) on how to generate a random number through Entropy. + +Pyth contract addresses: + +| Network | Address | +| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------- | +| Mainnet Beta | [0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320](https://zetachain.blockscout.com/address/0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320) | +| Testnet | [0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF](https://zetachain-athens-3.blockscout.com/address/0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF) | + +Create your first Entropy-powered app through this [example](https://docs.pyth.network/entropy/create-your-first-entropy-app). diff --git a/src/pages/developers/services/subquery.mdx b/src/pages/developers/services/subquery.mdx new file mode 100644 index 00000000..8738ae86 --- /dev/null +++ b/src/pages/developers/services/subquery.mdx @@ -0,0 +1,26 @@ +--- +title: "SubQuery Indexer" +--- + +SubQuery is a leading blockchain data indexer empowering developers with fast, flexible, and universal decentralized APIs for their web3 projects. With the SubQuery SDK, developers can access rich indexed data and create immersive decentralized applications with efficiency and speed. SubQuery supports numerous ecosystems including ZetaChain, Ethereum, Cosmos, Near, Polygon, Polkadot, Algorand, and more. + +One of SubQuery's competitive advantages is the ability to aggregate data across multiple blockchains within a single project. This allows for the creation of feature-rich dashboard analytics and multichain block scanners, not just within a single chain but across various blockchains. + +Superior performance is guaranteed with multiple RPC endpoint configurations, multi-worker capabilities, and a customisable caching architecture. To learn more, explore the comprehensive [documentation](https://academy.subquery.network/). + +Useful resources: + +- SubQuery Docs: [SubQuery Academy (Documentation)](https://academy.subquery.network/) +- [Intro Quick Start Guide](https://academy.subquery.network/quickstart/quickstart.html) +- [ZetaChain Starter](https://github.com/subquery/ethereum-subql-starter/tree/main/Zetachain/zetachain-starter) +- [ZetaChain Testnet Starter](https://github.com/subquery/ethereum-subql-starter/tree/main/Zetachain/zetachain-testnet-starter) + +For technical questions and support reach out to `start@subquery.network`. + +## Running and Hosting ZetaChain SubQuery APIs + +SubQuery is committed to open-source principles, offering the flexibility to run it in three ways: + +- Locally (or a cloud provider). Refer to the [instructions](https://academy.subquery.network/run_publish/run.html) on how to set this up. +- Utilise enterprise-level [Managed Service](https://managedservice.subquery.network/), where the project is hosted with production-ready services, ensuring zero-downtime blue/green deployments and a generous free tier. Discover [how to get started](https://academy.subquery.network/run_publish/publish.html). +- Publish it to the [decentralised network](https://subquery.network/network), the ultimate data service for dApp developers, combining openness, performance, reliability, and scalability. SubQuery Network indexes and delivers data to the global community in a verifiable and incentivised manner and has supported ZetaChain from launch. \ No newline at end of file diff --git a/src/pages/developers/template.mdx b/src/pages/developers/template.mdx deleted file mode 100644 index 017d9f50..00000000 --- a/src/pages/developers/template.mdx +++ /dev/null @@ -1,191 +0,0 @@ -# Smart Contract Template - -ZetaChain comes with [a smart contract template](https://github.com/zeta-chain/template) that makes -it easy to get started building dapps. - -``` -git clone https://github.com/zeta-chain/template -``` - -Both [omnichain tutorials](/developers/omnichain/tutorials/hello) and -[cross-chain messaging tutorials](/developers/cross-chain-messaging/examples/hello-world) -use this template. - -The template uses [Hardhat](https://hardhat.org/) to compile, test, and deploy -contracts. It also imports -[`@zetachain/toolkit`](https://github.com/zeta-chain/toolkit/) that provides a -useful set of utilities for creating contracts, querying balances, tracking -cross-chain transactions, accessing the faucet, and more. The template exposes -most of the features available in the toolkit through Hardhat tasks. - -## Generating a Random Wallet - -To generate a random wallet: - -``` -npx hardhat account --save -``` - -This command generates a random wallet, prints information about the wallet to -the terminal, and saves the private key to a `.env` file to make it accessible -to Hardhat. If you don't want to save the wallet (for example, if you just need -an address to send tokens to for testing purposes), you can run the command -without the `--save` flag. - -If you already have a private key or a mnemonic you want to import, you can use -the `--recover` flag: - -``` -npx hardhat account --save --recover -``` - -The `account` command will prompt you for a private key or a mnemonic, print the -derived addresses and save the private key into the `.env` file. - -The `account` command shows derived addresses in hexacecimal (for EVM-based -chains), bech32 with `zeta` prefix for ZetaChain, and bech32 for Bitcoin. - -## Querying for Token Balances - -To query for token balances: - -``` -npx hardhat balances -``` - -This command queries token balances for the account address derived from the -private key specified in the `.env`. - -If you need to query for balances as part of a script, you can also use a -`--json` flag to output the balances in JSON format: - -``` -npx hardhat balances --json -``` - -If you want to query for token balances for a different account, you can use the -`--address` flag: - -``` -npx hardhat balances --address ADDRESS -``` - -The `balances` command supports querying for native gas tokens, wrapped ZETA on -all connected chains as well as ZetaChain, ZRC-20 tokens, and BTC on Bitcoin. - -## Requesting Tokens from the Faucet - -To request ZETA tokens from the faucet: - -``` -npx hardhat faucet -``` - -This command requests tokens from the faucet for the account address derived -from the private key specified in the `.env`. Tokens sent to the address on -ZetaChain. - -You can specify a different address to send the tokens to: - -``` -npx hardhat faucet --address ADDRESS -``` - -Alternatively, you can install a standalone faucet CLI: - -``` -yarn global add @zetachain/faucet-cli -``` - -You can then use it with the following command: - -``` -zetafaucet -h -``` - -## Creating an Omnichain Contract - -The template includes a set of commands for generating code for smart contracts -and helper tasks. - -To create a new omnichain contract: - -``` -npx hardhat omnichain MyContract -``` - -This command creates a new omnichain contract in `contracts/MyContract.sol`, a -task to deploy the contract in `tasks/deploy.ts`, and a task to interact with -the contract in `tasks/interact.ts`. - -When an omnichain contract is called, it can receive data in the `data` field of -a transaction. This data is passed to the `message` parameter of the contract's -`onCrossChainCall` function. To specify the fields of the `message` parameter, -use positional arguments: - -``` -npx hardhat omnichain MyContract recepient:address description quantity:uint256 -``` - -A field may have a type specified after the field name, separated by a colon. If -no type is specified, the type defaults to `string`. - -Supported types are: `address`, `bool`, `bytes32`, `string`, -`int`,`int8`,`int16`,`int128`,`int256`,`uint`,`uint8`,`uint16`,`uint128`,`uint256`. - -Learn more about omnichain contracts by following the -[tutorials](/developers/omnichain/tutorials/hello/). - -## Creating a Cross-Chain Messaging Contract - -To create a new cross-chain messaging contract: - -``` -npx hardhat messaging MyContract -``` - -This command creates a new cross-chain messaging contract in -`contracts/MyContract.sol`, a task to deploy the contract in `tasks/deploy.ts`, -and a task to interact with the contract in `tasks/interact.ts`. - -You can pass additional optional arguments to the `messaging` command to specify -the data that will be sent in the message. - -``` -npx hardhat messaging MyContract token:uint256 sender:address to:address description -``` - -A field may have a type specified after the field name, separated by a colon. If -no type is specified, the type defaults to `string`. - -The list of supported types is the same as for omnichain contracts. - -Learn more about cross-chain messaging by following the -[tutorials](/developers/cross-chain-messaging/examples/hello-world/). - -## Tracking a Cross-Chain Transaction - -After broadcasting a cross-chain transaction on a connected chain either to a -cross-chain messaging contract or to trigger an omnichain contract, you can -track its status: - -``` -npx hardhat cctx TX_HASH -``` - -## Querying Cross-Chain Fees - -To query cross-chain fees: - -``` -npx hardhat fees -``` - -This command will query the latest omnichain withdrawal fees as well as -cross-chain messaging fees. - -To calculate the fees for a different gas limit use the `--gas` flag: - -``` -npx hardhat fees --gas 300000 -``` diff --git a/src/pages/developers/tokens/_meta.json b/src/pages/developers/tokens/_meta.json index 66afaa67..c3919d48 100644 --- a/src/pages/developers/tokens/_meta.json +++ b/src/pages/developers/tokens/_meta.json @@ -1,5 +1,14 @@ { - "zeta": "ZETA", - "zrc20": "ZRC-20 on ZetaChain", - "erc20": "ERC-20 on ZetaChain" -} + "zeta": { + "title": "ZETA", + "description": "ZETA is the native staking, gas and governance token of ZetaChain" + }, + "zrc20": { + "title": "ZRC-20", + "description": "Native gas and supported ERC-20 tokens from connected chains are represented as ZRC-20 on ZetaChain" + }, + "erc20": { + "title": "ERC-20", + "description": "ZetaChain's universal EVM supports standard ERC-20 tokens" + } +} \ No newline at end of file diff --git a/src/pages/developers/tokens/erc20.mdx b/src/pages/developers/tokens/erc20.mdx index 6de6c8c4..587a264e 100644 --- a/src/pages/developers/tokens/erc20.mdx +++ b/src/pages/developers/tokens/erc20.mdx @@ -1,12 +1,15 @@ -import { Alert } from "~/components/shared"; +--- +title: ERC-20 on ZetaChain +--- -# ERC-20 on ZetaChain +import { Alert } from "~/components/shared"; ZetaChain is fully compatible with the Ethereum Virtual Machine (EVM) and [ERC-20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20) token contracts can be deployed to ZetaChain permissionlessly. - An ERC-20 token deployed to ZetaChain **does not** have the properties of [ZRC-20](/developers/tokens/zrc20), - specifically, it can't be withdrawn from ZetaChain to a connected chain. + {" "} + An ERC-20 token deployed to ZetaChain **does not** have the properties of [ZRC-20](/developers/tokens/zrc20), specifically, + it can't be withdrawn from ZetaChain to a connected chain.{" "} diff --git a/src/pages/developers/tokens/zeta.mdx b/src/pages/developers/tokens/zeta.mdx index f30cff83..c0480a60 100644 --- a/src/pages/developers/tokens/zeta.mdx +++ b/src/pages/developers/tokens/zeta.mdx @@ -1,6 +1,8 @@ -import { ZetaTokenTable } from "~/components/Docs"; +--- +title: ZETA +--- -# ZETA +import { ZetaTokenTable } from "~/components/Docs"; ## Native ZETA Token on ZetaChain @@ -11,8 +13,8 @@ user-friendly symbol for the token, and the on-chain denom is `azeta`. 1 ZETA = 10¹⁸ azeta. -To query for account balance you can use the Cosmos HTTP API -[`balances` endpoint](https://zetachain-athens.blockpi.network/lcd/v1/public/cosmos/bank/v1beta1/balances/zeta19nfaqu9wr0fktyyampva98ec025kjy0phww5um): +To query for account balance you can use the Cosmos HTTP API [`balances` +endpoint](https://zetachain-athens.blockpi.network/lcd/v1/public/cosmos/bank/v1beta1/balances/zeta19nfaqu9wr0fktyyampva98ec025kjy0phww5um): ```json { @@ -30,8 +32,8 @@ example above the balance is 10 ZETA. ## Wrapped ZETA on ZetaChain -ZETA can exist on ZetaChain in a wrapped form as a -[WETH9 token](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/WZETA.sol). +ZETA can exist on ZetaChain in a wrapped form as a [WETH9 +token](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/WZETA.sol). When wrapping a token (in this example, ZETA) it is locked in a smart contract and an equivalent amount of wrapped tokens (WZETA) is minted. The wrapped token is pegged 1:1 to the native token and can be redeemed for the native token at @@ -41,7 +43,7 @@ primarily used in internal liquidity pools on ZetaChain paired with native gas tokens of connected blockchains (for example, sETH/WZETA pair). To wrap native ZETA and turn it into WZETA, send it to or use the `deposit` -method of the `zetaToken` [contract on ZetaChain](/reference/contracts). +method of the `zetaToken` [contract on ZetaChain](/reference/network/contracts). ## ZETA on Connected Blockchains @@ -49,6 +51,6 @@ ZETA tokens on EVM-compatible connected blockchains (like Ethereum, Polygon and BSC) are implemented as [ERC-20](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/evm/Zeta.eth.sol) tokens. You can find the contract addresses of the `zetaToken` on a connected -blockchain on the [contracts page](/reference/contracts). +blockchain on the [contracts page](/reference/network/contracts). diff --git a/src/pages/developers/tokens/zrc20.mdx b/src/pages/developers/tokens/zrc20.mdx index d5a937e0..dd7233e0 100644 --- a/src/pages/developers/tokens/zrc20.mdx +++ b/src/pages/developers/tokens/zrc20.mdx @@ -1,6 +1,8 @@ -import { ChainConfirmations, ForeignCoinsTable } from "~/components/Docs"; +--- +title: ZRC-20 on ZetaChain +--- -# ZRC-20 on ZetaChain +import { ChainConfirmations, ForeignCoinsTable } from "~/components/Docs"; ZRC-20 is a token standard integrated into ZetaChain's omnichain smart contract platform. With ZRC-20, developers can build dApps that orchestrate native assets @@ -42,8 +44,8 @@ A list of currently supported assets: New assets can be added or removed by broadcasting a transaction with a -corresponding message of the -[`fungible` module](/architecture/modules/fungible/messages/) on ZetaChain. +corresponding message of the [`fungible` +module](/developers/architecture/modules/fungible/messages/) on ZetaChain. ## Introduction @@ -59,8 +61,8 @@ fungible token (like an ERC-20). ZRC-20 is based on ERC-20, with three additional functions and some associated events for integration with Cross-Chain Transactions (CCTXs) in ZetaChain (see -the -[`IZRC20` interface](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/interfaces/IZRC20.sol)). +the [`IZRC20` +interface](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/interfaces/IZRC20.sol)). Comparing ZRC-20 to ERC-20, there are additional external functions to deposit and withdraw, and additional events for each of them. This makes ZRC-20 @@ -105,7 +107,7 @@ flowchart LR ``` To deposit a native gas token (like sETH, tMATIC, tBNB, or tBTC) to ZetaChain, -send it to the [TSS address](/reference/contracts) on a connected chain. +send it to the [TSS address](/reference/network/contracts) on a connected chain. If the input data field of the transaction is empty, the token will be deposited to the sender's address on ZetaChain. @@ -122,19 +124,7 @@ additional cross-chain fee. If you send 1 token to a TSS address, you will receive 1 ZRC-20 version of the same token on ZetaChain. For Bitcoin deposits, which utilize the UTXO (Unspent Transaction Output) model, -the process incurs additional fees. Unlike EVM-based chains, each deposited -Bitcoin output incurs a fee when it is spent. To address this, both the -depositor and the withdrawer share the cost of the spend. This fee is charged in -advance as a deposit fee. - -The Bitcoin deposit fee is calculated with the following formula: - -``` -DepositFee = AverageFeeRateBlockX * GasPriceMultiplier * DepositIncurredVBytes -``` - -Where `DepositIncurredVBytes` is fixed as `68vB` and the `GasPriceMultiplier` -defaults to 2 currently. +the process [incurs additional fees](/developers/chains/bitcoin#deposit-fee). ## Depositing Supported ERC-20 Tokens as ZRC-20 @@ -175,7 +165,8 @@ flowchart LR ``` To deposit a supported ERC-20 token to ZetaChain, use the `deposit` method of -the [ERC-20 custody contract](/reference/contracts) on a connected chain. +the [ERC-20 custody contract](/reference/network/contracts) on a connected +chain. The `deposit` method accepts the following parameters: @@ -202,9 +193,9 @@ deposited. After the CCTX is processed the token amount will be transferred to the recipient address on the connected chain either from a TSS address (for native gas tokens) or from the ERC-20 custody contract (for ERC-20 tokens). -Check out the [Swap tutorial](/developers/omnichain/tutorials/swap) to learn how -to build omnichain contracts that accept token deposits form connected chains, -swap between ZRC-20 tokens using the internal liquidity pools on ZetaChain, and +Check out the [Swap tutorial](/developers/tutorials/swap) to learn how to build +omnichain contracts that accept token deposits form connected chains, swap +between ZRC-20 tokens using the internal liquidity pools on ZetaChain, and withdraw them to connected chains. ## Block Confirmations @@ -224,6 +215,6 @@ confirmations, for example, when the value transfer exceeds a specified amount. ## Liquidity Cap Each ZRC-20 has a total cap on the number of deposited tokens that the protocol -can accept. Any assets beyond this deposited to ZetaChain from external chains +can accept. Any assets beyond this deposited to ZetaChain from connected chains will be returned to the sender. You can view the caps on the explorer [here](https://explorer.zetachain.com/liquidity). diff --git a/src/pages/developers/tutorials/_meta.json b/src/pages/developers/tutorials/_meta.json new file mode 100644 index 00000000..b45a989b --- /dev/null +++ b/src/pages/developers/tutorials/_meta.json @@ -0,0 +1,32 @@ +{ + "intro": { + "title": "Getting Started", + "readTime": "10 min", + "description": "Learn how to set up a smart contract template, create an account, and use faucet" + }, + "hello": { + "title": "First Universal App", + "readTime": "10 min", + "description": "Learn how to create, deploy and interact with a universal app" + }, + "localnet": { + "title": "Localnet", + "readTime": "30 min", + "description": "Build and interact with your universal app in a local dev environment" + }, + "swap": { + "title": "Swap", + "readTime": "30 min", + "description": "Implement an omnichain swap app compatible with chains like Ethereum, BNB and Bitcoin" + }, + "swap-any": { + "title": "Swap Any Token", + "readTime": "60 min", + "description": "Enhance the omnichain swap app with the ability to swap to any token" + }, + "bitcoin": { + "title": "Bitcoin Frontend", + "readTime": "20 min", + "description": "Learn how to make calls to universal apps from Bitcoin with wallets like XDEFI and UniSat" + } +} \ No newline at end of file diff --git a/src/pages/developers/omnichain/tutorials/bitcoin-frontend.mdx b/src/pages/developers/tutorials/bitcoin.mdx similarity index 83% rename from src/pages/developers/omnichain/tutorials/bitcoin-frontend.mdx rename to src/pages/developers/tutorials/bitcoin.mdx index 07a832f5..72c0fda5 100644 --- a/src/pages/developers/omnichain/tutorials/bitcoin-frontend.mdx +++ b/src/pages/developers/tutorials/bitcoin.mdx @@ -1,22 +1,21 @@ -# Bitcoin Frontend - -In this tutorial you will learn how to build a simple frontend application that -let's you call omnichain contract on ZetaChain from Bitcoin using a browser -wallet extension. +--- +title: Bitcoin Frontend +description: In this tutorial you will learn how to build a simple frontend application that let's you call omnichain contract on ZetaChain from Bitcoin using a browser wallet extension. +--- ## Prerequisites -- [XDEFI](https://xdefi.io/) wallet extension - [installed in your browser](https://www.xdefi.io/article/create-wallet-new/) +- [XDEFI](https://xdefi.io/) wallet extension [installed in your + browser](https://www.xdefi.io/article/create-wallet-new/) - [Unisat](https://docs.unisat.io/) wallet extension -- Bitcoin Testnet wallet with some testnet BTC (use - [one of the faucets](https://coinfaucet.eu/en/btc-testnet/) available) +- Bitcoin Testnet wallet with some testnet BTC (use [one of the + faucets](https://coinfaucet.eu/en/btc-testnet/) available) - [Node.js](https://nodejs.org/en/) installed on your machine with `npm` or `yarn` -- Learn how to - [Deposit and call zEVM contracts from Bitcoin](/developers/omnichain/bitcoin/). +- Learn how to [Deposit and call ZetaChain's EVM contracts from + Bitcoin](/developers/chains/bitcoin/). -# Create a new project +## Create a new project Initialize a new project: @@ -67,9 +66,9 @@ This HTML page contains a simple form with three inputs: ## Send Transaction Handler To call an omnichain contract from Bitcoin you need to send a token transfer -transaction to the ZetaChain's [TSS address](/reference/contracts) on Bitcoin -with a memo that conforms to -[the required format](/developers/omnichain/bitcoin). +transaction to the ZetaChain's [TSS address](/reference/network/contracts) on +Bitcoin with a memo that conforms to [the required +format](/developers/chains/bitcoin). The memo is composed of two parts: @@ -88,8 +87,9 @@ would look like: c79E6DC99C5928C5b08ae7a0f79412521996938e3724C896Cdc958611873D81547A98565c8cb849d ``` -The list of TSS address is available in [the docs](/reference/contracts), for -the purposes of this tutorial we will use a hard-coded value. +The list of TSS address is available in [the +docs](/reference/network/contracts), for the purposes of this tutorial we will +use a hard-coded value. Get the contract address and parameters from the form and ensure that the `0x` prefix is removed. @@ -165,8 +165,8 @@ Now that we have the `from` address (your Bitcoin address), `recipient` address (ZetaChain's TSS address), `amount` and a properly formatted `memo`, call `window.xfi.bitcoin.request` to create and broadcast a transaction. -Learn more about how to use XDEFI programmatically in the -[XDEFI docs](https://docs.xdefi.io/). +Learn more about how to use XDEFI programmatically in the [XDEFI +docs](https://docs.xdefi.io/). ## Use Unisat Wallet @@ -203,8 +203,8 @@ npx http-server Open the page in your browser and fill in the form. You can test functionality with your own contract address or follow one of the provided tutorials, for -example, the [Staking](/developers/omnichain/tutorials/staking/) tutorial to -deploy a contract that you can call from Bitcoin. +example, the [Staking](/developers/tutorials/staking/) tutorial to deploy a +contract that you can call from Bitcoin. Fill out the form and click the "Send transaction" button. You will be prompted to confirm the transaction. @@ -215,5 +215,5 @@ window. You can use a Bitcoin block explorer like status. Once the transaction is confirmed on Bitcoin, you can check the transaction -status on ZetaChain using the `cctx` command from the -[Hardhat template](https://github.com/zeta-chain/template). +status on ZetaChain using the `cctx` command from the [Hardhat +template](https://github.com/zeta-chain/template). diff --git a/src/pages/developers/omnichain/tutorials/hello.mdx b/src/pages/developers/tutorials/hello.mdx similarity index 55% rename from src/pages/developers/omnichain/tutorials/hello.mdx rename to src/pages/developers/tutorials/hello.mdx index 45a8a9b6..410b1dea 100644 --- a/src/pages/developers/omnichain/tutorials/hello.mdx +++ b/src/pages/developers/tutorials/hello.mdx @@ -1,13 +1,33 @@ -# First Omnichain Contract - -In this tutorial you will create a simple omnnichain contract, deploy it on -ZetaChain and make a contract call from a connected chain. +--- +title: Your First Univeral App +--- + +In this tutorial, you will create a simple universal app contract that accepts a +message with a string and emits an event with that string when called from a +connected chain. For example, a user on Ethereum will be able to send a message +"alice" and the universal contract on ZetaChain will emit a "Greet" event with a +value "alice". + +You will learn how to: + +- Use the Hardhat template to create a new universal app using a single command +- Define your universal app contract to handle messages from connected chains +- Deploy the contract to ZetaChain +- Interact with the contract by sending a message from Ethereum testnet +- Track an incoming cross-chain transaction + + ## Prerequisites -- [Node.js](https://nodejs.org/en/) (version 18 or above) -- [Yarn](https://yarnpkg.com/) -- [Git](https://git-scm.com/) +- [Introduction to Universal Apps](/developers/apps/intro/) +- [Getting Started](/developers/tutorials/intro) ## Set Up Your Environment @@ -15,80 +35,85 @@ Clone the Hardhat contract template: ``` git clone https://github.com/zeta-chain/template -``` -Install dependencies: +cd template/contracts -``` -cd template yarn ``` +Make sure that you've followed the [Getting +Started](/developers/tutorials/intro) tutorial to set up your development +environment, create an account and request testnet tokens. + ## Create the Contract -To create a new omnichain contract you will use the `omnichain` Hardhat task -available by default in the template. +To create a new universal app contract, use the `omnichain` Hardhat task: ``` -npx hardhat omnichain MyContract +npx hardhat omnichain Greeting name ``` -The `omnichain` task can also accept a list of arguments (optionally with types) -to create a contract that accepts specific data from a connected chain. You can -learn more about passing arguments in the following tutorials. In this tutorial -you will create a contract that does not accept any arguments. +The `omnichain` task accepts a contract name (`Greeting`) and a list of fields. +The list of fields defines the values that will be included in the message +passed to a universal app contract. + +A field may have a type specified after the field name, separated by a colon. If +no type is specified, the type defaults to `string`. + +Supported types are: `address`, `bool`, `bytes32`, `string`, +`int`,`int8`,`int16`,`int128`,`int256`,`uint`,`uint8`,`uint16`,`uint128`,`uint256`. + +In this example, the message will contain only one value: `name` of type +`string`. The `omnichain` task has created: -- `contracts/MyContract.sol`: a Solidity omnichain smart contract +- `contracts/Greeting.sol`: a Solidity universal app contract - `tasks/deploy.ts`: a Hardhat task to deploy the contract - `tasks/interact.ts`: a Hardhat task to interact with the contract It also modified `hardhat.config.ts` to import both `deploy` and `interact` tasks. -## Omnichain Contract +## Universal App Contract -Let's review the contents of the `MyContract` contract: +Let's review the contents of the `Greeting` contract: -```solidity filename="contracts/MyContract.sol" +```solidity filename="contracts/Greeting.sol" // SPDX-License-Identifier: MIT pragma solidity 0.8.7; import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; +import "@zetachain/toolkit/contracts/OnlySystem.sol"; -contract MyContract is zContract { - SystemContract public immutable systemContract; +contract Greeting is zContract, OnlySystem { + SystemContract public systemContract; constructor(address systemContractAddress) { systemContract = SystemContract(systemContractAddress); } - modifier onlySystem() { - require( - msg.sender == address(systemContract), - "Only system contract can call this function" - ); - _; - } - function onCrossChainCall( zContext calldata context, address zrc20, uint256 amount, bytes calldata message - ) external virtual override onlySystem { + ) external virtual override onlySystem(systemContract) { + (string memory name) = abi.decode( + message, + (string) + ); // TODO: implement the logic } } ``` -`MyContract` is a simple contract that inherits from the -[`zContract` interface](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/interfaces/zContract.sol). +`Greeting` is a simple contract that inherits from the [`zContract` +interface](https://github.com/zeta-chain/protocol-contracts/blob/main/contracts/zevm/interfaces/zContract.sol). The contract declares a state variable of type `SystemContract` that stores a -reference to the [system contract](/developers/omnichain/system-contract). +reference to the system contract. The constructor function accepts the address of the system contract and stores it in the `systemContract` state variable. @@ -105,7 +130,7 @@ following inputs: - `origin`: EOA address that sent the token transfer transaction to the TSS address (triggering the omnichain contract) or the value passed to the `deposit` method call on the ERC-20 custody contract. - - `chainID`: interger ID of the connected chain from which the omnichain + - `chainID`: integer ID of the connected chain from which the omnichain contract was triggered. - `sender` (reserved for future use, currently empty) - `zrc20`: the address of the ZRC-20 token contract that represents an asset @@ -123,18 +148,53 @@ the TSS address or an ERC-20 custody contract. By default, the `onCrossChainCall` function doesn't do anything else. You will implement the logic yourself based on your use case. +Modify the contract to emit an event after parsing the `message`: + +```solidity filename="contracts/Greeting.sol" {10,26} +// SPDX-License-Identifier: MIT +pragma solidity 0.8.7; + +import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; +import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; +import "@zetachain/toolkit/contracts/OnlySystem.sol"; + +contract Greeting is zContract, OnlySystem { + SystemContract public systemContract; + event Greet(string message); + + constructor(address systemContractAddress) { + systemContract = SystemContract(systemContractAddress); + } + + function onCrossChainCall( + zContext calldata context, + address zrc20, + uint256 amount, + bytes calldata message + ) external virtual override onlySystem(systemContract) { + (string memory name) = abi.decode( + message, + (string) + ); + emit Greet(name); + } +} +``` + ## Deploy Task The `omnichain` task has created a Hardhat task to deploy the contract: ```ts filename="tasks/deploy.ts" -import { getAddress } from "@zetachain/protocol-contracts"; +import { getAddress, ParamChainName } from "@zetachain/protocol-contracts"; import { task } from "hardhat/config"; import { HardhatRuntimeEnvironment } from "hardhat/types"; const main = async (args: any, hre: HardhatRuntimeEnvironment) => { - if (hre.network.name !== "zeta_testnet") { - throw new Error('🚨 Please use the "zeta_testnet" network to deploy to ZetaChain.'); + const network = hre.network.name as ParamChainName; + + if (!/zeta_(testnet|mainnet)/.test(network)) { + throw new Error('🚨 Please use either "zeta_testnet" or "zeta_mainnet" network to deploy to ZetaChain.'); } const [signer] = await hre.ethers.getSigners(); @@ -144,25 +204,32 @@ const main = async (args: any, hre: HardhatRuntimeEnvironment) => { ); } - const systemContract = getAddress("systemContract", "zeta_testnet"); + const systemContract = getAddress("systemContract", network); - const factory = await hre.ethers.getContractFactory("MyContract"); + const factory = await hre.ethers.getContractFactory(args.name); const contract = await factory.deploy(systemContract); await contract.deployed(); + const isTestnet = network === "zeta_testnet"; + const zetascan = isTestnet ? "athens.explorer" : "explorer"; + const blockscout = isTestnet ? "zetachain-athens-3" : "zetachain"; + if (args.json) { console.log(JSON.stringify(contract)); } else { console.log(`🔑 Using account: ${signer.address} -🚀 Successfully deployed contract on ZetaChain. +🚀 Successfully deployed contract on ${network}. 📜 Contract address: ${contract.address} -🌍 Explorer: https://athens3.explorer.zetachain.com/address/${contract.address} +🌍 ZetaScan: https://${zetascan}.zetachain.com/address/${contract.address} +🌍 Blockcsout: https://${blockscout}.blockscout.com/address/${contract.address} `); } }; -task("deploy", "Deploy the contract", main).addFlag("json", "Output in JSON"); +task("deploy", "Deploy the contract", main) + .addFlag("json", "Output in JSON") + .addOptionalParam("name", "Contract to deploy", "Greeting"); ``` Omnichain contracts are supposed to be deployed to ZetaChain, so the task checks @@ -191,7 +258,7 @@ import ERC20 from "@openzeppelin/contracts/build/contracts/ERC20.json"; const main = async (args: any, hre: HardhatRuntimeEnvironment) => { const [signer] = await hre.ethers.getSigners(); - const data = prepareData(args.contract, [], []); + const data = prepareData(args.contract, ["string"], [args.name]); let tx; @@ -200,6 +267,7 @@ const main = async (args: any, hre: HardhatRuntimeEnvironment) => { if (!custodyAddress) { throw new Error(`No ERC20 Custody contract found for ${hre.network.name} network`); } + const custodyContract = new ethers.Contract(custodyAddress, ERC20Custody.abi, signer); const tokenContract = new ethers.Contract(args.token, ERC20.abi, signer); const decimals = await tokenContract.decimals(); @@ -230,7 +298,8 @@ task("interact", "Interact with the contract", main) .addParam("contract", "The address of the withdraw contract on ZetaChain") .addParam("amount", "Amount of tokens to send") .addOptionalParam("token", "The address of the token to send") - .addFlag("json", "Output in JSON"); + .addFlag("json", "Output in JSON") + .addParam("name"); ``` The task uses the `prepareData` function from `@zetachain/toolkit/helpers` to @@ -279,59 +348,18 @@ address. The transaction contains the following information: - `to`: the address of the TSS - `value`: the amount of tokens to transfer -## Create an Account - -To deploy and interact with the contract you will need a wallet with tokens. - -Create a new wallet account: - -``` -npx hardhat account --save -``` - -This command generates a random wallet, prints information about the wallet to -the terminal, and saves the private key to a `.env` file to make it accessible -to Hardhat. - -## Use the Faucet to Request Tokens - -Request testnet ZETA tokens from the ZetaChain faucet: - -``` -npx hardhat faucet -``` - -This command requests tokens from the faucet for the account address derived -from the private key specified in the `.env`. Tokens sent to the address on -ZetaChain. - -Using the `faucet` task you can get ZETA tokens on ZetaChain as well as ZETA -tokens on connected chains. - -You will, however, need to request native tokens on connected chains from one of -the -[publicly available faucets](/reference/get-testnet-zeta/#getting-additional-testnet-gas-assets). - -## Check Token Balances - -Check token balances to ensure you have tokens on ZetaChain and at least one of -the connected chains: - -``` -npx hardhat balances -``` - -Learn more about these and other ZetaChain toolkit commands -[avaialble in the template](/developers/template/). +* `value`: the number of tokens to transfer ## Deploy the Contract -Clear the cache and artifacts, then compile the contract: +Compile the contract: ``` npx hardhat compile --force ``` +Use the `--force` flag to clear the cache and artifacts. + Deploy the contract to ZetaChain: ``` @@ -339,19 +367,20 @@ npx hardhat deploy --network zeta_testnet ``` ``` -🔑 Using account: 0x1bE17D79b60182D7F3573576B7807F6C20Ae7C99 +🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 -🚀 Successfully deployed contract on ZetaChain. -📜 Contract address: 0xE26F2e102E2f3267777F288389435d3037D14bb3 -🌍 Explorer: https://athens3.explorer.zetachain.com/address/0xE26F2e102E2f3267777F288389435d3037D14bb3 +🚀 Successfully deployed contract on zeta_testnet. +📜 Contract address: 0x2C0201B9DFdC6Dcc23524Ab29c51c38dcc8afF54 +🌍 ZetaScan: https://athens.explorer.zetachain.com/address/0x2C0201B9DFdC6Dcc23524Ab29c51c38dcc8afF54 +🌍 Blockcsout: https://zetachain-athens-3.blockscout.com/address/0x2C0201B9DFdC6Dcc23524Ab29c51c38dcc8afF54 ``` ## Interact with the Contract -Call the `interact` task to interact with the contract: +Use the `interact` task to send a transaction on Ethereum Sepolia testnet: ``` -npx hardhat interact --contract 0xE26F2e102E2f3267777F288389435d3037D14bb3 --amount 0.1 --network sepolia_testnet +npx hardhat interact --name alice --contract 0x2C0201B9DFdC6Dcc23524Ab29c51c38dcc8afF54 --network sepolia_testnet --amount 0 ``` ``` @@ -361,34 +390,50 @@ npx hardhat interact --contract 0xE26F2e102E2f3267777F288389435d3037D14bb3 --amo 📝 Transaction hash: 0x93b441dc2ddb751a60a2f4c0fc52dbbd447ed70eb962b1a01072328aa6872b73 ``` +The `interact` task has sent a transaction to the TSS address on Sepolia. + +The `data` field of the transaction contains the following data: + +``` +0x2c0201b9dfdc6dcc23524ab29c51c38dcc8aff5400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005616c696365000000000000000000000000000000000000000000000000000000 +``` + +The first 20 bytes is the universal app contract on ZetaChain, the rest are +bytes that will be passed to the universal contract as `message`. In this +example, the `message` is a string `alice`. + +The `value` (amount) of the transaction is 0 because you're not sending any ETH +in this example, you're just sending a message. + Track the transaction: ``` -npx hardhat cctx 0x93b441dc2ddb751a60a2f4c0fc52dbbd447ed70eb962b1a01072328aa6872b73 +npx hardhat cctx 0x1d32177e6cdedbabd5f587ed0de80e8b4734636b329d88d24d015676257c330d +``` + +``` ✓ CCTXs on ZetaChain found. -✓ 0x31310706ac4b33aa468e62a77d5db358e52a60dad3854210db8fc06c870186b6: 5 → 7001: -OutboundMined (Remote omnichain contract call completed) +✓ 0xb672ea88abd2c35e4ee4a094969799259773a89e5d93906e46829632837106a5: 11155111 → 7001: OutboundMined (Remote omnichain contract call completed) ``` -Once the transaction is finalized on ZetaChain, you should be able to review the -transaction on the ZetaChain explorer: +You can also track the cross-chain transaction on ZetaScan: + +https://athens.explorer.zetachain.com/cc/tx/0xb672ea88abd2c35e4ee4a094969799259773a89e5d93906e46829632837106a5 -https://explorer.zetachain.com/cc/tx/0x31310706ac4b33aa468e62a77d5db358e52a60dad3854210db8fc06c870186b6 +Once the transaction is finalized on ZetaChain, you should be able to see the +event emitted by the contract on ZetaChain. Go to the "Logs tab" to see: -The `interact` task has sent a token transfer transaction to the TSS address on -Sepolia. The transaction contains the address of the contract on ZetaChain in -the `data` field. ZetaChain detects the transaction and triggers the -`onCrossChainCall` function of the contract. The `onCrossChainCall` function -does nothing in this example, but you can modify it to implement your own logic. +``` +Method id efdeaaf5 +Call Greet(string message) +Name Type Indexed? Data +message string false alice +``` -Congratulations! 🎉 In this tutorial you have: +https://zetachain-athens-3.blockscout.com/address/0x2C0201B9DFdC6Dcc23524Ab29c51c38dcc8afF54 -- cloned the Hardhat contract template -- used `npx hardhat omnichain` to create a new omnichain contract -- reviewed the contents of the generated contract and the tasks to deploy and - interact with the contract -- successfully deployed the contract to ZetaChain -- interacted with the contract by sending a token transfer transaction to the - TSS address on a connected chain and triggering the `onCrossChainCall` - function of the omnichain contract on ZetaChain +Congratulations! 🎉 You've successfully created a universal app contract, +deployed it on ZetaChain and made a call to it with a message sent from Ethereum +testnet. Now you know the basics of how to handle calls and parse messages from +connected chains and can move on to build more exciting apps! diff --git a/src/pages/developers/tutorials/intro.mdx b/src/pages/developers/tutorials/intro.mdx new file mode 100644 index 00000000..f7671331 --- /dev/null +++ b/src/pages/developers/tutorials/intro.mdx @@ -0,0 +1,138 @@ +# Getting Started + +This introductory tutorial will guide you through the essential steps to set up +your smart contract template, create and configure your account, and request +tokens for testing on ZetaChain. + +## Prerequisites + +- A Unix-like environment (for example, macOS) +- [Node.js](https://nodejs.org/en/) (version 18 or above) +- [Yarn](https://yarnpkg.com/) +- [Git](https://git-scm.com/) + +## Universal App Template + +ZetaChain provides [a smart contract +template](https://github.com/zeta-chain/template) to help you start building +universal apps quickly. First, clone the template from GitHub: + +``` +git clone https://github.com/zeta-chain/template +``` + +Next, navigate to the template directory and install the necessary dependencies: + +``` +cd template/contracts +yarn +``` + +The template uses [Hardhat](https://hardhat.org/) for compiling, testing, and +deploying contracts. It also uses +[`@zetachain/toolkit`](https://github.com/zeta-chain/toolkit/), which offers +various utilities for creating contracts, querying balances, tracking +cross-chain transactions, accessing the faucet, and more. The template exposes +most of the features available in the toolkit through Hardhat tasks. + +## Create an Account + +To interact with a blockchain, you'll need an account. If you don't have an +account, you can generate a new one using the following command: + +``` +npx hardhat account --save +``` + +This command creates a random wallet, displays the wallet information in the +terminal, and saves the private key to a `.env` file, making it accessible to +Hardhat. + +If you don't want to save the wallet (for example, if you just need an address +to send tokens to for testing purposes), you can run the command without the +`--save` flag. + +If you already have a private key or mnemonic, you can import it with the +`--recover` flag: + +``` +npx hardhat account --save --recover +``` + +This will prompt you to enter the private key or mnemonic, derive the addresses, +and save the private key into the `.env` file. + +The `account` command shows derived addresses in hexadecimal (for EVM-based +chains), bech32 with `zeta` prefix for ZetaChain, and bech32 for Bitcoin. + +## Query Token Balances + +To check the token balances: + +``` +npx hardhat balances +``` + +This command queries token balances for the account address derived from the +private key specified in the `.env`. + +If you need to query for balances as part of a script, you can also use a +`--json` flag to output the balances in JSON format: + +``` +npx hardhat balances --json +``` + +If you want to query for token balances for a different account, you can use the +`--address` flag: + +``` +npx hardhat balances --address ADDRESS +``` + +The `balances` command supports querying for native gas tokens, wrapped ZETA on +all connected chains as well as ZetaChain, ZRC-20 tokens, and BTC on Bitcoin. + +## Request Tokens from the Faucet + +To request ZETA tokens from the faucet: + +``` +npx hardhat faucet +``` + +This command requests tokens from the faucet for the account address derived +from the private key specified in the `.env`. To prevent abuse, the faucet will +prompt you to sign in with GitHub. Once the process is complete, you will +receive native ZETA tokens on ZetaChain testnet. It may take a few minutes for +your request to be processed. + +To send tokens to a different address, use: + +``` +npx hardhat faucet --address ADDRESS +``` + +Alternatively, you can install a standalone faucet CLI: + +``` +yarn global add @zetachain/faucet-cli +``` + +You can then use it with the following command: + +``` +zetafaucet -h +``` + +If the faucet is throwing an error, delete the `access_token` file from the +project and try again. + +In addition to ZETA tokens on ZetaChain, you might need tokens on connected +blockchains like Ethereun, BNB and Bitcoin testnets. + +- https://www.bnbchain.org/en/testnet-faucet +- https://www.alchemy.com/faucets/ethereum-sepolia +- https://www.infura.io/faucet/sepolia +- https://bitcoinfaucet.uo1.net/ +- https://cloud.google.com/application/web3/faucet/ethereum/sepolia diff --git a/src/pages/developers/tutorials/localnet.mdx b/src/pages/developers/tutorials/localnet.mdx new file mode 100644 index 00000000..45aa6169 --- /dev/null +++ b/src/pages/developers/tutorials/localnet.mdx @@ -0,0 +1,181 @@ +Localnet is a local development environment that simplifies the development of +universal apps. + +Localnet: + +- Starts an [Anvil](https://book.getfoundry.sh/anvil/) local testnet node +- Deploys [protocol + contracts](https://github.com/zeta-chain/protocol-contracts/tree/main/v2) on + the local testnet node. Both [EVM gateway and ZetaChain + gateway](/developers/evm/gateway/) are deployed and running on the same local + blockchain Simulates the real-world testnet environment of ZetaChain by + observing events and relaying the contract calls between EVM gateway and + ZetaChain gateway + +Clone the example contracts repo and install dependencies: + +``` +git clone https://github.com/zeta-chain/example-contracts +cd universal/hello +yarn +``` + +Localnet is installed from the `@zetachain/localnet` package. If you need to +update localnet just run `yarn add --dev @zetachain/localnet`. The template +ships with the latest version of localnet. + +Start the localnet: + +``` +yarn hardhat localnet +``` + +Once the localnet is started you will see the standard Anvil output with a list +of accounts, private keys as well as the output from protocol contracts being +deployed. After the localnet is set up you will see a list of protocol contract +addresses: + +``` +EVM Contract Addresses +====================== + +Gateway EVM: 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0 +ZETA: 0x5FbDB2315678afecb367f032d93F642f64180aa3 + +ZetaChain Contract Addresses +============================ + +Gateway ZetaChain: 0x610178dA211FEF7D417bC0e6FeD39F05609AD788 +ZETA: 0xa513E6E4b8f2a923D98304ec87F64353C4D5C853 +ZRC-20 ETH: 0x9fd96203f7b22bCF72d9DCb40ff98302376cE09c +``` + +Keep the terminal window with localnet running open and open a new terminal. + +Compile the contracts and deploy both a Hello universal app contract and a +Receiver contract. + +``` +yarn deploy +``` + +Universal app contract address: + +``` +🚀 Successfully deployed contract on localhost. +📜 Contract address: 0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82 +``` + +Receiver contract: + +``` +🚀 Successfully deployed contract on localhost. +📜 Contract address: 0x9A676e781A523b5d0C0e43731313A708CB607508 +``` + +Even though both contracts are deployed on the same local testnet we will think +of Hello as running on ZetaChain and Receiver as running on a generic EVM chain. +These two contracts are connected with each other through the +[gateway](/developers/evm/gateway). + +## Call a Universal App from EVM + +Call the `depositAndCall` function on the EVM gateway to call a universal app +contract: + +``` +yarn hardhat deposit-and-call --contract 0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82 --amount 2 --message bob --network localhost --revert-address 0x9A676e781A523b5d0C0e43731313A708CB607508 --revert-message 0x --call-on-revert +``` + +The command calls the `depositAndCall` function on the EVM gateway. + +The EVM gateway emits a "Deposited" event acknowledging that the function call +has been successful: + +``` +[EVM]: Gateway: 'Deposited' event emitted +``` + +Localnet picks up the "Deposited" event and calls the ZetaChain's gateway +`execute` function, which calls the universal app: + +``` +[ZetaChain]: Universal contract 0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82 executing onCrossChainCall (context: {"origin":"0x610178dA211FEF7D417bC0e6FeD39F05609AD788","sender":"0x735b14BB79463307AAcBED86DAf3322B1e6226aB","chainID":1}), zrc20: 0x9fd96203f7b22bCF72d9DCb40ff98302376cE09c, amount: 2000000000000000000, message: 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003626f620000000000000000000000000000000000000000000000000000000000) +``` + +The `onCrossChainCall` is executed and emits an event: + +``` +[ZetaChain]: Event from onCrossChainCall: {"_type":"log","address":"0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82","blockHash":"0xc8a8ebc484c5330f118a9e838587b918657ca2b347b7b76846236c00e44006bd","blockNumber":23,"data":"0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001a48656c6c6f2066726f6d206120756e6976657273616c206170700000000000000000000000000000000000000000000000000000000000000000000000000003626f620000000000000000000000000000000000000000000000000000000000","index":2,"removed":false,"topics":["0x39f8c79736fed93bca390bb3d6ff7da07482edb61cd7dafcfba496821d6ab7a3"],"transactionHash":"0x3a6612c174d980a13e3ee6b17a21c4708f0f31b823c1fba1037fc6c4124a7b68","transactionIndex":0} +``` + +## Call a Universal App from EVM and Revert + +Introduce a `revert();` statement anywhere inside the `onCrossChainCall` +function to force the contract to revert. + +Make the same call to the EVM gateway contract: + +``` +yarn hardhat deposit-and-call --message bob --network localhost --revert-address 0x9A676e781A523b5d0C0e43731313A708CB607508 --revert-message 0x --call-on-revert --contract 0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82 --amount 2 +``` + +The EVM gateway emits the "Deposited" event: + +``` +[EVM]: Gateway: 'Deposited' event emitted +``` + +A universal app gets called: + +``` +[ZetaChain]: Universal contract 0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82 executing onCrossChainCall (context: {"origin":"0x610178dA211FEF7D417bC0e6FeD39F05609AD788","sender":"0x735b14BB79463307AAcBED86DAf3322B1e6226aB","chainID":1}), zrc20: 0x9fd96203f7b22bCF72d9DCb40ff98302376cE09c, amount: 2000000000000000000, message: 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003626f620000000000000000000000000000000000000000000000000000000000) +``` + +Now instead of emitting an event from a universal app we see an error caused by +the `revert();` statement we introduced earlier: + +``` +[ZetaChain]: Error executing onCrossChainCall: Error: transaction execution reverted (action="sendTransaction", data=null, reason=null, invocation=null, revert=null, transaction={ "data": "", "from": "0x735b14BB79463307AAcBED86DAf3322B1e6226aB", "to": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788" }, receipt={ "_type": "TransactionReceipt", "blobGasPrice": "1", "blobGasUsed": null, "blockHash": "0x7f313eb2281d3ce784b4470c310b24b5a284cffcde76bd9b60a21b0626067bea", "blockNumber": 27, "contractAddress": null, "cumulativeGasUsed": "77284", "from": "0x735b14BB79463307AAcBED86DAf3322B1e6226aB", "gasPrice": "10000000000", "gasUsed": "77284", "hash": "0xec360d8c235799450d2e5a3ea3386deee9bb0653f26619034601d0bbeaa2095c", "index": 0, "logs": [ ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "root": "0xceb5ff1771bf62103eb1b419ad6922afdac15c99dc20326ace7e37434badcd9c", "status": 0, "to": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788" }, code=CALL_EXCEPTION, version=6.13.2) +``` + +The EVM gateway executes `onRevert` function of the Receiver contract: + +``` +[EVM]: Contract 0x9A676e781A523b5d0C0e43731313A708CB607508 executing onRevert (context: {"asset":"0x0000000000000000000000000000000000000000","amount":0,"revertMessage":"0x3078"}) +``` + +## Call a Receiver Contract from a Universal App + +Execute the `callFromZetaChain` function of the universal app: + +``` +yarn hardhat call-from-zetachain --message bob --network localhost --revert-address 0x9A676e781A523b5d0C0e43731313A708CB607508 --revert-message "my revert message" --call-on-revert --contract 0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82 --receiver 0x9A676e781A523b5d0C0e43731313A708CB607508 +``` + +The function calls the ZetaChain gateway contract. The ZetaChain gateway emits a +"Called" event acknowledging that the call has been successful. + +``` +[ZetaChain]: Gateway: 'Called' event emitted +``` + +Localnet picks up the "Called" event and calls the EVM gateway `execute` +function, which calls the Receiver contract: + +``` +[EVM]: Calling 0x9a676e781a523b5d0c0e43731313a708cb607508 with message 0xa777d0dc00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003626f620000000000000000000000000000000000000000000000000000000000 +``` + +The Receiver contract then emits an event: + +``` +[EVM]: Event from contract: {"_type":"log","address":"0x9A676e781A523b5d0C0e43731313A708CB607508","blockHash":"0x0deb4a3e22b73320ffad3d916c5e2b2db450dddc162feaafa84546612cebd238","blockNumber":22,"data":"0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003626f620000000000000000000000000000000000000000000000000000000000","index":0,"removed":false,"topics":["0xfa051318aca3e493e16e6cf4bccc017c7e061924a42ef27b3bb373c4707b636a"],"transactionHash":"0x94c4d53aed68c97f18e467207ff6cdc1e855c65bcddab399f100fe2786ee33a8","transactionIndex":0} +``` + +Interacting between real networks like ZetaChain and Ethereum follows the same +steps as Localnet. Developers or users can seamlessly engage with the EVM +gateway on live networks such as Ethereum, BSC, or Base to call contracts on +ZetaChain or vice versa. This allows for a consistent development experience, +whether on a local testnet or across real-world blockchain networks, ensuring +that the transition from development to production environments is seamless. diff --git a/src/pages/developers/tutorials/swap-any.mdx b/src/pages/developers/tutorials/swap-any.mdx new file mode 100644 index 00000000..525a59d5 --- /dev/null +++ b/src/pages/developers/tutorials/swap-any.mdx @@ -0,0 +1,340 @@ +--- +title: Swap To Any Token +--- + +In the previous [Swap](/developers/tutorials/swap) tutorial, you learned how to +create universal swap contracts that enable users to exchange tokens from one +connected blockchain for a token on another blockchain, with the target token +always withdrawn to the destination chain. + +In this tutorial, you will enhance the swap contract to support swapping tokens +to any token (such as ZRC-20, ERC-20, or ZETA) and provide the flexibility to +either withdraw the token to the destination chain or keep it on ZetaChain. + +Keeping swapped tokens on ZetaChain is useful if you want to use ZRC-20 in +non-universal contracts that don't yet have the capacity to accept tokens from +connected chains directly, or if the destination token is ZETA, which you want +to keep on ZetaChain. + +## Omnichain Contract + +Copy the existing swap example into a new file `SwapToAnyToken.sol` and make the +necessary changes: + +```solidity filename="contracts/SwapToAnyToken.sol" {8,11,23,37,45-47,49-56,64,73,79,94,99-114,117-127} +// SPDX-License-Identifier: MIT +pragma solidity 0.8.7; + +import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; +import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; +import "@zetachain/toolkit/contracts/SwapHelperLib.sol"; +import "@zetachain/toolkit/contracts/BytesHelperLib.sol"; +import "@zetachain/protocol-contracts/contracts/zevm/interfaces/IWZETA.sol"; +import "@zetachain/toolkit/contracts/OnlySystem.sol"; + +contract SwapToAnyToken is zContract, OnlySystem { + SystemContract public systemContract; + + uint256 constant BITCOIN = 18332; + + constructor(address systemContractAddress) { + systemContract = SystemContract(systemContractAddress); + } + + struct Params { + address target; + bytes to; + bool withdraw; + } + + receive() external payable {} + + function onCrossChainCall( + zContext calldata context, + address zrc20, + uint256 amount, + bytes calldata message + ) external virtual override onlySystem(systemContract) { + Params memory params = Params({ + target: address(0), + to: bytes(""), + withdraw: true + }); + + if (context.chainID == BITCOIN) { + params.target = BytesHelperLib.bytesToAddress(message, 0); + params.to = abi.encodePacked( + BytesHelperLib.bytesToAddress(message, 20) + ); + if (message.length >= 41) { + params.withdraw = BytesHelperLib.bytesToBool(message, 40); + } + } else { + ( + address targetToken, + bytes memory recipient, + bool withdrawFlag + ) = abi.decode(message, (address, bytes, bool)); + params.target = targetToken; + params.to = recipient; + params.withdraw = withdrawFlag; + } + + swapAndWithdraw( + zrc20, + amount, + params.target, + params.to, + params.withdraw + ); + } + + function swapAndWithdraw( + address inputToken, + uint256 amount, + address targetToken, + bytes memory recipient, + bool withdraw + ) internal { + uint256 inputForGas; + address gasZRC20; + uint256 gasFee; + + if (withdraw) { + (gasZRC20, gasFee) = IZRC20(targetToken).withdrawGasFee(); + + inputForGas = SwapHelperLib.swapTokensForExactTokens( + systemContract, + inputToken, + gasFee, + gasZRC20, + amount + ); + } + + uint256 outputAmount = SwapHelperLib.swapExactTokensForTokens( + systemContract, + inputToken, + withdraw ? amount - inputForGas : amount, + targetToken, + 0 + ); + + if (withdraw) { + IZRC20(gasZRC20).approve(targetToken, gasFee); + IZRC20(targetToken).withdraw(recipient, outputAmount); + } else { + address wzeta = systemContract.wZetaContractAddress(); + if (targetToken == wzeta) { + IWETH9(wzeta).withdraw(outputAmount); + address payable recipientAddress = payable( + address(uint160(bytes20(recipient))) + ); + recipientAddress.transfer(outputAmount); + } else { + address recipientAddress = address(uint160(bytes20(recipient))); + IWETH9(targetToken).transfer(recipientAddress, outputAmount); + } + } + } + + function swap( + address inputToken, + uint256 amount, + address targetToken, + bytes memory recipient, + bool withdraw + ) public { + IZRC20(inputToken).transferFrom(msg.sender, address(this), amount); + + swapAndWithdraw(inputToken, amount, targetToken, recipient, withdraw); + } +} +``` + +Add the `WZETA` interface import, which allows interacting with ERC-20 +compatible tokens (such as ZRC-20) as well as unwrapping WZETA into native ZETA. + +Change the contract name from `Swap` to `SwapToAnyToken`. + +Add `bool withdraw` to the `Params` struct. This value determines if a user +wants to withdraw the swapped token to the destination chain (`true`) or keep +the token on ZetaChain (`false`). By default the value will be set to `true`. + +If the contract is being called from Bitcoin, use `bytesToBool` to decode the +last value in the `message`, and set it as the value of `params.withdraw`. + +If the contract is being called from an EVM chain, use `abi.decode` to decode +all values: target token, recipient and the withdraw flag. + +Next, add `params.withdraw` as the last argument to the `swapAndWithdraw` +function call. + +### Swap and Withdraw Function + +Add `bool withdraw` as the last parameter to the function definition. + +If a user wants to withdraw the tokens, query the gas token and the gas fee. +Since a user now has an option to not withdraw, this step has become optional. + +Modify the amount passed to `swapExactTokensForTokens`. If a user withdraws +token, subtract the withdraw fee in input token amount. + +Finally, add a conditional to either withdraw ZRC-20 tokens to a connected chain +or transfer the target token to the recipient on ZetaChain. If a user doesn't +want to withdraw a token you need to consider two scenarios: + +- If the target token is WZETA, unwrap it and transfer native ZETA to the + recipient. +- If the target token is not WZETA, transfer it to the recipient as any other + ERC-20-compatible token. + +### Swap Function + +Create a new public `swap` function to make it possible for users to call the +"swap and withdraw" function. Compared to "swap and withdraw", which is internal +and is not meant to be called directly, the "swap" function is public and is +meant to be called from ZetaChain. The purpose of "swap" is to allow users to +swap tokens they have on ZetaChain for other tokens and optionally also withdraw +them. For example, when a user has a ZRC-20 ETH and they want to swap it for +ZRC-20 BTC (without withdrawing), or swap it for ZRC-20 BNB and withdraw it to +the BNB chain as a native BNB token. + +## Update the Interact Task + +```ts filename="tasks/interact.ts" +let withdraw = true; +if (args.withdraw != undefined) { + withdraw = JSON.parse(args.withdraw); +} + +const data = prepareData(args.contract, ["address", "bytes", "bool"], [args.targetToken, recipient, withdraw]); + +//... + .addOptionalParam("withdraw"); +``` + +Add an optional parameter `withdraw`, which determines if a user wants to +withdraw the target token to the destination chain. By default set the value to +`true`, and pass withdraw as the third value in the message. + +## Add a Swap Task + +While the interact task is meant to be called on a connected chain to trigger a +universal contract, the swap task is meant to be called on ZetaChain directly to +swap an asset already on ZetaChain for a different asset optionally withdrawing +it. + +``` +import { task } from "hardhat/config"; +import { HardhatRuntimeEnvironment } from "hardhat/types"; +import { parseEther } from "@ethersproject/units"; +import { ethers } from "ethers"; + +const main = async (args: any, hre: HardhatRuntimeEnvironment) => { + const [signer] = await hre.ethers.getSigners(); + + if (!/zeta_(testnet|mainnet)/.test(hre.network.name)) { + throw new Error('🚨 Please use either "zeta_testnet" or "zeta_mainnet".'); + } + + const factory = await hre.ethers.getContractFactory("SwapToAnyToken"); + const contract = factory.attach(args.contract); + + const amount = parseEther(args.amount); + const inputToken = args.inputToken; + const targetToken = args.targetToken; + const recipient = ethers.utils.arrayify(args.recipient); + const withdraw = JSON.parse(args.withdraw); + + const erc20Factory = await hre.ethers.getContractFactory("ERC20"); + const inputTokenContract = erc20Factory.attach(args.inputToken); + + const approval = await inputTokenContract.approve(args.contract, amount); + await approval.wait(); + + const tx = await contract.swap( + inputToken, + amount, + targetToken, + recipient, + withdraw + ); + + await tx.wait(); + console.log(`Transaction hash: ${tx.hash}`); +}; + +task("swap", "Interact with the Swap contract from ZetaChain", main) + .addFlag("json", "Output JSON") + .addParam("contract", "Contract address") + .addParam("amount", "Token amount to send") + .addParam("inputToken", "Input token address") + .addParam("targetToken", "Target token address") + .addParam("recipient", "Recipient address") + .addParam("withdraw", "Withdraw flag (true/false)"); +``` + +## Compile and Deploy the Contract + +``` +npx hardhat compile --force +``` + +When deploying use the `--name` flag to specify which contract you want to +deploy: + +``` +npx hardhat deploy --network zeta_testnet --name SwapToZeta +``` + +``` +🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 + +🚀 Successfully deployed contract on zeta_testnet. +📜 Contract address: 0x48D512595699A1c1c40C7B5Fc378512Ab0dCFAd7 +🌍 ZetaScan: https://athens.explorer.zetachain.com/address/0x48D512595699A1c1c40C7B5Fc378512Ab0dCFAd7 +🌍 Blockcsout: https://zetachain-athens-3.blockscout.com/address/0x48D512595699A1c1c40C7B5Fc378512Ab0dCFAd7 +``` + +## Swap Tokens Without Withdrawing + +When using the `interact` task specify ZETA token contract address as the value +of `--target-token`: + +``` +npx hardhat interact --contract 0x1767A93A96D339EeC8E0325D94B5d3E4454d542f --network bsc_testnet --amount 0.01 --target-token 0xcC683A782f4B30c138787CB5576a86AF66fdc31d --recipient 0x6093537Aa6C8C8bf4705bda40aC9193977208B39 --withdraw false +``` + +Track the transaction: + +``` +npx hardhat cctx 0x3f22de7a6d6669ce55ce2a95adaee46b8fd8a751b145c903c62300f9e7e44e4d +``` + +``` +✓ CCTXs on ZetaChain found. + +✓ 0x7f7f7051dd9da2037b7fc01c43b18649b923c522e9ff3934e28647da59fffe79: 97 → 7001: OutboundMined (Remote omnichain contract call completed) +``` + +Notice that an outbound CCTX is not created, because when swapping without +withdrawing, target tokens remain on ZetaChain and are not withdrawn. + +## Swap Token And Withdraw + +``` +npx hardhat interact --contract 0x1767A93A96D339EeC8E0325D94B5d3E4454d542f --network bsc_testnet --amount 0.1 --target-token 0xcC683A782f4B30c138787CB5576a86AF66fdc31d --recipient 0x6093537Aa6C8C8bf4705bda40aC9193977208B39 +``` + +``` +npx hardhat cctx 0x8323982f778ab14a5c37b10a80c5837da74ccdc8dba6ab4368f8b00612da8e1e +``` + +``` +✓ CCTXs on ZetaChain found. + + +✓ 0x86c66514209a23499d23fea4c2d7177e87bff5199d273a3592fb685d7d945da8: 97 → 7001: OutboundMined (Remote omnichain contract call completed) +✓ 0x4a1d7df81e11c4273c0d105a23f049409d06f0bbc03e286014276adb247e208f: 7001 → 11155111: OutboundMined (ZRC20 withdrawal event setting to pending outbound directly : Outbound succeeded, mined) +``` diff --git a/src/pages/developers/tutorials/swap.mdx b/src/pages/developers/tutorials/swap.mdx new file mode 100644 index 00000000..25baf126 --- /dev/null +++ b/src/pages/developers/tutorials/swap.mdx @@ -0,0 +1,375 @@ +--- +title: Swap +--- + +import { Alert } from "~/components/shared"; + +In this tutorial you will create a cross-chain swap contract. This contract will +enable users to exchange a native gas token or a supported ERC-20 token from one +connected blockchain for a token on another blockchain. For example, a user will +be able to swap USDC from Ethereum to BTC on Bitcoin in a single transaction. + +You will learn how to: + +- Decode incoming messages from both EVM chains and Bitcoin. +- Work with the ZRC-20 representation of tokens transferred from connected + chains. +- Use the swap helper function to swap tokens using Uniswap v2 pools. +- Withdraw ZRC-20 tokens to a connected chain, accounting for cross-chain gas + fees. + +The swap contract will be implemented as a universal app and deployed on +ZetaChain. + +Universal apps can accept token transfers and contract calls from connected +chains. Tokens transferred from connected chains to a universal app contract are +represented as [ZRC-20](/developers/tokens/zrc20). For example, ETH transferred +from Ethereum is represented as ZRC-20 ETH. ZRC-20 tokens have the unique +property of being able to be withdrawn back to their original chain as native +assets. + +The swap contract will: + +- Accept a contract call from a connected chain containing native gas or + supported ERC-20 tokens and a message. +- Decode the message, which should include: + - Target token address (represented as ZRC-20) + - Recipient address on the destination chain +- Query withdraw gas fee of the target token. +- Swap a fraction of the input token for a ZRC-20 gas tokens to cover the + withdrawal fee using the Uniswap v2 liquidity pools. +- Swap the remaining input token amount for the target token ZRC-20. +- Withdraw ZRC-20 tokens to the destination chain + + + +## Set Up Your Environment + +Clone the Hardhat contract template: + +``` +git clone https://github.com/zeta-chain/template + +cd template/contracts + +yarn +``` + +Make sure that you've followed the [Getting +Started](/developers/tutorials/intro) tutorial to set up your development +environment, create an account and request testnet tokens. + +## Create the contract + +Run the following command to create a new universal omnichain contract called +`Swap` with two values in the message: target token address and recipient. + +``` +npx hardhat omnichain Swap targetToken:address recipient +``` + +## Universal App Contract + +```solidity filename="contracts/Swap.sol" {6-7,12,18-21,29-45,48-78} +// SPDX-License-Identifier: MIT +pragma solidity 0.8.7; + +import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol"; +import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol"; +import "@zetachain/toolkit/contracts/SwapHelperLib.sol"; +import "@zetachain/toolkit/contracts/BytesHelperLib.sol"; +import "@zetachain/toolkit/contracts/OnlySystem.sol"; + +contract Swap is zContract, OnlySystem { + SystemContract public systemContract; + uint256 constant BITCOIN = 18332; + + constructor(address systemContractAddress) { + systemContract = SystemContract(systemContractAddress); + } + + struct Params { + address target; + bytes to; + } + + function onCrossChainCall( + zContext calldata context, + address zrc20, + uint256 amount, + bytes calldata message + ) external virtual override onlySystem(systemContract) { + Params memory params = Params({target: address(0), to: bytes("")}); + + if (context.chainID == BITCOIN) { + params.target = BytesHelperLib.bytesToAddress(message, 0); + params.to = abi.encodePacked( + BytesHelperLib.bytesToAddress(message, 20) + ); + } else { + (address targetToken, bytes memory recipient) = abi.decode( + message, + (address, bytes) + ); + params.target = targetToken; + params.to = recipient; + } + + swapAndWithdraw(zrc20, amount, params.target, params.to); + } + + function swapAndWithdraw( + address inputToken, + uint256 amount, + address targetToken, + bytes memory recipient + ) internal { + uint256 inputForGas; + address gasZRC20; + uint256 gasFee; + + (gasZRC20, gasFee) = IZRC20(targetToken).withdrawGasFee(); + + inputForGas = SwapHelperLib.swapTokensForExactTokens( + systemContract, + inputToken, + gasFee, + gasZRC20, + amount + ); + + uint256 outputAmount = SwapHelperLib.swapExactTokensForTokens( + systemContract, + inputToken, + amount - inputForGas, + targetToken, + 0 + ); + + IZRC20(gasZRC20).approve(targetToken, gasFee); + IZRC20(targetToken).withdraw(recipient, outputAmount); + } +} +``` + +### Decoding the Message + +Create a `Params` struct, which will hold two values: + +- `address target`: target token ZRC-20 address. +- `bytes to`: recipient address on the destination chain. We're using `bytes`, + because the recipient can be either on EVM (like Ethereum or BNB) or on + Bitcoin. + +First, decode the incoming `message` to get the parameter values. The message +might be encoded differently depending on the source chain. For example, on +Bitcoin there is a upper limit of 80 bytes, so you might want to encode the +message in the most efficient way possible. On EVM don't have this limit, so +it's fine to use `abi.encode` to encode the message. + +Use `context.chainID` to determine the connected chain from which the contract +is called. + +If it's Bitcoin, the first 20 bytes of the `message` are the `params.target` +encoded as an `address`. Use `bytesToAddress` helper method to get the target +token address. To get the recipient address, use the same helper method with an +offset of 20 bytes and then use `abi.encodePacked` to convert the address to +`bytes`. + +If it's an EVM chain, use `abi.decode` to decode the `message` into the +`params.target` and `params.to`. + +### Swap and Withdraw Function + +#### Swapping for Gas Token + +Create a new function called `swapAndWithdraw`. Use the `withdrawGasFee` method +of the target token ZRC-20 to get the gas fee token address and the gas fee +amount. If the target token is the gas token of the destination chain (for +example, BNB), `gasZRC20` will be the same `params.target`. However, if the +target token is an ERC-20, like USDC on BNB, `gasZRC20` will tell you the +address of the ZRC-20 of the destination chain. + +Use the `swapTokensForExactTokens` helper method to swap the incoming token for +the gas coin using the internal liquidity pools. The method returns the amount +of the incoming token that was used to pay for the gas. + +#### Swapping for Target Token + +Next, swap the incoming amount minus the amount spent swapping for a gas fee for +the target token on the destination chain using the `swapExactTokensForTokens` +helper method. + +#### Withdraw Target Token to Connected Chain + +At this point the contract has the required `gasFee` amount of `gasZRC20` token +of the connected chain and an `outputAmount` amount of `params.target` token. + +To withdraw tokens to a connected chain you will be calling the `withdraw` +method of ZRC-20. The `withdraw` method expects the caller (in our case the +contract) to have the required amount of gas tokens ZRC-20. Approve the target +token ZRC-20 contract to spend the `gasFee` amount. Finally, call the `withdraw` +method of the target token ZRC-20 to send the tokens to the recipient on the +connected chain. + + + {" "} + Note that you don't have to tell which chain to withdraw to because each ZRC-20 contract knows which connected chain it + is associated with. For example, ZRC-20 Ethereum USDC can only be withdrawn to Ethereum. + + +## Update the Interact Task + +In the `interact` task generated for us by the contract template the recipient +is encoded as string. Our contract, however, expects the recipient to be encoded +as `bytes` to ensure that both EVM and Bitcoin addresses are supported. + +To support both EVM and Bitcoin addresses, we need to check if the recipient is +a valid Bitcoin address. If it is, we need to encode it as `bytes` using +`utils.solidityPack`. + +If it’s not a valid bech32 address, then we assume it's an EVM address and use +`args.recipient` as the value for the recipient. + +Finally, update the `prepareData` function call to use the `bytes` type for the +recipient. + +```ts filename="tasks/interact.ts" {1,6-22} +import bech32 from "bech32"; + +const main = async (args: any, hre: HardhatRuntimeEnvironment) => { + const [signer] = await hre.ethers.getSigners(); + + let recipient; + try { + if (bech32.decode(args.recipient)) { + recipient = utils.solidityPack(["bytes"], [utils.toUtf8Bytes(args.recipient)]); + } + } catch (e) { + recipient = args.recipient; + } + + const data = prepareData(args.contract, ["address", "bytes"], [args.targetToken, recipient]); + //... +}; +``` + +## Create an Account and Request Tokens from the Faucet + +Before proceeding with the next steps, make sure you have [created an account +and requested ZETA tokens](/developers/tutorials/hello#create-an-account) from +the faucet. + +## Compile and Deploy the Contract + +``` +npx hardhat compile --force +``` + +``` +npx hardhat deploy --network zeta_testnet +``` + +``` +🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 + +🚀 Successfully deployed contract on ZetaChain. +📜 Contract address: 0xf6CDd83AB44E4d947FE52c2637ee4A04F330328E +🌍 Explorer: https://athens3.explorer.zetachain.com/address/0xf6CDd83AB44E4d947FE52c2637ee4A04F330328E +``` + +## Swap Native Gas Tokens Between EVM Chains + +Use the `interact` task to perform a cross-chain swap. In this example, we're +swapping native sETH from Sepolia for BNB on BNB chain. The contract will +deposit sETH to ZetaChain as ZRC-20, swap it for ZRC-20 BNB and then withdraw +native BNB to the BNB chain. To get the value of the `--target-token` find the +ZRC-20 contract address of the destination token in the [ZRC-20 section of the +docs](/developers/tokens/zrc20). + +``` +npx hardhat interact --contract 0x175DeE06ca605674e49F1FADfC6B399D6ab31726 --amount 0.3 --network sepolia_testnet --target-token 0xd97B1de3619ed2c6BEb3860147E30cA8A7dC9891 --recipient 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 +``` + +``` +🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 + +🚀 Successfully broadcasted a token transfer transaction on sepolia_testnet +network. 📝 Transaction hash: +0xc4b2bbd3b3090e14797463af1965a00318cc39a50fce53a5d5856d09fe67410d +``` + +Track your cross-chain transaction: + +``` +npx hardhat cctx +0xc4b2bbd3b3090e14797463af1965a00318cc39a50fce53a5d5856d09fe67410d +``` + +``` +✓ CCTXs on ZetaChain found. + +✓ 0xf6419c8d850314a436a3cfc7bc5cd487e29bad9c8fae0d8be9a913d622599980: 11155111 → 7001: OutboundMined (Remote omnich +ain contract call completed) +⠧ 0x5e533d781ddc9760784ba9c1887f77a80d3ca0d771ea41f02bc4d0a1c9412dc2: 7001 → 97: PendingOutbound (ZRC20 withdrawal +event setting to pending outbound directly) +``` + +## Swap ERC-20 Tokens Between EVM Chains + +Now let's swap USDC from Sepolia to BNB on BNB chain. To send USDC specify the +ERC-20 token contract address (on Sepolia) in the `--token` parameter. You can +find the address of the token in the [ZRC-20 section of the +docs](/developers/tokens/zrc20). + +``` +npx hardhat interact --contract 0xf6CDd83AB44E4d947FE52c2637ee4A04F330328E --amount 5 --token 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238 --network sepolia_testnet --target-token 0xd97B1de3619ed2c6BEb3860147E30cA8A7dC9891 --recipient 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 +``` + +``` +🔑 Using account: 0x2cD3D070aE1BD365909dD859d29F387AA96911e1 + +🚀 Successfully broadcasted a token transfer transaction on sepolia_testnet network. +📝 Transaction hash: 0xce8832232639d29d40078e14d0a5b20c055123d6df1e1d39f90cfd130c33466d +``` + +``` +npx hardhat cctx 0xce8832232639d29d40078e14d0a5b20c055123d6df1e1d39f90cfd130c33466d +``` + +``` +✓ CCTXs on ZetaChain found. + +✓ 0x1ae1436358ef755c1c782d0a249ae99e857b0aecb91dcd8da4a4e7171f5d9459: 11155111 → 7001: OutboundMined (Remote omnichain contract call completed) +✓ 0xbefe99d3e17d16fc88762f85b1becd1396b01956c04b5ec037abc2c63d821caa: 7001 → 97: OutboundMined (ZRC20 withdrawal event setting to pending outbound directly : Outbound succeeded, mined) +``` + +## Swap from Bitcoin + +Use the `send-btc` task to send Bitcoin to the TSS address with a memo. The memo +should contain the following: + +- Omnichain contract address on ZetaChain: + `175DeE06ca605674e49F1FADfC6B399D6ab31726` +- Target token address: `05BA149A7bd6dC1F937fA9046A9e05C05f3b18b0` +- Recipient address: `4955a3F38ff86ae92A914445099caa8eA2B9bA32` + +``` +npx hardhat send-btc --amount 0.001 --memo 175DeE06ca605674e49F1FADfC6B399D6ab3172605BA149A7bd6dC1F937fA9046A9e05C05f3b18b04955a3F38ff86ae92A914445099caa8eA2B9bA32 --recipient tb1qy9pqmk2pd9sv63g27jt8r657wy0d9ueeh0nqur +``` + +``` +npx hardhat cctx 29d6a0af11aa6164e83c17d9f129e4ec504d327fb94429732d95c16ddfcce999 +``` + +## Source Code + +You can find the source code for the example in this tutorial here: + +https://github.com/zeta-chain/example-contracts/tree/main/omnichain/swap diff --git a/src/pages/nodes/_meta.json b/src/pages/nodes/_meta.json new file mode 100644 index 00000000..daf447fc --- /dev/null +++ b/src/pages/nodes/_meta.json @@ -0,0 +1,10 @@ +{ + "start-here": { + "title": "Start Here", + "description": "These docs will provide you with all the necessary steps to successfully set up your node" + }, + "validate": { + "title": "Validate", + "description": "Start validating transactions for the chain." + } +} \ No newline at end of file diff --git a/src/pages/nodes/start-here/_meta.json b/src/pages/nodes/start-here/_meta.json new file mode 100644 index 00000000..c23736bd --- /dev/null +++ b/src/pages/nodes/start-here/_meta.json @@ -0,0 +1,20 @@ +{ + "requirements": { + "title": "Technical Requirements", + "description": "Before you start running a node, make sure you have the following technical requirements.", + "readTime": "5 min", + "readType": "Beginner" + }, + "setup": { + "title": "Setting Up a Node", + "description": "A guide to set up a ZetaChain Mainnet or Testnet node.", + "readTime": "30 min", + "readType": "Intermediate" + }, + "syncing": { + "title": "Syncing a Node", + "description": "Syncing a node using snapshots or KSYNC.", + "readTime": "15 min", + "readType": "Beginner" + } +} \ No newline at end of file diff --git a/src/pages/validators/requirements.mdx b/src/pages/nodes/start-here/requirements.mdx similarity index 57% rename from src/pages/validators/requirements.mdx rename to src/pages/nodes/start-here/requirements.mdx index 24f2bd54..901f8d36 100644 --- a/src/pages/validators/requirements.mdx +++ b/src/pages/nodes/start-here/requirements.mdx @@ -1,4 +1,6 @@ -# Technical Requirements +--- +title: Technical Requirements +--- ## Node Specifications @@ -6,15 +8,16 @@ These are the recommended specs for a ZetaChain node. | Node Type | CPU | Memory | Data Disk | | :-------------- | :----- | :----------- | :---------------- | -| Observer Signer | 8 CPUs | 32 GB Memory | 300+ GB Data Disk | | Core Validator | 4 CPUs | 16 GB Memory | 300+ GB Data Disk | +| Full Node | 4 CPUs | 12 GB Memory | 300+ GB Data Disk | +| Archive | 4 CPUs | 12 GB Memory | 3+ TB Data Disk | -It is recommended to run a validator on a machine with NVMe SSDs that support -high IOPS (12K or higher). +It is recommended to run validators on a machine with NVMe SSDs that support +high IOPS (12K or higher) to avoid falling behind and getting the validator jailed. ## Network Requirements -### Public Ports +#### Public Ports ZetaChain nodes communicate over the following ports. Make sure these are open to the public internet. @@ -22,24 +25,20 @@ to the public internet. | Node Type | Port | Protocol | | :---------------------- | :---- | :------- | | Full Node and Validator | 26656 | TCP | -| Observer Signer Only | 8123 | TCP | -| Observer Signer Only | 6668 | TCP | -Additionally, Observer Signers must allow communication between `zetacored` and -`zetaclientd` on port 9090 but this port should not be publicly accessible. - -### RPC/API/Archive Nodes +#### RPC/API/Archive Nodes If you want to access RPC/API services on your node you'll need to make sure the following ports are open. -| RPC Type | Port | Protocol | -| :------------- | :--- | :------- | -| EVM RPC - HTTP | 8545 | TCP | -| EVM RPC - WSS | 8546 | TCP | -| Cosmos RPC | 1317 | TCP | +| RPC Type | Port | Protocol | +| :------------- | :--- | :------- | +| Tendermint | 26657 | TCP | +| EVM RPC - HTTP | 8545 | TCP | +| EVM RPC - WSS | 8546 | TCP | +| Cosmos RPC | 1317 | TCP | -### Operating System +#### Operating System ZetaChain nodes have been developed and tested on x86_64 architecture. Our binary files have been compiled with Ubuntu 22.04 LTS x86_64. This guide assumes diff --git a/src/pages/nodes/start-here/setup.mdx b/src/pages/nodes/start-here/setup.mdx new file mode 100644 index 00000000..5244fd8c --- /dev/null +++ b/src/pages/nodes/start-here/setup.mdx @@ -0,0 +1,269 @@ +--- +title: Setting Up a Node +description: In this guide we will be setting up a ZetaChain Mainnet node. For a testnet node, follow the same instructions, but replace some values (like chain ID and seed nodes) with the ones provided in corresponding tables. +--- + +import { Alert } from "~/components/shared"; + +## Install the ZetaChain Node Binary + +First, download the binary and give it executable permissions. Make sure to +replace the `VERSION` with the latest version passed in a [governance software +upgrade proposal](/reference/network/proposals) and the platform +(`-linux-amd64`) with the one you need. + +``` +wget https://github.com/zeta-chain/node/releases/download/VERSION/zetacored-linux-amd64 -O /usr/local/bin/zetacored + +chmod a+x /usr/local/bin/zetacored +``` + +Check out the GitHub for [more information on +releases](https://github.com/zeta-chain/node/releases). + +Check that you have the correct version of `zetacored` installed: + +``` +zetacored version +``` + +## Initialize the Data Directory + +| Network | Chain ID | +| ------- | ---------------- | +| Mainnet | zetachain_7000-1 | +| Testnet | athens_7001-1 | + +``` +zetacored init MONIKER --chain-id zetachain_7000-1 +``` + +Replace `MONIKER` with a name for your node. By default the node will be +initialized in `$HOME/.zetacored`, but you can customize this with the `--home` +flag. + +## Fetch Config Files + +| Network | Config Files | +| ------- | -------------------------------------------------------------- | +| Mainnet | https://github.com/zeta-chain/network-config/tree/main/mainnet | +| Testnet | https://github.com/zeta-chain/network-config/tree/main/athens3 | + +Fetch and save config files in the data directory: + +``` +wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/genesis.json -O ~/.zetacored/config/genesis.json +wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/client.toml -O ~/.zetacored/config/client.toml +wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/config.toml -O ~/.zetacored/config/config.toml +wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/app.toml -O ~/.zetacored/config/app.toml +``` + +## Modify the Config Files + +Even though the config files you fetched in the previous step already contain +all the required values common for all nodes, you will need to make some +adjustments specific to your node. + +If your machine has an external IPv4 address you can get it by running the +command in your terminal: + +``` +curl -4 icanhazip.com + +109.68.188.70 +``` + +If you have an IPv6 address, you can use that as an external address. + +Replace the moniker and external address with correct values. + +```text filename="~/.zetacored/config/config.toml" +moniker = "{MONIKER}" +external_address = "{YOUR_EXTERNAL_IP_ADDRESS_HERE}:26656" +``` + +## Set Limits on Open Files and Number of Processes + +To better manage the resources of your nodes, we recommend setting some limits +on the maximum number of open file descriptors (nofile) and maximum number of +processes (nproc). + +Edit `/etc/security/limits.conf` to include or modify the following parameters: + +``` +* soft nproc 262144 +* hard nproc 262144 +* soft nofile 262144 +* hard nofile 262144 +``` + +Edit `/etc/sysctl.conf` to include the following: + +``` +fs.file-max=262144 +``` + +## Installing Cosmovisor + +From the [cosmos +docs](https://docs.cosmos.network/v0.47/build/tooling/cosmovisor): + +> cosmovisor is a process manager for Cosmos SDK application binaries that +> automates application binary switch at chain upgrades. It polls the +> upgrade-info.json file that is created by the x/upgrade module at upgrade +> height, and then can automatically download the new binary, stop the current +> binary, switch from the old binary to the new one, and finally restart the +> node with the new binary. + +### From Source + +```bash +go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.5.0 +mv $(go env GOPATH)/bin/cosmovisor /usr/local/bin/cosmovisor +``` + +### From Precompiled Binaries + +Download the correct binary from the [cosmovisor v1.5.0 +release](https://github.com/cosmos/cosmos-sdk/releases/tag/cosmovisor%2Fv1.5.0). +For example: + +```bash +wget https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.5.0/cosmovisor-v1.5.0-linux-arm64.tar.gz +tar xf cosmovisor-v1.5.0-linux-arm64.tar.gz +mv cosmovisor /usr/local/bin +``` + +## Setting Up Cosmovisor + +### Create `cosmovisor` Directories + +```bash +mkdir -p ~/.zetacored/cosmovisor/genesis/bin +mkdir -p ~/.zetacored/cosmovisor/upgrades +``` + +### Install the Current `zetacored` Binary + +Find the current `zetacored` binary as specific in [setup](./setup). Place it in +`~/.zetacored/cosmovisor/genesis/bin` rather than `$PATH`. + +## Configure `zetacored` systemd service + +### Create Non-Root User Account + +We recommend running ZetaChain binary files with a user account rather than as +root. + +```bash +useradd -m -s /bin/bash zetachain +``` + +## Create ZetaChain Directory Structure + +This is needed to store ZetaChain binary and configuration files. + +```bash +sudo su zetachain +mkdir /home/zetachain/.zetacored/config +``` + +### Configure a Systemd Unit File + +Create the file `/etc/systemd/system/zetacored.service` with the following +contents: + +``` +[Unit] +Description=zetacored (running under cosmovisor) +After=multi-user.target +StartLimitIntervalSec=0 +[Install] +WantedBy=multi-user.target +[Service] +WorkingDirectory=/home/zetachain/.zetacored/cosmovisor +Environment="DAEMON_HOME=/home/zetachain/.zetacored" +Environment="DAEMON_NAME=zetacored" +Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true" +Environment="DAEMON_RESTART_AFTER_UPGRADE=true" +Environment="DAEMON_DATA_BACKUP_DIR=/home/zetachain/.zetacored" +Environment="CLIENT_DAEMON_NAME=zetaclientd" +Environment="CLIENT_SKIP_UPGRADE=false" +Environment="CLIENT_START_PROCESS=false" +Environment="UNSAFE_SKIP_BACKUP=true" +Type=simple +Restart=always +RestartSec=600 +User=zetachain +LimitNOFILE=262144 +ExecStart=cosmovisor run start --home /home/zetachain/.zetacored/ --log_format json --moniker +``` + + + {" "} + In this example, we have set `DAEMON_ALLOW_DOWNLOAD_BINARIES=true`. This instructs `cosmovisor` to automatically download + the new binaries specified in the upgrade proposal. This would fail if the Github API is down. We suggest keeping this + feature enabled, but preloading and validating any new binaries before the upgrade to minimize risk. If you have already + preloaded the binaries, none will be downloaded. Read more about [cosmovisor Auto-Download here](https://docs.cosmos.network/v0.47/build/tooling/cosmovisor#auto-download). + + +Run `systemctl daemon-reload` to load the service. + +Run `systemctl enable --now zetacored` to start the service and to automatically +start it at boot. + +## Upgrades + +Follow the +[#testnet-announcements](https://discord.com/channels/858516330432299008/1088945250124435486) +and/or +[#mainnet-announcements](https://discord.com/channels/858516330432299008/1210655572798476338) +channels on discord to receive upgrade proposal notifications. + +Download the new binaries from the github release and install them into the +cosmovisor upgrade directory. The name of the directory must match the upgrade +name. The upgrade name is **not** the the release name on github. Reference the +[Governance Upgrade Proposals](/reference/network/proposals) page to easily see +the upgrade names. Here are some examples: + +| Upgrade Name | `zetacored` Path | git tag | +| ------------ | ----------------------------------------------------------- | --------- | +| `v17-athens` | `~/.zetacored/cosmovisor/upgrades/v17-athens/bin/zetacored` | `v17.0.0` | +| `v17` | `~/.zetacored/cosmovisor/upgrades/v17/bin/zetacored` | `v17.0.0` | +| `v16` | `~/.zetacored/cosmovisor/upgrades/v16/bin/zetacored` | `v16.0.0` | + +After installing the binary, you should: + +- validate the checksum is correct +- run `zetacored version` to validate that you can actually run the downloaded + binary + +## Monitoring + +In a production environment we recommend monitoring the node resources (CPU +load, Memory Usage, Disk usage and Disk IO) for any performance degradation. + +`zetacored` generates logs that can be monitored for errors and used for +troubleshooting. If you install `zetacored` as a Systemd service using the +instructions above you can view logs with `journalctl -f -u zetacored`. + +### Metrics + +Prometheus can be enabled to serve metrics which can be consumed by Prometheus +collector(s). Telemetry include Prometheus metrics can be enabled in the +app.toml file. See the [Cosmos SDK Telemetry +Documentation](https://docs.cosmos.network/v0.46/core/telemetry.html) for more +information. + +#### Enable Prometheus Metrics + +To enable metrics, you'll have to make an adjustment in the node's `config.toml` +file by setting the `prometheus` option to `true`: + +```bash +sed -i 's/prometheus = false/prometheus = true/g' /home/zetachain/.zetacored/config/config.toml +``` + +To apply the modification, it’s necessary to restart the node. You should then +have the capability to reach the `tendermint` metrics, which are set as the +default on port port **26660**: `http://localhost:26660` diff --git a/src/pages/nodes/start-here/syncing.mdx b/src/pages/nodes/start-here/syncing.mdx new file mode 100644 index 00000000..c7a85fce --- /dev/null +++ b/src/pages/nodes/start-here/syncing.mdx @@ -0,0 +1,110 @@ +--- +title: Syncing a Node +--- + +import { Alert } from "~/components/shared"; +import { NodeSnapshots } from "~/components/Docs/components/NodeSnapshots"; + + + {" "} + This guide assumes you've completed the [Setting Up Your Node](/nodes/start-here/setup) step.{" "} + + +# Option 1: Snapshot method + +Downloads the data directory backed up from an existing node. + +Choose the network and snapshot type, download the snapshot and extract the +snapshot inside `~/.zetacored` directory. + + + + + {" "} + Note: Our nodes database backend is `pebbledb`. Ensure that your node is configured to use the same backend to utilize + our snapshots.{" "} + + +#### Alternative snapshots + +##### Mainnet: + +- https://polkachu.com/tendermint_snapshots/zetachain +- https://app.nodejumper.io/zetachain/sync +- https://itrocket.net/services/mainnet/zetachain/#snap + +##### Testnet: + +- https://app.nodejumper.io/zetachain-testnet/sync +- https://itrocket.net/services/testnet/zetachain/#snap + +# Option 2: KYVE's KSYNC method + +The following doc covers a step by step guide on how to sync a ZetaChain Mainnet +node with KSYNC. + +KSYNC is a tool capable of syncing blocks and state-sync snapshots from the +decentralized KYVE data lake directly into Cosmos blockchain nodes. With KSYNC +Cosmos validators don't need to wait for peers in order to block-sync and they +don't need to search for trusted app hashes if they want to state-sync. +Furthermore, state-syncing to historical heights up to genesis are possible. + +More information about KSYNC can be found here: https://docs.kyve.network/ksync + +### Install KSYNC + +Install the latest KSYNC: + +``` +go install github.com/KYVENetwork/ksync/cmd/ksync@latest +``` + +Verify the installation: + +``` +ksync version +``` + +### Configure the Node + +And change the following config in the `config.toml` file: + +```text filename="~/.zetacored/config/config.toml" +db_backend = "goleveldb" +``` + +Changing the db_backend to the default goleveldb is required for now, since +KSYNC does not yet support the pebbledb from ZetaChain’s dependency +https://github.com/BlockPILabs/cosmos-db. + +### Sync the Node + +``` +ksync state-sync --binary="/path/to/zetacored" --chain-id=zetachain_7000-1 --snapshot-pool-id=11 +``` + +# Checking Node Health + +### Check Logs + +To confirm that the node is working, you can watch the logs. The node should be +printing `INF` logs like these: + +``` +4:10AM INF executed block height=3468229 module=state num_invalid_txs=1 num_valid_txs=24 server=node +4:10AM INF commit synced commit=436F6D6D697449447B5B3139332032323120323438203430203230 +4:10AM INF committed state app_hash=C1DDF828CB4126E8239D92FB57006D978664911BF75FDB2606804083C4F65354 height=3468229 +4:10AM INF indexed block exents height=3468229 module=txindex server=node +4:11AM INF Timed out dur=4468.382473 height=3468230 module=consensus round=0 server=node step=1 +``` + +### Query Node Status + +You can confirm that the node is synced by querying the node status endpoint: + +``` +curl localhost:26657/status +``` + +Make sure that `catching_up` is false. Also, check `latest_block_height` and +`latest_block_time`. diff --git a/src/pages/nodes/validate/_meta.json b/src/pages/nodes/validate/_meta.json new file mode 100644 index 00000000..d82a9437 --- /dev/null +++ b/src/pages/nodes/validate/_meta.json @@ -0,0 +1,8 @@ +{ + "validator": { + "title": "Create a Core Validator", + "description": "Become a core validator on the ZetaChain network.", + "readTime": "1 hr", + "readType": "Advanced" + } +} diff --git a/src/pages/validators/validator.mdx b/src/pages/nodes/validate/validator.mdx similarity index 90% rename from src/pages/validators/validator.mdx rename to src/pages/nodes/validate/validator.mdx index b6b3d155..db844089 100644 --- a/src/pages/validators/validator.mdx +++ b/src/pages/nodes/validate/validator.mdx @@ -1,10 +1,15 @@ +--- +title: Creating a Core Validator +--- + import { Alert } from "~/components/shared"; -# Creating a Core Validator +## Overview - This guide assumes you've completed the "[Setting Up Your Node](/validators/setup)" step and synced the node using of - the provided options. + {" "} + This guide assumes you've completed the [Setting Up Your Node](/nodes/start-here/setup) step and synced the node using + of the provided options.{" "} This guide is design for simplicity and does not cover the intricacies of secure @@ -35,8 +40,8 @@ zetacored query bank balances $(zetacored keys show operator -a) Add funds to your validator account. Send tokens from your own wallet or from an exchange to your validators address. -Make sure you are sending them using the zetachain cosmos based network, not the -zEVM network. +Make sure you are sending them using the ZetaChain's Cosmos based network, not +the ZetaChain's EVM network. Check your validator account funds `balances`. @@ -108,10 +113,9 @@ status of your validator. zetacored query staking validator $(zetacored keys show operator --bech val -a) ``` -It's possible that you don’t have enough **_azeta_** tokens to be part of the -active set of validators in the beginning. If the status is unbonded -`status: BOND_STATUS_UNBONDED`, you didn’t stake enough tokens `amount` when you -created your validator. +It’s possible that you don’t have enough **_azeta_** tokens to be part of the +active set of validators in the beginning. If the status is unbonded `status: BOND_STATUS_UNBONDED`, you didn’t stake enough tokens `amount` when you created +your validator. In this case, your validator is not in the active set. It cannot sign blocks and it does not earn rewards. It can however, receive delegations. diff --git a/src/pages/reference/_meta.json b/src/pages/reference/_meta.json index dd2ce48f..50c69287 100644 --- a/src/pages/reference/_meta.json +++ b/src/pages/reference/_meta.json @@ -1,13 +1,11 @@ { - "details": "Network Details", - "api": "API/RPC endpoints", - "contracts": "Contract Addresses", - "bugbounty": "Bug Bounty", - "wallets": "Wallets", - "get-testnet-zeta": "Get Testnet ZETA (faucet)", - "faq": "FAQ", - "glossary": "Glossary", - "explorers": "ZetaScan", - "openapi": "ZetaChain HTTP API", - "services": "Services and Providers" -} + "network": { + "title": "Network & APIs", + "description": "The basics of working with our APIs, RPC Endpoints and the network" + }, + "apps": "Apps & Services", + "learn": { + "title": "Learn", + "description": "Common terms, questions and answers for ZetaChain" + } +} \ No newline at end of file diff --git a/src/pages/reference/apps/_meta.json b/src/pages/reference/apps/_meta.json new file mode 100644 index 00000000..a7d75784 --- /dev/null +++ b/src/pages/reference/apps/_meta.json @@ -0,0 +1,24 @@ +{ + "wallets": { + "title": "Wallets", + "description": "Supported EVM, Bitcoin and Cosmos wallets", + "readTime": "5 min" + }, + "services": { + "title": "Services & Providers", + "description": "Oracles, subgraphs, data providers, account abstraction and more", + "readTime": "5 min" + }, + "get-testnet-zeta": { + "title": "Faucet: Get testnet ZETA", + "description": "A guide to get Testnet ZETA through the Faucet", + "readTime": "5 min", + "readType": "Beginner" + }, + "explorers": { + "title": "ZetaScan", + "description": "Explorer information and also instructions for verifying smart contracts.", + "readTime": "5 min", + "readType": "Beginner" + } +} \ No newline at end of file diff --git a/src/pages/reference/explorers.mdx b/src/pages/reference/apps/explorers.mdx similarity index 98% rename from src/pages/reference/explorers.mdx rename to src/pages/reference/apps/explorers.mdx index 8ffaa1db..54e3ee05 100644 --- a/src/pages/reference/explorers.mdx +++ b/src/pages/reference/apps/explorers.mdx @@ -1,4 +1,8 @@ -# ZetaScan +--- +title: ZetaScan +--- + +## Overview ZetaScan is a blockchain explorer maintained by the ZetaChain team. You can view recent ZetaChain transactions and track the status of cross-chain transactions diff --git a/src/pages/reference/get-testnet-zeta.mdx b/src/pages/reference/apps/get-testnet-zeta.mdx similarity index 83% rename from src/pages/reference/get-testnet-zeta.mdx rename to src/pages/reference/apps/get-testnet-zeta.mdx index 4b9cbfa7..f6a84e73 100644 --- a/src/pages/reference/get-testnet-zeta.mdx +++ b/src/pages/reference/apps/get-testnet-zeta.mdx @@ -1,4 +1,6 @@ -# Get Testnet ZETA (faucet) +--- +title: Get Testnet ZETA (faucet) +--- ## What is ZETA? @@ -8,11 +10,10 @@ testnet network, they use the same ZETA that lives on connected testnet networks. With ZetaChain's mainnet launch, ZETA will be traded and transacted across all connected chains. -You can view the addresses on respective chains [here](/reference/contracts). -Check out [Omnichain Smart Contacts](/developers/overview) for more information -about developing smart contracts on ZetaChain, where ZETA is used for gas fees. -Check out the [Connector docs](/developers/cross-chain-messaging/connector) for -information on how to send ZETA as well as any data or value via ZetaChain. +You can view the addresses on respective chains +[here](/reference/network/contracts). Check out [Omnichain Smart +Contacts](/developers/apps/intro) for more information about developing smart +contracts on ZetaChain, where ZETA is used for gas fees. ## How to get testnet ZETA @@ -61,8 +62,8 @@ For example, to swap sETH for ZETA do the following: the testnet network before proceeding) - Select ETH as the input token - Press "Select token" -- Add ZETA token by pasting the `zetaToken` contract address from the - [testnet addresses](/reference/contracts) page into the input field +- Add ZETA token by pasting the `zetaToken` contract address from the [testnet + addresses](/reference/network/contracts) page into the input field - Enter amount and press "Swap" ![Uniswap](/img/docs/uniswap.jpg) @@ -87,9 +88,9 @@ Under the hood this command uses the ZetaChain CLI faucet. ### Using the Faucet on Discord -You can also get testnet ZETA on the -[ZetaChain Discord server](https://discord.com/invite/zetachain). To do so, -please follow the instructions provided in the `#zeta-faucet-athens-3` channel. +You can also get testnet ZETA on the [ZetaChain Discord +server](https://discord.com/invite/zetachain). To do so, please follow the +instructions provided in the `#zeta-faucet-athens-3` channel. ### Third-party ZETA Faucets diff --git a/src/pages/reference/services.mdx b/src/pages/reference/apps/services.mdx similarity index 90% rename from src/pages/reference/services.mdx rename to src/pages/reference/apps/services.mdx index 5d03b6c8..a8a51fa9 100644 --- a/src/pages/reference/services.mdx +++ b/src/pages/reference/apps/services.mdx @@ -1,4 +1,6 @@ -# Services and Providers +--- +title: Services and Providers +--- A list of ZetaChain-compatible services that provide useful functionality to developers. @@ -19,7 +21,7 @@ developers. | Explorer | Blockscout | https://zetachain-athens-3.blockscout.com/ | | Explorer | Explorer Guru | https://zetachain.explorers.guru/ | | Explorer | Exploreme | https://zetachain.exploreme.pro/ | -| Explorer | Ping.Pub | https://testnet.ping.pub/zetachain | +| Explorer | Ping.Pub | https://ping.pub/zetachain | | Explorer | ZetaScan | https://explorer.zetachain.com/ | | Explorer | DexGuru | https://zeta-testnet.dex.guru/ | | Wallet | MetaMask | https://metamask.io/ | @@ -32,5 +34,5 @@ developers. | Data Provider | Mobula | https://mobula.io/ | Is this list missing a service for developers that supports ZetaChain? Help us -keep this list up-to-date by -[creating a pull request](https://github.com/zeta-chain/docs/blob/main/docs/reference/services.mdx). +keep this list up-to-date by [creating a pull +request](https://github.com/zeta-chain/docs/blob/main/src/pages/reference/apps/services.mdx). diff --git a/src/pages/reference/wallets.mdx b/src/pages/reference/apps/wallets.mdx similarity index 75% rename from src/pages/reference/wallets.mdx rename to src/pages/reference/apps/wallets.mdx index c59325a0..c7c9aace 100644 --- a/src/pages/reference/wallets.mdx +++ b/src/pages/reference/apps/wallets.mdx @@ -1,4 +1,8 @@ -# Wallets +--- +title: Wallets +--- + +## Overview ZetaChain is an EVM-compatible Cosmos SDK-based blockchain that features interoperability with Bitcoin. This means that many EVM and Cosmos wallets can @@ -14,20 +18,24 @@ We suggest the following wallets (although there are plenty of alternatives!): - [Metamask](https://metamask.io) - [Coinbase Wallet](https://www.coinbase.com/wallet) -To add ZetaChain to your wallet, use the information on the -[Networks Details page](/reference/details). +To add ZetaChain to your wallet, use the information on the [Networks Details +page](/reference/network/details). ## Bitcoin Wallets In order to interact with ZetaChain from Bitcoin, you'll need a wallet that -meets certain criteria. You can learn more about it in the -[Bitcoin section](/developers/omnichain/bitcoin/) of the docs. +meets certain criteria. You can learn more about it in the [Bitcoin +section](/developers/chains/bitcoin) of the docs. + +Supported wallets: -[XDEFI Wallet](https://xdefi.io) is a popular wallet that will meet those -criteria and you will be able to use it to interact with ZetaChain. +- [XDEFI](https://www.xdefi.io/) +- [OKX](https://www.okx.com/web3) +- [UniSat](https://unisat.io/) +- [Xverse](https://www.xverse.app/) -To test ZetaChain's interoperability with Bitcoin, you can use the -`npx hardhat send-btc` available in the smart contract template. +Other wallets may also work, but the above wallets have been specifically tested +for compatibility. ## Cosmos Wallets diff --git a/src/pages/reference/bugbounty.mdx b/src/pages/reference/bugbounty.mdx deleted file mode 100644 index ec618d63..00000000 --- a/src/pages/reference/bugbounty.mdx +++ /dev/null @@ -1,16 +0,0 @@ -# Bug Bounty - -ZetaChain is committed to security across all aspects of its ecosystem. To that -end, ZetaChain has established a bug bounty program to reward researchers, -developers, and users who help identify and report security vulnerabilities. - -You can access and report issues at https://hackenproof.com/zetachain. - -## Scope - -The scope of this bug bounty program is focused on ZetaChain's smart contracts, -public-facing APIs, blockchain protocol/infrastructure, and web applications. - -## Contact - -For any questions or concerns, please contact us at bugbounty@zetachain.com. diff --git a/src/pages/reference/details.mdx b/src/pages/reference/details.mdx deleted file mode 100644 index d4f01187..00000000 --- a/src/pages/reference/details.mdx +++ /dev/null @@ -1,11 +0,0 @@ -import { NetworkDetails } from "~/components/Docs"; - -# Network Details - - - -For additional EVM RPC endpoints, see the [API/RPC endpoints](/reference/api) -page. - -For additional explorers, see the [Services and Providers](/reference/services) -page. diff --git a/src/pages/reference/learn/_meta.json b/src/pages/reference/learn/_meta.json new file mode 100644 index 00000000..f1771b92 --- /dev/null +++ b/src/pages/reference/learn/_meta.json @@ -0,0 +1,12 @@ +{ + "glossary": { + "title": "Glossary", + "description": "Common terms used with ZetaChain.", + "readTime": "5 min" + }, + "faq": { + "title": "FAQs", + "description": "Frequently asked questions about building on Zetachain.", + "readTime": "5 min" + } +} diff --git a/src/pages/reference/faq.mdx b/src/pages/reference/learn/faq.mdx similarity index 81% rename from src/pages/reference/faq.mdx rename to src/pages/reference/learn/faq.mdx index 7d8f270e..ee0fdd1d 100644 --- a/src/pages/reference/faq.mdx +++ b/src/pages/reference/learn/faq.mdx @@ -1,10 +1,9 @@ -import { globalLinks } from "~/constants"; - -# FAQ +--- +title: FAQ +description: Below, we answer some of the most frequently asked questions we get. If you have a question that's not answered here, please ask them on our Discord! Our team and ecosystem is always online and ready to discuss new ideas and questions. +--- -Below, we answer some of the most frequently asked questions we get. If you have -a question that's not answered here, please ask them on our Discord! Our team -and ecosystem is always online and ready to discuss new ideas and questions. +import { globalLinks } from "~/constants"; ## General @@ -17,7 +16,7 @@ smart contract calls — thus enabling for the first time omnichain dApps (odApp which can leverage liquidity on multiple networks and read and update states on all connected networks. -Read more about ZetaChain [here](/about/zetachain). +Read more about ZetaChain [here](/about). ### Why is ZETA used as an intermediary token? Are intermediary tokens “bad”? @@ -34,7 +33,7 @@ denomination of value moving cross-chain also provides ZetaChain an extremely minimized attack surface that is not vulnerable to many of the exploits that many projects in the interoperability space are susceptible to. -Read more about the ZETA token [here](/about/zeta). +Read more about the ZETA token [here](/about/token-utility/token). ### What is ZETA? @@ -92,17 +91,6 @@ developer and user alike need only trust the network for the delivery of their data and value. Read more about other interoperability solutions and how they compare to ZetaChain in the [whitepaper](https://zetachain.com/whitepaper.pdf). -### How do I develop on ZetaChain? - -You can start building now, and add powerful cross-chain messaging capabilities -to your dApp using ZetaChain's -[Connector](/developers/cross-chain-messaging/overview/) or build an -[omnichain dapp](/developers/omnichain/overview/) that can manage assets on -different chain from a single contract. - -Stay tuned on our Twitter -and Discord for the latest updates in our protocol. - ### Is ZetaChain a bridge? How is it different from a bridge? ZetaChain is not a bridge. At its core, ZetaChain is a blockchain and @@ -118,8 +106,8 @@ wrapping/locking. ### What's the difference between ZetaChain messaging and smart contracts? Messaging allows a developer to send data and value between smart contracts, -whether they are on ZetaChain or on external chains. One can deploy smart -contracts on external chains and just pass messages between them through +whether they are on ZetaChain or on connected chains. One can deploy smart +contracts on connected chains and just pass messages between them through ZetaChain in a similar manner to other interoperability messaging protocols like LayerZero, but ZetaChain's interoperable smart contracts let developers maintain omnichain logic within a single place, reducing overhead and enabling smart @@ -136,16 +124,9 @@ ZetaChain validators and team, dApps developers, and end users. The dApps developers should build in the capability to resolve inconsistent states due to the very deep re-organization. -### What happens if a TX on the destination chain doesn't have enough gas? - -Same answer as above. The transaction is reverted and funds are returned to the -sender if the destination transaction is unable to successfully send. dApps can -handle reverts easily with the -[Connector docs](/developers/cross-chain-messaging/connector). - ### Is there an interface where we can run a PoS validator? -Check out the validator docs [here](/validators/requirements). +Check out the validator docs [here](/nodes/start-here/requirements). ## Testnet and Mainnet @@ -158,8 +139,8 @@ current testnet is live, and you can develop dApps with that. ### How do I get ZETA? You can request testnet ZETA in the faucet channel on our Discord server or use -the faucet on the command line, learn more in the -[faucet docs](/reference/get-testnet-zeta/). This testnet ZETA does not and will +the faucet on the command line, learn more in the [faucet +docs](/reference/apps/get-testnet-zeta). This testnet ZETA does not and will never have any monetary value. It is solely for testing purposes, so that people can experience the use and power of ZetaChain. diff --git a/src/pages/reference/glossary.mdx b/src/pages/reference/learn/glossary.mdx similarity index 87% rename from src/pages/reference/glossary.mdx rename to src/pages/reference/learn/glossary.mdx index f8c68bc8..5a1a64a9 100644 --- a/src/pages/reference/glossary.mdx +++ b/src/pages/reference/learn/glossary.mdx @@ -1,7 +1,7 @@ -# Glossary - -Below, we define some frequently used terms in the ZetaChain ecosystem and -during ZetaChain development. +--- +title: Glossary +description: Below, we define some frequently used terms in the ZetaChain ecosystem and during ZetaChain development. +--- ## Chain Id @@ -10,12 +10,6 @@ Every EVM chain has their own, unique id, represented by a number. [Chainlist](https://chainlist.org/) is a great resource to find EVM chain ids by chain name. -## Connector Contract - -Smart contracts on connected chains like Ethereum or Arbitrum interact with -ZetaChain by passing/receiving messages from ZetaChain's Connector Contracts, -which are deployed on each connected chain. - ## Core Validator ZetaChain uses the Tendermint consensus protocol which is a partially @@ -53,7 +47,7 @@ Blanket term for apps or concepts that span multiple blockchains. The observers watch externally connected chains for certain relevant transactions/events/states at particular addresses via their full nodes of -external chains. +connected chains. ## Omnichain @@ -68,7 +62,7 @@ Messaging value and/or data between chains seamlessly (via ZetaChain). ## Omnichain smart contracts ZetaChain's native smart contracts are omnichain, meaning that they can manage, -read, and write state to/from external chains. These smart contracts are the +read, and write state to/from connected chains. These smart contracts are the first of their kind, and unlock a new paradigm of dApps that transcend individual chains and layers. @@ -82,12 +76,12 @@ source chain. ## Signer Validator The ZetaChain collectively holds standard ECDSA/EdDSA keys for authenticated -interaction with external chains. The keys are distributed among multiple +interaction with connected chains. The keys are distributed among multiple signers in such a way that only a super majority of them can sign on behalf of the ZetaChain. Its important to ensure that at no time is any single entity or -small fraction of nodes able to sign messages on behalf of ZetaChain on external -chains. The ZetaChain system uses bonded stakes and positive/negative incentives -to ensure economic safety +small fraction of nodes able to sign messages on behalf of ZetaChain on +connected chains. The ZetaChain system uses bonded stakes and positive/negative +incentives to ensure economic safety ## TSS diff --git a/src/pages/reference/network/_meta.json b/src/pages/reference/network/_meta.json new file mode 100644 index 00000000..0577f8b3 --- /dev/null +++ b/src/pages/reference/network/_meta.json @@ -0,0 +1,31 @@ +{ + "details": { + "title": "Network Details", + "description": "ZetaChain testnet and mainnet details.", + "readTime": "5 min" }, + "api": { + "title": "API / RPC Endpoints", + "description": "API endpoints that can be used to interact with ZetaChain.", + "readTime": "5 min" + }, + "contracts": { + "title": "Contract Addresses", + "description": "A list of contract addresses for ZetaChain.", + "readTime": "5 min" + }, + "proposals": { + "title": "Governance Upgrade Proposals", + "description": "A detailed list of governance upgrade proposals in Testnet and Mainnet.", + "readTime": "5 min" + }, + "openapi": { + "title": "ZetaChain HTTP API", + "description": "Swagger documentation for the API of ZetaChain.", + "readTime": "15 min" + }, + "services": { + "title": "Services and Providers", + "description": "A list of ZetaChain-compatible services that provide useful functionality to developers.", + "readTime": "5 min" + } +} \ No newline at end of file diff --git a/src/pages/reference/network/address-converter.mdx b/src/pages/reference/network/address-converter.mdx new file mode 100644 index 00000000..cb6c7b69 --- /dev/null +++ b/src/pages/reference/network/address-converter.mdx @@ -0,0 +1,10 @@ +import { AddressConverter } from "~/components/Docs"; + +To convert between bech32 and EVM addresses, you can use the following tool: + + + +Converting between bech32 and EVM addresses is an off-chain operation and can be +implemented in any programming language, for example, [in +TypeScript](https://github.com/zeta-chain/docs/blob/main/src/components/Docs/components/AddressConverter/AddressConverter.utils.ts). +On the CLI you can also use [`zetacored debug addr`](/developers/architecture/zetacored/zetacored_debug_addr/) command. diff --git a/src/pages/reference/api.mdx b/src/pages/reference/network/api.mdx similarity index 95% rename from src/pages/reference/api.mdx rename to src/pages/reference/network/api.mdx index 1532ea0e..f408bcce 100644 --- a/src/pages/reference/api.mdx +++ b/src/pages/reference/network/api.mdx @@ -1,6 +1,8 @@ -import { EndpointList } from "~/components/Docs"; +--- +title: API/RPC endpoints +--- -# API/RPC endpoints +import { EndpointList } from "~/components/Docs"; ## Private endpoints @@ -13,7 +15,7 @@ will provide a more consistent experience than the public RPCs. ## Public endpoints -Below is a list of public API endpoints for can be used to interact with +Below is a list of public API endpoints that can be used to interact with ZetaChain from wallet software or web application frontend. Public endpoints are not to be used for backend services or high traffic applications. diff --git a/src/pages/reference/contracts.mdx b/src/pages/reference/network/contracts.mdx similarity index 68% rename from src/pages/reference/contracts.mdx rename to src/pages/reference/network/contracts.mdx index 3565dc3f..dae26258 100644 --- a/src/pages/reference/contracts.mdx +++ b/src/pages/reference/network/contracts.mdx @@ -1,8 +1,10 @@ +--- +title: Contract Addresses +--- + import { ContractAddresses } from "~/components/Docs"; import { Alert } from "~/components/shared"; -# Contract Addresses - -For a list of RPC endpoints, refer to the [API endpoints page](/reference/api). +For a list of RPC endpoints, refer to the [API endpoints page](/reference/network/api). diff --git a/src/pages/reference/network/details.mdx b/src/pages/reference/network/details.mdx new file mode 100644 index 00000000..d9d45a20 --- /dev/null +++ b/src/pages/reference/network/details.mdx @@ -0,0 +1,13 @@ +--- +title: Network Details +--- + +import { NetworkDetails } from "~/components/Docs"; + + + +For additional EVM RPC endpoints, see the [API/RPC +endpoints](/reference/network/api) page. + +For additional explorers, see the [Services and +Providers](/reference/apps/services/) page. diff --git a/src/pages/reference/openapi.mdx b/src/pages/reference/network/openapi.mdx similarity index 68% rename from src/pages/reference/openapi.mdx rename to src/pages/reference/network/openapi.mdx index e2bc5869..16f25667 100644 --- a/src/pages/reference/openapi.mdx +++ b/src/pages/reference/network/openapi.mdx @@ -1,5 +1,7 @@ -import { OpenAPIBrowser } from "~/components/Docs"; +--- +title: ZetaChain HTTP API +--- -# ZetaChain HTTP API +import { OpenAPIBrowser } from "~/components/Docs"; diff --git a/src/pages/validators/proposals.mdx b/src/pages/reference/network/proposals.mdx similarity index 83% rename from src/pages/validators/proposals.mdx rename to src/pages/reference/network/proposals.mdx index 327cd38d..ddfcb5c8 100644 --- a/src/pages/validators/proposals.mdx +++ b/src/pages/reference/network/proposals.mdx @@ -1,9 +1,11 @@ +--- +title: Governance Upgrade Proposals +--- + import { GovUpgradeProposals } from "~/components/Docs"; import { Alert } from "~/components/shared"; -# Governance Upgrade Proposals - - + The upgrade binary to use for versions v12 and below may not match the version listed in the upgrade proposal plan. Please see the [release notes on GitHub](https://github.com/zeta-chain/node/releases) for more information. diff --git a/src/pages/users/_meta.json b/src/pages/users/_meta.json index a0b3f6c8..7504710d 100644 --- a/src/pages/users/_meta.json +++ b/src/pages/users/_meta.json @@ -1,6 +1,22 @@ { - "zetahub": "ZetaHub", - "pingpub": "Ping Pub Explorer", - "keplr": "Keplr Wallet", - "leap": "Leap Wallet" -} + "zetahub": { + "title": "ZetaHub", + "description": "Using ZetaHub" + }, + "pingpub": { + "title": "Ping Pub Explorer", + "description": "Using a block explorer for Cosmos based blockchains" + }, + "keplr": { + "title": "Keplr Wallet", + "description": "Setting up and using Keplr Wallet with ZetaChain" + }, + "leap": { + "title": "Leap Wallet", + "description": "Setting up and using Leap Wallet with ZetaChain" + }, + "cli": { + "title": "ZetaChain's CLI", + "description": "Interact with ZetaChain from a terminal using a command-line interface" + } +} \ No newline at end of file diff --git a/src/pages/developers/cli/_meta.json b/src/pages/users/cli/_meta.json similarity index 51% rename from src/pages/developers/cli/_meta.json rename to src/pages/users/cli/_meta.json index c633fc8c..c5d32732 100644 --- a/src/pages/developers/cli/_meta.json +++ b/src/pages/users/cli/_meta.json @@ -1,5 +1,8 @@ { - "setup": "Installing the CLI", + "setup": { + "title": "Installing the CLI", + "description": "ZetaChain's CLI is a command line tool that allows you to interact with the ZetaChain network." + }, "account": "Adding an Account", "balances": "Querying Balances", "delegate": "Delegating to a Validator", diff --git a/src/pages/developers/cli/account.mdx b/src/pages/users/cli/account.mdx similarity index 95% rename from src/pages/developers/cli/account.mdx rename to src/pages/users/cli/account.mdx index 78cf0678..f5c27871 100644 --- a/src/pages/developers/cli/account.mdx +++ b/src/pages/users/cli/account.mdx @@ -1,14 +1,17 @@ -import { Alert } from "~/components/shared"; +--- +title: Adding an Account +--- -# Adding an Account +import { Alert } from "~/components/shared"; ## Prerequisites This tutorial requires `zetacored` CLI to be installed. Please, check out the -docs [on installing the CLI](/developers/cli/setup). +docs [on installing the CLI](/users/cli/setup). - This guide is using the test keyring, which is not secure. Do not use it in for accounts with real funds. + {" "} + This guide is using the test keyring, which is not secure. Do not use it in for accounts with real funds.{" "} Before interacting with ZetaChain using the CLI, you need to add an account. diff --git a/src/pages/developers/cli/balances.mdx b/src/pages/users/cli/balances.mdx similarity index 75% rename from src/pages/developers/cli/balances.mdx rename to src/pages/users/cli/balances.mdx index de82ebb1..cede6b47 100644 --- a/src/pages/developers/cli/balances.mdx +++ b/src/pages/users/cli/balances.mdx @@ -1,9 +1,11 @@ -# Querying Balances +--- +title: Querying Balances +--- ## Prerequisites This tutorial requires `zetacored` CLI to be installed. Please, check out the -docs [on installing the CLI](/developers/cli/setup). +docs [on installing the CLI](/users/cli/setup). ## Querying Balances @@ -14,8 +16,8 @@ zetacored q bank balances $(zetacored keys show alice -a) --node https://zetacha ``` Provide a valid node RPC URL with the `--node` flag. You can use one of the -available RPCs [listed in the docs](/reference/api) labeled "Tendermint RPC". -Please, note that you need to specify the port number in the URL. If the +available RPCs [listed in the docs](/reference/network/api) labeled "Tendermint +RPC". Please, note that you need to specify the port number in the URL. If the protocol scheme is `https://`, the port is 443, unless specified otherwise. ```yml diff --git a/src/pages/developers/cli/delegate.mdx b/src/pages/users/cli/delegate.mdx similarity index 81% rename from src/pages/developers/cli/delegate.mdx rename to src/pages/users/cli/delegate.mdx index abf460fe..2399c81c 100644 --- a/src/pages/developers/cli/delegate.mdx +++ b/src/pages/users/cli/delegate.mdx @@ -1,9 +1,11 @@ -# Delegating to a Validator +--- +title: Delegating to a Validator +--- ## Prerequisites This tutorial requires `zetacored` CLI to be installed. Please, check out the -docs [on installing the CLI](/developers/cli/setup). +docs [on installing the CLI](/users/cli/setup). ## Delegating to a Validator @@ -12,9 +14,9 @@ producing new blocks and securing the network. You can delegate your ZETA to a validator to participate in the network and earn rewards. You can find a list of validators on -[ZetaScan](https://explorer.zetachain.com/validators), -[Ping Pub](https://testnet.ping.pub/zetachain/staking), or any -[other explorer](/reference/explorers). +[ZetaScan](https://explorer.zetachain.com/validators), [Ping +Pub](https://ping.pub/zetachain/staking), or any [other +explorer](/reference/apps/services/). Choose the validator you want to delegate to based on their commission rate, uptime, how much voting power they have and other factors. It is generally a @@ -24,10 +26,10 @@ ensures that the network remains decentralized. Copy the validator's operator address from the explorer. The address should be prefixed with `zetavaloper`. -Next, check your [account balance](/developers/cli/balances) and decide on the -amount you want to stake. +Next, check your [account balance](/users/cli/balances) and decide on the amount +you want to stake. -Before delegating it's important to understand that your ZETA will be locked for +Before delegating it’s important to understand that your ZETA will be locked for a period of time. You will not be able to transfer or spend it. The amount of time it is locked for depends on the network parameters. You can check the parameters using the API: @@ -45,8 +47,8 @@ zetacored tx staking delegate zetavaloper167ns6zwczl9asjs47jwv3uhtkxfjcvx3fg3d4a - `1000000000000000azeta` is the amount (in this example, 0.001 ZETA) - `--node https://zetachain-athens.blockpi.network:443/rpc/v1/public` is the Tendermint RPC URL -- `--from alice` is they account key name (see - [Managing Accounts](/developers/cli/account)) +- `--from alice` is they account key name (see [Managing + Accounts](/users/cli/account)) - `--chain-id athens_7001-1` is the chain ID of the ZetaChain testnet The terminal will ask you to confirm the transaction: @@ -100,4 +102,4 @@ amount has been deducted. You can also confirm the transaction on the explorer by searching for the transaction hash: -https://testnet.ping.pub/zetachain/tx/C86E7C0E98A16CA0EB63800DF6CBB80D492201E17AB57229790DCF3403B59D02 +https://ping.pub/zetachain/tx/C86E7C0E98A16CA0EB63800DF6CBB80D492201E17AB57229790DCF3403B59D02 diff --git a/src/pages/developers/cli/governance/_meta.json b/src/pages/users/cli/governance/_meta.json similarity index 88% rename from src/pages/developers/cli/governance/_meta.json rename to src/pages/users/cli/governance/_meta.json index f0de9c5c..f9819dcd 100644 --- a/src/pages/developers/cli/governance/_meta.json +++ b/src/pages/users/cli/governance/_meta.json @@ -1,9 +1,9 @@ { - "overview": "Overview", + "overview": "Governance", "text": "Text Proposal", "parameter": "Parameter Change Proposal", "upgrade": "Software Upgrade Proposal", "submit": "Submit a Proposal", "deposit": "Making a Deposit", "voting": "Voting on a Proposal" -} +} \ No newline at end of file diff --git a/src/pages/developers/cli/governance/deposit.mdx b/src/pages/users/cli/governance/deposit.mdx similarity index 86% rename from src/pages/developers/cli/governance/deposit.mdx rename to src/pages/users/cli/governance/deposit.mdx index 892b5426..9b33a5a2 100644 --- a/src/pages/developers/cli/governance/deposit.mdx +++ b/src/pages/users/cli/governance/deposit.mdx @@ -1,11 +1,15 @@ -# Making a Deposit +--- +title: Making a Deposit +--- + +## Overview For a proposal to progress into the voting period, it must meet the minimum -deposit requirement. The min deposit amount is specified -[parameters of governance module](/developers/cli/governance/overview/). If the -deposit amount is less than the minimum required deposit amount, the proposal -will enter the "deposit period" and will wait for the required amount of tokens -to be deposited within the "max deposit period". +deposit requirement. The min deposit amount is specified [parameters of +governance module](/users/cli/governance/overview/). If the deposit amount is +less than the minimum required deposit amount, the proposal will enter the +"deposit period" and will wait for the required amount of tokens to be deposited +within the "max deposit period". Any use can make a deposit to a proposal. diff --git a/src/pages/developers/cli/governance/overview.mdx b/src/pages/users/cli/governance/overview.mdx similarity index 63% rename from src/pages/developers/cli/governance/overview.mdx rename to src/pages/users/cli/governance/overview.mdx index 6ce6faf0..b613c427 100644 --- a/src/pages/developers/cli/governance/overview.mdx +++ b/src/pages/users/cli/governance/overview.mdx @@ -1,13 +1,18 @@ +--- +title: Governance +--- + import { GovParams } from "~/components/Docs"; + import { Alert } from "~/components/shared"; -# Overview +## Overview -ZetaChain uses the standard Cosmos SDK -[`gov` governance module](https://docs.cosmos.network/v0.46/modules/gov/) to -manage the network. This module allows for the creation of proposals, which can -be voted on by stakers of the network. This guide will walk you through the -process of creating proposals using the ZetaChain's `zetacored` CLI. +ZetaChain uses the standard Cosmos SDK [`gov` governance +module](https://docs.cosmos.network/v0.46/modules/gov/) to manage the network. +This module allows for the creation of proposals, which can be voted on by +stakers of the network. This guide will walk you through the process of creating +proposals using the ZetaChain's `zetacored` CLI. ## Governance Parameters @@ -18,16 +23,16 @@ process of creating proposals using the ZetaChain's `zetacored` CLI. To make a proposal you will need to: - Create a `proposal.json` file. The contents of the proposal file depends on - the type of a proposal: [text proposal](/developers/cli/governance/text), - [parameter change proposal](/developers/cli/governance/parameter), - [software upgrade proposal](/developers/cli/governance/upgrade), etc. + the type of a proposal: [text proposal](/users/cli/governance/text), + [parameter change proposal](/users/cli/governance/parameter), [software + upgrade proposal](/users/cli/governance/upgrade), etc. - Create and publish a `metadata.json` file to IPFS or the web and submit the proposal using `zetacored tx gov submit-proposal` command. Learn about this - step on the [Submit a Proposal](/developers/cli/governance/submit) page + step on the [Submit a Proposal](/users/cli/governance/submit) page - Check out the [text proposal](/developers/cli/governance/text) doc to learn more about the basics of how proposals are - structured. + {" "} + Check out the [text proposal](/users/cli/governance/text) doc to learn more about the basics of how proposals are structured.{" "} ## Proposal Stages @@ -53,5 +58,5 @@ deposit period). ## Governance Module Docs -To learn more about the governance module, refer to the -[`gov` module documentation](https://docs.cosmos.network/v0.46/modules/gov/). +To learn more about the governance module, refer to the [`gov` module +documentation](https://docs.cosmos.network/v0.46/modules/gov/). diff --git a/src/pages/developers/cli/governance/parameter.mdx b/src/pages/users/cli/governance/parameter.mdx similarity index 61% rename from src/pages/developers/cli/governance/parameter.mdx rename to src/pages/users/cli/governance/parameter.mdx index 9ad8c803..689d6186 100644 --- a/src/pages/developers/cli/governance/parameter.mdx +++ b/src/pages/users/cli/governance/parameter.mdx @@ -1,6 +1,8 @@ -import { SubspaceKeyTable } from "~/components/Docs"; +--- +title: Parameter Change Proposal +--- -# Parameter Change Proposal +## Overview A parameter change proposal is a governance action that proposes to change a specific module parameter of the network. @@ -41,31 +43,3 @@ parameters. Each change is a JSON object with the following fields: - `subspace`: The module whose parameter is being changed. - `key`: The parameter key. - `value`: The new value of the parameter. - -### Subspaces and Keys - - - -To query the current value of a parameter, use the following endpoint. Fill -out the `subspace` and `key` query parameters with the values from the table -above. - -For example, - -http://zetachain-athens.blockpi.network/lcd/v1/public/cosmos/params/v1beta1/params?subspace=staking&key=MaxValidators - -Returns: - -```json -{ - "param": { - "key": "MaxValidators", - "subspace": "staking", - "value": "100" - } -} -``` - -You now know that the value of the `MaxValidators` key in the `staking` subspace -is an integer (currently, 100). You can use the parameter change proposal to -change this value to something else. diff --git a/src/pages/developers/cli/governance/submit.mdx b/src/pages/users/cli/governance/submit.mdx similarity index 97% rename from src/pages/developers/cli/governance/submit.mdx rename to src/pages/users/cli/governance/submit.mdx index ac5e45d1..e60b4a26 100644 --- a/src/pages/developers/cli/governance/submit.mdx +++ b/src/pages/users/cli/governance/submit.mdx @@ -1,4 +1,6 @@ -# Submit a Proposal +--- +title: Submit a Proposal +--- ## Metadata JSON diff --git a/src/pages/developers/cli/governance/text.mdx b/src/pages/users/cli/governance/text.mdx similarity index 98% rename from src/pages/developers/cli/governance/text.mdx rename to src/pages/users/cli/governance/text.mdx index abe98df1..c1ba941b 100644 --- a/src/pages/developers/cli/governance/text.mdx +++ b/src/pages/users/cli/governance/text.mdx @@ -1,4 +1,6 @@ -# Text Proposal +--- +title: Text Proposal +--- Text proposal is a form of governance action that is submitted for consideration, discussion, and voting. Unlike upgrade or parameter change diff --git a/src/pages/developers/cli/governance/upgrade.mdx b/src/pages/users/cli/governance/upgrade.mdx similarity index 94% rename from src/pages/developers/cli/governance/upgrade.mdx rename to src/pages/users/cli/governance/upgrade.mdx index c79d0510..23025563 100644 --- a/src/pages/developers/cli/governance/upgrade.mdx +++ b/src/pages/users/cli/governance/upgrade.mdx @@ -1,4 +1,6 @@ -# Software Upgrade Proposal +--- +title: Software Upgrade Proposal +--- A software upgrade proposal enables network participants to agree on updates to the node software, which can include improvements to functionality, security, @@ -36,5 +38,5 @@ Upgrade plan specifies the height at which the upgrade will be executed, the upgrade name, and the URLs to the upgrade binaries. Note that if the upgrade proposal passes, the blockchain will halt at the -specified height, so it's important for node operators to configure their +specified height, so it’s important for node operators to configure their infrastructure to be ready for the upgrade at the specified height. diff --git a/src/pages/developers/cli/governance/voting.mdx b/src/pages/users/cli/governance/voting.mdx similarity index 92% rename from src/pages/developers/cli/governance/voting.mdx rename to src/pages/users/cli/governance/voting.mdx index c7099f8c..23cd3fed 100644 --- a/src/pages/developers/cli/governance/voting.mdx +++ b/src/pages/users/cli/governance/voting.mdx @@ -1,4 +1,8 @@ -# Vote on a Proposal +--- +title: Vote on a Proposal +--- + +## Overview Voting on a proposal is the final step in the governance process. After a proposal has been submitted and has met the minimum deposit requirement, it @@ -14,7 +18,7 @@ There are four voting options: ## Querying a Proposal -Before voting on a proposal, query the proposal to ensure it's in the voting +Before voting on a proposal, query the proposal to ensure it’s in the voting period. ``` diff --git a/src/pages/developers/cli/rewards.mdx b/src/pages/users/cli/rewards.mdx similarity index 95% rename from src/pages/developers/cli/rewards.mdx rename to src/pages/users/cli/rewards.mdx index fd32fc2d..72d03b28 100644 --- a/src/pages/developers/cli/rewards.mdx +++ b/src/pages/users/cli/rewards.mdx @@ -1,9 +1,11 @@ -# Withdrawing Rewards +--- +title: Withdrawing Rewards +--- ## Prerequisites This tutorial requires `zetacored` CLI to be installed. Please, check out the -docs [on installing the CLI](/developers/cli/setup). +docs [on installing the CLI](/users/cli/setup). ## Calculating Rewards @@ -64,9 +66,8 @@ zetacored tx distribution withdraw-all-rewards --gas 5000000 --from alice --chai Please, note that this command broadcasts a transaction with potentially multiple messages (one per validator). For the transaction to succeed, you may -need to specify gas manually. In the example above, we are using -`--gas 5000000`, but the actual amount of gas required may be different -depending on network conditions. +need to specify gas manually. In the example above, we are using `--gas 5000000`, but the actual amount of gas required may be different depending on +network conditions. Confirm the transaction to withdraw your rewards: diff --git a/src/pages/developers/cli/setup.mdx b/src/pages/users/cli/setup.mdx similarity index 95% rename from src/pages/developers/cli/setup.mdx rename to src/pages/users/cli/setup.mdx index f295a46e..58b64325 100644 --- a/src/pages/developers/cli/setup.mdx +++ b/src/pages/users/cli/setup.mdx @@ -1,7 +1,7 @@ -# Installing the CLI - -ZetaChain's CLI is a command line tool that allows you to interact with the -ZetaChain network. +--- +title: Installing the CLI +description: ZetaChain's CLI is a command line tool that allows you to interact with the ZetaChain network. +--- ## Option 1: Download the Binary diff --git a/src/pages/users/keplr/setup.mdx b/src/pages/users/keplr/setup.mdx index 3311d311..6006ceec 100644 --- a/src/pages/users/keplr/setup.mdx +++ b/src/pages/users/keplr/setup.mdx @@ -1,6 +1,10 @@ +--- +title: Setup +--- + import Image from "next/image"; -# Setup +import { basePath } from "~/lib/app.constants"; Keplr is a popular browser extension wallet for the Cosmos ecosystem. Keplr features account management, token transfers, transaction signing and more. @@ -13,7 +17,9 @@ either create a new account, import an existing one or use a hardware wallet. ![Keplr - Connect Wallet](/img/docs/keplr-setup.png) -To add ZetaChain to Keplr: +# Add ZetaChain Testnet + +To add ZetaChain Testnet to Keplr: - go to https://chains.keplr.app/ - Type "ZetaChain" in the search box @@ -23,4 +29,24 @@ To add ZetaChain to Keplr: Now open the Keplr extension and you should see your ZetaChain balance: - + + + +# Add ZetaChain Mainnet + +To add ZetaChain Mainnet to Keplr: + +Go to the menu in the extension and click "Manage Chain Visibility". + + + +It will jump to the browser, then: + +- Type "ZetaChain" in the search box +- Check ZetaChain and click the "Save" button + +![Keplr](/img/docs/keplr-add-zetachain-mainnet.png) + +Now open the Keplr extension and you should see your ZetaChain Mainnet balance: + + \ No newline at end of file diff --git a/src/pages/users/keplr/staking.mdx b/src/pages/users/keplr/staking.mdx new file mode 100644 index 00000000..ddcb62d4 --- /dev/null +++ b/src/pages/users/keplr/staking.mdx @@ -0,0 +1,50 @@ +--- +title: Staking Tokens +--- + +import Image from "next/image"; + +import { basePath } from "~/lib/app.constants"; + +Staking tokens is a crucial part of participating in the ZetaChain network. By staking your ZETA tokens, you contribute to the network's security and stability, while also earning rewards. This guide will walk you through the process of staking your ZETA tokens using the Keplr extension. + +To stake your ZETA tokens, start by opening the Keplr extension and switching to the "Staked" interface: + + + + +Next, click on "Stake with Keplr Dashboard". This will open a new browser window. In the search bar, type "ZetaChain": + +![Keplr Staking Dashboard](/img/docs/keplr-staking-dashboard.png) + + +From the search results, click on "ZetaChain", which will take you to the "Validators" page: + +![Keplr Staking Validators](/img/docs/keplr-staking-validators.png) + + +Select the validator you wish to stake with and click on it. This will display some basic information about the chosen validator on the right side of the screen: + +![Keplr Validator Overview](/img/docs/keplr-validator-overview.png) + + +Click the "Stake" button to proceed to the staking interface. Enter the amount of ZETA you want to stake and click the "Stake" button again to confirm your staking: + + + + +Review the transaction details and click "Approve" to sign and broadcast the +transaction: + + + + +Return to the Staked interface in Keplr, and you will see the amount of ZETA you just staked along with your rewards. + + + diff --git a/src/pages/users/keplr/transfer.mdx b/src/pages/users/keplr/transfer.mdx index 7fa9bbc4..ea527b2b 100644 --- a/src/pages/users/keplr/transfer.mdx +++ b/src/pages/users/keplr/transfer.mdx @@ -1,15 +1,19 @@ +--- +title: Transfer Tokens +--- + import Image from "next/image"; -# Transfer Tokens +import { basePath } from "~/lib/app.constants"; To transfer tokens between accounts open the Keplr extension and click "Send": - + Next, select the asset you want to transfer. Note, that Keplr will only show native and IBC tokens, but not ZRC-20 or ERC-20. Select ZETA from the list: - + Enter the recipient address in the bech32 format (`zeta***`) and the amount you want to transfer. Please, note that the amount in Keplr is speficied in ZETA, so @@ -18,9 +22,14 @@ Memo is optional and is often used when sending tokens to centralized exchanges. Click "Next" to review the transaction details: - + Review the transaction details and click "Approve" to sign and broadcast the transaction: - + diff --git a/src/pages/users/keplr/voting.mdx b/src/pages/users/keplr/voting.mdx new file mode 100644 index 00000000..fcf571c7 --- /dev/null +++ b/src/pages/users/keplr/voting.mdx @@ -0,0 +1,36 @@ +--- +title: Voting on Governance Proposals +--- + +import Image from "next/image"; + +import { basePath } from "~/lib/app.constants"; + +Voting on proposals is an important part of participating in the governance of ZetaChain, allowing you to have a say in the future direction and decisions of the network. Your vote matters, and this guide will help you navigate the voting process using Keplr extension. + +To vote on proposals for ZetaChain, follow these steps: + +Visit the [Keplr ZetaChain Governance](https://wallet.keplr.app/chains/zetachain?tab=governance). + +![Keplr ZetaChain Governance Dashboard](/img/docs/keplr-governance-dashboard.png) + +Proposals can have three statuses: "Passed", "Rejected", and "Voting". To view only the proposals that are currently open for voting, select "Voting-Period" from the filter box in the upper-right corner of the proposals list. + +Click on the proposal you are interested in to view its details. + +Once you are on the proposal details page, you can read the full description of the proposal, including its goals, potential impacts, and any additional information provided by the proposer. After reviewing the proposal, you will see options to cast your vote. + +To vote: + +- Click the "Vote" button in the upper-right corner. +- Select your voting option (e.g., Yes, No, No with Veto, Abstain). + - Yes: Support the proposal. + - No: Oppose the proposal. + - No with Veto: Strongly oppose the proposal and believe it is harmful; can lead to a veto if a significant portion of votes are "No with Veto". + - Abstain: Neutral stance; neither supports nor opposes the proposal but contributes to the voting process. +- Click the "Confirm" button. +- Approve the transaction in your Keplr extension to submit your vote. + +![Keplr Voting](/img/docs/keplr-voting.png) + +After voting, you can monitor the status of the proposal and see the results once the voting period ends. Staying engaged with the governance process helps ensure that the decisions made reflect the collective will of the ZetaChain community. \ No newline at end of file diff --git a/src/pages/users/leap/delegate.mdx b/src/pages/users/leap/delegate.mdx index a6c15f22..f5bb5773 100644 --- a/src/pages/users/leap/delegate.mdx +++ b/src/pages/users/leap/delegate.mdx @@ -1,20 +1,24 @@ +--- +title: Delegating to a Validator +--- + import Image from "next/image"; -# Delegating to a Validator +import { basePath } from "~/lib/app.constants"; To delegate your ZETA tokens to a validator, select the "Stake" tag in Leap: - + Choose a validator to delegate to: - + Enter the amount of ZETA you would like to delegate and click "Review": - + Review the transaction details and click "Confirm" to sign and broadcast the transaction: - + diff --git a/src/pages/users/leap/setup.mdx b/src/pages/users/leap/setup.mdx index c3e3e147..9dfd2c11 100644 --- a/src/pages/users/leap/setup.mdx +++ b/src/pages/users/leap/setup.mdx @@ -1,6 +1,10 @@ +--- +title: Setup +--- + import Image from "next/image"; -# Setup +import { basePath } from "~/lib/app.constants"; Leap is a popular multi-chain and cross-platform browser extension wallet. Leap features account management, token transfers, staking, governance and more. @@ -23,4 +27,4 @@ To add ZetaChain to Leap: Now open the Leap extension and you should see your ZetaChain balance: - + diff --git a/src/pages/users/pingpub/_meta.json b/src/pages/users/pingpub/_meta.json index d4493234..1f9e5fa5 100644 --- a/src/pages/users/pingpub/_meta.json +++ b/src/pages/users/pingpub/_meta.json @@ -1,3 +1,5 @@ { - "delegate": "Delegating to a Validator" + "delegate": { + "title": "Delegating to a Validator" + } } diff --git a/src/pages/users/pingpub/delegate.mdx b/src/pages/users/pingpub/delegate.mdx index 91c599ff..a751f7cd 100644 --- a/src/pages/users/pingpub/delegate.mdx +++ b/src/pages/users/pingpub/delegate.mdx @@ -1,12 +1,14 @@ -import { Alert } from "~/components/shared"; +--- +title: Delegating to a Validator +--- -# Delegating to a Validator +import { Alert } from "~/components/shared"; Ping Pub is a block explorer for Cosmos based blockchains. Ping Pub features a dashboard that allows you to participate in governance, delegate tokens to validators, withdraw staking rewards and more. -https://testnet.ping.pub/zetachain +https://ping.pub/zetachain ![Ping Pub - Dashboard](/img/docs/ping-dashboard.png) @@ -14,7 +16,7 @@ Press the wallet icon in the top right corner to connect your wallet. Ping Pub supports [Keplr](/users/keplr/setup), [Leap](/users/leap/setup) and MetaMask as well as Ledger. Select the wallet you want and press "Connect". - + Note that there are currently issues when trying to use Ping Pub with MetaMask. Please, use Keplr or Leap for now, instead. @@ -43,7 +45,7 @@ pressing "Approve". ![Ping Pub - Approve](/img/docs/ping-keplr.png) The transaction will be sent to the blockchain and you will see a confirmation -message once it's included in a block. +message once it’s included in a block. ![Ping Pub - Confirmation](/img/docs/ping-success.png) diff --git a/src/pages/users/zetahub/_meta.json b/src/pages/users/zetahub/_meta.json index 19dce117..4dc18316 100644 --- a/src/pages/users/zetahub/_meta.json +++ b/src/pages/users/zetahub/_meta.json @@ -1,10 +1,34 @@ { - "create-wallet": "Create a Wallet in ZetaChain", - "connect-wallet": "Connect Wallet in ZetaHub", - "get-zeta": "Get ZETA", - "pool": "Pool your ZETA", - "stake": "Delegate/Stake ZETA", - "enroll-zeta-xp": "Enroll in Zeta XP", - "earn-zeta-xp": "Earn Zeta XP", - "send": "Send Assets" -} + "create-wallet": { + "title": "Add ZetaChain to your Wallet", + "description": "How to add the ZetaChain network to your wallet." + }, + "connect-wallet": { + "title": "Connect a Wallet in ZetaHub", + "description": "How to connect your wallet and use it in ZetaHub." + }, + "get-zeta": { + "title": "Get ZETA", + "description": "How to get ZETA tokens." + }, + "pool": { + "title": "Pool ZETA", + "description": "Add tokens to liquidity pools on ZetaChain, earn fees, view pool details, and manage your positions." + }, + "stake": { + "title": "Delegate/Stake ZETA", + "description": "Explore ZetaChain validators and delegate ZETA." + }, + "enroll-zeta-xp": { + "title": "Enroll in Zeta XP", + "description": "Enroll in the XP program to earn experience points by engaging with the ZetaChain ecosystem, level up through various tiers, and unlock rewards and perks for consistent participation." + }, + "earn-zeta-xp": { + "title": "Earn Zeta XP", + "description": "Participate in activities to earn XP, including staking, trading, and engaging with apps across DeFi, Gaming, Social, NFTs, and more." + }, + "send": { + "title": "Send Assets", + "description": "The Send page allows you to move your assets in and out of the ZetaChain network." + } +} \ No newline at end of file diff --git a/src/pages/users/zetahub/connect-wallet.mdx b/src/pages/users/zetahub/connect-wallet.mdx index 63d34be6..67c06764 100644 --- a/src/pages/users/zetahub/connect-wallet.mdx +++ b/src/pages/users/zetahub/connect-wallet.mdx @@ -1,4 +1,6 @@ -# Connect Wallet on ZetaHub +--- +title: Connect a Wallet in ZetaHub +--- When you enter ZetaHub, you will be prompted to connect your wallet during the onboarding steps. diff --git a/src/pages/users/zetahub/create-wallet.mdx b/src/pages/users/zetahub/create-wallet.mdx index 5b05aa73..a94cd43a 100644 --- a/src/pages/users/zetahub/create-wallet.mdx +++ b/src/pages/users/zetahub/create-wallet.mdx @@ -1,4 +1,6 @@ -# Create a Wallet in ZetaChain +--- +title: Add ZetaChain to your Wallet +--- To start, make sure you have an EVM-compatible wallet, like MetaMask. diff --git a/src/pages/users/zetahub/earn-zeta-xp.mdx b/src/pages/users/zetahub/earn-zeta-xp.mdx index 46b6bbe8..dbbcaaa0 100644 --- a/src/pages/users/zetahub/earn-zeta-xp.mdx +++ b/src/pages/users/zetahub/earn-zeta-xp.mdx @@ -1,37 +1,34 @@ -import Image from "next/image"; - -# Earn Zeta XP - -Zeta XP is ZetaHub’s way to track your activity on the app. You can earn Zeta XP -through completing activities both in ZetaHub (e.g., inviting friends to Hub, -contributing to a core Pool) and through active participation with ZetaChain -apps. - -![XP Page](/img/docs/zetahub/earn-zeta-xp-1.png) - -Visit the “Activities” section within the “Earn XP” page in ZetaHub to see what -activities are available for earning XP and how much you an earn from completing -them. After performing an activity, you can “Claim” the XP for completing that -activity, which will add that XP to your XP balance. When an activity is -featured, you’ll be able to earn double the XP for completing it. - -![XP Activities](/img/docs/zetahub/earn-zeta-xp-2.png) - -Activities will reset every week, and new ones will be added over time, so keep -checking in to explore more ways to earn. There is a weekly countdown in the -activities section where you can check the number of days before activities -refresh. - -![XP Dashboard](/img/docs/zetahub/earn-zeta-xp-3.png) - -Within your XP dashboard, you will see your current XP level. Levels are a way -for you to track your own progress. Keep earning XP to advance to the next -level. To see how much XP you’ll need to advance to the next level, hover over -the diamond-shaped icons in your user XP card. As you increase in level, you -will unlock new badges you can share to social! - -As you earn more XP, you can also watch yourself move up the Global Leaderboard, -on the right hand side. Leaderboard status is based on XP accumulated. Compete -with other users to climb to the top! - - +--- +title: Earn Zeta XP +--- + +The Activities and Featured sections on ZetaHub provide a dynamic marketplace +for apps and activities on ZetaChain, spanning various sectors such as DeFi, +Gaming, Social, NFTs, and more. The activities come with updated point +assignments and transaction minimums, ensuring they align with current +real-world applications and utility. + +To participate, choose an activity you like and click "Try". + +![XP Dashboard](/img/docs/zetahub/xp-earn-6.png) + +This activity, for example, encourages you to stake ZETA tokens on ZetaHub to +receive an XP reward. Click on "Try" to participate in the activity! [Learn more +about staking ZETA](/users/zetahub/stake) + +![XP Dashboard](/img/docs/zetahub/xp-earn-7.png) + +These activities are not just static tasks; they are thoughtfully crafted by +projects within the ZetaChain ecosystem. Each project has the flexibility to +design activities that align with their unique features, user growth strategies, +and overall objectives. For example, a decentralized exchange (DEX) app might +set a minimum trade amount to foster higher trading volumes and active user +participation. + +ZetaHub collaborates with the community and app developers to establish a fair +and comprehensive system for determining XP allocation for each activity. This +system takes into account various factors, including the cost and time required +to complete an activity, the period it is featured, and the specific ZetaChain +features involved. This ensures that the activities are not only rewarding and +engaging for users, but also align with the overarching goals of the ZetaChain +ecosystem. diff --git a/src/pages/users/zetahub/enroll-zeta-xp.mdx b/src/pages/users/zetahub/enroll-zeta-xp.mdx index d3d20547..fff273ea 100644 --- a/src/pages/users/zetahub/enroll-zeta-xp.mdx +++ b/src/pages/users/zetahub/enroll-zeta-xp.mdx @@ -1,25 +1,45 @@ -# Enroll in Zeta XP +--- +title: Enroll in Zeta XP +--- -Zeta XP is ZetaHub’s way to track your activity on the app. To participate in -the XP program and be able to earn XP for your ZetaHub actions, you will have to -first enroll. There are two ways to do so: +ZetaHub XP program offers an opportunity to engage with and explore the +ZetaChain ecosystem. This program allows you to earn experience points (XP) by +performing activities on ZetaChain, enabling you to level up and unlock rewards. +These rewards can be used for future perks, live events, and other app-based +incentives. -Enroll: When you enter the Earn XP page, you will see an onboarding screen. From -there, you will be prompted to enroll. Just enrolling in XP will boost you 1000 -XP to start! +## Enroll in XP -![XP Dashboard](/img/docs/zetahub/enroll-zeta-xp-1.png) +To join the XP program, go to the XP section of ZetaHub and click on "Enroll for free". +free". -Accept Invite: Another way to enroll in XP is to accept an invite from an -existing user of Zeta XP. If you receive an invite link from a friend (please -ensure the link is the real https://hub.zetachain.com domain), you will be able -to earn double the XP (2000 XP!) for accepting the invite and enrolling. +![XP Dashboard](/img/docs/zetahub/xp-enroll-1.png) -![Accept Invite - Confirm](/img/docs/zetahub/enroll-zeta-xp-2.png) +The XP is tracked on chain, so you will be prompted to sign a transaction to +enroll in the program. Don't worry, you can get some ZETA for transaction fees +using the Fuel program. Confirm the transaction in your wallet: -Accepting an invite without ZETA balance: If you try to accept an invite without -an existing ZETA balance, you will have to get a small amount before you’re able -to accept and enroll in XP. The window will direct you to a modal which will -direct you to sources you can you can get ZETA from. +![XP Dashboard](/img/docs/zetahub/xp-enroll-2.png) -![Accept Invite - Get ZETA](/img/docs/zetahub/enroll-zeta-xp-3.png) +Next, wait for your enrollment to be validated by ZetaHub, this shouldn't take +more than a minute. + +![XP Dashboard](/img/docs/zetahub/xp-enroll-3.png) + +Once you have joined the XP program, you will see your initial Status tier. +Users start at the Silver level and can progress through Rose Gold, Black, and +finally Green, which is currently the highest level. These XP Status tiers help +apps assign perks and rewards to real and valuable users, determining +eligibility for specific rewards. It's important to note that the ranking system +may change periodically based on community feedback and ecosystem needs. + +![XP Dashboard](/img/docs/zetahub/xp-enroll-4.png) + +On this page, you can track your XP progress and see how close you are to +reaching the next tier. + +To maintain an "Active" status each week, you must meet a minimum active threshold of XP. +threshold of XP. This requirement encourages consistent engagement and provides +apps with greater confidence when designing rewards. Certain rewards may only be +available to users who are enrolled, active, and/or have maintained a minimum +active streak, adding an extra dimension to the XP tracking system. diff --git a/src/pages/users/zetahub/get-zeta.mdx b/src/pages/users/zetahub/get-zeta.mdx index 104e709f..ab35dbde 100644 --- a/src/pages/users/zetahub/get-zeta.mdx +++ b/src/pages/users/zetahub/get-zeta.mdx @@ -1,4 +1,6 @@ -# Get ZETA +--- +title: Get ZETA +--- In order to get more ZETA, you can head to the top navigation in ZetaHub and select “Get ZETA”. diff --git a/src/pages/users/zetahub/pool.mdx b/src/pages/users/zetahub/pool.mdx index e75a69d0..f83b76d6 100644 --- a/src/pages/users/zetahub/pool.mdx +++ b/src/pages/users/zetahub/pool.mdx @@ -1,49 +1,69 @@ -# Pool your ZETA +--- +title: Pool ZETA +--- -You can view the full list of ZetaChain liquidity pools on the Pool page and -select one to begin. +Liquidity pools on ZetaHub are pools of assets in Automated Market Maker (AMM) +decentralized exchanges (DEXs) that power ZetaChain and its omnichain +functionality. ZetaHub provides an interface to deposit assets into these pools, +allowing you to earn a share of the fees generated by the pools. -You’ll have to have a sufficient balance of both of the respective pool assets -on the ZetaChain network in order to deposit into any ZetaChain pool. +To get started, view the list of ZetaChain liquidity pools on the Pool page and +select one. -![ZetaChain Pools](/img/docs/zetahub/pool-1.png) +![](/img/docs/zetahub/pool-1.png) -Once you get more assets from an external exchange and send to ZetaChain, or you -send your existing assets from another network to the ZetaChain network, you’re -ready to start. Follow ZetaHub’s step-by-step flow to deposit your assets into -your pool of choice and start earning fees. +Enter the amount for one token, and the equivalent amount for the other token +will be calculated automatically. You will see the number of liquidity pool (LP) +tokens you will receive based on your deposit. -![Deposit](/img/docs/zetahub/pool-2.png) +On the right side of the interface, you can see an overview of the pool, +including details like Total Value Locked (TVL), pool fees, and transaction +volume. -If you have an insufficient balance of any asset, you will need to click the -“Get more assets or send existing assets to ZetaChain” button underneath the -error message. This will take you to a screen where you can either send the -appropriate asset to the ZetaChain network (only if you already have a balance -of this asset, just on a different network than ZetaChain), or get more of the -appropriate asset on an exchange (click the “Get ZETA and [Asset] from an -exchange” button). +To deposit into any ZetaChain pool, ensure you have a sufficient balance of both +respective assets on the ZetaChain network. -![Send to Deposit](/img/docs/zetahub/pool-3.png) +![](/img/docs/zetahub/pool-2.png) -After you’ve pooled your ZETA, you’ll be able to see all of the positions you’ve -pooled on ZetaHub on the right hand side. If you click into a specific pool, -you’ll see your position for that pool if you have one. You’ll be able to see -the amount of pool tokens you’ve collected, as well as the amount of assets -you’ve pooled, your pool share, and the pool’s APY. +If your balance is insufficient for any asset, click the “Get more assets” +button below the error message. This will guide you to a screen where you can +either send the asset to the ZetaChain network (if you have it on another +network) or purchase more of the asset through an exchange. -To withdraw your assets from a pool, select into the pool you want to withdraw -from. From there, find and click the “Withdraw” tab on the interface. You will -then be able to select the percentage of your position to withdraw. +After entering the amounts, click "Allow deposit." You will need to confirm the +spending cap transactions in your wallet. -![Withdraw](/img/docs/zetahub/pool-4.png) +![](/img/docs/zetahub/pool-3.png) -If you’d then like to move the external asset back to its destination chain, you -can head to the “Move Assets” tab in the left hand navigation to do so. +Once the allowance is approved, click "Add to pool." -If you’d like to earn more rewards, you will be able to stake your LP tokens. -After you’ve pooled your ZETA, check the “Rewards” tab in a specific pool, -you’ll be able to stake the LP tokens you received from pooling. View your -balance of LP tokens on the Rewards tab, and from there, you will be able to -stake, unstake, and claim your rewards in each respective sub-tab. +![](/img/docs/zetahub/pool-4.png) -![Rewards](/img/docs/zetahub/pool-5.png) +Adding liquidity requires one final transaction. Confirm the liquidity pool +transaction in your wallet. + +![](/img/docs/zetahub/pool-5.png) + +Wait for the transaction to be processed on ZetaChain. + +![](/img/docs/zetahub/pool-6.png) + +After adding liquidity, you will see a confirmation window displaying the +deposited amounts and your positions in the pool. You can choose to deposit more +or return to the main pool page. + +![](/img/docs/zetahub/pool-7.png) + +From the main pool page, you can view all your pooled positions on ZetaHub on +the right side. + +![](/img/docs/zetahub/pool-8.png) + +To withdraw tokens from a pool, go to the pool details page, select the +"Withdraw" tab, enter the amount you wish to withdraw, approve the transaction, +and click on the "Withdraw" button. + +![](/img/docs/zetahub/pool-8.png) + +By following these steps, you can easily manage your liquidity on ZetaHub, +earning fees and maintaining control over your assets. diff --git a/src/pages/users/zetahub/send.mdx b/src/pages/users/zetahub/send.mdx index 5d90cd73..9706b912 100644 --- a/src/pages/users/zetahub/send.mdx +++ b/src/pages/users/zetahub/send.mdx @@ -1,6 +1,10 @@ +--- +title: Send Assets +--- + import Image from "next/image"; -# Send Assets +import { basePath } from "~/lib/app.constants"; The Send page allows you to move your assets in and out of the ZetaChain network. You can send your ZETA, as well as other ZRC-20 assets to and from @@ -29,7 +33,7 @@ When you select Bitcoin in the “from” network selector, you will be prompted to login to XDEFI. If you don’t have an account with XDEFI, you will have to create one first. - + Once logged in and once you have a positive balance, you will be able to complete the transaction. diff --git a/src/pages/users/zetahub/stake.mdx b/src/pages/users/zetahub/stake.mdx index 1e797fdf..07fa5bf2 100644 --- a/src/pages/users/zetahub/stake.mdx +++ b/src/pages/users/zetahub/stake.mdx @@ -1,32 +1,99 @@ -# Delegate/Stake ZETA +--- +title: Delegate/Stake ZETA +--- -You will be able to view a list of all potential validators on the Stake page, -as well as details like their voting power, commission, and uptime. +ZetaHub offers an easy-to-use interface for staking ZETA tokens and claiming +staking rewards. Staking involves delegating your tokens to validators who help +secure the ZetaChain network by processing transactions and maintaining the +blockchain. By staking your ZETA tokens, you contribute to the network's +security and decentralization while earning rewards. This guide will walk you +through the key steps, from choosing a validator to claiming rewards and +managing your delegations. -![Validators](/img/docs/zetahub/stake-1.png) +![Validators](/img/docs/zetahub/staking-1.png) -Once you have selected a validator to delegate ZETA to, you’ll need to ensure -you have a sufficient balance of ZETA on the ZetaChain network. Once you get -more assets and send them to ZetaChain, or you send your existing ZETA from -another network to the ZetaChain network, you’re ready to start staking. Follow -ZetaHub’s step-by-step flow to delegate your assets to your validator of choice. +At the top of the screen, you can see the amount staked, the amount available to +stake, and the amount available to claim. -Once you’ve delegated your ZETA, you’ll be able to view all previous delegations -in the right hand sidebar. You can also see and claim the rewards you’ve -accumulated by clicking “Claim rewards” on a delegation card, or the “Claim all -rewards” button at the bottom of the sidebar. +Below, there is a table of ZetaChain validators with information such as voting +power, commission, uptime, and status. -![Delegate](/img/docs/zetahub/stake-2.png) +## Stake -If you decide to undelegate your ZETA, you can head to the “Undelegate” tab -within a validator’s page and input the amount of ZETA (and associated rewards) -you’d like to take out. Note that you will have to wait 21 days before ZETA is -liquid upon withdrawal. +To stake ZETA tokens, select a validator from the table and click "Stake". -![Undelegate](/img/docs/zetahub/stake-3.png) +When staking, it's important to consider: -The Redelegate tab is for if you’d like to take out ZETA delegated to one -validator and easily delegate it to another validator of your choice. Select the -desired new validator and start the delegation process as normal. +- Voting Power: Voting power does not affect staking rewards. It’s advisable to + delegate to validators who are not in the top 10 based on voting power to help + decentralize the network. -![Redelegate](/img/docs/zetahub/stake-4.png) +- Commission Rates: Some validators have a 100% commission rate, meaning all + rewards go to the validator, not the delegators. Validators may do this to + discourage delegations. + +![Validators](/img/docs/zetahub/staking-2.png) + +Enter the amount you want to delegate and press "Stake". + +![Validators](/img/docs/zetahub/staking-3.png) + +After confirming the transaction in your wallet, a notification will indicate +that the delegation was successful. + +![Validators](/img/docs/zetahub/staking-4.png) + +At the top of the page, you can now see all the validators you have delegated +to. + +![Validators](/img/docs/zetahub/staking-5.png) + +## Claim Staking Rewards + +To claim staking rewards, click the "Claim" button on the right. + +Next, confirm the transaction in your wallet and wait for it to be processed. + +![Validators](/img/docs/zetahub/staking-6.png) + +## Redelegate + +To redelegate, click on a validator in the "Staking Delegations" section and +select the "Redelegate" tab. + +![Validators](/img/docs/zetahub/staking-7.png) + +Next, choose a new validator to redelegate to. + +![Validators](/img/docs/zetahub/staking-8.png) + +Enter the amount you want to redelegate and confirm the transaction in your +wallet. + +![Validators](/img/docs/zetahub/staking-9.png) + +Wait for the transaction to be processed. + +![Validators](/img/docs/zetahub/staking-10.png) + +Once the redelegation transaction is processed successfully, the new validator +will appear in your list. Note that redelegation happens immediately after the +transaction is confirmed. + +![Validators](/img/docs/zetahub/staking-11.png) + +## Unstaking + +To unstake ZETA, click on the validator from which you want to unstake and +select the "Unstake" tab. + +![Validators](/img/docs/zetahub/staking-12.png) + +Enter the amount you want to unstake, click "Unstake," and confirm the +transaction in your wallet. + +![Validators](/img/docs/zetahub/staking-13.png) + +After the unbonding period is over, the unstaking process will be complete, and +the unstaked tokens will be available in your wallet. Please note that the +duration of the unbonding period may vary. diff --git a/src/pages/validators/_meta.json b/src/pages/validators/_meta.json deleted file mode 100644 index 67b74979..00000000 --- a/src/pages/validators/_meta.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "requirements": "Technical Requirements", - "setup": "Setting Up a Node", - "state-sync": "Option 1: State-Sync", - "snapshot": "Option 2: Snapshot", - "ksync": "Option 3: KSYNC", - "node": "Running a Node in Production", - "cosmovisor": "Setting up Cosmovisor", - "monitoring": "Validators Monitoring", - "proposals": "Governance Upgrade Proposals", - "validator": "Create a Core Validator" -} diff --git a/src/pages/validators/cosmovisor.mdx b/src/pages/validators/cosmovisor.mdx deleted file mode 100644 index 80dfd8ec..00000000 --- a/src/pages/validators/cosmovisor.mdx +++ /dev/null @@ -1,151 +0,0 @@ -# Setting up Cosmovisor - -## Installing Cosmovisor - -``` -go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.5.0 -mv $GOPATH/bin/cosmovisor /usr/local/bin/cosmovisor -``` - -### Download Cosmovisor Binary - -Download the Binary for your system architecture from the following links and -place it in your $PATH amd64: -https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.5.0/cosmovisor-v1.5.0-linux-amd64.tar.gz -arm64: -https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.5.0/cosmovisor-v1.5.0-linux-arm64.tar.gz - -This example assumes you are using amd64 architecture. If you are using arm64 -replace amd64 with arm64 in the commands below. - -```bash -wget https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.5.0/cosmovisor-v1.5.0-linux-amd64.tar.gz -mv cosmovisor-amd64 /usr/local/bin/cosmovisor -``` - -## Setting up Cosmovisor - -### Create `cosmovisor` Directories - -```bash -mkdir -p ~/.zetacored/config -mkdir -p ~/.zetacored/cosmovisor/genesis/bin -mkdir -p ~/.zetacored/cosmovisor/upgrades - -``` - -### Setup `cosmovisor` systemd service - -In this example we'll run Cosmovisor as a systemd service. You can also run it -as a docker container or as a standalone process. The environment variables are -explained in the [Environment Variables](#environment-variables) section at the -end of this document. - -Create a file at `/etc/systemd/system/cosmovisor.service` with the following -contents. Make sure to change the `User` and `/home/zetachain/` fields to the -user you want to run the service as. - -```bash -[Unit] -Description=cosmovisor ZetaChain Service -After=multi-user.target -StartLimitIntervalSec=0 -[Install] -WantedBy=multi-user.target -[Service] -WorkingDirectory=/home/zetachain/.zetacored/cosmovisor -Environment="DAEMON_HOME=/home/zetachain/.zetacored" -Environment="DAEMON_NAME=zetacored" -Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false" -Environment="DAEMON_RESTART_AFTER_UPGRADE=true" -Environment="DAEMON_DATA_BACKUP_DIR=/home/zetachain/.zetacored" -Environment="CLIENT_DAEMON_NAME=zetaclientd" -Environment="CLIENT_SKIP_UPGRADE=false" -Environment="CLIENT_START_PROCESS=false" -Environment="UNSAFE_SKIP_BACKUP=true" -Type=simple -Restart=always -RestartSec=600 -User=zetachain -LimitNOFILE=262144 -ExecStart=cosmovisor run start --home /home/zetachain/.zetacored/ --log_format json --moniker -``` - -## Install the `zetacored` Binary - -### Download `zetacored` Binary - -Download the latest `zetacored` binary for your system architecture from the -following links and place it in the `cosmovisor/genesis/bin/` directory. This -example assumes you are using ubuntu 22 on amd64 architecture. You may need to -make adjustments for your system. - -```bash -wget https://github.com/zeta-chain/node/releases/latest/download/zetacored-ubuntu-22-amd64 -mv zetacored-ubuntu-22-amd64 ~/.zetacored/cosmovisor/genesis/bin/zetacored -chmod +x ~/.zetacored/cosmovisor/genesis/bin/zetacored - -``` - -### Install ZetaChain Configuration Files - -ZetaChain configuration files for the Athens3 Testnet can be downloaded from the -[Athens3 Github Repo](https://github.com/zeta-chain/network-athens3/tree/main/network_files/config) - -Install them as follows: - -```bash -git clone https://github.com/zeta-chain/network-athens3 -cp network-athens3/network_files/config/* ~/.zetacored/config/ -``` - -## Starting Cosmovisor - -### State Sync - -You may choose to sync the state of your node from a snapshot. This will speed -up the time it takes to sync your node. Instructions for syncing from a snapshot -can be found [here](/validators/node). - -### Start the `cosmovisor` Service - -```bash -sudo systemctl daemon-reload -sudo systemctl enable cosmovisor -sudo systemctl start cosmovisor -``` - -### Check the `cosmovisor` Service Status - -```bash -sudo systemctl status cosmovisor -``` - -### Check the `cosmovisor` Logs - -```bash -journalctl -u cosmovisor -f -``` - -## Monitoring - -In a production environment we recommend monitoring the node resources (CPU -load, Memory Usage, Disk usage and Disk IO) for any performance degradation. - -ZetaChain Core generates a log that can be monitored for errors and used for -troubleshooting. If you install Zetacore as a Systemd service using the -instructions above you can view this log with -`journalctl -o cat -f -u zetacored`. - -Prometheus can be enabled to serve metrics which can be consumed by Prometheus -collector(s). Telemetry include Prometheus metrics can be enabled in the -app.toml file. See the -[CosmosSDK Telemetry Documentation](https://docs.cosmos.network/v0.46/core/telemetry.html) -for more information. - -See more about your Validator Monitoring [here](/validators/monitoring). - -## More Information About Cosmovisor - -For more detailed information about Cosmosvisor you can visit the -[Cosmos Documentation Here](https://docs.cosmos.network/main/build/tooling/cosmovisor) diff --git a/src/pages/validators/ksync.mdx b/src/pages/validators/ksync.mdx deleted file mode 100644 index 9108d042..00000000 --- a/src/pages/validators/ksync.mdx +++ /dev/null @@ -1,48 +0,0 @@ -import { Alert } from "~/components/shared"; - -# Syncing a Node Using KYVE's KSYNC - -This guide assumes you've completed the "[Setting Up Your Node](/validators/setup)" step. - -The following doc covers a step by step guide on how to sync a ZetaChain Mainnet -Beta node with KSYNC. - -KSYNC is a tool capable of syncing blocks and state-sync snapshots from the -decentralized KYVE data lake directly into Cosmos blockchain nodes. With KSYNC -Cosmos validators don't need to wait for peers in order to block-sync and they -don't need to search for trusted app hashes if they want to state-sync. -Furthermore, state-syncing to historical heights up to genesis are possible. - -More information about KSYNC can be found here: https://docs.kyve.network/ksync - -## Install KSYNC - -Install the latest KSYNC: - -``` -go install github.com/KYVENetwork/ksync/cmd/ksync@latest -``` - -Verify the installation: - -``` -ksync version -``` - -## Configure the Node - -And change the following config in the `config.toml` file: - -```text filename="~/.zetacored/config/config.toml" -db_backend = "goleveldb" -``` - -Changing the db_backend to the default goleveldb is required for now, since -KSYNC does not yet support the pebbledb from ZetaChain’s dependency -https://github.com/BlockPILabs/cosmos-db. - -## Sync the Node - -``` -ksync state-sync --binary="/path/to/zetacored" --chain-id=kaon-1 --snapshot-pool-id=11 -``` diff --git a/src/pages/validators/monitoring.mdx b/src/pages/validators/monitoring.mdx deleted file mode 100644 index f337aba2..00000000 --- a/src/pages/validators/monitoring.mdx +++ /dev/null @@ -1,79 +0,0 @@ -# Validators Monitoring - -![Grafana Preview](/img/docs/grafana-preview.png) - -## Prerequisites - -First install [Grafana](https://grafana.com) and -[Prometheus](https://prometheus.io) on your machine. - -## Enable tendermint metrics - -To enable metrics, you'll have to make an adjustment in the node's `config.toml` -file by setting the `prometheus` option to `true`: - -```bash -sed -i 's/prometheus = false/prometheus = true/g' /home/zetachain/.zetacored/config/config.toml -``` - -To apply the modification, it's necessary to restart the node. You should then -have the capability to reach the `tendermint` metrics, which are set as the -default on port port **26660**: [http://localhost:26660](http://localhost:26660) - -## Configure prometheus targets - -Locate the `prometheus.yml` file and add the following `job` entry under the -`scrape_configs` section: - -```yaml -- job_name: "zetachain" - static_configs: - - targets: ["localhost:26660"] - labels: - instance: "validator" -``` - -On Linux machines, you can typically find the `prometheus.yml` file at the -following path: `/etc/prometheus/prometheus.yml` - -## Reload Prometheus and Restart Zetachain - -Reload **Prometheus** configuration: - -```bash -curl -X POST http://localhost:9090/-/reload -``` - -Restart **Zetachain** Node: - -```bash -sudo systemctl restart zetacored -``` - -## Configure Grafana - -By default, Grafana usually runs on port 3000. You can access Grafana by -navigating to the following URL: `http://localhost:3000`. - -The default username and password is `admin`. - -Add your Prometheus Data Source: - -![Grafana Config](/img/docs/grafana-config.png) - -Click on `Save & test` to test the configuration, if everything is alright -you'll see the green message **Data source is working**. - -## Import grafana dashboard - -Copy and paste the -[Grafana Dashboard ID](https://grafana.com/grafana/dashboards/11036) `11036` and -click on `Load` to complete importing. - -![Grafana Import](/img/docs/grafana-import.png) - -Select your Prometheus as Data Source and click **Import**. - -At this point, you should be able to monitor your validator node. - -![Grafana Preview](/img/docs/grafana-preview.png) diff --git a/src/pages/validators/node.mdx b/src/pages/validators/node.mdx deleted file mode 100644 index 88b9be24..00000000 --- a/src/pages/validators/node.mdx +++ /dev/null @@ -1,98 +0,0 @@ -# Running a Node in Production - -This document outlines the process for running a full ZetaChain node. It is -intended for those who are familiar with the Linux operating system and the -command line interface. - -## Set Limits on Open Files and Number of Processes - -To better manage the resources of your nodes, we recommend setting some limits -on the maximum number of open file descriptors (nofile) and maximum number of -processes (nproc). - -Edit `/etc/security/limits.conf` to include or modify the following parameters: - -``` -* soft nproc 262144 -* hard nproc 262144 -* soft nofile 262144 -* hard nofile 262144 -``` - -Edit `/etc/sysctl.conf` to include the following: - -``` -fs.file-max=262144 -``` - -## Create "zetachain" User Account - -We recommend running ZetaChain binary files with a user account rather than as -root. - -```bash -useradd -m -s /bin/bash zetachain -``` - -### Create ZetaChain Directory Structure - -This is needed to store ZetaChain binary and configuration files. - -```bash -sudo su zetachain -mkdir -p /home/zetachain/.zetacored/bin -mkdir /home/zetachain/.zetacored/config -``` - -## Create a Systemd Unit File - -We recommend using Systemd to start and stop ZetaChain binary files and view the -logs. You can create a Systemd unit file at the following location -`/etc/systemd/system/zetacored.service`: - -```bash -[Unit] -Description=Zetacored Service -After=multi-user.target -StartLimitIntervalSec=0 -[Install] -WantedBy=multi-user.target -[Service] -Type=simple -Restart=always -RestartSec=90 -User=zetachain -LimitNOFILE=262144 -ExecStart=zetacored start --home /home/zetachain/.zetacored/ --log_format json --log_level info --moniker -``` - -Then start the service with `systemctl start zetacored`. - -You can view the logs with `journalctl -o cat -f -u zetacored`. - -## CLI - -ZetaChain Core is built with the Cosmos SDK. There is an `--help` flag that can -be used with any subcommand to learn its use and syntax. - -```bash -zetacored --help -``` - -## Monitoring - -In a production environment we recommend monitoring the node resources (CPU -load, Memory Usage, Disk usage and Disk IO) for any performance degradation. - -ZetaChain Core generates a log that can be monitored for errors and used for -troubleshooting. If you install Zetacore as a Systemd service using the -instructions above you can view this log with -`journalctl -o cat -f -u zetacored`. - -Prometheus can be enabled to serve metrics which can be consumed by Prometheus -collector(s). Telemetry include Prometheus metrics can be enabled in the -app.toml file. See the -[Cosmos SDK Telemetry Documentation](https://docs.cosmos.network/v0.46/core/telemetry.html) -for more information. - -See more about your Validator Monitoring [here](/validators/monitoring). diff --git a/src/pages/validators/setup.mdx b/src/pages/validators/setup.mdx deleted file mode 100644 index 086826c9..00000000 --- a/src/pages/validators/setup.mdx +++ /dev/null @@ -1,87 +0,0 @@ -# Setting Up a Node - -In this guide we will be setting up a ZetaChain Mainnet Beta node. For a testnet -node, follow the same instructions, but replace some values (like chain ID and -seed nodes) with the ones provided in corresponding tables. - -## Install the ZetaChain Node Binary - -First, download the binary and give it executable permissions. Make sure to -replace the `VERSION` with the latest version passed in a -[governance software upgrade proposal](/validators/proposals) and the platform -(`-darwin-amd64`) with the one you need. - -``` -wget https://github.com/zeta-chain/node/releases/download/VERSION/zetacored-darwin-amd64 -O /usr/local/bin/zetacored - -chmod a+x /usr/local/bin/zetacored -``` - -Check out the GitHub for -[more information on releases](https://github.com/zeta-chain/node/releases). - -Check that you have the correct version of `zetacored` installed: - -``` -zetacored version -``` - -## Initialize the Data Directory - -| Network | Chain ID | -| ------------ | ---------------- | -| Mainnet Beta | zetachain_7000-1 | -| Testnet | athens_7001-1 | - -``` -zetacored init MONIKER --chain-id zetachain_7000-1 -``` - -Replace `MONIKER` with a name for your node. By default the node will be -initialized in `$HOME/.zetacored`, but you can customize this with the `--home` -flag. - -## Fetch Config Files - -| Network | Config Files | -| ------------ | -------------------------------------------------------------- | -| Mainnet Beta | https://github.com/zeta-chain/network-config/tree/main/mainnet | -| Testnet | https://github.com/zeta-chain/network-config/tree/main/athens3 | - -Fetch and save config files in the data directory: - -``` -wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/genesis.json -O ~/.zetacored/config/genesis.json -wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/client.toml -O ~/.zetacored/config/client.toml -wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/config.toml -O ~/.zetacored/config/config.toml -wget https://raw.githubusercontent.com/zeta-chain/network-config/main/mainnet/app.toml -O ~/.zetacored/config/app.toml -``` - -## Modify the Config Files - -Even though the config files you fetched in the previous step already contain -all the required values common for all nodes, you will need to make some -adjustments specific to your node. - -If your machine has an external IPv4 address you can get it by running the -command in your terminal: - -``` -curl -4 icanhazip.com - -109.68.188.70 -``` - -If you have an IPv6 address, you can use that as an external address. - -Replace the moniker and external address with correct values. - -```text filename="~/.zetacored/config/config.toml" -moniker = "MONIKER" - -[p2p] -external_address = "109.68.188.70:26656" -``` - -Your node has been configured. Next, choose one of the options to sync your node -with the network. diff --git a/src/pages/validators/snapshot.mdx b/src/pages/validators/snapshot.mdx deleted file mode 100644 index 9f7e5ec6..00000000 --- a/src/pages/validators/snapshot.mdx +++ /dev/null @@ -1,22 +0,0 @@ -import { Alert } from "~/components/shared"; - -# Syncing a Node Using a Snapshot - -This guide assumes you've completed the "[Setting Up Your Node](/validators/setup)" step. - -Syncing with a snapshot downloads the data directory from an existing node. - -Choose the network and the snapshot type, fetch the URL and follow instructions -returned in response. - -| Network | Type | URL | -| ------------ | ---------------- | ----------------------------------------------------------------------- | -| Mainnet Beta | Snapshot | https://snapshots.zetachain.com/latest-snapshot?network=mainnet | -| Mainnet Beta | Archive Snapshot | https://snapshots.zetachain.com/latest-archive-snapshot?network=mainnet | -| Testnet | Snapshot | https://snapshots.zetachain.com/latest-snapshot?network=athens3 | -| Testnet | Archive Snapshot | https://snapshots.zetachain.com/latest-archive-snapshot?network=athens3 | - -## Alternative Options - -- https://polkachu.com/tendermint_snapshots/zetachain -- https://app.nodejumper.io/zetachain/sync diff --git a/src/pages/validators/state-sync.mdx b/src/pages/validators/state-sync.mdx deleted file mode 100644 index 46317dcd..00000000 --- a/src/pages/validators/state-sync.mdx +++ /dev/null @@ -1,53 +0,0 @@ -import { Alert } from "~/components/shared"; - -# Syncing a Node Using State-Sync - -This guide assumes you've completed the "[Setting Up Your Node](/validators/setup)" step. - -Follow this guide to setup a RPC node using state-sync. This guide was created -and tested in MacOS and may need to be modified slightly for your local system. - -## State-sync nodes - -| Network | State Sync Server IP | -| :----------- | :------------------- | -| Mainnet Beta | 35.224.53.42 | -| Testnet | 34.30.34.119 | - - - Don't forget to replace the state sync server IP address for the network you're setting a node for (mainnet beta or - testnet). - - -Fetch the latest height: - -``` -curl -s http://35.224.53.42:26657/block | jq -r '.result.block.header.height' - -1968420 -``` - -Next, subtract 40000 from the latest height to get the `trust_height`: 1928420. - -Fetch the trust hash: - -``` -curl -s "http://35.224.53.42:26657/block?height=1928420" | jq -r '.result.block_id.hash' - -CE9E5908B9B319C6F48AC68044F4ECA53DFF7D78EABEC979EF5CF5061B315ABA -``` - -Enable state-sync, add RPC servers (choose the right IP from the table above for -testnet or mainnet beta) and set the correct values for trust height and hash: - -```text filename="~/.zetacored/config/config.toml" -[statesync] -enable = "true" -rpc_servers = "34.69.20.168:26657,34.69.20.168:26657" -trust_height = "1928420" -trust_hash = "CE9E5908B9B319C6F48AC68044F4ECA53DFF7D78EABEC979EF5CF5061B315ABA" -``` - -## Alternative Options - -- https://polkachu.com/state_sync/zetachain diff --git a/yarn.lock b/yarn.lock index d5e7ddb1..a6f88b29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5516,6 +5516,11 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" +date-fns@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14" + integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg== + dayjs@1.11.10: version "1.11.10" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" @@ -9942,6 +9947,11 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== +qr.js@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/qr.js/-/qr.js-0.0.0.tgz#cace86386f59a0db8050fa90d9b6b0e88a1e364f" + integrity sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ== + qs@^6.10.2: version "6.12.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" @@ -10065,6 +10075,14 @@ react-is@^18.0.0, react-is@^18.2.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== +react-qr-code@^2.0.15: + version "2.0.15" + resolved "https://registry.yarnpkg.com/react-qr-code/-/react-qr-code-2.0.15.tgz#fbfc12952c504bcd64275647e9d1ea63251742ce" + integrity sha512-MkZcjEXqVKqXEIMVE0mbcGgDpkfSdd8zhuzXEl9QzYeNcw8Hq2oVIzDLWuZN2PQBwM5PWjc2S31K8Q1UbcFMfw== + dependencies: + prop-types "^15.8.1" + qr.js "0.0.0" + react-redux@8.1.3: version "8.1.3" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.3.tgz#4fdc0462d0acb59af29a13c27ffef6f49ab4df46" @@ -10096,6 +10114,13 @@ react-syntax-highlighter@^15.5.0: prismjs "^1.27.0" refractor "^3.6.0" +react-toastify@^10.0.5: + version "10.0.5" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-10.0.5.tgz#6b8f8386060c5c856239f3036d1e76874ce3bd1e" + integrity sha512-mNKt2jBXJg4O7pSdbNUfDdTsK9FIdikfsIE/yUCxbAEXl4HMyJaivrVFcn3Elvt5xvCQYhUZm+hqTIu1UXM3Pw== + dependencies: + clsx "^2.1.0" + react-transition-group@^4.4.5: version "4.4.5" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"