@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.
Files changed (696) hide show
  1. package/README.md +232 -154
  2. package/dist/abi-helpers-DdwdqhMQ.mjs +51 -0
  3. package/dist/abi-helpers-DdwdqhMQ.mjs.map +1 -0
  4. package/dist/address-DwAkzgJk.mjs +156 -0
  5. package/dist/address-DwAkzgJk.mjs.map +1 -0
  6. package/dist/address-profile-DjdaEBxo.d.mts +112 -0
  7. package/dist/address-profile-DlAFvgdg.mjs +241 -0
  8. package/dist/address-profile-DlAFvgdg.mjs.map +1 -0
  9. package/dist/amino-CMQN7Frn.mjs +220 -0
  10. package/dist/amino-CMQN7Frn.mjs.map +1 -0
  11. package/dist/amino_pb-Bi6YDY_U.mjs +88 -0
  12. package/dist/amino_pb-Bi6YDY_U.mjs.map +1 -0
  13. package/dist/amount-B0J9TTNF.mjs +90 -0
  14. package/dist/amount-B0J9TTNF.mjs.map +1 -0
  15. package/dist/any-DElm7qF7.mjs +19 -0
  16. package/dist/any-DElm7qF7.mjs.map +1 -0
  17. package/dist/auth_pb-DN4URGLh.mjs +26 -0
  18. package/dist/auth_pb-DN4URGLh.mjs.map +1 -0
  19. package/dist/auth_pb-DfXfdvrY.mjs +16 -0
  20. package/dist/auth_pb-DfXfdvrY.mjs.map +1 -0
  21. package/dist/base-provider-CLnd7kte.d.mts +68 -0
  22. package/dist/base-provider-LNp6K7Mt.mjs +96 -0
  23. package/dist/base-provider-LNp6K7Mt.mjs.map +1 -0
  24. package/dist/bcs-DiRcL4n9.mjs +533 -0
  25. package/dist/bcs-DiRcL4n9.mjs.map +1 -0
  26. package/dist/bridge-DL-q-7P7.mjs +1222 -0
  27. package/dist/bridge-DL-q-7P7.mjs.map +1 -0
  28. package/dist/bridge-cQoOjppA.d.mts +606 -0
  29. package/dist/broadcast-De8MdmYa.mjs +974 -0
  30. package/dist/broadcast-De8MdmYa.mjs.map +1 -0
  31. package/dist/chain-utils-C61cU5nd.mjs +139 -0
  32. package/dist/chain-utils-C61cU5nd.mjs.map +1 -0
  33. package/dist/codegen/cli.d.mts +1 -0
  34. package/dist/codegen/cli.mjs +274 -0
  35. package/dist/codegen/cli.mjs.map +1 -0
  36. package/dist/coin-DPWbtAFA.mjs +543 -0
  37. package/dist/coin-DPWbtAFA.mjs.map +1 -0
  38. package/dist/coin_pb--WuIu4sX.mjs +25 -0
  39. package/dist/coin_pb--WuIu4sX.mjs.map +1 -0
  40. package/dist/composite-provider-DbxNrdny.mjs +203 -0
  41. package/dist/composite-provider-DbxNrdny.mjs.map +1 -0
  42. package/dist/constants-W6V0E-3W.mjs +42 -0
  43. package/dist/constants-W6V0E-3W.mjs.map +1 -0
  44. package/dist/contract-Dpvu4wLO.mjs +657 -0
  45. package/dist/contract-Dpvu4wLO.mjs.map +1 -0
  46. package/dist/cosmos-Bqh8qNfP.mjs +540 -0
  47. package/dist/cosmos-Bqh8qNfP.mjs.map +1 -0
  48. package/dist/cosmos-registry-provider-DCrEEhJ-.d.mts +123 -0
  49. package/dist/cw20-BTpdgMXC.mjs +63 -0
  50. package/dist/cw20-BTpdgMXC.mjs.map +1 -0
  51. package/dist/decode-CXGawqIZ.mjs +29 -0
  52. package/dist/decode-CXGawqIZ.mjs.map +1 -0
  53. package/dist/entry.bridge.browser.d.mts +21 -0
  54. package/dist/entry.bridge.browser.mjs +25 -0
  55. package/dist/entry.bridge.browser.mjs.map +1 -0
  56. package/dist/entry.bridge.node.d.mts +21 -0
  57. package/dist/entry.bridge.node.mjs +25 -0
  58. package/dist/entry.bridge.node.mjs.map +1 -0
  59. package/dist/entry.browser.d.mts +49 -0
  60. package/dist/entry.browser.mjs +46 -0
  61. package/dist/entry.browser.mjs.map +1 -0
  62. package/dist/entry.chain.initia.browser.d.mts +8 -0
  63. package/dist/entry.chain.initia.browser.mjs +17 -0
  64. package/dist/entry.chain.initia.browser.mjs.map +1 -0
  65. package/dist/entry.chain.initia.node.d.mts +8 -0
  66. package/dist/entry.chain.initia.node.mjs +17 -0
  67. package/dist/entry.chain.initia.node.mjs.map +1 -0
  68. package/dist/entry.chain.minievm.browser.d.mts +8 -0
  69. package/dist/entry.chain.minievm.browser.mjs +17 -0
  70. package/dist/entry.chain.minievm.browser.mjs.map +1 -0
  71. package/dist/entry.chain.minievm.node.d.mts +8 -0
  72. package/dist/entry.chain.minievm.node.mjs +17 -0
  73. package/dist/entry.chain.minievm.node.mjs.map +1 -0
  74. package/dist/entry.chain.minimove.browser.d.mts +8 -0
  75. package/dist/entry.chain.minimove.browser.mjs +17 -0
  76. package/dist/entry.chain.minimove.browser.mjs.map +1 -0
  77. package/dist/entry.chain.minimove.node.d.mts +8 -0
  78. package/dist/entry.chain.minimove.node.mjs +17 -0
  79. package/dist/entry.chain.minimove.node.mjs.map +1 -0
  80. package/dist/entry.chain.miniwasm.browser.d.mts +8 -0
  81. package/dist/entry.chain.miniwasm.browser.mjs +17 -0
  82. package/dist/entry.chain.miniwasm.browser.mjs.map +1 -0
  83. package/dist/entry.chain.miniwasm.node.d.mts +8 -0
  84. package/dist/entry.chain.miniwasm.node.mjs +17 -0
  85. package/dist/entry.chain.miniwasm.node.mjs.map +1 -0
  86. package/dist/entry.client.browser-CQsfUmx1.d.mts +1 -0
  87. package/dist/entry.client.browser.d.mts +3 -0
  88. package/dist/entry.client.browser.mjs +6 -0
  89. package/dist/entry.client.node.d.mts +3 -0
  90. package/dist/entry.client.node.mjs +6 -0
  91. package/dist/entry.codegen.d.mts +251 -0
  92. package/dist/entry.codegen.mjs +2 -0
  93. package/dist/entry.cosmos.d.mts +2 -0
  94. package/dist/entry.cosmos.mjs +355 -0
  95. package/dist/entry.cosmos.mjs.map +1 -0
  96. package/dist/entry.events.d.mts +338 -0
  97. package/dist/entry.events.mjs +383 -0
  98. package/dist/entry.events.mjs.map +1 -0
  99. package/dist/entry.evm.d.mts +544 -0
  100. package/dist/entry.evm.mjs +761 -0
  101. package/dist/entry.evm.mjs.map +1 -0
  102. package/dist/entry.modules.d.mts +2 -0
  103. package/dist/entry.modules.mjs +7 -0
  104. package/dist/entry.move.d.mts +523 -0
  105. package/dist/entry.move.mjs +7 -0
  106. package/dist/entry.msgs.d.mts +2 -0
  107. package/dist/entry.msgs.mjs +3 -0
  108. package/dist/entry.node.d.mts +118 -0
  109. package/dist/entry.node.mjs +278 -0
  110. package/dist/entry.node.mjs.map +1 -0
  111. package/dist/entry.provider.d.mts +355 -0
  112. package/dist/entry.provider.mjs +416 -0
  113. package/dist/entry.provider.mjs.map +1 -0
  114. package/dist/entry.signer.d.mts +2 -0
  115. package/dist/entry.signer.mjs +674 -0
  116. package/dist/entry.signer.mjs.map +1 -0
  117. package/dist/entry.tx.d.mts +2 -0
  118. package/dist/entry.tx.mjs +6 -0
  119. package/dist/entry.usernames.d.mts +42 -0
  120. package/dist/entry.usernames.mjs +2 -0
  121. package/dist/entry.util.d.mts +103 -0
  122. package/dist/entry.util.mjs +70 -0
  123. package/dist/entry.util.mjs.map +1 -0
  124. package/dist/entry.vip.d.mts +1917 -0
  125. package/dist/entry.vip.mjs +3793 -0
  126. package/dist/entry.vip.mjs.map +1 -0
  127. package/dist/entry.wasm.d.mts +447 -0
  128. package/dist/entry.wasm.mjs +600 -0
  129. package/dist/entry.wasm.mjs.map +1 -0
  130. package/dist/erc20-CDs3j7vt.mjs +168 -0
  131. package/dist/erc20-CDs3j7vt.mjs.map +1 -0
  132. package/dist/errors-CN1MFOLv.mjs +253 -0
  133. package/dist/errors-CN1MFOLv.mjs.map +1 -0
  134. package/dist/evm-rpc-BxpgXIAF.mjs +338 -0
  135. package/dist/evm-rpc-BxpgXIAF.mjs.map +1 -0
  136. package/dist/fetch-Bq_aay6V.mjs +55 -0
  137. package/dist/fetch-Bq_aay6V.mjs.map +1 -0
  138. package/dist/fungible-asset-aHBTYpoT.mjs +64 -0
  139. package/dist/fungible-asset-aHBTYpoT.mjs.map +1 -0
  140. package/dist/get-tx-0P40z_A4.mjs +99 -0
  141. package/dist/get-tx-0P40z_A4.mjs.map +1 -0
  142. package/dist/grpc-client-DGyZjGcT.mjs +254 -0
  143. package/dist/grpc-client-DGyZjGcT.mjs.map +1 -0
  144. package/dist/hash-D40mxOlF.mjs +14 -0
  145. package/dist/hash-D40mxOlF.mjs.map +1 -0
  146. package/dist/hash-Doo89wm3.d.mts +31 -0
  147. package/dist/headers-CMO7ia_D.mjs +83 -0
  148. package/dist/headers-CMO7ia_D.mjs.map +1 -0
  149. package/dist/http-client-BrdVurTg.mjs +40 -0
  150. package/dist/http-client-BrdVurTg.mjs.map +1 -0
  151. package/dist/initia-B8l_x6sT.mjs +426 -0
  152. package/dist/initia-B8l_x6sT.mjs.map +1 -0
  153. package/dist/initia-Cj4bZ1dR.mjs +26 -0
  154. package/dist/initia-Cj4bZ1dR.mjs.map +1 -0
  155. package/dist/json-CGak0DqP.mjs +41 -0
  156. package/dist/json-CGak0DqP.mjs.map +1 -0
  157. package/dist/minievm-BAnGHa00.mjs +39 -0
  158. package/dist/minievm-BAnGHa00.mjs.map +1 -0
  159. package/dist/minievm-DZ8AhnD8.mjs +61 -0
  160. package/dist/minievm-DZ8AhnD8.mjs.map +1 -0
  161. package/dist/minimove-B8U85g-_.mjs +23 -0
  162. package/dist/minimove-B8U85g-_.mjs.map +1 -0
  163. package/dist/minimove-BBXTyhIv.mjs +24 -0
  164. package/dist/minimove-BBXTyhIv.mjs.map +1 -0
  165. package/dist/miniwasm-CB0XfStg.mjs +50 -0
  166. package/dist/miniwasm-CB0XfStg.mjs.map +1 -0
  167. package/dist/miniwasm-QdyYzmQ1.mjs +139 -0
  168. package/dist/miniwasm-QdyYzmQ1.mjs.map +1 -0
  169. package/dist/move-BaCv0oRX.mjs +64 -0
  170. package/dist/move-BaCv0oRX.mjs.map +1 -0
  171. package/dist/msg_pb-DxYxctLM.mjs +11 -0
  172. package/dist/msg_pb-DxYxctLM.mjs.map +1 -0
  173. package/dist/pagination_pb-DlkDYAcN.mjs +18 -0
  174. package/dist/pagination_pb-DlkDYAcN.mjs.map +1 -0
  175. package/dist/public-key-DV-uGaUC.mjs +550 -0
  176. package/dist/public-key-DV-uGaUC.mjs.map +1 -0
  177. package/dist/query_pb-cZ3szo3y.mjs +20 -0
  178. package/dist/query_pb-cZ3szo3y.mjs.map +1 -0
  179. package/dist/registry-provider-NzblVZQr.mjs +368 -0
  180. package/dist/registry-provider-NzblVZQr.mjs.map +1 -0
  181. package/dist/resolve-DdtY7KDz.mjs +50 -0
  182. package/dist/resolve-DdtY7KDz.mjs.map +1 -0
  183. package/dist/rolldown-runtime-wcPFST8Q.mjs +13 -0
  184. package/dist/service-BaMjxPNo.mjs +412 -0
  185. package/dist/service-BaMjxPNo.mjs.map +1 -0
  186. package/dist/service-CVFxsMp_.d.mts +151 -0
  187. package/dist/service_pb-Be-O-2-c.mjs +121 -0
  188. package/dist/service_pb-Be-O-2-c.mjs.map +1 -0
  189. package/dist/sign-DqagxLcg.mjs +212 -0
  190. package/dist/sign-DqagxLcg.mjs.map +1 -0
  191. package/dist/transport-common-BsPYcFQl.mjs +182 -0
  192. package/dist/transport-common-BsPYcFQl.mjs.map +1 -0
  193. package/dist/transport.browser-CCUWv3ta.mjs +31 -0
  194. package/dist/transport.browser-CCUWv3ta.mjs.map +1 -0
  195. package/dist/transport.node-DXcJtCnx.mjs +33 -0
  196. package/dist/transport.node-DXcJtCnx.mjs.map +1 -0
  197. package/dist/tx_pb-BJzY8SXE.mjs +38 -0
  198. package/dist/tx_pb-BJzY8SXE.mjs.map +1 -0
  199. package/dist/tx_pb-BVCXH992.mjs +39 -0
  200. package/dist/tx_pb-BVCXH992.mjs.map +1 -0
  201. package/dist/tx_pb-CnFNMLIq.mjs +107 -0
  202. package/dist/tx_pb-CnFNMLIq.mjs.map +1 -0
  203. package/dist/tx_pb-DYspoJTt.mjs +50 -0
  204. package/dist/tx_pb-DYspoJTt.mjs.map +1 -0
  205. package/dist/tx_pb-u3CoQYge.mjs +79 -0
  206. package/dist/tx_pb-u3CoQYge.mjs.map +1 -0
  207. package/dist/typed-context-Cg0If0M9.mjs +118 -0
  208. package/dist/typed-context-Cg0If0M9.mjs.map +1 -0
  209. package/dist/types-CLfdsa48.mjs +41 -0
  210. package/dist/types-CLfdsa48.mjs.map +1 -0
  211. package/dist/types-CSS5rfW1.mjs +303 -0
  212. package/dist/types-CSS5rfW1.mjs.map +1 -0
  213. package/dist/types-DGrP9Ro_.d.mts +39609 -0
  214. package/dist/types_pb-CrjtO9sB.mjs +21 -0
  215. package/dist/types_pb-CrjtO9sB.mjs.map +1 -0
  216. package/dist/types_pb-K7pKBvcg.mjs +1433 -0
  217. package/dist/types_pb-K7pKBvcg.mjs.map +1 -0
  218. package/dist/utils-B2carKSi.mjs +2 -0
  219. package/dist/waiting-BigHYRNN.mjs +1081 -0
  220. package/dist/waiting-BigHYRNN.mjs.map +1 -0
  221. package/dist/wasm-DdunGtLM.mjs +396 -0
  222. package/dist/wasm-DdunGtLM.mjs.map +1 -0
  223. package/package.json +195 -66
  224. package/dist/client/WebSocketClient.d.ts +0 -30
  225. package/dist/client/index.d.ts +0 -5
  226. package/dist/client/rest/APIRequester.d.ts +0 -27
  227. package/dist/client/rest/RESTClient.d.ts +0 -48
  228. package/dist/client/rest/Wallet.d.ts +0 -26
  229. package/dist/client/rest/api/AuctionAPI.d.ts +0 -6
  230. package/dist/client/rest/api/AuthAPI.d.ts +0 -8
  231. package/dist/client/rest/api/AuthzAPI.d.ts +0 -8
  232. package/dist/client/rest/api/BankAPI.d.ts +0 -10
  233. package/dist/client/rest/api/BaseAPI.d.ts +0 -5
  234. package/dist/client/rest/api/DistributionAPI.d.ts +0 -35
  235. package/dist/client/rest/api/EvidenceAPI.d.ts +0 -7
  236. package/dist/client/rest/api/EvmAPI.d.ts +0 -44
  237. package/dist/client/rest/api/FeeGrantAPI.d.ts +0 -22
  238. package/dist/client/rest/api/ForwardingAPI.d.ts +0 -20
  239. package/dist/client/rest/api/GovAPI.d.ts +0 -12
  240. package/dist/client/rest/api/GroupAPI.d.ts +0 -19
  241. package/dist/client/rest/api/IbcAPI.d.ts +0 -48
  242. package/dist/client/rest/api/IbcHooksAPI.d.ts +0 -8
  243. package/dist/client/rest/api/IbcNftAPI.d.ts +0 -10
  244. package/dist/client/rest/api/IbcPermAPI.d.ts +0 -12
  245. package/dist/client/rest/api/IbcTransferAPI.d.ts +0 -10
  246. package/dist/client/rest/api/InterTxAPI.d.ts +0 -6
  247. package/dist/client/rest/api/MarketmapAPI.d.ts +0 -18
  248. package/dist/client/rest/api/MoveAPI.d.ts +0 -62
  249. package/dist/client/rest/api/MstakingAPI.d.ts +0 -28
  250. package/dist/client/rest/api/OpchildAPI.d.ts +0 -12
  251. package/dist/client/rest/api/OphostAPI.d.ts +0 -33
  252. package/dist/client/rest/api/OracleAPI.d.ts +0 -22
  253. package/dist/client/rest/api/RewardAPI.d.ts +0 -8
  254. package/dist/client/rest/api/SlashingAPI.d.ts +0 -8
  255. package/dist/client/rest/api/TendermintAPI.d.ts +0 -16
  256. package/dist/client/rest/api/TokenfactoryAPI.d.ts +0 -12
  257. package/dist/client/rest/api/TxAPI.d.ts +0 -190
  258. package/dist/client/rest/api/UpgradeAPI.d.ts +0 -18
  259. package/dist/client/rest/api/WasmAPI.d.ts +0 -78
  260. package/dist/client/rest/api/index.d.ts +0 -30
  261. package/dist/core/Block.d.ts +0 -55
  262. package/dist/core/Coin.d.ts +0 -40
  263. package/dist/core/Coins.d.ts +0 -43
  264. package/dist/core/Denom.d.ts +0 -1
  265. package/dist/core/Duration.d.ts +0 -19
  266. package/dist/core/Msg.d.ts +0 -45
  267. package/dist/core/PublicKey.d.ts +0 -122
  268. package/dist/core/auction/AuctionParams.d.ts +0 -41
  269. package/dist/core/auction/index.d.ts +0 -2
  270. package/dist/core/auction/msgs/MsgAuctionBid.d.ts +0 -36
  271. package/dist/core/auction/msgs/MsgUpdateAuctionParams.d.ts +0 -33
  272. package/dist/core/auction/msgs/index.d.ts +0 -10
  273. package/dist/core/auth/Account.d.ts +0 -12
  274. package/dist/core/auth/AuthParams.d.ts +0 -37
  275. package/dist/core/auth/BaseAccount.d.ts +0 -45
  276. package/dist/core/auth/ModuleAccount.d.ts +0 -39
  277. package/dist/core/auth/index.d.ts +0 -5
  278. package/dist/core/auth/msgs/MsgUpdateAuthParams.d.ts +0 -33
  279. package/dist/core/auth/msgs/index.d.ts +0 -8
  280. package/dist/core/authz/authorizations/Authorization.d.ts +0 -41
  281. package/dist/core/authz/authorizations/ExecuteAuthorization.d.ts +0 -54
  282. package/dist/core/authz/authorizations/GenericAuthorization.d.ts +0 -28
  283. package/dist/core/authz/authorizations/PublishAuthorization.d.ts +0 -28
  284. package/dist/core/authz/authorizations/SendAuthorization.d.ts +0 -33
  285. package/dist/core/authz/authorizations/StakeAuthorization.d.ts +0 -60
  286. package/dist/core/authz/authorizations/index.d.ts +0 -6
  287. package/dist/core/authz/index.d.ts +0 -2
  288. package/dist/core/authz/msgs/MsgExecAuthorized.d.ts +0 -33
  289. package/dist/core/authz/msgs/MsgGrantAuthorization.d.ts +0 -36
  290. package/dist/core/authz/msgs/MsgRevokeAuthorization.d.ts +0 -35
  291. package/dist/core/authz/msgs/index.d.ts +0 -12
  292. package/dist/core/bank/BankParams.d.ts +0 -29
  293. package/dist/core/bank/DenomMetadata.d.ts +0 -43
  294. package/dist/core/bank/DenomUnit.d.ts +0 -28
  295. package/dist/core/bank/SendEnabled.d.ts +0 -25
  296. package/dist/core/bank/index.d.ts +0 -5
  297. package/dist/core/bank/msgs/MsgMultiSend.d.ts +0 -78
  298. package/dist/core/bank/msgs/MsgSend.d.ts +0 -36
  299. package/dist/core/bank/msgs/MsgSetDenomMetadata.d.ts +0 -33
  300. package/dist/core/bank/msgs/MsgSetSendEnabled.d.ts +0 -37
  301. package/dist/core/bank/msgs/MsgUpdateBankParams.d.ts +0 -33
  302. package/dist/core/bank/msgs/index.d.ts +0 -16
  303. package/dist/core/bech32.d.ts +0 -27
  304. package/dist/core/celestia/Blob.d.ts +0 -24
  305. package/dist/core/celestia/BlobTx.d.ts +0 -25
  306. package/dist/core/celestia/index.d.ts +0 -3
  307. package/dist/core/celestia/msgs/MsgPayForBlobs.d.ts +0 -31
  308. package/dist/core/celestia/msgs/index.d.ts +0 -7
  309. package/dist/core/consensus/ABCIParams.d.ts +0 -21
  310. package/dist/core/consensus/BlockParams.d.ts +0 -24
  311. package/dist/core/consensus/EvidenceParams.d.ts +0 -28
  312. package/dist/core/consensus/ValidatorParams.d.ts +0 -21
  313. package/dist/core/consensus/index.d.ts +0 -5
  314. package/dist/core/consensus/msgs/MsgUpdateConsensusParams.d.ts +0 -45
  315. package/dist/core/consensus/msgs/index.d.ts +0 -8
  316. package/dist/core/crisis/index.d.ts +0 -1
  317. package/dist/core/crisis/msgs/MsgUpdateCrisisParams.d.ts +0 -33
  318. package/dist/core/crisis/msgs/MsgVerifyInvariant.d.ts +0 -35
  319. package/dist/core/crisis/msgs/index.d.ts +0 -10
  320. package/dist/core/distribution/DistributionParams.d.ts +0 -32
  321. package/dist/core/distribution/RewardWeight.d.ts +0 -25
  322. package/dist/core/distribution/index.d.ts +0 -3
  323. package/dist/core/distribution/msgs/MsgCommunityPoolSpend.d.ts +0 -36
  324. package/dist/core/distribution/msgs/MsgDepositValidatorRewardsPool.d.ts +0 -40
  325. package/dist/core/distribution/msgs/MsgFundCommunityPool.d.ts +0 -33
  326. package/dist/core/distribution/msgs/MsgSetWithdrawAddress.d.ts +0 -32
  327. package/dist/core/distribution/msgs/MsgUpdateDistrParams.d.ts +0 -33
  328. package/dist/core/distribution/msgs/MsgWithdrawDelegatorReward.d.ts +0 -32
  329. package/dist/core/distribution/msgs/MsgWithdrawValidatorCommission.d.ts +0 -29
  330. package/dist/core/distribution/msgs/index.d.ts +0 -20
  331. package/dist/core/evidence/Equivocation.d.ts +0 -38
  332. package/dist/core/evidence/Evidence.d.ts +0 -11
  333. package/dist/core/evidence/index.d.ts +0 -3
  334. package/dist/core/evidence/msgs/MsgSubmitEvidence.d.ts +0 -33
  335. package/dist/core/evidence/msgs/index.d.ts +0 -8
  336. package/dist/core/evm/AccessTuple.d.ts +0 -25
  337. package/dist/core/evm/EvmParams.d.ts +0 -39
  338. package/dist/core/evm/index.d.ts +0 -3
  339. package/dist/core/evm/msgs/MsgCall.d.ts +0 -42
  340. package/dist/core/evm/msgs/MsgCreate.d.ts +0 -39
  341. package/dist/core/evm/msgs/MsgCreate2.d.ts +0 -42
  342. package/dist/core/evm/msgs/MsgUpdateEvmParams.d.ts +0 -33
  343. package/dist/core/evm/msgs/index.d.ts +0 -14
  344. package/dist/core/feegrant/allowances/AllowedMsgAllowance.d.ts +0 -33
  345. package/dist/core/feegrant/allowances/BasicAllowance.d.ts +0 -32
  346. package/dist/core/feegrant/allowances/PeriodicAllowance.d.ts +0 -43
  347. package/dist/core/feegrant/allowances/index.d.ts +0 -16
  348. package/dist/core/feegrant/index.d.ts +0 -2
  349. package/dist/core/feegrant/msgs/MsgGrantAllowance.d.ts +0 -36
  350. package/dist/core/feegrant/msgs/MsgRevokeAllowance.d.ts +0 -32
  351. package/dist/core/feegrant/msgs/index.d.ts +0 -10
  352. package/dist/core/forwarding/index.d.ts +0 -1
  353. package/dist/core/forwarding/msgs/MsgClearForwardingAccount.d.ts +0 -32
  354. package/dist/core/forwarding/msgs/MsgRegisterForwardingAccount.d.ts +0 -38
  355. package/dist/core/forwarding/msgs/index.d.ts +0 -10
  356. package/dist/core/gov/Deposit.d.ts +0 -29
  357. package/dist/core/gov/GovParams.d.ts +0 -82
  358. package/dist/core/gov/TallyResult.d.ts +0 -36
  359. package/dist/core/gov/Vesting.d.ts +0 -28
  360. package/dist/core/gov/Vote.d.ts +0 -55
  361. package/dist/core/gov/index.d.ts +0 -6
  362. package/dist/core/gov/msgs/MsgCancelProposal.d.ts +0 -32
  363. package/dist/core/gov/msgs/MsgDeposit.d.ts +0 -36
  364. package/dist/core/gov/msgs/MsgDepositLegacy.d.ts +0 -36
  365. package/dist/core/gov/msgs/MsgSubmitProposal.d.ts +0 -49
  366. package/dist/core/gov/msgs/MsgSubmitProposalLegacy.d.ts +0 -37
  367. package/dist/core/gov/msgs/MsgUpdateGovParams.d.ts +0 -33
  368. package/dist/core/gov/msgs/MsgVote.d.ts +0 -41
  369. package/dist/core/gov/msgs/MsgVoteLegacy.d.ts +0 -38
  370. package/dist/core/gov/msgs/MsgVoteWeighted.d.ts +0 -39
  371. package/dist/core/gov/msgs/MsgVoteWeightedLegacy.d.ts +0 -36
  372. package/dist/core/gov/msgs/index.d.ts +0 -26
  373. package/dist/core/gov/proposals/Content.d.ts +0 -12
  374. package/dist/core/gov/proposals/Proposal.d.ts +0 -79
  375. package/dist/core/gov/proposals/TextProposal.d.ts +0 -31
  376. package/dist/core/gov/proposals/index.d.ts +0 -3
  377. package/dist/core/group/GroupInfo.d.ts +0 -37
  378. package/dist/core/group/GroupMember.d.ts +0 -78
  379. package/dist/core/group/GroupPolicyInfo.d.ts +0 -41
  380. package/dist/core/group/GroupProposal.d.ts +0 -82
  381. package/dist/core/group/GroupVote.d.ts +0 -36
  382. package/dist/core/group/index.d.ts +0 -7
  383. package/dist/core/group/msgs/MsgCreateGroup.d.ts +0 -36
  384. package/dist/core/group/msgs/MsgCreateGroupPolicy.d.ts +0 -39
  385. package/dist/core/group/msgs/MsgCreateGroupWithPolicy.d.ts +0 -46
  386. package/dist/core/group/msgs/MsgGroupExec.d.ts +0 -32
  387. package/dist/core/group/msgs/MsgGroupVote.d.ts +0 -46
  388. package/dist/core/group/msgs/MsgLeaveGroup.d.ts +0 -32
  389. package/dist/core/group/msgs/MsgSubmitGroupProposal.d.ts +0 -50
  390. package/dist/core/group/msgs/MsgUpdateGroupAdmin.d.ts +0 -35
  391. package/dist/core/group/msgs/MsgUpdateGroupDecisionPolicy.d.ts +0 -36
  392. package/dist/core/group/msgs/MsgUpdateGroupMembers.d.ts +0 -36
  393. package/dist/core/group/msgs/MsgUpdateGroupMetadata.d.ts +0 -35
  394. package/dist/core/group/msgs/MsgUpdateGroupPolicyAdmin.d.ts +0 -35
  395. package/dist/core/group/msgs/MsgUpdateGroupPolicyMetadata.d.ts +0 -35
  396. package/dist/core/group/msgs/MsgWithdrawProposal.d.ts +0 -32
  397. package/dist/core/group/msgs/index.d.ts +0 -32
  398. package/dist/core/group/policies/DecisionPolicyWindows.d.ts +0 -25
  399. package/dist/core/group/policies/PercentageDecisionPolicy.d.ts +0 -32
  400. package/dist/core/group/policies/ThresholdDecisionPolicy.d.ts +0 -32
  401. package/dist/core/group/policies/index.d.ts +0 -15
  402. package/dist/core/ibc/applications/fee/IbcFee.d.ts +0 -28
  403. package/dist/core/ibc/applications/fee/IdentifiedPacketFee.d.ts +0 -26
  404. package/dist/core/ibc/applications/fee/Metadata.d.ts +0 -24
  405. package/dist/core/ibc/applications/fee/PacketFee.d.ts +0 -29
  406. package/dist/core/ibc/applications/fee/index.d.ts +0 -5
  407. package/dist/core/ibc/applications/fee/msgs/MsgPayPacketFee.d.ts +0 -31
  408. package/dist/core/ibc/applications/fee/msgs/MsgPayPacketFeeAsync.d.ts +0 -26
  409. package/dist/core/ibc/applications/fee/msgs/MsgRegisterCounterpartyPayee.d.ts +0 -28
  410. package/dist/core/ibc/applications/fee/msgs/MsgRegisterPayee.d.ts +0 -28
  411. package/dist/core/ibc/applications/fee/msgs/index.d.ts +0 -13
  412. package/dist/core/ibc/applications/index.d.ts +0 -4
  413. package/dist/core/ibc/applications/interchain-account/Account.d.ts +0 -25
  414. package/dist/core/ibc/applications/interchain-account/Metadata.d.ts +0 -36
  415. package/dist/core/ibc/applications/interchain-account/controller/Params.d.ts +0 -21
  416. package/dist/core/ibc/applications/interchain-account/host/Params.d.ts +0 -24
  417. package/dist/core/ibc/applications/interchain-account/index.d.ts +0 -4
  418. package/dist/core/ibc/applications/nft-transfer/IbcNftParams.d.ts +0 -28
  419. package/dist/core/ibc/applications/nft-transfer/NftClassTrace.d.ts +0 -24
  420. package/dist/core/ibc/applications/nft-transfer/NonFungibleTokenPacketData.d.ts +0 -45
  421. package/dist/core/ibc/applications/nft-transfer/index.d.ts +0 -4
  422. package/dist/core/ibc/applications/nft-transfer/msgs/MsgNftTransfer.d.ts +0 -54
  423. package/dist/core/ibc/applications/nft-transfer/msgs/MsgUpdateIbcNftParams.d.ts +0 -33
  424. package/dist/core/ibc/applications/nft-transfer/msgs/index.d.ts +0 -10
  425. package/dist/core/ibc/applications/perm/index.d.ts +0 -1
  426. package/dist/core/ibc/applications/perm/msgs/MsgUpdateIbcPermAdmin.d.ts +0 -38
  427. package/dist/core/ibc/applications/perm/msgs/MsgUpdatePermissionedRelayers.d.ts +0 -38
  428. package/dist/core/ibc/applications/perm/msgs/index.d.ts +0 -10
  429. package/dist/core/ibc/applications/transfer/DenomTrace.d.ts +0 -24
  430. package/dist/core/ibc/applications/transfer/FungibleTokenPacketData.d.ts +0 -33
  431. package/dist/core/ibc/applications/transfer/IbcTransferParams.d.ts +0 -24
  432. package/dist/core/ibc/applications/transfer/authorizations/Allocation.d.ts +0 -34
  433. package/dist/core/ibc/applications/transfer/authorizations/TransferAuthorization.d.ts +0 -23
  434. package/dist/core/ibc/applications/transfer/authorizations/index.d.ts +0 -2
  435. package/dist/core/ibc/applications/transfer/index.d.ts +0 -5
  436. package/dist/core/ibc/applications/transfer/msgs/MsgTransfer.d.ts +0 -52
  437. package/dist/core/ibc/applications/transfer/msgs/MsgUpdateIbcTransferParams.d.ts +0 -26
  438. package/dist/core/ibc/applications/transfer/msgs/index.d.ts +0 -10
  439. package/dist/core/ibc/core/channel/Channel.d.ts +0 -39
  440. package/dist/core/ibc/core/channel/ChannelCounterparty.d.ts +0 -24
  441. package/dist/core/ibc/core/channel/ChannelOrder.d.ts +0 -3
  442. package/dist/core/ibc/core/channel/ChannelState.d.ts +0 -3
  443. package/dist/core/ibc/core/channel/ErrorReceipt.d.ts +0 -20
  444. package/dist/core/ibc/core/channel/IbcChannelParams.d.ts +0 -22
  445. package/dist/core/ibc/core/channel/IdentifiedChannel.d.ts +0 -45
  446. package/dist/core/ibc/core/channel/Packet.d.ts +0 -43
  447. package/dist/core/ibc/core/channel/PacketId.d.ts +0 -27
  448. package/dist/core/ibc/core/channel/Timeout.d.ts +0 -25
  449. package/dist/core/ibc/core/channel/Upgrade.d.ts +0 -24
  450. package/dist/core/ibc/core/channel/UpgradeFields.d.ts +0 -23
  451. package/dist/core/ibc/core/channel/index.d.ts +0 -13
  452. package/dist/core/ibc/core/channel/msgs/MsgChannelCloseConfirm.d.ts +0 -32
  453. package/dist/core/ibc/core/channel/msgs/MsgChannelCloseInit.d.ts +0 -27
  454. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenAck.d.ts +0 -36
  455. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenConfirm.d.ts +0 -32
  456. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenInit.d.ts +0 -28
  457. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenTry.d.ts +0 -36
  458. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeAck.d.ts +0 -37
  459. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeCancel.d.ts +0 -35
  460. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeConfirm.d.ts +0 -40
  461. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeInit.d.ts +0 -30
  462. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeOpen.d.ts +0 -37
  463. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeTimeout.d.ts +0 -35
  464. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeTry.d.ts +0 -41
  465. package/dist/core/ibc/core/channel/msgs/MsgRecvAcknowledgement.d.ts +0 -32
  466. package/dist/core/ibc/core/channel/msgs/MsgRecvPacket.d.ts +0 -30
  467. package/dist/core/ibc/core/channel/msgs/MsgTimeout.d.ts +0 -32
  468. package/dist/core/ibc/core/channel/msgs/MsgTimeoutClose.d.ts +0 -34
  469. package/dist/core/ibc/core/channel/msgs/MsgUpdateIbcChannelParams.d.ts +0 -26
  470. package/dist/core/ibc/core/channel/msgs/index.d.ts +0 -41
  471. package/dist/core/ibc/core/client/ClientConsensusStates.d.ts +0 -25
  472. package/dist/core/ibc/core/client/ConsensusStateWithHeight.d.ts +0 -25
  473. package/dist/core/ibc/core/client/Height.d.ts +0 -24
  474. package/dist/core/ibc/core/client/IbcClientParams.d.ts +0 -21
  475. package/dist/core/ibc/core/client/IdentifiedClient.d.ts +0 -24
  476. package/dist/core/ibc/core/client/index.d.ts +0 -6
  477. package/dist/core/ibc/core/client/msgs/MsgCreateClient.d.ts +0 -27
  478. package/dist/core/ibc/core/client/msgs/MsgIBCSoftwareUpgrade.d.ts +0 -28
  479. package/dist/core/ibc/core/client/msgs/MsgRecoverClient.d.ts +0 -27
  480. package/dist/core/ibc/core/client/msgs/MsgSubmitMisbehaviour.d.ts +0 -27
  481. package/dist/core/ibc/core/client/msgs/MsgUpdateClient.d.ts +0 -27
  482. package/dist/core/ibc/core/client/msgs/MsgUpdateIbcClientParams.d.ts +0 -26
  483. package/dist/core/ibc/core/client/msgs/MsgUpgradeClient.d.ts +0 -33
  484. package/dist/core/ibc/core/client/msgs/index.d.ts +0 -19
  485. package/dist/core/ibc/core/client/msgs/tendermint/crypto.d.ts +0 -43
  486. package/dist/core/ibc/core/client/msgs/tendermint/types.d.ts +0 -187
  487. package/dist/core/ibc/core/client/msgs/tendermint/version.d.ts +0 -38
  488. package/dist/core/ibc/core/commitment/MerklePrefix.d.ts +0 -21
  489. package/dist/core/ibc/core/commitment/MerkleRoot.d.ts +0 -21
  490. package/dist/core/ibc/core/commitment/index.d.ts +0 -2
  491. package/dist/core/ibc/core/connection/ConnectionCounterparty.d.ts +0 -28
  492. package/dist/core/ibc/core/connection/ConnectionState.d.ts +0 -3
  493. package/dist/core/ibc/core/connection/IbcConnectionParams.d.ts +0 -21
  494. package/dist/core/ibc/core/connection/IbcVersion.d.ts +0 -24
  495. package/dist/core/ibc/core/connection/IdentifiedConnection.d.ts +0 -39
  496. package/dist/core/ibc/core/connection/index.d.ts +0 -5
  497. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenAck.d.ts +0 -42
  498. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenConfirm.d.ts +0 -30
  499. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenInit.d.ts +0 -33
  500. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenTry.d.ts +0 -46
  501. package/dist/core/ibc/core/connection/msgs/MsgUpdateIbcConnectionParams.d.ts +0 -26
  502. package/dist/core/ibc/core/connection/msgs/index.d.ts +0 -15
  503. package/dist/core/ibc/core/index.d.ts +0 -4
  504. package/dist/core/ibc/index.d.ts +0 -2
  505. package/dist/core/ibc/lightclient/index.d.ts +0 -1
  506. package/dist/core/ibc/lightclient/tendermint/Header.d.ts +0 -29
  507. package/dist/core/ibchooks/ACL.d.ts +0 -25
  508. package/dist/core/ibchooks/IbcHooksParams.d.ts +0 -25
  509. package/dist/core/ibchooks/index.d.ts +0 -3
  510. package/dist/core/ibchooks/msgs/MsgUpdateACL.d.ts +0 -35
  511. package/dist/core/ibchooks/msgs/MsgUpdateIbcHooksParams.d.ts +0 -33
  512. package/dist/core/ibchooks/msgs/index.d.ts +0 -10
  513. package/dist/core/index.d.ts +0 -40
  514. package/dist/core/intertx/index.d.ts +0 -1
  515. package/dist/core/intertx/msgs/MsgRegisterAccount.d.ts +0 -39
  516. package/dist/core/intertx/msgs/MsgSubmitTx.d.ts +0 -36
  517. package/dist/core/intertx/msgs/index.d.ts +0 -10
  518. package/dist/core/marketmap/Market.d.ts +0 -26
  519. package/dist/core/marketmap/MarketmapParams.d.ts +0 -25
  520. package/dist/core/marketmap/ProviderConfig.d.ts +0 -34
  521. package/dist/core/marketmap/Ticker.d.ts +0 -34
  522. package/dist/core/marketmap/index.d.ts +0 -5
  523. package/dist/core/marketmap/msgs/MsgCreateMarkets.d.ts +0 -33
  524. package/dist/core/marketmap/msgs/MsgRemoveMarketAuthorities.d.ts +0 -32
  525. package/dist/core/marketmap/msgs/MsgRemoveMarkets.d.ts +0 -32
  526. package/dist/core/marketmap/msgs/MsgUpdateMarketmapParams.d.ts +0 -33
  527. package/dist/core/marketmap/msgs/MsgUpdateMarkets.d.ts +0 -33
  528. package/dist/core/marketmap/msgs/MsgUpsertMarkets.d.ts +0 -33
  529. package/dist/core/marketmap/msgs/index.d.ts +0 -18
  530. package/dist/core/move/Module.d.ts +0 -36
  531. package/dist/core/move/MoveParams.d.ts +0 -37
  532. package/dist/core/move/index.d.ts +0 -3
  533. package/dist/core/move/msgs/MsgDelist.d.ts +0 -32
  534. package/dist/core/move/msgs/MsgExecute.d.ts +0 -44
  535. package/dist/core/move/msgs/MsgExecuteJSON.d.ts +0 -44
  536. package/dist/core/move/msgs/MsgGovExecute.d.ts +0 -47
  537. package/dist/core/move/msgs/MsgGovExecuteJSON.d.ts +0 -47
  538. package/dist/core/move/msgs/MsgGovPublish.d.ts +0 -41
  539. package/dist/core/move/msgs/MsgGovScript.d.ts +0 -41
  540. package/dist/core/move/msgs/MsgGovScriptJSON.d.ts +0 -41
  541. package/dist/core/move/msgs/MsgPublish.d.ts +0 -38
  542. package/dist/core/move/msgs/MsgScript.d.ts +0 -38
  543. package/dist/core/move/msgs/MsgScriptJSON.d.ts +0 -38
  544. package/dist/core/move/msgs/MsgUpdateMoveParams.d.ts +0 -33
  545. package/dist/core/move/msgs/MsgWhitelist.d.ts +0 -35
  546. package/dist/core/move/msgs/index.d.ts +0 -32
  547. package/dist/core/mstaking/Delegation.d.ts +0 -36
  548. package/dist/core/mstaking/MstakingParams.d.ts +0 -44
  549. package/dist/core/mstaking/Redelegation.d.ts +0 -71
  550. package/dist/core/mstaking/UnbondingDelegation.d.ts +0 -57
  551. package/dist/core/mstaking/Validator.d.ts +0 -137
  552. package/dist/core/mstaking/index.d.ts +0 -6
  553. package/dist/core/mstaking/msgs/MsgBeginRedelegate.d.ts +0 -39
  554. package/dist/core/mstaking/msgs/MsgCancelUnbondingDelegation.d.ts +0 -39
  555. package/dist/core/mstaking/msgs/MsgCreateValidator.d.ts +0 -44
  556. package/dist/core/mstaking/msgs/MsgDelegate.d.ts +0 -36
  557. package/dist/core/mstaking/msgs/MsgEditValidator.d.ts +0 -37
  558. package/dist/core/mstaking/msgs/MsgUndelegate.d.ts +0 -36
  559. package/dist/core/mstaking/msgs/MsgUpdateMstakingParams.d.ts +0 -33
  560. package/dist/core/mstaking/msgs/index.d.ts +0 -20
  561. package/dist/core/num.d.ts +0 -2
  562. package/dist/core/opchild/BridgeInfo.d.ts +0 -34
  563. package/dist/core/opchild/OpValidator.d.ts +0 -32
  564. package/dist/core/opchild/OpchildParams.d.ts +0 -45
  565. package/dist/core/opchild/index.d.ts +0 -4
  566. package/dist/core/opchild/msgs/MsgAddBridgeExecutor.d.ts +0 -32
  567. package/dist/core/opchild/msgs/MsgAddFeeWhitelistAddresses.d.ts +0 -32
  568. package/dist/core/opchild/msgs/MsgAddValidator.d.ts +0 -39
  569. package/dist/core/opchild/msgs/MsgExecuteMessages.d.ts +0 -33
  570. package/dist/core/opchild/msgs/MsgFinalizeTokenDeposit.d.ts +0 -52
  571. package/dist/core/opchild/msgs/MsgInitiateTokenWithdrawal.d.ts +0 -36
  572. package/dist/core/opchild/msgs/MsgRemoveBridgeExecutor.d.ts +0 -32
  573. package/dist/core/opchild/msgs/MsgRemoveFeeWhitelistAddresses.d.ts +0 -32
  574. package/dist/core/opchild/msgs/MsgRemoveValidator.d.ts +0 -32
  575. package/dist/core/opchild/msgs/MsgSetBridgeInfo.d.ts +0 -33
  576. package/dist/core/opchild/msgs/MsgSpendFeePool.d.ts +0 -36
  577. package/dist/core/opchild/msgs/MsgUpdateMinGasPrices.d.ts +0 -33
  578. package/dist/core/opchild/msgs/MsgUpdateOpchildAdmin.d.ts +0 -32
  579. package/dist/core/opchild/msgs/MsgUpdateOpchildParams.d.ts +0 -33
  580. package/dist/core/opchild/msgs/MsgUpdateOracle.d.ts +0 -35
  581. package/dist/core/opchild/msgs/index.d.ts +0 -36
  582. package/dist/core/ophost/BatchInfo.d.ts +0 -25
  583. package/dist/core/ophost/BatchInfoWithOutput.d.ts +0 -26
  584. package/dist/core/ophost/BridgeConfig.d.ts +0 -45
  585. package/dist/core/ophost/OphostParams.d.ts +0 -26
  586. package/dist/core/ophost/Output.d.ts +0 -30
  587. package/dist/core/ophost/index.d.ts +0 -6
  588. package/dist/core/ophost/msgs/MsgCreateBridge.d.ts +0 -33
  589. package/dist/core/ophost/msgs/MsgDeleteOutput.d.ts +0 -35
  590. package/dist/core/ophost/msgs/MsgFinalizeTokenWithdrawal.d.ts +0 -60
  591. package/dist/core/ophost/msgs/MsgInitiateTokenDeposit.d.ts +0 -42
  592. package/dist/core/ophost/msgs/MsgProposeOutput.d.ts +0 -41
  593. package/dist/core/ophost/msgs/MsgRecordBatch.d.ts +0 -35
  594. package/dist/core/ophost/msgs/MsgUpdateBatchInfo.d.ts +0 -36
  595. package/dist/core/ophost/msgs/MsgUpdateChallenger.d.ts +0 -35
  596. package/dist/core/ophost/msgs/MsgUpdateFinalizationPeriod.d.ts +0 -36
  597. package/dist/core/ophost/msgs/MsgUpdateMetadata.d.ts +0 -35
  598. package/dist/core/ophost/msgs/MsgUpdateOphostParams.d.ts +0 -33
  599. package/dist/core/ophost/msgs/MsgUpdateOracleConfig.d.ts +0 -35
  600. package/dist/core/ophost/msgs/MsgUpdateProposer.d.ts +0 -35
  601. package/dist/core/ophost/msgs/index.d.ts +0 -32
  602. package/dist/core/oracle/CurrencyPair.d.ts +0 -25
  603. package/dist/core/oracle/QuotePrice.d.ts +0 -27
  604. package/dist/core/oracle/index.d.ts +0 -3
  605. package/dist/core/oracle/msgs/MsgAddCurrencyPairs.d.ts +0 -33
  606. package/dist/core/oracle/msgs/MsgRemoveCurrencyPairs.d.ts +0 -32
  607. package/dist/core/oracle/msgs/index.d.ts +0 -10
  608. package/dist/core/params/ParamChange.d.ts +0 -42
  609. package/dist/core/params/index.d.ts +0 -2
  610. package/dist/core/params/proposals/ParameterChangeProposal.d.ts +0 -35
  611. package/dist/core/params/proposals/index.d.ts +0 -1
  612. package/dist/core/reward/RewardParams.d.ts +0 -38
  613. package/dist/core/reward/index.d.ts +0 -2
  614. package/dist/core/reward/msgs/MsgUpdateRewardParams.d.ts +0 -33
  615. package/dist/core/reward/msgs/index.d.ts +0 -8
  616. package/dist/core/slashing/SlashingParams.d.ts +0 -38
  617. package/dist/core/slashing/ValidatorSigningInfo.d.ts +0 -37
  618. package/dist/core/slashing/index.d.ts +0 -3
  619. package/dist/core/slashing/msgs/MsgUnjail.d.ts +0 -29
  620. package/dist/core/slashing/msgs/MsgUpdateSlashingParams.d.ts +0 -33
  621. package/dist/core/slashing/msgs/index.d.ts +0 -10
  622. package/dist/core/tokenfactory/TokenfactoryParams.d.ts +0 -25
  623. package/dist/core/tokenfactory/index.d.ts +0 -2
  624. package/dist/core/tokenfactory/msgs/MsgBurn.d.ts +0 -33
  625. package/dist/core/tokenfactory/msgs/MsgChangeAdmin.d.ts +0 -35
  626. package/dist/core/tokenfactory/msgs/MsgCreateDenom.d.ts +0 -32
  627. package/dist/core/tokenfactory/msgs/MsgMint.d.ts +0 -36
  628. package/dist/core/tokenfactory/msgs/MsgSetBeforeSendHook.d.ts +0 -35
  629. package/dist/core/tokenfactory/msgs/MsgSetDenomMetadataWasm.d.ts +0 -33
  630. package/dist/core/tokenfactory/msgs/MsgUpdateTokenfactoryParams.d.ts +0 -33
  631. package/dist/core/tokenfactory/msgs/index.d.ts +0 -20
  632. package/dist/core/tx/CompactBitArray.d.ts +0 -22
  633. package/dist/core/tx/Fee.d.ts +0 -31
  634. package/dist/core/tx/MultiSignature.d.ts +0 -13
  635. package/dist/core/tx/SignDoc.d.ts +0 -36
  636. package/dist/core/tx/SignMode.d.ts +0 -3
  637. package/dist/core/tx/SignatureV2.d.ts +0 -66
  638. package/dist/core/tx/Tx.d.ts +0 -146
  639. package/dist/core/tx/TxInfo.d.ts +0 -74
  640. package/dist/core/tx/index.d.ts +0 -7
  641. package/dist/core/upgrade/Plan.d.ts +0 -27
  642. package/dist/core/upgrade/index.d.ts +0 -2
  643. package/dist/core/upgrade/msgs/MsgCancelUpgrade.d.ts +0 -29
  644. package/dist/core/upgrade/msgs/MsgSoftwareUpgrade.d.ts +0 -33
  645. package/dist/core/upgrade/msgs/index.d.ts +0 -10
  646. package/dist/core/wasm/AbsoluteTxPosition.d.ts +0 -24
  647. package/dist/core/wasm/AccessConfig.d.ts +0 -27
  648. package/dist/core/wasm/WasmParams.d.ts +0 -29
  649. package/dist/core/wasm/authorizations/AcceptedMessageKeysFilter.d.ts +0 -28
  650. package/dist/core/wasm/authorizations/AcceptedMessagesFilter.d.ts +0 -28
  651. package/dist/core/wasm/authorizations/AllowAllMessagesFilter.d.ts +0 -24
  652. package/dist/core/wasm/authorizations/CodeGrant.d.ts +0 -25
  653. package/dist/core/wasm/authorizations/CombinedLimit.d.ts +0 -32
  654. package/dist/core/wasm/authorizations/ContractExecutionAuthorization.d.ts +0 -29
  655. package/dist/core/wasm/authorizations/ContractFilter.d.ts +0 -13
  656. package/dist/core/wasm/authorizations/ContractGrant.d.ts +0 -30
  657. package/dist/core/wasm/authorizations/ContractLimit.d.ts +0 -13
  658. package/dist/core/wasm/authorizations/ContractMigrationAuthorization.d.ts +0 -29
  659. package/dist/core/wasm/authorizations/MaxCallsLimit.d.ts +0 -28
  660. package/dist/core/wasm/authorizations/MaxFundsLimit.d.ts +0 -29
  661. package/dist/core/wasm/authorizations/StoreCodeAuthorization.d.ts +0 -29
  662. package/dist/core/wasm/authorizations/index.d.ts +0 -11
  663. package/dist/core/wasm/index.d.ts +0 -5
  664. package/dist/core/wasm/msgs/MsgAddCodeUploadParamsAddresses.d.ts +0 -32
  665. package/dist/core/wasm/msgs/MsgClearAdmin.d.ts +0 -32
  666. package/dist/core/wasm/msgs/MsgExecuteContract.d.ts +0 -39
  667. package/dist/core/wasm/msgs/MsgInstantiateContract.d.ts +0 -45
  668. package/dist/core/wasm/msgs/MsgInstantiateContractV2.d.ts +0 -51
  669. package/dist/core/wasm/msgs/MsgMigrateContract.d.ts +0 -38
  670. package/dist/core/wasm/msgs/MsgPinCodes.d.ts +0 -32
  671. package/dist/core/wasm/msgs/MsgRemoveCodeUploadParamsAddresses.d.ts +0 -32
  672. package/dist/core/wasm/msgs/MsgStoreAndInstantiateContract.d.ts +0 -61
  673. package/dist/core/wasm/msgs/MsgStoreAndMigrateContract.d.ts +0 -42
  674. package/dist/core/wasm/msgs/MsgStoreCode.d.ts +0 -36
  675. package/dist/core/wasm/msgs/MsgSudoContract.d.ts +0 -35
  676. package/dist/core/wasm/msgs/MsgUnpinCodes.d.ts +0 -32
  677. package/dist/core/wasm/msgs/MsgUpdateAdmin.d.ts +0 -35
  678. package/dist/core/wasm/msgs/MsgUpdateContractLabel.d.ts +0 -35
  679. package/dist/core/wasm/msgs/MsgUpdateInstantiateConfig.d.ts +0 -36
  680. package/dist/core/wasm/msgs/MsgUpdateWasmParams.d.ts +0 -33
  681. package/dist/core/wasm/msgs/index.d.ts +0 -40
  682. package/dist/core/wasmextension/AccessConfigExt.d.ts +0 -28
  683. package/dist/core/wasmextension/index.d.ts +0 -2
  684. package/dist/core/wasmextension/msgs/MsgStoreCodeAdmin.d.ts +0 -39
  685. package/dist/core/wasmextension/msgs/index.d.ts +0 -8
  686. package/dist/index.cjs +0 -6
  687. package/dist/index.d.ts +0 -4
  688. package/dist/index.mjs +0 -100795
  689. package/dist/key/Key.d.ts +0 -20
  690. package/dist/key/MnemonicKey.d.ts +0 -14
  691. package/dist/key/RawKey.d.ts +0 -9
  692. package/dist/key/index.d.ts +0 -3
  693. package/dist/util/bcs.d.ts +0 -44
  694. package/dist/util/hash.d.ts +0 -4
  695. package/dist/util/index.d.ts +0 -3
  696. package/dist/util/json.d.ts +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast-De8MdmYa.mjs","names":["BsrBroadcastMode"],"sources":["../src/core/coins.ts","../node_modules/@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/auth/v1beta1/auth_pb.js","../src/core/account.ts","../src/client/gas.ts","../src/tx/unsigned-tx.ts","../src/client/types.ts","../src/client/rpc.ts","../src/client/broadcast.ts"],"sourcesContent":["/**\n * Coins module - Immutable, Map-backed multi-denom coin collection.\n */\n\nimport { Coin, DecCoin, type CoinLike } from './coin'\n\n/** Structural type accepted by the DecCoins constructor input array. */\ninterface DecCoinLike {\n readonly denom: string\n readonly amount: string\n}\n\n/**\n * Immutable collection of coins, keyed by denom.\n *\n * Duplicate denoms are merged (summed) on construction and on every arithmetic\n * operation. All mutating operations return new `Coins` instances.\n *\n * @example\n * ```typescript\n * const wallet = new Coins({ uinit: 1000, uusdc: 500 })\n * const fee = new Coins([new Coin('uinit', 200)])\n * const after = wallet.sub(fee)\n * console.log(after.toString()) // '800uinit,500uusdc'\n * ```\n */\nexport class Coins implements Iterable<Coin> {\n private readonly _map: Map<string, Coin>\n\n constructor(input?: CoinLike[] | Coins | Record<string, string | bigint | number>) {\n this._map = new Map()\n if (!input) return\n if (input instanceof Coins) {\n for (const c of input) this._merge(c)\n } else if (Array.isArray(input)) {\n for (const c of input) this._merge(new Coin(c.denom, c.amount))\n } else {\n for (const [denom, amount] of Object.entries(input)) this._merge(new Coin(denom, amount))\n }\n }\n\n private _merge(c: Coin): void {\n const existing = this._map.get(c.denom)\n this._map.set(c.denom, existing ? existing.add(c) : c)\n }\n\n // ---------------------------------------------------------------------------\n // Lookup\n // ---------------------------------------------------------------------------\n\n /** Return the Coin for the given denom, or undefined. */\n get(denom: string): Coin | undefined {\n return this._map.get(denom)\n }\n\n /** True if the collection contains the given denom. */\n has(denom: string): boolean {\n return this._map.has(denom)\n }\n\n /** Sorted list of all denoms in this collection. */\n denoms(): string[] {\n return [...this._map.keys()].sort()\n }\n\n /** True when the collection has no coins. */\n isEmpty(): boolean {\n return this._map.size === 0\n }\n\n // ---------------------------------------------------------------------------\n // Iteration\n // ---------------------------------------------------------------------------\n\n [Symbol.iterator](): Iterator<Coin> {\n return this.toArray()[Symbol.iterator]()\n }\n\n /** Return all coins sorted by denom. */\n toArray(): Coin[] {\n return [...this._map.values()].sort((a, b) => a.denom.localeCompare(b.denom))\n }\n\n // ---------------------------------------------------------------------------\n // Arithmetic\n // ---------------------------------------------------------------------------\n\n /**\n * Add a single Coin or another Coins collection.\n * Coins with the same denom are summed; new denoms are inserted.\n */\n add(other: Coin | Coins): Coins {\n const items = other instanceof Coin ? [other] : other.toArray()\n return new Coins([...this.toArray(), ...items])\n }\n\n /**\n * Subtract coins. Allows negative amounts for intermediate calculations.\n */\n sub(other: Coin | Coins): Coins {\n const items = other instanceof Coin ? [other] : other.toArray()\n const negated = items.map(c => new Coin(c.denom, -c.amountBigInt))\n return new Coins([...this.toArray(), ...negated])\n }\n\n /**\n * Subtract coins, throwing if any resulting amount is negative.\n * Use this when the result must be valid for on-chain submission.\n */\n safeSub(other: Coin | Coins): Coins {\n const result = this.sub(other)\n for (const c of result) {\n if (c.amountBigInt < 0n) {\n throw new Error(`Insufficient balance for ${c.denom}: would result in ${c.amount}`)\n }\n }\n return result\n }\n\n /**\n * Multiply all coins by a scalar value.\n */\n mul(n: bigint | number): Coins {\n return new Coins(this.toArray().map(c => c.mul(n)))\n }\n\n // ---------------------------------------------------------------------------\n // Functional\n // ---------------------------------------------------------------------------\n\n /** Map over sorted coins and return an array of results. */\n map<T>(fn: (c: Coin) => T): T[] {\n return this.toArray().map(fn)\n }\n\n /** Return a new Coins containing only coins matching the predicate. */\n filter(fn: (c: Coin) => boolean): Coins {\n return new Coins(this.toArray().filter(fn))\n }\n\n /** Return the first coin satisfying the predicate, or undefined. */\n find(fn: (c: Coin) => boolean): Coin | undefined {\n return this.toArray().find(fn)\n }\n\n // ---------------------------------------------------------------------------\n // Serialization\n // ---------------------------------------------------------------------------\n\n /** Return proto messages array, sorted by denom. */\n toProto() {\n return this.toArray().map(c => c.toProto())\n }\n\n /** Return plain `{ denom, amount }` array (for JSON.stringify). */\n toJSON(): { denom: string; amount: string }[] {\n return this.toArray().map(c => c.toJSON())\n }\n\n /** Return Amino-compatible `{ denom, amount }` array. */\n toAmino(): { denom: string; amount: string }[] {\n return this.toArray().map(c => c.toAmino())\n }\n\n /**\n * Format as a comma-separated coin string, sorted by denom.\n *\n * @example\n * ```typescript\n * new Coins({ uinit: 1000, uusdc: 500 }).toString()\n * // '1000uinit,500uusdc'\n * ```\n */\n toString(): string {\n return this.toArray()\n .map(c => `${c.amount}${c.denom}`)\n .join(',')\n }\n\n /**\n * Convert each Coin to a DecCoin (18 fractional decimal places) and return\n * a DecCoins collection.\n */\n toDecCoins(): DecCoins {\n return new DecCoins(this.toArray().map(c => c.toDecCoin()))\n }\n}\n\n/**\n * Immutable collection of decimal coins, keyed by denom.\n *\n * Duplicate denoms are merged (summed) on construction and on every arithmetic\n * operation. All mutating operations return new `DecCoins` instances.\n *\n * @example\n * ```typescript\n * const fees = new DecCoins({ uinit: '1.5', uusdc: '0.5' })\n * const extra = new DecCoins([new DecCoin('uinit', '0.5')])\n * const total = fees.add(extra)\n * console.log(total.toString()) // '2.000000000000000000uinit,0.5uusdc'\n * ```\n */\nexport class DecCoins implements Iterable<DecCoin> {\n private readonly _map: Map<string, DecCoin>\n\n constructor(input?: DecCoinLike[] | DecCoins | Record<string, string>) {\n this._map = new Map()\n if (!input) return\n if (input instanceof DecCoins) {\n for (const c of input) this._merge(c)\n } else if (Array.isArray(input)) {\n for (const c of input) this._merge(new DecCoin(c.denom, c.amount))\n } else {\n for (const [denom, amount] of Object.entries(input)) this._merge(new DecCoin(denom, amount))\n }\n }\n\n private _merge(c: DecCoin): void {\n const existing = this._map.get(c.denom)\n this._map.set(c.denom, existing ? existing.add(c) : c)\n }\n\n // ---------------------------------------------------------------------------\n // Lookup\n // ---------------------------------------------------------------------------\n\n /** Return the DecCoin for the given denom, or undefined. */\n get(denom: string): DecCoin | undefined {\n return this._map.get(denom)\n }\n\n /** True if the collection contains the given denom. */\n has(denom: string): boolean {\n return this._map.has(denom)\n }\n\n /** Sorted list of all denoms in this collection. */\n denoms(): string[] {\n return [...this._map.keys()].sort()\n }\n\n /** True when the collection has no coins. */\n isEmpty(): boolean {\n return this._map.size === 0\n }\n\n // ---------------------------------------------------------------------------\n // Iteration\n // ---------------------------------------------------------------------------\n\n [Symbol.iterator](): Iterator<DecCoin> {\n return this.toArray()[Symbol.iterator]()\n }\n\n /** Return all coins sorted by denom. */\n toArray(): DecCoin[] {\n return [...this._map.values()].sort((a, b) => a.denom.localeCompare(b.denom))\n }\n\n // ---------------------------------------------------------------------------\n // Arithmetic\n // ---------------------------------------------------------------------------\n\n /**\n * Add a single DecCoin or another DecCoins collection.\n * Coins with the same denom are summed; new denoms are inserted.\n */\n add(other: DecCoin | DecCoins): DecCoins {\n const items = other instanceof DecCoin ? [other] : other.toArray()\n return new DecCoins([...this.toArray(), ...items])\n }\n\n /**\n * Subtract coins. Allows negative amounts for intermediate calculations.\n */\n sub(other: DecCoin | DecCoins): DecCoins {\n const items = other instanceof DecCoin ? [other] : other.toArray()\n const negated = items.map(c => c.mul(-1))\n return new DecCoins([...this.toArray(), ...negated])\n }\n\n /**\n * Subtract coins, throwing if any resulting amount is negative.\n * Use this when the result must be valid for on-chain submission.\n */\n safeSub(other: DecCoin | DecCoins): DecCoins {\n const result = this.sub(other)\n for (const c of result) {\n if (c.amount.startsWith('-')) {\n throw new Error(`Insufficient balance for ${c.denom}: would result in ${c.amount}`)\n }\n }\n return result\n }\n\n /**\n * Multiply all coins by a scalar value.\n */\n mul(n: bigint | number): DecCoins {\n return new DecCoins(this.toArray().map(c => c.mul(n)))\n }\n\n // ---------------------------------------------------------------------------\n // Functional\n // ---------------------------------------------------------------------------\n\n /** Map over sorted coins and return an array of results. */\n map<T>(fn: (c: DecCoin) => T): T[] {\n return this.toArray().map(fn)\n }\n\n /** Return a new DecCoins containing only coins matching the predicate. */\n filter(fn: (c: DecCoin) => boolean): DecCoins {\n return new DecCoins(this.toArray().filter(fn))\n }\n\n /** Return the first coin satisfying the predicate, or undefined. */\n find(fn: (c: DecCoin) => boolean): DecCoin | undefined {\n return this.toArray().find(fn)\n }\n\n // ---------------------------------------------------------------------------\n // Serialization\n // ---------------------------------------------------------------------------\n\n /** Return proto messages array, sorted by denom. */\n toProto() {\n return this.toArray().map(c => c.toProto())\n }\n\n /** Return plain `{ denom, amount }` array (for JSON.stringify). */\n toJSON(): { denom: string; amount: string }[] {\n return this.toArray().map(c => c.toJSON())\n }\n\n /** Return Amino-compatible `{ denom, amount }` array. */\n toAmino(): { denom: string; amount: string }[] {\n return this.toArray().map(c => c.toAmino())\n }\n\n /**\n * Format as a comma-separated coin string, sorted by denom.\n *\n * @example\n * ```typescript\n * new DecCoins({ uinit: '1.5', uusdc: '0.5' }).toString()\n * // '1.5uinit,0.5uusdc'\n * ```\n */\n toString(): string {\n return this.toArray()\n .map(c => `${c.amount}${c.denom}`)\n .join(',')\n }\n\n // ---------------------------------------------------------------------------\n // Conversion to integer Coins\n // ---------------------------------------------------------------------------\n\n /**\n * Convert each DecCoin to an integer Coin by truncating toward zero.\n * Collects results into a new `Coins` collection.\n */\n toIntCoins(): Coins {\n return new Coins(this.toArray().map(c => c.toIntCoin()))\n }\n\n /**\n * Convert each DecCoin to an integer Coin by ceiling away from zero.\n * Collects results into a new `Coins` collection.\n */\n toIntCeilCoins(): Coins {\n return new Coins(this.toArray().map(c => c.toIntCeilCoin()))\n }\n}\n","// @generated by protoc-gen-es v2.11.0 with parameter \"import_extension=js\"\n// @generated from file cosmos/auth/v1beta1/auth.proto (package cosmos.auth.v1beta1, syntax proto3)\n/* eslint-disable */\n\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_amino_amino } from \"../../../amino/amino_pb.js\";\nimport { file_cosmos_proto_cosmos } from \"@buf/cosmos_cosmos-proto.bufbuild_es/cosmos_proto/cosmos_pb.js\";\nimport { file_gogoproto_gogo } from \"@buf/cosmos_gogo-proto.bufbuild_es/gogoproto/gogo_pb.js\";\nimport { file_google_protobuf_any } from \"@bufbuild/protobuf/wkt\";\n\n/**\n * Describes the file cosmos/auth/v1beta1/auth.proto.\n */\nexport const file_cosmos_auth_v1beta1_auth = /*@__PURE__*/\n fileDesc(\"Ch5jb3Ntb3MvYXV0aC92MWJldGExL2F1dGgucHJvdG8SE2Nvc21vcy5hdXRoLnYxYmV0YTEi9wEKC0Jhc2VBY2NvdW50EikKB2FkZHJlc3MYASABKAlCGNK0LRRjb3Ntb3MuQWRkcmVzc1N0cmluZxJOCgdwdWJfa2V5GAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUIn6t4fFHB1YmxpY19rZXksb21pdGVtcHR5ouewKgpwdWJsaWNfa2V5EhYKDmFjY291bnRfbnVtYmVyGAMgASgEEhAKCHNlcXVlbmNlGAQgASgEOkOIoB8A6KAfAMq0LRxjb3Ntb3MuYXV0aC52MWJldGExLkFjY291bnRJiuewKhZjb3Ntb3Mtc2RrL0Jhc2VBY2NvdW50IswBCg1Nb2R1bGVBY2NvdW50EjwKDGJhc2VfYWNjb3VudBgBIAEoCzIgLmNvc21vcy5hdXRoLnYxYmV0YTEuQmFzZUFjY291bnRCBNDeHwESDAoEbmFtZRgCIAEoCRITCgtwZXJtaXNzaW9ucxgDIAMoCTpaiKAfAMq0LSJjb3Ntb3MuYXV0aC52MWJldGExLk1vZHVsZUFjY291bnRJiuewKhhjb3Ntb3Mtc2RrL01vZHVsZUFjY291bnSS57AqDm1vZHVsZV9hY2NvdW50ImgKEE1vZHVsZUNyZWRlbnRpYWwSEwoLbW9kdWxlX25hbWUYASABKAkSFwoPZGVyaXZhdGlvbl9rZXlzGAIgAygMOiaK57AqIWNvc21vcy1zZGsvR3JvdXBBY2NvdW50Q3JlZGVudGlhbCL3AQoGUGFyYW1zEhsKE21heF9tZW1vX2NoYXJhY3RlcnMYASABKAQSFAoMdHhfc2lnX2xpbWl0GAIgASgEEh0KFXR4X3NpemVfY29zdF9wZXJfYnl0ZRgDIAEoBBI5ChdzaWdfdmVyaWZ5X2Nvc3RfZWQyNTUxORgEIAEoBEIY4t4fFFNpZ1ZlcmlmeUNvc3RFRDI1NTE5Ej0KGXNpZ192ZXJpZnlfY29zdF9zZWNwMjU2azEYBSABKARCGuLeHxZTaWdWZXJpZnlDb3N0U2VjcDI1NmsxOiHooB8BiuewKhhjb3Ntb3Mtc2RrL3gvYXV0aC9QYXJhbXNCK1opZ2l0aHViLmNvbS9jb3Ntb3MvY29zbW9zLXNkay94L2F1dGgvdHlwZXNiBnByb3RvMw\", [file_amino_amino, file_cosmos_proto_cosmos, file_gogoproto_gogo, file_google_protobuf_any]);\n\n/**\n * Describes the message cosmos.auth.v1beta1.BaseAccount.\n * Use `create(BaseAccountSchema)` to create a new message.\n */\nexport const BaseAccountSchema = /*@__PURE__*/\n messageDesc(file_cosmos_auth_v1beta1_auth, 0);\n\n/**\n * Describes the message cosmos.auth.v1beta1.ModuleAccount.\n * Use `create(ModuleAccountSchema)` to create a new message.\n */\nexport const ModuleAccountSchema = /*@__PURE__*/\n messageDesc(file_cosmos_auth_v1beta1_auth, 1);\n\n/**\n * Describes the message cosmos.auth.v1beta1.ModuleCredential.\n * Use `create(ModuleCredentialSchema)` to create a new message.\n */\nexport const ModuleCredentialSchema = /*@__PURE__*/\n messageDesc(file_cosmos_auth_v1beta1_auth, 2);\n\n/**\n * Describes the message cosmos.auth.v1beta1.Params.\n * Use `create(ParamsSchema)` to create a new message.\n */\nexport const ParamsSchema = /*@__PURE__*/\n messageDesc(file_cosmos_auth_v1beta1_auth, 3);\n\n","/**\n * Account module - Query and represent on-chain account information.\n */\n\nimport type { Numeric } from '../types'\nimport type { Any } from '@bufbuild/protobuf/wkt'\nimport { anyIs, anyUnpack } from '@bufbuild/protobuf/wkt'\nimport { BaseAccountSchema } from '@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/auth/v1beta1/auth_pb'\nimport { AccountNotFoundError } from '../errors'\n\n/**\n * On-chain account information.\n */\nexport interface AccountInfo {\n address: string\n number: bigint\n sequence: bigint\n}\n\n/**\n * Minimal client interface for account queries.\n * Compatible with any client that has an auth service.\n */\nexport interface AuthClient {\n auth: {\n account(\n request: { address: string },\n options?: { height?: Numeric }\n ): Promise<{ account?: Any }>\n }\n}\n\n/**\n * Query account information from chain.\n *\n * @param client - gRPC client with auth service\n * @param address - Bech32 address to query\n * @param options - Query options (height for historical query)\n * @returns Account information (address, number, sequence)\n * @throws {AccountNotFoundError} If account doesn't exist on chain\n *\n * @example\n * ```typescript\n * const account = await getAccount(client, 'init1...')\n * console.log('Account number:', account.number)\n * console.log('Sequence:', account.sequence)\n * ```\n */\nexport async function getAccount(\n client: AuthClient,\n address: string,\n options?: { height?: Numeric }\n): Promise<AccountInfo> {\n const queryOptions = options?.height !== undefined ? { height: options.height } : undefined\n const response = await client.auth.account({ address }, queryOptions)\n\n if (!response.account) {\n throw new AccountNotFoundError(address)\n }\n\n if (anyIs(response.account, BaseAccountSchema)) {\n const baseAccount = anyUnpack(response.account, BaseAccountSchema)\n if (!baseAccount) {\n throw new AccountNotFoundError(address)\n }\n\n return {\n address,\n number: baseAccount.accountNumber,\n sequence: baseAccount.sequence,\n }\n }\n\n // Unsupported account type\n throw new Error(`Unsupported account type: ${response.account.typeUrl}`)\n}\n","/**\n * Gas estimation module - Estimate gas for transactions.\n */\n\nimport { create } from '@bufbuild/protobuf'\nimport { type MsgInput, normalizeMsg } from '../msgs/types'\nimport {\n TxSchema,\n TxBodySchema,\n AuthInfoSchema,\n SignerInfoSchema,\n ModeInfoSchema,\n FeeSchema,\n} from '@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/tx_pb'\nimport { SignMode } from '@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/signing/v1beta1/signing_pb'\nimport { Coin } from '../core/coin'\nimport { DecCoins } from '../core/coins'\nimport { getAccount, type AuthClient } from '../core/account'\nimport { AccountNotFoundError, isNotFoundError, ParseError, SimulationError } from '../errors'\n\n/**\n * Gas estimation result.\n */\nexport interface GasEstimate {\n /** Estimated gas limit (with multiplier applied) */\n gasLimit: bigint\n /** Calculated fee based on gas limit and gas price */\n fee: Coin[]\n}\n\n/**\n * Options for gas estimation.\n */\nexport interface EstimateOptions {\n /** Gas multiplier (default: 1.3) */\n multiplier?: number\n /** Gas price (e.g., '0.015uinit') */\n gasPrice?: string\n}\n\n/**\n * Minimal client interface for gas estimation.\n * Compatible with any client that has tx.simulate and auth.account services.\n */\nexport interface SimulateClient extends AuthClient {\n tx: {\n simulate(request: { txBytes?: Uint8Array; tx?: unknown }): Promise<{\n gasInfo?: {\n gasUsed: bigint\n gasWanted: bigint\n }\n }>\n }\n}\n\n/**\n * Parse gas price string into denom and amount.\n * @param gasPrice - e.g., '0.015uinit'\n * @returns { amount: string, denom: string }\n */\nfunction parseGasPrice(gasPrice: string): { amount: string; denom: string } {\n // Match number (including decimal) followed by denom\n const match = gasPrice.match(/^([\\d.]+)(.+)$/)\n if (!match) {\n throw new ParseError('gasPrice', `Invalid format: ${gasPrice}`)\n }\n return {\n amount: match[1],\n denom: match[2],\n }\n}\n\n/**\n * Calculate fee from gas limit and gas price.\n */\nfunction calculateFee(gasLimit: bigint, gasPrice: string): Coin[] {\n const { amount, denom } = parseGasPrice(gasPrice)\n const feeAmount = mulBigIntByFloat(gasLimit, parseFloat(amount))\n return [new Coin(denom, feeAmount)]\n}\n\n/**\n * Multiply a bigint by a float using fixed-point arithmetic.\n * Avoids Number(bigint) precision loss for values > 2^53.\n * The multiplier is scaled to 6 decimal places and ceiled, so the result\n * may be slightly above the true mathematical ceiling. This is safe for\n * gas estimation (always rounds in the user's favor).\n */\nfunction mulBigIntByFloat(value: bigint, multiplier: number): bigint {\n if (!Number.isFinite(multiplier) || multiplier < 0) {\n throw new ParseError('multiplier', `Expected a non-negative finite number, got: ${multiplier}`)\n }\n const PRECISION = 1_000_000n\n const scaledMultiplier = BigInt(Math.ceil(multiplier * Number(PRECISION)))\n return (value * scaledMultiplier + PRECISION - 1n) / PRECISION // ceil division\n}\n\n/**\n * Estimate gas for a transaction.\n *\n * Uses the simulate endpoint to get accurate gas estimation.\n *\n * @param client - gRPC client with tx service\n * @param msgs - Messages to estimate gas for\n * @param signer - Signer address (for simulation)\n * @param options - Estimation options\n * @returns Gas estimate with fee\n *\n * @example\n * ```typescript\n * const estimate = await estimateGas(client, [sendMsg], wallet.address, {\n * multiplier: 1.3,\n * gasPrice: '0.015uinit'\n * })\n *\n * console.log('Gas limit:', estimate.gasLimit)\n * console.log('Fee:', estimate.fee)\n * ```\n */\nexport async function estimateGas(\n client: SimulateClient,\n msgs: MsgInput[],\n signer: string,\n options?: EstimateOptions\n): Promise<GasEstimate> {\n const multiplier = options?.multiplier ?? 1.3\n const gasPrice = options?.gasPrice ?? '0.015uinit'\n\n // Fetch current account sequence for accurate simulation\n let sequence = 0n\n try {\n const account = await getAccount(client, signer)\n sequence = account.sequence\n } catch (error) {\n // Account not found = new account, sequence 0 is correct.\n // Some chains return gRPC NotFound for non-existent accounts.\n // Any other error (network, auth) should propagate.\n if (!(error instanceof AccountNotFoundError) && !isNotFoundError(error)) {\n throw error\n }\n }\n\n // Create a minimal tx for simulation\n // Note: For simulation, we don't need a valid signature\n const txBody = create(TxBodySchema, {\n messages: msgs.map(m => normalizeMsg(m).toAny()),\n memo: '',\n timeoutHeight: 0n,\n extensionOptions: [],\n nonCriticalExtensionOptions: [],\n })\n\n // Create minimal auth info (empty signature is ok for simulation)\n const signerInfo = create(SignerInfoSchema, {\n publicKey: undefined, // Not needed for simulation\n modeInfo: create(ModeInfoSchema, {\n sum: {\n case: 'single',\n value: { mode: SignMode.DIRECT },\n },\n }),\n sequence,\n })\n\n const fee = create(FeeSchema, {\n amount: [],\n gasLimit: 0n,\n payer: '',\n granter: '',\n })\n\n const authInfo = create(AuthInfoSchema, {\n signerInfos: [signerInfo],\n fee,\n tip: undefined,\n })\n\n // Create the tx for simulation\n const tx = create(TxSchema, {\n body: txBody,\n authInfo,\n signatures: [new Uint8Array(64)], // Empty signature for simulation\n })\n\n // Simulate the transaction\n const response = await client.tx.simulate({\n tx: tx as unknown,\n })\n\n if (!response.gasInfo) {\n throw new SimulationError('No gas info returned')\n }\n\n // Apply multiplier and calculate fee\n const gasUsed = response.gasInfo.gasUsed\n const gasLimit = mulBigIntByFloat(gasUsed, multiplier)\n const calculatedFee = calculateFee(gasLimit, gasPrice)\n\n return {\n gasLimit,\n fee: calculatedFee,\n }\n}\n\n/**\n * Minimal client interface for gas price discovery.\n *\n * On Initia L1, gas prices are fetched from the `initiaTx` service.\n * On L2 rollups (opchild), gas prices come from the `opchild` module params.\n */\nexport interface GasPriceClient {\n initiaTx?: {\n gasPrices(req: Record<string, never>): Promise<{\n gasPrices: { denom: string; amount: string }[]\n }>\n }\n opchild?: {\n params(req: Record<string, never>): Promise<{\n params?: { minGasPrices: { denom: string; amount: string }[] }\n }>\n }\n}\n\n/**\n * Fetch the on-chain gas prices for a chain.\n *\n * Automatically detects chain type:\n * - L1 (Initia): queries `initiaTx.gasPrices`\n * - L2 (rollup): queries `opchild.params.minGasPrices`\n *\n * @param client - gRPC client with either `initiaTx` or `opchild` service\n * @returns DecCoins collection of gas prices per denom\n * @throws Error if neither `initiaTx` nor `opchild` service is available\n *\n * @example\n * ```typescript\n * // L1\n * const prices = await getGasPrices(client)\n * console.log(prices.get('uinit')?.amount) // '0.015000000000000000'\n *\n * // L2 rollup\n * const prices = await getGasPrices(l2Client)\n * ```\n */\nexport async function getGasPrices(client: GasPriceClient): Promise<DecCoins> {\n if (client.initiaTx) {\n const res = await client.initiaTx.gasPrices({})\n return new DecCoins(res.gasPrices)\n }\n if (client.opchild) {\n const res = await client.opchild.params({})\n if (!res.params) {\n throw new Error('getGasPrices: opchild.params() returned no params')\n }\n return new DecCoins(res.params.minGasPrices)\n }\n throw new Error('Cannot determine gas prices: client has neither initiaTx nor opchild service')\n}\n","/**\n * UnsignedTx class — structured transaction data ready for signing.\n *\n * Replaces the former UnsignedTx interface with a class that adds\n * multisig helper methods (getMultisigSignBytes, assembleMultisig).\n */\n\nimport type { Message } from '../msgs/types'\nimport type { SignModeType, SignedTx } from '../client/types'\nimport type { MultisigPublicKey } from '../key/multisig'\nimport { MultiSignature } from '../key/multisig'\nimport { createSignedTx, makeSignBytes } from './sign'\nimport { Coin } from '../core/coin'\nimport type { CoinLike } from '../core/coin'\nimport { create, toBinary } from '@bufbuild/protobuf'\nimport {\n TxBodySchema,\n AuthInfoSchema,\n FeeSchema,\n SignerInfoSchema,\n ModeInfoSchema,\n TxRawSchema,\n} from '@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/tx_pb'\nimport { SignMode } from '@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/signing/v1beta1/signing_pb'\n\n/**\n * An individual signature contribution for a multisig transaction.\n */\nexport interface MultisigSignature {\n /** Zero-based index of the signer in MultisigPublicKey.publicKeys */\n index: number\n /** Raw ECDSA signature bytes (64 bytes, r || s) */\n signature: Uint8Array\n}\n\n/**\n * Unsigned transaction with all structured data needed to produce a signed transaction.\n *\n * Encoding (bodyBytes, authInfoBytes) is deferred to the signing step based on signMode.\n * For multisig workflows, use getMultisigSignBytes() and assembleMultisig().\n *\n * @example\n * ```typescript\n * // Standard single-key signing\n * const signedTx = await key.sign(unsignedTx)\n *\n * // Multisig signing\n * const signBytes = unsignedTx.getMultisigSignBytes(mpk)\n * const sig = await key.sign(signBytes)\n * const signedTx = unsignedTx.assembleMultisig(mpk, [{ index: 0, signature: sig }])\n * ```\n */\nexport class UnsignedTx {\n /** Messages to include in the transaction */\n readonly msgs: Message[]\n /** Signing mode determined for this transaction */\n readonly signMode: SignModeType\n /** Chain ID for signing */\n readonly chainId: string\n /** Account number for signing */\n readonly accountNumber: bigint\n /** Account sequence number */\n readonly sequence: bigint\n /** Fee for the transaction */\n readonly fee: Coin[]\n /** Gas limit */\n readonly gasLimit: bigint\n /** Memo */\n readonly memo: string\n /** Timeout block height (0 = no timeout) */\n readonly timeoutHeight: bigint\n\n constructor(data: {\n msgs: Message[]\n signMode: SignModeType\n chainId: string\n accountNumber: bigint\n sequence: bigint\n fee: CoinLike[]\n gasLimit: bigint\n memo: string\n timeoutHeight?: bigint\n }) {\n this.msgs = data.msgs\n this.signMode = data.signMode\n this.chainId = data.chainId\n this.accountNumber = data.accountNumber\n this.sequence = data.sequence\n this.fee = data.fee.map(c => c instanceof Coin ? c : new Coin(c.denom, c.amount))\n this.gasLimit = data.gasLimit\n this.memo = data.memo\n this.timeoutHeight = data.timeoutHeight ?? 0n\n }\n\n /**\n * Compute the sign bytes for multisig SIGN_MODE_DIRECT signing.\n *\n * Builds bodyBytes and authInfoBytes with the multisig public key in a\n * single-DIRECT SignerInfo (matches what the chain expects for the SignDoc),\n * then serializes them into a protobuf SignDoc.\n *\n * Each co-signer must call this method and sign the returned bytes.\n *\n * @param mpk - The multisig public key\n * @returns Protobuf-encoded SignDoc bytes to be signed by each co-signer\n */\n getMultisigSignBytes(mpk: MultisigPublicKey): Uint8Array {\n const { bodyBytes, authInfoBytes } = this._encodeForMultisigSignDoc(mpk)\n return makeSignBytes(bodyBytes, authInfoBytes, this.chainId, this.accountNumber)\n }\n\n /**\n * Assemble a complete signed multisig transaction from collected signatures.\n *\n * Builds a TxRaw with the multisig ModeInfo derived from the provided signatures\n * and the MultiSignature proto encoding. The caller is responsible for ensuring\n * enough signatures have been collected to meet the threshold.\n *\n * @param mpk - The multisig public key (defines threshold and signer order)\n * @param signatures - Collected signatures with their signer index\n * @returns SignedTx ready for broadcast\n */\n assembleMultisig(mpk: MultisigPublicKey, signatures: MultisigSignature[]): SignedTx {\n const ms = new MultiSignature(mpk)\n for (const { index, signature } of signatures) {\n ms.appendSignature(index, signature)\n }\n\n if (!ms.isComplete()) {\n throw new Error(\n `Multisig threshold not met: need ${mpk.threshold} signatures, got ${signatures.length}`\n )\n }\n\n const body = this._buildTxBody()\n const authInfo = this._buildFeeOnlyAuthInfo()\n\n const txRaw = createSignedTx(body, authInfo, mpk, ms, this.sequence)\n return { txBytes: toBinary(TxRawSchema, txRaw) }\n }\n\n // ── Private helpers ────────────────────────────────────────────────────────\n\n /**\n * Build the TxBody proto from this transaction's messages and memo.\n */\n private _buildTxBody() {\n return create(TxBodySchema, {\n messages: this.msgs.map(m => m.toAny()),\n memo: this.memo,\n timeoutHeight: this.timeoutHeight,\n })\n }\n\n private _buildFee() {\n return create(FeeSchema, {\n amount: this.fee.map(c => c.toProto()),\n gasLimit: this.gasLimit,\n })\n }\n\n /**\n * Build a minimal AuthInfo that carries only the fee (no signerInfos).\n * createSignedTx replaces signerInfos internally, so we only need to\n * preserve the fee for the final TxRaw.\n */\n private _buildFeeOnlyAuthInfo() {\n return create(AuthInfoSchema, { fee: this._buildFee() })\n }\n\n /**\n * Encode bodyBytes and authInfoBytes for the multisig SignDoc.\n *\n * Uses a single SIGN_MODE_DIRECT SignerInfo with the multisig public key.\n * This is the standard form expected by the chain when verifying individual\n * co-signer signatures against the SignDoc.\n */\n private _encodeForMultisigSignDoc(mpk: MultisigPublicKey): {\n bodyBytes: Uint8Array\n authInfoBytes: Uint8Array\n } {\n const bodyBytes = toBinary(TxBodySchema, this._buildTxBody())\n\n const signerInfo = create(SignerInfoSchema, {\n publicKey: mpk.packAny(),\n modeInfo: create(ModeInfoSchema, {\n sum: { case: 'single', value: { mode: SignMode.DIRECT } },\n }),\n sequence: this.sequence,\n })\n\n const authInfo = create(AuthInfoSchema, {\n signerInfos: [signerInfo],\n fee: this._buildFee(),\n })\n const authInfoBytes = toBinary(AuthInfoSchema, authInfo)\n\n return { bodyBytes, authInfoBytes }\n }\n}\n","/**\n * Client type definitions for Initia SDK.\n */\n\nimport type { QueryClient } from './grpc-client'\nimport type { Numeric } from '../types'\nimport type { CoinLike } from '../core/coin'\n\n// Derived client types (computed from chain config builders)\nexport type {\n InitiaClient,\n MinievmClient,\n MinimoveClient,\n MiniwasmClient,\n BaseClient,\n} from './chain-clients'\nimport type {\n InitiaClient,\n MinievmClient,\n MinimoveClient,\n MiniwasmClient,\n BaseClient,\n} from './chain-clients'\n\n// Service imports for Has*Service structural constraints\nimport type { Query as EvmQuery } from '@buf/initia-labs_minievm.bufbuild_es/minievm/evm/v1/query_pb'\nimport type { Query as WasmQuery } from '@buf/cosmwasm_wasmd.bufbuild_es/cosmwasm/wasm/v1/query_pb'\nimport type { Query as MoveQuery } from '@buf/initia-labs_initia.bufbuild_es/initia/move/v1/query_pb'\n\n/**\n * Supported chain types.\n * - initia: Initia L1\n * - minievm: EVM-based rollup\n * - miniwasm: CosmWasm-based rollup\n * - minimove: Move-based rollup\n * - other: Other Cosmos SDK chains (Celestia, Osmosis, etc.)\n */\nexport type ChainType = 'initia' | 'minievm' | 'miniwasm' | 'minimove' | 'other'\n\n/**\n * Network type with common presets.\n * Accepts any string for custom networks.\n */\nexport type NetworkType = 'mainnet' | 'testnet' | 'local' | (string & {})\n\n/**\n * Union of all chain-specific clients.\n * Can be aliased on import: `import { Client as MyClient } from 'initia.js'`\n */\nexport type Client = InitiaClient | MinievmClient | MiniwasmClient | MinimoveClient | BaseClient\n\n/**\n * Map chain type to its specific client interface.\n */\ninterface ClientMap {\n initia: InitiaClient\n minievm: MinievmClient\n miniwasm: MiniwasmClient\n minimove: MinimoveClient\n other: BaseClient\n}\n\n/**\n * Narrowed client type for a specific chain type.\n *\n * When T is a specific chain type, resolves to the corresponding client:\n * - `ClientFor<'minievm'>` → `MinievmClient` (has `.evm` in autocomplete)\n * - `ClientFor<'initia'>` → `InitiaClient` (has `.move`, `.ophost`, etc.)\n *\n * When T is the union `ChainType`, resolves to the union of all clients (same as `Client`).\n */\nexport type ClientFor<T extends ChainType> = ClientMap[T]\n\n/**\n * Minimal interface for any object that provides client access.\n * Used as a dependency constraint in functions that need a client\n * but don't require a specific client type.\n */\nexport interface HasClient {\n readonly client: unknown\n}\n\n// =============================================================================\n// Service-Specific Context Types\n// =============================================================================\n\n/**\n * Context with EVM service access.\n * Required for EVM contract operations (createEvmContract, etc.)\n */\nexport interface HasEvmService {\n readonly client: { evm: QueryClient<typeof EvmQuery> }\n}\n\n/**\n * Context with Wasm service access.\n * Required for CosmWasm contract operations (createWasmContract, etc.)\n */\nexport interface HasWasmService {\n readonly client: { wasm: QueryClient<typeof WasmQuery> }\n}\n\n/**\n * Context with Move service access.\n * Required for Move contract operations (createMoveContract, etc.)\n */\nexport interface HasMoveService {\n readonly client: { move: QueryClient<typeof MoveQuery> }\n}\n\n// =============================================================================\n// Auth & Query Types\n// =============================================================================\n\n/**\n * Authentication configuration for RPC providers.\n *\n * For non-standard auth schemes, use `headers` option directly instead.\n */\nexport type AuthConfig =\n | { type: 'bearer'; token: string }\n | { type: 'api-key'; key: string; header?: string }\n | { type: 'basic'; username: string; password: string }\n\n/**\n * Factory helpers for creating AuthConfig.\n *\n * @example\n * ```typescript\n * auth.apiKey('sk-12345')\n * auth.apiKey('key', 'x-alchemy-token')\n * auth.bearer('eyJhbGciOiJIUzI1NiIs...')\n * auth.basic('username', 'password')\n * ```\n */\nexport const auth = {\n bearer: (token: string): AuthConfig => ({ type: 'bearer', token }),\n apiKey: (key: string, header?: string): AuthConfig => ({ type: 'api-key', key, header }),\n basic: (username: string, password: string): AuthConfig => ({\n type: 'basic',\n username,\n password,\n }),\n} as const\n\n/**\n * Shared per-request options for all fetch-based clients (gRPC, EVM JSON-RPC, etc.).\n */\nexport interface HttpRequestOptions {\n /** Request timeout in milliseconds */\n timeoutMs?: number\n\n /** Abort signal for request cancellation */\n signal?: AbortSignal\n\n /**\n * Override auth for this request only.\n * Completely replaces context-level auth (not merged).\n */\n auth?: AuthConfig\n\n /** Additional headers for this request */\n headers?: Record<string, string>\n}\n\n/**\n * Per-request options for gRPC unary queries.\n * Extends HttpRequestOptions with gRPC-specific fields.\n *\n * Passed as the second argument to client service methods:\n * ```typescript\n * await client.bank.balance(request, queryOptions)\n * ```\n */\nexport interface QueryOptions extends HttpRequestOptions {\n /** Query at a specific block height */\n height?: Numeric\n\n /** Bypass cache for this request */\n skipCache?: boolean\n\n /**\n * Callback for response headers.\n * Called once when unary response headers are received.\n */\n onHeaders?: (headers: Headers) => void\n\n /**\n * Callback for response trailers.\n * Called when gRPC trailers (status, error info, etc.) are received.\n */\n onTrailer?: (trailers: Headers) => void\n}\n\n// =============================================================================\n// Transaction Types\n// =============================================================================\n\n/**\n * Signing mode for transactions.\n * - 'direct': Protobuf binary signing (default, most efficient)\n * - 'amino': Legacy JSON signing (required by some wallets like Keplr)\n * - 'eip191': EIP-191 signing for EVM-compatible chains\n */\nexport type SignModeType = 'direct' | 'amino' | 'eip191'\n\n/**\n * Options for creating a transaction.\n */\nexport interface TxOptions {\n /** Fee to pay for the transaction */\n fee?: CoinLike[]\n /** Gas limit for the transaction */\n gasLimit?: Numeric\n /** Optional memo to include */\n memo?: string\n /** Signing mode (default: 'direct') */\n signMode?: SignModeType\n}\n\n// UnsignedTx is a class (with multisig helpers) defined in tx/unsigned-tx.ts\nexport { UnsignedTx } from '../tx/unsigned-tx'\nexport type { MultisigSignature } from '../tx/unsigned-tx'\n\n/**\n * Signed transaction ready for broadcast.\n */\nexport interface SignedTx {\n /** Encoded signed transaction */\n txBytes: Uint8Array\n}\n\n// =============================================================================\n// Usernames Conditional Types\n// =============================================================================\n\n/**\n * Networks that support the username service.\n */\nexport type UsernamesSupportedNetwork = 'mainnet' | 'testnet'\n\n/**\n * Whether usernames should be available for the given chain/network combination.\n * True only when ChainType is 'initia' AND NetworkType is 'mainnet' | 'testnet'.\n *\n * Defined here (not in usernames/types.ts) to avoid circular references\n * with ChainType and NetworkType.\n */\nexport type HasUsernames<C extends ChainType, N extends NetworkType> = C extends 'initia'\n ? N extends UsernamesSupportedNetwork\n ? true\n : false\n : false\n","/**\n * CometBFT HTTP RPC Client\n *\n * Provides HTTP-based RPC methods for CometBFT endpoints not available via gRPC.\n * Primary use case: block_results (finalize_block_events, validator_updates).\n */\n\nimport { httpRequest, type HttpClientConfig } from './http-client'\nimport { validateHeaderConflict } from './headers'\nimport type { AuthConfig, HttpRequestOptions } from './types'\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/** ABCI event attribute */\nexport interface AbciEventAttribute {\n key: string\n value: string\n index: boolean\n}\n\n/** ABCI event */\nexport interface AbciEvent {\n type: string\n attributes: AbciEventAttribute[]\n}\n\n/** Transaction execution result from CometBFT */\nexport interface ExecTxResult {\n code: number\n data: string\n log: string\n info: string\n gas_wanted: string\n gas_used: string\n events: AbciEvent[]\n codespace: string\n}\n\n/** /block_results response */\nexport interface BlockResultsResponse {\n height: string\n txs_results: ExecTxResult[] | null\n finalize_block_events: AbciEvent[] | null\n validator_updates: ValidatorUpdate[] | null\n consensus_param_updates: ConsensusParams | null\n app_hash: string\n}\n\n/** Validator update info */\nexport interface ValidatorUpdate {\n pub_key: { type: string; value: string }\n power: string\n}\n\n/** Consensus parameters */\nexport interface ConsensusParams {\n block?: { max_bytes?: string; max_gas?: string }\n evidence?: { max_age_num_blocks?: string; max_age_duration?: string; max_bytes?: string }\n validator?: { pub_key_types?: string[] }\n version?: Record<string, unknown>\n abci?: { vote_extensions_enable_height?: string }\n}\n\n/** /tx response */\nexport interface RpcTxResponse {\n hash: string\n height: string\n index: number\n tx_result: ExecTxResult\n tx: string\n}\n\n/** /block response */\nexport interface RpcBlockResponse {\n block_id: { hash: string; parts: { total: number; hash: string } }\n block: {\n header: {\n version: { block: string; app?: string }\n chain_id: string\n height: string\n time: string\n last_block_id: { hash: string; parts: { total: number; hash: string } }\n last_commit_hash: string\n data_hash: string\n validators_hash: string\n next_validators_hash: string\n consensus_hash: string\n app_hash: string\n last_results_hash: string\n evidence_hash: string\n proposer_address: string\n }\n data: { txs: string[] | null }\n evidence: { evidence: unknown[] }\n last_commit: {\n height: string\n round: number\n block_id: { hash: string; parts: { total: number; hash: string } }\n signatures: Array<{\n block_id_flag: number\n validator_address: string\n timestamp: string\n signature: string\n }>\n }\n }\n}\n\n/** /status response */\nexport interface RpcStatusResponse {\n node_info: {\n protocol_version?: { p2p?: string; block?: string; app?: string }\n id?: string\n listen_addr?: string\n network: string\n version?: string\n channels?: string\n moniker?: string\n other?: Record<string, string>\n }\n sync_info: {\n latest_block_hash: string\n latest_app_hash: string\n latest_block_height: string\n latest_block_time: string\n earliest_block_hash?: string\n earliest_app_hash?: string\n earliest_block_height?: string\n earliest_block_time?: string\n catching_up: boolean\n }\n validator_info?: {\n address: string\n pub_key: { type: string; value: string }\n voting_power: string\n }\n}\n\n/** /tx_search response */\nexport interface RpcTxSearchResponse {\n txs: RpcTxResponse[]\n total_count: string\n}\n\n/** Pagination options for validators/search endpoints */\nexport interface PaginationOptions {\n page?: number\n perPage?: number\n}\n\n/** /tx_search pagination options */\nexport interface TxSearchOptions extends PaginationOptions {\n orderBy?: 'asc' | 'desc'\n}\n\n/** Client constructor options */\nexport interface RpcClientOptions {\n timeoutMs?: number\n headers?: Record<string, string>\n auth?: AuthConfig\n}\n\n/** /commit response */\nexport interface RpcCommitResponse {\n signed_header: {\n header: RpcBlockResponse['block']['header']\n commit: RpcBlockResponse['block']['last_commit']\n }\n canonical: boolean\n}\n\n/**\n * /validators response.\n * CometBFT returns max 100 validators per page (default 30).\n */\nexport interface RpcValidatorsResponse {\n block_height: string\n validators: Array<{\n address: string\n pub_key: { type: string; value: string }\n voting_power: string\n proposer_priority: string\n }>\n count: string\n total: string\n}\n\n/** /consensus_params response */\nexport interface RpcConsensusParamsResponse {\n block_height: string\n consensus_params: ConsensusParams\n}\n\n/** Block metadata used in /blockchain response */\nexport interface RpcBlockMeta {\n block_id: { hash: string; parts: { total: number; hash: string } }\n block_size: string\n header: RpcBlockResponse['block']['header']\n num_txs: string\n}\n\n/**\n * /blockchain response.\n * CometBFT returns max 20 block metas per call.\n * Both minHeight and maxHeight are optional (defaults to latest blocks).\n */\nexport interface RpcBlockchainResponse {\n last_height: string\n block_metas: RpcBlockMeta[]\n}\n\n/** /block_search response */\nexport interface RpcBlockSearchResponse {\n blocks: Array<{\n block_id: { hash: string; parts: { total: number; hash: string } }\n block: RpcBlockResponse['block']\n }>\n total_count: string\n}\n\n/** /unconfirmed_txs response */\nexport interface RpcUnconfirmedTxsResponse {\n n_txs: string\n total: string\n total_bytes: string\n txs: string[] | null\n}\n\n/** /num_unconfirmed_txs response (same shape as unconfirmed_txs in practice) */\nexport interface RpcNumUnconfirmedTxsResponse {\n n_txs: string\n total: string\n total_bytes: string\n txs: string[] | null\n}\n\n/** /abci_info response */\nexport interface RpcAbciInfoResponse {\n response: {\n data?: string\n version?: string\n app_version?: string\n last_block_height?: string\n last_block_app_hash?: string\n }\n}\n\n/** /header response (lightweight alternative to /block) */\nexport interface RpcHeaderResponse {\n header: RpcBlockResponse['block']['header']\n}\n\n/** /consensus_state response */\nexport interface RpcConsensusStateResponse {\n round_state: {\n 'height/round/step': string\n start_time: string\n proposal_block_hash: string\n locked_block_hash: string\n valid_block_hash: string\n height_vote_set: Array<{\n round: number\n prevotes: string[]\n prevotes_bit_array: string\n precommits: string[]\n precommits_bit_array: string\n }>\n proposer: {\n address: string\n index: number\n }\n }\n}\n\n/**\n * /dump_consensus_state response.\n * Very verbose — top-level fields typed, deeply nested structures\n * left as Record<string, unknown> for pragmatic balance.\n */\nexport interface RpcDumpConsensusStateResponse {\n round_state: {\n height: string\n round: number\n step: number\n start_time: string\n commit_time: string\n locked_round: number\n valid_round: number\n commit_round: number\n triggered_timeout_precommit: boolean\n [key: string]: unknown\n }\n peers: Array<{\n node_address: string\n peer_state: Record<string, unknown>\n }>\n}\n\n/** /genesis response */\nexport interface RpcGenesisResponse {\n genesis: {\n genesis_time: string\n chain_id: string\n initial_height: string\n consensus_params: ConsensusParams\n validators: Array<{\n address: string\n pub_key: { type: string; value: string }\n power: string\n name?: string\n }>\n app_hash: string\n app_state: unknown\n }\n}\n\n/** /genesis_chunked response */\nexport interface RpcGenesisChunkedResponse {\n chunk: string\n total: string\n data: string\n}\n\n/** /net_info response */\nexport interface RpcNetInfoResponse {\n listening: boolean\n listeners: string[]\n n_peers: string\n peers: Array<{\n node_info: RpcStatusResponse['node_info']\n is_outbound: boolean\n connection_status: Record<string, unknown>\n remote_ip: string\n }>\n}\n\n/** /abci_query options */\nexport interface AbciQueryOptions {\n data?: string\n height?: number | string\n prove?: boolean\n}\n\n/** /abci_query response */\nexport interface RpcAbciQueryResponse {\n response: {\n code: number\n log: string\n info: string\n index: string\n key: string\n value: string\n proof_ops?: { ops: Array<{ type: string; key: string; data: string }> } | null\n height: string\n codespace: string\n }\n}\n\n// =============================================================================\n// JSON-RPC envelope\n// =============================================================================\n\ninterface JsonRpcEnvelope<T> {\n jsonrpc: '2.0'\n id: number\n result?: T\n error?: { code: number; message: string; data?: unknown }\n}\n\n// =============================================================================\n// Client\n// =============================================================================\n\n/**\n * CometBFT HTTP RPC client.\n *\n * Provides access to CometBFT v0.38 endpoints not available via Cosmos SDK gRPC:\n *\n * **Block & Header:** `block`, `blockByHash`, `blockResults`, `header`, `headerByHash`, `blockchain`, `blockSearch`\n * **Transaction:** `tx`, `txSearch`, `unconfirmedTxs`, `numUnconfirmedTxs`\n * **Consensus:** `validators`, `commit`, `consensusParams`, `consensusState`, `dumpConsensusState`\n * **Node:** `status`, `health`, `netInfo`, `genesis`, `genesisChunked`\n * **ABCI:** `abciInfo`, `abciQuery`\n *\n * @example\n * ```typescript\n * const rpc = createRpcClient('https://rpc.initia.xyz')\n *\n * const results = await rpc.blockResults(14107946)\n * const tx = await rpc.tx('6E7457...')\n * const header = await rpc.header(14107946)\n * const healthy = await rpc.health()\n * ```\n */\nexport class RpcClient {\n private config: HttpClientConfig\n\n constructor(endpoint: string, options: RpcClientOptions = {}) {\n validateHeaderConflict(options.auth, options.headers, 'context')\n this.config = {\n endpoint,\n auth: options.auth,\n headers: options.headers,\n timeoutMs: options.timeoutMs,\n }\n }\n\n /**\n * Make a GET request to a CometBFT RPC endpoint.\n */\n private async get<T>(path: string, options?: HttpRequestOptions): Promise<T> {\n const response = await httpRequest(this.config, path, { method: 'GET' }, options)\n\n if (!response.ok) {\n const body = await response.text().catch(() => '')\n throw new Error(\n `HTTP error: ${response.status} ${response.statusText}${body ? ` — ${body}` : ''}`\n )\n }\n\n const json = (await response.json()) as JsonRpcEnvelope<T>\n\n if (json.error) {\n throw new Error(`RPC error (${json.error.code}): ${json.error.message}`)\n }\n\n return json.result as T\n }\n\n // ===========================================================================\n // Endpoints\n // ===========================================================================\n\n /**\n * Get ABCI results for a block, including finalize_block_events.\n *\n * This is the primary endpoint for data not available via gRPC:\n * - `finalize_block_events`: chain-level events (staking rewards, slashing, epoch)\n * - `txs_results`: per-tx execution results for the entire block\n * - `validator_updates`: validator set changes\n * - `consensus_param_updates`: consensus parameter changes\n *\n * @param height - Block height (omit for latest)\n */\n async blockResults(height?: number | string, options?: HttpRequestOptions): Promise<BlockResultsResponse> {\n const params = height !== undefined ? `?height=${height}` : ''\n return this.get<BlockResultsResponse>(`/block_results${params}`, options)\n }\n\n /**\n * Get transaction by hash with block index.\n *\n * Unlike gRPC GetTx, includes `index` (tx position within block).\n *\n * @param hash - Transaction hash (hex, with or without 0x prefix)\n */\n async tx(hash: string, options?: HttpRequestOptions): Promise<RpcTxResponse> {\n const normalizedHash = hash.startsWith('0x') ? hash : `0x${hash}`\n return this.get<RpcTxResponse>(`/tx?hash=${normalizedHash}`, options)\n }\n\n /**\n * Search transactions by TMQL event query.\n *\n * @param query - TMQL query string (e.g., \"tx.height=100\", \"transfer.sender='init1...'\")\n * @param searchOptions - Pagination options\n *\n * @example\n * ```typescript\n * // Find all txs at a specific height\n * const result = await rpc.txSearch(\"tx.height=14107946\")\n *\n * // Find txs by event\n * const result = await rpc.txSearch(\"transfer.sender='init1abc...'\", { perPage: 50 })\n * ```\n */\n async txSearch(\n query: string,\n searchOptions?: TxSearchOptions,\n options?: HttpRequestOptions\n ): Promise<RpcTxSearchResponse> {\n const params = new URLSearchParams()\n params.set('query', `\"${query}\"`)\n if (searchOptions?.page) params.set('page', String(searchOptions.page))\n if (searchOptions?.perPage) params.set('per_page', String(searchOptions.perPage))\n if (searchOptions?.orderBy) params.set('order_by', `\"${searchOptions.orderBy}\"`)\n return this.get<RpcTxSearchResponse>(`/tx_search?${params.toString()}`, options)\n }\n\n /**\n * Get block by height.\n *\n * @param height - Block height (omit for latest)\n */\n async block(height?: number | string, options?: HttpRequestOptions): Promise<RpcBlockResponse> {\n const params = height !== undefined ? `?height=${height}` : ''\n return this.get<RpcBlockResponse>(`/block${params}`, options)\n }\n\n /**\n * Get node status including sync info.\n */\n async status(options?: HttpRequestOptions): Promise<RpcStatusResponse> {\n return this.get<RpcStatusResponse>('/status', options)\n }\n\n /**\n * Check if the node is healthy.\n *\n * Returns `true` if healthy, `false` otherwise. Never throws for health status.\n */\n async health(options?: HttpRequestOptions): Promise<boolean> {\n try {\n await this.get<Record<string, never>>('/health', options)\n return true\n } catch {\n return false\n }\n }\n\n /**\n * Get ABCI application info.\n */\n async abciInfo(options?: HttpRequestOptions): Promise<RpcAbciInfoResponse> {\n return this.get<RpcAbciInfoResponse>('/abci_info', options)\n }\n\n /**\n * Get signed header (commit) at a given height.\n *\n * @param height - Block height (omit for latest)\n */\n async commit(height?: number | string, options?: HttpRequestOptions): Promise<RpcCommitResponse> {\n const params = height !== undefined ? `?height=${height}` : ''\n return this.get<RpcCommitResponse>(`/commit${params}`, options)\n }\n\n /**\n * Get validator set at a given height.\n *\n * CometBFT returns max 100 validators per page (default 30).\n *\n * @param height - Block height (omit for latest)\n * @param pagination - Pagination options\n */\n async validators(\n height?: number | string,\n pagination?: PaginationOptions,\n options?: HttpRequestOptions\n ): Promise<RpcValidatorsResponse> {\n const params = new URLSearchParams()\n if (height !== undefined) params.set('height', String(height))\n if (pagination?.page) params.set('page', String(pagination.page))\n if (pagination?.perPage) params.set('per_page', String(pagination.perPage))\n const qs = params.toString()\n return this.get<RpcValidatorsResponse>(`/validators${qs ? `?${qs}` : ''}`, options)\n }\n\n /**\n * Get consensus parameters at a given height.\n *\n * @param height - Block height (omit for latest)\n */\n async consensusParams(\n height?: number | string,\n options?: HttpRequestOptions\n ): Promise<RpcConsensusParamsResponse> {\n const params = height !== undefined ? `?height=${height}` : ''\n return this.get<RpcConsensusParamsResponse>(`/consensus_params${params}`, options)\n }\n\n /**\n * Get block metadata for a range of heights.\n *\n * CometBFT returns max 20 block metas per call.\n *\n * @param minHeight - Minimum block height (optional)\n * @param maxHeight - Maximum block height (optional)\n */\n async blockchain(\n minHeight?: number | string,\n maxHeight?: number | string,\n options?: HttpRequestOptions\n ): Promise<RpcBlockchainResponse> {\n const params = new URLSearchParams()\n if (minHeight !== undefined) params.set('minHeight', String(minHeight))\n if (maxHeight !== undefined) params.set('maxHeight', String(maxHeight))\n const qs = params.toString()\n return this.get<RpcBlockchainResponse>(`/blockchain${qs ? `?${qs}` : ''}`, options)\n }\n\n /**\n * Get block by hash.\n *\n * @param hash - Block hash (hex, with or without 0x prefix)\n */\n async blockByHash(hash: string, options?: HttpRequestOptions): Promise<RpcBlockResponse> {\n const normalizedHash = hash.startsWith('0x') ? hash : `0x${hash}`\n return this.get<RpcBlockResponse>(`/block_by_hash?hash=${normalizedHash}`, options)\n }\n\n /**\n * Search blocks by TMQL event query.\n *\n * @param query - TMQL query string\n * @param searchOptions - Pagination and ordering options\n */\n async blockSearch(\n query: string,\n searchOptions?: TxSearchOptions,\n options?: HttpRequestOptions\n ): Promise<RpcBlockSearchResponse> {\n const params = new URLSearchParams()\n params.set('query', `\"${query}\"`)\n if (searchOptions?.page) params.set('page', String(searchOptions.page))\n if (searchOptions?.perPage) params.set('per_page', String(searchOptions.perPage))\n if (searchOptions?.orderBy) params.set('order_by', `\"${searchOptions.orderBy}\"`)\n return this.get<RpcBlockSearchResponse>(`/block_search?${params.toString()}`, options)\n }\n\n /**\n * Get unconfirmed transactions from the mempool.\n *\n * @param limit - Max number of transactions to return\n */\n async unconfirmedTxs(\n limit?: number,\n options?: HttpRequestOptions\n ): Promise<RpcUnconfirmedTxsResponse> {\n const params = limit !== undefined ? `?limit=${limit}` : ''\n return this.get<RpcUnconfirmedTxsResponse>(`/unconfirmed_txs${params}`, options)\n }\n\n /**\n * Get number of unconfirmed transactions in the mempool.\n */\n async numUnconfirmedTxs(options?: HttpRequestOptions): Promise<RpcNumUnconfirmedTxsResponse> {\n return this.get<RpcNumUnconfirmedTxsResponse>('/num_unconfirmed_txs', options)\n }\n\n /**\n * Get block header by height (lightweight alternative to block()).\n *\n * @param height - Block height (omit for latest)\n */\n async header(height?: number | string, options?: HttpRequestOptions): Promise<RpcHeaderResponse> {\n const params = height !== undefined ? `?height=${height}` : ''\n return this.get<RpcHeaderResponse>(`/header${params}`, options)\n }\n\n /**\n * Get block header by hash.\n *\n * @param hash - Block hash (hex, with or without 0x prefix)\n */\n async headerByHash(hash: string, options?: HttpRequestOptions): Promise<RpcHeaderResponse> {\n const normalizedHash = hash.startsWith('0x') ? hash : `0x${hash}`\n return this.get<RpcHeaderResponse>(`/header_by_hash?hash=${normalizedHash}`, options)\n }\n\n /**\n * Get current consensus state.\n */\n async consensusState(options?: HttpRequestOptions): Promise<RpcConsensusStateResponse> {\n return this.get<RpcConsensusStateResponse>('/consensus_state', options)\n }\n\n /**\n * Dump full consensus state (verbose debugging).\n */\n async dumpConsensusState(options?: HttpRequestOptions): Promise<RpcDumpConsensusStateResponse> {\n return this.get<RpcDumpConsensusStateResponse>('/dump_consensus_state', options)\n }\n\n /**\n * Get the full genesis document.\n *\n * Can be very large — consider using genesisChunked() for large genesis files.\n */\n async genesis(options?: HttpRequestOptions): Promise<RpcGenesisResponse> {\n return this.get<RpcGenesisResponse>('/genesis', options)\n }\n\n /**\n * Get genesis document in chunks (16MB per chunk).\n *\n * @param chunk - 0-based chunk index\n */\n async genesisChunked(\n chunk: number,\n options?: HttpRequestOptions\n ): Promise<RpcGenesisChunkedResponse> {\n return this.get<RpcGenesisChunkedResponse>(`/genesis_chunked?chunk=${chunk}`, options)\n }\n\n /**\n * Get network info including connected peers.\n */\n async netInfo(options?: HttpRequestOptions): Promise<RpcNetInfoResponse> {\n return this.get<RpcNetInfoResponse>('/net_info', options)\n }\n\n /**\n * Query the ABCI application directly.\n *\n * @param path - ABCI query path (e.g., \"/store/bank/key\")\n * @param queryOptions - Optional data, height, and prove parameters\n */\n async abciQuery(\n path: string,\n queryOptions?: AbciQueryOptions,\n options?: HttpRequestOptions\n ): Promise<RpcAbciQueryResponse> {\n const params = new URLSearchParams()\n params.set('path', `\"${path}\"`)\n if (queryOptions?.data) params.set('data', `\"${queryOptions.data}\"`)\n if (queryOptions?.height !== undefined) params.set('height', String(queryOptions.height))\n if (queryOptions?.prove !== undefined) params.set('prove', String(queryOptions.prove))\n return this.get<RpcAbciQueryResponse>(`/abci_query?${params.toString()}`, options)\n }\n}\n\n// =============================================================================\n// Factory\n// =============================================================================\n\n/**\n * Create a CometBFT HTTP RPC client.\n *\n * @param endpoint - CometBFT RPC endpoint URL (e.g., 'https://rpc.initia.xyz')\n * @param options - Client options (auth, headers, timeout)\n */\nexport function createRpcClient(\n endpoint: string,\n options?: RpcClientOptions\n): RpcClient {\n return new RpcClient(endpoint, options)\n}\n","/**\n * Broadcast module - Submit signed transactions to the network.\n */\n\nimport { BroadcastMode as BsrBroadcastMode } from '@buf/cosmos_cosmos-sdk.bufbuild_es/cosmos/tx/v1beta1/service_pb'\nimport { BroadcastError } from '../errors'\nimport type { SignedTx, TxOptions } from './types'\nimport type { TxResult, WaitForTxOptions } from './websocket'\n\n/**\n * Broadcast mode for transaction submission.\n */\nexport type BroadcastMode = 'sync' | 'async' | 'block'\n\n/**\n * Options for broadcasting a transaction.\n */\nexport interface BroadcastOptions {\n /** Broadcast mode (default: 'sync') */\n mode?: BroadcastMode\n}\n\n/**\n * Result of a successful broadcast.\n */\nexport interface BroadcastResult {\n /** Transaction hash */\n txHash: string\n /** Gas used by the transaction */\n gasUsed: bigint\n /** Raw log from the transaction (if available) */\n rawLog?: string\n}\n\n/**\n * Broadcast result with deferred wait capability.\n *\n * Extends BroadcastResult with a method to wait for transaction confirmation.\n * This allows getting the txHash immediately while optionally waiting later.\n *\n * @example\n * ```typescript\n * const result = await ctx.signAndBroadcast(msgs)\n * console.log('Broadcast done:', result.txHash)\n *\n * // Wait for confirmation when needed\n * const confirmed = await result.waitForConfirmation({ timeout: 30000 })\n * console.log('Confirmed at height:', confirmed.height)\n * ```\n */\nexport interface BroadcastResultWithWait extends BroadcastResult {\n /**\n * Wait for the transaction to be included in a block.\n *\n * Uses WebSocket if available, falls back to polling.\n *\n * @param options - Wait options (timeout, pollInterval)\n * @returns Transaction result with block height and events\n * @throws {TimeoutError} If not confirmed within timeout\n */\n waitForConfirmation(options?: WaitForTxOptions): Promise<TxResult>\n}\n\n/**\n * Options for signAndBroadcast with optional wait.\n * Extends TxOptions to include fee, gasLimit, memo, and signMode.\n */\nexport interface SignBroadcastOptions extends TxOptions {\n /**\n * Wait for transaction confirmation after broadcast.\n *\n * - `true`: Wait with default options (30s timeout)\n * - `WaitForTxOptions`: Wait with custom timeout/pollInterval\n * - `undefined`/`false`: Don't wait (default)\n *\n * When enabled, returns TxResult instead of BroadcastResultWithWait.\n */\n waitForConfirmation?: boolean | WaitForTxOptions\n\n /**\n * Gas price string for automatic fee estimation (e.g., '0.015uinit').\n *\n * When `fee` is not provided, `signAndBroadcast` will automatically\n * estimate gas using simulation and calculate the fee from this gas price.\n *\n * Defaults to '0.015uinit' if omitted and auto-estimation is triggered.\n */\n gasPrice?: string\n\n /**\n * Gas multiplier for automatic fee estimation (default: 1.4).\n *\n * Applied to the simulated gas to provide a safety margin.\n * Only used during auto-estimation (when `fee` is not provided).\n */\n gasMultiplier?: number\n}\n\n/**\n * Helper to create BroadcastResultWithWait from BroadcastResult.\n * @internal\n */\nexport function createBroadcastResultWithWait(\n result: BroadcastResult,\n waitFn: (txHash: string, options?: WaitForTxOptions) => Promise<TxResult>\n): BroadcastResultWithWait {\n return {\n ...result,\n waitForConfirmation: (options?: WaitForTxOptions) => waitFn(result.txHash, options),\n }\n}\n\n/**\n * Minimal client interface for broadcasting transactions.\n * Compatible with any client that has a tx service.\n */\nexport interface TxClient {\n tx: {\n broadcastTx(request: { txBytes: Uint8Array; mode: BsrBroadcastMode }): Promise<{\n txResponse?: {\n txhash: string\n code: number\n rawLog: string\n gasUsed: bigint\n }\n }>\n }\n}\n\n/**\n * Map our BroadcastMode to BSR enum.\n */\nfunction toBsrMode(mode: BroadcastMode): BsrBroadcastMode {\n switch (mode) {\n case 'sync':\n return BsrBroadcastMode.SYNC\n case 'async':\n return BsrBroadcastMode.ASYNC\n case 'block':\n return BsrBroadcastMode.BLOCK\n }\n}\n\n/**\n * Broadcast a signed transaction to the network.\n *\n * @param client - gRPC client with tx service\n * @param signedTx - Signed transaction bytes\n * @param options - Broadcast options (mode defaults to 'sync')\n * @returns Broadcast result with txHash and gasUsed\n * @throws {BroadcastError} If the transaction fails\n *\n * @example\n * ```typescript\n * const result = await broadcast(client, signedTx)\n * console.log('Tx hash:', result.txHash)\n * console.log('Gas used:', result.gasUsed)\n * ```\n */\nexport async function broadcast(\n client: TxClient,\n signedTx: SignedTx,\n options?: BroadcastOptions\n): Promise<BroadcastResult> {\n const mode = options?.mode ?? 'sync'\n\n const response = await client.tx.broadcastTx({\n txBytes: signedTx.txBytes,\n mode: toBsrMode(mode),\n })\n\n const txResponse = response.txResponse\n if (!txResponse) {\n throw new BroadcastError('', 0, 'No response from broadcast')\n }\n\n if (txResponse.code !== 0) {\n throw new BroadcastError(txResponse.txhash, txResponse.code, txResponse.rawLog)\n }\n\n return {\n txHash: txResponse.txhash,\n gasUsed: txResponse.gasUsed,\n rawLog: txResponse.rawLog || undefined,\n }\n}\n"],"x_google_ignoreList":[1],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ //#region src/provider/chain-utils.ts
2
+ /**
3
+ * Normalize endpoint URL by adding https:// if no scheme is present.
4
+ * Required for gRPC-Web transport compatibility.
5
+ */
6
+ function normalizeEndpoint(endpoint) {
7
+ if (!endpoint) return void 0;
8
+ if (endpoint.startsWith("http://") || endpoint.startsWith("https://")) return endpoint;
9
+ return `https://${endpoint}`;
10
+ }
11
+ /**
12
+ * Derive WebSocket URL from RPC endpoint.
13
+ * Cosmos chains expose WebSocket at /websocket path on the RPC endpoint.
14
+ */
15
+ function deriveWssFromRpc(rpcEndpoint) {
16
+ if (!rpcEndpoint) return void 0;
17
+ try {
18
+ const url = new URL(rpcEndpoint);
19
+ url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
20
+ if (!url.pathname.endsWith("/websocket")) url.pathname = url.pathname.replace(/\/?$/, "/websocket");
21
+ return url.toString();
22
+ } catch {
23
+ return;
24
+ }
25
+ }
26
+ /**
27
+ * Detect chain type from registry metadata.
28
+ */
29
+ function detectChainType(chain) {
30
+ if (chain.metadata?.is_l1) return "initia";
31
+ const minitiaType = chain.metadata?.minitia?.type;
32
+ if (minitiaType === "minievm") return "minievm";
33
+ if (minitiaType === "miniwasm") return "miniwasm";
34
+ if (minitiaType === "minimove") return "minimove";
35
+ return "other";
36
+ }
37
+ /**
38
+ * Map registry network type to SDK NetworkType.
39
+ */
40
+ function mapNetworkType(networkType) {
41
+ if (networkType === "mainnet") return "mainnet";
42
+ if (networkType === "testnet") return "testnet";
43
+ return "local";
44
+ }
45
+ /**
46
+ * Parse IBC channels from chain metadata.
47
+ */
48
+ function parseIbcChannels(metadata) {
49
+ return (metadata?.ibc_channels ?? []).map((ch) => ({
50
+ chainId: ch.chain_id,
51
+ portId: ch.port_id,
52
+ channelId: ch.channel_id,
53
+ version: ch.version
54
+ }));
55
+ }
56
+ /**
57
+ * Derive gas price string from registry fee token data.
58
+ * Uses average_gas_price if available, falls back to low_gas_price or fixed_min_gas_price.
59
+ */
60
+ function deriveGasPrice(feeToken) {
61
+ if (!feeToken) return void 0;
62
+ const price = feeToken.average_gas_price ?? feeToken.low_gas_price ?? feeToken.fixed_min_gas_price;
63
+ if (price == null) return void 0;
64
+ return `${price}${feeToken.denom}`;
65
+ }
66
+ /**
67
+ * Convert registry Chain to ChainInfo.
68
+ */
69
+ function toChainInfo(chain) {
70
+ const rpcEndpoint = chain.apis.rpc?.[0]?.address;
71
+ const metadata = chain.metadata;
72
+ const opBridgeIdStr = metadata?.op_bridge_id;
73
+ const executorUri = metadata?.executor_uri;
74
+ const ibcChannels = parseIbcChannels(metadata);
75
+ return {
76
+ chainId: chain.chain_id,
77
+ chainName: chain.pretty_name ?? chain.chain_name,
78
+ chainType: detectChainType(chain),
79
+ network: mapNetworkType(chain.network_type),
80
+ rpc: rpcEndpoint,
81
+ rest: chain.apis.rest[0]?.address,
82
+ grpc: normalizeEndpoint(chain.apis.grpc?.[0]?.address),
83
+ grpcWeb: normalizeEndpoint(chain.apis["grpc-web"]?.[0]?.address),
84
+ wss: chain.apis.wss?.[0]?.address ?? deriveWssFromRpc(rpcEndpoint),
85
+ evmRpc: chain.apis["json-rpc"]?.[0]?.address,
86
+ evmWss: chain.apis["json-rpc-websocket"]?.[0]?.address,
87
+ api: chain.apis.api?.[0]?.address,
88
+ indexer: chain.apis.indexer?.[0]?.address,
89
+ nativeDenom: chain.fees.fee_tokens[0]?.denom,
90
+ gasPrice: deriveGasPrice(chain.fees.fee_tokens[0]),
91
+ bech32Prefix: chain.bech32_prefix,
92
+ evmChainId: chain.evm_chain_id ?? void 0,
93
+ slip44: chain.slip44,
94
+ opBridgeId: opBridgeIdStr ? BigInt(opBridgeIdStr) : void 0,
95
+ opDenoms: metadata?.op_denoms ?? void 0,
96
+ executorUri,
97
+ explorerUrl: chain.explorers?.[0]?.url,
98
+ ibcChannels: ibcChannels.length > 0 ? ibcChannels : void 0
99
+ };
100
+ }
101
+ /**
102
+ * Convert a registry Asset to normalized AssetInfo.
103
+ */
104
+ function toAssetInfo(raw, chainId) {
105
+ const decimals = raw.denom_units.find((u) => u.denom === raw.display)?.exponent ?? 0;
106
+ let originChainId;
107
+ let originDenom;
108
+ if (raw.traces?.length) {
109
+ const trace = raw.traces[0];
110
+ originChainId = trace.counterparty.chain_id;
111
+ originDenom = trace.counterparty.base_denom;
112
+ }
113
+ const logoUrl = raw.logo_URIs?.png ?? raw.images?.[0]?.png;
114
+ return {
115
+ chainId,
116
+ denom: raw.base,
117
+ symbol: raw.symbol,
118
+ name: raw.name,
119
+ description: raw.description,
120
+ display: raw.display,
121
+ denomUnits: raw.denom_units.map((u) => ({
122
+ denom: u.denom,
123
+ exponent: u.exponent,
124
+ ...u.aliases?.length ? { aliases: u.aliases } : {}
125
+ })),
126
+ decimals,
127
+ contractAddress: raw.address,
128
+ logoUrl,
129
+ coingeckoId: raw.coingecko_id,
130
+ oracleSymbol: raw.oracle_symbol,
131
+ originChainId,
132
+ originDenom,
133
+ typeAsset: raw.type_asset
134
+ };
135
+ }
136
+ //#endregion
137
+ export { toChainInfo as n, toAssetInfo as t };
138
+
139
+ //# sourceMappingURL=chain-utils-C61cU5nd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-utils-C61cU5nd.mjs","names":[],"sources":["../src/provider/chain-utils.ts"],"sourcesContent":["/**\n * Shared helper functions for chain data conversion.\n *\n * Used by RegistryProvider and LocalRegistryProvider to convert\n * @initia/initia-registry-types Chain/Asset objects to SDK types.\n */\n\nimport type { Chain, Asset } from '@initia/initia-registry-types'\nimport type { ChainType, NetworkType } from '../client/types'\nimport type { ChainInfo, AssetInfo, IbcChannelInfo } from './types'\n\n/**\n * Normalize endpoint URL by adding https:// if no scheme is present.\n * Required for gRPC-Web transport compatibility.\n */\nexport function normalizeEndpoint(endpoint: string | undefined): string | undefined {\n if (!endpoint) return undefined\n if (endpoint.startsWith('http://') || endpoint.startsWith('https://')) {\n return endpoint\n }\n return `https://${endpoint}`\n}\n\n/**\n * Derive WebSocket URL from RPC endpoint.\n * Cosmos chains expose WebSocket at /websocket path on the RPC endpoint.\n */\nexport function deriveWssFromRpc(rpcEndpoint: string | undefined): string | undefined {\n if (!rpcEndpoint) return undefined\n\n try {\n const url = new URL(rpcEndpoint)\n url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:'\n if (!url.pathname.endsWith('/websocket')) {\n url.pathname = url.pathname.replace(/\\/?$/, '/websocket')\n }\n return url.toString()\n } catch {\n return undefined\n }\n}\n\n/**\n * Detect chain type from registry metadata.\n */\nexport function detectChainType(chain: Chain): ChainType {\n if (chain.metadata?.is_l1) {\n return 'initia'\n }\n\n const minitiaType = chain.metadata?.minitia?.type\n if (minitiaType === 'minievm') return 'minievm'\n if (minitiaType === 'miniwasm') return 'miniwasm'\n if (minitiaType === 'minimove') return 'minimove'\n\n return 'other'\n}\n\n/**\n * Map registry network type to SDK NetworkType.\n */\nexport function mapNetworkType(networkType: Chain['network_type']): NetworkType {\n if (networkType === 'mainnet') return 'mainnet'\n if (networkType === 'testnet') return 'testnet'\n return 'local'\n}\n\n/**\n * Parse IBC channels from chain metadata.\n */\nexport function parseIbcChannels(metadata: Record<string, unknown> | undefined): IbcChannelInfo[] {\n const rawIbcChannels =\n (metadata?.ibc_channels as Array<{\n chain_id: string\n port_id: string\n channel_id: string\n version: string\n }>) ?? []\n return rawIbcChannels.map(ch => ({\n chainId: ch.chain_id,\n portId: ch.port_id,\n channelId: ch.channel_id,\n version: ch.version,\n }))\n}\n\n/**\n * Derive gas price string from registry fee token data.\n * Uses average_gas_price if available, falls back to low_gas_price or fixed_min_gas_price.\n */\nfunction deriveGasPrice(\n feeToken:\n | {\n denom: string\n fixed_min_gas_price?: number\n low_gas_price?: number\n average_gas_price?: number\n }\n | undefined\n): string | undefined {\n if (!feeToken) return undefined\n const price = feeToken.average_gas_price ?? feeToken.low_gas_price ?? feeToken.fixed_min_gas_price\n if (price == null) return undefined\n return `${price}${feeToken.denom}`\n}\n\n/**\n * Convert registry Chain to ChainInfo.\n */\nexport function toChainInfo(chain: Chain): ChainInfo {\n const rpcEndpoint = chain.apis.rpc?.[0]?.address\n\n const metadata = chain.metadata as Record<string, unknown> | undefined\n const opBridgeIdStr = metadata?.op_bridge_id as string | undefined\n const executorUri = metadata?.executor_uri as string | undefined\n\n const ibcChannels = parseIbcChannels(metadata)\n\n return {\n chainId: chain.chain_id,\n chainName: chain.pretty_name ?? chain.chain_name,\n chainType: detectChainType(chain),\n network: mapNetworkType(chain.network_type),\n rpc: rpcEndpoint,\n rest: chain.apis.rest[0]?.address,\n grpc: normalizeEndpoint(chain.apis.grpc?.[0]?.address),\n grpcWeb: normalizeEndpoint(chain.apis['grpc-web']?.[0]?.address),\n wss: chain.apis.wss?.[0]?.address ?? deriveWssFromRpc(rpcEndpoint),\n evmRpc: chain.apis['json-rpc']?.[0]?.address,\n evmWss: chain.apis['json-rpc-websocket']?.[0]?.address,\n api: chain.apis.api?.[0]?.address,\n indexer: chain.apis.indexer?.[0]?.address,\n nativeDenom: chain.fees.fee_tokens[0]?.denom,\n gasPrice: deriveGasPrice(chain.fees.fee_tokens[0]),\n bech32Prefix: chain.bech32_prefix,\n evmChainId: chain.evm_chain_id ?? undefined,\n slip44: chain.slip44,\n opBridgeId: opBridgeIdStr ? BigInt(opBridgeIdStr) : undefined,\n opDenoms: (metadata?.op_denoms as string[]) ?? undefined,\n executorUri,\n explorerUrl: chain.explorers?.[0]?.url,\n ibcChannels: ibcChannels.length > 0 ? ibcChannels : undefined,\n }\n}\n\n/**\n * Convert a registry Asset to normalized AssetInfo.\n */\nexport function toAssetInfo(raw: Asset, chainId: string): AssetInfo {\n const displayUnit = raw.denom_units.find(u => u.denom === raw.display)\n const decimals = displayUnit?.exponent ?? 0\n\n let originChainId: string | undefined\n let originDenom: string | undefined\n if (raw.traces?.length) {\n const trace = raw.traces[0]\n originChainId = trace.counterparty.chain_id\n originDenom = trace.counterparty.base_denom\n }\n\n const logoUrl = raw.logo_URIs?.png ?? raw.images?.[0]?.png\n\n return {\n chainId,\n denom: raw.base,\n symbol: raw.symbol,\n name: raw.name,\n description: raw.description,\n display: raw.display,\n denomUnits: raw.denom_units.map(u => ({\n denom: u.denom,\n exponent: u.exponent,\n ...(u.aliases?.length ? { aliases: u.aliases } : {}),\n })),\n decimals,\n contractAddress: raw.address,\n logoUrl,\n coingeckoId: raw.coingecko_id,\n oracleSymbol: raw.oracle_symbol,\n originChainId,\n originDenom,\n typeAsset: raw.type_asset,\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,274 @@
1
+ #!/usr/bin/env node
2
+ import { t as createGrpcClient } from "../grpc-client-DGyZjGcT.mjs";
3
+ import { o as normalizeUrl } from "../transport-common-BsPYcFQl.mjs";
4
+ import { t as Query } from "../query_pb-cZ3szo3y.mjs";
5
+ import { a as generateMoveAbiAll, i as generateMoveAbi, n as generateEvmAbiFromExplorer, o as generateMoveAbiBatch, r as generateEvmAbiFromJson, t as generateWasmAbiFromJson } from "../wasm-DdunGtLM.mjs";
6
+ import { join, resolve } from "node:path";
7
+ import { createGrpcTransport } from "@connectrpc/connect-node";
8
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
9
+ //#region src/codegen/cli.ts
10
+ /**
11
+ * abigen CLI
12
+ *
13
+ * Generates TypeScript ABI files for Move, EVM, and CosmWasm contracts.
14
+ * Thin wrapper over the codegen functions; no external CLI framework needed.
15
+ *
16
+ * Usage:
17
+ * abigen <command> [options]
18
+ *
19
+ * Commands:
20
+ * move Fetch Move module ABI from chain via gRPC
21
+ * evm Convert EVM ABI from JSON file or Etherscan-compatible explorer
22
+ * wasm Convert CosmWasm schema from JSON files
23
+ *
24
+ * Run `abigen <command> --help` for command-specific options.
25
+ */
26
+ /**
27
+ * Minimal key-value parser for `--key value` pairs.
28
+ * Supports `--flag` (boolean) and `--key value` (string).
29
+ */
30
+ function parseArgs(argv) {
31
+ const flags = {};
32
+ let command;
33
+ let help = false;
34
+ let i = 0;
35
+ while (i < argv.length) {
36
+ const arg = argv[i];
37
+ if (arg === "--help" || arg === "-h") {
38
+ help = true;
39
+ i++;
40
+ continue;
41
+ }
42
+ if (arg.startsWith("--")) {
43
+ const key = arg.slice(2);
44
+ const next = argv[i + 1];
45
+ if (next !== void 0 && !next.startsWith("--")) {
46
+ flags[key] = next;
47
+ i += 2;
48
+ } else {
49
+ flags[key] = "true";
50
+ i++;
51
+ }
52
+ continue;
53
+ }
54
+ if (command === void 0) command = arg;
55
+ i++;
56
+ }
57
+ return {
58
+ command,
59
+ flags,
60
+ help
61
+ };
62
+ }
63
+ const MAIN_HELP = `
64
+ abigen <command> [options]
65
+
66
+ Commands:
67
+ move Fetch Move module ABI from chain via gRPC
68
+ evm Convert EVM ABI from JSON file or Etherscan-compatible explorer
69
+ wasm Convert CosmWasm schema from JSON files
70
+
71
+ Common options:
72
+ --out <path> Output .ts file path (default: stdout)
73
+ --name <name> Export variable name
74
+ --help Show help
75
+ `.trim();
76
+ const MOVE_HELP = `
77
+ abigen move [options]
78
+
79
+ Fetch Move module ABI(s) from chain via gRPC and generate TypeScript file(s).
80
+
81
+ Required:
82
+ --address <addr> Module address (e.g., 0x1)
83
+ --endpoint <url> gRPC endpoint URL
84
+
85
+ Module selection (one of):
86
+ --module <name> Single module name (e.g., coin)
87
+ --modules <names> Comma-separated module names (e.g., coin,oracle,staking)
88
+ --all Fetch all modules from the address
89
+
90
+ Output:
91
+ --out <path> Output .ts file path (single module only, default: stdout)
92
+ --outdir <dir> Output directory (batch mode: one file per module + index.ts)
93
+ --name <name> Export variable name (single module only)
94
+ `.trim();
95
+ const EVM_HELP = `
96
+ abigen evm [options]
97
+
98
+ Convert an EVM ABI from a JSON file or Etherscan-compatible explorer.
99
+
100
+ From JSON file:
101
+ --json <path> Path to ABI JSON file (raw array or Hardhat/Foundry artifact)
102
+
103
+ From explorer:
104
+ --address <addr> Contract address
105
+ --explorer <url> Etherscan-compatible API base URL
106
+ --api-key <key> API key (optional)
107
+
108
+ Optional:
109
+ --name <name> Export variable name
110
+ --out <path> Output .ts file path (default: stdout)
111
+ `.trim();
112
+ const WASM_HELP = `
113
+ abigen wasm [options]
114
+
115
+ Convert CosmWasm JSON Schema files into a TypeScript file.
116
+
117
+ At least one of --execute or --query is required.
118
+
119
+ Options:
120
+ --execute <path> Path to execute_msg.json
121
+ --query <path> Path to query_msg.json
122
+
123
+ Optional:
124
+ --name <name> Export variable name (default: CONTRACT_SCHEMA)
125
+ --out <path> Output .ts file path (default: stdout)
126
+ `.trim();
127
+ function createMoveClient(endpoint) {
128
+ return { client: createGrpcClient(createGrpcTransport({ baseUrl: normalizeUrl(endpoint) }), { move: Query }) };
129
+ }
130
+ async function handleMove(flags) {
131
+ const address = flags["address"];
132
+ const endpoint = flags["endpoint"];
133
+ if (!address) throw new Error("Missing required option: --address");
134
+ if (!endpoint) throw new Error("Missing required option: --endpoint");
135
+ const context = createMoveClient(endpoint);
136
+ if (flags["all"] === "true") return generateMoveAbiAll(context, address);
137
+ if (flags["modules"]) {
138
+ const names = flags["modules"].split(",").map((s) => s.trim()).filter(Boolean);
139
+ if (names.length === 0) throw new Error("--modules requires at least one module name");
140
+ return generateMoveAbiBatch(context, address, names);
141
+ }
142
+ const moduleName = flags["module"];
143
+ if (!moduleName) throw new Error("Missing module selection: use --module, --modules, or --all");
144
+ return await generateMoveAbi(context, address, moduleName, flags["name"] ? { exportName: flags["name"] } : void 0);
145
+ }
146
+ async function handleEvm(flags) {
147
+ const jsonPath = flags["json"];
148
+ const address = flags["address"];
149
+ const explorerUrl = flags["explorer"];
150
+ if (jsonPath) {
151
+ const content = await readFile(resolve(jsonPath), "utf-8");
152
+ return generateEvmAbiFromJson({
153
+ json: JSON.parse(content),
154
+ exportName: flags["name"]
155
+ });
156
+ }
157
+ if (address && explorerUrl) return generateEvmAbiFromExplorer({
158
+ address,
159
+ explorerUrl,
160
+ exportName: flags["name"],
161
+ apiKey: flags["api-key"]
162
+ });
163
+ throw new Error("EVM command requires either --json <path> or both --address and --explorer. Run with --help for usage.");
164
+ }
165
+ async function handleWasm(flags) {
166
+ const executePath = flags["execute"];
167
+ const queryPath = flags["query"];
168
+ if (!executePath && !queryPath) throw new Error("Wasm command requires at least one of --execute or --query. Run with --help for usage.");
169
+ let execute;
170
+ let query;
171
+ if (executePath) {
172
+ const content = await readFile(resolve(executePath), "utf-8");
173
+ execute = JSON.parse(content);
174
+ }
175
+ if (queryPath) {
176
+ const content = await readFile(resolve(queryPath), "utf-8");
177
+ query = JSON.parse(content);
178
+ }
179
+ return generateWasmAbiFromJson({
180
+ execute,
181
+ query,
182
+ exportName: flags["name"]
183
+ });
184
+ }
185
+ async function writeOutput(content, outPath) {
186
+ if (outPath) {
187
+ const absolutePath = resolve(outPath);
188
+ await writeFile(absolutePath, content, "utf-8");
189
+ console.error(`Written to ${absolutePath}`);
190
+ } else process.stdout.write(content);
191
+ }
192
+ /**
193
+ * Derives a kebab-case filename from a module name.
194
+ * e.g., "coin" → "coin-abi.ts", "fungibleAsset" → "fungible-asset-abi.ts"
195
+ */
196
+ function toFileName(moduleName) {
197
+ return moduleName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/_/g, "-").toLowerCase() + "-abi.ts";
198
+ }
199
+ /**
200
+ * Writes batch-generated modules to a directory with a barrel index.ts.
201
+ */
202
+ async function writeOutputDir(modules, outDir) {
203
+ const absoluteDir = resolve(outDir);
204
+ await mkdir(absoluteDir, { recursive: true });
205
+ const indexLines = [];
206
+ for (const mod of modules) {
207
+ const fileName = toFileName(mod.moduleName);
208
+ await writeFile(join(absoluteDir, fileName), mod.content, "utf-8");
209
+ console.error(` ${fileName}`);
210
+ const importPath = "./" + fileName.replace(/\.ts$/, "");
211
+ indexLines.push(`export { ${mod.exportName} } from '${importPath}'`);
212
+ }
213
+ const indexContent = "// Auto-generated barrel export. Do not edit manually.\n\n" + indexLines.join("\n") + "\n";
214
+ await writeFile(join(absoluteDir, "index.ts"), indexContent, "utf-8");
215
+ console.error(` index.ts`);
216
+ console.error(`Written ${modules.length} modules to ${absoluteDir}`);
217
+ }
218
+ function printHelp(text) {
219
+ process.stdout.write(text + "\n");
220
+ }
221
+ async function main() {
222
+ const { command, flags, help } = parseArgs(process.argv.slice(2));
223
+ if (!command || help && !command) {
224
+ printHelp(MAIN_HELP);
225
+ process.exit(0);
226
+ }
227
+ if (help) {
228
+ switch (command) {
229
+ case "move":
230
+ printHelp(MOVE_HELP);
231
+ break;
232
+ case "evm":
233
+ printHelp(EVM_HELP);
234
+ break;
235
+ case "wasm":
236
+ printHelp(WASM_HELP);
237
+ break;
238
+ default: printHelp(MAIN_HELP);
239
+ }
240
+ process.exit(0);
241
+ }
242
+ let result;
243
+ switch (command) {
244
+ case "move":
245
+ result = await handleMove(flags);
246
+ break;
247
+ case "evm":
248
+ result = await handleEvm(flags);
249
+ break;
250
+ case "wasm":
251
+ result = await handleWasm(flags);
252
+ break;
253
+ default:
254
+ console.error(`Unknown command: ${command}`);
255
+ console.error(MAIN_HELP);
256
+ process.exit(1);
257
+ }
258
+ if (Array.isArray(result)) {
259
+ const outDir = flags["outdir"];
260
+ if (!outDir) throw new Error("Batch mode (--modules or --all) requires --outdir <directory>");
261
+ await writeOutputDir(result, outDir);
262
+ return;
263
+ }
264
+ await writeOutput(result, flags["out"]);
265
+ }
266
+ main().catch((error) => {
267
+ const message = error instanceof Error ? error.message : String(error);
268
+ console.error(`Error: ${message}`);
269
+ process.exit(1);
270
+ });
271
+ //#endregion
272
+ export {};
273
+
274
+ //# sourceMappingURL=cli.mjs.map