@xpla/xpla-react 1.7.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +47 -0
  3. package/src/amino/amino.ts +1 -0
  4. package/src/binary.ts +534 -0
  5. package/src/cosmos/app/runtime/v1alpha1/module.ts +423 -0
  6. package/src/cosmos/app/runtime/v2/module.ts +589 -0
  7. package/src/cosmos/app/v1alpha1/config.ts +422 -0
  8. package/src/cosmos/app/v1alpha1/module.ts +461 -0
  9. package/src/cosmos/app/v1alpha1/query.rpc.func.ts +14 -0
  10. package/src/cosmos/app/v1alpha1/query.ts +177 -0
  11. package/src/cosmos/auth/module/v1/module.ts +253 -0
  12. package/src/cosmos/auth/v1beta1/accounts.ts +226 -0
  13. package/src/cosmos/auth/v1beta1/auth.ts +550 -0
  14. package/src/cosmos/auth/v1beta1/genesis.ts +119 -0
  15. package/src/cosmos/auth/v1beta1/query.rpc.func.ts +113 -0
  16. package/src/cosmos/auth/v1beta1/query.ts +2034 -0
  17. package/src/cosmos/auth/v1beta1/tx.registry.ts +29 -0
  18. package/src/cosmos/auth/v1beta1/tx.rpc.func.ts +13 -0
  19. package/src/cosmos/auth/v1beta1/tx.ts +219 -0
  20. package/src/cosmos/authz/module/v1/module.ts +80 -0
  21. package/src/cosmos/authz/v1beta1/authz.ts +481 -0
  22. package/src/cosmos/authz/v1beta1/event.ts +259 -0
  23. package/src/cosmos/authz/v1beta1/genesis.ts +100 -0
  24. package/src/cosmos/authz/v1beta1/query.rpc.func.ts +36 -0
  25. package/src/cosmos/authz/v1beta1/query.ts +707 -0
  26. package/src/cosmos/authz/v1beta1/tx.registry.ts +65 -0
  27. package/src/cosmos/authz/v1beta1/tx.rpc.func.ts +31 -0
  28. package/src/cosmos/authz/v1beta1/tx.ts +647 -0
  29. package/src/cosmos/autocli/v1/options.ts +1145 -0
  30. package/src/cosmos/autocli/v1/query.rpc.func.ts +14 -0
  31. package/src/cosmos/autocli/v1/query.ts +288 -0
  32. package/src/cosmos/bank/module/v1/module.ts +153 -0
  33. package/src/cosmos/bank/v1beta1/authz.ts +138 -0
  34. package/src/cosmos/bank/v1beta1/bank.ts +974 -0
  35. package/src/cosmos/bank/v1beta1/genesis.ts +307 -0
  36. package/src/cosmos/bank/v1beta1/query.rpc.func.ts +146 -0
  37. package/src/cosmos/bank/v1beta1/query.ts +3027 -0
  38. package/src/cosmos/bank/v1beta1/tx.registry.ts +83 -0
  39. package/src/cosmos/bank/v1beta1/tx.rpc.func.ts +40 -0
  40. package/src/cosmos/bank/v1beta1/tx.ts +861 -0
  41. package/src/cosmos/base/abci/v1beta1/abci.ts +1698 -0
  42. package/src/cosmos/base/grpc/v2/service.rpc.func.ts +25 -0
  43. package/src/cosmos/base/grpc/v2/service.ts +473 -0
  44. package/src/cosmos/base/node/v1beta1/query.rpc.func.ts +25 -0
  45. package/src/cosmos/base/node/v1beta1/query.ts +454 -0
  46. package/src/cosmos/base/query/v1beta1/pagination.ts +361 -0
  47. package/src/cosmos/base/reflection/v1beta1/reflection.rpc.func.ts +25 -0
  48. package/src/cosmos/base/reflection/v1beta1/reflection.ts +382 -0
  49. package/src/cosmos/base/reflection/v2alpha1/reflection.rpc.func.ts +69 -0
  50. package/src/cosmos/base/reflection/v2alpha1/reflection.ts +2727 -0
  51. package/src/cosmos/base/tendermint/v1beta1/query.rpc.func.ts +80 -0
  52. package/src/cosmos/base/tendermint/v1beta1/query.ts +2302 -0
  53. package/src/cosmos/base/tendermint/v1beta1/types.ts +455 -0
  54. package/src/cosmos/base/v1beta1/coin.ts +439 -0
  55. package/src/cosmos/circuit/module/v1/module.ts +99 -0
  56. package/src/cosmos/circuit/v1/query.rpc.func.ts +36 -0
  57. package/src/cosmos/circuit/v1/query.ts +574 -0
  58. package/src/cosmos/circuit/v1/tx.registry.ts +65 -0
  59. package/src/cosmos/circuit/v1/tx.rpc.func.ts +31 -0
  60. package/src/cosmos/circuit/v1/tx.ts +676 -0
  61. package/src/cosmos/circuit/v1/types.ts +413 -0
  62. package/src/cosmos/consensus/module/v1/module.ts +99 -0
  63. package/src/cosmos/consensus/v1/query.rpc.func.ts +14 -0
  64. package/src/cosmos/consensus/v1/query.ts +185 -0
  65. package/src/cosmos/consensus/v1/tx.registry.ts +29 -0
  66. package/src/cosmos/consensus/v1/tx.rpc.func.ts +13 -0
  67. package/src/cosmos/consensus/v1/tx.ts +255 -0
  68. package/src/cosmos/crisis/module/v1/module.ts +115 -0
  69. package/src/cosmos/crisis/v1beta1/genesis.ts +106 -0
  70. package/src/cosmos/crisis/v1beta1/tx.registry.ts +47 -0
  71. package/src/cosmos/crisis/v1beta1/tx.rpc.func.ts +22 -0
  72. package/src/cosmos/crisis/v1beta1/tx.ts +416 -0
  73. package/src/cosmos/crypto/ed25519/keys.ts +209 -0
  74. package/src/cosmos/crypto/hd/v1/hd.ts +169 -0
  75. package/src/cosmos/crypto/keyring/v1/record.ts +529 -0
  76. package/src/cosmos/crypto/multisig/keys.ts +122 -0
  77. package/src/cosmos/crypto/multisig/v1beta1/multisig.ts +225 -0
  78. package/src/cosmos/crypto/secp256k1/keys.ts +203 -0
  79. package/src/cosmos/crypto/secp256r1/keys.ts +201 -0
  80. package/src/cosmos/distribution/module/v1/module.ts +113 -0
  81. package/src/cosmos/distribution/v1beta1/distribution.ts +1494 -0
  82. package/src/cosmos/distribution/v1beta1/genesis.ts +1129 -0
  83. package/src/cosmos/distribution/v1beta1/query.rpc.func.ts +113 -0
  84. package/src/cosmos/distribution/v1beta1/query.ts +2126 -0
  85. package/src/cosmos/distribution/v1beta1/tx.registry.ts +137 -0
  86. package/src/cosmos/distribution/v1beta1/tx.rpc.func.ts +67 -0
  87. package/src/cosmos/distribution/v1beta1/tx.ts +1478 -0
  88. package/src/cosmos/evidence/module/v1/module.ts +80 -0
  89. package/src/cosmos/evidence/v1beta1/evidence.ts +154 -0
  90. package/src/cosmos/evidence/v1beta1/genesis.ts +102 -0
  91. package/src/cosmos/evidence/v1beta1/query.rpc.func.ts +25 -0
  92. package/src/cosmos/evidence/v1beta1/query.ts +451 -0
  93. package/src/cosmos/evidence/v1beta1/tx.registry.ts +29 -0
  94. package/src/cosmos/evidence/v1beta1/tx.rpc.func.ts +13 -0
  95. package/src/cosmos/evidence/v1beta1/tx.ts +221 -0
  96. package/src/cosmos/feegrant/module/v1/module.ts +80 -0
  97. package/src/cosmos/feegrant/v1beta1/feegrant.ts +573 -0
  98. package/src/cosmos/feegrant/v1beta1/genesis.ts +100 -0
  99. package/src/cosmos/feegrant/v1beta1/query.rpc.func.ts +36 -0
  100. package/src/cosmos/feegrant/v1beta1/query.ts +677 -0
  101. package/src/cosmos/feegrant/v1beta1/tx.registry.ts +65 -0
  102. package/src/cosmos/feegrant/v1beta1/tx.rpc.func.ts +31 -0
  103. package/src/cosmos/feegrant/v1beta1/tx.ts +597 -0
  104. package/src/cosmos/genutil/module/v1/module.ts +80 -0
  105. package/src/cosmos/genutil/v1beta1/genesis.ts +101 -0
  106. package/src/cosmos/gov/module/v1/module.ts +121 -0
  107. package/src/cosmos/gov/v1/genesis.ts +280 -0
  108. package/src/cosmos/gov/v1/gov.ts +1843 -0
  109. package/src/cosmos/gov/v1/query.rpc.func.ts +102 -0
  110. package/src/cosmos/gov/v1/query.ts +1970 -0
  111. package/src/cosmos/gov/v1/tx.registry.ts +137 -0
  112. package/src/cosmos/gov/v1/tx.rpc.func.ts +67 -0
  113. package/src/cosmos/gov/v1/tx.ts +1657 -0
  114. package/src/cosmos/gov/v1beta1/genesis.ts +202 -0
  115. package/src/cosmos/gov/v1beta1/gov.ts +1425 -0
  116. package/src/cosmos/gov/v1beta1/query.rpc.func.ts +91 -0
  117. package/src/cosmos/gov/v1beta1/query.ts +1749 -0
  118. package/src/cosmos/gov/v1beta1/tx.registry.ts +83 -0
  119. package/src/cosmos/gov/v1beta1/tx.rpc.func.ts +40 -0
  120. package/src/cosmos/gov/v1beta1/tx.ts +881 -0
  121. package/src/cosmos/group/module/v1/module.ts +128 -0
  122. package/src/cosmos/group/v1/events.ts +1044 -0
  123. package/src/cosmos/group/v1/genesis.ts +240 -0
  124. package/src/cosmos/group/v1/query.rpc.func.ts +157 -0
  125. package/src/cosmos/group/v1/query.ts +3015 -0
  126. package/src/cosmos/group/v1/tx.registry.ts +263 -0
  127. package/src/cosmos/group/v1/tx.rpc.func.ts +130 -0
  128. package/src/cosmos/group/v1/tx.ts +3207 -0
  129. package/src/cosmos/group/v1/types.ts +2081 -0
  130. package/src/cosmos/ics23/v1/proofs.ts +2060 -0
  131. package/src/cosmos/mint/module/v1/module.ts +113 -0
  132. package/src/cosmos/mint/v1beta1/genesis.ts +116 -0
  133. package/src/cosmos/mint/v1beta1/mint.ts +291 -0
  134. package/src/cosmos/mint/v1beta1/query.rpc.func.ts +36 -0
  135. package/src/cosmos/mint/v1beta1/query.ts +541 -0
  136. package/src/cosmos/mint/v1beta1/tx.registry.ts +29 -0
  137. package/src/cosmos/mint/v1beta1/tx.rpc.func.ts +13 -0
  138. package/src/cosmos/mint/v1beta1/tx.ts +219 -0
  139. package/src/cosmos/msg/textual/v1/textual.ts +1 -0
  140. package/src/cosmos/msg/v1/msg.ts +1 -0
  141. package/src/cosmos/nft/module/v1/module.ts +80 -0
  142. package/src/cosmos/nft/v1beta1/event.ts +403 -0
  143. package/src/cosmos/nft/v1beta1/genesis.ts +234 -0
  144. package/src/cosmos/nft/v1beta1/nft.ts +356 -0
  145. package/src/cosmos/nft/v1beta1/query.rpc.func.ts +80 -0
  146. package/src/cosmos/nft/v1beta1/query.ts +1465 -0
  147. package/src/cosmos/nft/v1beta1/tx.registry.ts +29 -0
  148. package/src/cosmos/nft/v1beta1/tx.rpc.func.ts +13 -0
  149. package/src/cosmos/nft/v1beta1/tx.ts +224 -0
  150. package/src/cosmos/orm/module/v1alpha1/module.ts +88 -0
  151. package/src/cosmos/orm/query/v1alpha1/query.rpc.func.ts +25 -0
  152. package/src/cosmos/orm/query/v1alpha1/query.ts +993 -0
  153. package/src/cosmos/orm/v1/orm.ts +589 -0
  154. package/src/cosmos/orm/v1alpha1/schema.ts +325 -0
  155. package/src/cosmos/params/module/v1/module.ts +80 -0
  156. package/src/cosmos/params/v1beta1/params.ts +255 -0
  157. package/src/cosmos/params/v1beta1/query.rpc.func.ts +25 -0
  158. package/src/cosmos/params/v1beta1/query.ts +525 -0
  159. package/src/cosmos/query/v1/query.ts +1 -0
  160. package/src/cosmos/reflection/v1/reflection.rpc.func.ts +14 -0
  161. package/src/cosmos/reflection/v1/reflection.ts +179 -0
  162. package/src/cosmos/slashing/module/v1/module.ts +99 -0
  163. package/src/cosmos/slashing/v1beta1/genesis.ts +492 -0
  164. package/src/cosmos/slashing/v1beta1/query.rpc.func.ts +36 -0
  165. package/src/cosmos/slashing/v1beta1/query.ts +598 -0
  166. package/src/cosmos/slashing/v1beta1/slashing.ts +357 -0
  167. package/src/cosmos/slashing/v1beta1/tx.registry.ts +47 -0
  168. package/src/cosmos/slashing/v1beta1/tx.rpc.func.ts +22 -0
  169. package/src/cosmos/slashing/v1beta1/tx.ts +390 -0
  170. package/src/cosmos/staking/module/v1/module.ts +157 -0
  171. package/src/cosmos/staking/v1beta1/authz.ts +323 -0
  172. package/src/cosmos/staking/v1beta1/genesis.ts +346 -0
  173. package/src/cosmos/staking/v1beta1/query.rpc.func.ts +157 -0
  174. package/src/cosmos/staking/v1beta1/query.ts +3073 -0
  175. package/src/cosmos/staking/v1beta1/staking.ts +3005 -0
  176. package/src/cosmos/staking/v1beta1/tx.registry.ts +137 -0
  177. package/src/cosmos/staking/v1beta1/tx.rpc.func.ts +67 -0
  178. package/src/cosmos/staking/v1beta1/tx.ts +1638 -0
  179. package/src/cosmos/store/internal/kv/v1beta1/kv.ts +207 -0
  180. package/src/cosmos/store/snapshots/v1/snapshot.ts +863 -0
  181. package/src/cosmos/store/snapshots/v2/snapshot.ts +823 -0
  182. package/src/cosmos/store/streaming/abci/grpc.ts +393 -0
  183. package/src/cosmos/store/v1beta1/commit_info.ts +362 -0
  184. package/src/cosmos/store/v1beta1/listening.ts +286 -0
  185. package/src/cosmos/streaming/v1/grpc.ts +985 -0
  186. package/src/cosmos/tx/config/v1/config.ts +127 -0
  187. package/src/cosmos/tx/signing/v1beta1/signing.ts +688 -0
  188. package/src/cosmos/tx/v1beta1/service.rpc.func.ts +102 -0
  189. package/src/cosmos/tx/v1beta1/service.ts +2294 -0
  190. package/src/cosmos/tx/v1beta1/tx.ts +2029 -0
  191. package/src/cosmos/upgrade/module/v1/module.ts +99 -0
  192. package/src/cosmos/upgrade/v1beta1/query.rpc.func.ts +58 -0
  193. package/src/cosmos/upgrade/v1beta1/query.ts +1016 -0
  194. package/src/cosmos/upgrade/v1beta1/tx.registry.ts +47 -0
  195. package/src/cosmos/upgrade/v1beta1/tx.rpc.func.ts +22 -0
  196. package/src/cosmos/upgrade/v1beta1/tx.ts +398 -0
  197. package/src/cosmos/upgrade/v1beta1/upgrade.ts +591 -0
  198. package/src/cosmos/validate/module/v1/module.ts +80 -0
  199. package/src/cosmos/vesting/module/v1/module.ts +80 -0
  200. package/src/cosmos/vesting/v1beta1/tx.registry.ts +65 -0
  201. package/src/cosmos/vesting/v1beta1/tx.rpc.func.ts +31 -0
  202. package/src/cosmos/vesting/v1beta1/tx.ts +698 -0
  203. package/src/cosmos/vesting/v1beta1/vesting.ts +735 -0
  204. package/src/cosmos_proto/cosmos.ts +341 -0
  205. package/src/cosmwasm/wasm/v1/authz.ts +1231 -0
  206. package/src/cosmwasm/wasm/v1/genesis.ts +532 -0
  207. package/src/cosmwasm/wasm/v1/ibc.ts +355 -0
  208. package/src/cosmwasm/wasm/v1/proposal_legacy.ts +2432 -0
  209. package/src/cosmwasm/wasm/v1/query.rpc.func.ts +124 -0
  210. package/src/cosmwasm/wasm/v1/query.ts +2560 -0
  211. package/src/cosmwasm/wasm/v1/tx.registry.ts +317 -0
  212. package/src/cosmwasm/wasm/v1/tx.rpc.func.ts +157 -0
  213. package/src/cosmwasm/wasm/v1/tx.ts +4191 -0
  214. package/src/cosmwasm/wasm/v1/types.ts +1120 -0
  215. package/src/ethermint/crypto/v1/ethsecp256k1/keys.ts +193 -0
  216. package/src/ethermint/evm/v1/events.ts +485 -0
  217. package/src/ethermint/evm/v1/evm.ts +1590 -0
  218. package/src/ethermint/evm/v1/genesis.ts +240 -0
  219. package/src/ethermint/evm/v1/query.rpc.func.ts +136 -0
  220. package/src/ethermint/evm/v1/query.ts +2535 -0
  221. package/src/ethermint/evm/v1/tx.registry.ts +47 -0
  222. package/src/ethermint/evm/v1/tx.rpc.func.ts +22 -0
  223. package/src/ethermint/evm/v1/tx.ts +1333 -0
  224. package/src/ethermint/feemarket/v1/events.ts +195 -0
  225. package/src/ethermint/feemarket/v1/feemarket.ts +213 -0
  226. package/src/ethermint/feemarket/v1/genesis.ts +114 -0
  227. package/src/ethermint/feemarket/v1/query.rpc.func.ts +36 -0
  228. package/src/ethermint/feemarket/v1/query.ts +487 -0
  229. package/src/ethermint/feemarket/v1/tx.registry.ts +29 -0
  230. package/src/ethermint/feemarket/v1/tx.rpc.func.ts +13 -0
  231. package/src/ethermint/feemarket/v1/tx.ts +197 -0
  232. package/src/ethermint/types/v1/account.ts +114 -0
  233. package/src/ethermint/types/v1/dynamic_fee.ts +91 -0
  234. package/src/ethermint/types/v1/indexer.ts +205 -0
  235. package/src/ethermint/types/v1/web3.ts +147 -0
  236. package/src/extern.ts +38 -0
  237. package/src/gogoproto/gogo.ts +1 -0
  238. package/src/google/api/annotations.ts +1 -0
  239. package/src/google/api/http.ts +1069 -0
  240. package/src/google/protobuf/any.ts +331 -0
  241. package/src/google/protobuf/descriptor.ts +7177 -0
  242. package/src/google/protobuf/duration.ts +225 -0
  243. package/src/google/protobuf/timestamp.ts +281 -0
  244. package/src/helper-func-types.ts +191 -0
  245. package/src/helpers.ts +259 -0
  246. package/src/ibc/applications/fee/v1/ack.ts +131 -0
  247. package/src/ibc/applications/fee/v1/fee.ts +481 -0
  248. package/src/ibc/applications/fee/v1/genesis.ts +661 -0
  249. package/src/ibc/applications/fee/v1/metadata.ts +121 -0
  250. package/src/ibc/applications/fee/v1/query.rpc.func.ts +113 -0
  251. package/src/ibc/applications/fee/v1/query.ts +2134 -0
  252. package/src/ibc/applications/fee/v1/tx.registry.ts +83 -0
  253. package/src/ibc/applications/fee/v1/tx.rpc.func.ts +40 -0
  254. package/src/ibc/applications/fee/v1/tx.ts +889 -0
  255. package/src/ibc/applications/interchain_accounts/controller/v1/controller.ts +105 -0
  256. package/src/ibc/applications/interchain_accounts/controller/v1/query.rpc.func.ts +25 -0
  257. package/src/ibc/applications/interchain_accounts/controller/v1/query.ts +379 -0
  258. package/src/ibc/applications/interchain_accounts/controller/v1/tx.registry.ts +65 -0
  259. package/src/ibc/applications/interchain_accounts/controller/v1/tx.rpc.func.ts +31 -0
  260. package/src/ibc/applications/interchain_accounts/controller/v1/tx.ts +685 -0
  261. package/src/ibc/applications/interchain_accounts/genesis/v1/genesis.ts +661 -0
  262. package/src/ibc/applications/interchain_accounts/host/v1/host.ts +253 -0
  263. package/src/ibc/applications/interchain_accounts/host/v1/query.rpc.func.ts +14 -0
  264. package/src/ibc/applications/interchain_accounts/host/v1/query.ts +177 -0
  265. package/src/ibc/applications/interchain_accounts/host/v1/tx.registry.ts +47 -0
  266. package/src/ibc/applications/interchain_accounts/host/v1/tx.rpc.func.ts +22 -0
  267. package/src/ibc/applications/interchain_accounts/host/v1/tx.ts +429 -0
  268. package/src/ibc/applications/interchain_accounts/v1/account.ts +112 -0
  269. package/src/ibc/applications/interchain_accounts/v1/metadata.ts +191 -0
  270. package/src/ibc/applications/interchain_accounts/v1/packet.ts +259 -0
  271. package/src/ibc/applications/transfer/v1/authz.ts +280 -0
  272. package/src/ibc/applications/transfer/v1/genesis.ts +153 -0
  273. package/src/ibc/applications/transfer/v1/query.rpc.func.ts +69 -0
  274. package/src/ibc/applications/transfer/v1/query.ts +1205 -0
  275. package/src/ibc/applications/transfer/v1/transfer.ts +261 -0
  276. package/src/ibc/applications/transfer/v1/tx.registry.ts +47 -0
  277. package/src/ibc/applications/transfer/v1/tx.rpc.func.ts +22 -0
  278. package/src/ibc/applications/transfer/v1/tx.ts +532 -0
  279. package/src/ibc/applications/transfer/v2/packet.ts +171 -0
  280. package/src/ibc/core/channel/v1/channel.ts +1510 -0
  281. package/src/ibc/core/channel/v1/genesis.ts +354 -0
  282. package/src/ibc/core/channel/v1/query.rpc.func.ts +190 -0
  283. package/src/ibc/core/channel/v1/query.ts +4354 -0
  284. package/src/ibc/core/channel/v1/tx.registry.ts +353 -0
  285. package/src/ibc/core/channel/v1/tx.rpc.func.ts +175 -0
  286. package/src/ibc/core/channel/v1/tx.ts +4866 -0
  287. package/src/ibc/core/channel/v1/upgrade.ts +388 -0
  288. package/src/ibc/core/client/v1/client.ts +927 -0
  289. package/src/ibc/core/client/v1/genesis.ts +426 -0
  290. package/src/ibc/core/client/v1/query.rpc.func.ts +113 -0
  291. package/src/ibc/core/client/v1/query.ts +2280 -0
  292. package/src/ibc/core/client/v1/tx.registry.ts +137 -0
  293. package/src/ibc/core/client/v1/tx.rpc.func.ts +67 -0
  294. package/src/ibc/core/client/v1/tx.ts +1543 -0
  295. package/src/ibc/core/commitment/v1/commitment.ts +418 -0
  296. package/src/ibc/core/connection/v1/connection.ts +1010 -0
  297. package/src/ibc/core/connection/v1/genesis.ts +146 -0
  298. package/src/ibc/core/connection/v1/query.rpc.func.ts +69 -0
  299. package/src/ibc/core/connection/v1/query.ts +1408 -0
  300. package/src/ibc/core/connection/v1/tx.registry.ts +101 -0
  301. package/src/ibc/core/connection/v1/tx.rpc.func.ts +49 -0
  302. package/src/ibc/core/connection/v1/tx.ts +1365 -0
  303. package/src/ibc/core/types/v1/genesis.ts +137 -0
  304. package/src/ibc/lightclients/localhost/v2/localhost.ts +100 -0
  305. package/src/ibc/lightclients/solomachine/v2/solomachine.ts +2103 -0
  306. package/src/ibc/lightclients/solomachine/v3/solomachine.ts +1070 -0
  307. package/src/ibc/lightclients/tendermint/v1/tendermint.ts +838 -0
  308. package/src/ibc/lightclients/wasm/v1/genesis.ts +197 -0
  309. package/src/ibc/lightclients/wasm/v1/query.rpc.func.ts +25 -0
  310. package/src/ibc/lightclients/wasm/v1/query.ts +404 -0
  311. package/src/ibc/lightclients/wasm/v1/tx.registry.ts +65 -0
  312. package/src/ibc/lightclients/wasm/v1/tx.rpc.func.ts +31 -0
  313. package/src/ibc/lightclients/wasm/v1/tx.ts +621 -0
  314. package/src/ibc/lightclients/wasm/v1/wasm.ts +438 -0
  315. package/src/react-query.ts +185 -0
  316. package/src/registry.ts +218 -0
  317. package/src/tendermint/abci/types.ts +6283 -0
  318. package/src/tendermint/crypto/keys.ts +103 -0
  319. package/src/tendermint/crypto/proof.ts +555 -0
  320. package/src/tendermint/p2p/types.ts +507 -0
  321. package/src/tendermint/types/block.ts +131 -0
  322. package/src/tendermint/types/evidence.ts +476 -0
  323. package/src/tendermint/types/params.ts +814 -0
  324. package/src/tendermint/types/types.ts +2157 -0
  325. package/src/tendermint/types/validator.ts +389 -0
  326. package/src/tendermint/version/types.ts +219 -0
  327. package/src/types.ts +155 -0
  328. package/src/utf8.ts +148 -0
  329. package/src/varint.ts +488 -0
  330. package/src/xpla/reward/v1beta1/genesis.ts +92 -0
  331. package/src/xpla/reward/v1beta1/query.rpc.func.ts +25 -0
  332. package/src/xpla/reward/v1beta1/query.ts +333 -0
  333. package/src/xpla/reward/v1beta1/reward.ts +153 -0
  334. package/src/xpla/reward/v1beta1/tx.registry.ts +47 -0
  335. package/src/xpla/reward/v1beta1/tx.rpc.func.ts +22 -0
  336. package/src/xpla/reward/v1beta1/tx.ts +391 -0
  337. package/src/xpla/volunteer/v1beta1/genesis.ts +92 -0
  338. package/src/xpla/volunteer/v1beta1/proposal.ts +649 -0
  339. package/src/xpla/volunteer/v1beta1/query.rpc.func.ts +14 -0
  340. package/src/xpla/volunteer/v1beta1/query.ts +160 -0
  341. package/src/xpla/volunteer/v1beta1/tx.registry.ts +47 -0
  342. package/src/xpla/volunteer/v1beta1/tx.rpc.func.ts +22 -0
  343. package/src/xpla/volunteer/v1beta1/tx.ts +448 -0
  344. package/src/xpla/volunteer/v1beta1/volunteervalidator.ts +107 -0
  345. package/tsconfig.esm.json +10 -0
  346. package/tsconfig.json +10 -0
