@initia/initia.js 1.0.21 → 2.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) hide show
  1. package/README.md +231 -163
  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.d.mts +3 -0
  87. package/dist/entry.client.browser.mjs +6 -0
  88. package/dist/entry.client.node-clFi8rmF.d.mts +1 -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 -45
  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 -11
  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 -23
  251. package/dist/client/rest/api/OphostAPI.d.ts +0 -34
  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 -42
  263. package/dist/core/Coins.d.ts +0 -45
  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 -42
  281. package/dist/core/authz/authorizations/CallAuthorization.d.ts +0 -28
  282. package/dist/core/authz/authorizations/ExecuteAuthorization.d.ts +0 -54
  283. package/dist/core/authz/authorizations/GenericAuthorization.d.ts +0 -28
  284. package/dist/core/authz/authorizations/PublishAuthorization.d.ts +0 -28
  285. package/dist/core/authz/authorizations/SendAuthorization.d.ts +0 -33
  286. package/dist/core/authz/authorizations/StakeAuthorization.d.ts +0 -60
  287. package/dist/core/authz/authorizations/index.d.ts +0 -7
  288. package/dist/core/authz/index.d.ts +0 -2
  289. package/dist/core/authz/msgs/MsgExecAuthorized.d.ts +0 -33
  290. package/dist/core/authz/msgs/MsgGrantAuthorization.d.ts +0 -36
  291. package/dist/core/authz/msgs/MsgRevokeAuthorization.d.ts +0 -35
  292. package/dist/core/authz/msgs/index.d.ts +0 -12
  293. package/dist/core/bank/BankParams.d.ts +0 -29
  294. package/dist/core/bank/DenomMetadata.d.ts +0 -43
  295. package/dist/core/bank/DenomUnit.d.ts +0 -28
  296. package/dist/core/bank/SendEnabled.d.ts +0 -25
  297. package/dist/core/bank/index.d.ts +0 -5
  298. package/dist/core/bank/msgs/MsgMultiSend.d.ts +0 -78
  299. package/dist/core/bank/msgs/MsgSend.d.ts +0 -36
  300. package/dist/core/bank/msgs/MsgSetDenomMetadata.d.ts +0 -33
  301. package/dist/core/bank/msgs/MsgSetSendEnabled.d.ts +0 -37
  302. package/dist/core/bank/msgs/MsgUpdateBankParams.d.ts +0 -33
  303. package/dist/core/bank/msgs/index.d.ts +0 -16
  304. package/dist/core/bech32.d.ts +0 -27
  305. package/dist/core/celestia/Blob.d.ts +0 -24
  306. package/dist/core/celestia/BlobTx.d.ts +0 -25
  307. package/dist/core/celestia/index.d.ts +0 -3
  308. package/dist/core/celestia/msgs/MsgPayForBlobs.d.ts +0 -31
  309. package/dist/core/celestia/msgs/index.d.ts +0 -7
  310. package/dist/core/consensus/ABCIParams.d.ts +0 -21
  311. package/dist/core/consensus/BlockParams.d.ts +0 -24
  312. package/dist/core/consensus/EvidenceParams.d.ts +0 -28
  313. package/dist/core/consensus/ValidatorParams.d.ts +0 -21
  314. package/dist/core/consensus/index.d.ts +0 -5
  315. package/dist/core/consensus/msgs/MsgUpdateConsensusParams.d.ts +0 -45
  316. package/dist/core/consensus/msgs/index.d.ts +0 -8
  317. package/dist/core/crisis/index.d.ts +0 -1
  318. package/dist/core/crisis/msgs/MsgUpdateCrisisParams.d.ts +0 -33
  319. package/dist/core/crisis/msgs/MsgVerifyInvariant.d.ts +0 -35
  320. package/dist/core/crisis/msgs/index.d.ts +0 -10
  321. package/dist/core/distribution/DistributionParams.d.ts +0 -32
  322. package/dist/core/distribution/RewardWeight.d.ts +0 -25
  323. package/dist/core/distribution/index.d.ts +0 -3
  324. package/dist/core/distribution/msgs/MsgCommunityPoolSpend.d.ts +0 -36
  325. package/dist/core/distribution/msgs/MsgDepositValidatorRewardsPool.d.ts +0 -40
  326. package/dist/core/distribution/msgs/MsgFundCommunityPool.d.ts +0 -33
  327. package/dist/core/distribution/msgs/MsgSetWithdrawAddress.d.ts +0 -32
  328. package/dist/core/distribution/msgs/MsgUpdateDistrParams.d.ts +0 -33
  329. package/dist/core/distribution/msgs/MsgWithdrawDelegatorReward.d.ts +0 -32
  330. package/dist/core/distribution/msgs/MsgWithdrawValidatorCommission.d.ts +0 -29
  331. package/dist/core/distribution/msgs/index.d.ts +0 -20
  332. package/dist/core/evidence/Equivocation.d.ts +0 -38
  333. package/dist/core/evidence/Evidence.d.ts +0 -11
  334. package/dist/core/evidence/index.d.ts +0 -3
  335. package/dist/core/evidence/msgs/MsgSubmitEvidence.d.ts +0 -33
  336. package/dist/core/evidence/msgs/index.d.ts +0 -8
  337. package/dist/core/evm/AccessTuple.d.ts +0 -25
  338. package/dist/core/evm/EvmParams.d.ts +0 -43
  339. package/dist/core/evm/GasEnforcement.d.ts +0 -27
  340. package/dist/core/evm/SetCodeAuthorization.d.ts +0 -30
  341. package/dist/core/evm/index.d.ts +0 -5
  342. package/dist/core/evm/msgs/MsgCall.d.ts +0 -46
  343. package/dist/core/evm/msgs/MsgCreate.d.ts +0 -39
  344. package/dist/core/evm/msgs/MsgCreate2.d.ts +0 -42
  345. package/dist/core/evm/msgs/MsgUpdateEvmParams.d.ts +0 -33
  346. package/dist/core/evm/msgs/index.d.ts +0 -14
  347. package/dist/core/feegrant/allowances/AllowedMsgAllowance.d.ts +0 -33
  348. package/dist/core/feegrant/allowances/BasicAllowance.d.ts +0 -32
  349. package/dist/core/feegrant/allowances/PeriodicAllowance.d.ts +0 -43
  350. package/dist/core/feegrant/allowances/index.d.ts +0 -16
  351. package/dist/core/feegrant/index.d.ts +0 -2
  352. package/dist/core/feegrant/msgs/MsgGrantAllowance.d.ts +0 -36
  353. package/dist/core/feegrant/msgs/MsgRevokeAllowance.d.ts +0 -32
  354. package/dist/core/feegrant/msgs/index.d.ts +0 -10
  355. package/dist/core/forwarding/index.d.ts +0 -1
  356. package/dist/core/forwarding/msgs/MsgClearForwardingAccount.d.ts +0 -32
  357. package/dist/core/forwarding/msgs/MsgRegisterForwardingAccount.d.ts +0 -38
  358. package/dist/core/forwarding/msgs/MsgSetAllowedDenoms.d.ts +0 -32
  359. package/dist/core/forwarding/msgs/MsgSetMemo.d.ts +0 -44
  360. package/dist/core/forwarding/msgs/index.d.ts +0 -14
  361. package/dist/core/gov/Deposit.d.ts +0 -29
  362. package/dist/core/gov/GovParams.d.ts +0 -85
  363. package/dist/core/gov/TallyResult.d.ts +0 -36
  364. package/dist/core/gov/Vesting.d.ts +0 -28
  365. package/dist/core/gov/Vote.d.ts +0 -55
  366. package/dist/core/gov/index.d.ts +0 -6
  367. package/dist/core/gov/msgs/MsgActivateEmergencyProposal.d.ts +0 -32
  368. package/dist/core/gov/msgs/MsgAddEmergencySubmitters.d.ts +0 -32
  369. package/dist/core/gov/msgs/MsgCancelProposal.d.ts +0 -32
  370. package/dist/core/gov/msgs/MsgDeposit.d.ts +0 -36
  371. package/dist/core/gov/msgs/MsgDepositLegacy.d.ts +0 -36
  372. package/dist/core/gov/msgs/MsgRemoveEmergencySubmitters.d.ts +0 -32
  373. package/dist/core/gov/msgs/MsgSubmitProposal.d.ts +0 -49
  374. package/dist/core/gov/msgs/MsgSubmitProposalLegacy.d.ts +0 -37
  375. package/dist/core/gov/msgs/MsgUpdateGovParams.d.ts +0 -33
  376. package/dist/core/gov/msgs/MsgVote.d.ts +0 -41
  377. package/dist/core/gov/msgs/MsgVoteLegacy.d.ts +0 -38
  378. package/dist/core/gov/msgs/MsgVoteWeighted.d.ts +0 -39
  379. package/dist/core/gov/msgs/MsgVoteWeightedLegacy.d.ts +0 -36
  380. package/dist/core/gov/msgs/index.d.ts +0 -32
  381. package/dist/core/gov/proposals/Content.d.ts +0 -12
  382. package/dist/core/gov/proposals/Proposal.d.ts +0 -79
  383. package/dist/core/gov/proposals/TextProposal.d.ts +0 -31
  384. package/dist/core/gov/proposals/index.d.ts +0 -3
  385. package/dist/core/group/GroupInfo.d.ts +0 -37
  386. package/dist/core/group/GroupMember.d.ts +0 -78
  387. package/dist/core/group/GroupPolicyInfo.d.ts +0 -41
  388. package/dist/core/group/GroupProposal.d.ts +0 -82
  389. package/dist/core/group/GroupVote.d.ts +0 -36
  390. package/dist/core/group/index.d.ts +0 -7
  391. package/dist/core/group/msgs/MsgCreateGroup.d.ts +0 -36
  392. package/dist/core/group/msgs/MsgCreateGroupPolicy.d.ts +0 -39
  393. package/dist/core/group/msgs/MsgCreateGroupWithPolicy.d.ts +0 -46
  394. package/dist/core/group/msgs/MsgGroupExec.d.ts +0 -32
  395. package/dist/core/group/msgs/MsgGroupVote.d.ts +0 -46
  396. package/dist/core/group/msgs/MsgLeaveGroup.d.ts +0 -32
  397. package/dist/core/group/msgs/MsgSubmitGroupProposal.d.ts +0 -50
  398. package/dist/core/group/msgs/MsgUpdateGroupAdmin.d.ts +0 -35
  399. package/dist/core/group/msgs/MsgUpdateGroupDecisionPolicy.d.ts +0 -36
  400. package/dist/core/group/msgs/MsgUpdateGroupMembers.d.ts +0 -36
  401. package/dist/core/group/msgs/MsgUpdateGroupMetadata.d.ts +0 -35
  402. package/dist/core/group/msgs/MsgUpdateGroupPolicyAdmin.d.ts +0 -35
  403. package/dist/core/group/msgs/MsgUpdateGroupPolicyMetadata.d.ts +0 -35
  404. package/dist/core/group/msgs/MsgWithdrawProposal.d.ts +0 -32
  405. package/dist/core/group/msgs/index.d.ts +0 -32
  406. package/dist/core/group/policies/DecisionPolicyWindows.d.ts +0 -25
  407. package/dist/core/group/policies/PercentageDecisionPolicy.d.ts +0 -32
  408. package/dist/core/group/policies/ThresholdDecisionPolicy.d.ts +0 -32
  409. package/dist/core/group/policies/index.d.ts +0 -15
  410. package/dist/core/ibc/applications/fee/IbcFee.d.ts +0 -28
  411. package/dist/core/ibc/applications/fee/IdentifiedPacketFee.d.ts +0 -26
  412. package/dist/core/ibc/applications/fee/Metadata.d.ts +0 -24
  413. package/dist/core/ibc/applications/fee/PacketFee.d.ts +0 -29
  414. package/dist/core/ibc/applications/fee/index.d.ts +0 -5
  415. package/dist/core/ibc/applications/fee/msgs/MsgPayPacketFee.d.ts +0 -31
  416. package/dist/core/ibc/applications/fee/msgs/MsgPayPacketFeeAsync.d.ts +0 -26
  417. package/dist/core/ibc/applications/fee/msgs/MsgRegisterCounterpartyPayee.d.ts +0 -28
  418. package/dist/core/ibc/applications/fee/msgs/MsgRegisterPayee.d.ts +0 -28
  419. package/dist/core/ibc/applications/fee/msgs/index.d.ts +0 -13
  420. package/dist/core/ibc/applications/index.d.ts +0 -4
  421. package/dist/core/ibc/applications/interchain-account/Account.d.ts +0 -25
  422. package/dist/core/ibc/applications/interchain-account/Metadata.d.ts +0 -36
  423. package/dist/core/ibc/applications/interchain-account/controller/Params.d.ts +0 -21
  424. package/dist/core/ibc/applications/interchain-account/host/Params.d.ts +0 -24
  425. package/dist/core/ibc/applications/interchain-account/index.d.ts +0 -4
  426. package/dist/core/ibc/applications/nft-transfer/IbcNftParams.d.ts +0 -28
  427. package/dist/core/ibc/applications/nft-transfer/NftClassTrace.d.ts +0 -24
  428. package/dist/core/ibc/applications/nft-transfer/NonFungibleTokenPacketData.d.ts +0 -45
  429. package/dist/core/ibc/applications/nft-transfer/index.d.ts +0 -4
  430. package/dist/core/ibc/applications/nft-transfer/msgs/MsgNftTransfer.d.ts +0 -54
  431. package/dist/core/ibc/applications/nft-transfer/msgs/MsgUpdateIbcNftParams.d.ts +0 -33
  432. package/dist/core/ibc/applications/nft-transfer/msgs/index.d.ts +0 -10
  433. package/dist/core/ibc/applications/perm/index.d.ts +0 -1
  434. package/dist/core/ibc/applications/perm/msgs/MsgUpdateIbcPermAdmin.d.ts +0 -38
  435. package/dist/core/ibc/applications/perm/msgs/MsgUpdatePermissionedRelayers.d.ts +0 -38
  436. package/dist/core/ibc/applications/perm/msgs/index.d.ts +0 -10
  437. package/dist/core/ibc/applications/transfer/DenomTrace.d.ts +0 -24
  438. package/dist/core/ibc/applications/transfer/FungibleTokenPacketData.d.ts +0 -33
  439. package/dist/core/ibc/applications/transfer/IbcTransferParams.d.ts +0 -24
  440. package/dist/core/ibc/applications/transfer/authorizations/Allocation.d.ts +0 -34
  441. package/dist/core/ibc/applications/transfer/authorizations/TransferAuthorization.d.ts +0 -23
  442. package/dist/core/ibc/applications/transfer/authorizations/index.d.ts +0 -2
  443. package/dist/core/ibc/applications/transfer/index.d.ts +0 -5
  444. package/dist/core/ibc/applications/transfer/msgs/MsgTransfer.d.ts +0 -52
  445. package/dist/core/ibc/applications/transfer/msgs/MsgUpdateIbcTransferParams.d.ts +0 -26
  446. package/dist/core/ibc/applications/transfer/msgs/index.d.ts +0 -10
  447. package/dist/core/ibc/core/channel/Channel.d.ts +0 -39
  448. package/dist/core/ibc/core/channel/ChannelCounterparty.d.ts +0 -24
  449. package/dist/core/ibc/core/channel/ChannelOrder.d.ts +0 -3
  450. package/dist/core/ibc/core/channel/ChannelState.d.ts +0 -3
  451. package/dist/core/ibc/core/channel/ErrorReceipt.d.ts +0 -20
  452. package/dist/core/ibc/core/channel/IbcChannelParams.d.ts +0 -22
  453. package/dist/core/ibc/core/channel/IdentifiedChannel.d.ts +0 -45
  454. package/dist/core/ibc/core/channel/Packet.d.ts +0 -43
  455. package/dist/core/ibc/core/channel/PacketId.d.ts +0 -27
  456. package/dist/core/ibc/core/channel/Timeout.d.ts +0 -25
  457. package/dist/core/ibc/core/channel/Upgrade.d.ts +0 -24
  458. package/dist/core/ibc/core/channel/UpgradeFields.d.ts +0 -23
  459. package/dist/core/ibc/core/channel/index.d.ts +0 -13
  460. package/dist/core/ibc/core/channel/msgs/MsgChannelCloseConfirm.d.ts +0 -32
  461. package/dist/core/ibc/core/channel/msgs/MsgChannelCloseInit.d.ts +0 -27
  462. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenAck.d.ts +0 -36
  463. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenConfirm.d.ts +0 -32
  464. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenInit.d.ts +0 -28
  465. package/dist/core/ibc/core/channel/msgs/MsgChannelOpenTry.d.ts +0 -36
  466. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeAck.d.ts +0 -37
  467. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeCancel.d.ts +0 -35
  468. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeConfirm.d.ts +0 -40
  469. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeInit.d.ts +0 -30
  470. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeOpen.d.ts +0 -37
  471. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeTimeout.d.ts +0 -35
  472. package/dist/core/ibc/core/channel/msgs/MsgChannelUpgradeTry.d.ts +0 -41
  473. package/dist/core/ibc/core/channel/msgs/MsgRecvAcknowledgement.d.ts +0 -32
  474. package/dist/core/ibc/core/channel/msgs/MsgRecvPacket.d.ts +0 -30
  475. package/dist/core/ibc/core/channel/msgs/MsgTimeout.d.ts +0 -32
  476. package/dist/core/ibc/core/channel/msgs/MsgTimeoutClose.d.ts +0 -34
  477. package/dist/core/ibc/core/channel/msgs/MsgUpdateIbcChannelParams.d.ts +0 -26
  478. package/dist/core/ibc/core/channel/msgs/index.d.ts +0 -41
  479. package/dist/core/ibc/core/client/ClientConsensusStates.d.ts +0 -25
  480. package/dist/core/ibc/core/client/ConsensusStateWithHeight.d.ts +0 -25
  481. package/dist/core/ibc/core/client/Height.d.ts +0 -24
  482. package/dist/core/ibc/core/client/IbcClientParams.d.ts +0 -21
  483. package/dist/core/ibc/core/client/IdentifiedClient.d.ts +0 -24
  484. package/dist/core/ibc/core/client/index.d.ts +0 -6
  485. package/dist/core/ibc/core/client/msgs/MsgCreateClient.d.ts +0 -27
  486. package/dist/core/ibc/core/client/msgs/MsgIBCSoftwareUpgrade.d.ts +0 -28
  487. package/dist/core/ibc/core/client/msgs/MsgRecoverClient.d.ts +0 -27
  488. package/dist/core/ibc/core/client/msgs/MsgSubmitMisbehaviour.d.ts +0 -27
  489. package/dist/core/ibc/core/client/msgs/MsgUpdateClient.d.ts +0 -27
  490. package/dist/core/ibc/core/client/msgs/MsgUpdateIbcClientParams.d.ts +0 -26
  491. package/dist/core/ibc/core/client/msgs/MsgUpgradeClient.d.ts +0 -33
  492. package/dist/core/ibc/core/client/msgs/index.d.ts +0 -19
  493. package/dist/core/ibc/core/client/msgs/tendermint/crypto.d.ts +0 -43
  494. package/dist/core/ibc/core/client/msgs/tendermint/types.d.ts +0 -187
  495. package/dist/core/ibc/core/client/msgs/tendermint/version.d.ts +0 -38
  496. package/dist/core/ibc/core/commitment/MerklePrefix.d.ts +0 -21
  497. package/dist/core/ibc/core/commitment/MerkleRoot.d.ts +0 -21
  498. package/dist/core/ibc/core/commitment/index.d.ts +0 -2
  499. package/dist/core/ibc/core/connection/ConnectionCounterparty.d.ts +0 -28
  500. package/dist/core/ibc/core/connection/ConnectionState.d.ts +0 -3
  501. package/dist/core/ibc/core/connection/IbcConnectionParams.d.ts +0 -21
  502. package/dist/core/ibc/core/connection/IbcVersion.d.ts +0 -24
  503. package/dist/core/ibc/core/connection/IdentifiedConnection.d.ts +0 -39
  504. package/dist/core/ibc/core/connection/index.d.ts +0 -5
  505. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenAck.d.ts +0 -42
  506. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenConfirm.d.ts +0 -30
  507. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenInit.d.ts +0 -33
  508. package/dist/core/ibc/core/connection/msgs/MsgConnectionOpenTry.d.ts +0 -46
  509. package/dist/core/ibc/core/connection/msgs/MsgUpdateIbcConnectionParams.d.ts +0 -26
  510. package/dist/core/ibc/core/connection/msgs/index.d.ts +0 -15
  511. package/dist/core/ibc/core/index.d.ts +0 -4
  512. package/dist/core/ibc/index.d.ts +0 -2
  513. package/dist/core/ibc/lightclient/index.d.ts +0 -1
  514. package/dist/core/ibc/lightclient/tendermint/Header.d.ts +0 -29
  515. package/dist/core/ibchooks/ACL.d.ts +0 -25
  516. package/dist/core/ibchooks/IbcHooksParams.d.ts +0 -25
  517. package/dist/core/ibchooks/index.d.ts +0 -3
  518. package/dist/core/ibchooks/msgs/MsgUpdateACL.d.ts +0 -35
  519. package/dist/core/ibchooks/msgs/MsgUpdateIbcHooksParams.d.ts +0 -33
  520. package/dist/core/ibchooks/msgs/index.d.ts +0 -10
  521. package/dist/core/index.d.ts +0 -40
  522. package/dist/core/intertx/index.d.ts +0 -1
  523. package/dist/core/intertx/msgs/MsgRegisterAccount.d.ts +0 -39
  524. package/dist/core/intertx/msgs/MsgSubmitTx.d.ts +0 -36
  525. package/dist/core/intertx/msgs/index.d.ts +0 -10
  526. package/dist/core/marketmap/Market.d.ts +0 -26
  527. package/dist/core/marketmap/MarketmapParams.d.ts +0 -25
  528. package/dist/core/marketmap/ProviderConfig.d.ts +0 -34
  529. package/dist/core/marketmap/Ticker.d.ts +0 -34
  530. package/dist/core/marketmap/index.d.ts +0 -5
  531. package/dist/core/marketmap/msgs/MsgCreateMarkets.d.ts +0 -33
  532. package/dist/core/marketmap/msgs/MsgRemoveMarketAuthorities.d.ts +0 -32
  533. package/dist/core/marketmap/msgs/MsgRemoveMarkets.d.ts +0 -32
  534. package/dist/core/marketmap/msgs/MsgUpdateMarketmapParams.d.ts +0 -33
  535. package/dist/core/marketmap/msgs/MsgUpdateMarkets.d.ts +0 -33
  536. package/dist/core/marketmap/msgs/MsgUpsertMarkets.d.ts +0 -33
  537. package/dist/core/marketmap/msgs/index.d.ts +0 -18
  538. package/dist/core/move/Module.d.ts +0 -36
  539. package/dist/core/move/MoveParams.d.ts +0 -37
  540. package/dist/core/move/index.d.ts +0 -3
  541. package/dist/core/move/msgs/MsgDelist.d.ts +0 -32
  542. package/dist/core/move/msgs/MsgExecute.d.ts +0 -44
  543. package/dist/core/move/msgs/MsgExecuteJSON.d.ts +0 -44
  544. package/dist/core/move/msgs/MsgGovExecute.d.ts +0 -47
  545. package/dist/core/move/msgs/MsgGovExecuteJSON.d.ts +0 -47
  546. package/dist/core/move/msgs/MsgGovPublish.d.ts +0 -41
  547. package/dist/core/move/msgs/MsgGovScript.d.ts +0 -41
  548. package/dist/core/move/msgs/MsgGovScriptJSON.d.ts +0 -41
  549. package/dist/core/move/msgs/MsgPublish.d.ts +0 -38
  550. package/dist/core/move/msgs/MsgScript.d.ts +0 -38
  551. package/dist/core/move/msgs/MsgScriptJSON.d.ts +0 -38
  552. package/dist/core/move/msgs/MsgUpdateMoveParams.d.ts +0 -33
  553. package/dist/core/move/msgs/MsgWhitelist.d.ts +0 -35
  554. package/dist/core/move/msgs/index.d.ts +0 -32
  555. package/dist/core/mstaking/Delegation.d.ts +0 -36
  556. package/dist/core/mstaking/MstakingParams.d.ts +0 -44
  557. package/dist/core/mstaking/Redelegation.d.ts +0 -71
  558. package/dist/core/mstaking/UnbondingDelegation.d.ts +0 -57
  559. package/dist/core/mstaking/Validator.d.ts +0 -137
  560. package/dist/core/mstaking/index.d.ts +0 -6
  561. package/dist/core/mstaking/msgs/MsgBeginRedelegate.d.ts +0 -39
  562. package/dist/core/mstaking/msgs/MsgCancelUnbondingDelegation.d.ts +0 -39
  563. package/dist/core/mstaking/msgs/MsgCreateValidator.d.ts +0 -44
  564. package/dist/core/mstaking/msgs/MsgDelegate.d.ts +0 -36
  565. package/dist/core/mstaking/msgs/MsgEditValidator.d.ts +0 -37
  566. package/dist/core/mstaking/msgs/MsgUndelegate.d.ts +0 -36
  567. package/dist/core/mstaking/msgs/MsgUpdateMstakingParams.d.ts +0 -33
  568. package/dist/core/mstaking/msgs/index.d.ts +0 -20
  569. package/dist/core/num.d.ts +0 -2
  570. package/dist/core/opchild/BridgeInfo.d.ts +0 -34
  571. package/dist/core/opchild/L2MigrationInfo.d.ts +0 -27
  572. package/dist/core/opchild/OpValidator.d.ts +0 -32
  573. package/dist/core/opchild/OpchildParams.d.ts +0 -45
  574. package/dist/core/opchild/index.d.ts +0 -5
  575. package/dist/core/opchild/msgs/MsgAddAttestor.d.ts +0 -39
  576. package/dist/core/opchild/msgs/MsgAddBridgeExecutor.d.ts +0 -32
  577. package/dist/core/opchild/msgs/MsgAddFeeWhitelistAddresses.d.ts +0 -32
  578. package/dist/core/opchild/msgs/MsgExecuteMessages.d.ts +0 -33
  579. package/dist/core/opchild/msgs/MsgFinalizeTokenDeposit.d.ts +0 -52
  580. package/dist/core/opchild/msgs/MsgInitiateTokenWithdrawal.d.ts +0 -36
  581. package/dist/core/opchild/msgs/MsgMigrateToken.d.ts +0 -33
  582. package/dist/core/opchild/msgs/MsgRegisterL2MigrationInfo.d.ts +0 -33
  583. package/dist/core/opchild/msgs/MsgRemoveAttestor.d.ts +0 -32
  584. package/dist/core/opchild/msgs/MsgRemoveBridgeExecutor.d.ts +0 -32
  585. package/dist/core/opchild/msgs/MsgRemoveFeeWhitelistAddresses.d.ts +0 -32
  586. package/dist/core/opchild/msgs/MsgSetBridgeInfo.d.ts +0 -33
  587. package/dist/core/opchild/msgs/MsgSpendFeePool.d.ts +0 -36
  588. package/dist/core/opchild/msgs/MsgUpdateMinGasPrices.d.ts +0 -33
  589. package/dist/core/opchild/msgs/MsgUpdateOpchildAdmin.d.ts +0 -32
  590. package/dist/core/opchild/msgs/MsgUpdateOpchildParams.d.ts +0 -33
  591. package/dist/core/opchild/msgs/MsgUpdateOracle.d.ts +0 -35
  592. package/dist/core/opchild/msgs/MsgUpdateSequencer.d.ts +0 -39
  593. package/dist/core/opchild/msgs/index.d.ts +0 -42
  594. package/dist/core/ophost/BatchInfo.d.ts +0 -25
  595. package/dist/core/ophost/BatchInfoWithOutput.d.ts +0 -26
  596. package/dist/core/ophost/BridgeConfig.d.ts +0 -51
  597. package/dist/core/ophost/L1MigrationInfo.d.ts +0 -30
  598. package/dist/core/ophost/OphostParams.d.ts +0 -26
  599. package/dist/core/ophost/Output.d.ts +0 -30
  600. package/dist/core/ophost/index.d.ts +0 -7
  601. package/dist/core/ophost/msgs/MsgCreateBridge.d.ts +0 -33
  602. package/dist/core/ophost/msgs/MsgDeleteOutput.d.ts +0 -35
  603. package/dist/core/ophost/msgs/MsgDisableBridge.d.ts +0 -32
  604. package/dist/core/ophost/msgs/MsgFinalizeTokenWithdrawal.d.ts +0 -60
  605. package/dist/core/ophost/msgs/MsgInitiateTokenDeposit.d.ts +0 -42
  606. package/dist/core/ophost/msgs/MsgProposeOutput.d.ts +0 -41
  607. package/dist/core/ophost/msgs/MsgRecordBatch.d.ts +0 -35
  608. package/dist/core/ophost/msgs/MsgRegisterL1MigrationInfo.d.ts +0 -33
  609. package/dist/core/ophost/msgs/MsgUpdateBatchInfo.d.ts +0 -36
  610. package/dist/core/ophost/msgs/MsgUpdateChallenger.d.ts +0 -35
  611. package/dist/core/ophost/msgs/MsgUpdateFinalizationPeriod.d.ts +0 -36
  612. package/dist/core/ophost/msgs/MsgUpdateMetadata.d.ts +0 -35
  613. package/dist/core/ophost/msgs/MsgUpdateOphostParams.d.ts +0 -33
  614. package/dist/core/ophost/msgs/MsgUpdateOracleConfig.d.ts +0 -35
  615. package/dist/core/ophost/msgs/MsgUpdateProposer.d.ts +0 -35
  616. package/dist/core/ophost/msgs/index.d.ts +0 -36
  617. package/dist/core/oracle/CurrencyPair.d.ts +0 -25
  618. package/dist/core/oracle/QuotePrice.d.ts +0 -27
  619. package/dist/core/oracle/index.d.ts +0 -3
  620. package/dist/core/oracle/msgs/MsgAddCurrencyPairs.d.ts +0 -33
  621. package/dist/core/oracle/msgs/MsgRemoveCurrencyPairs.d.ts +0 -32
  622. package/dist/core/oracle/msgs/index.d.ts +0 -10
  623. package/dist/core/params/ParamChange.d.ts +0 -42
  624. package/dist/core/params/index.d.ts +0 -2
  625. package/dist/core/params/proposals/ParameterChangeProposal.d.ts +0 -35
  626. package/dist/core/params/proposals/index.d.ts +0 -1
  627. package/dist/core/reward/RewardParams.d.ts +0 -38
  628. package/dist/core/reward/index.d.ts +0 -2
  629. package/dist/core/reward/msgs/MsgFundCommunityPoolReward.d.ts +0 -33
  630. package/dist/core/reward/msgs/MsgUpdateRewardParams.d.ts +0 -33
  631. package/dist/core/reward/msgs/index.d.ts +0 -10
  632. package/dist/core/slashing/SlashingParams.d.ts +0 -38
  633. package/dist/core/slashing/ValidatorSigningInfo.d.ts +0 -37
  634. package/dist/core/slashing/index.d.ts +0 -3
  635. package/dist/core/slashing/msgs/MsgUnjail.d.ts +0 -29
  636. package/dist/core/slashing/msgs/MsgUpdateSlashingParams.d.ts +0 -33
  637. package/dist/core/slashing/msgs/index.d.ts +0 -10
  638. package/dist/core/tokenfactory/TokenfactoryParams.d.ts +0 -25
  639. package/dist/core/tokenfactory/index.d.ts +0 -2
  640. package/dist/core/tokenfactory/msgs/MsgBurn.d.ts +0 -33
  641. package/dist/core/tokenfactory/msgs/MsgChangeAdmin.d.ts +0 -35
  642. package/dist/core/tokenfactory/msgs/MsgCreateDenom.d.ts +0 -32
  643. package/dist/core/tokenfactory/msgs/MsgMint.d.ts +0 -36
  644. package/dist/core/tokenfactory/msgs/MsgSetBeforeSendHook.d.ts +0 -35
  645. package/dist/core/tokenfactory/msgs/MsgSetDenomMetadataWasm.d.ts +0 -33
  646. package/dist/core/tokenfactory/msgs/MsgUpdateTokenfactoryParams.d.ts +0 -33
  647. package/dist/core/tokenfactory/msgs/index.d.ts +0 -20
  648. package/dist/core/tx/CompactBitArray.d.ts +0 -22
  649. package/dist/core/tx/Fee.d.ts +0 -31
  650. package/dist/core/tx/MultiSignature.d.ts +0 -13
  651. package/dist/core/tx/SignDoc.d.ts +0 -36
  652. package/dist/core/tx/SignMode.d.ts +0 -3
  653. package/dist/core/tx/SignatureV2.d.ts +0 -66
  654. package/dist/core/tx/Tx.d.ts +0 -146
  655. package/dist/core/tx/TxInfo.d.ts +0 -74
  656. package/dist/core/tx/index.d.ts +0 -7
  657. package/dist/core/upgrade/Plan.d.ts +0 -27
  658. package/dist/core/upgrade/index.d.ts +0 -2
  659. package/dist/core/upgrade/msgs/MsgCancelUpgrade.d.ts +0 -29
  660. package/dist/core/upgrade/msgs/MsgSoftwareUpgrade.d.ts +0 -33
  661. package/dist/core/upgrade/msgs/index.d.ts +0 -10
  662. package/dist/core/wasm/AbsoluteTxPosition.d.ts +0 -24
  663. package/dist/core/wasm/AccessConfig.d.ts +0 -27
  664. package/dist/core/wasm/WasmParams.d.ts +0 -32
  665. package/dist/core/wasm/authorizations/AcceptedMessageKeysFilter.d.ts +0 -28
  666. package/dist/core/wasm/authorizations/AcceptedMessagesFilter.d.ts +0 -28
  667. package/dist/core/wasm/authorizations/AllowAllMessagesFilter.d.ts +0 -24
  668. package/dist/core/wasm/authorizations/CodeGrant.d.ts +0 -25
  669. package/dist/core/wasm/authorizations/CombinedLimit.d.ts +0 -32
  670. package/dist/core/wasm/authorizations/ContractExecutionAuthorization.d.ts +0 -29
  671. package/dist/core/wasm/authorizations/ContractFilter.d.ts +0 -13
  672. package/dist/core/wasm/authorizations/ContractGrant.d.ts +0 -30
  673. package/dist/core/wasm/authorizations/ContractLimit.d.ts +0 -13
  674. package/dist/core/wasm/authorizations/ContractMigrationAuthorization.d.ts +0 -29
  675. package/dist/core/wasm/authorizations/MaxCallsLimit.d.ts +0 -28
  676. package/dist/core/wasm/authorizations/MaxFundsLimit.d.ts +0 -29
  677. package/dist/core/wasm/authorizations/StoreCodeAuthorization.d.ts +0 -29
  678. package/dist/core/wasm/authorizations/index.d.ts +0 -11
  679. package/dist/core/wasm/index.d.ts +0 -5
  680. package/dist/core/wasm/msgs/MsgAddCodeUploadParamsAddresses.d.ts +0 -32
  681. package/dist/core/wasm/msgs/MsgClearAdmin.d.ts +0 -32
  682. package/dist/core/wasm/msgs/MsgExecuteContract.d.ts +0 -39
  683. package/dist/core/wasm/msgs/MsgInstantiateContract.d.ts +0 -45
  684. package/dist/core/wasm/msgs/MsgInstantiateContractV2.d.ts +0 -51
  685. package/dist/core/wasm/msgs/MsgMigrateContract.d.ts +0 -38
  686. package/dist/core/wasm/msgs/MsgPinCodes.d.ts +0 -32
  687. package/dist/core/wasm/msgs/MsgRemoveCodeUploadParamsAddresses.d.ts +0 -32
  688. package/dist/core/wasm/msgs/MsgStoreAndInstantiateContract.d.ts +0 -61
  689. package/dist/core/wasm/msgs/MsgStoreAndMigrateContract.d.ts +0 -42
  690. package/dist/core/wasm/msgs/MsgStoreCode.d.ts +0 -36
  691. package/dist/core/wasm/msgs/MsgSudoContract.d.ts +0 -35
  692. package/dist/core/wasm/msgs/MsgUnpinCodes.d.ts +0 -32
  693. package/dist/core/wasm/msgs/MsgUpdateAdmin.d.ts +0 -35
  694. package/dist/core/wasm/msgs/MsgUpdateContractLabel.d.ts +0 -35
  695. package/dist/core/wasm/msgs/MsgUpdateInstantiateConfig.d.ts +0 -36
  696. package/dist/core/wasm/msgs/MsgUpdateMaxWasmSize.d.ts +0 -32
  697. package/dist/core/wasm/msgs/MsgUpdateWasmParams.d.ts +0 -33
  698. package/dist/core/wasm/msgs/index.d.ts +0 -42
  699. package/dist/core/wasmextension/AccessConfigExt.d.ts +0 -28
  700. package/dist/core/wasmextension/index.d.ts +0 -2
  701. package/dist/core/wasmextension/msgs/MsgStoreCodeAdmin.d.ts +0 -39
  702. package/dist/core/wasmextension/msgs/index.d.ts +0 -8
  703. package/dist/index.cjs +0 -6
  704. package/dist/index.d.ts +0 -4
  705. package/dist/index.mjs +0 -103590
  706. package/dist/key/Key.d.ts +0 -20
  707. package/dist/key/MnemonicKey.d.ts +0 -14
  708. package/dist/key/RawKey.d.ts +0 -9
  709. package/dist/key/index.d.ts +0 -3
  710. package/dist/util/bcs.d.ts +0 -44
  711. package/dist/util/hash.d.ts +0 -4
  712. package/dist/util/index.d.ts +0 -3
  713. package/dist/util/json.d.ts +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.signer.mjs","names":[],"sources":["../src/signer/keystore.ts","../src/signer/bridges/eip-hash.ts","../src/signer/bridges/viem.ts","../src/signer/bridges/ethers.ts","../src/signer/bridges/walletconnect.ts"],"sourcesContent":["/**\n * KeyStore interface for managing multiple keys.\n *\n * This interface provides a unified API for different key storage backends:\n * - OS keyrings (macOS Keychain, Linux Secret Service, Windows Credential Manager)\n * - Browser extensions (Keplr, Leap)\n * - Hardware wallets (Ledger)\n * - Custom implementations (HSM, KMS)\n */\n\nimport type { Signer, SigningAlgorithm } from './types'\nimport type { HDPath } from '../key/hd-path'\n\n/**\n * Key metadata information.\n */\nexport interface KeyInfo {\n /** Unique key identifier */\n id: string\n /** Human-readable display name */\n name?: string\n /** Signing algorithm */\n algorithm: SigningAlgorithm\n /** Public key in hex format */\n publicKey: string\n /** Default bech32 address */\n address: string\n /** Creation timestamp */\n createdAt?: Date\n /** Additional metadata */\n metadata?: Record<string, unknown>\n}\n\n/**\n * Options for adding a new key.\n */\nexport interface AddKeyOptions {\n /** Human-readable name for the key */\n name?: string\n /** Additional metadata to store with the key */\n metadata?: Record<string, unknown>\n}\n\n/**\n * Options for importing a mnemonic.\n */\nexport interface ImportMnemonicOptions extends AddKeyOptions {\n /** HD derivation path (default: HDPath.initia()) */\n hdPath?: HDPath | string\n /** Bech32 prefix for address (default: 'init') */\n prefix?: string\n}\n\n/**\n * KeyStore interface for managing multiple signing keys.\n *\n * Implementations can choose which optional methods to support based on\n * their capabilities. For example:\n * - Read-only stores (hardware wallets) may not support add/delete\n * - Browser wallets manage their own keys, so importMnemonic may not apply\n *\n * @example\n * ```typescript\n * // OS Keyring store\n * const store = new OsKeyringStore()\n *\n * // Import a mnemonic\n * await store.importMnemonic('my-wallet', mnemonic, {\n * hdPath: HDPath.initia(),\n * name: 'My Main Wallet'\n * })\n *\n * // Get signer for transactions\n * const signer = await store.getSigner('my-wallet')\n * const address = await signer.getAddress()\n *\n * // List all keys\n * const keys = await store.list()\n * console.log(keys.map(k => k.name))\n * ```\n */\nexport interface KeyStore {\n /**\n * Check if a key exists in the store.\n *\n * @param keyId - The key identifier\n * @returns True if the key exists\n */\n has(keyId: string): Promise<boolean>\n\n /**\n * Get a Signer instance for the specified key.\n *\n * @param keyId - The key identifier\n * @returns A Signer instance for the key\n * @throws Error if the key does not exist\n */\n getSigner(keyId: string): Promise<Signer>\n\n /**\n * List all keys in the store.\n *\n * @returns Array of key metadata\n */\n list(): Promise<KeyInfo[]>\n\n /**\n * Delete a key from the store.\n *\n * This method is optional - some stores (like hardware wallets)\n * may not support key deletion.\n *\n * @param keyId - The key identifier\n * @throws Error if the key does not exist or deletion is not supported\n */\n delete?(keyId: string): Promise<void>\n\n /**\n * Add a new key from a raw private key.\n *\n * This method is optional - some stores may not support\n * direct private key import.\n *\n * @param keyId - Unique identifier for the key\n * @param privateKey - The raw private key bytes\n * @param options - Additional options (name, metadata)\n * @throws Error if the key ID already exists or addition is not supported\n */\n add?(keyId: string, privateKey: Uint8Array, options?: AddKeyOptions): Promise<void>\n\n /**\n * Import a key from a BIP-39 mnemonic phrase.\n *\n * This method is optional - some stores may not support\n * mnemonic import.\n *\n * Note: The mnemonic itself is NOT stored. Only the derived\n * private key is stored in the keystore.\n *\n * @param keyId - Unique identifier for the key\n * @param mnemonic - BIP-39 mnemonic phrase (12 or 24 words)\n * @param options - Import options (hdPath, prefix, name, metadata)\n * @throws Error if the key ID already exists or import is not supported\n */\n importMnemonic?(keyId: string, mnemonic: string, options?: ImportMnemonicOptions): Promise<void>\n\n /**\n * Rename an existing key.\n *\n * This method is optional.\n *\n * @param keyId - The key identifier\n * @param name - The new name for the key\n */\n rename?(keyId: string, name: string): Promise<void>\n\n /**\n * Export the public key for a key.\n *\n * This is always safe to export as it does not reveal the private key.\n *\n * @param keyId - The key identifier\n * @returns The public key in hex format\n */\n exportPublicKey?(keyId: string): Promise<string>\n}\n\n/**\n * Type guard to check if a KeyStore supports key addition.\n */\nexport function canAddKeys(store: KeyStore): store is KeyStore & Required<Pick<KeyStore, 'add'>> {\n return typeof store.add === 'function'\n}\n\n/**\n * Type guard to check if a KeyStore supports key deletion.\n */\nexport function canDeleteKeys(\n store: KeyStore\n): store is KeyStore & Required<Pick<KeyStore, 'delete'>> {\n return typeof store.delete === 'function'\n}\n\n/**\n * Type guard to check if a KeyStore supports mnemonic import.\n */\nexport function canImportMnemonic(\n store: KeyStore\n): store is KeyStore & Required<Pick<KeyStore, 'importMnemonic'>> {\n return typeof store.importMnemonic === 'function'\n}\n\n/**\n * Abstract base class for KeyStore implementations.\n *\n * Provides common functionality and a template for implementing\n * custom key stores.\n */\nexport abstract class BaseKeyStore implements KeyStore {\n abstract has(keyId: string): Promise<boolean>\n abstract getSigner(keyId: string): Promise<Signer>\n abstract list(): Promise<KeyInfo[]>\n\n /**\n * Get a key's info by ID.\n *\n * @param keyId - The key identifier\n * @returns Key info or undefined if not found\n */\n async get(keyId: string): Promise<KeyInfo | undefined> {\n const keys = await this.list()\n return keys.find(k => k.id === keyId)\n }\n\n /**\n * Get all key IDs in the store.\n *\n * @returns Array of key IDs\n */\n async listIds(): Promise<string[]> {\n const keys = await this.list()\n return keys.map(k => k.id)\n }\n\n /**\n * Check if the store is empty.\n *\n * @returns True if no keys are stored\n */\n async isEmpty(): Promise<boolean> {\n const keys = await this.list()\n return keys.length === 0\n }\n\n /**\n * Get the count of keys in the store.\n *\n * @returns Number of keys\n */\n async count(): Promise<number> {\n const keys = await this.list()\n return keys.length\n }\n}\n","/**\n * EIP-191 and EIP-712 hashing utilities.\n *\n * Implemented using the SDK's own keccak256 from @noble/hashes,\n * avoiding viem runtime imports for zero additional bundle cost.\n */\n\nimport { bytesToHex, hexToBytes } from '@noble/hashes/utils.js'\nimport { keccak256 } from '../../util/hash'\n\n// =============================================================================\n// EIP-191: Personal message hashing\n// =============================================================================\n\ntype SignableMessage = string | { raw: Uint8Array }\n\n/**\n * Hash a message according to EIP-191 personal sign.\n * Equivalent to viem's `hashMessage()`.\n *\n * Formula: keccak256(\"\\x19Ethereum Signed Message:\\n\" + len + msg)\n */\nexport function hashEIP191Message(message: SignableMessage): `0x${string}` {\n const msgBytes = typeof message === 'string' ? new TextEncoder().encode(message) : message.raw\n\n const prefix = `\\x19Ethereum Signed Message:\\n${msgBytes.length}`\n const prefixBytes = new TextEncoder().encode(prefix)\n\n const combined = new Uint8Array(prefixBytes.length + msgBytes.length)\n combined.set(prefixBytes, 0)\n combined.set(msgBytes, prefixBytes.length)\n\n return `0x${bytesToHex(keccak256(combined))}`\n}\n\n// =============================================================================\n// EIP-712: Typed structured data hashing\n// =============================================================================\n\ninterface TypedDataField {\n name: string\n type: string\n}\n\ninterface TypedDataDomain {\n name?: string\n version?: string\n chainId?: number | bigint\n verifyingContract?: string\n salt?: string\n}\n\ninterface TypedDataInput {\n domain: TypedDataDomain\n types: Record<string, TypedDataField[]>\n primaryType: string\n message: Record<string, unknown>\n}\n\n/**\n * Hash typed structured data according to EIP-712.\n * Equivalent to viem's `hashTypedData()`.\n *\n * Formula: keccak256(\"\\x19\\x01\" + domainSeparator + hashStruct(primaryType, message))\n */\nexport function hashEIP712TypedData(data: TypedDataInput): `0x${string}` {\n const { domain, types, primaryType, message } = data\n\n const allTypes: Record<string, TypedDataField[]> = {\n EIP712Domain: buildDomainType(domain),\n ...types,\n }\n\n const domainSeparator = hashStruct('EIP712Domain', domain as Record<string, unknown>, allTypes)\n const messageHash = hashStruct(primaryType, message, allTypes)\n\n const encoded = new Uint8Array(2 + 32 + 32)\n encoded[0] = 0x19\n encoded[1] = 0x01\n encoded.set(domainSeparator, 2)\n encoded.set(messageHash, 34)\n\n return `0x${bytesToHex(keccak256(encoded))}`\n}\n\n// =============================================================================\n// Internal helpers\n// =============================================================================\n\nfunction buildDomainType(domain: TypedDataDomain): TypedDataField[] {\n const fields: TypedDataField[] = []\n if (domain.name !== undefined) fields.push({ name: 'name', type: 'string' })\n if (domain.version !== undefined) fields.push({ name: 'version', type: 'string' })\n if (domain.chainId !== undefined) fields.push({ name: 'chainId', type: 'uint256' })\n if (domain.verifyingContract !== undefined)\n fields.push({ name: 'verifyingContract', type: 'address' })\n if (domain.salt !== undefined) fields.push({ name: 'salt', type: 'bytes32' })\n return fields\n}\n\nfunction encodeType(primaryType: string, types: Record<string, TypedDataField[]>): string {\n const deps = findTypeDeps(primaryType, types, new Set())\n deps.delete(primaryType)\n const sorted = [primaryType, ...Array.from(deps).sort()]\n return sorted.map(t => `${t}(${types[t].map(f => `${f.type} ${f.name}`).join(',')})`).join('')\n}\n\nfunction findTypeDeps(\n type: string,\n types: Record<string, TypedDataField[]>,\n found: Set<string>\n): Set<string> {\n if (found.has(type)) return found\n const fields = types[type]\n if (!fields) return found\n found.add(type)\n for (const field of fields) {\n const baseType = field.type.replace(/\\[\\d*\\]$/, '')\n if (types[baseType]) findTypeDeps(baseType, types, found)\n }\n return found\n}\n\nfunction typeHash(primaryType: string, types: Record<string, TypedDataField[]>): Uint8Array {\n return keccak256(new TextEncoder().encode(encodeType(primaryType, types)))\n}\n\nfunction hashStruct(\n primaryType: string,\n data: Record<string, unknown>,\n types: Record<string, TypedDataField[]>\n): Uint8Array {\n const encoded = encodeData(primaryType, data, types)\n return keccak256(encoded)\n}\n\nfunction encodeData(\n primaryType: string,\n data: Record<string, unknown>,\n types: Record<string, TypedDataField[]>\n): Uint8Array {\n const fields = types[primaryType]\n const chunks: Uint8Array[] = [typeHash(primaryType, types)]\n\n for (const field of fields) {\n const value = data[field.name]\n chunks.push(encodeValue(field.type, value, types))\n }\n\n return concatBytes(chunks)\n}\n\nfunction encodeValue(\n type: string,\n value: unknown,\n types: Record<string, TypedDataField[]>\n): Uint8Array {\n // Array type (e.g., \"uint256[]\")\n if (type.endsWith('[]')) {\n const innerType = type.slice(0, -2)\n const arr = value as unknown[]\n const encoded = arr.map(v => encodeValue(innerType, v, types))\n return keccak256(concatBytes(encoded))\n }\n\n // Struct type (custom type defined in types)\n if (types[type]) {\n return hashStruct(type, value as Record<string, unknown>, types)\n }\n\n // Atomic types\n return encodeAtomicValue(type, value)\n}\n\nfunction encodeAtomicValue(type: string, value: unknown): Uint8Array {\n const word = new Uint8Array(32)\n\n if (type === 'address') {\n const addr = (value as string).replace(/^0x/, '').toLowerCase()\n const bytes = hexToBytes(addr.padStart(40, '0'))\n word.set(bytes, 12)\n return word\n }\n\n if (type === 'bool') {\n word[31] = value ? 1 : 0\n return word\n }\n\n if (type === 'string') {\n return keccak256(new TextEncoder().encode(value as string))\n }\n\n if (type === 'bytes') {\n const hex = (value as string).replace(/^0x/, '')\n return keccak256(hexToBytes(hex))\n }\n\n // bytesN (bytes1..bytes32)\n if (type.startsWith('bytes')) {\n const hex = (value as string).replace(/^0x/, '')\n const bytes = hexToBytes(hex)\n word.set(bytes, 0) // left-aligned\n return word\n }\n\n // uintN\n if (type.startsWith('uint')) {\n const n = BigInt(value as bigint | number | string)\n const hex = n.toString(16).padStart(64, '0')\n return hexToBytes(hex)\n }\n\n // intN (two's complement)\n if (type.startsWith('int')) {\n let n = BigInt(value as bigint | number | string)\n if (n < 0n) n = (1n << 256n) + n\n const hex = n.toString(16).padStart(64, '0')\n return hexToBytes(hex)\n }\n\n throw new Error(`Unsupported EIP-712 type: ${type}`)\n}\n\nfunction concatBytes(arrays: Uint8Array[]): Uint8Array {\n const totalLen = arrays.reduce((sum, a) => sum + a.length, 0)\n const result = new Uint8Array(totalLen)\n let offset = 0\n for (const arr of arrays) {\n result.set(arr, offset)\n offset += arr.length\n }\n return result\n}\n","/**\n * Viem bridge adapters.\n *\n * Provides bidirectional conversion between SDK key/signer types\n * and viem LocalAccount. Runtime viem dependency is limited to\n * serializeTransaction (shared with src/tx/evm.ts); all other\n * viem imports are type-only.\n *\n * keyToViemAccount: SDK RawKey -> viem LocalAccount (outbound)\n * createViemSigner: viem LocalAccount -> SDK OfflineSigner + EIP191Signer (inbound)\n */\n\nimport { secp256k1 } from '@noble/curves/secp256k1.js'\nimport { bytesToHex, hexToBytes } from '@noble/hashes/utils.js'\nimport { bech32, base64 } from '@scure/base'\nimport { keccak256 } from '../../util/hash'\nimport { hashEIP191Message, hashEIP712TypedData } from './eip-hash'\nimport { makeSignBytes } from '../../tx/sign'\nimport { packPubKey } from '../../util/public-key'\nimport { sortObject } from '../../tx/amino'\nimport { serializeTransaction } from 'viem'\nimport type {\n LocalAccount,\n SignableMessage,\n TypedDataDefinition,\n TransactionSerializableEIP1559,\n} from 'viem'\nimport type { RawKey } from '../../key'\nimport type {\n OfflineSigner,\n DirectSignDoc,\n DirectSignResponse,\n AminoSignDoc,\n AminoSignResponse,\n EIP191Signer,\n EvmAddressable,\n} from '../types'\n\n/**\n * Convert an SDK RawKey into a viem-compatible LocalAccount.\n *\n * The returned account can be used with viem's `createWalletClient({ account })`,\n * `signMessage`, `signTransaction`, and `signTypedData`.\n *\n * @param key - SDK RawKey instance (must not be destroyed)\n * @returns viem LocalAccount\n * @throws if the key has been destroyed\n *\n * @example\n * ```typescript\n * import { RawKey } from 'initia.js'\n * import { keyToViemAccount } from 'initia.js/signer'\n * import { createWalletClient, http } from 'viem'\n *\n * const key = RawKey.fromHex('0x...')\n * const account = keyToViemAccount(key)\n * const client = createWalletClient({ account, transport: http(rpcUrl) })\n * ```\n */\nexport function keyToViemAccount(key: RawKey): LocalAccount {\n // Validate key is usable — getPrivateKeyHex() throws if destroyed\n const pkHex = key.getPrivateKeyHex()\n const pkBytes = hexToBytes(pkHex.slice(2))\n\n const address = key.evmAddress\n const publicKey = `0x${bytesToHex(key.publicKey)}`\n\n function signHash(hash: Uint8Array): `0x${string}` {\n // format: 'recovered' returns 65 bytes: recovery(1) || r(32) || s(32)\n const sig = secp256k1.sign(hash, pkBytes, {\n prehash: false,\n lowS: true,\n format: 'recovered',\n })\n if (sig.length !== 65) {\n throw new Error(`Expected 65-byte recovered signature, got ${sig.length} bytes`)\n }\n const recovery = sig[0]\n const r = bytesToHex(sig.slice(1, 33))\n const s = bytesToHex(sig.slice(33, 65))\n const v = recovery === 0 ? '1b' : '1c' // 27 or 28\n return `0x${r}${s}${v}`\n }\n\n return {\n address,\n publicKey,\n type: 'local',\n source: 'custom',\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async signMessage({ message }: { message: SignableMessage }): Promise<`0x${string}`> {\n const hashHex = hashEIP191Message(message as string | { raw: Uint8Array })\n const hash = hexToBytes(hashHex.slice(2))\n return signHash(hash)\n },\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async signTransaction(tx: TransactionSerializableEIP1559): Promise<`0x${string}`> {\n const serialized = serializeTransaction(tx)\n const hash = keccak256(hexToBytes(serialized.slice(2)))\n // format: 'recovered' returns 65 bytes: recovery(1) || r(32) || s(32)\n const sig = secp256k1.sign(hash, pkBytes, {\n prehash: false,\n lowS: true,\n format: 'recovered',\n })\n const r: `0x${string}` = `0x${bytesToHex(sig.slice(1, 33))}`\n const s: `0x${string}` = `0x${bytesToHex(sig.slice(33, 65))}`\n return serializeTransaction(tx, { r, s, yParity: sig[0] as 0 | 1 })\n },\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async signTypedData(params: TypedDataDefinition): Promise<`0x${string}`> {\n const hashHex = hashEIP712TypedData(\n params as unknown as Parameters<typeof hashEIP712TypedData>[0]\n )\n const hash = hexToBytes(hashHex.slice(2))\n return signHash(hash)\n },\n } as LocalAccount\n}\n\n// =============================================================================\n// createViemSigner: viem LocalAccount -> SDK OfflineSigner + EIP191Signer\n// =============================================================================\n\ninterface CreateViemSignerOptions {\n /** Bech32 prefix (default: 'init') */\n bech32Prefix?: string\n}\n\n/**\n * Create an OfflineSigner from a viem LocalAccount.\n *\n * Accepts any viem account object (from privateKeyToAccount, mnemonicToAccount,\n * or custom accounts). Delegates signing to the account's methods.\n *\n * Requires an account with the `sign({ hash })` method (e.g., from\n * `privateKeyToAccount` or `mnemonicToAccount`). Generic LocalAccount\n * objects without `sign` are not supported for Direct/Amino signing.\n *\n * @param account - viem LocalAccount instance (must have `sign` method)\n * @param options - Bech32 prefix configuration\n * @returns OfflineSigner & EIP191Signer & EvmAddressable\n *\n * @example\n * ```typescript\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { createViemSigner } from 'initia.js/signer'\n * import { createMinievmContext } from 'initia.js'\n *\n * const account = privateKeyToAccount('0x...')\n * const signer = createViemSigner(account)\n * const ctx = await createMinievmContext({ network: 'testnet', chainId: 'evm-1', signer })\n * ```\n */\nexport function createViemSigner(\n account: LocalAccount,\n options?: CreateViemSignerOptions\n): OfflineSigner & EIP191Signer & EvmAddressable {\n const prefix = options?.bech32Prefix ?? 'init'\n\n if (!account.sign) {\n throw new Error(\n 'viem LocalAccount must have a sign({ hash }) method. ' +\n 'Use privateKeyToAccount() or mnemonicToAccount() to create a signing-capable account.'\n )\n }\n // Capture the non-nullable reference for use in closures\n const accountSign = account.sign\n\n // Extract public key from account.publicKey (0x-prefixed hex)\n // viem stores uncompressed keys (65 bytes, 0x04...) — compress to 33 bytes\n const rawPubKey = hexToBytes(account.publicKey.slice(2))\n const point = secp256k1.Point.fromHex(bytesToHex(rawPubKey))\n const publicKey = point.toBytes(true) // compressed 33 bytes\n\n // Derive bech32 address (ethsecp256k1 = keccak256 of uncompressed[1:])\n const uncompressed = point.toBytes(false).slice(1)\n const rawAddr = keccak256(uncompressed).slice(12)\n\n function getAddress(pfx?: string): string {\n return bech32.encode(pfx ?? prefix, bech32.toWords(rawAddr))\n }\n\n // Sign a keccak256 hash via viem account.sign, return 64-byte compact sig (r||s)\n async function viemSign(hash: Uint8Array): Promise<Uint8Array> {\n const hashHex: `0x${string}` = `0x${bytesToHex(hash)}`\n const sigHex = await accountSign({ hash: hashHex })\n const sigBytes = hexToBytes(sigHex.slice(2))\n if (sigBytes.length !== 65) {\n throw new Error(\n `Expected 65-byte signature from viem account.sign, got ${sigBytes.length} bytes`\n )\n }\n return sigBytes.slice(0, 64)\n }\n\n return {\n algorithm: 'eth_secp256k1',\n evmAddress: account.address,\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getPublicKey(): Promise<Uint8Array> {\n return publicKey\n },\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getAddress(pfx?: string): Promise<string> {\n return getAddress(pfx)\n },\n\n async signDirect(_signerAddress: string, signDoc: DirectSignDoc): Promise<DirectSignResponse> {\n const signBytes = makeSignBytes(\n signDoc.bodyBytes,\n signDoc.authInfoBytes,\n signDoc.chainId,\n signDoc.accountNumber\n )\n const signature = await viemSign(keccak256(signBytes))\n const pubKeyAny = packPubKey(publicKey, 'ethsecp256k1')\n\n return {\n signed: signDoc,\n signature: {\n pubKey: { typeUrl: pubKeyAny.typeUrl, value: pubKeyAny.value },\n signature,\n },\n }\n },\n\n async signAmino(_signerAddress: string, signDoc: AminoSignDoc): Promise<AminoSignResponse> {\n signDoc = sortObject(signDoc)\n const signBytes = new TextEncoder().encode(JSON.stringify(signDoc))\n const signature = await viemSign(keccak256(signBytes))\n\n return {\n signed: signDoc,\n signature: {\n pub_key: {\n type: 'tendermint/PubKeyEthSecp256k1',\n value: base64.encode(publicKey),\n },\n signature: base64.encode(signature),\n },\n }\n },\n\n async signPersonal(data: Uint8Array): Promise<Uint8Array> {\n const sigHex = await account.signMessage({ message: { raw: data } })\n const sigBytes = hexToBytes(sigHex.slice(2))\n if (sigBytes.length !== 65) {\n throw new Error(`Expected 65-byte signature from signMessage, got ${sigBytes.length} bytes`)\n }\n const v = sigBytes[64]\n if (v !== 0 && v !== 1 && v !== 27 && v !== 28) {\n throw new Error(`Unexpected recovery byte from signMessage: ${v}`)\n }\n return sigBytes.slice(0, 64)\n },\n }\n}\n","/**\n * ethers.js Signer -> SDK OfflineSigner bridge adapter.\n *\n * Uses duck typing (EthersSignerLike interface) to avoid\n * requiring ethers as a dependency. Users must install ethers\n * themselves if they want to use this adapter.\n */\n\nimport { hexToBytes, bytesToHex } from '@noble/hashes/utils.js'\nimport { secp256k1 } from '@noble/curves/secp256k1.js'\nimport { bech32, base64 } from '@scure/base'\nimport { keccak256 } from '../../util/hash'\nimport { makeSignBytes } from '../../tx/sign'\nimport { packPubKey } from '../../util/public-key'\nimport { sortObject } from '../../tx/amino'\nimport type {\n OfflineSigner,\n DirectSignDoc,\n DirectSignResponse,\n AminoSignDoc,\n AminoSignResponse,\n EIP191Signer,\n EvmAddressable,\n} from '../types'\n\n/**\n * Minimal interface matching ethers.js Signer's key methods.\n * Users pass a real ethers.Signer — we only access these methods.\n */\nexport interface EthersSignerLike {\n /** Sign a raw message (ethers handles EIP-191 prefix wrapping) */\n signMessage(message: Uint8Array): Promise<string>\n /** The SigningKey with compressedPublicKey and raw sign (ethers v6 Wallet) */\n signingKey: {\n compressedPublicKey: string\n sign(digest: Uint8Array): { r: string; s: string; v: number }\n }\n}\n\ninterface CreateEthersSignerOptions {\n bech32Prefix?: string\n}\n\n/**\n * Create an OfflineSigner from an ethers.js Signer.\n *\n * Requires ethers v6 Wallet (must have signingKey with compressedPublicKey\n * and synchronous sign method). Abstract Signers without local key material\n * are not supported.\n *\n * @param ethersSigner - ethers.js Wallet instance (must have signingKey)\n * @param options - Bech32 prefix configuration\n * @returns OfflineSigner & EIP191Signer & EvmAddressable\n *\n * @example\n * ```typescript\n * import { ethers } from 'ethers'\n * import { createEthersSigner } from 'initia.js/signer'\n * import { createMinievmContext } from 'initia.js'\n *\n * const wallet = new ethers.Wallet('0x...')\n * const signer = createEthersSigner(wallet)\n * const ctx = await createMinievmContext({ network: 'testnet', chainId: 'evm-1', signer })\n * ```\n */\nexport function createEthersSigner(\n ethersSigner: EthersSignerLike,\n options?: CreateEthersSignerOptions\n): OfflineSigner & EIP191Signer & EvmAddressable {\n const prefix = options?.bech32Prefix ?? 'init'\n\n if (!ethersSigner.signingKey) {\n throw new Error(\n 'ethers Signer must have a signingKey property. ' +\n 'Use ethers.Wallet (not JsonRpcSigner or AbstractSigner) to create a signing-capable signer.'\n )\n }\n const signingKey = ethersSigner.signingKey\n const publicKey = hexToBytes(signingKey.compressedPublicKey.replace(/^0x/, ''))\n\n // Derive bech32 address\n const point = secp256k1.Point.fromHex(bytesToHex(publicKey))\n const uncompressed = point.toBytes(false).slice(1)\n const rawAddr = keccak256(uncompressed).slice(12)\n\n // Cache EVM address\n const evmAddr: `0x${string}` = `0x${bytesToHex(rawAddr)}`\n\n function getAddress(pfx?: string): string {\n return bech32.encode(pfx ?? prefix, bech32.toWords(rawAddr))\n }\n\n function signHash(hash: Uint8Array): Uint8Array {\n const sig = signingKey.sign(hash)\n if (typeof sig.r !== 'string' || typeof sig.s !== 'string') {\n throw new Error(\n 'ethers signingKey.sign() returned unexpected format. ' +\n 'Expected { r: string, s: string, v: number }.'\n )\n }\n // ethers v6 SigningKey.sign returns { r, s, v } with 0x-prefixed hex\n // Pad to 32 bytes to handle legitimate short r/s values\n const rHex = sig.r.replace(/^0x/, '').padStart(64, '0')\n const sHex = sig.s.replace(/^0x/, '').padStart(64, '0')\n const r = hexToBytes(rHex)\n const s = hexToBytes(sHex)\n const result = new Uint8Array(64)\n result.set(r, 0)\n result.set(s, 32)\n return result\n }\n\n return {\n algorithm: 'eth_secp256k1',\n evmAddress: evmAddr,\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getPublicKey(): Promise<Uint8Array> {\n return publicKey\n },\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getAddress(pfx?: string): Promise<string> {\n return getAddress(pfx)\n },\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async signDirect(_signerAddress: string, signDoc: DirectSignDoc): Promise<DirectSignResponse> {\n const signBytes = makeSignBytes(\n signDoc.bodyBytes,\n signDoc.authInfoBytes,\n signDoc.chainId,\n signDoc.accountNumber\n )\n const hash = keccak256(signBytes)\n const signature = signHash(hash)\n const pubKeyAny = packPubKey(publicKey, 'ethsecp256k1')\n\n return {\n signed: signDoc,\n signature: {\n pubKey: { typeUrl: pubKeyAny.typeUrl, value: pubKeyAny.value },\n signature,\n },\n }\n },\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async signAmino(_signerAddress: string, signDoc: AminoSignDoc): Promise<AminoSignResponse> {\n signDoc = sortObject(signDoc)\n const signBytes = new TextEncoder().encode(JSON.stringify(signDoc))\n const hash = keccak256(signBytes)\n const signature = signHash(hash)\n\n return {\n signed: signDoc,\n signature: {\n pub_key: {\n type: 'tendermint/PubKeyEthSecp256k1',\n value: base64.encode(publicKey),\n },\n signature: base64.encode(signature),\n },\n }\n },\n\n async signPersonal(data: Uint8Array): Promise<Uint8Array> {\n const sigHex = await ethersSigner.signMessage(data)\n const sigBytes = hexToBytes(sigHex.replace(/^0x/, ''))\n if (sigBytes.length !== 65) {\n throw new Error(`Expected 65-byte signature from signMessage, got ${sigBytes.length} bytes`)\n }\n const v = sigBytes[64]\n if (v !== 0 && v !== 1 && v !== 27 && v !== 28) {\n throw new Error(`Unexpected recovery byte from signMessage: ${v}`)\n }\n return sigBytes.slice(0, 64)\n },\n }\n}\n","/**\n * WalletConnect -> SDK OfflineSigner bridge adapter.\n *\n * Creates an OfflineSigner from a WalletConnect SignClient session.\n * Supports Cosmos signing (cosmos_signDirect, cosmos_signAmino)\n * and optionally EIP-191 signing (personal_sign) for minievm chains.\n *\n * Uses duck typing (WalletConnectClientLike) to avoid requiring\n * @walletconnect/sign-client as a dependency.\n */\n\nimport { hexToBytes, bytesToHex } from '@noble/hashes/utils.js'\nimport { secp256k1 } from '@noble/curves/secp256k1.js'\nimport { bech32, base64 } from '@scure/base'\nimport { keccak256, sha256, ripemd160 } from '../../util/hash'\nimport { packPubKey } from '../../util/public-key'\nimport type {\n OfflineSigner,\n DirectSignDoc,\n DirectSignResponse,\n AminoSignDoc,\n AminoSignResponse,\n EIP191Signer,\n EvmAddressable,\n} from '../types'\n\n/**\n * Minimal interface matching WalletConnect SignClient's request method.\n * Users pass their own WalletConnect client — we only call request().\n */\nexport interface WalletConnectClientLike {\n request<T>(params: {\n topic: string\n chainId: string\n request: {\n method: string\n params: unknown[]\n }\n }): Promise<T>\n}\n\n/**\n * Options for creating a WalletConnect signer.\n */\nexport interface CreateWalletConnectSignerOptions {\n /** WalletConnect session topic */\n topic: string\n /** Cosmos chain ID (e.g., 'initiation-2') — used for WC namespace as cosmos:{chainId} */\n chainId: string\n /** Bech32 address prefix (default: 'init') */\n bech32Prefix?: string\n /** EVM chain ID for EIP-155 namespace — if set, uses personal_sign for EIP-191 */\n eip155ChainId?: number\n /** Pre-known public key (skip acquisition if already cached) */\n publicKey?: Uint8Array\n /** Signing algorithm (default: 'eth_secp256k1' for Initia; use 'secp256k1' for vanilla Cosmos chains) */\n algorithm?: 'eth_secp256k1' | 'secp256k1'\n}\n\n/**\n * Recover compressed public key from an EIP-191 personal_sign signature.\n *\n * Signs a fixed identification message, then uses ecrecover to derive\n * the public key. This is a one-time operation per session.\n *\n * @param client - WalletConnect client\n * @param topic - Session topic\n * @param eip155ChainId - EIP-155 chain ID\n * @param address - EVM 0x address of the signer\n * @returns Compressed public key (33 bytes)\n */\nasync function recoverPublicKey(\n client: WalletConnectClientLike,\n topic: string,\n eip155ChainId: number,\n address: string\n): Promise<Uint8Array> {\n // Fixed identification message (same as interwovenkit)\n const message = 'Initia SDK: Verify account ownership'\n const messageHex = `0x${bytesToHex(new TextEncoder().encode(message))}`\n\n // Request personal_sign via WC\n const sigHex = await client.request<string>({\n topic,\n chainId: `eip155:${eip155ChainId}`,\n request: {\n method: 'personal_sign',\n params: [messageHex, address],\n },\n })\n\n // EIP-191 hash: keccak256(\"\\x19Ethereum Signed Message:\\n\" + len + message)\n const messageBytes = new TextEncoder().encode(message)\n const prefix = `\\x19Ethereum Signed Message:\\n${messageBytes.length}`\n const prefixBytes = new TextEncoder().encode(prefix)\n const fullMessage = new Uint8Array(prefixBytes.length + messageBytes.length)\n fullMessage.set(prefixBytes, 0)\n fullMessage.set(messageBytes, prefixBytes.length)\n const msgHash = keccak256(fullMessage)\n\n // Parse signature: r(32) || s(32) || v(1)\n const sigBytes = hexToBytes(sigHex.replace(/^0x/, ''))\n if (sigBytes.length !== 65) {\n throw new Error(\n `Expected 65-byte signature from personal_sign, got ${sigBytes.length} bytes`\n )\n }\n\n const r = sigBytes.slice(0, 32)\n const s = sigBytes.slice(32, 64)\n const v = sigBytes[64]\n const recovery = v >= 27 ? v - 27 : v\n\n if (recovery !== 0 && recovery !== 1) {\n throw new Error(\n `Invalid recovery bit: ${v} (expected 0, 1, 27, or 28)`\n )\n }\n\n // Reconstruct compact signature (64 bytes: r || s)\n const compact = new Uint8Array(64)\n compact.set(r, 0)\n compact.set(s, 32)\n\n // Recover public key using noble-curves v2 API\n try {\n const recoveredPoint = secp256k1.Signature.fromBytes(compact, 'compact')\n .addRecoveryBit(recovery)\n .recoverPublicKey(msgHash)\n\n const compressed = recoveredPoint.toBytes(true) // compressed 33 bytes\n\n // Verify recovered address matches expected address\n const recoveredUncompressed = recoveredPoint.toBytes(false).slice(1)\n const recoveredAddr = `0x${bytesToHex(keccak256(recoveredUncompressed).slice(12))}`\n if (recoveredAddr.toLowerCase() !== address.toLowerCase()) {\n throw new Error(\n `Recovered address ${recoveredAddr} does not match expected ${address}. ` +\n 'The wallet may have signed with a different account.'\n )\n }\n\n return compressed\n } catch (err) {\n if (err instanceof Error && err.message.includes('does not match')) throw err\n throw new Error(\n `Failed to recover public key from personal_sign signature: ${err instanceof Error ? err.message : String(err)}`\n )\n }\n}\n\n/**\n * Create an OfflineSigner from a WalletConnect session.\n *\n * This is an async factory because public key acquisition may require\n * a WC request (cosmos_getAccounts) or user interaction (EIP-191 ecrecover).\n *\n * Public key resolution uses a 3-tier fallback:\n * 1. Pre-provided publicKey option (fastest, no user interaction)\n * 2. cosmos_getAccounts WC RPC (no user interaction if wallet supports it)\n * 3. Ecrecover via personal_sign (requires eip155ChainId + user approval)\n *\n * @param client - WalletConnect SignClient (or any compatible client)\n * @param options - Session and chain configuration\n * @returns OfflineSigner, optionally with EIP191Signer if eip155ChainId is set\n *\n * @example\n * ```typescript\n * import { createWalletConnectSigner } from 'initia.js/signer'\n *\n * const signer = await createWalletConnectSigner(wcClient, {\n * topic: session.topic,\n * chainId: 'initiation-2',\n * eip155ChainId: 2124225178762456,\n * })\n *\n * const ctx = await createInitiaContext({ network: 'testnet', signer })\n * ```\n */\nexport async function createWalletConnectSigner(\n client: WalletConnectClientLike,\n options: CreateWalletConnectSignerOptions & { eip155ChainId: number }\n): Promise<OfflineSigner & EIP191Signer & EvmAddressable>\nexport async function createWalletConnectSigner(\n client: WalletConnectClientLike,\n options: CreateWalletConnectSignerOptions\n): Promise<OfflineSigner>\nexport async function createWalletConnectSigner(\n client: WalletConnectClientLike,\n options: CreateWalletConnectSignerOptions\n): Promise<OfflineSigner & Partial<EIP191Signer & EvmAddressable>> {\n const prefix = options.bech32Prefix ?? 'init'\n const cosmosChainId = `cosmos:${options.chainId}`\n const algo = options.algorithm ?? 'eth_secp256k1'\n\n // Validate early — before any WC requests that may trigger user popups\n if (options.eip155ChainId && algo !== 'eth_secp256k1') {\n throw new Error(\n `eip155ChainId requires algorithm 'eth_secp256k1', got '${algo}'. ` +\n 'EVM signing uses keccak256-based addresses which are incompatible with secp256k1 (ripemd160) derivation.'\n )\n }\n\n // Resolve public key (3-tier fallback)\n let publicKey: Uint8Array\n\n if (options.publicKey) {\n // Tier 1: Pre-provided\n publicKey = options.publicKey\n } else {\n // Tier 2: cosmos_getAccounts (works for both EVM and Cosmos-only chains)\n // Some wallets (EVM-only) may reject this method — catch and fall through\n let accounts: Array<{ address: string; algo: string; pubkey: string }> = []\n try {\n accounts = await client.request<typeof accounts>({\n topic: options.topic,\n chainId: cosmosChainId,\n request: { method: 'cosmos_getAccounts', params: [] },\n })\n } catch {\n // Wallet does not support cosmos_getAccounts — fall through to Tier 3\n }\n\n if (accounts.length > 0 && accounts[0].pubkey) {\n publicKey = base64.decode(accounts[0].pubkey)\n } else if (options.eip155ChainId) {\n // Tier 3: Ecrecover via personal_sign\n const evmAccounts = await client.request<Array<string>>({\n topic: options.topic,\n chainId: `eip155:${options.eip155ChainId}`,\n request: { method: 'eth_accounts', params: [] },\n })\n\n if (evmAccounts.length === 0) {\n throw new Error(\n 'Public key acquisition failed. ' +\n 'cosmos_getAccounts returned no pubkey and no EVM accounts available for ecrecover. ' +\n 'Provide publicKey option directly.'\n )\n }\n\n publicKey = await recoverPublicKey(\n client, options.topic, options.eip155ChainId, evmAccounts[0]\n )\n } else {\n throw new Error(\n 'No accounts found in WalletConnect session. ' +\n 'Provide publicKey option or ensure the wallet supports cosmos_getAccounts.'\n )\n }\n }\n\n // Derive bech32 address from public key\n let rawAddr: Uint8Array\n\n if (algo === 'eth_secp256k1') {\n // EVM-style: keccak256(uncompressed[1:])[12:]\n const point = secp256k1.Point.fromHex(bytesToHex(publicKey))\n const uncompressed = point.toBytes(false).slice(1)\n rawAddr = keccak256(uncompressed).slice(12)\n } else {\n // Cosmos-style: ripemd160(sha256(compressed))\n rawAddr = ripemd160(sha256(publicKey))\n }\n\n function getAddress(pfx?: string): string {\n return bech32.encode(pfx ?? prefix, bech32.toWords(rawAddr))\n }\n\n // Shared signing methods (Cosmos)\n async function signDirect(signerAddress: string, signDoc: DirectSignDoc): Promise<DirectSignResponse> {\n const response = await client.request<{\n signature: { signature: string; pub_key: { type: string; value: string } }\n signed: {\n bodyBytes: string // base64\n authInfoBytes: string // base64\n chainId: string\n accountNumber: string\n }\n }>({\n topic: options.topic,\n chainId: cosmosChainId,\n request: {\n method: 'cosmos_signDirect',\n params: [\n {\n signerAddress,\n signDoc: {\n bodyBytes: base64.encode(signDoc.bodyBytes),\n authInfoBytes: base64.encode(signDoc.authInfoBytes),\n chainId: signDoc.chainId,\n accountNumber: signDoc.accountNumber.toString(),\n },\n },\n ],\n },\n })\n\n return {\n signed: {\n bodyBytes: base64.decode(response.signed.bodyBytes),\n authInfoBytes: base64.decode(response.signed.authInfoBytes),\n chainId: response.signed.chainId,\n accountNumber: BigInt(response.signed.accountNumber),\n },\n signature: {\n pubKey: (() => {\n // If the wallet returns a proto typeUrl, use it directly\n if (response.signature.pub_key.type.startsWith('/')) {\n return {\n typeUrl: response.signature.pub_key.type,\n value: base64.decode(response.signature.pub_key.value),\n }\n }\n // Otherwise, use packPubKey with the configured algorithm\n const pkType = algo === 'eth_secp256k1' ? 'ethsecp256k1' : 'secp256k1' as const\n const pk = packPubKey(publicKey, pkType)\n return { typeUrl: pk.typeUrl, value: pk.value }\n })(),\n signature: base64.decode(response.signature.signature),\n },\n }\n }\n\n async function signAmino(signerAddress: string, signDoc: AminoSignDoc): Promise<AminoSignResponse> {\n const response = await client.request<{\n signature: { signature: string; pub_key: { type: string; value: string } }\n signed: AminoSignDoc\n }>({\n topic: options.topic,\n chainId: cosmosChainId,\n request: {\n method: 'cosmos_signAmino',\n params: [\n {\n signerAddress,\n signDoc,\n },\n ],\n },\n })\n\n return {\n signed: response.signed,\n signature: {\n pub_key: response.signature.pub_key,\n signature: response.signature.signature,\n },\n }\n }\n\n // Build the signer object in one shot — no post-construction mutation\n const base = {\n algorithm: algo,\n // eslint-disable-next-line @typescript-eslint/require-await\n async getPublicKey(): Promise<Uint8Array> { return publicKey },\n // eslint-disable-next-line @typescript-eslint/require-await\n async getAddress(pfx?: string): Promise<string> { return getAddress(pfx) },\n signDirect,\n signAmino,\n } as const\n\n if (options.eip155ChainId) {\n const evmChainId = options.eip155ChainId\n const evmAddress: `0x${string}` = `0x${bytesToHex(rawAddr)}`\n\n return {\n ...base,\n evmAddress,\n async signPersonal(data: Uint8Array): Promise<Uint8Array> {\n const dataHex = `0x${bytesToHex(data)}`\n const sigHex = await client.request<string>({\n topic: options.topic,\n chainId: `eip155:${evmChainId}`,\n request: {\n method: 'personal_sign',\n params: [dataHex, evmAddress],\n },\n })\n\n // External wallet returns r(32) || s(32) || v(1) — strip v\n const sigBytes = hexToBytes(sigHex.replace(/^0x/, ''))\n if (sigBytes.length !== 65) {\n throw new Error(`Expected 65-byte signature from personal_sign, got ${sigBytes.length} bytes`)\n }\n const v = sigBytes[64]\n if (v !== 0 && v !== 1 && v !== 27 && v !== 28) {\n throw new Error(`Unexpected recovery byte from personal_sign: ${v}`)\n }\n return sigBytes.slice(0, 64)\n },\n }\n }\n\n return base\n}\n"],"mappings":";;;;;;;;;;;;;AA0KA,SAAgB,WAAW,OAAsE;AAC/F,QAAO,OAAO,MAAM,QAAQ;;;;;AAM9B,SAAgB,cACd,OACwD;AACxD,QAAO,OAAO,MAAM,WAAW;;;;;AAMjC,SAAgB,kBACd,OACgE;AAChE,QAAO,OAAO,MAAM,mBAAmB;;;;;;;;AASzC,IAAsB,eAAtB,MAAuD;;;;;;;CAWrD,MAAM,IAAI,OAA6C;AAErD,UADa,MAAM,KAAK,MAAM,EAClB,MAAK,MAAK,EAAE,OAAO,MAAM;;;;;;;CAQvC,MAAM,UAA6B;AAEjC,UADa,MAAM,KAAK,MAAM,EAClB,KAAI,MAAK,EAAE,GAAG;;;;;;;CAQ5B,MAAM,UAA4B;AAEhC,UADa,MAAM,KAAK,MAAM,EAClB,WAAW;;;;;;;CAQzB,MAAM,QAAyB;AAE7B,UADa,MAAM,KAAK,MAAM,EAClB;;;;;;;;;;;;;;;;;AC3NhB,SAAgB,kBAAkB,SAAyC;CACzE,MAAM,WAAW,OAAO,YAAY,WAAW,IAAI,aAAa,CAAC,OAAO,QAAQ,GAAG,QAAQ;CAE3F,MAAM,SAAS,iCAAiC,SAAS;CACzD,MAAM,cAAc,IAAI,aAAa,CAAC,OAAO,OAAO;CAEpD,MAAM,WAAW,IAAI,WAAW,YAAY,SAAS,SAAS,OAAO;AACrE,UAAS,IAAI,aAAa,EAAE;AAC5B,UAAS,IAAI,UAAU,YAAY,OAAO;AAE1C,QAAO,KAAK,WAAW,UAAU,SAAS,CAAC;;;;;;;;AAiC7C,SAAgB,oBAAoB,MAAqC;CACvE,MAAM,EAAE,QAAQ,OAAO,aAAa,YAAY;CAEhD,MAAM,WAA6C;EACjD,cAAc,gBAAgB,OAAO;EACrC,GAAG;EACJ;CAED,MAAM,kBAAkB,WAAW,gBAAgB,QAAmC,SAAS;CAC/F,MAAM,cAAc,WAAW,aAAa,SAAS,SAAS;CAE9D,MAAM,UAAU,IAAI,WAAW,GAAY;AAC3C,SAAQ,KAAK;AACb,SAAQ,KAAK;AACb,SAAQ,IAAI,iBAAiB,EAAE;AAC/B,SAAQ,IAAI,aAAa,GAAG;AAE5B,QAAO,KAAK,WAAW,UAAU,QAAQ,CAAC;;AAO5C,SAAS,gBAAgB,QAA2C;CAClE,MAAM,SAA2B,EAAE;AACnC,KAAI,OAAO,SAAS,KAAA,EAAW,QAAO,KAAK;EAAE,MAAM;EAAQ,MAAM;EAAU,CAAC;AAC5E,KAAI,OAAO,YAAY,KAAA,EAAW,QAAO,KAAK;EAAE,MAAM;EAAW,MAAM;EAAU,CAAC;AAClF,KAAI,OAAO,YAAY,KAAA,EAAW,QAAO,KAAK;EAAE,MAAM;EAAW,MAAM;EAAW,CAAC;AACnF,KAAI,OAAO,sBAAsB,KAAA,EAC/B,QAAO,KAAK;EAAE,MAAM;EAAqB,MAAM;EAAW,CAAC;AAC7D,KAAI,OAAO,SAAS,KAAA,EAAW,QAAO,KAAK;EAAE,MAAM;EAAQ,MAAM;EAAW,CAAC;AAC7E,QAAO;;AAGT,SAAS,WAAW,aAAqB,OAAiD;CACxF,MAAM,OAAO,aAAa,aAAa,uBAAO,IAAI,KAAK,CAAC;AACxD,MAAK,OAAO,YAAY;AAExB,QADe,CAAC,aAAa,GAAG,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAC1C,KAAI,MAAK,GAAG,EAAE,GAAG,MAAM,GAAG,KAAI,MAAK,GAAG,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG;;AAGhG,SAAS,aACP,MACA,OACA,OACa;AACb,KAAI,MAAM,IAAI,KAAK,CAAE,QAAO;CAC5B,MAAM,SAAS,MAAM;AACrB,KAAI,CAAC,OAAQ,QAAO;AACpB,OAAM,IAAI,KAAK;AACf,MAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,WAAW,MAAM,KAAK,QAAQ,YAAY,GAAG;AACnD,MAAI,MAAM,UAAW,cAAa,UAAU,OAAO,MAAM;;AAE3D,QAAO;;AAGT,SAAS,SAAS,aAAqB,OAAqD;AAC1F,QAAO,UAAU,IAAI,aAAa,CAAC,OAAO,WAAW,aAAa,MAAM,CAAC,CAAC;;AAG5E,SAAS,WACP,aACA,MACA,OACY;AAEZ,QAAO,UADS,WAAW,aAAa,MAAM,MAAM,CAC3B;;AAG3B,SAAS,WACP,aACA,MACA,OACY;CACZ,MAAM,SAAS,MAAM;CACrB,MAAM,SAAuB,CAAC,SAAS,aAAa,MAAM,CAAC;AAE3D,MAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,QAAQ,KAAK,MAAM;AACzB,SAAO,KAAK,YAAY,MAAM,MAAM,OAAO,MAAM,CAAC;;AAGpD,QAAO,YAAY,OAAO;;AAG5B,SAAS,YACP,MACA,OACA,OACY;AAEZ,KAAI,KAAK,SAAS,KAAK,EAAE;EACvB,MAAM,YAAY,KAAK,MAAM,GAAG,GAAG;AAGnC,SAAO,UAAU,YAFL,MACQ,KAAI,MAAK,YAAY,WAAW,GAAG,MAAM,CAAC,CACzB,CAAC;;AAIxC,KAAI,MAAM,MACR,QAAO,WAAW,MAAM,OAAkC,MAAM;AAIlE,QAAO,kBAAkB,MAAM,MAAM;;AAGvC,SAAS,kBAAkB,MAAc,OAA4B;CACnE,MAAM,OAAO,IAAI,WAAW,GAAG;AAE/B,KAAI,SAAS,WAAW;EAEtB,MAAM,QAAQ,WADA,MAAiB,QAAQ,OAAO,GAAG,CAAC,aAAa,CACjC,SAAS,IAAI,IAAI,CAAC;AAChD,OAAK,IAAI,OAAO,GAAG;AACnB,SAAO;;AAGT,KAAI,SAAS,QAAQ;AACnB,OAAK,MAAM,QAAQ,IAAI;AACvB,SAAO;;AAGT,KAAI,SAAS,SACX,QAAO,UAAU,IAAI,aAAa,CAAC,OAAO,MAAgB,CAAC;AAG7D,KAAI,SAAS,QAEX,QAAO,UAAU,WADJ,MAAiB,QAAQ,OAAO,GAAG,CAChB,CAAC;AAInC,KAAI,KAAK,WAAW,QAAQ,EAAE;EAE5B,MAAM,QAAQ,WADD,MAAiB,QAAQ,OAAO,GAAG,CACnB;AAC7B,OAAK,IAAI,OAAO,EAAE;AAClB,SAAO;;AAIT,KAAI,KAAK,WAAW,OAAO,CAGzB,QAAO,WAFG,OAAO,MAAkC,CACrC,SAAS,GAAG,CAAC,SAAS,IAAI,IAAI,CACtB;AAIxB,KAAI,KAAK,WAAW,MAAM,EAAE;EAC1B,IAAI,IAAI,OAAO,MAAkC;AACjD,MAAI,IAAI,GAAI,MAAK,MAAM,QAAQ;AAE/B,SAAO,WADK,EAAE,SAAS,GAAG,CAAC,SAAS,IAAI,IAAI,CACtB;;AAGxB,OAAM,IAAI,MAAM,6BAA6B,OAAO;;AAGtD,SAAS,YAAY,QAAkC;CACrD,MAAM,WAAW,OAAO,QAAQ,KAAK,MAAM,MAAM,EAAE,QAAQ,EAAE;CAC7D,MAAM,SAAS,IAAI,WAAW,SAAS;CACvC,IAAI,SAAS;AACb,MAAK,MAAM,OAAO,QAAQ;AACxB,SAAO,IAAI,KAAK,OAAO;AACvB,YAAU,IAAI;;AAEhB,QAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7KT,SAAgB,iBAAiB,KAA2B;CAG1D,MAAM,UAAU,WADF,IAAI,kBAAkB,CACH,MAAM,EAAE,CAAC;CAE1C,MAAM,UAAU,IAAI;CACpB,MAAM,YAAY,KAAK,WAAW,IAAI,UAAU;CAEhD,SAAS,SAAS,MAAiC;EAEjD,MAAM,MAAM,UAAU,KAAK,MAAM,SAAS;GACxC,SAAS;GACT,MAAM;GACN,QAAQ;GACT,CAAC;AACF,MAAI,IAAI,WAAW,GACjB,OAAM,IAAI,MAAM,6CAA6C,IAAI,OAAO,QAAQ;EAElF,MAAM,WAAW,IAAI;AAIrB,SAAO,KAHG,WAAW,IAAI,MAAM,GAAG,GAAG,CAAC,GAC5B,WAAW,IAAI,MAAM,IAAI,GAAG,CAAC,GAC7B,aAAa,IAAI,OAAO;;AAIpC,QAAO;EACL;EACA;EACA,MAAM;EACN,QAAQ;EAGR,MAAM,YAAY,EAAE,WAAiE;AAGnF,UAAO,SADM,WADG,kBAAkB,QAAwC,CAC1C,MAAM,EAAE,CAAC,CACpB;;EAIvB,MAAM,gBAAgB,IAA4D;GAEhF,MAAM,OAAO,UAAU,WADJ,qBAAqB,GAAG,CACE,MAAM,EAAE,CAAC,CAAC;GAEvD,MAAM,MAAM,UAAU,KAAK,MAAM,SAAS;IACxC,SAAS;IACT,MAAM;IACN,QAAQ;IACT,CAAC;AAGF,UAAO,qBAAqB,IAAI;IAAE,GAFT,KAAK,WAAW,IAAI,MAAM,GAAG,GAAG,CAAC;IAErB,GADZ,KAAK,WAAW,IAAI,MAAM,IAAI,GAAG,CAAC;IACnB,SAAS,IAAI;IAAa,CAAC;;EAIrE,MAAM,cAAc,QAAqD;AAKvE,UAAO,SADM,WAHG,oBACd,OACD,CAC+B,MAAM,EAAE,CAAC,CACpB;;EAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCH,SAAgB,iBACd,SACA,SAC+C;CAC/C,MAAM,SAAS,SAAS,gBAAgB;AAExC,KAAI,CAAC,QAAQ,KACX,OAAM,IAAI,MACR,6IAED;CAGH,MAAM,cAAc,QAAQ;CAI5B,MAAM,YAAY,WAAW,QAAQ,UAAU,MAAM,EAAE,CAAC;CACxD,MAAM,QAAQ,UAAU,MAAM,QAAQ,WAAW,UAAU,CAAC;CAC5D,MAAM,YAAY,MAAM,QAAQ,KAAK;CAIrC,MAAM,UAAU,UADK,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,CACX,CAAC,MAAM,GAAG;CAEjD,SAAS,WAAW,KAAsB;AACxC,SAAO,OAAO,OAAO,OAAO,QAAQ,OAAO,QAAQ,QAAQ,CAAC;;CAI9D,eAAe,SAAS,MAAuC;EAG7D,MAAM,WAAW,YADF,MAAM,YAAY,EAAE,MADJ,KAAK,WAAW,KAAK,IACF,CAAC,EAChB,MAAM,EAAE,CAAC;AAC5C,MAAI,SAAS,WAAW,GACtB,OAAM,IAAI,MACR,0DAA0D,SAAS,OAAO,QAC3E;AAEH,SAAO,SAAS,MAAM,GAAG,GAAG;;AAG9B,QAAO;EACL,WAAW;EACX,YAAY,QAAQ;EAGpB,MAAM,eAAoC;AACxC,UAAO;;EAIT,MAAM,WAAW,KAA+B;AAC9C,UAAO,WAAW,IAAI;;EAGxB,MAAM,WAAW,gBAAwB,SAAqD;GAO5F,MAAM,YAAY,MAAM,SAAS,UANf,cAChB,QAAQ,WACR,QAAQ,eACR,QAAQ,SACR,QAAQ,cACT,CACoD,CAAC;GACtD,MAAM,YAAY,WAAW,WAAW,eAAe;AAEvD,UAAO;IACL,QAAQ;IACR,WAAW;KACT,QAAQ;MAAE,SAAS,UAAU;MAAS,OAAO,UAAU;MAAO;KAC9D;KACD;IACF;;EAGH,MAAM,UAAU,gBAAwB,SAAmD;AACzF,aAAU,WAAW,QAAQ;GAE7B,MAAM,YAAY,MAAM,SAAS,UADf,IAAI,aAAa,CAAC,OAAO,KAAK,UAAU,QAAQ,CAAC,CACd,CAAC;AAEtD,UAAO;IACL,QAAQ;IACR,WAAW;KACT,SAAS;MACP,MAAM;MACN,OAAO,OAAO,OAAO,UAAU;MAChC;KACD,WAAW,OAAO,OAAO,UAAU;KACpC;IACF;;EAGH,MAAM,aAAa,MAAuC;GAExD,MAAM,WAAW,YADF,MAAM,QAAQ,YAAY,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC,EACjC,MAAM,EAAE,CAAC;AAC5C,OAAI,SAAS,WAAW,GACtB,OAAM,IAAI,MAAM,oDAAoD,SAAS,OAAO,QAAQ;GAE9F,MAAM,IAAI,SAAS;AACnB,OAAI,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,GAC1C,OAAM,IAAI,MAAM,8CAA8C,IAAI;AAEpE,UAAO,SAAS,MAAM,GAAG,GAAG;;EAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMH,SAAgB,mBACd,cACA,SAC+C;CAC/C,MAAM,SAAS,SAAS,gBAAgB;AAExC,KAAI,CAAC,aAAa,WAChB,OAAM,IAAI,MACR,6IAED;CAEH,MAAM,aAAa,aAAa;CAChC,MAAM,YAAY,WAAW,WAAW,oBAAoB,QAAQ,OAAO,GAAG,CAAC;CAK/E,MAAM,UAAU,UAFF,UAAU,MAAM,QAAQ,WAAW,UAAU,CAAC,CACjC,QAAQ,MAAM,CAAC,MAAM,EAAE,CACX,CAAC,MAAM,GAAG;CAGjD,MAAM,UAAyB,KAAK,WAAW,QAAQ;CAEvD,SAAS,WAAW,KAAsB;AACxC,SAAO,OAAO,OAAO,OAAO,QAAQ,OAAO,QAAQ,QAAQ,CAAC;;CAG9D,SAAS,SAAS,MAA8B;EAC9C,MAAM,MAAM,WAAW,KAAK,KAAK;AACjC,MAAI,OAAO,IAAI,MAAM,YAAY,OAAO,IAAI,MAAM,SAChD,OAAM,IAAI,MACR,qGAED;EAIH,MAAM,OAAO,IAAI,EAAE,QAAQ,OAAO,GAAG,CAAC,SAAS,IAAI,IAAI;EACvD,MAAM,OAAO,IAAI,EAAE,QAAQ,OAAO,GAAG,CAAC,SAAS,IAAI,IAAI;EACvD,MAAM,IAAI,WAAW,KAAK;EAC1B,MAAM,IAAI,WAAW,KAAK;EAC1B,MAAM,SAAS,IAAI,WAAW,GAAG;AACjC,SAAO,IAAI,GAAG,EAAE;AAChB,SAAO,IAAI,GAAG,GAAG;AACjB,SAAO;;AAGT,QAAO;EACL,WAAW;EACX,YAAY;EAGZ,MAAM,eAAoC;AACxC,UAAO;;EAIT,MAAM,WAAW,KAA+B;AAC9C,UAAO,WAAW,IAAI;;EAIxB,MAAM,WAAW,gBAAwB,SAAqD;GAQ5F,MAAM,YAAY,SADL,UANK,cAChB,QAAQ,WACR,QAAQ,eACR,QAAQ,SACR,QAAQ,cACT,CACgC,CACD;GAChC,MAAM,YAAY,WAAW,WAAW,eAAe;AAEvD,UAAO;IACL,QAAQ;IACR,WAAW;KACT,QAAQ;MAAE,SAAS,UAAU;MAAS,OAAO,UAAU;MAAO;KAC9D;KACD;IACF;;EAIH,MAAM,UAAU,gBAAwB,SAAmD;AACzF,aAAU,WAAW,QAAQ;GAG7B,MAAM,YAAY,SADL,UADK,IAAI,aAAa,CAAC,OAAO,KAAK,UAAU,QAAQ,CAAC,CAClC,CACD;AAEhC,UAAO;IACL,QAAQ;IACR,WAAW;KACT,SAAS;MACP,MAAM;MACN,OAAO,OAAO,OAAO,UAAU;MAChC;KACD,WAAW,OAAO,OAAO,UAAU;KACpC;IACF;;EAGH,MAAM,aAAa,MAAuC;GAExD,MAAM,WAAW,YADF,MAAM,aAAa,YAAY,KAAK,EAChB,QAAQ,OAAO,GAAG,CAAC;AACtD,OAAI,SAAS,WAAW,GACtB,OAAM,IAAI,MAAM,oDAAoD,SAAS,OAAO,QAAQ;GAE9F,MAAM,IAAI,SAAS;AACnB,OAAI,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,GAC1C,OAAM,IAAI,MAAM,8CAA8C,IAAI;AAEpE,UAAO,SAAS,MAAM,GAAG,GAAG;;EAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GH,eAAe,iBACb,QACA,OACA,eACA,SACqB;CAErB,MAAM,UAAU;CAChB,MAAM,aAAa,KAAK,WAAW,IAAI,aAAa,CAAC,OAAO,QAAQ,CAAC;CAGrE,MAAM,SAAS,MAAM,OAAO,QAAgB;EAC1C;EACA,SAAS,UAAU;EACnB,SAAS;GACP,QAAQ;GACR,QAAQ,CAAC,YAAY,QAAQ;GAC9B;EACF,CAAC;CAGF,MAAM,eAAe,IAAI,aAAa,CAAC,OAAO,QAAQ;CACtD,MAAM,SAAS,iCAAiC,aAAa;CAC7D,MAAM,cAAc,IAAI,aAAa,CAAC,OAAO,OAAO;CACpD,MAAM,cAAc,IAAI,WAAW,YAAY,SAAS,aAAa,OAAO;AAC5E,aAAY,IAAI,aAAa,EAAE;AAC/B,aAAY,IAAI,cAAc,YAAY,OAAO;CACjD,MAAM,UAAU,UAAU,YAAY;CAGtC,MAAM,WAAW,WAAW,OAAO,QAAQ,OAAO,GAAG,CAAC;AACtD,KAAI,SAAS,WAAW,GACtB,OAAM,IAAI,MACR,sDAAsD,SAAS,OAAO,QACvE;CAGH,MAAM,IAAI,SAAS,MAAM,GAAG,GAAG;CAC/B,MAAM,IAAI,SAAS,MAAM,IAAI,GAAG;CAChC,MAAM,IAAI,SAAS;CACnB,MAAM,WAAW,KAAK,KAAK,IAAI,KAAK;AAEpC,KAAI,aAAa,KAAK,aAAa,EACjC,OAAM,IAAI,MACR,yBAAyB,EAAE,6BAC5B;CAIH,MAAM,UAAU,IAAI,WAAW,GAAG;AAClC,SAAQ,IAAI,GAAG,EAAE;AACjB,SAAQ,IAAI,GAAG,GAAG;AAGlB,KAAI;EACF,MAAM,iBAAiB,UAAU,UAAU,UAAU,SAAS,UAAU,CACrE,eAAe,SAAS,CACxB,iBAAiB,QAAQ;EAE5B,MAAM,aAAa,eAAe,QAAQ,KAAK;EAI/C,MAAM,gBAAgB,KAAK,WAAW,UADR,eAAe,QAAQ,MAAM,CAAC,MAAM,EAAE,CACE,CAAC,MAAM,GAAG,CAAC;AACjF,MAAI,cAAc,aAAa,KAAK,QAAQ,aAAa,CACvD,OAAM,IAAI,MACR,qBAAqB,cAAc,2BAA2B,QAAQ,wDAEvE;AAGH,SAAO;UACA,KAAK;AACZ,MAAI,eAAe,SAAS,IAAI,QAAQ,SAAS,iBAAiB,CAAE,OAAM;AAC1E,QAAM,IAAI,MACR,8DAA8D,eAAe,QAAQ,IAAI,UAAU,OAAO,IAAI,GAC/G;;;AAwCL,eAAsB,0BACpB,QACA,SACiE;CACjE,MAAM,SAAS,QAAQ,gBAAgB;CACvC,MAAM,gBAAgB,UAAU,QAAQ;CACxC,MAAM,OAAO,QAAQ,aAAa;AAGlC,KAAI,QAAQ,iBAAiB,SAAS,gBACpC,OAAM,IAAI,MACR,0DAA0D,KAAK,6GAEhE;CAIH,IAAI;AAEJ,KAAI,QAAQ,UAEV,aAAY,QAAQ;MACf;EAGL,IAAI,WAAqE,EAAE;AAC3E,MAAI;AACF,cAAW,MAAM,OAAO,QAAyB;IAC/C,OAAO,QAAQ;IACf,SAAS;IACT,SAAS;KAAE,QAAQ;KAAsB,QAAQ,EAAE;KAAE;IACtD,CAAC;UACI;AAIR,MAAI,SAAS,SAAS,KAAK,SAAS,GAAG,OACrC,aAAY,OAAO,OAAO,SAAS,GAAG,OAAO;WACpC,QAAQ,eAAe;GAEhC,MAAM,cAAc,MAAM,OAAO,QAAuB;IACtD,OAAO,QAAQ;IACf,SAAS,UAAU,QAAQ;IAC3B,SAAS;KAAE,QAAQ;KAAgB,QAAQ,EAAE;KAAE;IAChD,CAAC;AAEF,OAAI,YAAY,WAAW,EACzB,OAAM,IAAI,MACR,uJAGD;AAGH,eAAY,MAAM,iBAChB,QAAQ,QAAQ,OAAO,QAAQ,eAAe,YAAY,GAC3D;QAED,OAAM,IAAI,MACR,yHAED;;CAKL,IAAI;AAEJ,KAAI,SAAS,gBAIX,WAAU,UAFI,UAAU,MAAM,QAAQ,WAAW,UAAU,CAAC,CACjC,QAAQ,MAAM,CAAC,MAAM,EAAE,CACjB,CAAC,MAAM,GAAG;KAG3C,WAAU,UAAU,OAAO,UAAU,CAAC;CAGxC,SAAS,WAAW,KAAsB;AACxC,SAAO,OAAO,OAAO,OAAO,QAAQ,OAAO,QAAQ,QAAQ,CAAC;;CAI9D,eAAe,WAAW,eAAuB,SAAqD;EACpG,MAAM,WAAW,MAAM,OAAO,QAQ3B;GACD,OAAO,QAAQ;GACf,SAAS;GACT,SAAS;IACP,QAAQ;IACR,QAAQ,CACN;KACE;KACA,SAAS;MACP,WAAW,OAAO,OAAO,QAAQ,UAAU;MAC3C,eAAe,OAAO,OAAO,QAAQ,cAAc;MACnD,SAAS,QAAQ;MACjB,eAAe,QAAQ,cAAc,UAAU;MAChD;KACF,CACF;IACF;GACF,CAAC;AAEF,SAAO;GACL,QAAQ;IACN,WAAW,OAAO,OAAO,SAAS,OAAO,UAAU;IACnD,eAAe,OAAO,OAAO,SAAS,OAAO,cAAc;IAC3D,SAAS,SAAS,OAAO;IACzB,eAAe,OAAO,SAAS,OAAO,cAAc;IACrD;GACD,WAAW;IACT,eAAe;AAEb,SAAI,SAAS,UAAU,QAAQ,KAAK,WAAW,IAAI,CACjD,QAAO;MACL,SAAS,SAAS,UAAU,QAAQ;MACpC,OAAO,OAAO,OAAO,SAAS,UAAU,QAAQ,MAAM;MACvD;KAIH,MAAM,KAAK,WAAW,WADP,SAAS,kBAAkB,iBAAiB,YACnB;AACxC,YAAO;MAAE,SAAS,GAAG;MAAS,OAAO,GAAG;MAAO;QAC7C;IACJ,WAAW,OAAO,OAAO,SAAS,UAAU,UAAU;IACvD;GACF;;CAGH,eAAe,UAAU,eAAuB,SAAmD;EACjG,MAAM,WAAW,MAAM,OAAO,QAG3B;GACD,OAAO,QAAQ;GACf,SAAS;GACT,SAAS;IACP,QAAQ;IACR,QAAQ,CACN;KACE;KACA;KACD,CACF;IACF;GACF,CAAC;AAEF,SAAO;GACL,QAAQ,SAAS;GACjB,WAAW;IACT,SAAS,SAAS,UAAU;IAC5B,WAAW,SAAS,UAAU;IAC/B;GACF;;CAIH,MAAM,OAAO;EACX,WAAW;EAEX,MAAM,eAAoC;AAAE,UAAO;;EAEnD,MAAM,WAAW,KAA+B;AAAE,UAAO,WAAW,IAAI;;EACxE;EACA;EACD;AAED,KAAI,QAAQ,eAAe;EACzB,MAAM,aAAa,QAAQ;EAC3B,MAAM,aAA4B,KAAK,WAAW,QAAQ;AAE1D,SAAO;GACL,GAAG;GACH;GACA,MAAM,aAAa,MAAuC;IACxD,MAAM,UAAU,KAAK,WAAW,KAAK;IAWrC,MAAM,WAAW,YAVF,MAAM,OAAO,QAAgB;KAC1C,OAAO,QAAQ;KACf,SAAS,UAAU;KACnB,SAAS;MACP,QAAQ;MACR,QAAQ,CAAC,SAAS,WAAW;MAC9B;KACF,CAAC,EAGiC,QAAQ,OAAO,GAAG,CAAC;AACtD,QAAI,SAAS,WAAW,GACtB,OAAM,IAAI,MAAM,sDAAsD,SAAS,OAAO,QAAQ;IAEhG,MAAM,IAAI,SAAS;AACnB,QAAI,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,MAAM,GAC1C,OAAM,IAAI,MAAM,gDAAgD,IAAI;AAEtE,WAAO,SAAS,MAAM,GAAG,GAAG;;GAE/B;;AAGH,QAAO"}
