@initia/initia.js 1.0.20 → 2.0.0-rc.0
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 +232 -154
- 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-CQsfUmx1.d.mts +1 -0
- package/dist/entry.client.browser.d.mts +3 -0
- package/dist/entry.client.browser.mjs +6 -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 -44
- 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 -10
- 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 -12
- package/dist/client/rest/api/OphostAPI.d.ts +0 -33
- 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 -40
- package/dist/core/Coins.d.ts +0 -43
- 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 -41
- 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 -6
- 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 -39
- package/dist/core/evm/index.d.ts +0 -3
- package/dist/core/evm/msgs/MsgCall.d.ts +0 -42
- 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/index.d.ts +0 -10
- package/dist/core/gov/Deposit.d.ts +0 -29
- package/dist/core/gov/GovParams.d.ts +0 -82
- 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/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/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 -26
- 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/OpValidator.d.ts +0 -32
- package/dist/core/opchild/OpchildParams.d.ts +0 -45
- package/dist/core/opchild/index.d.ts +0 -4
- 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/MsgAddValidator.d.ts +0 -39
- 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/MsgRemoveBridgeExecutor.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgRemoveFeeWhitelistAddresses.d.ts +0 -32
- package/dist/core/opchild/msgs/MsgRemoveValidator.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/index.d.ts +0 -36
- 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 -45
- 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 -6
- 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/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/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 -32
- 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/MsgUpdateRewardParams.d.ts +0 -33
- package/dist/core/reward/msgs/index.d.ts +0 -8
- 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 -29
- 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/MsgUpdateWasmParams.d.ts +0 -33
- package/dist/core/wasm/msgs/index.d.ts +0 -40
- 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 -100795
- 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,1081 @@
|
|
|
1
|
+
import { h as WebSocketNotAvailableError, p as TimeoutError } from "./errors-CN1MFOLv.mjs";
|
|
2
|
+
import "./constants-W6V0E-3W.mjs";
|
|
3
|
+
//#region src/client/websocket/types.ts
|
|
4
|
+
/**
|
|
5
|
+
* Default session options.
|
|
6
|
+
*/
|
|
7
|
+
const DEFAULT_SESSION_OPTIONS = {
|
|
8
|
+
autoReconnect: true,
|
|
9
|
+
maxRetries: Infinity,
|
|
10
|
+
retryDelay: 1e3,
|
|
11
|
+
maxRetryDelay: 3e4
|
|
12
|
+
};
|
|
13
|
+
/** Default timeout for subscription confirmation (10 seconds) */
|
|
14
|
+
const SUBSCRIPTION_TIMEOUT_MS = 1e4;
|
|
15
|
+
/**
|
|
16
|
+
* Helper to check if an event spec is a Cosmos event.
|
|
17
|
+
*/
|
|
18
|
+
function isCosmosEvent(spec) {
|
|
19
|
+
return spec.event === "block" || spec.event === "blockHeader" || spec.event === "tx" || spec.event === "validatorUpdates" || spec.event === "cosmosCustom";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Helper to check if an event spec is an EVM event.
|
|
23
|
+
*/
|
|
24
|
+
function isEvmEvent(spec) {
|
|
25
|
+
return spec.event === "evmLogs" || spec.event === "evmHeads" || spec.event === "evmPendingTxs" || spec.event === "evmSyncing" || spec.event === "evmCustom";
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/client/websocket/cosmos-session.ts
|
|
29
|
+
/**
|
|
30
|
+
* Internal Cosmos WebSocket session for CometBFT subscriptions.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
var InternalCosmosSession = class {
|
|
34
|
+
ws = null;
|
|
35
|
+
subscriptions = /* @__PURE__ */ new Map();
|
|
36
|
+
messageIdCounter = 0;
|
|
37
|
+
pendingSubscriptions = /* @__PURE__ */ new Map();
|
|
38
|
+
isConnected = false;
|
|
39
|
+
connectionPromise = null;
|
|
40
|
+
isUserClose = false;
|
|
41
|
+
reconnectAttempt = 0;
|
|
42
|
+
reconnectTimer = null;
|
|
43
|
+
options;
|
|
44
|
+
constructor(wssUrl, options = {}) {
|
|
45
|
+
this.wssUrl = wssUrl;
|
|
46
|
+
this.options = {
|
|
47
|
+
...DEFAULT_SESSION_OPTIONS,
|
|
48
|
+
onConnectionEvent: options.onConnectionEvent
|
|
49
|
+
};
|
|
50
|
+
if (options.autoReconnect !== void 0) this.options.autoReconnect = options.autoReconnect;
|
|
51
|
+
if (options.maxRetries !== void 0) this.options.maxRetries = options.maxRetries;
|
|
52
|
+
if (options.retryDelay !== void 0) this.options.retryDelay = options.retryDelay;
|
|
53
|
+
if (options.maxRetryDelay !== void 0) this.options.maxRetryDelay = options.maxRetryDelay;
|
|
54
|
+
}
|
|
55
|
+
emitEvent(type, extra) {
|
|
56
|
+
this.options.onConnectionEvent?.({
|
|
57
|
+
type,
|
|
58
|
+
timestamp: Date.now(),
|
|
59
|
+
...extra
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
async connect() {
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
this.ws = new WebSocket(this.wssUrl);
|
|
65
|
+
this.ws.onopen = () => {
|
|
66
|
+
this.isConnected = true;
|
|
67
|
+
this.connectionPromise = null;
|
|
68
|
+
this.reconnectAttempt = 0;
|
|
69
|
+
this.emitEvent("connect");
|
|
70
|
+
resolve();
|
|
71
|
+
};
|
|
72
|
+
this.ws.onerror = () => {
|
|
73
|
+
this.connectionPromise = null;
|
|
74
|
+
const errorMsg = `WebSocket connection failed: ${this.wssUrl}`;
|
|
75
|
+
this.emitEvent("error", { error: errorMsg });
|
|
76
|
+
reject(new Error(errorMsg));
|
|
77
|
+
};
|
|
78
|
+
this.ws.onclose = () => {
|
|
79
|
+
const wasConnected = this.isConnected;
|
|
80
|
+
this.isConnected = false;
|
|
81
|
+
this.ws = null;
|
|
82
|
+
if (wasConnected && !this.isUserClose) {
|
|
83
|
+
this.emitEvent("disconnect", { error: "Connection closed unexpectedly" });
|
|
84
|
+
this.scheduleReconnect();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
this.ws.onmessage = (event) => {
|
|
88
|
+
this.handleMessage(event);
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
rejectAllPending(reason) {
|
|
93
|
+
for (const [, pending] of this.pendingSubscriptions) pending.reject(new Error(reason));
|
|
94
|
+
this.pendingSubscriptions.clear();
|
|
95
|
+
}
|
|
96
|
+
scheduleReconnect() {
|
|
97
|
+
if (!this.options.autoReconnect) return;
|
|
98
|
+
if (this.reconnectAttempt >= this.options.maxRetries) {
|
|
99
|
+
this.rejectAllPending("Max reconnection attempts reached");
|
|
100
|
+
this.emitEvent("maxRetriesReached");
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
this.reconnectAttempt++;
|
|
104
|
+
const delay = Math.min(this.options.retryDelay * Math.pow(2, this.reconnectAttempt - 1), this.options.maxRetryDelay);
|
|
105
|
+
this.emitEvent("reconnect", { attempt: this.reconnectAttempt });
|
|
106
|
+
this.reconnectTimer = setTimeout(() => {
|
|
107
|
+
this.reconnectAndResubscribe();
|
|
108
|
+
}, delay);
|
|
109
|
+
}
|
|
110
|
+
async reconnectAndResubscribe() {
|
|
111
|
+
try {
|
|
112
|
+
await this.connect();
|
|
113
|
+
this.resubscribeAll();
|
|
114
|
+
} catch {}
|
|
115
|
+
}
|
|
116
|
+
resubscribeAll() {
|
|
117
|
+
const queries = Array.from(this.subscriptions.keys());
|
|
118
|
+
for (const query of queries) {
|
|
119
|
+
const messageId = ++this.messageIdCounter;
|
|
120
|
+
this.ws?.send(JSON.stringify({
|
|
121
|
+
jsonrpc: "2.0",
|
|
122
|
+
method: "subscribe",
|
|
123
|
+
id: messageId,
|
|
124
|
+
params: [query]
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async ensureConnected() {
|
|
129
|
+
if (this.isConnected && this.ws) return;
|
|
130
|
+
if (this.connectionPromise) return this.connectionPromise;
|
|
131
|
+
this.connectionPromise = this.connect();
|
|
132
|
+
return this.connectionPromise;
|
|
133
|
+
}
|
|
134
|
+
handleMessage(event) {
|
|
135
|
+
try {
|
|
136
|
+
const data = JSON.parse(event.data);
|
|
137
|
+
if (data.result?.query && data.result?.data?.value) {
|
|
138
|
+
const query = data.result.query;
|
|
139
|
+
const callback = this.subscriptions.get(query);
|
|
140
|
+
if (callback) callback(data.result.data.value);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (data.id !== void 0 && data.result !== void 0) {
|
|
144
|
+
const pending = this.pendingSubscriptions.get(data.id);
|
|
145
|
+
if (pending) {
|
|
146
|
+
this.pendingSubscriptions.delete(data.id);
|
|
147
|
+
pending.resolve();
|
|
148
|
+
}
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
} catch {}
|
|
152
|
+
}
|
|
153
|
+
async subscribe(query, callback) {
|
|
154
|
+
await this.ensureConnected();
|
|
155
|
+
const messageId = ++this.messageIdCounter;
|
|
156
|
+
const subscriptionId = `cosmos-${messageId}-${Date.now()}`;
|
|
157
|
+
await new Promise((resolve, reject) => {
|
|
158
|
+
this.pendingSubscriptions.set(messageId, {
|
|
159
|
+
resolve,
|
|
160
|
+
reject,
|
|
161
|
+
query
|
|
162
|
+
});
|
|
163
|
+
this.ws.send(JSON.stringify({
|
|
164
|
+
jsonrpc: "2.0",
|
|
165
|
+
method: "subscribe",
|
|
166
|
+
id: messageId,
|
|
167
|
+
params: [query]
|
|
168
|
+
}));
|
|
169
|
+
setTimeout(() => {
|
|
170
|
+
if (this.pendingSubscriptions.has(messageId)) {
|
|
171
|
+
this.pendingSubscriptions.delete(messageId);
|
|
172
|
+
reject(/* @__PURE__ */ new Error(`Subscription confirmation timeout for query: ${query}`));
|
|
173
|
+
}
|
|
174
|
+
}, SUBSCRIPTION_TIMEOUT_MS);
|
|
175
|
+
});
|
|
176
|
+
this.subscriptions.set(query, callback);
|
|
177
|
+
return {
|
|
178
|
+
id: subscriptionId,
|
|
179
|
+
unsubscribe: () => {
|
|
180
|
+
this.subscriptions.delete(query);
|
|
181
|
+
if (this.ws && this.isConnected) this.ws.send(JSON.stringify({
|
|
182
|
+
jsonrpc: "2.0",
|
|
183
|
+
method: "unsubscribe",
|
|
184
|
+
id: ++this.messageIdCounter,
|
|
185
|
+
params: [query]
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
get connected() {
|
|
191
|
+
return this.isConnected;
|
|
192
|
+
}
|
|
193
|
+
get subscriptionCount() {
|
|
194
|
+
return this.subscriptions.size;
|
|
195
|
+
}
|
|
196
|
+
close() {
|
|
197
|
+
this.isUserClose = true;
|
|
198
|
+
if (this.reconnectTimer) {
|
|
199
|
+
clearTimeout(this.reconnectTimer);
|
|
200
|
+
this.reconnectTimer = null;
|
|
201
|
+
}
|
|
202
|
+
this.subscriptions.clear();
|
|
203
|
+
this.rejectAllPending("Session closed");
|
|
204
|
+
if (this.ws) {
|
|
205
|
+
this.ws.close();
|
|
206
|
+
this.ws = null;
|
|
207
|
+
}
|
|
208
|
+
this.isConnected = false;
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
//#endregion
|
|
212
|
+
//#region src/client/websocket/evm-session.ts
|
|
213
|
+
/**
|
|
214
|
+
* Internal EVM WebSocket session for Ethereum-compatible subscriptions.
|
|
215
|
+
* @internal
|
|
216
|
+
*/
|
|
217
|
+
var InternalEvmSession = class {
|
|
218
|
+
ws = null;
|
|
219
|
+
subscriptions = /* @__PURE__ */ new Map();
|
|
220
|
+
/** Stored subscription info for resubscription */
|
|
221
|
+
subscriptionInfo = /* @__PURE__ */ new Map();
|
|
222
|
+
messageIdCounter = 0;
|
|
223
|
+
pendingSubscriptions = /* @__PURE__ */ new Map();
|
|
224
|
+
isConnected = false;
|
|
225
|
+
connectionPromise = null;
|
|
226
|
+
isUserClose = false;
|
|
227
|
+
reconnectAttempt = 0;
|
|
228
|
+
reconnectTimer = null;
|
|
229
|
+
options;
|
|
230
|
+
constructor(wssUrl, options = {}) {
|
|
231
|
+
this.wssUrl = wssUrl;
|
|
232
|
+
this.options = {
|
|
233
|
+
...DEFAULT_SESSION_OPTIONS,
|
|
234
|
+
onConnectionEvent: options.onConnectionEvent
|
|
235
|
+
};
|
|
236
|
+
if (options.autoReconnect !== void 0) this.options.autoReconnect = options.autoReconnect;
|
|
237
|
+
if (options.maxRetries !== void 0) this.options.maxRetries = options.maxRetries;
|
|
238
|
+
if (options.retryDelay !== void 0) this.options.retryDelay = options.retryDelay;
|
|
239
|
+
if (options.maxRetryDelay !== void 0) this.options.maxRetryDelay = options.maxRetryDelay;
|
|
240
|
+
}
|
|
241
|
+
emitEvent(type, extra) {
|
|
242
|
+
this.options.onConnectionEvent?.({
|
|
243
|
+
type,
|
|
244
|
+
timestamp: Date.now(),
|
|
245
|
+
...extra
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
async connect() {
|
|
249
|
+
return new Promise((resolve, reject) => {
|
|
250
|
+
this.ws = new WebSocket(this.wssUrl);
|
|
251
|
+
this.ws.onopen = () => {
|
|
252
|
+
this.isConnected = true;
|
|
253
|
+
this.connectionPromise = null;
|
|
254
|
+
this.reconnectAttempt = 0;
|
|
255
|
+
this.emitEvent("connect");
|
|
256
|
+
resolve();
|
|
257
|
+
};
|
|
258
|
+
this.ws.onerror = () => {
|
|
259
|
+
this.connectionPromise = null;
|
|
260
|
+
const errorMsg = `WebSocket connection failed: ${this.wssUrl}`;
|
|
261
|
+
this.emitEvent("error", { error: errorMsg });
|
|
262
|
+
reject(new Error(errorMsg));
|
|
263
|
+
};
|
|
264
|
+
this.ws.onclose = () => {
|
|
265
|
+
const wasConnected = this.isConnected;
|
|
266
|
+
this.isConnected = false;
|
|
267
|
+
this.ws = null;
|
|
268
|
+
if (wasConnected && !this.isUserClose) {
|
|
269
|
+
this.emitEvent("disconnect", { error: "Connection closed unexpectedly" });
|
|
270
|
+
this.scheduleReconnect();
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
this.ws.onmessage = (event) => {
|
|
274
|
+
this.handleMessage(event);
|
|
275
|
+
};
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
rejectAllPending(reason) {
|
|
279
|
+
for (const [, pending] of this.pendingSubscriptions) pending.reject(new Error(reason));
|
|
280
|
+
this.pendingSubscriptions.clear();
|
|
281
|
+
}
|
|
282
|
+
scheduleReconnect() {
|
|
283
|
+
if (!this.options.autoReconnect) return;
|
|
284
|
+
if (this.reconnectAttempt >= this.options.maxRetries) {
|
|
285
|
+
this.rejectAllPending("Max reconnection attempts reached");
|
|
286
|
+
this.emitEvent("maxRetriesReached");
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
this.reconnectAttempt++;
|
|
290
|
+
const delay = Math.min(this.options.retryDelay * Math.pow(2, this.reconnectAttempt - 1), this.options.maxRetryDelay);
|
|
291
|
+
this.emitEvent("reconnect", { attempt: this.reconnectAttempt });
|
|
292
|
+
this.reconnectTimer = setTimeout(() => {
|
|
293
|
+
this.reconnectAndResubscribe();
|
|
294
|
+
}, delay);
|
|
295
|
+
}
|
|
296
|
+
async reconnectAndResubscribe() {
|
|
297
|
+
try {
|
|
298
|
+
await this.connect();
|
|
299
|
+
await this.resubscribeAll();
|
|
300
|
+
} catch {}
|
|
301
|
+
}
|
|
302
|
+
async resubscribeAll() {
|
|
303
|
+
const oldInfos = new Map(this.subscriptionInfo);
|
|
304
|
+
this.subscriptions.clear();
|
|
305
|
+
this.subscriptionInfo.clear();
|
|
306
|
+
for (const [, info] of oldInfos) try {
|
|
307
|
+
await this.subscribe(info.type, info.params, info.callback);
|
|
308
|
+
} catch {}
|
|
309
|
+
}
|
|
310
|
+
async ensureConnected() {
|
|
311
|
+
if (this.isConnected && this.ws) return;
|
|
312
|
+
if (this.connectionPromise) return this.connectionPromise;
|
|
313
|
+
this.connectionPromise = this.connect();
|
|
314
|
+
return this.connectionPromise;
|
|
315
|
+
}
|
|
316
|
+
handleMessage(event) {
|
|
317
|
+
try {
|
|
318
|
+
const data = JSON.parse(event.data);
|
|
319
|
+
if (data.id !== void 0 && data.result !== void 0) {
|
|
320
|
+
const pending = this.pendingSubscriptions.get(data.id);
|
|
321
|
+
if (pending) {
|
|
322
|
+
pending.resolve(data.result);
|
|
323
|
+
this.pendingSubscriptions.delete(data.id);
|
|
324
|
+
}
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
if (data.method === "eth_subscription" && data.params?.subscription) {
|
|
328
|
+
const callback = this.subscriptions.get(data.params.subscription);
|
|
329
|
+
if (callback) callback(data.params.result);
|
|
330
|
+
}
|
|
331
|
+
} catch {}
|
|
332
|
+
}
|
|
333
|
+
async subscribe(type, params, callback) {
|
|
334
|
+
await this.ensureConnected();
|
|
335
|
+
const messageId = ++this.messageIdCounter;
|
|
336
|
+
const subscribeParams = type === "logs" ? [type, params] : [type];
|
|
337
|
+
const subscriptionId = await new Promise((resolve, reject) => {
|
|
338
|
+
this.pendingSubscriptions.set(messageId, {
|
|
339
|
+
resolve,
|
|
340
|
+
reject
|
|
341
|
+
});
|
|
342
|
+
this.ws.send(JSON.stringify({
|
|
343
|
+
jsonrpc: "2.0",
|
|
344
|
+
method: "eth_subscribe",
|
|
345
|
+
id: messageId,
|
|
346
|
+
params: subscribeParams
|
|
347
|
+
}));
|
|
348
|
+
setTimeout(() => {
|
|
349
|
+
if (this.pendingSubscriptions.has(messageId)) {
|
|
350
|
+
this.pendingSubscriptions.delete(messageId);
|
|
351
|
+
reject(/* @__PURE__ */ new Error("Subscription confirmation timeout"));
|
|
352
|
+
}
|
|
353
|
+
}, SUBSCRIPTION_TIMEOUT_MS);
|
|
354
|
+
});
|
|
355
|
+
this.subscriptions.set(subscriptionId, callback);
|
|
356
|
+
this.subscriptionInfo.set(subscriptionId, {
|
|
357
|
+
type,
|
|
358
|
+
params,
|
|
359
|
+
callback
|
|
360
|
+
});
|
|
361
|
+
return {
|
|
362
|
+
id: subscriptionId,
|
|
363
|
+
unsubscribe: () => {
|
|
364
|
+
this.subscriptions.delete(subscriptionId);
|
|
365
|
+
this.subscriptionInfo.delete(subscriptionId);
|
|
366
|
+
if (this.ws && this.isConnected) this.ws.send(JSON.stringify({
|
|
367
|
+
jsonrpc: "2.0",
|
|
368
|
+
method: "eth_unsubscribe",
|
|
369
|
+
id: ++this.messageIdCounter,
|
|
370
|
+
params: [subscriptionId]
|
|
371
|
+
}));
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
get connected() {
|
|
376
|
+
return this.isConnected;
|
|
377
|
+
}
|
|
378
|
+
get subscriptionCount() {
|
|
379
|
+
return this.subscriptions.size;
|
|
380
|
+
}
|
|
381
|
+
close() {
|
|
382
|
+
this.isUserClose = true;
|
|
383
|
+
if (this.reconnectTimer) {
|
|
384
|
+
clearTimeout(this.reconnectTimer);
|
|
385
|
+
this.reconnectTimer = null;
|
|
386
|
+
}
|
|
387
|
+
this.subscriptions.clear();
|
|
388
|
+
this.subscriptionInfo.clear();
|
|
389
|
+
this.rejectAllPending("Session closed");
|
|
390
|
+
if (this.ws) {
|
|
391
|
+
this.ws.close();
|
|
392
|
+
this.ws = null;
|
|
393
|
+
}
|
|
394
|
+
this.isConnected = false;
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
//#endregion
|
|
398
|
+
//#region src/client/websocket/session.ts
|
|
399
|
+
/**
|
|
400
|
+
* Unified WebSocket session for managing subscriptions to both Cosmos and EVM events.
|
|
401
|
+
*
|
|
402
|
+
* Lazily creates connections to the appropriate WebSocket based on the event type.
|
|
403
|
+
* For minievm chains, a single session can manage both Cosmos and EVM subscriptions.
|
|
404
|
+
*
|
|
405
|
+
* Features:
|
|
406
|
+
* - **Auto-reconnect**: Automatically reconnects on disconnect with exponential backoff (default: enabled)
|
|
407
|
+
* - **Re-subscription**: All subscriptions are automatically restored after reconnection
|
|
408
|
+
* - **Connection events**: Optional callback for monitoring connection state changes
|
|
409
|
+
*
|
|
410
|
+
* @example Basic usage
|
|
411
|
+
* ```typescript
|
|
412
|
+
* const session = createSession(chainInfo)
|
|
413
|
+
*
|
|
414
|
+
* // Subscribe to Cosmos events (uses wss endpoint)
|
|
415
|
+
* const blockSub = await session.subscribe({ event: 'block' }, (block) => {
|
|
416
|
+
* console.log('New block:', block)
|
|
417
|
+
* })
|
|
418
|
+
*
|
|
419
|
+
* // Subscribe to EVM events (uses evmWss endpoint)
|
|
420
|
+
* const logSub = await session.subscribe({
|
|
421
|
+
* event: 'evmLogs',
|
|
422
|
+
* filter: { address: '0x...' }
|
|
423
|
+
* }, (log) => {
|
|
424
|
+
* console.log('EVM log:', log)
|
|
425
|
+
* })
|
|
426
|
+
*
|
|
427
|
+
* // Check connection status
|
|
428
|
+
* console.log('Cosmos connected:', session.cosmosConnected)
|
|
429
|
+
* console.log('EVM connected:', session.evmConnected)
|
|
430
|
+
*
|
|
431
|
+
* // Cleanup all connections
|
|
432
|
+
* session.close()
|
|
433
|
+
* ```
|
|
434
|
+
*
|
|
435
|
+
* @example With connection monitoring
|
|
436
|
+
* ```typescript
|
|
437
|
+
* const session = createSession(chainInfo, {
|
|
438
|
+
* onConnectionEvent: (event) => {
|
|
439
|
+
* console.log(`[${event.type}] at ${new Date(event.timestamp).toISOString()}`)
|
|
440
|
+
* if (event.type === 'reconnect') {
|
|
441
|
+
* console.log(` Attempt #${event.attempt}`)
|
|
442
|
+
* }
|
|
443
|
+
* if (event.error) {
|
|
444
|
+
* console.log(` Error: ${event.error}`)
|
|
445
|
+
* }
|
|
446
|
+
* }
|
|
447
|
+
* })
|
|
448
|
+
* ```
|
|
449
|
+
*
|
|
450
|
+
* @example Disable auto-reconnect
|
|
451
|
+
* ```typescript
|
|
452
|
+
* const session = createSession(chainInfo, { autoReconnect: false })
|
|
453
|
+
* ```
|
|
454
|
+
*/
|
|
455
|
+
var WebSocketSession = class {
|
|
456
|
+
cosmosSession;
|
|
457
|
+
evmSession;
|
|
458
|
+
constructor(chainInfo, options = {}) {
|
|
459
|
+
this.chainInfo = chainInfo;
|
|
460
|
+
this.options = options;
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Subscribe to blockchain events.
|
|
464
|
+
*
|
|
465
|
+
* Automatically routes to the appropriate WebSocket based on event type.
|
|
466
|
+
* Event data type is inferred from the event spec. Use generic parameter
|
|
467
|
+
* to override with a custom type.
|
|
468
|
+
*
|
|
469
|
+
* @typeParam T - Optional custom type override for event data
|
|
470
|
+
* @param spec - Event specification
|
|
471
|
+
* @param callback - Function called for each event with inferred or custom type
|
|
472
|
+
* @returns Subscription handle
|
|
473
|
+
*
|
|
474
|
+
* @example Default type inference
|
|
475
|
+
* ```typescript
|
|
476
|
+
* session.subscribe({ event: 'block' }, (block) => {
|
|
477
|
+
* console.log(block.header?.height) // WsBlock type inferred
|
|
478
|
+
* })
|
|
479
|
+
* ```
|
|
480
|
+
*
|
|
481
|
+
* @example Custom type override
|
|
482
|
+
* ```typescript
|
|
483
|
+
* interface MyBlock { header: { height: string } }
|
|
484
|
+
* session.subscribe<MyBlock>({ event: 'block' }, (block) => {
|
|
485
|
+
* console.log(block.header.height) // MyBlock type used
|
|
486
|
+
* })
|
|
487
|
+
* ```
|
|
488
|
+
*/
|
|
489
|
+
async subscribe(spec, callback) {
|
|
490
|
+
if (isCosmosEvent(spec)) return this.subscribeCosmos(spec, callback);
|
|
491
|
+
else return this.subscribeEvm(spec, callback);
|
|
492
|
+
}
|
|
493
|
+
async subscribeCosmos(spec, callback) {
|
|
494
|
+
if (!this.cosmosSession) {
|
|
495
|
+
if (!this.chainInfo.wss) throw new WebSocketNotAvailableError(this.chainInfo.chainId);
|
|
496
|
+
this.cosmosSession = new InternalCosmosSession(this.chainInfo.wss, this.options);
|
|
497
|
+
}
|
|
498
|
+
let query;
|
|
499
|
+
let dataExtractor = (data) => data;
|
|
500
|
+
switch (spec.event) {
|
|
501
|
+
case "block":
|
|
502
|
+
query = "tm.event='NewBlock'";
|
|
503
|
+
dataExtractor = (data) => {
|
|
504
|
+
return data.block ?? data;
|
|
505
|
+
};
|
|
506
|
+
break;
|
|
507
|
+
case "blockHeader":
|
|
508
|
+
query = "tm.event='NewBlockHeader'";
|
|
509
|
+
dataExtractor = (data) => {
|
|
510
|
+
return data.header ?? data;
|
|
511
|
+
};
|
|
512
|
+
break;
|
|
513
|
+
case "tx":
|
|
514
|
+
query = spec.filter ? `tm.event='Tx' AND ${spec.filter}` : "tm.event='Tx'";
|
|
515
|
+
dataExtractor = (data) => {
|
|
516
|
+
return data.TxResult ?? data;
|
|
517
|
+
};
|
|
518
|
+
break;
|
|
519
|
+
case "validatorUpdates":
|
|
520
|
+
query = "tm.event='ValidatorSetUpdates'";
|
|
521
|
+
break;
|
|
522
|
+
case "cosmosCustom":
|
|
523
|
+
query = spec.query;
|
|
524
|
+
break;
|
|
525
|
+
}
|
|
526
|
+
return this.cosmosSession.subscribe(query, (data) => {
|
|
527
|
+
callback(dataExtractor(data));
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
async subscribeEvm(spec, callback) {
|
|
531
|
+
if (!this.evmSession) {
|
|
532
|
+
const evmWss = this.chainInfo.evmWss;
|
|
533
|
+
if (!evmWss) throw new WebSocketNotAvailableError(this.chainInfo.chainId);
|
|
534
|
+
this.evmSession = new InternalEvmSession(evmWss, this.options);
|
|
535
|
+
}
|
|
536
|
+
let type;
|
|
537
|
+
let params = {};
|
|
538
|
+
switch (spec.event) {
|
|
539
|
+
case "evmLogs":
|
|
540
|
+
type = "logs";
|
|
541
|
+
params = spec.filter ?? {};
|
|
542
|
+
break;
|
|
543
|
+
case "evmHeads":
|
|
544
|
+
type = "newHeads";
|
|
545
|
+
break;
|
|
546
|
+
case "evmPendingTxs":
|
|
547
|
+
type = "newPendingTransactions";
|
|
548
|
+
break;
|
|
549
|
+
case "evmSyncing":
|
|
550
|
+
type = "syncing";
|
|
551
|
+
break;
|
|
552
|
+
case "evmCustom":
|
|
553
|
+
type = spec.type;
|
|
554
|
+
params = spec.params ?? {};
|
|
555
|
+
break;
|
|
556
|
+
}
|
|
557
|
+
return this.evmSession.subscribe(type, params, callback);
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* Check if Cosmos WebSocket endpoint is available.
|
|
561
|
+
*/
|
|
562
|
+
get hasCosmosEndpoint() {
|
|
563
|
+
return !!this.chainInfo.wss;
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* Check if EVM WebSocket endpoint is available.
|
|
567
|
+
*/
|
|
568
|
+
get hasEvmEndpoint() {
|
|
569
|
+
return !!this.chainInfo.evmWss;
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Check if Cosmos WebSocket is currently connected.
|
|
573
|
+
*/
|
|
574
|
+
get cosmosConnected() {
|
|
575
|
+
return this.cosmosSession?.connected ?? false;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Check if EVM WebSocket is currently connected.
|
|
579
|
+
*/
|
|
580
|
+
get evmConnected() {
|
|
581
|
+
return this.evmSession?.connected ?? false;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Get total number of active subscriptions across all connections.
|
|
585
|
+
*/
|
|
586
|
+
get subscriptionCount() {
|
|
587
|
+
return (this.cosmosSession?.subscriptionCount ?? 0) + (this.evmSession?.subscriptionCount ?? 0);
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Close all WebSocket connections and subscriptions.
|
|
591
|
+
*/
|
|
592
|
+
close() {
|
|
593
|
+
this.cosmosSession?.close();
|
|
594
|
+
this.evmSession?.close();
|
|
595
|
+
this.cosmosSession = void 0;
|
|
596
|
+
this.evmSession = void 0;
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
/**
|
|
600
|
+
* Create a WebSocket session for subscribing to blockchain events.
|
|
601
|
+
*
|
|
602
|
+
* The session lazily connects to the appropriate WebSocket (Cosmos or EVM)
|
|
603
|
+
* based on the events you subscribe to.
|
|
604
|
+
*
|
|
605
|
+
* **Auto-reconnect behavior** (enabled by default):
|
|
606
|
+
* - Automatically reconnects when connection drops unexpectedly
|
|
607
|
+
* - Uses exponential backoff: 1s, 2s, 4s, 8s... up to 30s max
|
|
608
|
+
* - Re-subscribes all existing subscriptions after reconnection
|
|
609
|
+
* - Disable with `{ autoReconnect: false }` for manual control
|
|
610
|
+
*
|
|
611
|
+
* @param chainInfo - Chain configuration
|
|
612
|
+
* @param options - Session options (auto-reconnect, connection events)
|
|
613
|
+
* @returns WebSocketSession instance
|
|
614
|
+
*
|
|
615
|
+
* @example Basic usage
|
|
616
|
+
* ```typescript
|
|
617
|
+
* const session = createSession(chainInfo)
|
|
618
|
+
*
|
|
619
|
+
* // Mixed Cosmos and EVM subscriptions (for minievm chains)
|
|
620
|
+
* await session.subscribe({ event: 'block' }, onBlock)
|
|
621
|
+
* await session.subscribe({ event: 'evmLogs', filter: {...} }, onLog)
|
|
622
|
+
*
|
|
623
|
+
* session.close()
|
|
624
|
+
* ```
|
|
625
|
+
*
|
|
626
|
+
* @example With connection monitoring
|
|
627
|
+
* ```typescript
|
|
628
|
+
* const session = createSession(chainInfo, {
|
|
629
|
+
* onConnectionEvent: (event) => {
|
|
630
|
+
* if (event.type === 'disconnect') {
|
|
631
|
+
* console.warn('WebSocket disconnected:', event.error)
|
|
632
|
+
* } else if (event.type === 'reconnect') {
|
|
633
|
+
* console.log(`Reconnecting... (attempt ${event.attempt})`)
|
|
634
|
+
* } else if (event.type === 'connect') {
|
|
635
|
+
* console.log('WebSocket connected')
|
|
636
|
+
* }
|
|
637
|
+
* }
|
|
638
|
+
* })
|
|
639
|
+
* ```
|
|
640
|
+
*
|
|
641
|
+
* @example Custom reconnect settings
|
|
642
|
+
* ```typescript
|
|
643
|
+
* const session = createSession(chainInfo, {
|
|
644
|
+
* autoReconnect: true,
|
|
645
|
+
* maxRetries: 10, // Give up after 10 attempts
|
|
646
|
+
* retryDelay: 2000, // Start with 2s delay
|
|
647
|
+
* maxRetryDelay: 60000, // Cap at 60s
|
|
648
|
+
* })
|
|
649
|
+
* ```
|
|
650
|
+
*/
|
|
651
|
+
function createSession(chainInfo, options) {
|
|
652
|
+
return new WebSocketSession(chainInfo, options);
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* Subscribe to blockchain events with automatic session management.
|
|
656
|
+
*
|
|
657
|
+
* Creates a temporary session for the subscription and closes it when unsubscribed.
|
|
658
|
+
* For multiple subscriptions, use `createSession()` for better efficiency.
|
|
659
|
+
*
|
|
660
|
+
* Event data type is inferred from the event spec. Use generic parameter
|
|
661
|
+
* to override with a custom type.
|
|
662
|
+
*
|
|
663
|
+
* @typeParam T - Optional custom type override for event data
|
|
664
|
+
* @param chainInfo - Chain configuration
|
|
665
|
+
* @param spec - Event specification
|
|
666
|
+
* @param callback - Function called for each event with inferred or custom type
|
|
667
|
+
* @returns Subscription handle
|
|
668
|
+
*
|
|
669
|
+
* @example Default type inference
|
|
670
|
+
* ```typescript
|
|
671
|
+
* const sub = await subscribe(chainInfo, { event: 'block' }, (block) => {
|
|
672
|
+
* console.log('New block:', block.header?.height) // WsBlock inferred
|
|
673
|
+
* })
|
|
674
|
+
* ```
|
|
675
|
+
*
|
|
676
|
+
* @example Custom type override
|
|
677
|
+
* ```typescript
|
|
678
|
+
* interface MyBlock { header: { height: string } }
|
|
679
|
+
* const sub = await subscribe<MyBlock>(chainInfo, { event: 'block' }, (block) => {
|
|
680
|
+
* console.log('New block:', block.header.height) // MyBlock used
|
|
681
|
+
* })
|
|
682
|
+
* ```
|
|
683
|
+
*/
|
|
684
|
+
async function subscribe(chainInfo, spec, callback) {
|
|
685
|
+
const session = createSession(chainInfo);
|
|
686
|
+
const sub = await session.subscribe(spec, callback);
|
|
687
|
+
return {
|
|
688
|
+
id: sub.id,
|
|
689
|
+
unsubscribe: () => {
|
|
690
|
+
sub.unsubscribe();
|
|
691
|
+
session.close();
|
|
692
|
+
}
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Check if WebSocket endpoint is available for the chain.
|
|
697
|
+
*
|
|
698
|
+
* @param chainInfo - Chain configuration
|
|
699
|
+
* @param type - Endpoint type to check (default: 'cosmos')
|
|
700
|
+
* @returns true if the endpoint is available
|
|
701
|
+
*
|
|
702
|
+
* @example
|
|
703
|
+
* ```typescript
|
|
704
|
+
* if (hasWebSocketEndpoint(chainInfo)) {
|
|
705
|
+
* // Cosmos WS available
|
|
706
|
+
* }
|
|
707
|
+
*
|
|
708
|
+
* if (hasWebSocketEndpoint(chainInfo, 'evm')) {
|
|
709
|
+
* // EVM WS available (minievm chains)
|
|
710
|
+
* }
|
|
711
|
+
* ```
|
|
712
|
+
*/
|
|
713
|
+
function hasWebSocketEndpoint(chainInfo, type = "cosmos") {
|
|
714
|
+
return type === "cosmos" ? !!chainInfo.wss : !!chainInfo.evmWss;
|
|
715
|
+
}
|
|
716
|
+
//#endregion
|
|
717
|
+
//#region src/client/websocket/waiting.ts
|
|
718
|
+
/** Internal: Format raw tx response to TxResult */
|
|
719
|
+
function formatTxResult(tx) {
|
|
720
|
+
return {
|
|
721
|
+
height: tx.height,
|
|
722
|
+
txHash: tx.txhash,
|
|
723
|
+
code: tx.code,
|
|
724
|
+
rawLog: tx.rawLog,
|
|
725
|
+
gasUsed: tx.gasUsed,
|
|
726
|
+
gasWanted: tx.gasWanted,
|
|
727
|
+
events: tx.events.map((e) => ({
|
|
728
|
+
type: e.type,
|
|
729
|
+
attributes: e.attributes.map((a) => ({
|
|
730
|
+
key: a.key,
|
|
731
|
+
value: a.value
|
|
732
|
+
}))
|
|
733
|
+
}))
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
/** Internal: Query transaction from client */
|
|
737
|
+
async function queryTx(client, txHash) {
|
|
738
|
+
try {
|
|
739
|
+
const response = await client.tx.getTx({ hash: txHash });
|
|
740
|
+
if (response.txResponse) return formatTxResult(response.txResponse);
|
|
741
|
+
} catch {}
|
|
742
|
+
return null;
|
|
743
|
+
}
|
|
744
|
+
/**
|
|
745
|
+
* Wait for a transaction to be included in a block.
|
|
746
|
+
*
|
|
747
|
+
* **Strategy selection:**
|
|
748
|
+
* - If `chainInfo` is provided and has WebSocket endpoint → uses WebSocket
|
|
749
|
+
* - Otherwise → uses polling
|
|
750
|
+
*
|
|
751
|
+
* **WebSocket mode** (recommended for fast chains):
|
|
752
|
+
* - Subscribes to new blocks and queries tx on each block
|
|
753
|
+
* - Uses "Subscribe First, Query After" pattern to avoid race conditions
|
|
754
|
+
* - Falls back to polling if WebSocket connection fails
|
|
755
|
+
*
|
|
756
|
+
* **Polling mode**:
|
|
757
|
+
* - Queries tx at regular intervals until found or timeout
|
|
758
|
+
*
|
|
759
|
+
* @param client - gRPC client with tx service
|
|
760
|
+
* @param txHash - Transaction hash to wait for
|
|
761
|
+
* @param options - Wait options (timeout, pollInterval, chainInfo)
|
|
762
|
+
* @returns Transaction result when found
|
|
763
|
+
* @throws {TimeoutError} If the transaction is not found within the timeout
|
|
764
|
+
*
|
|
765
|
+
* @example Polling mode (basic)
|
|
766
|
+
* ```typescript
|
|
767
|
+
* const txResult = await waitForTx(client, txHash)
|
|
768
|
+
* ```
|
|
769
|
+
*
|
|
770
|
+
* @example WebSocket mode (recommended)
|
|
771
|
+
* ```typescript
|
|
772
|
+
* const txResult = await waitForTx(client, txHash, { chainInfo })
|
|
773
|
+
* ```
|
|
774
|
+
*
|
|
775
|
+
* @example Via ChainContext (automatic WebSocket)
|
|
776
|
+
* ```typescript
|
|
777
|
+
* const result = await ctx.signAndBroadcast(msgs)
|
|
778
|
+
* const txResult = await ctx.waitForTx(result.txHash)
|
|
779
|
+
* ```
|
|
780
|
+
*/
|
|
781
|
+
async function waitForTx(client, txHash, options = {}) {
|
|
782
|
+
if (options.chainInfo?.wss) try {
|
|
783
|
+
return await waitForTxWebSocket(client, txHash, options.chainInfo, options);
|
|
784
|
+
} catch (error) {
|
|
785
|
+
if (error instanceof TimeoutError) throw error;
|
|
786
|
+
}
|
|
787
|
+
return waitForTxPolling(client, txHash, options);
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Internal: WebSocket-based waitForTx implementation.
|
|
791
|
+
*
|
|
792
|
+
* Uses "Subscribe First, Query After" pattern:
|
|
793
|
+
* 1. Subscribe to block events first (guarantees future blocks)
|
|
794
|
+
* 2. Query for existing tx after subscription established
|
|
795
|
+
* 3. This avoids race condition where tx is included during subscription setup
|
|
796
|
+
*/
|
|
797
|
+
async function waitForTxWebSocket(client, txHash, chainInfo, options) {
|
|
798
|
+
const timeout = options.timeout ?? 3e4;
|
|
799
|
+
return new Promise((resolve, reject) => {
|
|
800
|
+
let resolved = false;
|
|
801
|
+
let session = null;
|
|
802
|
+
let sub = null;
|
|
803
|
+
let timer = null;
|
|
804
|
+
const cleanup = () => {
|
|
805
|
+
if (timer) {
|
|
806
|
+
clearTimeout(timer);
|
|
807
|
+
timer = null;
|
|
808
|
+
}
|
|
809
|
+
if (sub) {
|
|
810
|
+
sub.unsubscribe();
|
|
811
|
+
sub = null;
|
|
812
|
+
}
|
|
813
|
+
if (session) {
|
|
814
|
+
session.close();
|
|
815
|
+
session = null;
|
|
816
|
+
}
|
|
817
|
+
};
|
|
818
|
+
const complete = (result) => {
|
|
819
|
+
if (resolved) return;
|
|
820
|
+
resolved = true;
|
|
821
|
+
cleanup();
|
|
822
|
+
resolve(result);
|
|
823
|
+
};
|
|
824
|
+
const fail = (error) => {
|
|
825
|
+
if (resolved) return;
|
|
826
|
+
resolved = true;
|
|
827
|
+
cleanup();
|
|
828
|
+
reject(error);
|
|
829
|
+
};
|
|
830
|
+
timer = setTimeout(() => {
|
|
831
|
+
fail(new TimeoutError(`waitForTx(${txHash})`, timeout));
|
|
832
|
+
}, timeout);
|
|
833
|
+
const execute = async () => {
|
|
834
|
+
session = createSession(chainInfo, { autoReconnect: false });
|
|
835
|
+
sub = await session.subscribe({ event: "block" }, () => {
|
|
836
|
+
if (resolved) return;
|
|
837
|
+
queryTx(client, txHash).then((result) => {
|
|
838
|
+
if (result && !resolved) complete(result);
|
|
839
|
+
});
|
|
840
|
+
});
|
|
841
|
+
if (resolved) return;
|
|
842
|
+
const existing = await queryTx(client, txHash);
|
|
843
|
+
if (existing && !resolved) complete(existing);
|
|
844
|
+
};
|
|
845
|
+
execute().catch(fail);
|
|
846
|
+
});
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* Internal: Polling-based waitForTx implementation.
|
|
850
|
+
*/
|
|
851
|
+
async function waitForTxPolling(client, txHash, options) {
|
|
852
|
+
const timeout = options.timeout ?? 3e4;
|
|
853
|
+
const pollInterval = options.pollInterval ?? 1e3;
|
|
854
|
+
const startTime = Date.now();
|
|
855
|
+
while (true) {
|
|
856
|
+
if (Date.now() - startTime > timeout) throw new TimeoutError(`waitForTx(${txHash})`, timeout);
|
|
857
|
+
const result = await queryTx(client, txHash);
|
|
858
|
+
if (result) return result;
|
|
859
|
+
await new Promise((r) => setTimeout(r, pollInterval));
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* Build CometBFT query string from EventFilter.
|
|
864
|
+
*
|
|
865
|
+
* @param filter - Event filter criteria
|
|
866
|
+
* @param fromHeight - Optional minimum block height
|
|
867
|
+
* @returns CometBFT query string
|
|
868
|
+
*
|
|
869
|
+
* @example
|
|
870
|
+
* ```typescript
|
|
871
|
+
* buildEventQuery({ type: 'transfer', attributes: { recipient: 'init1...' } })
|
|
872
|
+
* // => "transfer.recipient='init1...'"
|
|
873
|
+
*
|
|
874
|
+
* buildEventQuery({ type: 'transfer' }, 1000n)
|
|
875
|
+
* // => "tx.height>=1000"
|
|
876
|
+
* ```
|
|
877
|
+
*/
|
|
878
|
+
function buildEventQuery(filter, fromHeight) {
|
|
879
|
+
const conditions = [];
|
|
880
|
+
if (filter.attributes) for (const [key, value] of Object.entries(filter.attributes)) conditions.push(`${filter.type}.${key}='${value}'`);
|
|
881
|
+
if (conditions.length === 0) conditions.push("tx.height>0");
|
|
882
|
+
if (fromHeight !== void 0) conditions.push(`tx.height>=${fromHeight}`);
|
|
883
|
+
return conditions.join(" AND ");
|
|
884
|
+
}
|
|
885
|
+
/**
|
|
886
|
+
* Check if a TxResult matches the given EventFilter.
|
|
887
|
+
*
|
|
888
|
+
* @param tx - Transaction result to check
|
|
889
|
+
* @param filter - Event filter criteria
|
|
890
|
+
* @returns true if the transaction contains a matching event
|
|
891
|
+
*/
|
|
892
|
+
function matchesEventFilter(tx, filter) {
|
|
893
|
+
for (const event of tx.events) {
|
|
894
|
+
if (event.type !== filter.type) continue;
|
|
895
|
+
if (!filter.attributes || Object.keys(filter.attributes).length === 0) return true;
|
|
896
|
+
const attrMap = new Map(event.attributes.map((a) => [a.key, a.value]));
|
|
897
|
+
let allMatch = true;
|
|
898
|
+
for (const [key, value] of Object.entries(filter.attributes)) if (attrMap.get(key) !== value) {
|
|
899
|
+
allMatch = false;
|
|
900
|
+
break;
|
|
901
|
+
}
|
|
902
|
+
if (allMatch) return true;
|
|
903
|
+
}
|
|
904
|
+
return false;
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* Wait for transactions containing events that match the filter criteria.
|
|
908
|
+
*
|
|
909
|
+
* **Strategy selection:**
|
|
910
|
+
* - If `chainInfo` is provided and has WebSocket endpoint → uses WebSocket for real-time events
|
|
911
|
+
* - Otherwise → uses polling via `getTxsEvent` gRPC
|
|
912
|
+
*
|
|
913
|
+
* **WebSocket mode** (recommended for waiting on future events):
|
|
914
|
+
* - Subscribes to new transactions first
|
|
915
|
+
* - Queries historical transactions from `fromHeight`
|
|
916
|
+
* - Combines results in ascending height order
|
|
917
|
+
*
|
|
918
|
+
* **Polling mode**:
|
|
919
|
+
* - Queries `getTxsEvent` at regular intervals
|
|
920
|
+
* - Filters results by event type/attributes
|
|
921
|
+
*
|
|
922
|
+
* @param client - gRPC client with tx service (must support getTxsEvent)
|
|
923
|
+
* @param filter - Event filter criteria
|
|
924
|
+
* @param options - Wait options (timeout, pollInterval, chainInfo, fromHeight, maxResults)
|
|
925
|
+
* @returns Array of TxResult matching the filter
|
|
926
|
+
* @throws {TimeoutError} If no matching events found within timeout
|
|
927
|
+
*
|
|
928
|
+
* @example Wait for transfer events (polling)
|
|
929
|
+
* ```typescript
|
|
930
|
+
* const txs = await waitForEvent(client, {
|
|
931
|
+
* type: 'transfer',
|
|
932
|
+
* attributes: { recipient: 'init1...' }
|
|
933
|
+
* })
|
|
934
|
+
* ```
|
|
935
|
+
*
|
|
936
|
+
* @example Wait for events from specific height (WebSocket)
|
|
937
|
+
* ```typescript
|
|
938
|
+
* const txs = await waitForEvent(client, {
|
|
939
|
+
* type: 'transfer',
|
|
940
|
+
* attributes: { recipient: 'init1...' }
|
|
941
|
+
* }, {
|
|
942
|
+
* chainInfo,
|
|
943
|
+
* fromHeight: 1000n,
|
|
944
|
+
* maxResults: 10
|
|
945
|
+
* })
|
|
946
|
+
* ```
|
|
947
|
+
*/
|
|
948
|
+
async function waitForEvent(client, filter, options = {}) {
|
|
949
|
+
if (options.chainInfo?.wss) try {
|
|
950
|
+
return await waitForEventWebSocket(client, filter, options.chainInfo, options);
|
|
951
|
+
} catch (error) {
|
|
952
|
+
if (error instanceof TimeoutError) throw error;
|
|
953
|
+
}
|
|
954
|
+
return waitForEventPolling(client, filter, options);
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* Internal: WebSocket-based waitForEvent implementation.
|
|
958
|
+
*
|
|
959
|
+
* Uses "Subscribe First, Query After" pattern:
|
|
960
|
+
* 1. Subscribe to tx events first (guarantees future transactions)
|
|
961
|
+
* 2. Query historical transactions matching filter
|
|
962
|
+
* 3. Combine and deduplicate results
|
|
963
|
+
*/
|
|
964
|
+
async function waitForEventWebSocket(client, filter, chainInfo, options) {
|
|
965
|
+
const timeout = options.timeout ?? 6e4;
|
|
966
|
+
const maxResults = options.maxResults ?? 100;
|
|
967
|
+
return new Promise((resolve, reject) => {
|
|
968
|
+
let resolved = false;
|
|
969
|
+
let session = null;
|
|
970
|
+
let sub = null;
|
|
971
|
+
let timer = null;
|
|
972
|
+
const results = /* @__PURE__ */ new Map();
|
|
973
|
+
const cleanup = () => {
|
|
974
|
+
if (timer) {
|
|
975
|
+
clearTimeout(timer);
|
|
976
|
+
timer = null;
|
|
977
|
+
}
|
|
978
|
+
if (sub) {
|
|
979
|
+
sub.unsubscribe();
|
|
980
|
+
sub = null;
|
|
981
|
+
}
|
|
982
|
+
if (session) {
|
|
983
|
+
session.close();
|
|
984
|
+
session = null;
|
|
985
|
+
}
|
|
986
|
+
};
|
|
987
|
+
const complete = () => {
|
|
988
|
+
if (resolved) return;
|
|
989
|
+
resolved = true;
|
|
990
|
+
cleanup();
|
|
991
|
+
resolve(Array.from(results.values()).sort((a, b) => a.height < b.height ? -1 : a.height > b.height ? 1 : 0).slice(0, maxResults));
|
|
992
|
+
};
|
|
993
|
+
const fail = (error) => {
|
|
994
|
+
if (resolved) return;
|
|
995
|
+
resolved = true;
|
|
996
|
+
cleanup();
|
|
997
|
+
reject(error);
|
|
998
|
+
};
|
|
999
|
+
const addResult = (tx) => {
|
|
1000
|
+
if (resolved) return;
|
|
1001
|
+
if (!results.has(tx.txHash) && matchesEventFilter(tx, filter)) {
|
|
1002
|
+
results.set(tx.txHash, tx);
|
|
1003
|
+
if (results.size >= maxResults) complete();
|
|
1004
|
+
}
|
|
1005
|
+
};
|
|
1006
|
+
timer = setTimeout(() => {
|
|
1007
|
+
if (results.size > 0) complete();
|
|
1008
|
+
else fail(new TimeoutError(`waitForEvent(${filter.type})`, timeout));
|
|
1009
|
+
}, timeout);
|
|
1010
|
+
const execute = async () => {
|
|
1011
|
+
session = createSession(chainInfo, { autoReconnect: false });
|
|
1012
|
+
sub = await session.subscribe({ event: "tx" }, (wsTx) => {
|
|
1013
|
+
if (resolved) return;
|
|
1014
|
+
if (wsTx.height && wsTx.result) addResult({
|
|
1015
|
+
height: BigInt(wsTx.height),
|
|
1016
|
+
txHash: wsTx.tx ?? "",
|
|
1017
|
+
code: wsTx.result.code ?? 0,
|
|
1018
|
+
rawLog: wsTx.result.log ?? "",
|
|
1019
|
+
gasUsed: BigInt(wsTx.result.gas_used ?? "0"),
|
|
1020
|
+
gasWanted: BigInt(wsTx.result.gas_wanted ?? "0"),
|
|
1021
|
+
events: (wsTx.result.events ?? []).map((e) => ({
|
|
1022
|
+
type: e.type ?? "",
|
|
1023
|
+
attributes: (e.attributes ?? []).map((a) => ({
|
|
1024
|
+
key: a.key ?? "",
|
|
1025
|
+
value: a.value ?? ""
|
|
1026
|
+
}))
|
|
1027
|
+
}))
|
|
1028
|
+
});
|
|
1029
|
+
});
|
|
1030
|
+
if (resolved) return;
|
|
1031
|
+
const query = buildEventQuery(filter, options.fromHeight);
|
|
1032
|
+
try {
|
|
1033
|
+
const response = await client.tx.getTxsEvent({
|
|
1034
|
+
query,
|
|
1035
|
+
limit: BigInt(maxResults),
|
|
1036
|
+
orderBy: 1
|
|
1037
|
+
});
|
|
1038
|
+
for (const txResponse of response.txResponses) {
|
|
1039
|
+
if (resolved) break;
|
|
1040
|
+
addResult(formatTxResult(txResponse));
|
|
1041
|
+
}
|
|
1042
|
+
if (results.size >= maxResults) complete();
|
|
1043
|
+
} catch {}
|
|
1044
|
+
};
|
|
1045
|
+
execute().catch(fail);
|
|
1046
|
+
});
|
|
1047
|
+
}
|
|
1048
|
+
/**
|
|
1049
|
+
* Internal: Polling-based waitForEvent implementation.
|
|
1050
|
+
*/
|
|
1051
|
+
async function waitForEventPolling(client, filter, options) {
|
|
1052
|
+
const timeout = options.timeout ?? 6e4;
|
|
1053
|
+
const pollInterval = options.pollInterval ?? 1e3;
|
|
1054
|
+
const maxResults = options.maxResults ?? 100;
|
|
1055
|
+
const startTime = Date.now();
|
|
1056
|
+
const results = /* @__PURE__ */ new Map();
|
|
1057
|
+
const query = buildEventQuery(filter, options.fromHeight);
|
|
1058
|
+
while (true) {
|
|
1059
|
+
if (Date.now() - startTime > timeout) {
|
|
1060
|
+
if (results.size > 0) return Array.from(results.values()).sort((a, b) => a.height < b.height ? -1 : a.height > b.height ? 1 : 0).slice(0, maxResults);
|
|
1061
|
+
throw new TimeoutError(`waitForEvent(${filter.type})`, timeout);
|
|
1062
|
+
}
|
|
1063
|
+
try {
|
|
1064
|
+
const response = await client.tx.getTxsEvent({
|
|
1065
|
+
query,
|
|
1066
|
+
limit: BigInt(maxResults),
|
|
1067
|
+
orderBy: 1
|
|
1068
|
+
});
|
|
1069
|
+
for (const txResponse of response.txResponses) {
|
|
1070
|
+
const tx = formatTxResult(txResponse);
|
|
1071
|
+
if (!results.has(tx.txHash) && matchesEventFilter(tx, filter)) results.set(tx.txHash, tx);
|
|
1072
|
+
}
|
|
1073
|
+
if (results.size >= maxResults) return Array.from(results.values()).sort((a, b) => a.height < b.height ? -1 : a.height > b.height ? 1 : 0).slice(0, maxResults);
|
|
1074
|
+
} catch {}
|
|
1075
|
+
await new Promise((r) => setTimeout(r, pollInterval));
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
//#endregion
|
|
1079
|
+
export { WebSocketSession as a, subscribe as c, waitForTx as i, isCosmosEvent as l, matchesEventFilter as n, createSession as o, waitForEvent as r, hasWebSocketEndpoint as s, buildEventQuery as t, isEvmEvent as u };
|
|
1080
|
+
|
|
1081
|
+
//# sourceMappingURL=waiting-BigHYRNN.mjs.map
|