@@ -0,0 +1,2060 @@
1
+ import { BinaryReader, BinaryWriter } from "../../../binary";
2
+ import { DeepPartial, bytesFromBase64, base64FromBytes, isSet } from "../../../helpers";
3
+ import { GlobalDecoderRegistry } from "../../../registry";
4
+ export enum HashOp {
5
+ /** NO_HASH - NO_HASH is the default if no data passed. Note this is an illegal argument some places. */
6
+ NO_HASH = 0,
7
+ SHA256 = 1,
8
+ SHA512 = 2,
9
+ KECCAK256 = 3,
10
+ RIPEMD160 = 4,
11
+ /** BITCOIN - ripemd160(sha256(x)) */
12
+ BITCOIN = 5,
13
+ SHA512_256 = 6,
14
+ BLAKE2B_512 = 7,
15
+ BLAKE2S_256 = 8,
16
+ BLAKE3 = 9,
17
+ UNRECOGNIZED = -1,
18
+ }
19
+ export const HashOpAmino = HashOp;
20
+ export function hashOpFromJSON(object: any): HashOp {
21
+ switch (object) {
22
+ case 0:
23
+ case "NO_HASH":
24
+ return HashOp.NO_HASH;
25
+ case 1:
26
+ case "SHA256":
27
+ return HashOp.SHA256;
28
+ case 2:
29
+ case "SHA512":
30
+ return HashOp.SHA512;
31
+ case 3:
32
+ case "KECCAK256":
33
+ return HashOp.KECCAK256;
34
+ case 4:
35
+ case "RIPEMD160":
36
+ return HashOp.RIPEMD160;
37
+ case 5:
38
+ case "BITCOIN":
39
+ return HashOp.BITCOIN;
40
+ case 6:
41
+ case "SHA512_256":
42
+ return HashOp.SHA512_256;
43
+ case 7:
44
+ case "BLAKE2B_512":
45
+ return HashOp.BLAKE2B_512;
46
+ case 8:
47
+ case "BLAKE2S_256":
48
+ return HashOp.BLAKE2S_256;
49
+ case 9:
50
+ case "BLAKE3":
51
+ return HashOp.BLAKE3;
52
+ case -1:
53
+ case "UNRECOGNIZED":
54
+ default:
55
+ return HashOp.UNRECOGNIZED;
56
+ }
57
+ }
58
+ export function hashOpToJSON(object: HashOp): string {
59
+ switch (object) {
60
+ case HashOp.NO_HASH:
61
+ return "NO_HASH";
62
+ case HashOp.SHA256:
63
+ return "SHA256";
64
+ case HashOp.SHA512:
65
+ return "SHA512";
66
+ case HashOp.KECCAK256:
67
+ return "KECCAK256";
68
+ case HashOp.RIPEMD160:
69
+ return "RIPEMD160";
70
+ case HashOp.BITCOIN:
71
+ return "BITCOIN";
72
+ case HashOp.SHA512_256:
73
+ return "SHA512_256";
74
+ case HashOp.BLAKE2B_512:
75
+ return "BLAKE2B_512";
76
+ case HashOp.BLAKE2S_256:
77
+ return "BLAKE2S_256";
78
+ case HashOp.BLAKE3:
79
+ return "BLAKE3";
80
+ case HashOp.UNRECOGNIZED:
81
+ default:
82
+ return "UNRECOGNIZED";
83
+ }
84
+ }
85
+ /**
86
+ * LengthOp defines how to process the key and value of the LeafOp
87
+ * to include length information. After encoding the length with the given
88
+ * algorithm, the length will be prepended to the key and value bytes.
89
+ * (Each one with it's own encoded length)
90
+ */
91
+ export enum LengthOp {
92
+ /** NO_PREFIX - NO_PREFIX don't include any length info */
93
+ NO_PREFIX = 0,
94
+ /** VAR_PROTO - VAR_PROTO uses protobuf (and go-amino) varint encoding of the length */
95
+ VAR_PROTO = 1,
96
+ /** VAR_RLP - VAR_RLP uses rlp int encoding of the length */
97
+ VAR_RLP = 2,
98
+ /** FIXED32_BIG - FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer */
99
+ FIXED32_BIG = 3,
100
+ /** FIXED32_LITTLE - FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit integer */
101
+ FIXED32_LITTLE = 4,
102
+ /** FIXED64_BIG - FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer */
103
+ FIXED64_BIG = 5,
104
+ /** FIXED64_LITTLE - FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit integer */
105
+ FIXED64_LITTLE = 6,
106
+ /** REQUIRE_32_BYTES - REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 bytes (sha256 output) */
107
+ REQUIRE_32_BYTES = 7,
108
+ /** REQUIRE_64_BYTES - REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 bytes (sha512 output) */
109
+ REQUIRE_64_BYTES = 8,
110
+ UNRECOGNIZED = -1,
111
+ }
112
+ export const LengthOpAmino = LengthOp;
113
+ export function lengthOpFromJSON(object: any): LengthOp {
114
+ switch (object) {
115
+ case 0:
116
+ case "NO_PREFIX":
117
+ return LengthOp.NO_PREFIX;
118
+ case 1:
119
+ case "VAR_PROTO":
120
+ return LengthOp.VAR_PROTO;
121
+ case 2:
122
+ case "VAR_RLP":
123
+ return LengthOp.VAR_RLP;
124
+ case 3:
125
+ case "FIXED32_BIG":
126
+ return LengthOp.FIXED32_BIG;
127
+ case 4:
128
+ case "FIXED32_LITTLE":
129
+ return LengthOp.FIXED32_LITTLE;
130
+ case 5:
131
+ case "FIXED64_BIG":
132
+ return LengthOp.FIXED64_BIG;
133
+ case 6:
134
+ case "FIXED64_LITTLE":
135
+ return LengthOp.FIXED64_LITTLE;
136
+ case 7:
137
+ case "REQUIRE_32_BYTES":
138
+ return LengthOp.REQUIRE_32_BYTES;
139
+ case 8:
140
+ case "REQUIRE_64_BYTES":
141
+ return LengthOp.REQUIRE_64_BYTES;
142
+ case -1:
143
+ case "UNRECOGNIZED":
144
+ default:
145
+ return LengthOp.UNRECOGNIZED;
146
+ }
147
+ }
148
+ export function lengthOpToJSON(object: LengthOp): string {
149
+ switch (object) {
150
+ case LengthOp.NO_PREFIX:
151
+ return "NO_PREFIX";
152
+ case LengthOp.VAR_PROTO:
153
+ return "VAR_PROTO";
154
+ case LengthOp.VAR_RLP:
155
+ return "VAR_RLP";
156
+ case LengthOp.FIXED32_BIG:
157
+ return "FIXED32_BIG";
158
+ case LengthOp.FIXED32_LITTLE:
159
+ return "FIXED32_LITTLE";
160
+ case LengthOp.FIXED64_BIG:
161
+ return "FIXED64_BIG";
162
+ case LengthOp.FIXED64_LITTLE:
163
+ return "FIXED64_LITTLE";
164
+ case LengthOp.REQUIRE_32_BYTES:
165
+ return "REQUIRE_32_BYTES";
166
+ case LengthOp.REQUIRE_64_BYTES:
167
+ return "REQUIRE_64_BYTES";
168
+ case LengthOp.UNRECOGNIZED:
169
+ default:
170
+ return "UNRECOGNIZED";
171
+ }
172
+ }
173
+ /**
174
+ * ExistenceProof takes a key and a value and a set of steps to perform on it.
175
+ * The result of peforming all these steps will provide a "root hash", which can
176
+ * be compared to the value in a header.
177
+ *
178
+ * Since it is computationally infeasible to produce a hash collission for any of the used
179
+ * cryptographic hash functions, if someone can provide a series of operations to transform
180
+ * a given key and value into a root hash that matches some trusted root, these key and values
181
+ * must be in the referenced merkle tree.
182
+ *
183
+ * The only possible issue is maliablity in LeafOp, such as providing extra prefix data,
184
+ * which should be controlled by a spec. Eg. with lengthOp as NONE,
185
+ * prefix = FOO, key = BAR, value = CHOICE
186
+ * and
187
+ * prefix = F, key = OOBAR, value = CHOICE
188
+ * would produce the same value.
189
+ *
190
+ * With LengthOp this is tricker but not impossible. Which is why the "leafPrefixEqual" field
191
+ * in the ProofSpec is valuable to prevent this mutability. And why all trees should
192
+ * length-prefix the data before hashing it.
193
+ */
194
+ export interface ExistenceProof {
195
+ key: Uint8Array;
196
+ value: Uint8Array;
197
+ leaf?: LeafOp;
198
+ path: InnerOp[];
199
+ }
200
+ export interface ExistenceProofProtoMsg {
201
+ typeUrl: "/cosmos.ics23.v1.ExistenceProof";
202
+ value: Uint8Array;
203
+ }
204
+ /**
205
+ * ExistenceProof takes a key and a value and a set of steps to perform on it.
206
+ * The result of peforming all these steps will provide a "root hash", which can
207
+ * be compared to the value in a header.
208
+ *
209
+ * Since it is computationally infeasible to produce a hash collission for any of the used
210
+ * cryptographic hash functions, if someone can provide a series of operations to transform
211
+ * a given key and value into a root hash that matches some trusted root, these key and values
212
+ * must be in the referenced merkle tree.
213
+ *
214
+ * The only possible issue is maliablity in LeafOp, such as providing extra prefix data,
215
+ * which should be controlled by a spec. Eg. with lengthOp as NONE,
216
+ * prefix = FOO, key = BAR, value = CHOICE
217
+ * and
218
+ * prefix = F, key = OOBAR, value = CHOICE
219
+ * would produce the same value.
220
+ *
221
+ * With LengthOp this is tricker but not impossible. Which is why the "leafPrefixEqual" field
222
+ * in the ProofSpec is valuable to prevent this mutability. And why all trees should
223
+ * length-prefix the data before hashing it.
224
+ */
225
+ export interface ExistenceProofAmino {
226
+ key: string;
227
+ value: string;
228
+ leaf?: LeafOpAmino;
229
+ path: InnerOpAmino[];
230
+ }
231
+ export interface ExistenceProofAminoMsg {
232
+ type: "cosmos-sdk/ExistenceProof";
233
+ value: ExistenceProofAmino;
234
+ }
235
+ /**
236
+ * NonExistenceProof takes a proof of two neighbors, one left of the desired key,
237
+ * one right of the desired key. If both proofs are valid AND they are neighbors,
238
+ * then there is no valid proof for the given key.
239
+ */
240
+ export interface NonExistenceProof {
241
+ /** TODO: remove this as unnecessary??? we prove a range */
242
+ key: Uint8Array;
243
+ left?: ExistenceProof;
244
+ right?: ExistenceProof;
245
+ }
246
+ export interface NonExistenceProofProtoMsg {
247
+ typeUrl: "/cosmos.ics23.v1.NonExistenceProof";
248
+ value: Uint8Array;
249
+ }
250
+ /**
251
+ * NonExistenceProof takes a proof of two neighbors, one left of the desired key,
252
+ * one right of the desired key. If both proofs are valid AND they are neighbors,
253
+ * then there is no valid proof for the given key.
254
+ */
255
+ export interface NonExistenceProofAmino {
256
+ /** TODO: remove this as unnecessary??? we prove a range */
257
+ key: string;
258
+ left?: ExistenceProofAmino;
259
+ right?: ExistenceProofAmino;
260
+ }
261
+ export interface NonExistenceProofAminoMsg {
262
+ type: "cosmos-sdk/NonExistenceProof";
263
+ value: NonExistenceProofAmino;
264
+ }
265
+ /** CommitmentProof is either an ExistenceProof or a NonExistenceProof, or a Batch of such messages */
266
+ export interface CommitmentProof {
267
+ exist?: ExistenceProof;
268
+ nonexist?: NonExistenceProof;
269
+ batch?: BatchProof;
270
+ compressed?: CompressedBatchProof;
271
+ }
272
+ export interface CommitmentProofProtoMsg {
273
+ typeUrl: "/cosmos.ics23.v1.CommitmentProof";
274
+ value: Uint8Array;
275
+ }
276
+ /** CommitmentProof is either an ExistenceProof or a NonExistenceProof, or a Batch of such messages */
277
+ export interface CommitmentProofAmino {
278
+ exist?: ExistenceProofAmino;
279
+ nonexist?: NonExistenceProofAmino;
280
+ batch?: BatchProofAmino;
281
+ compressed?: CompressedBatchProofAmino;
282
+ }
283
+ export interface CommitmentProofAminoMsg {
284
+ type: "cosmos-sdk/CommitmentProof";
285
+ value: CommitmentProofAmino;
286
+ }
287
+ /**
288
+ * LeafOp represents the raw key-value data we wish to prove, and
289
+ * must be flexible to represent the internal transformation from
290
+ * the original key-value pairs into the basis hash, for many existing
291
+ * merkle trees.
292
+ *
293
+ * key and value are passed in. So that the signature of this operation is:
294
+ * leafOp(key, value) -> output
295
+ *
296
+ * To process this, first prehash the keys and values if needed (ANY means no hash in this case):
297
+ * hkey = prehashKey(key)
298
+ * hvalue = prehashValue(value)
299
+ *
300
+ * Then combine the bytes, and hash it
301
+ * output = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue)
302
+ */
303
+ export interface LeafOp {
304
+ hash: HashOp;
305
+ prehashKey: HashOp;
306
+ prehashValue: HashOp;
307
+ length: LengthOp;
308
+ /**
309
+ * prefix is a fixed bytes that may optionally be included at the beginning to differentiate
310
+ * a leaf node from an inner node.
311
+ */
312
+ prefix: Uint8Array;
313
+ }
314
+ export interface LeafOpProtoMsg {
315
+ typeUrl: "/cosmos.ics23.v1.LeafOp";
316
+ value: Uint8Array;
317
+ }
318
+ /**
319
+ * LeafOp represents the raw key-value data we wish to prove, and
320
+ * must be flexible to represent the internal transformation from
321
+ * the original key-value pairs into the basis hash, for many existing
322
+ * merkle trees.
323
+ *
324
+ * key and value are passed in. So that the signature of this operation is:
325
+ * leafOp(key, value) -> output
326
+ *
327
+ * To process this, first prehash the keys and values if needed (ANY means no hash in this case):
328
+ * hkey = prehashKey(key)
329
+ * hvalue = prehashValue(value)
330
+ *
331
+ * Then combine the bytes, and hash it
332
+ * output = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue)
333
+ */
334
+ export interface LeafOpAmino {
335
+ hash: HashOp;
336
+ prehash_key: HashOp;
337
+ prehash_value: HashOp;
338
+ length: LengthOp;
339
+ /**
340
+ * prefix is a fixed bytes that may optionally be included at the beginning to differentiate
341
+ * a leaf node from an inner node.
342
+ */
343
+ prefix: string;
344
+ }
345
+ export interface LeafOpAminoMsg {
346
+ type: "cosmos-sdk/LeafOp";
347
+ value: LeafOpAmino;
348
+ }
349
+ /**
350
+ * InnerOp represents a merkle-proof step that is not a leaf.
351
+ * It represents concatenating two children and hashing them to provide the next result.
352
+ *
353
+ * The result of the previous step is passed in, so the signature of this op is:
354
+ * innerOp(child) -> output
355
+ *
356
+ * The result of applying InnerOp should be:
357
+ * output = op.hash(op.prefix || child || op.suffix)
358
+ *
359
+ * where the || operator is concatenation of binary data,
360
+ * and child is the result of hashing all the tree below this step.
361
+ *
362
+ * Any special data, like prepending child with the length, or prepending the entire operation with
363
+ * some value to differentiate from leaf nodes, should be included in prefix and suffix.
364
+ * If either of prefix or suffix is empty, we just treat it as an empty string
365
+ */
366
+ export interface InnerOp {
367
+ hash: HashOp;
368
+ prefix: Uint8Array;
369
+ suffix: Uint8Array;
370
+ }
371
+ export interface InnerOpProtoMsg {
372
+ typeUrl: "/cosmos.ics23.v1.InnerOp";
373
+ value: Uint8Array;
374
+ }
375
+ /**
376
+ * InnerOp represents a merkle-proof step that is not a leaf.
377
+ * It represents concatenating two children and hashing them to provide the next result.
378
+ *
379
+ * The result of the previous step is passed in, so the signature of this op is:
380
+ * innerOp(child) -> output
381
+ *
382
+ * The result of applying InnerOp should be:
383
+ * output = op.hash(op.prefix || child || op.suffix)
384
+ *
385
+ * where the || operator is concatenation of binary data,
386
+ * and child is the result of hashing all the tree below this step.
387
+ *
388
+ * Any special data, like prepending child with the length, or prepending the entire operation with
389
+ * some value to differentiate from leaf nodes, should be included in prefix and suffix.
390
+ * If either of prefix or suffix is empty, we just treat it as an empty string
391
+ */
392
+ export interface InnerOpAmino {
393
+ hash: HashOp;
394
+ prefix: string;
395
+ suffix: string;
396
+ }
397
+ export interface InnerOpAminoMsg {
398
+ type: "cosmos-sdk/InnerOp";
399
+ value: InnerOpAmino;
400
+ }
401
+ /**
402
+ * ProofSpec defines what the expected parameters are for a given proof type.
403
+ * This can be stored in the client and used to validate any incoming proofs.
404
+ *
405
+ * verify(ProofSpec, Proof) -> Proof | Error
406
+ *
407
+ * As demonstrated in tests, if we don't fix the algorithm used to calculate the
408
+ * LeafHash for a given tree, there are many possible key-value pairs that can
409
+ * generate a given hash (by interpretting the preimage differently).
410
+ * We need this for proper security, requires client knows a priori what
411
+ * tree format server uses. But not in code, rather a configuration object.
412
+ */
413
+ export interface ProofSpec {
414
+ /**
415
+ * any field in the ExistenceProof must be the same as in this spec.
416
+ * except Prefix, which is just the first bytes of prefix (spec can be longer)
417
+ */
418
+ leafSpec?: LeafOp;
419
+ innerSpec?: InnerSpec;
420
+ /**
421
+ * max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for fixed-depth tries)
422
+ * the max_depth is interpreted as 128 if set to 0
423
+ */
424
+ maxDepth: number;
425
+ /** min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for fixed-depth tries) */
426
+ minDepth: number;
427
+ /**
428
+ * prehash_key_before_comparison is a flag that indicates whether to use the
429
+ * prehash_key specified by LeafOp to compare lexical ordering of keys for
430
+ * non-existence proofs.
431
+ */
432
+ prehashKeyBeforeComparison: boolean;
433
+ }
434
+ export interface ProofSpecProtoMsg {
435
+ typeUrl: "/cosmos.ics23.v1.ProofSpec";
436
+ value: Uint8Array;
437
+ }
438
+ /**
439
+ * ProofSpec defines what the expected parameters are for a given proof type.
440
+ * This can be stored in the client and used to validate any incoming proofs.
441
+ *
442
+ * verify(ProofSpec, Proof) -> Proof | Error
443
+ *
444
+ * As demonstrated in tests, if we don't fix the algorithm used to calculate the
445
+ * LeafHash for a given tree, there are many possible key-value pairs that can
446
+ * generate a given hash (by interpretting the preimage differently).
447
+ * We need this for proper security, requires client knows a priori what
448
+ * tree format server uses. But not in code, rather a configuration object.
449
+ */
450
+ export interface ProofSpecAmino {
451
+ /**
452
+ * any field in the ExistenceProof must be the same as in this spec.
453
+ * except Prefix, which is just the first bytes of prefix (spec can be longer)
454
+ */
455
+ leaf_spec?: LeafOpAmino;
456
+ inner_spec?: InnerSpecAmino;
457
+ /**
458
+ * max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for fixed-depth tries)
459
+ * the max_depth is interpreted as 128 if set to 0
460
+ */
461
+ max_depth: number;
462
+ /** min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for fixed-depth tries) */
463
+ min_depth: number;
464
+ /**
465
+ * prehash_key_before_comparison is a flag that indicates whether to use the
466
+ * prehash_key specified by LeafOp to compare lexical ordering of keys for
467
+ * non-existence proofs.
468
+ */
469
+ prehash_key_before_comparison: boolean;
470
+ }
471
+ export interface ProofSpecAminoMsg {
472
+ type: "cosmos-sdk/ProofSpec";
473
+ value: ProofSpecAmino;
474
+ }
475
+ /**
476
+ * InnerSpec contains all store-specific structure info to determine if two proofs from a
477
+ * given store are neighbors.
478
+ *
479
+ * This enables:
480
+ *
481
+ * isLeftMost(spec: InnerSpec, op: InnerOp)
482
+ * isRightMost(spec: InnerSpec, op: InnerOp)
483
+ * isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp)
484
+ */
485
+ export interface InnerSpec {
486
+ /**
487
+ * Child order is the ordering of the children node, must count from 0
488
+ * iavl tree is [0, 1] (left then right)
489
+ * merk is [0, 2, 1] (left, right, here)
490
+ */
491
+ childOrder: number[];
492
+ childSize: number;
493
+ minPrefixLength: number;
494
+ /** the max prefix length must be less than the minimum prefix length + child size */
495
+ maxPrefixLength: number;
496
+ /** empty child is the prehash image that is used when one child is nil (eg. 20 bytes of 0) */
497
+ emptyChild: Uint8Array;
498
+ /** hash is the algorithm that must be used for each InnerOp */
499
+ hash: HashOp;
500
+ }
501
+ export interface InnerSpecProtoMsg {
502
+ typeUrl: "/cosmos.ics23.v1.InnerSpec";
503
+ value: Uint8Array;
504
+ }
505
+ /**
506
+ * InnerSpec contains all store-specific structure info to determine if two proofs from a
507
+ * given store are neighbors.
508
+ *
509
+ * This enables:
510
+ *
511
+ * isLeftMost(spec: InnerSpec, op: InnerOp)
512
+ * isRightMost(spec: InnerSpec, op: InnerOp)
513
+ * isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp)
514
+ */
515
+ export interface InnerSpecAmino {
516
+ /**
517
+ * Child order is the ordering of the children node, must count from 0
518
+ * iavl tree is [0, 1] (left then right)
519
+ * merk is [0, 2, 1] (left, right, here)
520
+ */
521
+ child_order: number[];
522
+ child_size: number;
523
+ min_prefix_length: number;
524
+ /** the max prefix length must be less than the minimum prefix length + child size */
525
+ max_prefix_length: number;
526
+ /** empty child is the prehash image that is used when one child is nil (eg. 20 bytes of 0) */
527
+ empty_child: string;
528
+ /** hash is the algorithm that must be used for each InnerOp */
529
+ hash: HashOp;
530
+ }
531
+ export interface InnerSpecAminoMsg {
532
+ type: "cosmos-sdk/InnerSpec";
533
+ value: InnerSpecAmino;
534
+ }
535
+ /** BatchProof is a group of multiple proof types than can be compressed */
536
+ export interface BatchProof {
537
+ entries: BatchEntry[];
538
+ }
539
+ export interface BatchProofProtoMsg {
540
+ typeUrl: "/cosmos.ics23.v1.BatchProof";
541
+ value: Uint8Array;
542
+ }
543
+ /** BatchProof is a group of multiple proof types than can be compressed */
544
+ export interface BatchProofAmino {
545
+ entries: BatchEntryAmino[];
546
+ }
547
+ export interface BatchProofAminoMsg {
548
+ type: "cosmos-sdk/BatchProof";
549
+ value: BatchProofAmino;
550
+ }
551
+ /** Use BatchEntry not CommitmentProof, to avoid recursion */
552
+ export interface BatchEntry {
553
+ exist?: ExistenceProof;
554
+ nonexist?: NonExistenceProof;
555
+ }
556
+ export interface BatchEntryProtoMsg {
557
+ typeUrl: "/cosmos.ics23.v1.BatchEntry";
558
+ value: Uint8Array;
559
+ }
560
+ /** Use BatchEntry not CommitmentProof, to avoid recursion */
561
+ export interface BatchEntryAmino {
562
+ exist?: ExistenceProofAmino;
563
+ nonexist?: NonExistenceProofAmino;
564
+ }
565
+ export interface BatchEntryAminoMsg {
566
+ type: "cosmos-sdk/BatchEntry";
567
+ value: BatchEntryAmino;
568
+ }
569
+ export interface CompressedBatchProof {
570
+ entries: CompressedBatchEntry[];
571
+ lookupInners: InnerOp[];
572
+ }
573
+ export interface CompressedBatchProofProtoMsg {
574
+ typeUrl: "/cosmos.ics23.v1.CompressedBatchProof";
575
+ value: Uint8Array;
576
+ }
577
+ export interface CompressedBatchProofAmino {
578
+ entries: CompressedBatchEntryAmino[];
579
+ lookup_inners: InnerOpAmino[];
580
+ }
581
+ export interface CompressedBatchProofAminoMsg {
582
+ type: "cosmos-sdk/CompressedBatchProof";
583
+ value: CompressedBatchProofAmino;
584
+ }
585
+ /** Use BatchEntry not CommitmentProof, to avoid recursion */
586
+ export interface CompressedBatchEntry {
587
+ exist?: CompressedExistenceProof;
588
+ nonexist?: CompressedNonExistenceProof;
589
+ }
590
+ export interface CompressedBatchEntryProtoMsg {
591
+ typeUrl: "/cosmos.ics23.v1.CompressedBatchEntry";
592
+ value: Uint8Array;
593
+ }
594
+ /** Use BatchEntry not CommitmentProof, to avoid recursion */
595
+ export interface CompressedBatchEntryAmino {
596
+ exist?: CompressedExistenceProofAmino;
597
+ nonexist?: CompressedNonExistenceProofAmino;
598
+ }
599
+ export interface CompressedBatchEntryAminoMsg {
600
+ type: "cosmos-sdk/CompressedBatchEntry";
601
+ value: CompressedBatchEntryAmino;
602
+ }
603
+ export interface CompressedExistenceProof {
604
+ key: Uint8Array;
605
+ value: Uint8Array;
606
+ leaf?: LeafOp;
607
+ /** these are indexes into the lookup_inners table in CompressedBatchProof */
608
+ path: number[];
609
+ }
610
+ export interface CompressedExistenceProofProtoMsg {
611
+ typeUrl: "/cosmos.ics23.v1.CompressedExistenceProof";
612
+ value: Uint8Array;
613
+ }
614
+ export interface CompressedExistenceProofAmino {
615
+ key: string;
616
+ value: string;
617
+ leaf?: LeafOpAmino;
618
+ /** these are indexes into the lookup_inners table in CompressedBatchProof */
619
+ path: number[];
620
+ }
621
+ export interface CompressedExistenceProofAminoMsg {
622
+ type: "cosmos-sdk/CompressedExistenceProof";
623
+ value: CompressedExistenceProofAmino;
624
+ }
625
+ export interface CompressedNonExistenceProof {
626
+ /** TODO: remove this as unnecessary??? we prove a range */
627
+ key: Uint8Array;
628
+ left?: CompressedExistenceProof;
629
+ right?: CompressedExistenceProof;
630
+ }
631
+ export interface CompressedNonExistenceProofProtoMsg {
632
+ typeUrl: "/cosmos.ics23.v1.CompressedNonExistenceProof";
633
+ value: Uint8Array;
634
+ }
635
+ export interface CompressedNonExistenceProofAmino {
636
+ /** TODO: remove this as unnecessary??? we prove a range */
637
+ key: string;
638
+ left?: CompressedExistenceProofAmino;
639
+ right?: CompressedExistenceProofAmino;
640
+ }
641
+ export interface CompressedNonExistenceProofAminoMsg {
642
+ type: "cosmos-sdk/CompressedNonExistenceProof";
643
+ value: CompressedNonExistenceProofAmino;
644
+ }
645
+ function createBaseExistenceProof(): ExistenceProof {
646
+ return {
647
+ key: new Uint8Array(),
648
+ value: new Uint8Array(),
649
+ leaf: undefined,
650
+ path: []
651
+ };
652
+ }
653
+ export const ExistenceProof = {
654
+ typeUrl: "/cosmos.ics23.v1.ExistenceProof",
655
+ aminoType: "cosmos-sdk/ExistenceProof",
656
+ is(o: any): o is ExistenceProof {
657
+ return o && (o.$typeUrl === ExistenceProof.typeUrl || (o.key instanceof Uint8Array || typeof o.key === "string") && (o.value instanceof Uint8Array || typeof o.value === "string") && Array.isArray(o.path) && (!o.path.length || InnerOp.is(o.path[0])));
658
+ },
659
+ isAmino(o: any): o is ExistenceProofAmino {
660
+ return o && (o.$typeUrl === ExistenceProof.typeUrl || (o.key instanceof Uint8Array || typeof o.key === "string") && (o.value instanceof Uint8Array || typeof o.value === "string") && Array.isArray(o.path) && (!o.path.length || InnerOp.isAmino(o.path[0])));
661
+ },
662
+ encode(message: ExistenceProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
663
+ if (message.key.length !== 0) {
664
+ writer.uint32(10).bytes(message.key);
665
+ }
666
+ if (message.value.length !== 0) {
667
+ writer.uint32(18).bytes(message.value);
668
+ }
669
+ if (message.leaf !== undefined) {
670
+ LeafOp.encode(message.leaf, writer.uint32(26).fork()).ldelim();
671
+ }
672
+ for (const v of message.path) {
673
+ InnerOp.encode(v!, writer.uint32(34).fork()).ldelim();
674
+ }
675
+ return writer;
676
+ },
677
+ decode(input: BinaryReader | Uint8Array, length?: number): ExistenceProof {
678
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
679
+ let end = length === undefined ? reader.len : reader.pos + length;
680
+ const message = createBaseExistenceProof();
681
+ while (reader.pos < end) {
682
+ const tag = reader.uint32();
683
+ switch (tag >>> 3) {
684
+ case 1:
685
+ message.key = reader.bytes();
686
+ break;
687
+ case 2:
688
+ message.value = reader.bytes();
689
+ break;
690
+ case 3:
691
+ message.leaf = LeafOp.decode(reader, reader.uint32());
692
+ break;
693
+ case 4:
694
+ message.path.push(InnerOp.decode(reader, reader.uint32()));
695
+ break;
696
+ default:
697
+ reader.skipType(tag & 7);
698
+ break;
699
+ }
700
+ }
701
+ return message;
702
+ },
703
+ fromPartial(object: DeepPartial<ExistenceProof>): ExistenceProof {
704
+ const message = createBaseExistenceProof();
705
+ message.key = object.key ?? new Uint8Array();
706
+ message.value = object.value ?? new Uint8Array();
707
+ message.leaf = object.leaf !== undefined && object.leaf !== null ? LeafOp.fromPartial(object.leaf) : undefined;
708
+ message.path = object.path?.map(e => InnerOp.fromPartial(e)) || [];
709
+ return message;
710
+ },
711
+ fromAmino(object: ExistenceProofAmino): ExistenceProof {
712
+ const message = createBaseExistenceProof();
713
+ if (object.key !== undefined && object.key !== null) {
714
+ message.key = bytesFromBase64(object.key);
715
+ }
716
+ if (object.value !== undefined && object.value !== null) {
717
+ message.value = bytesFromBase64(object.value);
718
+ }
719
+ if (object.leaf !== undefined && object.leaf !== null) {
720
+ message.leaf = LeafOp.fromAmino(object.leaf);
721
+ }
722
+ message.path = object.path?.map(e => InnerOp.fromAmino(e)) || [];
723
+ return message;
724
+ },
725
+ toAmino(message: ExistenceProof): ExistenceProofAmino {
726
+ const obj: any = {};
727
+ obj.key = message.key ? base64FromBytes(message.key) : undefined;
728
+ obj.value = message.value ? base64FromBytes(message.value) : undefined;
729
+ obj.leaf = message.leaf ? LeafOp.toAmino(message.leaf) : undefined;
730
+ if (message.path) {
731
+ obj.path = message.path.map(e => e ? InnerOp.toAmino(e) : undefined);
732
+ } else {
733
+ obj.path = message.path;
734
+ }
735
+ return obj;
736
+ },
737
+ fromAminoMsg(object: ExistenceProofAminoMsg): ExistenceProof {
738
+ return ExistenceProof.fromAmino(object.value);
739
+ },
740
+ toAminoMsg(message: ExistenceProof): ExistenceProofAminoMsg {
741
+ return {
742
+ type: "cosmos-sdk/ExistenceProof",
743
+ value: ExistenceProof.toAmino(message)
744
+ };
745
+ },
746
+ fromProtoMsg(message: ExistenceProofProtoMsg): ExistenceProof {
747
+ return ExistenceProof.decode(message.value);
748
+ },
749
+ toProto(message: ExistenceProof): Uint8Array {
750
+ return ExistenceProof.encode(message).finish();
751
+ },
752
+ toProtoMsg(message: ExistenceProof): ExistenceProofProtoMsg {
753
+ return {
754
+ typeUrl: "/cosmos.ics23.v1.ExistenceProof",
755
+ value: ExistenceProof.encode(message).finish()
756
+ };
757
+ }
758
+ };
759
+ GlobalDecoderRegistry.register(ExistenceProof.typeUrl, ExistenceProof);
760
+ GlobalDecoderRegistry.registerAminoProtoMapping(ExistenceProof.aminoType, ExistenceProof.typeUrl);
761
+ function createBaseNonExistenceProof(): NonExistenceProof {
762
+ return {
763
+ key: new Uint8Array(),
764
+ left: undefined,
765
+ right: undefined
766
+ };
767
+ }
768
+ export const NonExistenceProof = {
769
+ typeUrl: "/cosmos.ics23.v1.NonExistenceProof",
770
+ aminoType: "cosmos-sdk/NonExistenceProof",
771
+ is(o: any): o is NonExistenceProof {
772
+ return o && (o.$typeUrl === NonExistenceProof.typeUrl || o.key instanceof Uint8Array || typeof o.key === "string");
773
+ },
774
+ isAmino(o: any): o is NonExistenceProofAmino {
775
+ return o && (o.$typeUrl === NonExistenceProof.typeUrl || o.key instanceof Uint8Array || typeof o.key === "string");
776
+ },
777
+ encode(message: NonExistenceProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
778
+ if (message.key.length !== 0) {
779
+ writer.uint32(10).bytes(message.key);
780
+ }
781
+ if (message.left !== undefined) {
782
+ ExistenceProof.encode(message.left, writer.uint32(18).fork()).ldelim();
783
+ }
784
+ if (message.right !== undefined) {
785
+ ExistenceProof.encode(message.right, writer.uint32(26).fork()).ldelim();
786
+ }
787
+ return writer;
788
+ },
789
+ decode(input: BinaryReader | Uint8Array, length?: number): NonExistenceProof {
790
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
791
+ let end = length === undefined ? reader.len : reader.pos + length;
792
+ const message = createBaseNonExistenceProof();
793
+ while (reader.pos < end) {
794
+ const tag = reader.uint32();
795
+ switch (tag >>> 3) {
796
+ case 1:
797
+ message.key = reader.bytes();
798
+ break;
799
+ case 2:
800
+ message.left = ExistenceProof.decode(reader, reader.uint32());
801
+ break;
802
+ case 3:
803
+ message.right = ExistenceProof.decode(reader, reader.uint32());
804
+ break;
805
+ default:
806
+ reader.skipType(tag & 7);
807
+ break;
808
+ }
809
+ }
810
+ return message;
811
+ },
812
+ fromPartial(object: DeepPartial<NonExistenceProof>): NonExistenceProof {
813
+ const message = createBaseNonExistenceProof();
814
+ message.key = object.key ?? new Uint8Array();
815
+ message.left = object.left !== undefined && object.left !== null ? ExistenceProof.fromPartial(object.left) : undefined;
816
+ message.right = object.right !== undefined && object.right !== null ? ExistenceProof.fromPartial(object.right) : undefined;
817
+ return message;
818
+ },
819
+ fromAmino(object: NonExistenceProofAmino): NonExistenceProof {
820
+ const message = createBaseNonExistenceProof();
821
+ if (object.key !== undefined && object.key !== null) {
822
+ message.key = bytesFromBase64(object.key);
823
+ }
824
+ if (object.left !== undefined && object.left !== null) {
825
+ message.left = ExistenceProof.fromAmino(object.left);
826
+ }
827
+ if (object.right !== undefined && object.right !== null) {
828
+ message.right = ExistenceProof.fromAmino(object.right);
829
+ }
830
+ return message;
831
+ },
832
+ toAmino(message: NonExistenceProof): NonExistenceProofAmino {
833
+ const obj: any = {};
834
+ obj.key = message.key ? base64FromBytes(message.key) : undefined;
835
+ obj.left = message.left ? ExistenceProof.toAmino(message.left) : undefined;
836
+ obj.right = message.right ? ExistenceProof.toAmino(message.right) : undefined;
837
+ return obj;
838
+ },
839
+ fromAminoMsg(object: NonExistenceProofAminoMsg): NonExistenceProof {
840
+ return NonExistenceProof.fromAmino(object.value);
841
+ },
842
+ toAminoMsg(message: NonExistenceProof): NonExistenceProofAminoMsg {
843
+ return {
844
+ type: "cosmos-sdk/NonExistenceProof",
845
+ value: NonExistenceProof.toAmino(message)
846
+ };
847
+ },
848
+ fromProtoMsg(message: NonExistenceProofProtoMsg): NonExistenceProof {
849
+ return NonExistenceProof.decode(message.value);
850
+ },
851
+ toProto(message: NonExistenceProof): Uint8Array {
852
+ return NonExistenceProof.encode(message).finish();
853
+ },
854
+ toProtoMsg(message: NonExistenceProof): NonExistenceProofProtoMsg {
855
+ return {
856
+ typeUrl: "/cosmos.ics23.v1.NonExistenceProof",
857
+ value: NonExistenceProof.encode(message).finish()
858
+ };
859
+ }
860
+ };
861
+ GlobalDecoderRegistry.register(NonExistenceProof.typeUrl, NonExistenceProof);
862
+ GlobalDecoderRegistry.registerAminoProtoMapping(NonExistenceProof.aminoType, NonExistenceProof.typeUrl);
863
+ function createBaseCommitmentProof(): CommitmentProof {
864
+ return {
865
+ exist: undefined,
866
+ nonexist: undefined,
867
+ batch: undefined,
868
+ compressed: undefined
869
+ };
870
+ }
871
+ export const CommitmentProof = {
872
+ typeUrl: "/cosmos.ics23.v1.CommitmentProof",
873
+ aminoType: "cosmos-sdk/CommitmentProof",
874
+ is(o: any): o is CommitmentProof {
875
+ return o && o.$typeUrl === CommitmentProof.typeUrl;
876
+ },
877
+ isAmino(o: any): o is CommitmentProofAmino {
878
+ return o && o.$typeUrl === CommitmentProof.typeUrl;
879
+ },
880
+ encode(message: CommitmentProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
881
+ if (message.exist !== undefined) {
882
+ ExistenceProof.encode(message.exist, writer.uint32(10).fork()).ldelim();
883
+ }
884
+ if (message.nonexist !== undefined) {
885
+ NonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).ldelim();
886
+ }
887
+ if (message.batch !== undefined) {
888
+ BatchProof.encode(message.batch, writer.uint32(26).fork()).ldelim();
889
+ }
890
+ if (message.compressed !== undefined) {
891
+ CompressedBatchProof.encode(message.compressed, writer.uint32(34).fork()).ldelim();
892
+ }
893
+ return writer;
894
+ },
895
+ decode(input: BinaryReader | Uint8Array, length?: number): CommitmentProof {
896
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
897
+ let end = length === undefined ? reader.len : reader.pos + length;
898
+ const message = createBaseCommitmentProof();
899
+ while (reader.pos < end) {
900
+ const tag = reader.uint32();
901
+ switch (tag >>> 3) {
902
+ case 1:
903
+ message.exist = ExistenceProof.decode(reader, reader.uint32());
904
+ break;
905
+ case 2:
906
+ message.nonexist = NonExistenceProof.decode(reader, reader.uint32());
907
+ break;
908
+ case 3:
909
+ message.batch = BatchProof.decode(reader, reader.uint32());
910
+ break;
911
+ case 4:
912
+ message.compressed = CompressedBatchProof.decode(reader, reader.uint32());
913
+ break;
914
+ default:
915
+ reader.skipType(tag & 7);
916
+ break;
917
+ }
918
+ }
919
+ return message;
920
+ },
921
+ fromPartial(object: DeepPartial<CommitmentProof>): CommitmentProof {
922
+ const message = createBaseCommitmentProof();
923
+ message.exist = object.exist !== undefined && object.exist !== null ? ExistenceProof.fromPartial(object.exist) : undefined;
924
+ message.nonexist = object.nonexist !== undefined && object.nonexist !== null ? NonExistenceProof.fromPartial(object.nonexist) : undefined;
925
+ message.batch = object.batch !== undefined && object.batch !== null ? BatchProof.fromPartial(object.batch) : undefined;
926
+ message.compressed = object.compressed !== undefined && object.compressed !== null ? CompressedBatchProof.fromPartial(object.compressed) : undefined;
927
+ return message;
928
+ },
929
+ fromAmino(object: CommitmentProofAmino): CommitmentProof {
930
+ const message = createBaseCommitmentProof();
931
+ if (object.exist !== undefined && object.exist !== null) {
932
+ message.exist = ExistenceProof.fromAmino(object.exist);
933
+ }
934
+ if (object.nonexist !== undefined && object.nonexist !== null) {
935
+ message.nonexist = NonExistenceProof.fromAmino(object.nonexist);
936
+ }
937
+ if (object.batch !== undefined && object.batch !== null) {
938
+ message.batch = BatchProof.fromAmino(object.batch);
939
+ }
940
+ if (object.compressed !== undefined && object.compressed !== null) {
941
+ message.compressed = CompressedBatchProof.fromAmino(object.compressed);
942
+ }
943
+ return message;
944
+ },
945
+ toAmino(message: CommitmentProof): CommitmentProofAmino {
946
+ const obj: any = {};
947
+ obj.exist = message.exist ? ExistenceProof.toAmino(message.exist) : undefined;
948
+ obj.nonexist = message.nonexist ? NonExistenceProof.toAmino(message.nonexist) : undefined;
949
+ obj.batch = message.batch ? BatchProof.toAmino(message.batch) : undefined;
950
+ obj.compressed = message.compressed ? CompressedBatchProof.toAmino(message.compressed) : undefined;
951
+ return obj;
952
+ },
953
+ fromAminoMsg(object: CommitmentProofAminoMsg): CommitmentProof {
954
+ return CommitmentProof.fromAmino(object.value);
955
+ },
956
+ toAminoMsg(message: CommitmentProof): CommitmentProofAminoMsg {
957
+ return {
958
+ type: "cosmos-sdk/CommitmentProof",
959
+ value: CommitmentProof.toAmino(message)
960
+ };
961
+ },
962
+ fromProtoMsg(message: CommitmentProofProtoMsg): CommitmentProof {
963
+ return CommitmentProof.decode(message.value);
964
+ },
965
+ toProto(message: CommitmentProof): Uint8Array {
966
+ return CommitmentProof.encode(message).finish();
967
+ },
968
+ toProtoMsg(message: CommitmentProof): CommitmentProofProtoMsg {
969
+ return {
970
+ typeUrl: "/cosmos.ics23.v1.CommitmentProof",
971
+ value: CommitmentProof.encode(message).finish()
972
+ };
973
+ }
974
+ };
975
+ GlobalDecoderRegistry.register(CommitmentProof.typeUrl, CommitmentProof);
976
+ GlobalDecoderRegistry.registerAminoProtoMapping(CommitmentProof.aminoType, CommitmentProof.typeUrl);
977
+ function createBaseLeafOp(): LeafOp {
978
+ return {
979
+ hash: 0,
980
+ prehashKey: 0,
981
+ prehashValue: 0,
982
+ length: 0,
983
+ prefix: new Uint8Array()
984
+ };
985
+ }
986
+ export const LeafOp = {
987
+ typeUrl: "/cosmos.ics23.v1.LeafOp",
988
+ aminoType: "cosmos-sdk/LeafOp",
989
+ is(o: any): o is LeafOp {
990
+ return o && (o.$typeUrl === LeafOp.typeUrl || isSet(o.hash) && isSet(o.prehashKey) && isSet(o.prehashValue) && isSet(o.length) && (o.prefix instanceof Uint8Array || typeof o.prefix === "string"));
991
+ },
992
+ isAmino(o: any): o is LeafOpAmino {
993
+ return o && (o.$typeUrl === LeafOp.typeUrl || isSet(o.hash) && isSet(o.prehash_key) && isSet(o.prehash_value) && isSet(o.length) && (o.prefix instanceof Uint8Array || typeof o.prefix === "string"));
994
+ },
995
+ encode(message: LeafOp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
996
+ if (message.hash !== 0) {
997
+ writer.uint32(8).int32(message.hash);
998
+ }
999
+ if (message.prehashKey !== 0) {
1000
+ writer.uint32(16).int32(message.prehashKey);
1001
+ }
1002
+ if (message.prehashValue !== 0) {
1003
+ writer.uint32(24).int32(message.prehashValue);
1004
+ }
1005
+ if (message.length !== 0) {
1006
+ writer.uint32(32).int32(message.length);
1007
+ }
1008
+ if (message.prefix.length !== 0) {
1009
+ writer.uint32(42).bytes(message.prefix);
1010
+ }
1011
+ return writer;
1012
+ },
1013
+ decode(input: BinaryReader | Uint8Array, length?: number): LeafOp {
1014
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1015
+ let end = length === undefined ? reader.len : reader.pos + length;
1016
+ const message = createBaseLeafOp();
1017
+ while (reader.pos < end) {
1018
+ const tag = reader.uint32();
1019
+ switch (tag >>> 3) {
1020
+ case 1:
1021
+ message.hash = reader.int32() as any;
1022
+ break;
1023
+ case 2:
1024
+ message.prehashKey = reader.int32() as any;
1025
+ break;
1026
+ case 3:
1027
+ message.prehashValue = reader.int32() as any;
1028
+ break;
1029
+ case 4:
1030
+ message.length = reader.int32() as any;
1031
+ break;
1032
+ case 5:
1033
+ message.prefix = reader.bytes();
1034
+ break;
1035
+ default:
1036
+ reader.skipType(tag & 7);
1037
+ break;
1038
+ }
1039
+ }
1040
+ return message;
1041
+ },
1042
+ fromPartial(object: DeepPartial<LeafOp>): LeafOp {
1043
+ const message = createBaseLeafOp();
1044
+ message.hash = object.hash ?? 0;
1045
+ message.prehashKey = object.prehashKey ?? 0;
1046
+ message.prehashValue = object.prehashValue ?? 0;
1047
+ message.length = object.length ?? 0;
1048
+ message.prefix = object.prefix ?? new Uint8Array();
1049
+ return message;
1050
+ },
1051
+ fromAmino(object: LeafOpAmino): LeafOp {
1052
+ const message = createBaseLeafOp();
1053
+ if (object.hash !== undefined && object.hash !== null) {
1054
+ message.hash = object.hash;
1055
+ }
1056
+ if (object.prehash_key !== undefined && object.prehash_key !== null) {
1057
+ message.prehashKey = object.prehash_key;
1058
+ }
1059
+ if (object.prehash_value !== undefined && object.prehash_value !== null) {
1060
+ message.prehashValue = object.prehash_value;
1061
+ }
1062
+ if (object.length !== undefined && object.length !== null) {
1063
+ message.length = object.length;
1064
+ }
1065
+ if (object.prefix !== undefined && object.prefix !== null) {
1066
+ message.prefix = bytesFromBase64(object.prefix);
1067
+ }
1068
+ return message;
1069
+ },
1070
+ toAmino(message: LeafOp): LeafOpAmino {
1071
+ const obj: any = {};
1072
+ obj.hash = message.hash === 0 ? undefined : message.hash;
1073
+ obj.prehash_key = message.prehashKey === 0 ? undefined : message.prehashKey;
1074
+ obj.prehash_value = message.prehashValue === 0 ? undefined : message.prehashValue;
1075
+ obj.length = message.length === 0 ? undefined : message.length;
1076
+ obj.prefix = message.prefix ? base64FromBytes(message.prefix) : undefined;
1077
+ return obj;
1078
+ },
1079
+ fromAminoMsg(object: LeafOpAminoMsg): LeafOp {
1080
+ return LeafOp.fromAmino(object.value);
1081
+ },
1082
+ toAminoMsg(message: LeafOp): LeafOpAminoMsg {
1083
+ return {
1084
+ type: "cosmos-sdk/LeafOp",
1085
+ value: LeafOp.toAmino(message)
1086
+ };
1087
+ },
1088
+ fromProtoMsg(message: LeafOpProtoMsg): LeafOp {
1089
+ return LeafOp.decode(message.value);
1090
+ },
1091
+ toProto(message: LeafOp): Uint8Array {
1092
+ return LeafOp.encode(message).finish();
1093
+ },
1094
+ toProtoMsg(message: LeafOp): LeafOpProtoMsg {
1095
+ return {
1096
+ typeUrl: "/cosmos.ics23.v1.LeafOp",
1097
+ value: LeafOp.encode(message).finish()
1098
+ };
1099
+ }
1100
+ };
1101
+ GlobalDecoderRegistry.register(LeafOp.typeUrl, LeafOp);
1102
+ GlobalDecoderRegistry.registerAminoProtoMapping(LeafOp.aminoType, LeafOp.typeUrl);
1103
+ function createBaseInnerOp(): InnerOp {
1104
+ return {
1105
+ hash: 0,
1106
+ prefix: new Uint8Array(),
1107
+ suffix: new Uint8Array()
1108
+ };
1109
+ }
1110
+ export const InnerOp = {
1111
+ typeUrl: "/cosmos.ics23.v1.InnerOp",
1112
+ aminoType: "cosmos-sdk/InnerOp",
1113
+ is(o: any): o is InnerOp {
1114
+ return o && (o.$typeUrl === InnerOp.typeUrl || isSet(o.hash) && (o.prefix instanceof Uint8Array || typeof o.prefix === "string") && (o.suffix instanceof Uint8Array || typeof o.suffix === "string"));
1115
+ },
1116
+ isAmino(o: any): o is InnerOpAmino {
1117
+ return o && (o.$typeUrl === InnerOp.typeUrl || isSet(o.hash) && (o.prefix instanceof Uint8Array || typeof o.prefix === "string") && (o.suffix instanceof Uint8Array || typeof o.suffix === "string"));
1118
+ },
1119
+ encode(message: InnerOp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1120
+ if (message.hash !== 0) {
1121
+ writer.uint32(8).int32(message.hash);
1122
+ }
1123
+ if (message.prefix.length !== 0) {
1124
+ writer.uint32(18).bytes(message.prefix);
1125
+ }
1126
+ if (message.suffix.length !== 0) {
1127
+ writer.uint32(26).bytes(message.suffix);
1128
+ }
1129
+ return writer;
1130
+ },
1131
+ decode(input: BinaryReader | Uint8Array, length?: number): InnerOp {
1132
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1133
+ let end = length === undefined ? reader.len : reader.pos + length;
1134
+ const message = createBaseInnerOp();
1135
+ while (reader.pos < end) {
1136
+ const tag = reader.uint32();
1137
+ switch (tag >>> 3) {
1138
+ case 1:
1139
+ message.hash = reader.int32() as any;
1140
+ break;
1141
+ case 2:
1142
+ message.prefix = reader.bytes();
1143
+ break;
1144
+ case 3:
1145
+ message.suffix = reader.bytes();
1146
+ break;
1147
+ default:
1148
+ reader.skipType(tag & 7);
1149
+ break;
1150
+ }
1151
+ }
1152
+ return message;
1153
+ },
1154
+ fromPartial(object: DeepPartial<InnerOp>): InnerOp {
1155
+ const message = createBaseInnerOp();
1156
+ message.hash = object.hash ?? 0;
1157
+ message.prefix = object.prefix ?? new Uint8Array();
1158
+ message.suffix = object.suffix ?? new Uint8Array();
1159
+ return message;
1160
+ },
1161
+ fromAmino(object: InnerOpAmino): InnerOp {
1162
+ const message = createBaseInnerOp();
1163
+ if (object.hash !== undefined && object.hash !== null) {
1164
+ message.hash = object.hash;
1165
+ }
1166
+ if (object.prefix !== undefined && object.prefix !== null) {
1167
+ message.prefix = bytesFromBase64(object.prefix);
1168
+ }
1169
+ if (object.suffix !== undefined && object.suffix !== null) {
1170
+ message.suffix = bytesFromBase64(object.suffix);
1171
+ }
1172
+ return message;
1173
+ },
1174
+ toAmino(message: InnerOp): InnerOpAmino {
1175
+ const obj: any = {};
1176
+ obj.hash = message.hash === 0 ? undefined : message.hash;
1177
+ obj.prefix = message.prefix ? base64FromBytes(message.prefix) : undefined;
1178
+ obj.suffix = message.suffix ? base64FromBytes(message.suffix) : undefined;
1179
+ return obj;
1180
+ },
1181
+ fromAminoMsg(object: InnerOpAminoMsg): InnerOp {
1182
+ return InnerOp.fromAmino(object.value);
1183
+ },
1184
+ toAminoMsg(message: InnerOp): InnerOpAminoMsg {
1185
+ return {
1186
+ type: "cosmos-sdk/InnerOp",
1187
+ value: InnerOp.toAmino(message)
1188
+ };
1189
+ },
1190
+ fromProtoMsg(message: InnerOpProtoMsg): InnerOp {
1191
+ return InnerOp.decode(message.value);
1192
+ },
1193
+ toProto(message: InnerOp): Uint8Array {
1194
+ return InnerOp.encode(message).finish();
1195
+ },
1196
+ toProtoMsg(message: InnerOp): InnerOpProtoMsg {
1197
+ return {
1198
+ typeUrl: "/cosmos.ics23.v1.InnerOp",
1199
+ value: InnerOp.encode(message).finish()
1200
+ };
1201
+ }
1202
+ };
1203
+ GlobalDecoderRegistry.register(InnerOp.typeUrl, InnerOp);
1204
+ GlobalDecoderRegistry.registerAminoProtoMapping(InnerOp.aminoType, InnerOp.typeUrl);
1205
+ function createBaseProofSpec(): ProofSpec {
1206
+ return {
1207
+ leafSpec: undefined,
1208
+ innerSpec: undefined,
1209
+ maxDepth: 0,
1210
+ minDepth: 0,
1211
+ prehashKeyBeforeComparison: false
1212
+ };
1213
+ }
1214
+ export const ProofSpec = {
1215
+ typeUrl: "/cosmos.ics23.v1.ProofSpec",
1216
+ aminoType: "cosmos-sdk/ProofSpec",
1217
+ is(o: any): o is ProofSpec {
1218
+ return o && (o.$typeUrl === ProofSpec.typeUrl || typeof o.maxDepth === "number" && typeof o.minDepth === "number" && typeof o.prehashKeyBeforeComparison === "boolean");
1219
+ },
1220
+ isAmino(o: any): o is ProofSpecAmino {
1221
+ return o && (o.$typeUrl === ProofSpec.typeUrl || typeof o.max_depth === "number" && typeof o.min_depth === "number" && typeof o.prehash_key_before_comparison === "boolean");
1222
+ },
1223
+ encode(message: ProofSpec, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1224
+ if (message.leafSpec !== undefined) {
1225
+ LeafOp.encode(message.leafSpec, writer.uint32(10).fork()).ldelim();
1226
+ }
1227
+ if (message.innerSpec !== undefined) {
1228
+ InnerSpec.encode(message.innerSpec, writer.uint32(18).fork()).ldelim();
1229
+ }
1230
+ if (message.maxDepth !== 0) {
1231
+ writer.uint32(24).int32(message.maxDepth);
1232
+ }
1233
+ if (message.minDepth !== 0) {
1234
+ writer.uint32(32).int32(message.minDepth);
1235
+ }
1236
+ if (message.prehashKeyBeforeComparison === true) {
1237
+ writer.uint32(40).bool(message.prehashKeyBeforeComparison);
1238
+ }
1239
+ return writer;
1240
+ },
1241
+ decode(input: BinaryReader | Uint8Array, length?: number): ProofSpec {
1242
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1243
+ let end = length === undefined ? reader.len : reader.pos + length;
1244
+ const message = createBaseProofSpec();
1245
+ while (reader.pos < end) {
1246
+ const tag = reader.uint32();
1247
+ switch (tag >>> 3) {
1248
+ case 1:
1249
+ message.leafSpec = LeafOp.decode(reader, reader.uint32());
1250
+ break;
1251
+ case 2:
1252
+ message.innerSpec = InnerSpec.decode(reader, reader.uint32());
1253
+ break;
1254
+ case 3:
1255
+ message.maxDepth = reader.int32();
1256
+ break;
1257
+ case 4:
1258
+ message.minDepth = reader.int32();
1259
+ break;
1260
+ case 5:
1261
+ message.prehashKeyBeforeComparison = reader.bool();
1262
+ break;
1263
+ default:
1264
+ reader.skipType(tag & 7);
1265
+ break;
1266
+ }
1267
+ }
1268
+ return message;
1269
+ },
1270
+ fromPartial(object: DeepPartial<ProofSpec>): ProofSpec {
1271
+ const message = createBaseProofSpec();
1272
+ message.leafSpec = object.leafSpec !== undefined && object.leafSpec !== null ? LeafOp.fromPartial(object.leafSpec) : undefined;
1273
+ message.innerSpec = object.innerSpec !== undefined && object.innerSpec !== null ? InnerSpec.fromPartial(object.innerSpec) : undefined;
1274
+ message.maxDepth = object.maxDepth ?? 0;
1275
+ message.minDepth = object.minDepth ?? 0;
1276
+ message.prehashKeyBeforeComparison = object.prehashKeyBeforeComparison ?? false;
1277
+ return message;
1278
+ },
1279
+ fromAmino(object: ProofSpecAmino): ProofSpec {
1280
+ const message = createBaseProofSpec();
1281
+ if (object.leaf_spec !== undefined && object.leaf_spec !== null) {
1282
+ message.leafSpec = LeafOp.fromAmino(object.leaf_spec);
1283
+ }
1284
+ if (object.inner_spec !== undefined && object.inner_spec !== null) {
1285
+ message.innerSpec = InnerSpec.fromAmino(object.inner_spec);
1286
+ }
1287
+ if (object.max_depth !== undefined && object.max_depth !== null) {
1288
+ message.maxDepth = object.max_depth;
1289
+ }
1290
+ if (object.min_depth !== undefined && object.min_depth !== null) {
1291
+ message.minDepth = object.min_depth;
1292
+ }
1293
+ if (object.prehash_key_before_comparison !== undefined && object.prehash_key_before_comparison !== null) {
1294
+ message.prehashKeyBeforeComparison = object.prehash_key_before_comparison;
1295
+ }
1296
+ return message;
1297
+ },
1298
+ toAmino(message: ProofSpec): ProofSpecAmino {
1299
+ const obj: any = {};
1300
+ obj.leaf_spec = message.leafSpec ? LeafOp.toAmino(message.leafSpec) : undefined;
1301
+ obj.inner_spec = message.innerSpec ? InnerSpec.toAmino(message.innerSpec) : undefined;
1302
+ obj.max_depth = message.maxDepth === 0 ? undefined : message.maxDepth;
1303
+ obj.min_depth = message.minDepth === 0 ? undefined : message.minDepth;
1304
+ obj.prehash_key_before_comparison = message.prehashKeyBeforeComparison === false ? undefined : message.prehashKeyBeforeComparison;
1305
+ return obj;
1306
+ },
1307
+ fromAminoMsg(object: ProofSpecAminoMsg): ProofSpec {
1308
+ return ProofSpec.fromAmino(object.value);
1309
+ },
1310
+ toAminoMsg(message: ProofSpec): ProofSpecAminoMsg {
1311
+ return {
1312
+ type: "cosmos-sdk/ProofSpec",
1313
+ value: ProofSpec.toAmino(message)
1314
+ };
1315
+ },
1316
+ fromProtoMsg(message: ProofSpecProtoMsg): ProofSpec {
1317
+ return ProofSpec.decode(message.value);
1318
+ },
1319
+ toProto(message: ProofSpec): Uint8Array {
1320
+ return ProofSpec.encode(message).finish();
1321
+ },
1322
+ toProtoMsg(message: ProofSpec): ProofSpecProtoMsg {
1323
+ return {
1324
+ typeUrl: "/cosmos.ics23.v1.ProofSpec",
1325
+ value: ProofSpec.encode(message).finish()
1326
+ };
1327
+ }
1328
+ };
1329
+ GlobalDecoderRegistry.register(ProofSpec.typeUrl, ProofSpec);
1330
+ GlobalDecoderRegistry.registerAminoProtoMapping(ProofSpec.aminoType, ProofSpec.typeUrl);
1331
+ function createBaseInnerSpec(): InnerSpec {
1332
+ return {
1333
+ childOrder: [],
1334
+ childSize: 0,
1335
+ minPrefixLength: 0,
1336
+ maxPrefixLength: 0,
1337
+ emptyChild: new Uint8Array(),
1338
+ hash: 0
1339
+ };
1340
+ }
1341
+ export const InnerSpec = {
1342
+ typeUrl: "/cosmos.ics23.v1.InnerSpec",
1343
+ aminoType: "cosmos-sdk/InnerSpec",
1344
+ is(o: any): o is InnerSpec {
1345
+ return o && (o.$typeUrl === InnerSpec.typeUrl || Array.isArray(o.childOrder) && (!o.childOrder.length || typeof o.childOrder[0] === "number") && typeof o.childSize === "number" && typeof o.minPrefixLength === "number" && typeof o.maxPrefixLength === "number" && (o.emptyChild instanceof Uint8Array || typeof o.emptyChild === "string") && isSet(o.hash));
1346
+ },
1347
+ isAmino(o: any): o is InnerSpecAmino {
1348
+ return o && (o.$typeUrl === InnerSpec.typeUrl || Array.isArray(o.child_order) && (!o.child_order.length || typeof o.child_order[0] === "number") && typeof o.child_size === "number" && typeof o.min_prefix_length === "number" && typeof o.max_prefix_length === "number" && (o.empty_child instanceof Uint8Array || typeof o.empty_child === "string") && isSet(o.hash));
1349
+ },
1350
+ encode(message: InnerSpec, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1351
+ writer.uint32(10).fork();
1352
+ for (const v of message.childOrder) {
1353
+ writer.int32(v);
1354
+ }
1355
+ writer.ldelim();
1356
+ if (message.childSize !== 0) {
1357
+ writer.uint32(16).int32(message.childSize);
1358
+ }
1359
+ if (message.minPrefixLength !== 0) {
1360
+ writer.uint32(24).int32(message.minPrefixLength);
1361
+ }
1362
+ if (message.maxPrefixLength !== 0) {
1363
+ writer.uint32(32).int32(message.maxPrefixLength);
1364
+ }
1365
+ if (message.emptyChild.length !== 0) {
1366
+ writer.uint32(42).bytes(message.emptyChild);
1367
+ }
1368
+ if (message.hash !== 0) {
1369
+ writer.uint32(48).int32(message.hash);
1370
+ }
1371
+ return writer;
1372
+ },
1373
+ decode(input: BinaryReader | Uint8Array, length?: number): InnerSpec {
1374
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1375
+ let end = length === undefined ? reader.len : reader.pos + length;
1376
+ const message = createBaseInnerSpec();
1377
+ while (reader.pos < end) {
1378
+ const tag = reader.uint32();
1379
+ switch (tag >>> 3) {
1380
+ case 1:
1381
+ if ((tag & 7) === 2) {
1382
+ const end2 = reader.uint32() + reader.pos;
1383
+ while (reader.pos < end2) {
1384
+ message.childOrder.push(reader.int32());
1385
+ }
1386
+ } else {
1387
+ message.childOrder.push(reader.int32());
1388
+ }
1389
+ break;
1390
+ case 2:
1391
+ message.childSize = reader.int32();
1392
+ break;
1393
+ case 3:
1394
+ message.minPrefixLength = reader.int32();
1395
+ break;
1396
+ case 4:
1397
+ message.maxPrefixLength = reader.int32();
1398
+ break;
1399
+ case 5:
1400
+ message.emptyChild = reader.bytes();
1401
+ break;
1402
+ case 6:
1403
+ message.hash = reader.int32() as any;
1404
+ break;
1405
+ default:
1406
+ reader.skipType(tag & 7);
1407
+ break;
1408
+ }
1409
+ }
1410
+ return message;
1411
+ },
1412
+ fromPartial(object: DeepPartial<InnerSpec>): InnerSpec {
1413
+ const message = createBaseInnerSpec();
1414
+ message.childOrder = object.childOrder?.map(e => e) || [];
1415
+ message.childSize = object.childSize ?? 0;
1416
+ message.minPrefixLength = object.minPrefixLength ?? 0;
1417
+ message.maxPrefixLength = object.maxPrefixLength ?? 0;
1418
+ message.emptyChild = object.emptyChild ?? new Uint8Array();
1419
+ message.hash = object.hash ?? 0;
1420
+ return message;
1421
+ },
1422
+ fromAmino(object: InnerSpecAmino): InnerSpec {
1423
+ const message = createBaseInnerSpec();
1424
+ message.childOrder = object.child_order?.map(e => e) || [];
1425
+ if (object.child_size !== undefined && object.child_size !== null) {
1426
+ message.childSize = object.child_size;
1427
+ }
1428
+ if (object.min_prefix_length !== undefined && object.min_prefix_length !== null) {
1429
+ message.minPrefixLength = object.min_prefix_length;
1430
+ }
1431
+ if (object.max_prefix_length !== undefined && object.max_prefix_length !== null) {
1432
+ message.maxPrefixLength = object.max_prefix_length;
1433
+ }
1434
+ if (object.empty_child !== undefined && object.empty_child !== null) {
1435
+ message.emptyChild = bytesFromBase64(object.empty_child);
1436
+ }
1437
+ if (object.hash !== undefined && object.hash !== null) {
1438
+ message.hash = object.hash;
1439
+ }
1440
+ return message;
1441
+ },
1442
+ toAmino(message: InnerSpec): InnerSpecAmino {
1443
+ const obj: any = {};
1444
+ if (message.childOrder) {
1445
+ obj.child_order = message.childOrder.map(e => e);
1446
+ } else {
1447
+ obj.child_order = message.childOrder;
1448
+ }
1449
+ obj.child_size = message.childSize === 0 ? undefined : message.childSize;
1450
+ obj.min_prefix_length = message.minPrefixLength === 0 ? undefined : message.minPrefixLength;
1451
+ obj.max_prefix_length = message.maxPrefixLength === 0 ? undefined : message.maxPrefixLength;
1452
+ obj.empty_child = message.emptyChild ? base64FromBytes(message.emptyChild) : undefined;
1453
+ obj.hash = message.hash === 0 ? undefined : message.hash;
1454
+ return obj;
1455
+ },
1456
+ fromAminoMsg(object: InnerSpecAminoMsg): InnerSpec {
1457
+ return InnerSpec.fromAmino(object.value);
1458
+ },
1459
+ toAminoMsg(message: InnerSpec): InnerSpecAminoMsg {
1460
+ return {
1461
+ type: "cosmos-sdk/InnerSpec",
1462
+ value: InnerSpec.toAmino(message)
1463
+ };
1464
+ },
1465
+ fromProtoMsg(message: InnerSpecProtoMsg): InnerSpec {
1466
+ return InnerSpec.decode(message.value);
1467
+ },
1468
+ toProto(message: InnerSpec): Uint8Array {
1469
+ return InnerSpec.encode(message).finish();
1470
+ },
1471
+ toProtoMsg(message: InnerSpec): InnerSpecProtoMsg {
1472
+ return {
1473
+ typeUrl: "/cosmos.ics23.v1.InnerSpec",
1474
+ value: InnerSpec.encode(message).finish()
1475
+ };
1476
+ }
1477
+ };
1478
+ GlobalDecoderRegistry.register(InnerSpec.typeUrl, InnerSpec);
1479
+ GlobalDecoderRegistry.registerAminoProtoMapping(InnerSpec.aminoType, InnerSpec.typeUrl);
1480
+ function createBaseBatchProof(): BatchProof {
1481
+ return {
1482
+ entries: []
1483
+ };
1484
+ }
1485
+ export const BatchProof = {
1486
+ typeUrl: "/cosmos.ics23.v1.BatchProof",
1487
+ aminoType: "cosmos-sdk/BatchProof",
1488
+ is(o: any): o is BatchProof {
1489
+ return o && (o.$typeUrl === BatchProof.typeUrl || Array.isArray(o.entries) && (!o.entries.length || BatchEntry.is(o.entries[0])));
1490
+ },
1491
+ isAmino(o: any): o is BatchProofAmino {
1492
+ return o && (o.$typeUrl === BatchProof.typeUrl || Array.isArray(o.entries) && (!o.entries.length || BatchEntry.isAmino(o.entries[0])));
1493
+ },
1494
+ encode(message: BatchProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1495
+ for (const v of message.entries) {
1496
+ BatchEntry.encode(v!, writer.uint32(10).fork()).ldelim();
1497
+ }
1498
+ return writer;
1499
+ },
1500
+ decode(input: BinaryReader | Uint8Array, length?: number): BatchProof {
1501
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1502
+ let end = length === undefined ? reader.len : reader.pos + length;
1503
+ const message = createBaseBatchProof();
1504
+ while (reader.pos < end) {
1505
+ const tag = reader.uint32();
1506
+ switch (tag >>> 3) {
1507
+ case 1:
1508
+ message.entries.push(BatchEntry.decode(reader, reader.uint32()));
1509
+ break;
1510
+ default:
1511
+ reader.skipType(tag & 7);
1512
+ break;
1513
+ }
1514
+ }
1515
+ return message;
1516
+ },
1517
+ fromPartial(object: DeepPartial<BatchProof>): BatchProof {
1518
+ const message = createBaseBatchProof();
1519
+ message.entries = object.entries?.map(e => BatchEntry.fromPartial(e)) || [];
1520
+ return message;
1521
+ },
1522
+ fromAmino(object: BatchProofAmino): BatchProof {
1523
+ const message = createBaseBatchProof();
1524
+ message.entries = object.entries?.map(e => BatchEntry.fromAmino(e)) || [];
1525
+ return message;
1526
+ },
1527
+ toAmino(message: BatchProof): BatchProofAmino {
1528
+ const obj: any = {};
1529
+ if (message.entries) {
1530
+ obj.entries = message.entries.map(e => e ? BatchEntry.toAmino(e) : undefined);
1531
+ } else {
1532
+ obj.entries = message.entries;
1533
+ }
1534
+ return obj;
1535
+ },
1536
+ fromAminoMsg(object: BatchProofAminoMsg): BatchProof {
1537
+ return BatchProof.fromAmino(object.value);
1538
+ },
1539
+ toAminoMsg(message: BatchProof): BatchProofAminoMsg {
1540
+ return {
1541
+ type: "cosmos-sdk/BatchProof",
1542
+ value: BatchProof.toAmino(message)
1543
+ };
1544
+ },
1545
+ fromProtoMsg(message: BatchProofProtoMsg): BatchProof {
1546
+ return BatchProof.decode(message.value);
1547
+ },
1548
+ toProto(message: BatchProof): Uint8Array {
1549
+ return BatchProof.encode(message).finish();
1550
+ },
1551
+ toProtoMsg(message: BatchProof): BatchProofProtoMsg {
1552
+ return {
1553
+ typeUrl: "/cosmos.ics23.v1.BatchProof",
1554
+ value: BatchProof.encode(message).finish()
1555
+ };
1556
+ }
1557
+ };
1558
+ GlobalDecoderRegistry.register(BatchProof.typeUrl, BatchProof);
1559
+ GlobalDecoderRegistry.registerAminoProtoMapping(BatchProof.aminoType, BatchProof.typeUrl);
1560
+ function createBaseBatchEntry(): BatchEntry {
1561
+ return {
1562
+ exist: undefined,
1563
+ nonexist: undefined
1564
+ };
1565
+ }
1566
+ export const BatchEntry = {
1567
+ typeUrl: "/cosmos.ics23.v1.BatchEntry",
1568
+ aminoType: "cosmos-sdk/BatchEntry",
1569
+ is(o: any): o is BatchEntry {
1570
+ return o && o.$typeUrl === BatchEntry.typeUrl;
1571
+ },
1572
+ isAmino(o: any): o is BatchEntryAmino {
1573
+ return o && o.$typeUrl === BatchEntry.typeUrl;
1574
+ },
1575
+ encode(message: BatchEntry, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1576
+ if (message.exist !== undefined) {
1577
+ ExistenceProof.encode(message.exist, writer.uint32(10).fork()).ldelim();
1578
+ }
1579
+ if (message.nonexist !== undefined) {
1580
+ NonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).ldelim();
1581
+ }
1582
+ return writer;
1583
+ },
1584
+ decode(input: BinaryReader | Uint8Array, length?: number): BatchEntry {
1585
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1586
+ let end = length === undefined ? reader.len : reader.pos + length;
1587
+ const message = createBaseBatchEntry();
1588
+ while (reader.pos < end) {
1589
+ const tag = reader.uint32();
1590
+ switch (tag >>> 3) {
1591
+ case 1:
1592
+ message.exist = ExistenceProof.decode(reader, reader.uint32());
1593
+ break;
1594
+ case 2:
1595
+ message.nonexist = NonExistenceProof.decode(reader, reader.uint32());
1596
+ break;
1597
+ default:
1598
+ reader.skipType(tag & 7);
1599
+ break;
1600
+ }
1601
+ }
1602
+ return message;
1603
+ },
1604
+ fromPartial(object: DeepPartial<BatchEntry>): BatchEntry {
1605
+ const message = createBaseBatchEntry();
1606
+ message.exist = object.exist !== undefined && object.exist !== null ? ExistenceProof.fromPartial(object.exist) : undefined;
1607
+ message.nonexist = object.nonexist !== undefined && object.nonexist !== null ? NonExistenceProof.fromPartial(object.nonexist) : undefined;
1608
+ return message;
1609
+ },
1610
+ fromAmino(object: BatchEntryAmino): BatchEntry {
1611
+ const message = createBaseBatchEntry();
1612
+ if (object.exist !== undefined && object.exist !== null) {
1613
+ message.exist = ExistenceProof.fromAmino(object.exist);
1614
+ }
1615
+ if (object.nonexist !== undefined && object.nonexist !== null) {
1616
+ message.nonexist = NonExistenceProof.fromAmino(object.nonexist);
1617
+ }
1618
+ return message;
1619
+ },
1620
+ toAmino(message: BatchEntry): BatchEntryAmino {
1621
+ const obj: any = {};
1622
+ obj.exist = message.exist ? ExistenceProof.toAmino(message.exist) : undefined;
1623
+ obj.nonexist = message.nonexist ? NonExistenceProof.toAmino(message.nonexist) : undefined;
1624
+ return obj;
1625
+ },
1626
+ fromAminoMsg(object: BatchEntryAminoMsg): BatchEntry {
1627
+ return BatchEntry.fromAmino(object.value);
1628
+ },
1629
+ toAminoMsg(message: BatchEntry): BatchEntryAminoMsg {
1630
+ return {
1631
+ type: "cosmos-sdk/BatchEntry",
1632
+ value: BatchEntry.toAmino(message)
1633
+ };
1634
+ },
1635
+ fromProtoMsg(message: BatchEntryProtoMsg): BatchEntry {
1636
+ return BatchEntry.decode(message.value);
1637
+ },
1638
+ toProto(message: BatchEntry): Uint8Array {
1639
+ return BatchEntry.encode(message).finish();
1640
+ },
1641
+ toProtoMsg(message: BatchEntry): BatchEntryProtoMsg {
1642
+ return {
1643
+ typeUrl: "/cosmos.ics23.v1.BatchEntry",
1644
+ value: BatchEntry.encode(message).finish()
1645
+ };
1646
+ }
1647
+ };
1648
+ GlobalDecoderRegistry.register(BatchEntry.typeUrl, BatchEntry);
1649
+ GlobalDecoderRegistry.registerAminoProtoMapping(BatchEntry.aminoType, BatchEntry.typeUrl);
1650
+ function createBaseCompressedBatchProof(): CompressedBatchProof {
1651
+ return {
1652
+ entries: [],
1653
+ lookupInners: []
1654
+ };
1655
+ }
1656
+ export const CompressedBatchProof = {
1657
+ typeUrl: "/cosmos.ics23.v1.CompressedBatchProof",
1658
+ aminoType: "cosmos-sdk/CompressedBatchProof",
1659
+ is(o: any): o is CompressedBatchProof {
1660
+ return o && (o.$typeUrl === CompressedBatchProof.typeUrl || Array.isArray(o.entries) && (!o.entries.length || CompressedBatchEntry.is(o.entries[0])) && Array.isArray(o.lookupInners) && (!o.lookupInners.length || InnerOp.is(o.lookupInners[0])));
1661
+ },
1662
+ isAmino(o: any): o is CompressedBatchProofAmino {
1663
+ return o && (o.$typeUrl === CompressedBatchProof.typeUrl || Array.isArray(o.entries) && (!o.entries.length || CompressedBatchEntry.isAmino(o.entries[0])) && Array.isArray(o.lookup_inners) && (!o.lookup_inners.length || InnerOp.isAmino(o.lookup_inners[0])));
1664
+ },
1665
+ encode(message: CompressedBatchProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1666
+ for (const v of message.entries) {
1667
+ CompressedBatchEntry.encode(v!, writer.uint32(10).fork()).ldelim();
1668
+ }
1669
+ for (const v of message.lookupInners) {
1670
+ InnerOp.encode(v!, writer.uint32(18).fork()).ldelim();
1671
+ }
1672
+ return writer;
1673
+ },
1674
+ decode(input: BinaryReader | Uint8Array, length?: number): CompressedBatchProof {
1675
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1676
+ let end = length === undefined ? reader.len : reader.pos + length;
1677
+ const message = createBaseCompressedBatchProof();
1678
+ while (reader.pos < end) {
1679
+ const tag = reader.uint32();
1680
+ switch (tag >>> 3) {
1681
+ case 1:
1682
+ message.entries.push(CompressedBatchEntry.decode(reader, reader.uint32()));
1683
+ break;
1684
+ case 2:
1685
+ message.lookupInners.push(InnerOp.decode(reader, reader.uint32()));
1686
+ break;
1687
+ default:
1688
+ reader.skipType(tag & 7);
1689
+ break;
1690
+ }
1691
+ }
1692
+ return message;
1693
+ },
1694
+ fromPartial(object: DeepPartial<CompressedBatchProof>): CompressedBatchProof {
1695
+ const message = createBaseCompressedBatchProof();
1696
+ message.entries = object.entries?.map(e => CompressedBatchEntry.fromPartial(e)) || [];
1697
+ message.lookupInners = object.lookupInners?.map(e => InnerOp.fromPartial(e)) || [];
1698
+ return message;
1699
+ },
1700
+ fromAmino(object: CompressedBatchProofAmino): CompressedBatchProof {
1701
+ const message = createBaseCompressedBatchProof();
1702
+ message.entries = object.entries?.map(e => CompressedBatchEntry.fromAmino(e)) || [];
1703
+ message.lookupInners = object.lookup_inners?.map(e => InnerOp.fromAmino(e)) || [];
1704
+ return message;
1705
+ },
1706
+ toAmino(message: CompressedBatchProof): CompressedBatchProofAmino {
1707
+ const obj: any = {};
1708
+ if (message.entries) {
1709
+ obj.entries = message.entries.map(e => e ? CompressedBatchEntry.toAmino(e) : undefined);
1710
+ } else {
1711
+ obj.entries = message.entries;
1712
+ }
1713
+ if (message.lookupInners) {
1714
+ obj.lookup_inners = message.lookupInners.map(e => e ? InnerOp.toAmino(e) : undefined);
1715
+ } else {
1716
+ obj.lookup_inners = message.lookupInners;
1717
+ }
1718
+ return obj;
1719
+ },
1720
+ fromAminoMsg(object: CompressedBatchProofAminoMsg): CompressedBatchProof {
1721
+ return CompressedBatchProof.fromAmino(object.value);
1722
+ },
1723
+ toAminoMsg(message: CompressedBatchProof): CompressedBatchProofAminoMsg {
1724
+ return {
1725
+ type: "cosmos-sdk/CompressedBatchProof",
1726
+ value: CompressedBatchProof.toAmino(message)
1727
+ };
1728
+ },
1729
+ fromProtoMsg(message: CompressedBatchProofProtoMsg): CompressedBatchProof {
1730
+ return CompressedBatchProof.decode(message.value);
1731
+ },
1732
+ toProto(message: CompressedBatchProof): Uint8Array {
1733
+ return CompressedBatchProof.encode(message).finish();
1734
+ },
1735
+ toProtoMsg(message: CompressedBatchProof): CompressedBatchProofProtoMsg {
1736
+ return {
1737
+ typeUrl: "/cosmos.ics23.v1.CompressedBatchProof",
1738
+ value: CompressedBatchProof.encode(message).finish()
1739
+ };
1740
+ }
1741
+ };
1742
+ GlobalDecoderRegistry.register(CompressedBatchProof.typeUrl, CompressedBatchProof);
1743
+ GlobalDecoderRegistry.registerAminoProtoMapping(CompressedBatchProof.aminoType, CompressedBatchProof.typeUrl);
1744
+ function createBaseCompressedBatchEntry(): CompressedBatchEntry {
1745
+ return {
1746
+ exist: undefined,
1747
+ nonexist: undefined
1748
+ };
1749
+ }
1750
+ export const CompressedBatchEntry = {
1751
+ typeUrl: "/cosmos.ics23.v1.CompressedBatchEntry",
1752
+ aminoType: "cosmos-sdk/CompressedBatchEntry",
1753
+ is(o: any): o is CompressedBatchEntry {
1754
+ return o && o.$typeUrl === CompressedBatchEntry.typeUrl;
1755
+ },
1756
+ isAmino(o: any): o is CompressedBatchEntryAmino {
1757
+ return o && o.$typeUrl === CompressedBatchEntry.typeUrl;
1758
+ },
1759
+ encode(message: CompressedBatchEntry, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1760
+ if (message.exist !== undefined) {
1761
+ CompressedExistenceProof.encode(message.exist, writer.uint32(10).fork()).ldelim();
1762
+ }
1763
+ if (message.nonexist !== undefined) {
1764
+ CompressedNonExistenceProof.encode(message.nonexist, writer.uint32(18).fork()).ldelim();
1765
+ }
1766
+ return writer;
1767
+ },
1768
+ decode(input: BinaryReader | Uint8Array, length?: number): CompressedBatchEntry {
1769
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1770
+ let end = length === undefined ? reader.len : reader.pos + length;
1771
+ const message = createBaseCompressedBatchEntry();
1772
+ while (reader.pos < end) {
1773
+ const tag = reader.uint32();
1774
+ switch (tag >>> 3) {
1775
+ case 1:
1776
+ message.exist = CompressedExistenceProof.decode(reader, reader.uint32());
1777
+ break;
1778
+ case 2:
1779
+ message.nonexist = CompressedNonExistenceProof.decode(reader, reader.uint32());
1780
+ break;
1781
+ default:
1782
+ reader.skipType(tag & 7);
1783
+ break;
1784
+ }
1785
+ }
1786
+ return message;
1787
+ },
1788
+ fromPartial(object: DeepPartial<CompressedBatchEntry>): CompressedBatchEntry {
1789
+ const message = createBaseCompressedBatchEntry();
1790
+ message.exist = object.exist !== undefined && object.exist !== null ? CompressedExistenceProof.fromPartial(object.exist) : undefined;
1791
+ message.nonexist = object.nonexist !== undefined && object.nonexist !== null ? CompressedNonExistenceProof.fromPartial(object.nonexist) : undefined;
1792
+ return message;
1793
+ },
1794
+ fromAmino(object: CompressedBatchEntryAmino): CompressedBatchEntry {
1795
+ const message = createBaseCompressedBatchEntry();
1796
+ if (object.exist !== undefined && object.exist !== null) {
1797
+ message.exist = CompressedExistenceProof.fromAmino(object.exist);
1798
+ }
1799
+ if (object.nonexist !== undefined && object.nonexist !== null) {
1800
+ message.nonexist = CompressedNonExistenceProof.fromAmino(object.nonexist);
1801
+ }
1802
+ return message;
1803
+ },
1804
+ toAmino(message: CompressedBatchEntry): CompressedBatchEntryAmino {
1805
+ const obj: any = {};
1806
+ obj.exist = message.exist ? CompressedExistenceProof.toAmino(message.exist) : undefined;
1807
+ obj.nonexist = message.nonexist ? CompressedNonExistenceProof.toAmino(message.nonexist) : undefined;
1808
+ return obj;
1809
+ },
1810
+ fromAminoMsg(object: CompressedBatchEntryAminoMsg): CompressedBatchEntry {
1811
+ return CompressedBatchEntry.fromAmino(object.value);
1812
+ },
1813
+ toAminoMsg(message: CompressedBatchEntry): CompressedBatchEntryAminoMsg {
1814
+ return {
1815
+ type: "cosmos-sdk/CompressedBatchEntry",
1816
+ value: CompressedBatchEntry.toAmino(message)
1817
+ };
1818
+ },
1819
+ fromProtoMsg(message: CompressedBatchEntryProtoMsg): CompressedBatchEntry {
1820
+ return CompressedBatchEntry.decode(message.value);
1821
+ },
1822
+ toProto(message: CompressedBatchEntry): Uint8Array {
1823
+ return CompressedBatchEntry.encode(message).finish();
1824
+ },
1825
+ toProtoMsg(message: CompressedBatchEntry): CompressedBatchEntryProtoMsg {
1826
+ return {
1827
+ typeUrl: "/cosmos.ics23.v1.CompressedBatchEntry",
1828
+ value: CompressedBatchEntry.encode(message).finish()
1829
+ };
1830
+ }
1831
+ };
1832
+ GlobalDecoderRegistry.register(CompressedBatchEntry.typeUrl, CompressedBatchEntry);
1833
+ GlobalDecoderRegistry.registerAminoProtoMapping(CompressedBatchEntry.aminoType, CompressedBatchEntry.typeUrl);
1834
+ function createBaseCompressedExistenceProof(): CompressedExistenceProof {
1835
+ return {
1836
+ key: new Uint8Array(),
1837
+ value: new Uint8Array(),
1838
+ leaf: undefined,
1839
+ path: []
1840
+ };
1841
+ }
1842
+ export const CompressedExistenceProof = {
1843
+ typeUrl: "/cosmos.ics23.v1.CompressedExistenceProof",
1844
+ aminoType: "cosmos-sdk/CompressedExistenceProof",
1845
+ is(o: any): o is CompressedExistenceProof {
1846
+ return o && (o.$typeUrl === CompressedExistenceProof.typeUrl || (o.key instanceof Uint8Array || typeof o.key === "string") && (o.value instanceof Uint8Array || typeof o.value === "string") && Array.isArray(o.path) && (!o.path.length || typeof o.path[0] === "number"));
1847
+ },
1848
+ isAmino(o: any): o is CompressedExistenceProofAmino {
1849
+ return o && (o.$typeUrl === CompressedExistenceProof.typeUrl || (o.key instanceof Uint8Array || typeof o.key === "string") && (o.value instanceof Uint8Array || typeof o.value === "string") && Array.isArray(o.path) && (!o.path.length || typeof o.path[0] === "number"));
1850
+ },
1851
+ encode(message: CompressedExistenceProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1852
+ if (message.key.length !== 0) {
1853
+ writer.uint32(10).bytes(message.key);
1854
+ }
1855
+ if (message.value.length !== 0) {
1856
+ writer.uint32(18).bytes(message.value);
1857
+ }
1858
+ if (message.leaf !== undefined) {
1859
+ LeafOp.encode(message.leaf, writer.uint32(26).fork()).ldelim();
1860
+ }
1861
+ writer.uint32(34).fork();
1862
+ for (const v of message.path) {
1863
+ writer.int32(v);
1864
+ }
1865
+ writer.ldelim();
1866
+ return writer;
1867
+ },
1868
+ decode(input: BinaryReader | Uint8Array, length?: number): CompressedExistenceProof {
1869
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1870
+ let end = length === undefined ? reader.len : reader.pos + length;
1871
+ const message = createBaseCompressedExistenceProof();
1872
+ while (reader.pos < end) {
1873
+ const tag = reader.uint32();
1874
+ switch (tag >>> 3) {
1875
+ case 1:
1876
+ message.key = reader.bytes();
1877
+ break;
1878
+ case 2:
1879
+ message.value = reader.bytes();
1880
+ break;
1881
+ case 3:
1882
+ message.leaf = LeafOp.decode(reader, reader.uint32());
1883
+ break;
1884
+ case 4:
1885
+ if ((tag & 7) === 2) {
1886
+ const end2 = reader.uint32() + reader.pos;
1887
+ while (reader.pos < end2) {
1888
+ message.path.push(reader.int32());
1889
+ }
1890
+ } else {
1891
+ message.path.push(reader.int32());
1892
+ }
1893
+ break;
1894
+ default:
1895
+ reader.skipType(tag & 7);
1896
+ break;
1897
+ }
1898
+ }
1899
+ return message;
1900
+ },
1901
+ fromPartial(object: DeepPartial<CompressedExistenceProof>): CompressedExistenceProof {
1902
+ const message = createBaseCompressedExistenceProof();
1903
+ message.key = object.key ?? new Uint8Array();
1904
+ message.value = object.value ?? new Uint8Array();
1905
+ message.leaf = object.leaf !== undefined && object.leaf !== null ? LeafOp.fromPartial(object.leaf) : undefined;
1906
+ message.path = object.path?.map(e => e) || [];
1907
+ return message;
1908
+ },
1909
+ fromAmino(object: CompressedExistenceProofAmino): CompressedExistenceProof {
1910
+ const message = createBaseCompressedExistenceProof();
1911
+ if (object.key !== undefined && object.key !== null) {
1912
+ message.key = bytesFromBase64(object.key);
1913
+ }
1914
+ if (object.value !== undefined && object.value !== null) {
1915
+ message.value = bytesFromBase64(object.value);
1916
+ }
1917
+ if (object.leaf !== undefined && object.leaf !== null) {
1918
+ message.leaf = LeafOp.fromAmino(object.leaf);
1919
+ }
1920
+ message.path = object.path?.map(e => e) || [];
1921
+ return message;
1922
+ },
1923
+ toAmino(message: CompressedExistenceProof): CompressedExistenceProofAmino {
1924
+ const obj: any = {};
1925
+ obj.key = message.key ? base64FromBytes(message.key) : undefined;
1926
+ obj.value = message.value ? base64FromBytes(message.value) : undefined;
1927
+ obj.leaf = message.leaf ? LeafOp.toAmino(message.leaf) : undefined;
1928
+ if (message.path) {
1929
+ obj.path = message.path.map(e => e);
1930
+ } else {
1931
+ obj.path = message.path;
1932
+ }
1933
+ return obj;
1934
+ },
1935
+ fromAminoMsg(object: CompressedExistenceProofAminoMsg): CompressedExistenceProof {
1936
+ return CompressedExistenceProof.fromAmino(object.value);
1937
+ },
1938
+ toAminoMsg(message: CompressedExistenceProof): CompressedExistenceProofAminoMsg {
1939
+ return {
1940
+ type: "cosmos-sdk/CompressedExistenceProof",
1941
+ value: CompressedExistenceProof.toAmino(message)
1942
+ };
1943
+ },
1944
+ fromProtoMsg(message: CompressedExistenceProofProtoMsg): CompressedExistenceProof {
1945
+ return CompressedExistenceProof.decode(message.value);
1946
+ },
1947
+ toProto(message: CompressedExistenceProof): Uint8Array {
1948
+ return CompressedExistenceProof.encode(message).finish();
1949
+ },
1950
+ toProtoMsg(message: CompressedExistenceProof): CompressedExistenceProofProtoMsg {
1951
+ return {
1952
+ typeUrl: "/cosmos.ics23.v1.CompressedExistenceProof",
1953
+ value: CompressedExistenceProof.encode(message).finish()
1954
+ };
1955
+ }
1956
+ };
1957
+ GlobalDecoderRegistry.register(CompressedExistenceProof.typeUrl, CompressedExistenceProof);
1958
+ GlobalDecoderRegistry.registerAminoProtoMapping(CompressedExistenceProof.aminoType, CompressedExistenceProof.typeUrl);
1959
+ function createBaseCompressedNonExistenceProof(): CompressedNonExistenceProof {
1960
+ return {
1961
+ key: new Uint8Array(),
1962
+ left: undefined,
1963
+ right: undefined
1964
+ };
1965
+ }
1966
+ export const CompressedNonExistenceProof = {
1967
+ typeUrl: "/cosmos.ics23.v1.CompressedNonExistenceProof",
1968
+ aminoType: "cosmos-sdk/CompressedNonExistenceProof",
1969
+ is(o: any): o is CompressedNonExistenceProof {
1970
+ return o && (o.$typeUrl === CompressedNonExistenceProof.typeUrl || o.key instanceof Uint8Array || typeof o.key === "string");
1971
+ },
1972
+ isAmino(o: any): o is CompressedNonExistenceProofAmino {
1973
+ return o && (o.$typeUrl === CompressedNonExistenceProof.typeUrl || o.key instanceof Uint8Array || typeof o.key === "string");
1974
+ },
1975
+ encode(message: CompressedNonExistenceProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter {
1976
+ if (message.key.length !== 0) {
1977
+ writer.uint32(10).bytes(message.key);
1978
+ }
1979
+ if (message.left !== undefined) {
1980
+ CompressedExistenceProof.encode(message.left, writer.uint32(18).fork()).ldelim();
1981
+ }
1982
+ if (message.right !== undefined) {
1983
+ CompressedExistenceProof.encode(message.right, writer.uint32(26).fork()).ldelim();
1984
+ }
1985
+ return writer;
1986
+ },
1987
+ decode(input: BinaryReader | Uint8Array, length?: number): CompressedNonExistenceProof {
1988
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1989
+ let end = length === undefined ? reader.len : reader.pos + length;
1990
+ const message = createBaseCompressedNonExistenceProof();
1991
+ while (reader.pos < end) {
1992
+ const tag = reader.uint32();
1993
+ switch (tag >>> 3) {
1994
+ case 1:
1995
+ message.key = reader.bytes();
1996
+ break;
1997
+ case 2:
1998
+ message.left = CompressedExistenceProof.decode(reader, reader.uint32());
1999
+ break;
2000
+ case 3:
2001
+ message.right = CompressedExistenceProof.decode(reader, reader.uint32());
2002
+ break;
2003
+ default:
2004
+ reader.skipType(tag & 7);
2005
+ break;
2006
+ }
2007
+ }
2008
+ return message;
2009
+ },
2010
+ fromPartial(object: DeepPartial<CompressedNonExistenceProof>): CompressedNonExistenceProof {
2011
+ const message = createBaseCompressedNonExistenceProof();
2012
+ message.key = object.key ?? new Uint8Array();
2013
+ message.left = object.left !== undefined && object.left !== null ? CompressedExistenceProof.fromPartial(object.left) : undefined;
2014
+ message.right = object.right !== undefined && object.right !== null ? CompressedExistenceProof.fromPartial(object.right) : undefined;
2015
+ return message;
2016
+ },
2017
+ fromAmino(object: CompressedNonExistenceProofAmino): CompressedNonExistenceProof {
2018
+ const message = createBaseCompressedNonExistenceProof();
2019
+ if (object.key !== undefined && object.key !== null) {
2020
+ message.key = bytesFromBase64(object.key);
2021
+ }
2022
+ if (object.left !== undefined && object.left !== null) {
2023
+ message.left = CompressedExistenceProof.fromAmino(object.left);
2024
+ }
2025
+ if (object.right !== undefined && object.right !== null) {
2026
+ message.right = CompressedExistenceProof.fromAmino(object.right);
2027
+ }
2028
+ return message;
2029
+ },
2030
+ toAmino(message: CompressedNonExistenceProof): CompressedNonExistenceProofAmino {
2031
+ const obj: any = {};
2032
+ obj.key = message.key ? base64FromBytes(message.key) : undefined;
2033
+ obj.left = message.left ? CompressedExistenceProof.toAmino(message.left) : undefined;
2034
+ obj.right = message.right ? CompressedExistenceProof.toAmino(message.right) : undefined;
2035
+ return obj;
2036
+ },
2037
+ fromAminoMsg(object: CompressedNonExistenceProofAminoMsg): CompressedNonExistenceProof {
2038
+ return CompressedNonExistenceProof.fromAmino(object.value);
2039
+ },
2040
+ toAminoMsg(message: CompressedNonExistenceProof): CompressedNonExistenceProofAminoMsg {
2041
+ return {
2042
+ type: "cosmos-sdk/CompressedNonExistenceProof",
2043
+ value: CompressedNonExistenceProof.toAmino(message)
2044
+ };
2045
+ },
2046
+ fromProtoMsg(message: CompressedNonExistenceProofProtoMsg): CompressedNonExistenceProof {
2047
+ return CompressedNonExistenceProof.decode(message.value);
2048
+ },
2049
+ toProto(message: CompressedNonExistenceProof): Uint8Array {
2050
+ return CompressedNonExistenceProof.encode(message).finish();
2051
+ },
2052
+ toProtoMsg(message: CompressedNonExistenceProof): CompressedNonExistenceProofProtoMsg {
2053
+ return {
2054
+ typeUrl: "/cosmos.ics23.v1.CompressedNonExistenceProof",
2055
+ value: CompressedNonExistenceProof.encode(message).finish()
2056
+ };
2057
+ }
2058
+ };
2059
+ GlobalDecoderRegistry.register(CompressedNonExistenceProof.typeUrl, CompressedNonExistenceProof);
2060
+ GlobalDecoderRegistry.registerAminoProtoMapping(CompressedNonExistenceProof.aminoType, CompressedNonExistenceProof.typeUrl);