@initia/initia.js 1.0.21 → 2.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +231 -163
- package/dist/abi-helpers-DdwdqhMQ.mjs +51 -0
- package/dist/abi-helpers-DdwdqhMQ.mjs.map +1 -0
- package/dist/address-DwAkzgJk.mjs +156 -0
- package/dist/address-DwAkzgJk.mjs.map +1 -0
- package/dist/address-profile-DjdaEBxo.d.mts +112 -0
- package/dist/address-profile-DlAFvgdg.mjs +241 -0
- package/dist/address-profile-DlAFvgdg.mjs.map +1 -0
- package/dist/amino-CMQN7Frn.mjs +220 -0
- package/dist/amino-CMQN7Frn.mjs.map +1 -0
- package/dist/amino_pb-Bi6YDY_U.mjs +88 -0
- package/dist/amino_pb-Bi6YDY_U.mjs.map +1 -0
- package/dist/amount-B0J9TTNF.mjs +90 -0
- package/dist/amount-B0J9TTNF.mjs.map +1 -0
- package/dist/any-DElm7qF7.mjs +19 -0
- package/dist/any-DElm7qF7.mjs.map +1 -0
- package/dist/auth_pb-DN4URGLh.mjs +26 -0
- package/dist/auth_pb-DN4URGLh.mjs.map +1 -0
- package/dist/auth_pb-DfXfdvrY.mjs +16 -0
- package/dist/auth_pb-DfXfdvrY.mjs.map +1 -0
- package/dist/base-provider-CLnd7kte.d.mts +68 -0
- package/dist/base-provider-LNp6K7Mt.mjs +96 -0
- package/dist/base-provider-LNp6K7Mt.mjs.map +1 -0
- package/dist/bcs-DiRcL4n9.mjs +533 -0
- package/dist/bcs-DiRcL4n9.mjs.map +1 -0
- package/dist/bridge-DL-q-7P7.mjs +1222 -0
- package/dist/bridge-DL-q-7P7.mjs.map +1 -0
- package/dist/bridge-cQoOjppA.d.mts +606 -0
- package/dist/broadcast-De8MdmYa.mjs +974 -0
- package/dist/broadcast-De8MdmYa.mjs.map +1 -0
- package/dist/chain-utils-C61cU5nd.mjs +139 -0
- package/dist/chain-utils-C61cU5nd.mjs.map +1 -0
- package/dist/codegen/cli.d.mts +1 -0
- package/dist/codegen/cli.mjs +274 -0
- package/dist/codegen/cli.mjs.map +1 -0
- package/dist/coin-DPWbtAFA.mjs +543 -0
- package/dist/coin-DPWbtAFA.mjs.map +1 -0
- package/dist/coin_pb--WuIu4sX.mjs +25 -0
- package/dist/coin_pb--WuIu4sX.mjs.map +1 -0
- package/dist/composite-provider-DbxNrdny.mjs +203 -0
- package/dist/composite-provider-DbxNrdny.mjs.map +1 -0
- package/dist/constants-W6V0E-3W.mjs +42 -0
- package/dist/constants-W6V0E-3W.mjs.map +1 -0
- package/dist/contract-Dpvu4wLO.mjs +657 -0
- package/dist/contract-Dpvu4wLO.mjs.map +1 -0
- package/dist/cosmos-Bqh8qNfP.mjs +540 -0
- package/dist/cosmos-Bqh8qNfP.mjs.map +1 -0
- package/dist/cosmos-registry-provider-DCrEEhJ-.d.mts +123 -0
- package/dist/cw20-BTpdgMXC.mjs +63 -0
- package/dist/cw20-BTpdgMXC.mjs.map +1 -0
- package/dist/decode-CXGawqIZ.mjs +29 -0
- package/dist/decode-CXGawqIZ.mjs.map +1 -0
- package/dist/entry.bridge.browser.d.mts +21 -0
- package/dist/entry.bridge.browser.mjs +25 -0
- package/dist/entry.bridge.browser.mjs.map +1 -0
- package/dist/entry.bridge.node.d.mts +21 -0
- package/dist/entry.bridge.node.mjs +25 -0
- package/dist/entry.bridge.node.mjs.map +1 -0
- package/dist/entry.browser.d.mts +49 -0
- package/dist/entry.browser.mjs +46 -0
- package/dist/entry.browser.mjs.map +1 -0
- package/dist/entry.chain.initia.browser.d.mts +8 -0
- package/dist/entry.chain.initia.browser.mjs +17 -0
- package/dist/entry.chain.initia.browser.mjs.map +1 -0
- package/dist/entry.chain.initia.node.d.mts +8 -0
- package/dist/entry.chain.initia.node.mjs +17 -0
- package/dist/entry.chain.initia.node.mjs.map +1 -0
- package/dist/entry.chain.minievm.browser.d.mts +8 -0
- package/dist/entry.chain.minievm.browser.mjs +17 -0
- package/dist/entry.chain.minievm.browser.mjs.map +1 -0
- package/dist/entry.chain.minievm.node.d.mts +8 -0
- package/dist/entry.chain.minievm.node.mjs +17 -0
- package/dist/entry.chain.minievm.node.mjs.map +1 -0
- package/dist/entry.chain.minimove.browser.d.mts +8 -0
- package/dist/entry.chain.minimove.browser.mjs +17 -0
- package/dist/entry.chain.minimove.browser.mjs.map +1 -0
- package/dist/entry.chain.minimove.node.d.mts +8 -0
- package/dist/entry.chain.minimove.node.mjs +17 -0
- package/dist/entry.chain.minimove.node.mjs.map +1 -0
- package/dist/entry.chain.miniwasm.browser.d.mts +8 -0
- package/dist/entry.chain.miniwasm.browser.mjs +17 -0
- package/dist/entry.chain.miniwasm.browser.mjs.map +1 -0
- package/dist/entry.chain.miniwasm.node.d.mts +8 -0
- package/dist/entry.chain.miniwasm.node.mjs +17 -0
- package/dist/entry.chain.miniwasm.node.mjs.map +1 -0
- package/dist/entry.client.browser.d.mts +3 -0
- package/dist/entry.client.browser.mjs +6 -0
- package/dist/entry.client.node-clFi8rmF.d.mts +1 -0
- package/dist/entry.client.node.d.mts +3 -0
- package/dist/entry.client.node.mjs +6 -0
- package/dist/entry.codegen.d.mts +251 -0
- package/dist/entry.codegen.mjs +2 -0
- package/dist/entry.cosmos.d.mts +2 -0
- package/dist/entry.cosmos.mjs +355 -0
- package/dist/entry.cosmos.mjs.map +1 -0
- package/dist/entry.events.d.mts +338 -0
- package/dist/entry.events.mjs +383 -0
- package/dist/entry.events.mjs.map +1 -0
- package/dist/entry.evm.d.mts +544 -0
- package/dist/entry.evm.mjs +761 -0
- package/dist/entry.evm.mjs.map +1 -0
- package/dist/entry.modules.d.mts +2 -0
- package/dist/entry.modules.mjs +7 -0
- package/dist/entry.move.d.mts +523 -0
- package/dist/entry.move.mjs +7 -0
- package/dist/entry.msgs.d.mts +2 -0
- package/dist/entry.msgs.mjs +3 -0
- package/dist/entry.node.d.mts +118 -0
- package/dist/entry.node.mjs +278 -0
- package/dist/entry.node.mjs.map +1 -0
- package/dist/entry.provider.d.mts +355 -0
- package/dist/entry.provider.mjs +416 -0
- package/dist/entry.provider.mjs.map +1 -0
- package/dist/entry.signer.d.mts +2 -0
- package/dist/entry.signer.mjs +674 -0
- package/dist/entry.signer.mjs.map +1 -0
- package/dist/entry.tx.d.mts +2 -0
- package/dist/entry.tx.mjs +6 -0
- package/dist/entry.usernames.d.mts +42 -0
- package/dist/entry.usernames.mjs +2 -0
- package/dist/entry.util.d.mts +103 -0
- package/dist/entry.util.mjs +70 -0
- package/dist/entry.util.mjs.map +1 -0
- package/dist/entry.vip.d.mts +1917 -0
- package/dist/entry.vip.mjs +3793 -0
- package/dist/entry.vip.mjs.map +1 -0
- package/dist/entry.wasm.d.mts +447 -0
- package/dist/entry.wasm.mjs +600 -0
- package/dist/entry.wasm.mjs.map +1 -0
- package/dist/erc20-CDs3j7vt.mjs +168 -0
- package/dist/erc20-CDs3j7vt.mjs.map +1 -0
- package/dist/errors-CN1MFOLv.mjs +253 -0
- package/dist/errors-CN1MFOLv.mjs.map +1 -0
- package/dist/evm-rpc-BxpgXIAF.mjs +338 -0
- package/dist/evm-rpc-BxpgXIAF.mjs.map +1 -0
- package/dist/fetch-Bq_aay6V.mjs +55 -0
- package/dist/fetch-Bq_aay6V.mjs.map +1 -0
- package/dist/fungible-asset-aHBTYpoT.mjs +64 -0
- package/dist/fungible-asset-aHBTYpoT.mjs.map +1 -0
- package/dist/get-tx-0P40z_A4.mjs +99 -0
- package/dist/get-tx-0P40z_A4.mjs.map +1 -0
- package/dist/grpc-client-DGyZjGcT.mjs +254 -0
- package/dist/grpc-client-DGyZjGcT.mjs.map +1 -0
- package/dist/hash-D40mxOlF.mjs +14 -0
- package/dist/hash-D40mxOlF.mjs.map +1 -0
- package/dist/hash-Doo89wm3.d.mts +31 -0
- package/dist/headers-CMO7ia_D.mjs +83 -0
- package/dist/headers-CMO7ia_D.mjs.map +1 -0
- package/dist/http-client-BrdVurTg.mjs +40 -0
- package/dist/http-client-BrdVurTg.mjs.map +1 -0
- package/dist/initia-B8l_x6sT.mjs +426 -0
- package/dist/initia-B8l_x6sT.mjs.map +1 -0
- package/dist/initia-Cj4bZ1dR.mjs +26 -0
- package/dist/initia-Cj4bZ1dR.mjs.map +1 -0
- package/dist/json-CGak0DqP.mjs +41 -0
- package/dist/json-CGak0DqP.mjs.map +1 -0
- package/dist/minievm-BAnGHa00.mjs +39 -0
- package/dist/minievm-BAnGHa00.mjs.map +1 -0
- package/dist/minievm-DZ8AhnD8.mjs +61 -0
- package/dist/minievm-DZ8AhnD8.mjs.map +1 -0
- package/dist/minimove-B8U85g-_.mjs +23 -0
- package/dist/minimove-B8U85g-_.mjs.map +1 -0
- package/dist/minimove-BBXTyhIv.mjs +24 -0
- package/dist/minimove-BBXTyhIv.mjs.map +1 -0
- package/dist/miniwasm-CB0XfStg.mjs +50 -0
- package/dist/miniwasm-CB0XfStg.mjs.map +1 -0
- package/dist/miniwasm-QdyYzmQ1.mjs +139 -0
- package/dist/miniwasm-QdyYzmQ1.mjs.map +1 -0
- package/dist/move-BaCv0oRX.mjs +64 -0
- package/dist/move-BaCv0oRX.mjs.map +1 -0
- package/dist/msg_pb-DxYxctLM.mjs +11 -0
- package/dist/msg_pb-DxYxctLM.mjs.map +1 -0
- package/dist/pagination_pb-DlkDYAcN.mjs +18 -0
- package/dist/pagination_pb-DlkDYAcN.mjs.map +1 -0
- package/dist/public-key-DV-uGaUC.mjs +550 -0
- package/dist/public-key-DV-uGaUC.mjs.map +1 -0
- package/dist/query_pb-cZ3szo3y.mjs +20 -0
- package/dist/query_pb-cZ3szo3y.mjs.map +1 -0
- package/dist/registry-provider-NzblVZQr.mjs +368 -0
- package/dist/registry-provider-NzblVZQr.mjs.map +1 -0
- package/dist/resolve-DdtY7KDz.mjs +50 -0
- package/dist/resolve-DdtY7KDz.mjs.map +1 -0
- package/dist/rolldown-runtime-wcPFST8Q.mjs +13 -0
- package/dist/service-BaMjxPNo.mjs +412 -0
- package/dist/service-BaMjxPNo.mjs.map +1 -0
- package/dist/service-CVFxsMp_.d.mts +151 -0
- package/dist/service_pb-Be-O-2-c.mjs +121 -0
- package/dist/service_pb-Be-O-2-c.mjs.map +1 -0
- package/dist/sign-DqagxLcg.mjs +212 -0
- package/dist/sign-DqagxLcg.mjs.map +1 -0
- package/dist/transport-common-BsPYcFQl.mjs +182 -0
- package/dist/transport-common-BsPYcFQl.mjs.map +1 -0
- package/dist/transport.browser-CCUWv3ta.mjs +31 -0
- package/dist/transport.browser-CCUWv3ta.mjs.map +1 -0
- package/dist/transport.node-DXcJtCnx.mjs +33 -0
- package/dist/transport.node-DXcJtCnx.mjs.map +1 -0
- package/dist/tx_pb-BJzY8SXE.mjs +38 -0
- package/dist/tx_pb-BJzY8SXE.mjs.map +1 -0
- package/dist/tx_pb-BVCXH992.mjs +39 -0
- package/dist/tx_pb-BVCXH992.mjs.map +1 -0
- package/dist/tx_pb-CnFNMLIq.mjs +107 -0
- package/dist/tx_pb-CnFNMLIq.mjs.map +1 -0
- package/dist/tx_pb-DYspoJTt.mjs +50 -0
- package/dist/tx_pb-DYspoJTt.mjs.map +1 -0
- package/dist/tx_pb-u3CoQYge.mjs +79 -0
- package/dist/tx_pb-u3CoQYge.mjs.map +1 -0
- package/dist/typed-context-Cg0If0M9.mjs +118 -0
- package/dist/typed-context-Cg0If0M9.mjs.map +1 -0
- package/dist/types-CLfdsa48.mjs +41 -0
- package/dist/types-CLfdsa48.mjs.map +1 -0
- package/dist/types-CSS5rfW1.mjs +303 -0
- package/dist/types-CSS5rfW1.mjs.map +1 -0
- package/dist/types-DGrP9Ro_.d.mts +39609 -0
- package/dist/types_pb-CrjtO9sB.mjs +21 -0
- package/dist/types_pb-CrjtO9sB.mjs.map +1 -0
- package/dist/types_pb-K7pKBvcg.mjs +1433 -0
- package/dist/types_pb-K7pKBvcg.mjs.map +1 -0
- package/dist/utils-B2carKSi.mjs +2 -0
- package/dist/waiting-BigHYRNN.mjs +1081 -0
- package/dist/waiting-BigHYRNN.mjs.map +1 -0
- package/dist/wasm-DdunGtLM.mjs +396 -0
- package/dist/wasm-DdunGtLM.mjs.map +1 -0
- package/package.json +195 -66
- package/dist/client/WebSocketClient.d.ts +0 -30
- package/dist/client/index.d.ts +0 -5
- package/dist/client/rest/APIRequester.d.ts +0 -27
- package/dist/client/rest/RESTClient.d.ts +0 -48
- package/dist/client/rest/Wallet.d.ts +0 -26
- package/dist/client/rest/api/AuctionAPI.d.ts +0 -6
- package/dist/client/rest/api/AuthAPI.d.ts +0 -8
- package/dist/client/rest/api/AuthzAPI.d.ts +0 -8
- package/dist/client/rest/api/BankAPI.d.ts +0 -10
- package/dist/client/rest/api/BaseAPI.d.ts +0 -5
- package/dist/client/rest/api/DistributionAPI.d.ts +0 -35
- package/dist/client/rest/api/EvidenceAPI.d.ts +0 -7
- package/dist/client/rest/api/EvmAPI.d.ts +0 -45
- package/dist/client/rest/api/FeeGrantAPI.d.ts +0 -22
- package/dist/client/rest/api/ForwardingAPI.d.ts +0 -20
- package/dist/client/rest/api/GovAPI.d.ts +0 -12
- package/dist/client/rest/api/GroupAPI.d.ts +0 -19
- package/dist/client/rest/api/IbcAPI.d.ts +0 -48
- package/dist/client/rest/api/IbcHooksAPI.d.ts +0 -8
- package/dist/client/rest/api/IbcNftAPI.d.ts +0 -11
- package/dist/client/rest/api/IbcPermAPI.d.ts +0 -12
- package/dist/client/rest/api/IbcTransferAPI.d.ts +0 -10
- package/dist/client/rest/api/InterTxAPI.d.ts +0 -6
- package/dist/client/rest/api/MarketmapAPI.d.ts +0 -18
- package/dist/client/rest/api/MoveAPI.d.ts +0 -62
- package/dist/client/rest/api/MstakingAPI.d.ts +0 -28
- package/dist/client/rest/api/OpchildAPI.d.ts +0 -23
- package/dist/client/rest/api/OphostAPI.d.ts +0 -34
- package/dist/client/rest/api/OracleAPI.d.ts +0 -22
- package/dist/client/rest/api/RewardAPI.d.ts +0 -8
- package/dist/client/rest/api/SlashingAPI.d.ts +0 -8
- package/dist/client/rest/api/TendermintAPI.d.ts +0 -16
- package/dist/client/rest/api/TokenfactoryAPI.d.ts +0 -12
- package/dist/client/rest/api/TxAPI.d.ts +0 -190
- package/dist/client/rest/api/UpgradeAPI.d.ts +0 -18
- package/dist/client/rest/api/WasmAPI.d.ts +0 -78
- package/dist/client/rest/api/index.d.ts +0 -30
- package/dist/core/Block.d.ts +0 -55
- package/dist/core/Coin.d.ts +0 -42
- package/dist/core/Coins.d.ts +0 -45
- package/dist/core/Denom.d.ts +0 -1
- package/dist/core/Duration.d.ts +0 -19
- package/dist/core/Msg.d.ts +0 -45
- package/dist/core/PublicKey.d.ts +0 -122
- package/dist/core/auction/AuctionParams.d.ts +0 -41
- package/dist/core/auction/index.d.ts +0 -2
- package/dist/core/auction/msgs/MsgAuctionBid.d.ts +0 -36
- package/dist/core/auction/msgs/MsgUpdateAuctionParams.d.ts +0 -33
- package/dist/core/auction/msgs/index.d.ts +0 -10
- package/dist/core/auth/Account.d.ts +0 -12
- package/dist/core/auth/AuthParams.d.ts +0 -37
- package/dist/core/auth/BaseAccount.d.ts +0 -45
- package/dist/core/auth/ModuleAccount.d.ts +0 -39
- package/dist/core/auth/index.d.ts +0 -5
- package/dist/core/auth/msgs/MsgUpdateAuthParams.d.ts +0 -33
- package/dist/core/auth/msgs/index.d.ts +0 -8
- package/dist/core/authz/authorizations/Authorization.d.ts +0 -42
- package/dist/core/authz/authorizations/CallAuthorization.d.ts +0 -28
- package/dist/core/authz/authorizations/ExecuteAuthorization.d.ts +0 -54
- package/dist/core/authz/authorizations/GenericAuthorization.d.ts +0 -28
- package/dist/core/authz/authorizations/PublishAuthorization.d.ts +0 -28
- package/dist/core/authz/authorizations/SendAuthorization.d.ts +0 -33
- package/dist/core/authz/authorizations/StakeAuthorization.d.ts +0 -60
- package/dist/core/authz/authorizations/index.d.ts +0 -7
- package/dist/core/authz/index.d.ts +0 -2
- package/dist/core/authz/msgs/MsgExecAuthorized.d.ts +0 -33
- package/dist/core/authz/msgs/MsgGrantAuthorization.d.ts +0 -36
- package/dist/core/authz/msgs/MsgRevokeAuthorization.d.ts +0 -35
- package/dist/core/authz/msgs/index.d.ts +0 -12
- package/dist/core/bank/BankParams.d.ts +0 -29
- package/dist/core/bank/DenomMetadata.d.ts +0 -43
- package/dist/core/bank/DenomUnit.d.ts +0 -28
- package/dist/core/bank/SendEnabled.d.ts +0 -25
- package/dist/core/bank/index.d.ts +0 -5
- package/dist/core/bank/msgs/MsgMultiSend.d.ts +0 -78
- package/dist/core/bank/msgs/MsgSend.d.ts +0 -36
- package/dist/core/bank/msgs/MsgSetDenomMetadata.d.ts +0 -33
- package/dist/core/bank/msgs/MsgSetSendEnabled.d.ts +0 -37
- package/dist/core/bank/msgs/MsgUpdateBankParams.d.ts +0 -33
- package/dist/core/bank/msgs/index.d.ts +0 -16
- package/dist/core/bech32.d.ts +0 -27
- package/dist/core/celestia/Blob.d.ts +0 -24
- package/dist/core/celestia/BlobTx.d.ts +0 -25
- package/dist/core/celestia/index.d.ts +0 -3
- package/dist/core/celestia/msgs/MsgPayForBlobs.d.ts +0 -31
- package/dist/core/celestia/msgs/index.d.ts +0 -7
- package/dist/core/consensus/ABCIParams.d.ts +0 -21
- package/dist/core/consensus/BlockParams.d.ts +0 -24
- package/dist/core/consensus/EvidenceParams.d.ts +0 -28
- package/dist/core/consensus/ValidatorParams.d.ts +0 -21
- package/dist/core/consensus/index.d.ts +0 -5
- package/dist/core/consensus/msgs/MsgUpdateConsensusParams.d.ts +0 -45
- package/dist/core/consensus/msgs/index.d.ts +0 -8
- package/dist/core/crisis/index.d.ts +0 -1
- package/dist/core/crisis/msgs/MsgUpdateCrisisParams.d.ts +0 -33
- package/dist/core/crisis/msgs/MsgVerifyInvariant.d.ts +0 -35
- package/dist/core/crisis/msgs/index.d.ts +0 -10
- package/dist/core/distribution/DistributionParams.d.ts +0 -32
- package/dist/core/distribution/RewardWeight.d.ts +0 -25
- package/dist/core/distribution/index.d.ts +0 -3
- package/dist/core/distribution/msgs/MsgCommunityPoolSpend.d.ts +0 -36
- package/dist/core/distribution/msgs/MsgDepositValidatorRewardsPool.d.ts +0 -40
- package/dist/core/distribution/msgs/MsgFundCommunityPool.d.ts +0 -33
- package/dist/core/distribution/msgs/MsgSetWithdrawAddress.d.ts +0 -32
- package/dist/core/distribution/msgs/MsgUpdateDistrParams.d.ts +0 -33
- package/dist/core/distribution/msgs/MsgWithdrawDelegatorReward.d.ts +0 -32
- package/dist/core/distribution/msgs/MsgWithdrawValidatorCommission.d.ts +0 -29
- package/dist/core/distribution/msgs/index.d.ts +0 -20
- package/dist/core/evidence/Equivocation.d.ts +0 -38
- package/dist/core/evidence/Evidence.d.ts +0 -11
- package/dist/core/evidence/index.d.ts +0 -3
- package/dist/core/evidence/msgs/MsgSubmitEvidence.d.ts +0 -33
- package/dist/core/evidence/msgs/index.d.ts +0 -8
- package/dist/core/evm/AccessTuple.d.ts +0 -25
- package/dist/core/evm/EvmParams.d.ts +0 -43
- package/dist/core/evm/GasEnforcement.d.ts +0 -27
- package/dist/core/evm/SetCodeAuthorization.d.ts +0 -30
- package/dist/core/evm/index.d.ts +0 -5
- package/dist/core/evm/msgs/MsgCall.d.ts +0 -46
- package/dist/core/evm/msgs/MsgCreate.d.ts +0 -39
- package/dist/core/evm/msgs/MsgCreate2.d.ts +0 -42
- package/dist/core/evm/msgs/MsgUpdateEvmParams.d.ts +0 -33
- package/dist/core/evm/msgs/index.d.ts +0 -14
- package/dist/core/feegrant/allowances/AllowedMsgAllowance.d.ts +0 -33
- package/dist/core/feegrant/allowances/BasicAllowance.d.ts +0 -32
- package/dist/core/feegrant/allowances/PeriodicAllowance.d.ts +0 -43
- package/dist/core/feegrant/allowances/index.d.ts +0 -16
- package/dist/core/feegrant/index.d.ts +0 -2
- package/dist/core/feegrant/msgs/MsgGrantAllowance.d.ts +0 -36
- package/dist/core/feegrant/msgs/MsgRevokeAllowance.d.ts +0 -32
- package/dist/core/feegrant/msgs/index.d.ts +0 -10
- package/dist/core/forwarding/index.d.ts +0 -1
- package/dist/core/forwarding/msgs/MsgClearForwardingAccount.d.ts +0 -32
- package/dist/core/forwarding/msgs/MsgRegisterForwardingAccount.d.ts +0 -38
- package/dist/core/forwarding/msgs/MsgSetAllowedDenoms.d.ts +0 -32
- package/dist/core/forwarding/msgs/MsgSetMemo.d.ts +0 -44
- package/dist/core/forwarding/msgs/index.d.ts +0 -14
- package/dist/core/gov/Deposit.d.ts +0 -29
- package/dist/core/gov/GovParams.d.ts +0 -85
- package/dist/core/gov/TallyResult.d.ts +0 -36
- package/dist/core/gov/Vesting.d.ts +0 -28
- package/dist/core/gov/Vote.d.ts +0 -55
- package/dist/core/gov/index.d.ts +0 -6
- package/dist/core/gov/msgs/MsgActivateEmergencyProposal.d.ts +0 -32
- package/dist/core/gov/msgs/MsgAddEmergencySubmitters.d.ts +0 -32
- package/dist/core/gov/msgs/MsgCancelProposal.d.ts +0 -32
- package/dist/core/gov/msgs/MsgDeposit.d.ts +0 -36
- package/dist/core/gov/msgs/MsgDepositLegacy.d.ts +0 -36
- package/dist/core/gov/msgs/MsgRemoveEmergencySubmitters.d.ts +0 -32
- package/dist/core/gov/msgs/MsgSubmitProposal.d.ts +0 -49
- package/dist/core/gov/msgs/MsgSubmitProposalLegacy.d.ts +0 -37
- package/dist/core/gov/msgs/MsgUpdateGovParams.d.ts +0 -33
- package/dist/core/gov/msgs/MsgVote.d.ts +0 -41
- package/dist/core/gov/msgs/MsgVoteLegacy.d.ts +0 -38
- package/dist/core/gov/msgs/MsgVoteWeighted.d.ts +0 -39
- package/dist/core/gov/msgs/MsgVoteWeightedLegacy.d.ts +0 -36
- package/dist/core/gov/msgs/index.d.ts +0 -32
- package/dist/core/gov/proposals/Content.d.ts +0 -12
- package/dist/core/gov/proposals/Proposal.d.ts +0 -79
- package/dist/core/gov/proposals/TextProposal.d.ts +0 -31
- package/dist/core/gov/proposals/index.d.ts +0 -3
- package/dist/core/group/GroupInfo.d.ts +0 -37
- package/dist/core/group/GroupMember.d.ts +0 -78
- package/dist/core/group/GroupPolicyInfo.d.ts +0 -41
- package/dist/core/group/GroupProposal.d.ts +0 -82
- package/dist/core/group/GroupVote.d.ts +0 -36
- package/dist/core/group/index.d.ts +0 -7
- package/dist/core/group/msgs/MsgCreateGroup.d.ts +0 -36
- package/dist/core/group/msgs/MsgCreateGroupPolicy.d.ts +0 -39
- package/dist/core/group/msgs/MsgCreateGroupWithPolicy.d.ts +0 -46
- package/dist/core/group/msgs/MsgGroupExec.d.ts +0 -32
- package/dist/core/group/msgs/MsgGroupVote.d.ts +0 -46
- package/dist/core/group/msgs/MsgLeaveGroup.d.ts +0 -32
- package/dist/core/group/msgs/MsgSubmitGroupProposal.d.ts +0 -50
- package/dist/core/group/msgs/MsgUpdateGroupAdmin.d.ts +0 -35
- package/dist/core/group/msgs/MsgUpdateGroupDecisionPolicy.d.ts +0 -36
- package/dist/core/group/msgs/MsgUpdateGroupMembers.d.ts +0 -36
- package/dist/core/group/msgs/MsgUpdateGroupMetadata.d.ts +0 -35
- package/dist/core/group/msgs/MsgUpdateGroupPolicyAdmin.d.ts +0 -35
- package/dist/core/group/msgs/MsgUpdateGroupPolicyMetadata.d.ts +0 -35
- package/dist/core/group/msgs/MsgWithdrawProposal.d.ts +0 -32
- package/dist/core/group/msgs/index.d.ts +0 -32
- package/dist/core/group/policies/DecisionPolicyWindows.d.ts +0 -25
- package/dist/core/group/policies/PercentageDecisionPolicy.d.ts +0 -32
- package/dist/core/group/policies/ThresholdDecisionPolicy.d.ts +0 -32
- package/dist/core/group/policies/index.d.ts +0 -15
- package/dist/core/ibc/applications/fee/IbcFee.d.ts +0 -28
- package/dist/core/ibc/applications/fee/IdentifiedPacketFee.d.ts +0 -26
- package/dist/core/ibc/applications/fee/Metadata.d.ts +0 -24
- package/dist/core/ibc/applications/fee/PacketFee.d.ts +0 -29
- package/dist/core/ibc/applications/fee/index.d.ts +0 -5
- package/dist/core/ibc/applications/fee/msgs/MsgPayPacketFee.d.ts +0 -31
- package/dist/core/ibc/applications/fee/msgs/MsgPayPacketFeeAsync.d.ts +0 -26
- package/dist/core/ibc/applications/fee/msgs/MsgRegisterCounterpartyPayee.d.ts +0 -28
- package/dist/core/ibc/applications/fee/msgs/MsgRegisterPayee.d.ts +0 -28
- package/dist/core/ibc/applications/fee/msgs/index.d.ts +0 -13
- package/dist/core/ibc/applications/index.d.ts +0 -4
- package/dist/core/ibc/applications/interchain-account/Account.d.ts +0 -25
- package/dist/core/ibc/applications/interchain-account/Metadata.d.ts +0 -36
- package/dist/core/ibc/applications/interchain-account/controller/Params.d.ts +0 -21
- package/dist/core/ibc/applications/interchain-account/host/Params.d.ts +0 -24
- package/dist/core/ibc/applications/interchain-account/index.d.ts +0 -4
- package/dist/core/ibc/applications/nft-transfer/IbcNftParams.d.ts +0 -28
- package/dist/core/ibc/applications/nft-transfer/NftClassTrace.d.ts +0 -24
- package/dist/core/ibc/applications/nft-transfer/NonFungibleTokenPacketData.d.ts +0 -45
- package/dist/core/ibc/applications/nft-transfer/index.d.ts +0 -4
- package/dist/core/ibc/applications/nft-transfer/msgs/MsgNftTransfer.d.ts +0 -54
- package/dist/core/ibc/applications/nft-transfer/msgs/MsgUpdateIbcNftParams.d.ts +0 -33
- package/dist/core/ibc/applications/nft-transfer/msgs/index.d.ts +0 -10
- package/dist/core/ibc/applications/perm/index.d.ts +0 -1
- package/dist/core/ibc/applications/perm/msgs/MsgUpdateIbcPermAdmin.d.ts +0 -38
- package/dist/core/ibc/applications/perm/msgs/MsgUpdatePermissionedRelayers.d.ts +0 -38
- package/dist/core/ibc/applications/perm/msgs/index.d.ts +0 -10
- package/dist/core/ibc/applications/transfer/DenomTrace.d.ts +0 -24
- package/dist/core/ibc/applications/transfer/FungibleTokenPacketData.d.ts +0 -33
- package/dist/core/ibc/applications/transfer/IbcTransferParams.d.ts +0 -24
- package/dist/core/ibc/applications/transfer/authorizations/Allocation.d.ts +0 -34
- package/dist/core/ibc/applications/transfer/authorizations/TransferAuthorization.d.ts +0 -23
- package/dist/core/ibc/applications/transfer/authorizations/index.d.ts +0 -2
- package/dist/core/ibc/applications/transfer/index.d.ts +0 -5
- package/dist/core/ibc/applications/transfer/msgs/MsgTransfer.d.ts +0 -52
- package/dist/core/ibc/applications/transfer/msgs/MsgUpdateIbcTransferParams.d.ts +0 -26
- package/dist/core/ibc/applications/transfer/msgs/index.d.ts +0 -10
- package/dist/core/ibc/core/channel/Channel.d.ts +0 -39
- package/dist/core/ibc/core/channel/ChannelCounterparty.d.ts +0 -24
- package/dist/core/ibc/core/channel/ChannelOrder.d.ts +0 -3
- package/dist/core/ibc/core/channel/ChannelState.d.ts +0 -3
- package/dist/core/ibc/core/channel/ErrorReceipt.d.ts +0 -20
- package/dist/core/ibc/core/channel/IbcChannelParams.d.ts +0 -22
- package/dist/core/ibc/core/channel/IdentifiedChannel.d.ts +0 -45
- package/dist/core/ibc/core/channel/Packet.d.ts +0 -43
- package/dist/core/ibc/core/channel/PacketId.d.ts +0 -27
- package/dist/core/ibc/core/channel/Timeout.d.ts +0 -25
- package/dist/core/ibc/core/channel/Upgrade.d.ts +0 -24
- package/dist/core/ibc/core/channel/UpgradeFields.d.ts +0 -23
- package/dist/core/ibc/core/channel/index.d.ts +0 -13
- package/dist/core/ibc/core/channel/msgs/MsgChannelCloseConfirm.d.ts +0 -32
- package/dist/core/ibc/core/channel/msgs/MsgChannelCloseInit.d.ts +0 -27
- package/dist/core/ibc/core/channel/msgs/MsgChannelOpenAck.d.ts +0 -36
- package/dist/core/ibc/core/channel/msgs/MsgChannelOpenConfirm.d.ts +0 -32
- package/dist/core/ibc/core/channel/msgs/MsgChannelOpenInit.d.ts +0 -28
- package/dist/core/ibc/core/channel/msgs/MsgChannelOpenTry.d.ts +0 -36
- package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeAck.d.ts +0 -37
- package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeCancel.d.ts +0 -35
- package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeConfirm.d.ts +0 -40
- package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeInit.d.ts +0 -30
- package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeOpen.d.ts +0 -37
- package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeTimeout.d.ts +0 -35
- package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeTry.d.ts +0 -41
- package/dist/core/ibc/core/channel/msgs/MsgRecvAcknowledgement.d.ts +0 -32
- package/dist/core/ibc/core/channel/msgs/MsgRecvPacket.d.ts +0 -30
- package/dist/core/ibc/core/channel/msgs/MsgTimeout.d.ts +0 -32
- package/dist/core/ibc/core/channel/msgs/MsgTimeoutClose.d.ts +0 -34
- package/dist/core/ibc/core/channel/msgs/MsgUpdateIbcChannelParams.d.ts +0 -26
- package/dist/core/ibc/core/channel/msgs/index.d.ts +0 -41
- package/dist/core/ibc/core/client/ClientConsensusStates.d.ts +0 -25
- package/dist/core/ibc/core/client/ConsensusStateWithHeight.d.ts +0 -25
- package/dist/core/ibc/core/client/Height.d.ts +0 -24
- package/dist/core/ibc/core/client/IbcClientParams.d.ts +0 -21
- package/dist/core/ibc/core/client/IdentifiedClient.d.ts +0 -24
- package/dist/core/ibc/core/client/index.d.ts +0 -6
- package/dist/core/ibc/core/client/msgs/MsgCreateClient.d.ts +0 -27
- package/dist/core/ibc/core/client/msgs/MsgIBCSoftwareUpgrade.d.ts +0 -28
- package/dist/core/ibc/core/client/msgs/MsgRecoverClient.d.ts +0 -27
- package/dist/core/ibc/core/client/msgs/MsgSubmitMisbehaviour.d.ts +0 -27
- package/dist/core/ibc/core/client/msgs/MsgUpdateClient.d.ts +0 -27
- package/dist/core/ibc/core/client/msgs/MsgUpdateIbcClientParams.d.ts +0 -26
- package/dist/core/ibc/core/client/msgs/MsgUpgradeClient.d.ts +0 -33
- package/dist/core/ibc/core/client/msgs/index.d.ts +0 -19
- package/dist/core/ibc/core/client/msgs/tendermint/crypto.d.ts +0 -43
- package/dist/core/ibc/core/client/msgs/tendermint/types.d.ts +0 -187
- package/dist/core/ibc/core/client/msgs/tendermint/version.d.ts +0 -38
- package/dist/core/ibc/core/commitment/MerklePrefix.d.ts +0 -21
- package/dist/core/ibc/core/commitment/MerkleRoot.d.ts +0 -21
- package/dist/core/ibc/core/commitment/index.d.ts +0 -2
- package/dist/core/ibc/core/connection/ConnectionCounterparty.d.ts +0 -28
- package/dist/core/ibc/core/connection/ConnectionState.d.ts +0 -3
- package/dist/core/ibc/core/connection/IbcConnectionParams.d.ts +0 -21
- package/dist/core/ibc/core/connection/IbcVersion.d.ts +0 -24
- package/dist/core/ibc/core/connection/IdentifiedConnection.d.ts +0 -39
- package/dist/core/ibc/core/connection/index.d.ts +0 -5
- package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenAck.d.ts +0 -42
- package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenConfirm.d.ts +0 -30
- package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenInit.d.ts +0 -33
- package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenTry.d.ts +0 -46
- package/dist/core/ibc/core/connection/msgs/MsgUpdateIbcConnectionParams.d.ts +0 -26
- package/dist/core/ibc/core/connection/msgs/index.d.ts +0 -15
- package/dist/core/ibc/core/index.d.ts +0 -4
- package/dist/core/ibc/index.d.ts +0 -2
- package/dist/core/ibc/lightclient/index.d.ts +0 -1
- package/dist/core/ibc/lightclient/tendermint/Header.d.ts +0 -29
- package/dist/core/ibchooks/ACL.d.ts +0 -25
- package/dist/core/ibchooks/IbcHooksParams.d.ts +0 -25
- package/dist/core/ibchooks/index.d.ts +0 -3
- package/dist/core/ibchooks/msgs/MsgUpdateACL.d.ts +0 -35
- package/dist/core/ibchooks/msgs/MsgUpdateIbcHooksParams.d.ts +0 -33
- package/dist/core/ibchooks/msgs/index.d.ts +0 -10
- package/dist/core/index.d.ts +0 -40
- package/dist/core/intertx/index.d.ts +0 -1
- package/dist/core/intertx/msgs/MsgRegisterAccount.d.ts +0 -39
- package/dist/core/intertx/msgs/MsgSubmitTx.d.ts +0 -36
- package/dist/core/intertx/msgs/index.d.ts +0 -10
- package/dist/core/marketmap/Market.d.ts +0 -26
- package/dist/core/marketmap/MarketmapParams.d.ts +0 -25
- package/dist/core/marketmap/ProviderConfig.d.ts +0 -34
- package/dist/core/marketmap/Ticker.d.ts +0 -34
- package/dist/core/marketmap/index.d.ts +0 -5
- package/dist/core/marketmap/msgs/MsgCreateMarkets.d.ts +0 -33
- package/dist/core/marketmap/msgs/MsgRemoveMarketAuthorities.d.ts +0 -32
- package/dist/core/marketmap/msgs/MsgRemoveMarkets.d.ts +0 -32
- package/dist/core/marketmap/msgs/MsgUpdateMarketmapParams.d.ts +0 -33
- package/dist/core/marketmap/msgs/MsgUpdateMarkets.d.ts +0 -33
- package/dist/core/marketmap/msgs/MsgUpsertMarkets.d.ts +0 -33
- package/dist/core/marketmap/msgs/index.d.ts +0 -18
- package/dist/core/move/Module.d.ts +0 -36
- package/dist/core/move/MoveParams.d.ts +0 -37
- package/dist/core/move/index.d.ts +0 -3
- package/dist/core/move/msgs/MsgDelist.d.ts +0 -32
- package/dist/core/move/msgs/MsgExecute.d.ts +0 -44
- package/dist/core/move/msgs/MsgExecuteJSON.d.ts +0 -44
- package/dist/core/move/msgs/MsgGovExecute.d.ts +0 -47
- package/dist/core/move/msgs/MsgGovExecuteJSON.d.ts +0 -47
- package/dist/core/move/msgs/MsgGovPublish.d.ts +0 -41
- package/dist/core/move/msgs/MsgGovScript.d.ts +0 -41
- package/dist/core/move/msgs/MsgGovScriptJSON.d.ts +0 -41
- package/dist/core/move/msgs/MsgPublish.d.ts +0 -38
- package/dist/core/move/msgs/MsgScript.d.ts +0 -38
- package/dist/core/move/msgs/MsgScriptJSON.d.ts +0 -38
- package/dist/core/move/msgs/MsgUpdateMoveParams.d.ts +0 -33
- package/dist/core/move/msgs/MsgWhitelist.d.ts +0 -35
- package/dist/core/move/msgs/index.d.ts +0 -32
- package/dist/core/mstaking/Delegation.d.ts +0 -36
- package/dist/core/mstaking/MstakingParams.d.ts +0 -44
- package/dist/core/mstaking/Redelegation.d.ts +0 -71
- package/dist/core/mstaking/UnbondingDelegation.d.ts +0 -57
- package/dist/core/mstaking/Validator.d.ts +0 -137
- package/dist/core/mstaking/index.d.ts +0 -6
- package/dist/core/mstaking/msgs/MsgBeginRedelegate.d.ts +0 -39
- package/dist/core/mstaking/msgs/MsgCancelUnbondingDelegation.d.ts +0 -39
- package/dist/core/mstaking/msgs/MsgCreateValidator.d.ts +0 -44
- package/dist/core/mstaking/msgs/MsgDelegate.d.ts +0 -36
- package/dist/core/mstaking/msgs/MsgEditValidator.d.ts +0 -37
- package/dist/core/mstaking/msgs/MsgUndelegate.d.ts +0 -36
- package/dist/core/mstaking/msgs/MsgUpdateMstakingParams.d.ts +0 -33
- package/dist/core/mstaking/msgs/index.d.ts +0 -20
- package/dist/core/num.d.ts +0 -2
- package/dist/core/opchild/BridgeInfo.d.ts +0 -34
- package/dist/core/opchild/L2MigrationInfo.d.ts +0 -27
- package/dist/core/opchild/OpValidator.d.ts +0 -32
- package/dist/core/opchild/OpchildParams.d.ts +0 -45
- package/dist/core/opchild/index.d.ts +0 -5
- package/dist/core/opchild/msgs/MsgAddAttestor.d.ts +0 -39
- package/dist/core/opchild/msgs/MsgAddBridgeExecutor.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgAddFeeWhitelistAddresses.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgExecuteMessages.d.ts +0 -33
- package/dist/core/opchild/msgs/MsgFinalizeTokenDeposit.d.ts +0 -52
- package/dist/core/opchild/msgs/MsgInitiateTokenWithdrawal.d.ts +0 -36
- package/dist/core/opchild/msgs/MsgMigrateToken.d.ts +0 -33
- package/dist/core/opchild/msgs/MsgRegisterL2MigrationInfo.d.ts +0 -33
- package/dist/core/opchild/msgs/MsgRemoveAttestor.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgRemoveBridgeExecutor.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgRemoveFeeWhitelistAddresses.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgSetBridgeInfo.d.ts +0 -33
- package/dist/core/opchild/msgs/MsgSpendFeePool.d.ts +0 -36
- package/dist/core/opchild/msgs/MsgUpdateMinGasPrices.d.ts +0 -33
- package/dist/core/opchild/msgs/MsgUpdateOpchildAdmin.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgUpdateOpchildParams.d.ts +0 -33
- package/dist/core/opchild/msgs/MsgUpdateOracle.d.ts +0 -35
- package/dist/core/opchild/msgs/MsgUpdateSequencer.d.ts +0 -39
- package/dist/core/opchild/msgs/index.d.ts +0 -42
- package/dist/core/ophost/BatchInfo.d.ts +0 -25
- package/dist/core/ophost/BatchInfoWithOutput.d.ts +0 -26
- package/dist/core/ophost/BridgeConfig.d.ts +0 -51
- package/dist/core/ophost/L1MigrationInfo.d.ts +0 -30
- package/dist/core/ophost/OphostParams.d.ts +0 -26
- package/dist/core/ophost/Output.d.ts +0 -30
- package/dist/core/ophost/index.d.ts +0 -7
- package/dist/core/ophost/msgs/MsgCreateBridge.d.ts +0 -33
- package/dist/core/ophost/msgs/MsgDeleteOutput.d.ts +0 -35
- package/dist/core/ophost/msgs/MsgDisableBridge.d.ts +0 -32
- package/dist/core/ophost/msgs/MsgFinalizeTokenWithdrawal.d.ts +0 -60
- package/dist/core/ophost/msgs/MsgInitiateTokenDeposit.d.ts +0 -42
- package/dist/core/ophost/msgs/MsgProposeOutput.d.ts +0 -41
- package/dist/core/ophost/msgs/MsgRecordBatch.d.ts +0 -35
- package/dist/core/ophost/msgs/MsgRegisterL1MigrationInfo.d.ts +0 -33
- package/dist/core/ophost/msgs/MsgUpdateBatchInfo.d.ts +0 -36
- package/dist/core/ophost/msgs/MsgUpdateChallenger.d.ts +0 -35
- package/dist/core/ophost/msgs/MsgUpdateFinalizationPeriod.d.ts +0 -36
- package/dist/core/ophost/msgs/MsgUpdateMetadata.d.ts +0 -35
- package/dist/core/ophost/msgs/MsgUpdateOphostParams.d.ts +0 -33
- package/dist/core/ophost/msgs/MsgUpdateOracleConfig.d.ts +0 -35
- package/dist/core/ophost/msgs/MsgUpdateProposer.d.ts +0 -35
- package/dist/core/ophost/msgs/index.d.ts +0 -36
- package/dist/core/oracle/CurrencyPair.d.ts +0 -25
- package/dist/core/oracle/QuotePrice.d.ts +0 -27
- package/dist/core/oracle/index.d.ts +0 -3
- package/dist/core/oracle/msgs/MsgAddCurrencyPairs.d.ts +0 -33
- package/dist/core/oracle/msgs/MsgRemoveCurrencyPairs.d.ts +0 -32
- package/dist/core/oracle/msgs/index.d.ts +0 -10
- package/dist/core/params/ParamChange.d.ts +0 -42
- package/dist/core/params/index.d.ts +0 -2
- package/dist/core/params/proposals/ParameterChangeProposal.d.ts +0 -35
- package/dist/core/params/proposals/index.d.ts +0 -1
- package/dist/core/reward/RewardParams.d.ts +0 -38
- package/dist/core/reward/index.d.ts +0 -2
- package/dist/core/reward/msgs/MsgFundCommunityPoolReward.d.ts +0 -33
- package/dist/core/reward/msgs/MsgUpdateRewardParams.d.ts +0 -33
- package/dist/core/reward/msgs/index.d.ts +0 -10
- package/dist/core/slashing/SlashingParams.d.ts +0 -38
- package/dist/core/slashing/ValidatorSigningInfo.d.ts +0 -37
- package/dist/core/slashing/index.d.ts +0 -3
- package/dist/core/slashing/msgs/MsgUnjail.d.ts +0 -29
- package/dist/core/slashing/msgs/MsgUpdateSlashingParams.d.ts +0 -33
- package/dist/core/slashing/msgs/index.d.ts +0 -10
- package/dist/core/tokenfactory/TokenfactoryParams.d.ts +0 -25
- package/dist/core/tokenfactory/index.d.ts +0 -2
- package/dist/core/tokenfactory/msgs/MsgBurn.d.ts +0 -33
- package/dist/core/tokenfactory/msgs/MsgChangeAdmin.d.ts +0 -35
- package/dist/core/tokenfactory/msgs/MsgCreateDenom.d.ts +0 -32
- package/dist/core/tokenfactory/msgs/MsgMint.d.ts +0 -36
- package/dist/core/tokenfactory/msgs/MsgSetBeforeSendHook.d.ts +0 -35
- package/dist/core/tokenfactory/msgs/MsgSetDenomMetadataWasm.d.ts +0 -33
- package/dist/core/tokenfactory/msgs/MsgUpdateTokenfactoryParams.d.ts +0 -33
- package/dist/core/tokenfactory/msgs/index.d.ts +0 -20
- package/dist/core/tx/CompactBitArray.d.ts +0 -22
- package/dist/core/tx/Fee.d.ts +0 -31
- package/dist/core/tx/MultiSignature.d.ts +0 -13
- package/dist/core/tx/SignDoc.d.ts +0 -36
- package/dist/core/tx/SignMode.d.ts +0 -3
- package/dist/core/tx/SignatureV2.d.ts +0 -66
- package/dist/core/tx/Tx.d.ts +0 -146
- package/dist/core/tx/TxInfo.d.ts +0 -74
- package/dist/core/tx/index.d.ts +0 -7
- package/dist/core/upgrade/Plan.d.ts +0 -27
- package/dist/core/upgrade/index.d.ts +0 -2
- package/dist/core/upgrade/msgs/MsgCancelUpgrade.d.ts +0 -29
- package/dist/core/upgrade/msgs/MsgSoftwareUpgrade.d.ts +0 -33
- package/dist/core/upgrade/msgs/index.d.ts +0 -10
- package/dist/core/wasm/AbsoluteTxPosition.d.ts +0 -24
- package/dist/core/wasm/AccessConfig.d.ts +0 -27
- package/dist/core/wasm/WasmParams.d.ts +0 -32
- package/dist/core/wasm/authorizations/AcceptedMessageKeysFilter.d.ts +0 -28
- package/dist/core/wasm/authorizations/AcceptedMessagesFilter.d.ts +0 -28
- package/dist/core/wasm/authorizations/AllowAllMessagesFilter.d.ts +0 -24
- package/dist/core/wasm/authorizations/CodeGrant.d.ts +0 -25
- package/dist/core/wasm/authorizations/CombinedLimit.d.ts +0 -32
- package/dist/core/wasm/authorizations/ContractExecutionAuthorization.d.ts +0 -29
- package/dist/core/wasm/authorizations/ContractFilter.d.ts +0 -13
- package/dist/core/wasm/authorizations/ContractGrant.d.ts +0 -30
- package/dist/core/wasm/authorizations/ContractLimit.d.ts +0 -13
- package/dist/core/wasm/authorizations/ContractMigrationAuthorization.d.ts +0 -29
- package/dist/core/wasm/authorizations/MaxCallsLimit.d.ts +0 -28
- package/dist/core/wasm/authorizations/MaxFundsLimit.d.ts +0 -29
- package/dist/core/wasm/authorizations/StoreCodeAuthorization.d.ts +0 -29
- package/dist/core/wasm/authorizations/index.d.ts +0 -11
- package/dist/core/wasm/index.d.ts +0 -5
- package/dist/core/wasm/msgs/MsgAddCodeUploadParamsAddresses.d.ts +0 -32
- package/dist/core/wasm/msgs/MsgClearAdmin.d.ts +0 -32
- package/dist/core/wasm/msgs/MsgExecuteContract.d.ts +0 -39
- package/dist/core/wasm/msgs/MsgInstantiateContract.d.ts +0 -45
- package/dist/core/wasm/msgs/MsgInstantiateContractV2.d.ts +0 -51
- package/dist/core/wasm/msgs/MsgMigrateContract.d.ts +0 -38
- package/dist/core/wasm/msgs/MsgPinCodes.d.ts +0 -32
- package/dist/core/wasm/msgs/MsgRemoveCodeUploadParamsAddresses.d.ts +0 -32
- package/dist/core/wasm/msgs/MsgStoreAndInstantiateContract.d.ts +0 -61
- package/dist/core/wasm/msgs/MsgStoreAndMigrateContract.d.ts +0 -42
- package/dist/core/wasm/msgs/MsgStoreCode.d.ts +0 -36
- package/dist/core/wasm/msgs/MsgSudoContract.d.ts +0 -35
- package/dist/core/wasm/msgs/MsgUnpinCodes.d.ts +0 -32
- package/dist/core/wasm/msgs/MsgUpdateAdmin.d.ts +0 -35
- package/dist/core/wasm/msgs/MsgUpdateContractLabel.d.ts +0 -35
- package/dist/core/wasm/msgs/MsgUpdateInstantiateConfig.d.ts +0 -36
- package/dist/core/wasm/msgs/MsgUpdateMaxWasmSize.d.ts +0 -32
- package/dist/core/wasm/msgs/MsgUpdateWasmParams.d.ts +0 -33
- package/dist/core/wasm/msgs/index.d.ts +0 -42
- package/dist/core/wasmextension/AccessConfigExt.d.ts +0 -28
- package/dist/core/wasmextension/index.d.ts +0 -2
- package/dist/core/wasmextension/msgs/MsgStoreCodeAdmin.d.ts +0 -39
- package/dist/core/wasmextension/msgs/index.d.ts +0 -8
- package/dist/index.cjs +0 -6
- package/dist/index.d.ts +0 -4
- package/dist/index.mjs +0 -103590
- package/dist/key/Key.d.ts +0 -20
- package/dist/key/MnemonicKey.d.ts +0 -14
- package/dist/key/RawKey.d.ts +0 -9
- package/dist/key/index.d.ts +0 -3
- package/dist/util/bcs.d.ts +0 -44
- package/dist/util/hash.d.ts +0 -4
- package/dist/util/index.d.ts +0 -3
- package/dist/util/json.d.ts +0 -9
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { bech32 } from "@scure/base";
|
|
2
|
+
import { keccak_256 } from "@noble/hashes/sha3.js";
|
|
3
|
+
import { bytesToHex, hexToBytes } from "@noble/hashes/utils.js";
|
|
4
|
+
//#region src/util/address.ts
|
|
5
|
+
/**
|
|
6
|
+
* Bech32 address utilities for Initia blockchain.
|
|
7
|
+
*
|
|
8
|
+
* Provides type definitions and conversion utilities for all Initia address types:
|
|
9
|
+
* - AccAddress: Account addresses (init1...)
|
|
10
|
+
* - ValAddress: Validator operator addresses (initvaloper1...)
|
|
11
|
+
* - ValConsAddress: Validator consensus addresses (initvalcons1...)
|
|
12
|
+
* - AccPubKey: Account public keys (initpub1...)
|
|
13
|
+
* - ValPubKey: Validator public keys (initvaloperpub1...)
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Decode a bech32 address with runtime validation.
|
|
17
|
+
* Centralizes the Bech32String type assertion to a single location.
|
|
18
|
+
*
|
|
19
|
+
* @param address - Address string to decode
|
|
20
|
+
* @returns Decoded prefix and words
|
|
21
|
+
* @throws Error if not a valid bech32 string
|
|
22
|
+
*/
|
|
23
|
+
function decodeBech32(address) {
|
|
24
|
+
if (!address.includes("1")) throw new Error(`Invalid bech32 format: missing separator in "${address}"`);
|
|
25
|
+
return bech32.decode(address);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Try to decode a bech32 address, returning null on failure.
|
|
29
|
+
*/
|
|
30
|
+
function tryDecodeBech32(address) {
|
|
31
|
+
try {
|
|
32
|
+
if (!address.includes("1")) return null;
|
|
33
|
+
return bech32.decode(address);
|
|
34
|
+
} catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function checkPrefixAndLength(prefix, data, length) {
|
|
39
|
+
const decoded = tryDecodeBech32(data);
|
|
40
|
+
return decoded !== null && decoded.prefix === prefix && data.length === length;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Account address utilities.
|
|
44
|
+
*/
|
|
45
|
+
const AccAddress = {
|
|
46
|
+
validate(data) {
|
|
47
|
+
return checkPrefixAndLength("init", data, 43) || checkPrefixAndLength("init", data, 63);
|
|
48
|
+
},
|
|
49
|
+
fromValAddress(valAddr) {
|
|
50
|
+
const decoded = decodeBech32(valAddr);
|
|
51
|
+
return bech32.encode("init", decoded.words);
|
|
52
|
+
},
|
|
53
|
+
toHex(address) {
|
|
54
|
+
const decoded = decodeBech32(address);
|
|
55
|
+
const bytes = bech32.fromWords(decoded.words);
|
|
56
|
+
return "0x" + bytesToHex(new Uint8Array(bytes));
|
|
57
|
+
},
|
|
58
|
+
fromHex(hexAddress, options) {
|
|
59
|
+
const prefix = options?.prefix ?? options?.chainInfo?.bech32Prefix ?? "init";
|
|
60
|
+
const hex = hexAddress.replace(/^0x0*|^0+/, "");
|
|
61
|
+
const bytes = hexToBytes(hex.length <= 40 ? hex.padStart(40, "0") : hex.padStart(64, "0"));
|
|
62
|
+
return bech32.encode(prefix, bech32.toWords(bytes));
|
|
63
|
+
},
|
|
64
|
+
toBytes(address) {
|
|
65
|
+
const decoded = decodeBech32(address);
|
|
66
|
+
return new Uint8Array(bech32.fromWords(decoded.words));
|
|
67
|
+
},
|
|
68
|
+
isValidBech32(address, prefix = "init") {
|
|
69
|
+
const decoded = tryDecodeBech32(address);
|
|
70
|
+
return decoded !== null && decoded.prefix === prefix;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Account public key utilities.
|
|
75
|
+
*/
|
|
76
|
+
const AccPubKey = {
|
|
77
|
+
validate(data) {
|
|
78
|
+
return checkPrefixAndLength("initpub", data, 46);
|
|
79
|
+
},
|
|
80
|
+
fromAccAddress(address) {
|
|
81
|
+
const decoded = decodeBech32(address);
|
|
82
|
+
return bech32.encode("initpub", decoded.words);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Validator operator address utilities.
|
|
87
|
+
*/
|
|
88
|
+
const ValAddress = {
|
|
89
|
+
validate(data) {
|
|
90
|
+
return checkPrefixAndLength("initvaloper", data, 50);
|
|
91
|
+
},
|
|
92
|
+
fromAccAddress(accAddr) {
|
|
93
|
+
const decoded = decodeBech32(accAddr);
|
|
94
|
+
return bech32.encode("initvaloper", decoded.words);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Validator public key utilities.
|
|
99
|
+
*/
|
|
100
|
+
const ValPubKey = {
|
|
101
|
+
validate(data) {
|
|
102
|
+
return checkPrefixAndLength("initvaloperpub", data, 53);
|
|
103
|
+
},
|
|
104
|
+
fromValAddress(valAddress) {
|
|
105
|
+
const decoded = decodeBech32(valAddress);
|
|
106
|
+
return bech32.encode("initvaloperpub", decoded.words);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Validator consensus address utilities.
|
|
111
|
+
*/
|
|
112
|
+
const ValConsAddress = { validate(data) {
|
|
113
|
+
return checkPrefixAndLength("initvalcons", data, 50);
|
|
114
|
+
} };
|
|
115
|
+
/**
|
|
116
|
+
* Validates if a string is a valid EVM address (0x-prefixed, 40 hex chars).
|
|
117
|
+
*
|
|
118
|
+
* @param address - Address to validate
|
|
119
|
+
* @returns true if valid EVM address format
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* isValidEvmAddress('0x1234567890123456789012345678901234567890') // true
|
|
124
|
+
* isValidEvmAddress('0x123') // false (too short)
|
|
125
|
+
* isValidEvmAddress('init1...') // false (not EVM format)
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
function isValidEvmAddress(address) {
|
|
129
|
+
return /^0x[0-9a-fA-F]{40}$/.test(address);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Converts an EVM address to EIP-55 checksum format.
|
|
133
|
+
*
|
|
134
|
+
* @param address - EVM address to convert
|
|
135
|
+
* @returns Checksum-formatted address
|
|
136
|
+
* @throws Error if address is invalid
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* toChecksumAddress('0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed')
|
|
141
|
+
* // '0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed'
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
function toChecksumAddress(address) {
|
|
145
|
+
const lower = address.toLowerCase();
|
|
146
|
+
if (!/^0x[0-9a-f]{40}$/.test(lower)) throw new Error(`Invalid EVM address: ${address}`);
|
|
147
|
+
const body = lower.slice(2);
|
|
148
|
+
const hash = bytesToHex(keccak_256(new TextEncoder().encode(body)));
|
|
149
|
+
let result = "0x";
|
|
150
|
+
for (let i = 0; i < 40; i++) result += parseInt(hash[i], 16) >= 8 ? body[i].toUpperCase() : body[i];
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
//#endregion
|
|
154
|
+
export { ValPubKey as a, tryDecodeBech32 as c, ValConsAddress as i, AccPubKey as n, isValidEvmAddress as o, ValAddress as r, toChecksumAddress as s, AccAddress as t };
|
|
155
|
+
|
|
156
|
+
//# sourceMappingURL=address-DwAkzgJk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-DwAkzgJk.mjs","names":[],"sources":["../src/util/address.ts"],"sourcesContent":["/**\n * Bech32 address utilities for Initia blockchain.\n *\n * Provides type definitions and conversion utilities for all Initia address types:\n * - AccAddress: Account addresses (init1...)\n * - ValAddress: Validator operator addresses (initvaloper1...)\n * - ValConsAddress: Validator consensus addresses (initvalcons1...)\n * - AccPubKey: Account public keys (initpub1...)\n * - ValPubKey: Validator public keys (initvaloperpub1...)\n */\n\nimport { bech32 } from '@scure/base'\nimport { bytesToHex, hexToBytes } from '@noble/hashes/utils.js'\nimport { keccak_256 } from '@noble/hashes/sha3.js'\n\nimport type { ChainInfo } from '../provider/types'\n\n/** Bech32 string type (contains '1' separator) */\ntype Bech32String = `${string}1${string}`\n\n/** `init1...` prefixed account address */\nexport type AccAddress = string\n\n/** `initvaloper1...` prefixed validator operator address */\nexport type ValAddress = string\n\n/** `initvalcons1...` prefixed validator consensus address */\nexport type ValConsAddress = string\n\n/** `initpub1...` prefixed account public key */\nexport type AccPubKey = string\n\n/** `initvaloperpub1...` prefixed validator public key */\nexport type ValPubKey = string\n\n/**\n * Options for converting hex address to bech32.\n */\nexport interface FromHexOptions {\n /** Direct prefix override (highest priority) */\n prefix?: string\n /** Extract prefix from ChainInfo (used if prefix not specified) */\n chainInfo?: Pick<ChainInfo, 'bech32Prefix' | 'chainType'>\n}\n\n// =============================================================================\n// Bech32 Helpers (centralized type assertion)\n// =============================================================================\n\n/**\n * Decode a bech32 address with runtime validation.\n * Centralizes the Bech32String type assertion to a single location.\n *\n * @param address - Address string to decode\n * @returns Decoded prefix and words\n * @throws Error if not a valid bech32 string\n */\nfunction decodeBech32(address: string): { prefix: string; words: number[] } {\n // Runtime validation: bech32 requires '1' separator\n if (!address.includes('1')) {\n throw new Error(`Invalid bech32 format: missing separator in \"${address}\"`)\n }\n return bech32.decode(address as Bech32String)\n}\n\n/**\n * Try to decode a bech32 address, returning null on failure.\n */\nexport function tryDecodeBech32(address: string): { prefix: string; words: number[] } | null {\n try {\n if (!address.includes('1')) return null\n return bech32.decode(address as Bech32String)\n } catch {\n return null\n }\n}\n\nfunction checkPrefixAndLength(prefix: string, data: string, length: number): boolean {\n const decoded = tryDecodeBech32(data)\n return decoded !== null && decoded.prefix === prefix && data.length === length\n}\n\n/**\n * Account address utilities.\n */\nexport const AccAddress = {\n /**\n * Validates if a string is a valid Initia account address.\n * Accepts both 20-byte (43 chars) and 32-byte Move addresses (63 chars).\n */\n validate(data: string): boolean {\n return checkPrefixAndLength('init', data, 43) || checkPrefixAndLength('init', data, 63)\n },\n\n /**\n * Converts a validator address to an account address.\n */\n fromValAddress(valAddr: ValAddress): AccAddress {\n const decoded = decodeBech32(valAddr)\n return bech32.encode('init', decoded.words)\n },\n\n /**\n * Converts an account address to a hex string (0x prefixed).\n */\n toHex(address: AccAddress): string {\n const decoded = decodeBech32(address)\n const bytes = bech32.fromWords(decoded.words)\n return '0x' + bytesToHex(new Uint8Array(bytes))\n },\n\n /**\n * Converts a hex address to a bech32 address.\n * Handles both 20-byte and 32-byte addresses.\n *\n * @param hexAddress - Hex address (with or without 0x prefix)\n * @param options - Optional prefix configuration\n * @returns Bech32 encoded address\n *\n * @example\n * ```typescript\n * // Default (init prefix)\n * AccAddress.fromHex('0x1234...') // 'init1...'\n *\n * // Custom prefix\n * AccAddress.fromHex('0x1234...', { prefix: 'noble' }) // 'noble1...'\n *\n * // From ChainInfo\n * AccAddress.fromHex('0x1234...', { chainInfo }) // uses chainInfo.bech32Prefix\n * ```\n */\n fromHex(hexAddress: string, options?: FromHexOptions): string {\n // Determine prefix: options.prefix > chainInfo.bech32Prefix > 'init'\n const prefix = options?.prefix ?? options?.chainInfo?.bech32Prefix ?? 'init'\n\n const hex = hexAddress.replace(/^0x0*|^0+/, '')\n const paddedHex = hex.length <= 40 ? hex.padStart(40, '0') : hex.padStart(64, '0')\n const bytes = hexToBytes(paddedHex)\n return bech32.encode(prefix, bech32.toWords(bytes))\n },\n\n /**\n * Converts an account address to raw bytes.\n */\n toBytes(address: AccAddress): Uint8Array {\n const decoded = decodeBech32(address)\n return new Uint8Array(bech32.fromWords(decoded.words))\n },\n\n /**\n * Validates if a string is a valid bech32 address with optional prefix check.\n *\n * @param address - Address to validate\n * @param prefix - Expected prefix (defaults to 'init')\n * @returns true if valid bech32 address with matching prefix\n *\n * @example\n * ```typescript\n * AccAddress.isValidBech32('init1...') // true\n * AccAddress.isValidBech32('noble1...', 'noble') // true\n * AccAddress.isValidBech32('noble1...', 'init') // false (prefix mismatch)\n * ```\n */\n isValidBech32(address: string, prefix: string = 'init'): boolean {\n const decoded = tryDecodeBech32(address)\n return decoded !== null && decoded.prefix === prefix\n },\n}\n\n/**\n * Account public key utilities.\n */\nexport const AccPubKey = {\n /**\n * Validates if a string is a valid Initia account public key.\n */\n validate(data: string): boolean {\n return checkPrefixAndLength('initpub', data, 46)\n },\n\n /**\n * Converts an account address to an account public key format.\n */\n fromAccAddress(address: AccAddress): AccPubKey {\n const decoded = decodeBech32(address)\n return bech32.encode('initpub', decoded.words)\n },\n}\n\n/**\n * Validator operator address utilities.\n */\nexport const ValAddress = {\n /**\n * Validates if a string is a valid Initia validator address.\n */\n validate(data: string): boolean {\n return checkPrefixAndLength('initvaloper', data, 50)\n },\n\n /**\n * Converts an account address to a validator address.\n */\n fromAccAddress(accAddr: AccAddress): ValAddress {\n const decoded = decodeBech32(accAddr)\n return bech32.encode('initvaloper', decoded.words)\n },\n}\n\n/**\n * Validator public key utilities.\n */\nexport const ValPubKey = {\n /**\n * Validates if a string is a valid Initia validator public key.\n */\n validate(data: string): boolean {\n return checkPrefixAndLength('initvaloperpub', data, 53)\n },\n\n /**\n * Converts a validator address to a validator public key format.\n */\n fromValAddress(valAddress: ValAddress): ValPubKey {\n const decoded = decodeBech32(valAddress)\n return bech32.encode('initvaloperpub', decoded.words)\n },\n}\n\n/**\n * Validator consensus address utilities.\n */\nexport const ValConsAddress = {\n /**\n * Validates if a string is a valid Initia validator consensus address.\n */\n validate(data: string): boolean {\n return checkPrefixAndLength('initvalcons', data, 50)\n },\n}\n\n// =============================================================================\n// EVM Address Utilities\n// =============================================================================\n\n/**\n * Validates if a string is a valid EVM address (0x-prefixed, 40 hex chars).\n *\n * @param address - Address to validate\n * @returns true if valid EVM address format\n *\n * @example\n * ```typescript\n * isValidEvmAddress('0x1234567890123456789012345678901234567890') // true\n * isValidEvmAddress('0x123') // false (too short)\n * isValidEvmAddress('init1...') // false (not EVM format)\n * ```\n */\nexport function isValidEvmAddress(address: string): boolean {\n return /^0x[0-9a-fA-F]{40}$/.test(address)\n}\n\n/**\n * Converts an EVM address to EIP-55 checksum format.\n *\n * @param address - EVM address to convert\n * @returns Checksum-formatted address\n * @throws Error if address is invalid\n *\n * @example\n * ```typescript\n * toChecksumAddress('0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed')\n * // '0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed'\n * ```\n */\nexport function toChecksumAddress(address: string): string {\n const lower = address.toLowerCase()\n if (!/^0x[0-9a-f]{40}$/.test(lower)) {\n throw new Error(`Invalid EVM address: ${address}`)\n }\n const body = lower.slice(2)\n const hash = bytesToHex(keccak_256(new TextEncoder().encode(body)))\n let result = '0x'\n for (let i = 0; i < 40; i++) {\n result += parseInt(hash[i], 16) >= 8 ? body[i].toUpperCase() : body[i]\n }\n return result\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { _ as HasClient } from "./types-DGrP9Ro_.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/client/address-profile.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* On-chain account type derived from auth query's typeUrl.
|
|
6
|
+
* - 'unknown': typeUrl that SDK doesn't explicitly map (e.g., vesting accounts on other Cosmos chains)
|
|
7
|
+
* - Initia uses Move-based vesting, not Cosmos SDK vesting accounts
|
|
8
|
+
*/
|
|
9
|
+
type AccountKind = 'base' | 'module' | 'evm-code' | 'evm-shorthand' | 'move-object' | 'move-table' | 'unknown';
|
|
10
|
+
/**
|
|
11
|
+
* Functional capability derived from VM queries.
|
|
12
|
+
* Kept as a standalone export for convenience; inline literals used in AddressProfile for narrowing.
|
|
13
|
+
*/
|
|
14
|
+
type ContractKind = 'none' | 'evm' | 'move' | 'wasm';
|
|
15
|
+
/**
|
|
16
|
+
* Discriminated union representing a comprehensive address profile.
|
|
17
|
+
*
|
|
18
|
+
* Two independent axes:
|
|
19
|
+
* - `account`: on-chain truth from auth query (undefined = not yet on-chain)
|
|
20
|
+
* - `contract`: functional capability from VM queries (discriminant)
|
|
21
|
+
*
|
|
22
|
+
* Type-level constraints prevent impossible states:
|
|
23
|
+
* - 'evm-code' always pairs with contract: 'evm'
|
|
24
|
+
* - 'evm-shorthand' pairs with contract: 'evm' or 'none' (transparent resolve of canonical)
|
|
25
|
+
* - Move/Wasm variants exclude EVM-specific account kinds
|
|
26
|
+
*/
|
|
27
|
+
type AddressProfile = {
|
|
28
|
+
address: string;
|
|
29
|
+
account?: Exclude<AccountKind, 'evm-code' | 'evm-shorthand'>;
|
|
30
|
+
contract: 'none';
|
|
31
|
+
} | {
|
|
32
|
+
address: string;
|
|
33
|
+
account: 'evm-code';
|
|
34
|
+
contract: 'evm'; /** Byte count of deployed EVM code. 0 means no code. */
|
|
35
|
+
codeSize: number;
|
|
36
|
+
codeHash: Uint8Array;
|
|
37
|
+
} | {
|
|
38
|
+
address: string;
|
|
39
|
+
account: 'evm-shorthand';
|
|
40
|
+
canonical: string;
|
|
41
|
+
contract: 'evm'; /** Byte count of deployed EVM code. 0 means no code. */
|
|
42
|
+
codeSize: number;
|
|
43
|
+
codeHash: Uint8Array;
|
|
44
|
+
} | {
|
|
45
|
+
address: string;
|
|
46
|
+
account: 'evm-shorthand';
|
|
47
|
+
canonical: string;
|
|
48
|
+
contract: 'none';
|
|
49
|
+
} | {
|
|
50
|
+
address: string;
|
|
51
|
+
account?: Exclude<AccountKind, 'evm-code' | 'evm-shorthand'>;
|
|
52
|
+
contract: 'move';
|
|
53
|
+
modules: [string, ...string[]];
|
|
54
|
+
} | {
|
|
55
|
+
address: string;
|
|
56
|
+
account?: Exclude<AccountKind, 'evm-code' | 'evm-shorthand'>;
|
|
57
|
+
contract: 'wasm';
|
|
58
|
+
codeId: bigint;
|
|
59
|
+
};
|
|
60
|
+
/** Profile where contract is 'evm' (includes both direct and shorthand). */
|
|
61
|
+
type EvmProfile = Extract<AddressProfile, {
|
|
62
|
+
contract: 'evm';
|
|
63
|
+
}>;
|
|
64
|
+
/** Profile with account 'evm-shorthand' (contract can be 'evm' or 'none'). */
|
|
65
|
+
type ShorthandProfile = Extract<AddressProfile, {
|
|
66
|
+
account: 'evm-shorthand';
|
|
67
|
+
}>;
|
|
68
|
+
/** Profile with contract 'none' excluding shorthand (pure EOA/module/etc). */
|
|
69
|
+
type EoaProfile = Exclude<Extract<AddressProfile, {
|
|
70
|
+
contract: 'none';
|
|
71
|
+
}>, ShorthandProfile>;
|
|
72
|
+
/** Profile where contract is 'move'. */
|
|
73
|
+
type MoveProfile = Extract<AddressProfile, {
|
|
74
|
+
contract: 'move';
|
|
75
|
+
}>;
|
|
76
|
+
/** Profile where contract is 'wasm'. */
|
|
77
|
+
type WasmProfile = Extract<AddressProfile, {
|
|
78
|
+
contract: 'wasm';
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* Options for getAddressProfile.
|
|
82
|
+
*/
|
|
83
|
+
interface GetAddressProfileOptions {
|
|
84
|
+
/** Cache TTL in milliseconds. Default 60000. Set to 0 to disable caching. */
|
|
85
|
+
cacheTtl?: number;
|
|
86
|
+
/** Bypass cache and force fresh queries. */
|
|
87
|
+
forceRefresh?: boolean;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Cache interface for AddressProfile results.
|
|
91
|
+
*/
|
|
92
|
+
interface ProfileCache {
|
|
93
|
+
get(address: string): AddressProfile | undefined;
|
|
94
|
+
set(address: string, profile: AddressProfile, ttl?: number): void;
|
|
95
|
+
invalidate(address: string): void;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get comprehensive address profile by querying auth and VM services.
|
|
99
|
+
* Uses context's address when available.
|
|
100
|
+
*/
|
|
101
|
+
declare function getAddressProfile(context: {
|
|
102
|
+
readonly client: unknown;
|
|
103
|
+
readonly address: string;
|
|
104
|
+
}, options?: GetAddressProfileOptions): Promise<AddressProfile>;
|
|
105
|
+
/**
|
|
106
|
+
* Get comprehensive address profile by querying auth and VM services.
|
|
107
|
+
* Address is provided as a separate parameter.
|
|
108
|
+
*/
|
|
109
|
+
declare function getAddressProfile(context: HasClient, address: string, options?: GetAddressProfileOptions): Promise<AddressProfile>;
|
|
110
|
+
//#endregion
|
|
111
|
+
export { EvmProfile as a, ProfileCache as c, getAddressProfile as d, EoaProfile as i, ShorthandProfile as l, AddressProfile as n, GetAddressProfileOptions as o, ContractKind as r, MoveProfile as s, AccountKind as t, WasmProfile as u };
|
|
112
|
+
//# sourceMappingURL=address-profile-DjdaEBxo.d.mts.map
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { g as isNotFoundError } from "./errors-CN1MFOLv.mjs";
|
|
2
|
+
import { n as ShorthandAccountSchema, t as ContractAccountSchema } from "./auth_pb-DN4URGLh.mjs";
|
|
3
|
+
import { anyUnpack } from "@bufbuild/protobuf/wkt";
|
|
4
|
+
//#region src/client/address-profile.ts
|
|
5
|
+
const DEFAULT_CACHE_TTL = 6e4;
|
|
6
|
+
var MemoryProfileCache = class {
|
|
7
|
+
store = /* @__PURE__ */ new Map();
|
|
8
|
+
get(address) {
|
|
9
|
+
const entry = this.store.get(address);
|
|
10
|
+
if (!entry) return void 0;
|
|
11
|
+
if (Date.now() > entry.expiresAt) {
|
|
12
|
+
this.store.delete(address);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
return entry.profile;
|
|
16
|
+
}
|
|
17
|
+
set(address, profile, ttl = DEFAULT_CACHE_TTL) {
|
|
18
|
+
this.store.set(address, {
|
|
19
|
+
profile,
|
|
20
|
+
expiresAt: Date.now() + ttl
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
invalidate(address) {
|
|
24
|
+
this.store.delete(address);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const typeUrlToAccountKind = {
|
|
28
|
+
"/cosmos.auth.v1beta1.BaseAccount": "base",
|
|
29
|
+
"/cosmos.auth.v1beta1.ModuleAccount": "module",
|
|
30
|
+
"/initia.move.v1.ObjectAccount": "move-object",
|
|
31
|
+
"/initia.move.v1.TableAccount": "move-table",
|
|
32
|
+
"/minievm.evm.v1.ContractAccount": "evm-code",
|
|
33
|
+
"/minievm.evm.v1.ShorthandAccount": "evm-shorthand"
|
|
34
|
+
};
|
|
35
|
+
/** Resolve a proto typeUrl to AccountKind. Returns 'unknown' for unmapped typeUrls. */
|
|
36
|
+
function resolveAccountKind(typeUrl) {
|
|
37
|
+
return typeUrlToAccountKind[typeUrl] ?? "unknown";
|
|
38
|
+
}
|
|
39
|
+
function hasAuthService(client) {
|
|
40
|
+
return client !== null && typeof client === "object" && "auth" in client;
|
|
41
|
+
}
|
|
42
|
+
function hasEvmService(client) {
|
|
43
|
+
return client !== null && typeof client === "object" && "evm" in client;
|
|
44
|
+
}
|
|
45
|
+
function hasMoveService(client) {
|
|
46
|
+
return client !== null && typeof client === "object" && "move" in client;
|
|
47
|
+
}
|
|
48
|
+
function hasWasmService(client) {
|
|
49
|
+
return client !== null && typeof client === "object" && "wasm" in client;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Query auth account. Returns null for NOT_FOUND (account doesn't exist on-chain).
|
|
53
|
+
* Throws on network failure.
|
|
54
|
+
*/
|
|
55
|
+
async function queryAuth(client, address) {
|
|
56
|
+
let response;
|
|
57
|
+
try {
|
|
58
|
+
response = await client.auth.account({ address });
|
|
59
|
+
} catch (err) {
|
|
60
|
+
if (isNotFoundError(err)) return null;
|
|
61
|
+
throw err;
|
|
62
|
+
}
|
|
63
|
+
if (!response.account) return null;
|
|
64
|
+
const { typeUrl } = response.account;
|
|
65
|
+
const accountKind = resolveAccountKind(typeUrl);
|
|
66
|
+
const result = { accountKind };
|
|
67
|
+
if (accountKind === "evm-code") {
|
|
68
|
+
const unpacked = anyUnpack(response.account, ContractAccountSchema);
|
|
69
|
+
if (unpacked) result.codeHash = unpacked.codeHash;
|
|
70
|
+
} else if (accountKind === "evm-shorthand") {
|
|
71
|
+
const unpacked = anyUnpack(response.account, ShorthandAccountSchema);
|
|
72
|
+
if (unpacked) result.originalAddress = unpacked.originalAddress;
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Query EVM code size. Returns 0 if no code deployed. Throws on network failure.
|
|
78
|
+
* Note: returns byte count of deployed code (Uint8Array.length).
|
|
79
|
+
*/
|
|
80
|
+
async function queryEvmCode(client, address) {
|
|
81
|
+
return (await client.evm.code({ contractAddr: address })).code.length;
|
|
82
|
+
}
|
|
83
|
+
/** Query Move modules. Returns empty array if no modules. Throws on network failure. */
|
|
84
|
+
async function queryMoveModules(client, address) {
|
|
85
|
+
return (await client.move.modules({ address })).modules.map((m) => m.moduleName).filter(Boolean);
|
|
86
|
+
}
|
|
87
|
+
/** Query Wasm contract info. Returns codeId or null if not a wasm contract. Throws on network failure. */
|
|
88
|
+
async function queryWasmContract(client, address) {
|
|
89
|
+
try {
|
|
90
|
+
return (await client.wasm.contractInfo({ address })).contractInfo?.codeId ?? null;
|
|
91
|
+
} catch (err) {
|
|
92
|
+
if (isNotFoundError(err)) return null;
|
|
93
|
+
throw err;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Validate consistency between auth result and EVM code query.
|
|
98
|
+
* Throws on impossible state combinations.
|
|
99
|
+
*/
|
|
100
|
+
function validateEvmConsistency(address, accountKind, codeSize) {
|
|
101
|
+
if (accountKind === "evm-code" && codeSize === 0) throw new Error(`Inconsistent state for ${address}: ContractAccount but EVM codeSize = 0`);
|
|
102
|
+
if (accountKind !== "evm-code" && accountKind !== "evm-shorthand" && codeSize > 0) throw new Error(`Inconsistent state for ${address}: account '${accountKind}' but EVM codeSize > 0`);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Validate that ShorthandAccount has a canonical address.
|
|
106
|
+
* Throws if proto unpacking failed.
|
|
107
|
+
*/
|
|
108
|
+
function validateShorthandCanonical(address, originalAddress) {
|
|
109
|
+
if (!originalAddress) throw new Error(`Failed to extract canonical address from ShorthandAccount ${address}`);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Resolve a ShorthandAccount by querying the canonical address.
|
|
113
|
+
* Returns an AddressProfile with account: 'evm-shorthand'.
|
|
114
|
+
*
|
|
115
|
+
* ShorthandAccount only exists on Minievm chains, so only EVM is checked for canonical.
|
|
116
|
+
*/
|
|
117
|
+
async function resolveShorthand(client, shorthandAddress, canonicalAddress) {
|
|
118
|
+
if (!hasAuthService(client)) throw new Error("Auth service required for ShorthandAccount resolve");
|
|
119
|
+
const canonicalAuth = await queryAuth(client, canonicalAddress);
|
|
120
|
+
if (!canonicalAuth) return {
|
|
121
|
+
address: shorthandAddress,
|
|
122
|
+
account: "evm-shorthand",
|
|
123
|
+
canonical: canonicalAddress,
|
|
124
|
+
contract: "none"
|
|
125
|
+
};
|
|
126
|
+
if (canonicalAuth.accountKind === "evm-shorthand") throw new Error(`Unexpected: canonical address ${canonicalAddress} is also a ShorthandAccount`);
|
|
127
|
+
if (canonicalAuth.accountKind === "evm-code") {
|
|
128
|
+
if (!canonicalAuth.codeHash) throw new Error(`ContractAccount ${canonicalAddress} missing codeHash`);
|
|
129
|
+
if (!hasEvmService(client)) throw new Error("EVM service required for ContractAccount on Minievm chain");
|
|
130
|
+
const codeSize = await queryEvmCode(client, canonicalAddress);
|
|
131
|
+
if (codeSize === 0) throw new Error(`ContractAccount ${canonicalAddress} has no EVM code (codeSize = 0)`);
|
|
132
|
+
return {
|
|
133
|
+
address: shorthandAddress,
|
|
134
|
+
account: "evm-shorthand",
|
|
135
|
+
canonical: canonicalAddress,
|
|
136
|
+
contract: "evm",
|
|
137
|
+
codeSize,
|
|
138
|
+
codeHash: canonicalAuth.codeHash
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
address: shorthandAddress,
|
|
143
|
+
account: "evm-shorthand",
|
|
144
|
+
canonical: canonicalAddress,
|
|
145
|
+
contract: "none"
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
const profileCache = new MemoryProfileCache();
|
|
149
|
+
async function getAddressProfile(context, addressOrOptions, maybeOptions) {
|
|
150
|
+
let address;
|
|
151
|
+
let options;
|
|
152
|
+
if (typeof addressOrOptions === "string") {
|
|
153
|
+
address = addressOrOptions;
|
|
154
|
+
options = maybeOptions;
|
|
155
|
+
} else {
|
|
156
|
+
const ctx = context;
|
|
157
|
+
if (!ctx.address) throw new Error("Context has no address. Pass address as second argument.");
|
|
158
|
+
address = ctx.address;
|
|
159
|
+
options = addressOrOptions;
|
|
160
|
+
}
|
|
161
|
+
const cacheTtl = options?.cacheTtl ?? DEFAULT_CACHE_TTL;
|
|
162
|
+
if (!options?.forceRefresh && cacheTtl > 0) {
|
|
163
|
+
const cached = profileCache.get(address);
|
|
164
|
+
if (cached) return cached;
|
|
165
|
+
}
|
|
166
|
+
const { client } = context;
|
|
167
|
+
if (!hasAuthService(client)) throw new Error("Auth service is required for getAddressProfile");
|
|
168
|
+
const authResult = await queryAuth(client, address);
|
|
169
|
+
if (!authResult) {
|
|
170
|
+
const profile = {
|
|
171
|
+
address,
|
|
172
|
+
contract: "none"
|
|
173
|
+
};
|
|
174
|
+
if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl);
|
|
175
|
+
return profile;
|
|
176
|
+
}
|
|
177
|
+
const { accountKind, codeHash, originalAddress } = authResult;
|
|
178
|
+
if (accountKind === "evm-shorthand") {
|
|
179
|
+
validateShorthandCanonical(address, originalAddress);
|
|
180
|
+
const profile = await resolveShorthand(client, address, originalAddress);
|
|
181
|
+
if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl);
|
|
182
|
+
return profile;
|
|
183
|
+
}
|
|
184
|
+
if (accountKind === "evm-code") {
|
|
185
|
+
if (!codeHash) throw new Error(`ContractAccount ${address} missing codeHash`);
|
|
186
|
+
if (!hasEvmService(client)) throw new Error("EVM service required for ContractAccount");
|
|
187
|
+
const codeSize = await queryEvmCode(client, address);
|
|
188
|
+
validateEvmConsistency(address, accountKind, codeSize);
|
|
189
|
+
const profile = {
|
|
190
|
+
address,
|
|
191
|
+
account: "evm-code",
|
|
192
|
+
contract: "evm",
|
|
193
|
+
codeSize,
|
|
194
|
+
codeHash
|
|
195
|
+
};
|
|
196
|
+
if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl);
|
|
197
|
+
return profile;
|
|
198
|
+
}
|
|
199
|
+
const account = accountKind;
|
|
200
|
+
if (hasEvmService(client)) {
|
|
201
|
+
const codeSize = await queryEvmCode(client, address);
|
|
202
|
+
validateEvmConsistency(address, accountKind, codeSize);
|
|
203
|
+
}
|
|
204
|
+
if (hasMoveService(client)) {
|
|
205
|
+
const modules = await queryMoveModules(client, address);
|
|
206
|
+
if (modules.length > 0) {
|
|
207
|
+
const profile = {
|
|
208
|
+
address,
|
|
209
|
+
account,
|
|
210
|
+
contract: "move",
|
|
211
|
+
modules
|
|
212
|
+
};
|
|
213
|
+
if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl);
|
|
214
|
+
return profile;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (hasWasmService(client)) {
|
|
218
|
+
const codeId = await queryWasmContract(client, address);
|
|
219
|
+
if (codeId !== null) {
|
|
220
|
+
const profile = {
|
|
221
|
+
address,
|
|
222
|
+
account,
|
|
223
|
+
contract: "wasm",
|
|
224
|
+
codeId
|
|
225
|
+
};
|
|
226
|
+
if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl);
|
|
227
|
+
return profile;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
const profile = {
|
|
231
|
+
address,
|
|
232
|
+
account,
|
|
233
|
+
contract: "none"
|
|
234
|
+
};
|
|
235
|
+
if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl);
|
|
236
|
+
return profile;
|
|
237
|
+
}
|
|
238
|
+
//#endregion
|
|
239
|
+
export { getAddressProfile as t };
|
|
240
|
+
|
|
241
|
+
//# sourceMappingURL=address-profile-DlAFvgdg.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-profile-DlAFvgdg.mjs","names":[],"sources":["../src/client/address-profile.ts"],"sourcesContent":["import type { HasClient } from './types'\nimport { isNotFoundError } from '../errors'\nimport type { Any } from '@bufbuild/protobuf/wkt'\nimport { anyUnpack } from '@bufbuild/protobuf/wkt'\nimport {\n ContractAccountSchema,\n ShorthandAccountSchema,\n} from '@buf/initia-labs_minievm.bufbuild_es/minievm/evm/v1/auth_pb'\n\n/**\n * On-chain account type derived from auth query's typeUrl.\n * - 'unknown': typeUrl that SDK doesn't explicitly map (e.g., vesting accounts on other Cosmos chains)\n * - Initia uses Move-based vesting, not Cosmos SDK vesting accounts\n */\nexport type AccountKind =\n | 'base'\n | 'module'\n | 'evm-code'\n | 'evm-shorthand'\n | 'move-object'\n | 'move-table'\n | 'unknown'\n\n/**\n * Functional capability derived from VM queries.\n * Kept as a standalone export for convenience; inline literals used in AddressProfile for narrowing.\n */\nexport type ContractKind = 'none' | 'evm' | 'move' | 'wasm'\n\n/**\n * Discriminated union representing a comprehensive address profile.\n *\n * Two independent axes:\n * - `account`: on-chain truth from auth query (undefined = not yet on-chain)\n * - `contract`: functional capability from VM queries (discriminant)\n *\n * Type-level constraints prevent impossible states:\n * - 'evm-code' always pairs with contract: 'evm'\n * - 'evm-shorthand' pairs with contract: 'evm' or 'none' (transparent resolve of canonical)\n * - Move/Wasm variants exclude EVM-specific account kinds\n */\nexport type AddressProfile =\n | {\n address: string\n account?: Exclude<AccountKind, 'evm-code' | 'evm-shorthand'>\n contract: 'none'\n }\n | {\n address: string\n account: 'evm-code'\n contract: 'evm'\n /** Byte count of deployed EVM code. 0 means no code. */\n codeSize: number\n codeHash: Uint8Array\n }\n | {\n address: string\n account: 'evm-shorthand'\n canonical: string\n contract: 'evm'\n /** Byte count of deployed EVM code. 0 means no code. */\n codeSize: number\n codeHash: Uint8Array\n }\n | {\n address: string\n account: 'evm-shorthand'\n canonical: string\n contract: 'none'\n }\n | {\n address: string\n account?: Exclude<AccountKind, 'evm-code' | 'evm-shorthand'>\n contract: 'move'\n modules: [string, ...string[]]\n }\n | {\n address: string\n account?: Exclude<AccountKind, 'evm-code' | 'evm-shorthand'>\n contract: 'wasm'\n codeId: bigint\n }\n\n/** Profile where contract is 'evm' (includes both direct and shorthand). */\nexport type EvmProfile = Extract<AddressProfile, { contract: 'evm' }>\n\n/** Profile with account 'evm-shorthand' (contract can be 'evm' or 'none'). */\nexport type ShorthandProfile = Extract<AddressProfile, { account: 'evm-shorthand' }>\n\n/** Profile with contract 'none' excluding shorthand (pure EOA/module/etc). */\nexport type EoaProfile = Exclude<Extract<AddressProfile, { contract: 'none' }>, ShorthandProfile>\n\n/** Profile where contract is 'move'. */\nexport type MoveProfile = Extract<AddressProfile, { contract: 'move' }>\n\n/** Profile where contract is 'wasm'. */\nexport type WasmProfile = Extract<AddressProfile, { contract: 'wasm' }>\n\n/**\n * Options for getAddressProfile.\n */\nexport interface GetAddressProfileOptions {\n /** Cache TTL in milliseconds. Default 60000. Set to 0 to disable caching. */\n cacheTtl?: number\n /** Bypass cache and force fresh queries. */\n forceRefresh?: boolean\n}\n\n/**\n * Cache interface for AddressProfile results.\n */\nexport interface ProfileCache {\n get(address: string): AddressProfile | undefined\n set(address: string, profile: AddressProfile, ttl?: number): void\n invalidate(address: string): void\n}\n\n// --- Internal implementation ---\n\nconst DEFAULT_CACHE_TTL = 60_000\n\nclass MemoryProfileCache implements ProfileCache {\n private store = new Map<string, { profile: AddressProfile; expiresAt: number }>()\n\n get(address: string): AddressProfile | undefined {\n const entry = this.store.get(address)\n if (!entry) return undefined\n if (Date.now() > entry.expiresAt) {\n this.store.delete(address)\n return undefined\n }\n return entry.profile\n }\n\n set(address: string, profile: AddressProfile, ttl: number = DEFAULT_CACHE_TTL): void {\n this.store.set(address, { profile, expiresAt: Date.now() + ttl })\n }\n\n invalidate(address: string): void {\n this.store.delete(address)\n }\n}\n\n// --- Internal: typeUrl mapping ---\n\nconst typeUrlToAccountKind: Record<string, AccountKind> = {\n '/cosmos.auth.v1beta1.BaseAccount': 'base',\n '/cosmos.auth.v1beta1.ModuleAccount': 'module',\n '/initia.move.v1.ObjectAccount': 'move-object',\n '/initia.move.v1.TableAccount': 'move-table',\n '/minievm.evm.v1.ContractAccount': 'evm-code',\n '/minievm.evm.v1.ShorthandAccount': 'evm-shorthand',\n}\n\n/** Resolve a proto typeUrl to AccountKind. Returns 'unknown' for unmapped typeUrls. */\nfunction resolveAccountKind(typeUrl: string): AccountKind {\n return typeUrlToAccountKind[typeUrl] ?? 'unknown'\n}\n\n// --- Internal: client type interfaces ---\n\ninterface AuthQueryClient {\n auth: { account(req: { address: string }): Promise<{ account?: Any }> }\n}\n\ninterface EvmQueryClient {\n evm: { code(req: { contractAddr: string }): Promise<{ code: string }> }\n}\n\ninterface MoveQueryClient {\n move: { modules(req: { address: string }): Promise<{ modules: { moduleName: string }[] }> }\n}\n\ninterface WasmQueryClient {\n wasm: { contractInfo(req: { address: string }): Promise<{ contractInfo?: { codeId: bigint } }> }\n}\n\n// --- Internal: service detection type guards ---\n\nfunction hasAuthService(client: unknown): client is AuthQueryClient {\n return client !== null && typeof client === 'object' && 'auth' in client\n}\n\nfunction hasEvmService(client: unknown): client is EvmQueryClient {\n return client !== null && typeof client === 'object' && 'evm' in client\n}\n\nfunction hasMoveService(client: unknown): client is MoveQueryClient {\n return client !== null && typeof client === 'object' && 'move' in client\n}\n\nfunction hasWasmService(client: unknown): client is WasmQueryClient {\n return client !== null && typeof client === 'object' && 'wasm' in client\n}\n\n// --- Internal: auth query result ---\n\ninterface AuthResult {\n accountKind: AccountKind\n codeHash?: Uint8Array\n originalAddress?: string\n}\n\n// --- Internal: query helpers ---\n\n/**\n * Query auth account. Returns null for NOT_FOUND (account doesn't exist on-chain).\n * Throws on network failure.\n */\nasync function queryAuth(client: AuthQueryClient, address: string): Promise<AuthResult | null> {\n let response: { account?: Any }\n try {\n response = await client.auth.account({ address })\n } catch (err) {\n if (isNotFoundError(err)) {\n return null\n }\n throw err\n }\n\n if (!response.account) {\n return null\n }\n\n const { typeUrl } = response.account\n const accountKind = resolveAccountKind(typeUrl)\n\n const result: AuthResult = { accountKind }\n\n if (accountKind === 'evm-code') {\n const unpacked = anyUnpack(response.account, ContractAccountSchema)\n if (unpacked) {\n result.codeHash = unpacked.codeHash\n }\n } else if (accountKind === 'evm-shorthand') {\n const unpacked = anyUnpack(response.account, ShorthandAccountSchema)\n if (unpacked) {\n result.originalAddress = unpacked.originalAddress\n }\n }\n\n return result\n}\n\n/**\n * Query EVM code size. Returns 0 if no code deployed. Throws on network failure.\n * Note: returns byte count of deployed code (Uint8Array.length).\n */\nasync function queryEvmCode(client: EvmQueryClient, address: string): Promise<number> {\n const response = await client.evm.code({ contractAddr: address })\n return response.code.length\n}\n\n/** Query Move modules. Returns empty array if no modules. Throws on network failure. */\nasync function queryMoveModules(client: MoveQueryClient, address: string): Promise<string[]> {\n const response = await client.move.modules({ address })\n return response.modules.map(m => m.moduleName).filter(Boolean)\n}\n\n/** Query Wasm contract info. Returns codeId or null if not a wasm contract. Throws on network failure. */\nasync function queryWasmContract(client: WasmQueryClient, address: string): Promise<bigint | null> {\n try {\n const response = await client.wasm.contractInfo({ address })\n return response.contractInfo?.codeId ?? null\n } catch (err) {\n if (isNotFoundError(err)) {\n return null\n }\n throw err\n }\n}\n\n// --- Internal: consistency validation ---\n\n/**\n * Validate consistency between auth result and EVM code query.\n * Throws on impossible state combinations.\n */\nfunction validateEvmConsistency(address: string, accountKind: AccountKind, codeSize: number): void {\n if (accountKind === 'evm-code' && codeSize === 0) {\n throw new Error(`Inconsistent state for ${address}: ContractAccount but EVM codeSize = 0`)\n }\n if (accountKind !== 'evm-code' && accountKind !== 'evm-shorthand' && codeSize > 0) {\n throw new Error(\n `Inconsistent state for ${address}: account '${accountKind}' but EVM codeSize > 0`\n )\n }\n}\n\n/**\n * Validate that ShorthandAccount has a canonical address.\n * Throws if proto unpacking failed.\n */\nfunction validateShorthandCanonical(\n address: string,\n originalAddress: string | undefined\n): asserts originalAddress is string {\n if (!originalAddress) {\n throw new Error(`Failed to extract canonical address from ShorthandAccount ${address}`)\n }\n}\n\n// --- Internal: ShorthandAccount transparent resolve ---\n\n/**\n * Resolve a ShorthandAccount by querying the canonical address.\n * Returns an AddressProfile with account: 'evm-shorthand'.\n *\n * ShorthandAccount only exists on Minievm chains, so only EVM is checked for canonical.\n */\nasync function resolveShorthand(\n client: unknown,\n shorthandAddress: string,\n canonicalAddress: string\n): Promise<AddressProfile> {\n if (!hasAuthService(client)) {\n throw new Error('Auth service required for ShorthandAccount resolve')\n }\n\n const canonicalAuth = await queryAuth(client, canonicalAddress)\n\n // Canonical NOT_FOUND: address not yet on-chain\n if (!canonicalAuth) {\n return {\n address: shorthandAddress,\n account: 'evm-shorthand',\n canonical: canonicalAddress,\n contract: 'none',\n }\n }\n\n // Defensive assertion: canonical should never be another ShorthandAccount (20byte→32byte is one-way)\n if (canonicalAuth.accountKind === 'evm-shorthand') {\n throw new Error(`Unexpected: canonical address ${canonicalAddress} is also a ShorthandAccount`)\n }\n\n // Canonical is ContractAccount: query EVM code for codeSize\n if (canonicalAuth.accountKind === 'evm-code') {\n if (!canonicalAuth.codeHash) {\n throw new Error(`ContractAccount ${canonicalAddress} missing codeHash`)\n }\n if (!hasEvmService(client)) {\n throw new Error('EVM service required for ContractAccount on Minievm chain')\n }\n const codeSize = await queryEvmCode(client, canonicalAddress)\n if (codeSize === 0) {\n throw new Error(`ContractAccount ${canonicalAddress} has no EVM code (codeSize = 0)`)\n }\n return {\n address: shorthandAddress,\n account: 'evm-shorthand',\n canonical: canonicalAddress,\n contract: 'evm',\n codeSize,\n codeHash: canonicalAuth.codeHash,\n }\n }\n\n // Canonical is any other account type (BaseAccount, ModuleAccount, etc): not a contract\n return {\n address: shorthandAddress,\n account: 'evm-shorthand',\n canonical: canonicalAddress,\n contract: 'none',\n }\n}\n\n// --- Module-level cache ---\n\nconst profileCache = new MemoryProfileCache()\n\n// --- Exported API: getAddressProfile ---\n\n/**\n * Get comprehensive address profile by querying auth and VM services.\n * Uses context's address when available.\n */\nexport async function getAddressProfile(\n context: { readonly client: unknown; readonly address: string },\n options?: GetAddressProfileOptions\n): Promise<AddressProfile>\n/**\n * Get comprehensive address profile by querying auth and VM services.\n * Address is provided as a separate parameter.\n */\nexport async function getAddressProfile(\n context: HasClient,\n address: string,\n options?: GetAddressProfileOptions\n): Promise<AddressProfile>\nexport async function getAddressProfile(\n context: HasClient,\n addressOrOptions?: string | GetAddressProfileOptions,\n maybeOptions?: GetAddressProfileOptions\n): Promise<AddressProfile> {\n let address: string\n let options: GetAddressProfileOptions | undefined\n\n if (typeof addressOrOptions === 'string') {\n address = addressOrOptions\n options = maybeOptions\n } else {\n const ctx = context as { address?: string }\n if (!ctx.address) {\n throw new Error('Context has no address. Pass address as second argument.')\n }\n address = ctx.address\n options = addressOrOptions\n }\n\n const cacheTtl = options?.cacheTtl ?? DEFAULT_CACHE_TTL\n\n // Cache check\n if (!options?.forceRefresh && cacheTtl > 0) {\n const cached = profileCache.get(address)\n if (cached) return cached\n }\n\n const { client } = context\n\n // Auth query (always first)\n if (!hasAuthService(client)) {\n throw new Error('Auth service is required for getAddressProfile')\n }\n\n const authResult = await queryAuth(client, address)\n\n // NOT_FOUND: account doesn't exist on-chain\n if (!authResult) {\n const profile: AddressProfile = { address, contract: 'none' }\n if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl)\n return profile\n }\n\n const { accountKind, codeHash, originalAddress } = authResult\n\n // ShorthandAccount: transparent resolve\n if (accountKind === 'evm-shorthand') {\n validateShorthandCanonical(address, originalAddress)\n const profile = await resolveShorthand(client, address, originalAddress)\n if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl)\n return profile\n }\n\n // ContractAccount: must query EVM for codeSize\n if (accountKind === 'evm-code') {\n if (!codeHash) {\n throw new Error(`ContractAccount ${address} missing codeHash`)\n }\n if (!hasEvmService(client)) {\n throw new Error('EVM service required for ContractAccount')\n }\n const codeSize = await queryEvmCode(client, address)\n validateEvmConsistency(address, accountKind, codeSize)\n const profile: AddressProfile = {\n address,\n account: 'evm-code',\n contract: 'evm',\n codeSize,\n codeHash,\n }\n if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl)\n return profile\n }\n\n // Remaining account types: base, module, move-object, move-table, unknown\n const account = accountKind\n\n // EVM consistency check: proactively query EVM code for non-EVM accounts\n // to detect impossible states (e.g., BaseAccount with deployed EVM code).\n // Adds one extra network call on EVM-enabled chains, but ensures fail-fast\n // on data inconsistency rather than silently returning a wrong profile.\n if (hasEvmService(client)) {\n const codeSize = await queryEvmCode(client, address)\n validateEvmConsistency(address, accountKind, codeSize)\n }\n\n // Move check\n if (hasMoveService(client)) {\n const modules = await queryMoveModules(client, address)\n if (modules.length > 0) {\n const profile: AddressProfile = {\n address,\n account,\n contract: 'move',\n modules: modules as [string, ...string[]],\n }\n if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl)\n return profile\n }\n }\n\n // Wasm check\n if (hasWasmService(client)) {\n const codeId = await queryWasmContract(client, address)\n if (codeId !== null) {\n const profile: AddressProfile = {\n address,\n account,\n contract: 'wasm',\n codeId,\n }\n if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl)\n return profile\n }\n }\n\n // No VM contract found\n const profile: AddressProfile = { address, account, contract: 'none' }\n if (cacheTtl > 0) profileCache.set(address, profile, cacheTtl)\n return profile\n}\n"],"mappings":"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"}
|