@@ -0,0 +1,2 @@
1
+ import { $o as BroadcastMode, Ci as AbiRegistryFor, Di as GetTxOptionsFor, Ei as GetTxOptions, Oi as TxNotFoundError, Si as AbiRegistry, Ti as DecodedTxMessage, _o as toAmino, ai as buildStdFee, bo as AminoMsg, ci as deserializeUnsignedTx, co as camelToSnake, di as makeEIP191SignBytes, do as getAminoFieldName, es as SignMode, fi as makeSignBytes, fo as getAminoType, go as sortObject, hi as serializeUnsignedTx, ho as snakeToCamel, ii as StdSignDoc, li as encodeTxDirect, lo as canonicalJSON, mi as serializeSignedTx, mo as shouldIncludeEmpty, ni as SignedTxDoc, oi as createSignedTx, pi as makeStdSignDoc, po as objectToAmino, ri as StdFee, si as deserializeSignedTx, so as base64ToUint8Array, ti as SignOptions, ui as makeAminoSignBytes, uo as fromAmino, vo as valueToAmino, wi as DecodedTx } from "./types-DGrP9Ro_.mjs";
2
+ export { type AbiRegistry, type AbiRegistryFor, type AminoMsg, BroadcastMode, type DecodedTx, type DecodedTxMessage, type GetTxOptions, type GetTxOptionsFor, SignMode, SignOptions, SignedTxDoc, StdFee, StdSignDoc, TxNotFoundError, base64ToUint8Array, buildStdFee, camelToSnake, canonicalJSON, createSignedTx, deserializeSignedTx, deserializeUnsignedTx, encodeTxDirect, fromAmino, getAminoFieldName, getAminoType, makeAminoSignBytes, makeEIP191SignBytes, makeSignBytes, makeStdSignDoc, objectToAmino, serializeSignedTx, serializeUnsignedTx, shouldIncludeEmpty, snakeToCamel, sortObject, toAmino, valueToAmino };
@@ -0,0 +1,6 @@
1
+ import { a as getAminoFieldName, c as shouldIncludeEmpty, d as toAmino, f as valueToAmino, i as fromAmino, l as snakeToCamel, n as camelToSnake, o as getAminoType, r as canonicalJSON, s as objectToAmino, t as base64ToUint8Array, u as sortObject } from "./amino-CMQN7Frn.mjs";
2
+ import { x as SignMode } from "./public-key-DV-uGaUC.mjs";
3
+ import { t as TxNotFoundError } from "./get-tx-0P40z_A4.mjs";
4
+ import { a as encodeTxDirect, c as makeSignBytes, d as serializeUnsignedTx, i as deserializeUnsignedTx, l as makeStdSignDoc, n as createSignedTx, o as makeAminoSignBytes, r as deserializeSignedTx, s as makeEIP191SignBytes, t as buildStdFee, u as serializeSignedTx } from "./sign-DqagxLcg.mjs";
5
+ import { t as BroadcastMode } from "./service_pb-Be-O-2-c.mjs";
6
+ export { BroadcastMode, SignMode, TxNotFoundError, base64ToUint8Array, buildStdFee, camelToSnake, canonicalJSON, createSignedTx, deserializeSignedTx, deserializeUnsignedTx, encodeTxDirect, fromAmino, getAminoFieldName, getAminoType, makeAminoSignBytes, makeEIP191SignBytes, makeSignBytes, makeStdSignDoc, objectToAmino, serializeSignedTx, serializeUnsignedTx, shouldIncludeEmpty, snakeToCamel, sortObject, toAmino, valueToAmino };
@@ -0,0 +1,42 @@
1
+ import { a as getUsernamesApiUrl, c as UsernameCache, d as UsernameRecord, f as UsernameResolveOptions, i as createUsernameService, l as createUsernameCache, n as UsernameServiceOptions, o as isUsernameServiceSupported, p as UsernameServiceError, r as createUnsupportedUsernameService, s as CACHE_TTL, t as UsernameService, u as UsernameMetadata } from "./service-CVFxsMp_.mjs";
2
+
3
+ //#region src/client/usernames/utils.d.ts
4
+ /**
5
+ * Utility functions for the Initia Usernames service.
6
+ */
7
+ /**
8
+ * Normalize username for internal use and API calls.
9
+ * Removes .init suffix and converts to lowercase.
10
+ *
11
+ * @example
12
+ * normalizeName('Pseudo.INIT') // 'pseudo'
13
+ * normalizeName('pseudo') // 'pseudo'
14
+ */
15
+ declare function normalizeName(name: string): string;
16
+ /**
17
+ * Create display name with .init suffix.
18
+ *
19
+ * @example
20
+ * getDisplayName('pseudo') // 'pseudo.init'
21
+ */
22
+ declare function getDisplayName(name: string): string;
23
+ /**
24
+ * Normalize address to lowercase hex for use as cache key.
25
+ * Accepts both bech32 (init1...) and hex (0x...) formats.
26
+ *
27
+ * @example
28
+ * normalizeAddress('init1q6dd...') // '0x69ad...'
29
+ * normalizeAddress('0x69AD...') // '0x69ad...'
30
+ */
31
+ declare function normalizeAddress(address: string): string;
32
+ /**
33
+ * Format hex address for output.
34
+ *
35
+ * @example
36
+ * formatAddress('0x69ad...', 'hex') // '0x69ad...'
37
+ * formatAddress('0x69ad...', 'bech32') // 'init1q6dd...'
38
+ */
39
+ declare function formatAddress(hex: string, format?: 'hex' | 'bech32'): string;
40
+ //#endregion
41
+ export { CACHE_TTL, UsernameCache, UsernameMetadata, UsernameRecord, UsernameResolveOptions, UsernameService, UsernameServiceError, UsernameServiceOptions, createUnsupportedUsernameService, createUsernameCache, createUsernameService, formatAddress, getDisplayName, getUsernamesApiUrl, isUsernameServiceSupported, normalizeAddress, normalizeName };
42
+ //# sourceMappingURL=entry.usernames.d.mts.map
@@ -0,0 +1,2 @@
1
+ import { a as CACHE_TTL, c as getDisplayName, d as UsernameServiceError, i as isUsernameServiceSupported, l as normalizeAddress, n as createUsernameService, o as createUsernameCache, r as getUsernamesApiUrl, s as formatAddress, t as createUnsupportedUsernameService, u as normalizeName } from "./service-BaMjxPNo.mjs";
2
+ export { CACHE_TTL, UsernameServiceError, createUnsupportedUsernameService, createUsernameCache, createUsernameService, formatAddress, getDisplayName, getUsernamesApiUrl, isUsernameServiceSupported, normalizeAddress, normalizeName };
@@ -0,0 +1,103 @@
1
+ import { $i as OwnerOfResponse, $r as isValidEvmAddress, Jr as AccPubKey, Qi as NftInfo, Qr as ValPubKey, Xi as NftApproval, Xr as ValAddress, Yr as FromHexOptions, Zi as NftExpiration, Zr as ValConsAddress, ea as TokenInfo, ei as toChecksumAddress, qr as AccAddress, sa as ContractError } from "./types-DGrP9Ro_.mjs";
2
+ import { Any } from "@bufbuild/protobuf/wkt";
3
+ import { sha256 } from "@noble/hashes/sha2.js";
4
+ import { ripemd160 } from "@noble/hashes/legacy.js";
5
+ import { keccak_256 as keccak256 } from "@noble/hashes/sha3.js";
6
+ import { formatUnits, parseUnits } from "viem";
7
+
8
+ //#region src/util/public-key.d.ts
9
+ /**
10
+ * Supported public key types.
11
+ * - secp256k1: Cosmos-style (sha256 + ripemd160)
12
+ * - ethsecp256k1: EVM-style (keccak256)
13
+ * - ed25519: Validator consensus keys
14
+ * - multisig: Threshold multisig (LegacyAminoPubKey), address derived via sha256 truncation
15
+ */
16
+ type PublicKeyType = 'secp256k1' | 'ethsecp256k1' | 'ed25519' | 'multisig';
17
+ /**
18
+ * Convert public key bytes to bech32 address.
19
+ * @param pubKey - Compressed public key bytes (33 bytes for secp256k1, 32 bytes for ed25519)
20
+ * @param type - Public key type (default: ethsecp256k1)
21
+ * @returns Bech32-encoded address
22
+ */
23
+ declare function pubKeyToAddress(pubKey: Uint8Array, type?: PublicKeyType): string;
24
+ /**
25
+ * Pack public key bytes into protobuf Any.
26
+ * @param pubKey - Public key bytes
27
+ * @param type - Public key type (default: ethsecp256k1)
28
+ * @returns Packed Any message
29
+ */
30
+ declare function packPubKey(pubKey: Uint8Array, type?: PublicKeyType): Any;
31
+ /**
32
+ * Unpack protobuf Any to public key bytes.
33
+ * @param any - Packed Any message containing a public key
34
+ * @returns Public key bytes and type
35
+ * @throws Error if unknown public key type
36
+ */
37
+ declare function unpackPubKey(any: Any): {
38
+ pubKey: Uint8Array;
39
+ type: PublicKeyType;
40
+ };
41
+ //#endregion
42
+ //#region src/util/denom.d.ts
43
+ /**
44
+ * Denom type classification based on prefix.
45
+ */
46
+ type DenomType = 'native' | 'ibc' | 'evm' | 'move' | 'l2' | 'cw20' | 'factory';
47
+ /**
48
+ * Detect denom type from prefix.
49
+ */
50
+ declare function getDenomType(denom: string): DenomType;
51
+ /**
52
+ * Extract hash from IBC denom.
53
+ * @example getIbcDenomHash('ibc/ABC123...') → 'ABC123...'
54
+ */
55
+ declare function getIbcDenomHash(denom: string): string | undefined;
56
+ /**
57
+ * Create IBC denom from transfer path.
58
+ * @param path - e.g., 'transfer/channel-0/uinit'
59
+ */
60
+ declare function createIbcDenom(path: string): string;
61
+ /**
62
+ * Extract contract address from EVM denom.
63
+ * @example getEvmContractAddress('evm/ABC123...') → '0xABC123...'
64
+ */
65
+ declare function getEvmContractAddress(denom: string): string | undefined;
66
+ /**
67
+ * Parse Move denom into address, module, and name.
68
+ * @example getMoveAssetInfo('move/0x1::aptos_coin::AptosCoin')
69
+ * → { address: '0x1', module: 'aptos_coin', name: 'AptosCoin' }
70
+ */
71
+ declare function getMoveAssetInfo(denom: string): {
72
+ address: string;
73
+ module: string;
74
+ name: string;
75
+ } | undefined;
76
+ /**
77
+ * Extract contract address from CW20 denom.
78
+ * @example getCw20ContractAddress('cw20:juno1abc...') → 'juno1abc...'
79
+ */
80
+ declare function getCw20ContractAddress(denom: string): string | undefined;
81
+ //#endregion
82
+ //#region src/util/amount.d.ts
83
+ /**
84
+ * Format a base amount for human-readable display.
85
+ *
86
+ * Built on top of formatUnits with additional display options:
87
+ * maxDecimals, minDecimals, and trimTrailingZeros.
88
+ *
89
+ * Note: maxDecimals uses truncation (not rounding).
90
+ * e.g., '1.23456' + maxDecimals: 4 → '1.2345' (not '1.2346')
91
+ *
92
+ * @example formatTokenAmount('1500000', 6) → '1.5'
93
+ * @example formatTokenAmount('1000000', 6, { minDecimals: 2 }) → '1.00'
94
+ * @example formatTokenAmount('1234567890123456789', 18, { maxDecimals: 4 }) → '1.2345'
95
+ */
96
+ declare function formatTokenAmount(amount: string | bigint, decimals: number, options?: {
97
+ maxDecimals?: number;
98
+ minDecimals?: number;
99
+ trimTrailingZeros?: boolean;
100
+ }): string;
101
+ //#endregion
102
+ export { AccAddress, AccPubKey, ContractError, type DenomType, type FromHexOptions, type NftApproval, type NftExpiration, type NftInfo, type OwnerOfResponse, type PublicKeyType, type TokenInfo, ValAddress, ValConsAddress, ValPubKey, createIbcDenom, formatTokenAmount, formatUnits, getCw20ContractAddress, getDenomType, getEvmContractAddress, getIbcDenomHash, getMoveAssetInfo, isValidEvmAddress, keccak256, packPubKey, parseUnits, pubKeyToAddress, ripemd160, sha256, toChecksumAddress, unpackPubKey };
103
+ //# sourceMappingURL=entry.util.d.mts.map
@@ -0,0 +1,70 @@
1
+ import { o as ContractError } from "./errors-CN1MFOLv.mjs";
2
+ import { i as unpackPubKey, n as packPubKey, r as pubKeyToAddress } from "./public-key-DV-uGaUC.mjs";
3
+ import { i as sha256, n as keccak256, r as ripemd160 } from "./hash-D40mxOlF.mjs";
4
+ import { a as ValPubKey, i as ValConsAddress, n as AccPubKey, o as isValidEvmAddress, r as ValAddress, s as toChecksumAddress, t as AccAddress } from "./address-DwAkzgJk.mjs";
5
+ import { t as formatTokenAmount } from "./amount-B0J9TTNF.mjs";
6
+ import { n as parseUnits, t as formatUnits } from "./utils-B2carKSi.mjs";
7
+ import { bytesToHex } from "@noble/hashes/utils.js";
8
+ //#region src/util/denom.ts
9
+ /**
10
+ * Detect denom type from prefix.
11
+ */
12
+ function getDenomType(denom) {
13
+ if (denom.startsWith("ibc/")) return "ibc";
14
+ if (denom.startsWith("evm/")) return "evm";
15
+ if (denom.startsWith("move/")) return "move";
16
+ if (denom.startsWith("l2/")) return "l2";
17
+ if (denom.startsWith("cw20:")) return "cw20";
18
+ if (denom.startsWith("factory/")) return "factory";
19
+ return "native";
20
+ }
21
+ /**
22
+ * Extract hash from IBC denom.
23
+ * @example getIbcDenomHash('ibc/ABC123...') → 'ABC123...'
24
+ */
25
+ function getIbcDenomHash(denom) {
26
+ if (!denom.startsWith("ibc/")) return void 0;
27
+ return denom.slice(4);
28
+ }
29
+ /**
30
+ * Create IBC denom from transfer path.
31
+ * @param path - e.g., 'transfer/channel-0/uinit'
32
+ */
33
+ function createIbcDenom(path) {
34
+ return `ibc/${bytesToHex(sha256(new TextEncoder().encode(path))).toUpperCase()}`;
35
+ }
36
+ /**
37
+ * Extract contract address from EVM denom.
38
+ * @example getEvmContractAddress('evm/ABC123...') → '0xABC123...'
39
+ */
40
+ function getEvmContractAddress(denom) {
41
+ if (!denom.startsWith("evm/")) return void 0;
42
+ return `0x${denom.slice(4)}`;
43
+ }
44
+ /**
45
+ * Parse Move denom into address, module, and name.
46
+ * @example getMoveAssetInfo('move/0x1::aptos_coin::AptosCoin')
47
+ * → { address: '0x1', module: 'aptos_coin', name: 'AptosCoin' }
48
+ */
49
+ function getMoveAssetInfo(denom) {
50
+ if (!denom.startsWith("move/")) return void 0;
51
+ const parts = denom.slice(5).split("::");
52
+ if (parts.length !== 3) return void 0;
53
+ return {
54
+ address: parts[0],
55
+ module: parts[1],
56
+ name: parts[2]
57
+ };
58
+ }
59
+ /**
60
+ * Extract contract address from CW20 denom.
61
+ * @example getCw20ContractAddress('cw20:juno1abc...') → 'juno1abc...'
62
+ */
63
+ function getCw20ContractAddress(denom) {
64
+ if (!denom.startsWith("cw20:")) return void 0;
65
+ return denom.slice(5);
66
+ }
67
+ //#endregion
68
+ export { AccAddress, AccPubKey, ContractError, ValAddress, ValConsAddress, ValPubKey, createIbcDenom, formatTokenAmount, formatUnits, getCw20ContractAddress, getDenomType, getEvmContractAddress, getIbcDenomHash, getMoveAssetInfo, isValidEvmAddress, keccak256, packPubKey, parseUnits, pubKeyToAddress, ripemd160, sha256, toChecksumAddress, unpackPubKey };
69
+
70
+ //# sourceMappingURL=entry.util.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.util.mjs","names":[],"sources":["../src/util/denom.ts"],"sourcesContent":["import { sha256 } from './hash'\nimport { bytesToHex } from '@noble/hashes/utils.js'\n\n/**\n * Denom type classification based on prefix.\n */\nexport type DenomType = 'native' | 'ibc' | 'evm' | 'move' | 'l2' | 'cw20' | 'factory'\n\n/**\n * Detect denom type from prefix.\n */\nexport function getDenomType(denom: string): DenomType {\n if (denom.startsWith('ibc/')) return 'ibc'\n if (denom.startsWith('evm/')) return 'evm'\n if (denom.startsWith('move/')) return 'move'\n if (denom.startsWith('l2/')) return 'l2'\n if (denom.startsWith('cw20:')) return 'cw20'\n if (denom.startsWith('factory/')) return 'factory'\n return 'native'\n}\n\n/**\n * Extract hash from IBC denom.\n * @example getIbcDenomHash('ibc/ABC123...') → 'ABC123...'\n */\nexport function getIbcDenomHash(denom: string): string | undefined {\n if (!denom.startsWith('ibc/')) return undefined\n return denom.slice(4)\n}\n\n/**\n * Create IBC denom from transfer path.\n * @param path - e.g., 'transfer/channel-0/uinit'\n */\nexport function createIbcDenom(path: string): string {\n const hash = sha256(new TextEncoder().encode(path))\n return `ibc/${bytesToHex(hash).toUpperCase()}`\n}\n\n/**\n * Extract contract address from EVM denom.\n * @example getEvmContractAddress('evm/ABC123...') → '0xABC123...'\n */\nexport function getEvmContractAddress(denom: string): string | undefined {\n if (!denom.startsWith('evm/')) return undefined\n return `0x${denom.slice(4)}`\n}\n\n/**\n * Parse Move denom into address, module, and name.\n * @example getMoveAssetInfo('move/0x1::aptos_coin::AptosCoin')\n * → { address: '0x1', module: 'aptos_coin', name: 'AptosCoin' }\n */\nexport function getMoveAssetInfo(denom: string):\n | {\n address: string\n module: string\n name: string\n }\n | undefined {\n if (!denom.startsWith('move/')) return undefined\n const parts = denom.slice(5).split('::')\n if (parts.length !== 3) return undefined\n return { address: parts[0], module: parts[1], name: parts[2] }\n}\n\n/**\n * Extract contract address from CW20 denom.\n * @example getCw20ContractAddress('cw20:juno1abc...') → 'juno1abc...'\n */\nexport function getCw20ContractAddress(denom: string): string | undefined {\n if (!denom.startsWith('cw20:')) return undefined\n return denom.slice(5)\n}\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,aAAa,OAA0B;AACrD,KAAI,MAAM,WAAW,OAAO,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,OAAO,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,QAAQ,CAAE,QAAO;AACtC,KAAI,MAAM,WAAW,MAAM,CAAE,QAAO;AACpC,KAAI,MAAM,WAAW,QAAQ,CAAE,QAAO;AACtC,KAAI,MAAM,WAAW,WAAW,CAAE,QAAO;AACzC,QAAO;;;;;;AAOT,SAAgB,gBAAgB,OAAmC;AACjE,KAAI,CAAC,MAAM,WAAW,OAAO,CAAE,QAAO,KAAA;AACtC,QAAO,MAAM,MAAM,EAAE;;;;;;AAOvB,SAAgB,eAAe,MAAsB;AAEnD,QAAO,OAAO,WADD,OAAO,IAAI,aAAa,CAAC,OAAO,KAAK,CAAC,CACrB,CAAC,aAAa;;;;;;AAO9C,SAAgB,sBAAsB,OAAmC;AACvE,KAAI,CAAC,MAAM,WAAW,OAAO,CAAE,QAAO,KAAA;AACtC,QAAO,KAAK,MAAM,MAAM,EAAE;;;;;;;AAQ5B,SAAgB,iBAAiB,OAMnB;AACZ,KAAI,CAAC,MAAM,WAAW,QAAQ,CAAE,QAAO,KAAA;CACvC,MAAM,QAAQ,MAAM,MAAM,EAAE,CAAC,MAAM,KAAK;AACxC,KAAI,MAAM,WAAW,EAAG,QAAO,KAAA;AAC/B,QAAO;EAAE,SAAS,MAAM;EAAI,QAAQ,MAAM;EAAI,MAAM,MAAM;EAAI;;;;;;AAOhE,SAAgB,uBAAuB,OAAmC;AACxE,KAAI,CAAC,MAAM,WAAW,QAAQ,CAAE,QAAO,KAAA;AACvC,QAAO,MAAM,MAAM,EAAE"}