@dydxprotocol/v4-client-js 0.30.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 (822) hide show
  1. package/.env +1 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.js +17 -0
  4. package/.gitleaks.toml +24 -0
  5. package/.gitleaksignore +1 -0
  6. package/.nvmrc +1 -0
  7. package/.telescope.json +17 -0
  8. package/.vscode/launch.json +11 -0
  9. package/LICENSE +11 -0
  10. package/README.md +35 -0
  11. package/__native__/__ios__/v4-native-client.js +202047 -0
  12. package/__native__/__ios__/v4-native-client.js.map +1 -0
  13. package/__tests__/helpers/baseClients.ts +23 -0
  14. package/__tests__/helpers/constants.ts +85 -0
  15. package/__tests__/lib/helpers.test.ts +40 -0
  16. package/__tests__/lib/util.test.ts +83 -0
  17. package/__tests__/lib/validation.test.ts +244 -0
  18. package/__tests__/modules/client/AccountEndpoints.test.ts +106 -0
  19. package/__tests__/modules/client/FaucetEndpoint.test.ts +14 -0
  20. package/__tests__/modules/client/MarketsEndpoints.test.ts +76 -0
  21. package/__tests__/modules/client/Transfers.test.ts +63 -0
  22. package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +50 -0
  23. package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +55 -0
  24. package/__tests__/modules/client/constants.ts +3 -0
  25. package/__tests__/modules/onboarding.test.ts +64 -0
  26. package/build/__tests__/helpers/baseClients.d.ts +18 -0
  27. package/build/__tests__/helpers/baseClients.js +29 -0
  28. package/build/__tests__/helpers/constants.d.ts +14 -0
  29. package/build/__tests__/helpers/constants.js +72 -0
  30. package/build/__tests__/lib/helpers.test.d.ts +1 -0
  31. package/build/__tests__/lib/helpers.test.js +34 -0
  32. package/build/__tests__/lib/util.test.d.ts +1 -0
  33. package/build/__tests__/lib/util.test.js +67 -0
  34. package/build/__tests__/lib/validation.test.d.ts +1 -0
  35. package/build/__tests__/lib/validation.test.js +227 -0
  36. package/build/__tests__/modules/client/AccountEndpoints.test.d.ts +1 -0
  37. package/build/__tests__/modules/client/AccountEndpoints.test.js +99 -0
  38. package/build/__tests__/modules/client/FaucetEndpoint.test.d.ts +1 -0
  39. package/build/__tests__/modules/client/FaucetEndpoint.test.js +15 -0
  40. package/build/__tests__/modules/client/MarketsEndpoints.test.d.ts +1 -0
  41. package/build/__tests__/modules/client/MarketsEndpoints.test.js +69 -0
  42. package/build/__tests__/modules/client/Transfers.test.d.ts +1 -0
  43. package/build/__tests__/modules/client/Transfers.test.js +45 -0
  44. package/build/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +1 -0
  45. package/build/__tests__/modules/client/ValidatorGetEndpoints.test.js +46 -0
  46. package/build/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +1 -0
  47. package/build/__tests__/modules/client/ValidatorPostEndpoints.test.js +53 -0
  48. package/build/__tests__/modules/client/constants.d.ts +3 -0
  49. package/build/__tests__/modules/client/constants.js +7 -0
  50. package/build/__tests__/modules/onboarding.test.d.ts +1 -0
  51. package/build/__tests__/modules/onboarding.test.js +51 -0
  52. package/build/examples/account_endpoints.d.ts +4 -0
  53. package/build/examples/account_endpoints.js +142 -0
  54. package/build/examples/composite_example.d.ts +1 -0
  55. package/build/examples/composite_example.js +49 -0
  56. package/build/examples/constants.d.ts +7 -0
  57. package/build/examples/constants.js +29 -0
  58. package/build/examples/faucet_endpoint.d.ts +4 -0
  59. package/build/examples/faucet_endpoint.js +22 -0
  60. package/build/examples/human_readable_orders.json +86 -0
  61. package/build/examples/json-encoding.d.ts +1 -0
  62. package/build/examples/json-encoding.js +32 -0
  63. package/build/examples/markets_endpoints.d.ts +4 -0
  64. package/build/examples/markets_endpoints.js +159 -0
  65. package/build/examples/native_examples.d.ts +1 -0
  66. package/build/examples/native_examples.js +80 -0
  67. package/build/examples/optimal_node.d.ts +1 -0
  68. package/build/examples/optimal_node.js +50 -0
  69. package/build/examples/raw_orders.json +130 -0
  70. package/build/examples/transfer_example_deposit.d.ts +1 -0
  71. package/build/examples/transfer_example_deposit.js +30 -0
  72. package/build/examples/transfer_example_send.d.ts +1 -0
  73. package/build/examples/transfer_example_send.js +44 -0
  74. package/build/examples/transfer_example_subaccount_transfer.d.ts +1 -0
  75. package/build/examples/transfer_example_subaccount_transfer.js +30 -0
  76. package/build/examples/transfer_example_withdraw.d.ts +1 -0
  77. package/build/examples/transfer_example_withdraw.js +30 -0
  78. package/build/examples/transfer_example_withdraw_other.d.ts +1 -0
  79. package/build/examples/transfer_example_withdraw_other.js +44 -0
  80. package/build/examples/validator_get_example.d.ts +1 -0
  81. package/build/examples/validator_get_example.js +101 -0
  82. package/build/examples/validator_post_example.d.ts +1 -0
  83. package/build/examples/validator_post_example.js +76 -0
  84. package/build/examples/wallet_address.d.ts +1 -0
  85. package/build/examples/wallet_address.js +21 -0
  86. package/build/examples/websocket_example.d.ts +1 -0
  87. package/build/examples/websocket_example.js +34 -0
  88. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/amino.d.ts +1 -0
  89. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/amino.js +3 -0
  90. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/bundle.d.ts +1 -0
  91. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/bundle.js +30 -0
  92. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/runtime/v1alpha1/module.d.ts +76 -0
  93. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/runtime/v1alpha1/module.js +206 -0
  94. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/config.d.ts +100 -0
  95. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/config.js +223 -0
  96. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/module.d.ts +120 -0
  97. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/module.js +207 -0
  98. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.d.ts +31 -0
  99. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.js +108 -0
  100. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.d.ts +16 -0
  101. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.js +52 -0
  102. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/module/v1/module.d.ts +45 -0
  103. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/module/v1/module.js +161 -0
  104. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/auth.d.ts +105 -0
  105. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/auth.js +323 -0
  106. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/genesis.d.ts +22 -0
  107. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/genesis.js +92 -0
  108. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.d.ts +438 -0
  109. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.js +937 -0
  110. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.d.ts +83 -0
  111. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.js +135 -0
  112. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.d.ts +56 -0
  113. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.js +119 -0
  114. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.d.ts +17 -0
  115. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.js +41 -0
  116. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/module/v1/module.d.ts +14 -0
  117. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/module/v1/module.js +61 -0
  118. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/authz.d.ts +96 -0
  119. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/authz.js +259 -0
  120. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/event.d.ts +45 -0
  121. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/event.js +161 -0
  122. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/genesis.d.ts +17 -0
  123. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/genesis.js +80 -0
  124. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.d.ts +119 -0
  125. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.js +402 -0
  126. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.d.ts +32 -0
  127. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.js +70 -0
  128. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.d.ts +124 -0
  129. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.js +341 -0
  130. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.d.ts +30 -0
  131. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.js +53 -0
  132. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/module/v1/module.d.ts +24 -0
  133. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/module/v1/module.js +90 -0
  134. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/authz.d.ts +35 -0
  135. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/authz.js +95 -0
  136. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/bank.d.ts +207 -0
  137. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/bank.js +512 -0
  138. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/genesis.d.ts +63 -0
  139. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/genesis.js +198 -0
  140. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.d.ts +533 -0
  141. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.js +1235 -0
  142. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.d.ts +106 -0
  143. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.js +146 -0
  144. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.d.ts +186 -0
  145. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.js +432 -0
  146. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.d.ts +33 -0
  147. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.js +59 -0
  148. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/abci/v1beta1/abci.d.ts +314 -0
  149. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/abci/v1beta1/abci.js +814 -0
  150. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/kv/v1beta1/kv.d.ts +33 -0
  151. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/kv/v1beta1/kv.js +136 -0
  152. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.d.ts +29 -0
  153. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.js +108 -0
  154. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.d.ts +16 -0
  155. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.js +52 -0
  156. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/query/v1beta1/pagination.d.ts +109 -0
  157. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/query/v1beta1/pagination.js +171 -0
  158. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v1beta1/reflection.d.ts +73 -0
  159. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v1beta1/reflection.js +210 -0
  160. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v2alpha1/reflection.d.ts +502 -0
  161. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v2alpha1/reflection.js +1330 -0
  162. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.d.ts +237 -0
  163. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.js +592 -0
  164. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/commit_info.d.ts +72 -0
  165. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/commit_info.js +202 -0
  166. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/listening.d.ts +85 -0
  167. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/listening.js +262 -0
  168. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.d.ts +404 -0
  169. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.js +1234 -0
  170. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.d.ts +46 -0
  171. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.js +108 -0
  172. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/types.d.ts +88 -0
  173. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/types.js +284 -0
  174. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/v1beta1/coin.d.ts +85 -0
  175. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/v1beta1/coin.js +233 -0
  176. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.d.ts +5570 -0
  177. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.js +607 -0
  178. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/module/v1/module.d.ts +20 -0
  179. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/module/v1/module.js +75 -0
  180. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/capability.d.ts +68 -0
  181. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/capability.js +181 -0
  182. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/genesis.d.ts +45 -0
  183. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/genesis.js +146 -0
  184. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/module/v1/module.d.ts +17 -0
  185. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/module/v1/module.js +75 -0
  186. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.d.ts +35 -0
  187. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.js +108 -0
  188. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.rpc.Query.d.ts +16 -0
  189. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.rpc.Query.js +52 -0
  190. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.d.ts +50 -0
  191. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.js +139 -0
  192. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.rpc.msg.d.ts +17 -0
  193. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.rpc.msg.js +41 -0
  194. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/module/v1/module.d.ts +20 -0
  195. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/module/v1/module.js +85 -0
  196. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/genesis.d.ts +21 -0
  197. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/genesis.js +75 -0
  198. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.d.ts +87 -0
  199. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.js +218 -0
  200. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.d.ts +20 -0
  201. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.js +47 -0
  202. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/ed25519/keys.d.ts +49 -0
  203. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/ed25519/keys.js +121 -0
  204. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/hd/v1/hd.d.ts +32 -0
  205. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/hd/v1/hd.js +115 -0
  206. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/keyring/v1/record.d.ts +96 -0
  207. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/keyring/v1/record.js +283 -0
  208. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/keys.d.ts +27 -0
  209. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/keys.js +91 -0
  210. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.d.ts +51 -0
  211. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.js +136 -0
  212. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256k1/keys.d.ts +43 -0
  213. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256k1/keys.js +121 -0
  214. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256r1/keys.d.ts +36 -0
  215. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256r1/keys.js +121 -0
  216. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/module/v1/module.d.ts +19 -0
  217. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/module/v1/module.js +85 -0
  218. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/distribution.d.ts +330 -0
  219. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/distribution.js +782 -0
  220. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/genesis.d.ts +213 -0
  221. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/genesis.js +639 -0
  222. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.d.ts +439 -0
  223. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.js +1043 -0
  224. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.d.ts +55 -0
  225. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.js +133 -0
  226. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.d.ts +278 -0
  227. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.js +611 -0
  228. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.d.ts +51 -0
  229. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.js +71 -0
  230. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/module/v1/module.d.ts +14 -0
  231. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/module/v1/module.js +61 -0
  232. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/evidence.d.ts +35 -0
  233. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/evidence.js +106 -0
  234. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/genesis.d.ts +18 -0
  235. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/genesis.js +80 -0
  236. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.d.ts +94 -0
  237. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.js +238 -0
  238. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.d.ts +20 -0
  239. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.js +63 -0
  240. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.d.ts +43 -0
  241. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.js +132 -0
  242. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.d.ts +15 -0
  243. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.js +41 -0
  244. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/module/v1/module.d.ts +14 -0
  245. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/module/v1/module.js +61 -0
  246. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/feegrant.d.ts +119 -0
  247. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/feegrant.js +317 -0
  248. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/genesis.d.ts +17 -0
  249. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/genesis.js +80 -0
  250. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.d.ts +128 -0
  251. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.js +366 -0
  252. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.d.ts +28 -0
  253. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.js +70 -0
  254. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.d.ts +75 -0
  255. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.js +218 -0
  256. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.d.ts +21 -0
  257. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.js +47 -0
  258. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/module/v1/module.d.ts +14 -0
  259. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/module/v1/module.js +61 -0
  260. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/v1beta1/genesis.d.ts +17 -0
  261. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/v1beta1/genesis.js +80 -0
  262. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/module/v1/module.d.ts +25 -0
  263. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/module/v1/module.js +85 -0
  264. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/genesis.d.ts +60 -0
  265. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/genesis.js +161 -0
  266. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/gov.d.ts +355 -0
  267. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/gov.js +944 -0
  268. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.d.ts +328 -0
  269. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.js +903 -0
  270. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.rpc.Query.d.ts +44 -0
  271. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.rpc.Query.js +115 -0
  272. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.d.ts +270 -0
  273. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.js +688 -0
  274. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.rpc.msg.d.ts +35 -0
  275. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.rpc.msg.js +71 -0
  276. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/genesis.d.ts +38 -0
  277. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/genesis.js +151 -0
  278. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/gov.d.ts +314 -0
  279. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/gov.js +814 -0
  280. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.d.ts +305 -0
  281. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.js +893 -0
  282. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.d.ts +44 -0
  283. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.js +115 -0
  284. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.d.ts +171 -0
  285. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.js +455 -0
  286. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.d.ts +25 -0
  287. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.js +59 -0
  288. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/module/v1/module.d.ts +29 -0
  289. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/module/v1/module.js +85 -0
  290. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/events.d.ts +157 -0
  291. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/events.js +469 -0
  292. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/genesis.d.ts +50 -0
  293. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/genesis.js +171 -0
  294. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.d.ts +472 -0
  295. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.js +1426 -0
  296. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.rpc.Query.d.ts +70 -0
  297. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.rpc.Query.js +160 -0
  298. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.d.ts +577 -0
  299. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.js +1630 -0
  300. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.rpc.msg.d.ts +51 -0
  301. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.rpc.msg.js +119 -0
  302. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/types.d.ts +476 -0
  303. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/types.js +1135 -0
  304. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/module/v1/module.d.ts +19 -0
  305. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/module/v1/module.js +85 -0
  306. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/genesis.d.ts +21 -0
  307. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/genesis.js +85 -0
  308. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/mint.d.ts +53 -0
  309. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/mint.js +181 -0
  310. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.d.ts +107 -0
  311. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.js +266 -0
  312. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.d.ts +24 -0
  313. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.js +70 -0
  314. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.d.ts +56 -0
  315. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.js +119 -0
  316. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.d.ts +17 -0
  317. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.js +41 -0
  318. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/msg/v1/msg.d.ts +1 -0
  319. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/msg/v1/msg.js +3 -0
  320. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/module/v1/module.d.ts +14 -0
  321. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/module/v1/module.js +61 -0
  322. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/event.d.ts +70 -0
  323. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/event.js +237 -0
  324. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/genesis.d.ts +40 -0
  325. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/genesis.js +157 -0
  326. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/nft.d.ts +64 -0
  327. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/nft.js +222 -0
  328. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.d.ts +250 -0
  329. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.js +750 -0
  330. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.d.ts +43 -0
  331. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.js +108 -0
  332. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.d.ts +39 -0
  333. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.js +138 -0
  334. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.d.ts +12 -0
  335. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.js +41 -0
  336. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/module/v1alpha1/module.d.ts +22 -0
  337. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/module/v1alpha1/module.js +61 -0
  338. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.d.ts +196 -0
  339. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.js +529 -0
  340. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.d.ts +20 -0
  341. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.js +61 -0
  342. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1/orm.d.ts +137 -0
  343. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1/orm.js +268 -0
  344. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1alpha1/schema.d.ts +101 -0
  345. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1alpha1/schema.js +243 -0
  346. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/module/v1/module.d.ts +14 -0
  347. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/module/v1/module.js +61 -0
  348. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/params.d.ts +45 -0
  349. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/params.js +166 -0
  350. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.d.ts +112 -0
  351. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.js +276 -0
  352. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.rpc.Query.d.ts +27 -0
  353. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.rpc.Query.js +61 -0
  354. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/query/v1/query.d.ts +1 -0
  355. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/query/v1/query.js +3 -0
  356. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/reflection/v1/reflection.d.ts +31 -0
  357. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/reflection/v1/reflection.js +113 -0
  358. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.d.ts +216 -0
  359. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.js +103 -0
  360. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.tx.d.ts +56 -0
  361. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.tx.js +81 -0
  362. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/module/v1/module.d.ts +17 -0
  363. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/module/v1/module.js +75 -0
  364. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/genesis.d.ts +95 -0
  365. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/genesis.js +279 -0
  366. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.d.ts +120 -0
  367. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.js +306 -0
  368. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.d.ts +24 -0
  369. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.js +72 -0
  370. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/slashing.d.ts +74 -0
  371. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/slashing.js +213 -0
  372. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.d.ts +84 -0
  373. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.js +198 -0
  374. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.d.ts +24 -0
  375. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.js +47 -0
  376. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/module/v1/module.d.ts +24 -0
  377. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/module/v1/module.js +90 -0
  378. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/authz.d.ts +75 -0
  379. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/authz.js +212 -0
  380. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/genesis.d.ts +65 -0
  381. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/genesis.js +227 -0
  382. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.d.ts +608 -0
  383. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.js +1510 -0
  384. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.d.ts +111 -0
  385. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.js +169 -0
  386. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/staking.d.ts +611 -0
  387. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/staking.js +1639 -0
  388. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.d.ts +313 -0
  389. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.js +810 -0
  390. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.d.ts +48 -0
  391. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.js +77 -0
  392. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/config/v1/config.d.ts +26 -0
  393. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/config/v1/config.js +85 -0
  394. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/signing/v1beta1/signing.d.ts +172 -0
  395. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/signing/v1beta1/signing.js +424 -0
  396. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.d.ts +532 -0
  397. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.js +1130 -0
  398. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.d.ts +68 -0
  399. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.js +124 -0
  400. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/tx.d.ts +488 -0
  401. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/tx.js +964 -0
  402. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/module/v1/module.d.ts +17 -0
  403. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/module/v1/module.js +75 -0
  404. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.d.ts +240 -0
  405. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.js +466 -0
  406. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.d.ts +47 -0
  407. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.js +88 -0
  408. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.d.ts +95 -0
  409. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.js +198 -0
  410. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.d.ts +24 -0
  411. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.js +47 -0
  412. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/upgrade.d.ts +148 -0
  413. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/upgrade.js +295 -0
  414. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/module/v1/module.d.ts +14 -0
  415. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/module/v1/module.js +61 -0
  416. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.d.ts +151 -0
  417. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.js +373 -0
  418. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.d.ts +31 -0
  419. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.js +53 -0
  420. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/vesting.d.ts +149 -0
  421. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/vesting.js +409 -0
  422. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/bundle.d.ts +21 -0
  423. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/bundle.js +30 -0
  424. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/cosmos.d.ts +95 -0
  425. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/cosmos.js +206 -0
  426. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/asset.d.ts +65 -0
  427. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/asset.js +145 -0
  428. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/genesis.d.ts +17 -0
  429. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/genesis.js +80 -0
  430. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.d.ts +1 -0
  431. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.js +3 -0
  432. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.rpc.Query.d.ts +10 -0
  433. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.rpc.Query.js +17 -0
  434. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/tx.d.ts +1 -0
  435. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/tx.js +3 -0
  436. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/blocktime.d.ts +62 -0
  437. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/blocktime.js +193 -0
  438. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/genesis.d.ts +17 -0
  439. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/genesis.js +75 -0
  440. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/params.d.ts +27 -0
  441. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/params.js +91 -0
  442. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.d.ts +131 -0
  443. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.js +265 -0
  444. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.rpc.Query.d.ts +24 -0
  445. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +70 -0
  446. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.d.ts +72 -0
  447. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.js +198 -0
  448. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.d.ts +18 -0
  449. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +47 -0
  450. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event.d.ts +29 -0
  451. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event.js +106 -0
  452. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event_info.d.ts +31 -0
  453. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event_info.js +85 -0
  454. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/genesis.d.ts +30 -0
  455. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/genesis.js +106 -0
  456. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/params.d.ts +94 -0
  457. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/params.js +228 -0
  458. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.d.ts +173 -0
  459. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.js +421 -0
  460. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.rpc.Query.d.ts +40 -0
  461. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.rpc.Query.js +88 -0
  462. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.d.ts +162 -0
  463. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.js +471 -0
  464. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.rpc.msg.d.ts +27 -0
  465. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.rpc.msg.js +65 -0
  466. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.d.ts +2299 -0
  467. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.js +273 -0
  468. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/block_rate_limit_config.d.ts +53 -0
  469. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +166 -0
  470. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/clob_pair.d.ts +133 -0
  471. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/clob_pair.js +337 -0
  472. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/equity_tier_limit_config.d.ts +54 -0
  473. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/equity_tier_limit_config.js +151 -0
  474. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/genesis.d.ts +26 -0
  475. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/genesis.js +114 -0
  476. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations.d.ts +73 -0
  477. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations.js +167 -0
  478. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations_config.d.ts +141 -0
  479. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations_config.js +282 -0
  480. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/matches.d.ts +164 -0
  481. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/matches.js +439 -0
  482. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/mev.d.ts +132 -0
  483. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/mev.js +445 -0
  484. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/operation.d.ts +59 -0
  485. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/operation.js +183 -0
  486. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order.d.ts +426 -0
  487. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order.js +811 -0
  488. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order_removals.d.ts +75 -0
  489. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order_removals.js +198 -0
  490. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/process_proposer_matches_events.d.ts +55 -0
  491. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/process_proposer_matches_events.js +181 -0
  492. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.d.ts +242 -0
  493. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.js +639 -0
  494. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +32 -0
  495. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.rpc.Query.js +90 -0
  496. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.d.ts +142 -0
  497. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.js +359 -0
  498. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.rpc.msg.d.ts +21 -0
  499. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +53 -0
  500. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/bridge/bridge.d.ts +36 -0
  501. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/bridge/bridge.js +113 -0
  502. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/liquidation/liquidation.d.ts +46 -0
  503. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/liquidation/liquidation.js +113 -0
  504. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.d.ts +68 -0
  505. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.js +241 -0
  506. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/epoch_info.d.ts +60 -0
  507. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/epoch_info.js +135 -0
  508. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/genesis.d.ts +17 -0
  509. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/genesis.js +80 -0
  510. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.d.ts +66 -0
  511. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.js +228 -0
  512. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.rpc.Query.d.ts +20 -0
  513. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.rpc.Query.js +63 -0
  514. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/genesis.d.ts +18 -0
  515. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/genesis.js +75 -0
  516. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/params.d.ts +50 -0
  517. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/params.js +176 -0
  518. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.d.ts +75 -0
  519. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.js +210 -0
  520. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.rpc.Query.d.ts +20 -0
  521. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +61 -0
  522. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.d.ts +39 -0
  523. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.js +119 -0
  524. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.d.ts +12 -0
  525. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +41 -0
  526. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/events/events.d.ts +552 -0
  527. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/events/events.js +1257 -0
  528. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/indexer_manager/event.d.ts +137 -0
  529. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/indexer_manager/event.js +359 -0
  530. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.d.ts +161 -0
  531. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.js +406 -0
  532. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/clob.d.ts +215 -0
  533. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +426 -0
  534. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.d.ts +96 -0
  535. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.js +227 -0
  536. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/redis/redis_order.d.ts +57 -0
  537. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/redis/redis_order.js +173 -0
  538. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/shared/removal_reason.d.ts +69 -0
  539. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/shared/removal_reason.js +159 -0
  540. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/socks/messages.d.ts +148 -0
  541. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/socks/messages.js +475 -0
  542. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/genesis.d.ts +22 -0
  543. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/genesis.js +107 -0
  544. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/params.d.ts +34 -0
  545. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/params.js +95 -0
  546. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/perpetual.d.ts +178 -0
  547. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/perpetual.js +373 -0
  548. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.d.ts +66 -0
  549. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.js +228 -0
  550. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.d.ts +20 -0
  551. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +63 -0
  552. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.d.ts +60 -0
  553. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.js +169 -0
  554. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.d.ts +15 -0
  555. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.js +41 -0
  556. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/genesis.d.ts +20 -0
  557. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/genesis.js +96 -0
  558. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_param.d.ts +56 -0
  559. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_param.js +125 -0
  560. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_price.d.ts +31 -0
  561. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_price.js +95 -0
  562. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.d.ts +184 -0
  563. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.js +426 -0
  564. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.rpc.Query.d.ts +28 -0
  565. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.rpc.Query.js +83 -0
  566. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.d.ts +56 -0
  567. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.js +169 -0
  568. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.rpc.msg.d.ts +15 -0
  569. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.rpc.msg.js +41 -0
  570. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/genesis.d.ts +18 -0
  571. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/genesis.js +75 -0
  572. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/params.d.ts +37 -0
  573. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/params.js +115 -0
  574. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.d.ts +30 -0
  575. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.js +108 -0
  576. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.rpc.Query.d.ts +16 -0
  577. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.rpc.Query.js +52 -0
  578. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/reward_share.d.ts +24 -0
  579. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/reward_share.js +85 -0
  580. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.d.ts +33 -0
  581. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.js +119 -0
  582. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.rpc.msg.d.ts +12 -0
  583. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.rpc.msg.js +41 -0
  584. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.d.ts +273 -0
  585. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.js +118 -0
  586. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.tx.d.ts +68 -0
  587. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.tx.js +93 -0
  588. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/genesis.d.ts +14 -0
  589. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/genesis.js +61 -0
  590. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.d.ts +1 -0
  591. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.js +3 -0
  592. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.rpc.Query.d.ts +10 -0
  593. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.rpc.Query.js +17 -0
  594. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/transfer.d.ts +91 -0
  595. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/transfer.js +258 -0
  596. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.d.ts +69 -0
  597. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.js +174 -0
  598. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.rpc.msg.d.ts +25 -0
  599. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +54 -0
  600. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/genesis.d.ts +18 -0
  601. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/genesis.js +75 -0
  602. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/params.d.ts +18 -0
  603. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/params.js +75 -0
  604. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.d.ts +130 -0
  605. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.js +356 -0
  606. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.rpc.Query.d.ts +28 -0
  607. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.rpc.Query.js +79 -0
  608. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/stats.d.ts +132 -0
  609. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/stats.js +410 -0
  610. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.d.ts +33 -0
  611. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.js +119 -0
  612. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.rpc.msg.d.ts +12 -0
  613. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.rpc.msg.js +41 -0
  614. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/asset_position.d.ts +35 -0
  615. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/asset_position.js +95 -0
  616. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/genesis.d.ts +17 -0
  617. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/genesis.js +80 -0
  618. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/perpetual_position.d.ts +32 -0
  619. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/perpetual_position.js +95 -0
  620. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.d.ts +67 -0
  621. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.js +238 -0
  622. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.d.ts +20 -0
  623. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.js +63 -0
  624. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/subaccount.d.ts +65 -0
  625. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/subaccount.js +173 -0
  626. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/genesis.d.ts +18 -0
  627. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/genesis.js +80 -0
  628. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.d.ts +33 -0
  629. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.js +121 -0
  630. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.rpc.Query.d.ts +16 -0
  631. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.rpc.Query.js +52 -0
  632. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.d.ts +66 -0
  633. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.js +208 -0
  634. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.rpc.msg.d.ts +15 -0
  635. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.rpc.msg.js +47 -0
  636. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/vest_entry.d.ts +42 -0
  637. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/vest_entry.js +116 -0
  638. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/bundle.d.ts +1 -0
  639. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/bundle.js +30 -0
  640. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/gogo.d.ts +1 -0
  641. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/gogo.js +3 -0
  642. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/annotations.d.ts +1 -0
  643. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/annotations.js +3 -0
  644. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/http.d.ts +671 -0
  645. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/http.js +287 -0
  646. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/bundle.d.ts +266 -0
  647. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/bundle.js +44 -0
  648. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/any.d.ts +208 -0
  649. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/any.js +85 -0
  650. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/descriptor.d.ts +1226 -0
  651. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/descriptor.js +2842 -0
  652. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/duration.d.ts +151 -0
  653. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/duration.js +85 -0
  654. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/timestamp.d.ts +197 -0
  655. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/timestamp.js +85 -0
  656. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/helpers.d.ts +82 -0
  657. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/helpers.js +184 -0
  658. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/index.d.ts +12 -0
  659. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/index.js +29 -0
  660. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/abci/types.d.ts +990 -0
  661. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/abci/types.js +3662 -0
  662. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/bundle.d.ts +657 -0
  663. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/bundle.js +61 -0
  664. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/keys.d.ts +18 -0
  665. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/keys.js +85 -0
  666. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/proof.d.ts +98 -0
  667. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/proof.js +349 -0
  668. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/libs/bits/types.d.ts +18 -0
  669. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/libs/bits/types.js +100 -0
  670. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/p2p/types.d.ts +79 -0
  671. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/p2p/types.js +332 -0
  672. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/block.d.ts +22 -0
  673. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/block.js +106 -0
  674. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/evidence.d.ts +80 -0
  675. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/evidence.js +314 -0
  676. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/params.d.ts +154 -0
  677. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/params.js +376 -0
  678. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/types.d.ts +322 -0
  679. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/types.js +1164 -0
  680. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/validator.d.ts +55 -0
  681. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/validator.js +232 -0
  682. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/version/types.d.ts +53 -0
  683. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/version/types.js +140 -0
  684. package/build/node_modules/@dydxprotocol/dydxjs/src/index.d.ts +1 -0
  685. package/build/node_modules/@dydxprotocol/dydxjs/src/index.js +18 -0
  686. package/build/src/clients/composite-client.d.ts +223 -0
  687. package/build/src/clients/composite-client.js +357 -0
  688. package/build/src/clients/constants.d.ts +104 -0
  689. package/build/src/clients/constants.js +189 -0
  690. package/build/src/clients/faucet-client.d.ts +10 -0
  691. package/build/src/clients/faucet-client.js +24 -0
  692. package/build/src/clients/helpers/chain-helpers.d.ts +13 -0
  693. package/build/src/clients/helpers/chain-helpers.js +163 -0
  694. package/build/src/clients/helpers/request-helpers.d.ts +1 -0
  695. package/build/src/clients/helpers/request-helpers.js +14 -0
  696. package/build/src/clients/indexer-client.d.ts +25 -0
  697. package/build/src/clients/indexer-client.js +38 -0
  698. package/build/src/clients/lib/axios/axiosRequest.d.ts +8 -0
  699. package/build/src/clients/lib/axios/axiosRequest.js +35 -0
  700. package/build/src/clients/lib/axios/errors.d.ts +30 -0
  701. package/build/src/clients/lib/axios/errors.js +28 -0
  702. package/build/src/clients/lib/axios/index.d.ts +6 -0
  703. package/build/src/clients/lib/axios/index.js +23 -0
  704. package/build/src/clients/lib/axios/types.d.ts +6 -0
  705. package/build/src/clients/lib/axios/types.js +11 -0
  706. package/build/src/clients/lib/errors.d.ts +35 -0
  707. package/build/src/clients/lib/errors.js +58 -0
  708. package/build/src/clients/lib/registry.d.ts +3 -0
  709. package/build/src/clients/lib/registry.js +24 -0
  710. package/build/src/clients/modules/account.d.ts +18 -0
  711. package/build/src/clients/modules/account.js +105 -0
  712. package/build/src/clients/modules/composer.d.ts +12 -0
  713. package/build/src/clients/modules/composer.js +152 -0
  714. package/build/src/clients/modules/get.d.ts +118 -0
  715. package/build/src/clients/modules/get.js +232 -0
  716. package/build/src/clients/modules/local-wallet.d.ts +15 -0
  717. package/build/src/clients/modules/local-wallet.js +47 -0
  718. package/build/src/clients/modules/markets.d.ts +15 -0
  719. package/build/src/clients/modules/markets.js +60 -0
  720. package/build/src/clients/modules/post.d.ts +82 -0
  721. package/build/src/clients/modules/post.js +218 -0
  722. package/build/src/clients/modules/proto-includes.d.ts +15 -0
  723. package/build/src/clients/modules/proto-includes.js +45 -0
  724. package/build/src/clients/modules/rest.d.ts +9 -0
  725. package/build/src/clients/modules/rest.js +27 -0
  726. package/build/src/clients/modules/signer.d.ts +16 -0
  727. package/build/src/clients/modules/signer.js +44 -0
  728. package/build/src/clients/modules/tendermintClient.d.ts +51 -0
  729. package/build/src/clients/modules/tendermintClient.js +135 -0
  730. package/build/src/clients/native.d.ts +43 -0
  731. package/build/src/clients/native.js +641 -0
  732. package/build/src/clients/socket-client.d.ts +125 -0
  733. package/build/src/clients/socket-client.js +270 -0
  734. package/build/src/clients/subaccount.d.ts +7 -0
  735. package/build/src/clients/subaccount.js +23 -0
  736. package/build/src/clients/types.d.ts +47 -0
  737. package/build/src/clients/types.js +26 -0
  738. package/build/src/clients/validator-client.d.ts +28 -0
  739. package/build/src/clients/validator-client.js +63 -0
  740. package/build/src/index.d.ts +13 -0
  741. package/build/src/index.js +57 -0
  742. package/build/src/lib/constants.d.ts +15 -0
  743. package/build/src/lib/constants.js +32 -0
  744. package/build/src/lib/errors.d.ts +22 -0
  745. package/build/src/lib/errors.js +37 -0
  746. package/build/src/lib/helpers.d.ts +16 -0
  747. package/build/src/lib/helpers.js +61 -0
  748. package/build/src/lib/onboarding.d.ts +28 -0
  749. package/build/src/lib/onboarding.js +54 -0
  750. package/build/src/lib/utils.d.ts +13 -0
  751. package/build/src/lib/utils.js +36 -0
  752. package/build/src/lib/validation.d.ts +18 -0
  753. package/build/src/lib/validation.js +123 -0
  754. package/build/src/network_optimizer.d.ts +5 -0
  755. package/build/src/network_optimizer.js +54 -0
  756. package/build/src/types.d.ts +35 -0
  757. package/build/src/types.js +32 -0
  758. package/examples/account_endpoints.ts +142 -0
  759. package/examples/composite_example.ts +60 -0
  760. package/examples/constants.ts +27 -0
  761. package/examples/faucet_endpoint.ts +23 -0
  762. package/examples/human_readable_orders.json +86 -0
  763. package/examples/json-encoding.ts +33 -0
  764. package/examples/markets_endpoints.ts +159 -0
  765. package/examples/native_examples.ts +113 -0
  766. package/examples/optimal_node.ts +51 -0
  767. package/examples/raw_orders.json +130 -0
  768. package/examples/transfer_example_deposit.ts +37 -0
  769. package/examples/transfer_example_send.ts +79 -0
  770. package/examples/transfer_example_subaccount_transfer.ts +40 -0
  771. package/examples/transfer_example_withdraw.ts +38 -0
  772. package/examples/transfer_example_withdraw_other.ts +70 -0
  773. package/examples/validator_get_example.ts +100 -0
  774. package/examples/validator_post_example.ts +86 -0
  775. package/examples/wallet_address.ts +17 -0
  776. package/examples/websocket_example.ts +37 -0
  777. package/jest.config.js +10 -0
  778. package/jest.globalSetup.js +5 -0
  779. package/jest.setup.js +1 -0
  780. package/package.json +72 -0
  781. package/scripts/bump_version.sh +16 -0
  782. package/scripts/publish-if-not-exists.sh +21 -0
  783. package/src/clients/composite-client.ts +611 -0
  784. package/src/clients/constants.ts +204 -0
  785. package/src/clients/faucet-client.ts +27 -0
  786. package/src/clients/helpers/chain-helpers.ts +208 -0
  787. package/src/clients/helpers/request-helpers.ts +13 -0
  788. package/src/clients/indexer-client.ts +39 -0
  789. package/src/clients/lib/axios/axiosRequest.ts +44 -0
  790. package/src/clients/lib/axios/errors.ts +46 -0
  791. package/src/clients/lib/axios/index.ts +7 -0
  792. package/src/clients/lib/axios/types.ts +6 -0
  793. package/src/clients/lib/errors.ts +70 -0
  794. package/src/clients/lib/registry.ts +30 -0
  795. package/src/clients/modules/account.ts +168 -0
  796. package/src/clients/modules/composer.ts +235 -0
  797. package/src/clients/modules/get.ts +347 -0
  798. package/src/clients/modules/local-wallet.ts +78 -0
  799. package/src/clients/modules/markets.ts +77 -0
  800. package/src/clients/modules/post.ts +484 -0
  801. package/src/clients/modules/proto-includes.ts +17 -0
  802. package/src/clients/modules/rest.ts +37 -0
  803. package/src/clients/modules/signer.ts +66 -0
  804. package/src/clients/modules/tendermintClient.ts +185 -0
  805. package/src/clients/native.ts +768 -0
  806. package/src/clients/socket-client.ts +296 -0
  807. package/src/clients/subaccount.ts +24 -0
  808. package/src/clients/types.ts +73 -0
  809. package/src/clients/validator-client.ts +74 -0
  810. package/src/index.ts +17 -0
  811. package/src/lib/constants.ts +37 -0
  812. package/src/lib/errors.ts +44 -0
  813. package/src/lib/helpers.ts +59 -0
  814. package/src/lib/onboarding.ts +64 -0
  815. package/src/lib/utils.ts +36 -0
  816. package/src/lib/validation.ts +151 -0
  817. package/src/network_optimizer.ts +70 -0
  818. package/src/types.ts +58 -0
  819. package/tasks.json +16 -0
  820. package/tsconfig.eslint.json +17 -0
  821. package/tsconfig.json +20 -0
  822. package/webpack.config.js +48 -0
@@ -0,0 +1,3662 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ResponseListSnapshots = exports.ResponseCommit = exports.ResponseEndBlock = exports.ResponseDeliverTx = exports.ResponseCheckTx = exports.ResponseBeginBlock = exports.ResponseQuery = exports.ResponseInitChain = exports.ResponseInfo = exports.ResponseFlush = exports.ResponseEcho = exports.ResponseException = exports.Response = exports.RequestProcessProposal = exports.RequestPrepareProposal = exports.RequestApplySnapshotChunk = exports.RequestLoadSnapshotChunk = exports.RequestOfferSnapshot = exports.RequestListSnapshots = exports.RequestCommit = exports.RequestEndBlock = exports.RequestDeliverTx = exports.RequestCheckTx = exports.RequestBeginBlock = exports.RequestQuery = exports.RequestInitChain = exports.RequestInfo = exports.RequestFlush = exports.RequestEcho = exports.Request = exports.misbehaviorTypeToJSON = exports.misbehaviorTypeFromJSON = exports.MisbehaviorTypeSDKType = exports.MisbehaviorType = exports.responseProcessProposal_ProposalStatusToJSON = exports.responseProcessProposal_ProposalStatusFromJSON = exports.ResponseProcessProposal_ProposalStatusSDKType = exports.ResponseProcessProposal_ProposalStatus = exports.responseApplySnapshotChunk_ResultToJSON = exports.responseApplySnapshotChunk_ResultFromJSON = exports.ResponseApplySnapshotChunk_ResultSDKType = exports.ResponseApplySnapshotChunk_Result = exports.responseOfferSnapshot_ResultToJSON = exports.responseOfferSnapshot_ResultFromJSON = exports.ResponseOfferSnapshot_ResultSDKType = exports.ResponseOfferSnapshot_Result = exports.checkTxTypeToJSON = exports.checkTxTypeFromJSON = exports.CheckTxTypeSDKType = exports.CheckTxType = void 0;
27
+ exports.Snapshot = exports.Misbehavior = exports.ExtendedVoteInfo = exports.VoteInfo = exports.ValidatorUpdate = exports.Validator = exports.TxResult = exports.EventAttribute = exports.Event = exports.ExtendedCommitInfo = exports.CommitInfo = exports.ResponseProcessProposal = exports.ResponsePrepareProposal = exports.ResponseApplySnapshotChunk = exports.ResponseLoadSnapshotChunk = exports.ResponseOfferSnapshot = void 0;
28
+ const timestamp_1 = require("../../google/protobuf/timestamp");
29
+ const params_1 = require("../types/params");
30
+ const types_1 = require("../types/types");
31
+ const proof_1 = require("../crypto/proof");
32
+ const keys_1 = require("../crypto/keys");
33
+ const _m0 = __importStar(require("protobufjs/minimal"));
34
+ const helpers_1 = require("../../helpers");
35
+ var CheckTxType;
36
+ (function (CheckTxType) {
37
+ CheckTxType[CheckTxType["NEW"] = 0] = "NEW";
38
+ CheckTxType[CheckTxType["RECHECK"] = 1] = "RECHECK";
39
+ CheckTxType[CheckTxType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
40
+ })(CheckTxType = exports.CheckTxType || (exports.CheckTxType = {}));
41
+ exports.CheckTxTypeSDKType = CheckTxType;
42
+ function checkTxTypeFromJSON(object) {
43
+ switch (object) {
44
+ case 0:
45
+ case "NEW":
46
+ return CheckTxType.NEW;
47
+ case 1:
48
+ case "RECHECK":
49
+ return CheckTxType.RECHECK;
50
+ case -1:
51
+ case "UNRECOGNIZED":
52
+ default:
53
+ return CheckTxType.UNRECOGNIZED;
54
+ }
55
+ }
56
+ exports.checkTxTypeFromJSON = checkTxTypeFromJSON;
57
+ function checkTxTypeToJSON(object) {
58
+ switch (object) {
59
+ case CheckTxType.NEW:
60
+ return "NEW";
61
+ case CheckTxType.RECHECK:
62
+ return "RECHECK";
63
+ case CheckTxType.UNRECOGNIZED:
64
+ default:
65
+ return "UNRECOGNIZED";
66
+ }
67
+ }
68
+ exports.checkTxTypeToJSON = checkTxTypeToJSON;
69
+ var ResponseOfferSnapshot_Result;
70
+ (function (ResponseOfferSnapshot_Result) {
71
+ /** UNKNOWN - Unknown result, abort all snapshot restoration */
72
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["UNKNOWN"] = 0] = "UNKNOWN";
73
+ /** ACCEPT - Snapshot accepted, apply chunks */
74
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["ACCEPT"] = 1] = "ACCEPT";
75
+ /** ABORT - Abort all snapshot restoration */
76
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["ABORT"] = 2] = "ABORT";
77
+ /** REJECT - Reject this specific snapshot, try others */
78
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT"] = 3] = "REJECT";
79
+ /** REJECT_FORMAT - Reject all snapshots of this format, try others */
80
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT_FORMAT"] = 4] = "REJECT_FORMAT";
81
+ /** REJECT_SENDER - Reject all snapshots from the sender(s), try others */
82
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT_SENDER"] = 5] = "REJECT_SENDER";
83
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
84
+ })(ResponseOfferSnapshot_Result = exports.ResponseOfferSnapshot_Result || (exports.ResponseOfferSnapshot_Result = {}));
85
+ exports.ResponseOfferSnapshot_ResultSDKType = ResponseOfferSnapshot_Result;
86
+ function responseOfferSnapshot_ResultFromJSON(object) {
87
+ switch (object) {
88
+ case 0:
89
+ case "UNKNOWN":
90
+ return ResponseOfferSnapshot_Result.UNKNOWN;
91
+ case 1:
92
+ case "ACCEPT":
93
+ return ResponseOfferSnapshot_Result.ACCEPT;
94
+ case 2:
95
+ case "ABORT":
96
+ return ResponseOfferSnapshot_Result.ABORT;
97
+ case 3:
98
+ case "REJECT":
99
+ return ResponseOfferSnapshot_Result.REJECT;
100
+ case 4:
101
+ case "REJECT_FORMAT":
102
+ return ResponseOfferSnapshot_Result.REJECT_FORMAT;
103
+ case 5:
104
+ case "REJECT_SENDER":
105
+ return ResponseOfferSnapshot_Result.REJECT_SENDER;
106
+ case -1:
107
+ case "UNRECOGNIZED":
108
+ default:
109
+ return ResponseOfferSnapshot_Result.UNRECOGNIZED;
110
+ }
111
+ }
112
+ exports.responseOfferSnapshot_ResultFromJSON = responseOfferSnapshot_ResultFromJSON;
113
+ function responseOfferSnapshot_ResultToJSON(object) {
114
+ switch (object) {
115
+ case ResponseOfferSnapshot_Result.UNKNOWN:
116
+ return "UNKNOWN";
117
+ case ResponseOfferSnapshot_Result.ACCEPT:
118
+ return "ACCEPT";
119
+ case ResponseOfferSnapshot_Result.ABORT:
120
+ return "ABORT";
121
+ case ResponseOfferSnapshot_Result.REJECT:
122
+ return "REJECT";
123
+ case ResponseOfferSnapshot_Result.REJECT_FORMAT:
124
+ return "REJECT_FORMAT";
125
+ case ResponseOfferSnapshot_Result.REJECT_SENDER:
126
+ return "REJECT_SENDER";
127
+ case ResponseOfferSnapshot_Result.UNRECOGNIZED:
128
+ default:
129
+ return "UNRECOGNIZED";
130
+ }
131
+ }
132
+ exports.responseOfferSnapshot_ResultToJSON = responseOfferSnapshot_ResultToJSON;
133
+ var ResponseApplySnapshotChunk_Result;
134
+ (function (ResponseApplySnapshotChunk_Result) {
135
+ /** UNKNOWN - Unknown result, abort all snapshot restoration */
136
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["UNKNOWN"] = 0] = "UNKNOWN";
137
+ /** ACCEPT - Chunk successfully accepted */
138
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["ACCEPT"] = 1] = "ACCEPT";
139
+ /** ABORT - Abort all snapshot restoration */
140
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["ABORT"] = 2] = "ABORT";
141
+ /** RETRY - Retry chunk (combine with refetch and reject) */
142
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["RETRY"] = 3] = "RETRY";
143
+ /** RETRY_SNAPSHOT - Retry snapshot (combine with refetch and reject) */
144
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["RETRY_SNAPSHOT"] = 4] = "RETRY_SNAPSHOT";
145
+ /** REJECT_SNAPSHOT - Reject this snapshot, try others */
146
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["REJECT_SNAPSHOT"] = 5] = "REJECT_SNAPSHOT";
147
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
148
+ })(ResponseApplySnapshotChunk_Result = exports.ResponseApplySnapshotChunk_Result || (exports.ResponseApplySnapshotChunk_Result = {}));
149
+ exports.ResponseApplySnapshotChunk_ResultSDKType = ResponseApplySnapshotChunk_Result;
150
+ function responseApplySnapshotChunk_ResultFromJSON(object) {
151
+ switch (object) {
152
+ case 0:
153
+ case "UNKNOWN":
154
+ return ResponseApplySnapshotChunk_Result.UNKNOWN;
155
+ case 1:
156
+ case "ACCEPT":
157
+ return ResponseApplySnapshotChunk_Result.ACCEPT;
158
+ case 2:
159
+ case "ABORT":
160
+ return ResponseApplySnapshotChunk_Result.ABORT;
161
+ case 3:
162
+ case "RETRY":
163
+ return ResponseApplySnapshotChunk_Result.RETRY;
164
+ case 4:
165
+ case "RETRY_SNAPSHOT":
166
+ return ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT;
167
+ case 5:
168
+ case "REJECT_SNAPSHOT":
169
+ return ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT;
170
+ case -1:
171
+ case "UNRECOGNIZED":
172
+ default:
173
+ return ResponseApplySnapshotChunk_Result.UNRECOGNIZED;
174
+ }
175
+ }
176
+ exports.responseApplySnapshotChunk_ResultFromJSON = responseApplySnapshotChunk_ResultFromJSON;
177
+ function responseApplySnapshotChunk_ResultToJSON(object) {
178
+ switch (object) {
179
+ case ResponseApplySnapshotChunk_Result.UNKNOWN:
180
+ return "UNKNOWN";
181
+ case ResponseApplySnapshotChunk_Result.ACCEPT:
182
+ return "ACCEPT";
183
+ case ResponseApplySnapshotChunk_Result.ABORT:
184
+ return "ABORT";
185
+ case ResponseApplySnapshotChunk_Result.RETRY:
186
+ return "RETRY";
187
+ case ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT:
188
+ return "RETRY_SNAPSHOT";
189
+ case ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT:
190
+ return "REJECT_SNAPSHOT";
191
+ case ResponseApplySnapshotChunk_Result.UNRECOGNIZED:
192
+ default:
193
+ return "UNRECOGNIZED";
194
+ }
195
+ }
196
+ exports.responseApplySnapshotChunk_ResultToJSON = responseApplySnapshotChunk_ResultToJSON;
197
+ var ResponseProcessProposal_ProposalStatus;
198
+ (function (ResponseProcessProposal_ProposalStatus) {
199
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["UNKNOWN"] = 0] = "UNKNOWN";
200
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["ACCEPT"] = 1] = "ACCEPT";
201
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["REJECT"] = 2] = "REJECT";
202
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
203
+ })(ResponseProcessProposal_ProposalStatus = exports.ResponseProcessProposal_ProposalStatus || (exports.ResponseProcessProposal_ProposalStatus = {}));
204
+ exports.ResponseProcessProposal_ProposalStatusSDKType = ResponseProcessProposal_ProposalStatus;
205
+ function responseProcessProposal_ProposalStatusFromJSON(object) {
206
+ switch (object) {
207
+ case 0:
208
+ case "UNKNOWN":
209
+ return ResponseProcessProposal_ProposalStatus.UNKNOWN;
210
+ case 1:
211
+ case "ACCEPT":
212
+ return ResponseProcessProposal_ProposalStatus.ACCEPT;
213
+ case 2:
214
+ case "REJECT":
215
+ return ResponseProcessProposal_ProposalStatus.REJECT;
216
+ case -1:
217
+ case "UNRECOGNIZED":
218
+ default:
219
+ return ResponseProcessProposal_ProposalStatus.UNRECOGNIZED;
220
+ }
221
+ }
222
+ exports.responseProcessProposal_ProposalStatusFromJSON = responseProcessProposal_ProposalStatusFromJSON;
223
+ function responseProcessProposal_ProposalStatusToJSON(object) {
224
+ switch (object) {
225
+ case ResponseProcessProposal_ProposalStatus.UNKNOWN:
226
+ return "UNKNOWN";
227
+ case ResponseProcessProposal_ProposalStatus.ACCEPT:
228
+ return "ACCEPT";
229
+ case ResponseProcessProposal_ProposalStatus.REJECT:
230
+ return "REJECT";
231
+ case ResponseProcessProposal_ProposalStatus.UNRECOGNIZED:
232
+ default:
233
+ return "UNRECOGNIZED";
234
+ }
235
+ }
236
+ exports.responseProcessProposal_ProposalStatusToJSON = responseProcessProposal_ProposalStatusToJSON;
237
+ var MisbehaviorType;
238
+ (function (MisbehaviorType) {
239
+ MisbehaviorType[MisbehaviorType["UNKNOWN"] = 0] = "UNKNOWN";
240
+ MisbehaviorType[MisbehaviorType["DUPLICATE_VOTE"] = 1] = "DUPLICATE_VOTE";
241
+ MisbehaviorType[MisbehaviorType["LIGHT_CLIENT_ATTACK"] = 2] = "LIGHT_CLIENT_ATTACK";
242
+ MisbehaviorType[MisbehaviorType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
243
+ })(MisbehaviorType = exports.MisbehaviorType || (exports.MisbehaviorType = {}));
244
+ exports.MisbehaviorTypeSDKType = MisbehaviorType;
245
+ function misbehaviorTypeFromJSON(object) {
246
+ switch (object) {
247
+ case 0:
248
+ case "UNKNOWN":
249
+ return MisbehaviorType.UNKNOWN;
250
+ case 1:
251
+ case "DUPLICATE_VOTE":
252
+ return MisbehaviorType.DUPLICATE_VOTE;
253
+ case 2:
254
+ case "LIGHT_CLIENT_ATTACK":
255
+ return MisbehaviorType.LIGHT_CLIENT_ATTACK;
256
+ case -1:
257
+ case "UNRECOGNIZED":
258
+ default:
259
+ return MisbehaviorType.UNRECOGNIZED;
260
+ }
261
+ }
262
+ exports.misbehaviorTypeFromJSON = misbehaviorTypeFromJSON;
263
+ function misbehaviorTypeToJSON(object) {
264
+ switch (object) {
265
+ case MisbehaviorType.UNKNOWN:
266
+ return "UNKNOWN";
267
+ case MisbehaviorType.DUPLICATE_VOTE:
268
+ return "DUPLICATE_VOTE";
269
+ case MisbehaviorType.LIGHT_CLIENT_ATTACK:
270
+ return "LIGHT_CLIENT_ATTACK";
271
+ case MisbehaviorType.UNRECOGNIZED:
272
+ default:
273
+ return "UNRECOGNIZED";
274
+ }
275
+ }
276
+ exports.misbehaviorTypeToJSON = misbehaviorTypeToJSON;
277
+ function createBaseRequest() {
278
+ return {
279
+ echo: undefined,
280
+ flush: undefined,
281
+ info: undefined,
282
+ initChain: undefined,
283
+ query: undefined,
284
+ beginBlock: undefined,
285
+ checkTx: undefined,
286
+ deliverTx: undefined,
287
+ endBlock: undefined,
288
+ commit: undefined,
289
+ listSnapshots: undefined,
290
+ offerSnapshot: undefined,
291
+ loadSnapshotChunk: undefined,
292
+ applySnapshotChunk: undefined,
293
+ prepareProposal: undefined,
294
+ processProposal: undefined
295
+ };
296
+ }
297
+ exports.Request = {
298
+ encode(message, writer = _m0.Writer.create()) {
299
+ if (message.echo !== undefined) {
300
+ exports.RequestEcho.encode(message.echo, writer.uint32(10).fork()).ldelim();
301
+ }
302
+ if (message.flush !== undefined) {
303
+ exports.RequestFlush.encode(message.flush, writer.uint32(18).fork()).ldelim();
304
+ }
305
+ if (message.info !== undefined) {
306
+ exports.RequestInfo.encode(message.info, writer.uint32(26).fork()).ldelim();
307
+ }
308
+ if (message.initChain !== undefined) {
309
+ exports.RequestInitChain.encode(message.initChain, writer.uint32(42).fork()).ldelim();
310
+ }
311
+ if (message.query !== undefined) {
312
+ exports.RequestQuery.encode(message.query, writer.uint32(50).fork()).ldelim();
313
+ }
314
+ if (message.beginBlock !== undefined) {
315
+ exports.RequestBeginBlock.encode(message.beginBlock, writer.uint32(58).fork()).ldelim();
316
+ }
317
+ if (message.checkTx !== undefined) {
318
+ exports.RequestCheckTx.encode(message.checkTx, writer.uint32(66).fork()).ldelim();
319
+ }
320
+ if (message.deliverTx !== undefined) {
321
+ exports.RequestDeliverTx.encode(message.deliverTx, writer.uint32(74).fork()).ldelim();
322
+ }
323
+ if (message.endBlock !== undefined) {
324
+ exports.RequestEndBlock.encode(message.endBlock, writer.uint32(82).fork()).ldelim();
325
+ }
326
+ if (message.commit !== undefined) {
327
+ exports.RequestCommit.encode(message.commit, writer.uint32(90).fork()).ldelim();
328
+ }
329
+ if (message.listSnapshots !== undefined) {
330
+ exports.RequestListSnapshots.encode(message.listSnapshots, writer.uint32(98).fork()).ldelim();
331
+ }
332
+ if (message.offerSnapshot !== undefined) {
333
+ exports.RequestOfferSnapshot.encode(message.offerSnapshot, writer.uint32(106).fork()).ldelim();
334
+ }
335
+ if (message.loadSnapshotChunk !== undefined) {
336
+ exports.RequestLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(114).fork()).ldelim();
337
+ }
338
+ if (message.applySnapshotChunk !== undefined) {
339
+ exports.RequestApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(122).fork()).ldelim();
340
+ }
341
+ if (message.prepareProposal !== undefined) {
342
+ exports.RequestPrepareProposal.encode(message.prepareProposal, writer.uint32(130).fork()).ldelim();
343
+ }
344
+ if (message.processProposal !== undefined) {
345
+ exports.RequestProcessProposal.encode(message.processProposal, writer.uint32(138).fork()).ldelim();
346
+ }
347
+ return writer;
348
+ },
349
+ decode(input, length) {
350
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
351
+ let end = length === undefined ? reader.len : reader.pos + length;
352
+ const message = createBaseRequest();
353
+ while (reader.pos < end) {
354
+ const tag = reader.uint32();
355
+ switch (tag >>> 3) {
356
+ case 1:
357
+ message.echo = exports.RequestEcho.decode(reader, reader.uint32());
358
+ break;
359
+ case 2:
360
+ message.flush = exports.RequestFlush.decode(reader, reader.uint32());
361
+ break;
362
+ case 3:
363
+ message.info = exports.RequestInfo.decode(reader, reader.uint32());
364
+ break;
365
+ case 5:
366
+ message.initChain = exports.RequestInitChain.decode(reader, reader.uint32());
367
+ break;
368
+ case 6:
369
+ message.query = exports.RequestQuery.decode(reader, reader.uint32());
370
+ break;
371
+ case 7:
372
+ message.beginBlock = exports.RequestBeginBlock.decode(reader, reader.uint32());
373
+ break;
374
+ case 8:
375
+ message.checkTx = exports.RequestCheckTx.decode(reader, reader.uint32());
376
+ break;
377
+ case 9:
378
+ message.deliverTx = exports.RequestDeliverTx.decode(reader, reader.uint32());
379
+ break;
380
+ case 10:
381
+ message.endBlock = exports.RequestEndBlock.decode(reader, reader.uint32());
382
+ break;
383
+ case 11:
384
+ message.commit = exports.RequestCommit.decode(reader, reader.uint32());
385
+ break;
386
+ case 12:
387
+ message.listSnapshots = exports.RequestListSnapshots.decode(reader, reader.uint32());
388
+ break;
389
+ case 13:
390
+ message.offerSnapshot = exports.RequestOfferSnapshot.decode(reader, reader.uint32());
391
+ break;
392
+ case 14:
393
+ message.loadSnapshotChunk = exports.RequestLoadSnapshotChunk.decode(reader, reader.uint32());
394
+ break;
395
+ case 15:
396
+ message.applySnapshotChunk = exports.RequestApplySnapshotChunk.decode(reader, reader.uint32());
397
+ break;
398
+ case 16:
399
+ message.prepareProposal = exports.RequestPrepareProposal.decode(reader, reader.uint32());
400
+ break;
401
+ case 17:
402
+ message.processProposal = exports.RequestProcessProposal.decode(reader, reader.uint32());
403
+ break;
404
+ default:
405
+ reader.skipType(tag & 7);
406
+ break;
407
+ }
408
+ }
409
+ return message;
410
+ },
411
+ fromJSON(object) {
412
+ return {
413
+ echo: (0, helpers_1.isSet)(object.echo) ? exports.RequestEcho.fromJSON(object.echo) : undefined,
414
+ flush: (0, helpers_1.isSet)(object.flush) ? exports.RequestFlush.fromJSON(object.flush) : undefined,
415
+ info: (0, helpers_1.isSet)(object.info) ? exports.RequestInfo.fromJSON(object.info) : undefined,
416
+ initChain: (0, helpers_1.isSet)(object.initChain) ? exports.RequestInitChain.fromJSON(object.initChain) : undefined,
417
+ query: (0, helpers_1.isSet)(object.query) ? exports.RequestQuery.fromJSON(object.query) : undefined,
418
+ beginBlock: (0, helpers_1.isSet)(object.beginBlock) ? exports.RequestBeginBlock.fromJSON(object.beginBlock) : undefined,
419
+ checkTx: (0, helpers_1.isSet)(object.checkTx) ? exports.RequestCheckTx.fromJSON(object.checkTx) : undefined,
420
+ deliverTx: (0, helpers_1.isSet)(object.deliverTx) ? exports.RequestDeliverTx.fromJSON(object.deliverTx) : undefined,
421
+ endBlock: (0, helpers_1.isSet)(object.endBlock) ? exports.RequestEndBlock.fromJSON(object.endBlock) : undefined,
422
+ commit: (0, helpers_1.isSet)(object.commit) ? exports.RequestCommit.fromJSON(object.commit) : undefined,
423
+ listSnapshots: (0, helpers_1.isSet)(object.listSnapshots) ? exports.RequestListSnapshots.fromJSON(object.listSnapshots) : undefined,
424
+ offerSnapshot: (0, helpers_1.isSet)(object.offerSnapshot) ? exports.RequestOfferSnapshot.fromJSON(object.offerSnapshot) : undefined,
425
+ loadSnapshotChunk: (0, helpers_1.isSet)(object.loadSnapshotChunk) ? exports.RequestLoadSnapshotChunk.fromJSON(object.loadSnapshotChunk) : undefined,
426
+ applySnapshotChunk: (0, helpers_1.isSet)(object.applySnapshotChunk) ? exports.RequestApplySnapshotChunk.fromJSON(object.applySnapshotChunk) : undefined,
427
+ prepareProposal: (0, helpers_1.isSet)(object.prepareProposal) ? exports.RequestPrepareProposal.fromJSON(object.prepareProposal) : undefined,
428
+ processProposal: (0, helpers_1.isSet)(object.processProposal) ? exports.RequestProcessProposal.fromJSON(object.processProposal) : undefined
429
+ };
430
+ },
431
+ toJSON(message) {
432
+ const obj = {};
433
+ message.echo !== undefined && (obj.echo = message.echo ? exports.RequestEcho.toJSON(message.echo) : undefined);
434
+ message.flush !== undefined && (obj.flush = message.flush ? exports.RequestFlush.toJSON(message.flush) : undefined);
435
+ message.info !== undefined && (obj.info = message.info ? exports.RequestInfo.toJSON(message.info) : undefined);
436
+ message.initChain !== undefined && (obj.initChain = message.initChain ? exports.RequestInitChain.toJSON(message.initChain) : undefined);
437
+ message.query !== undefined && (obj.query = message.query ? exports.RequestQuery.toJSON(message.query) : undefined);
438
+ message.beginBlock !== undefined && (obj.beginBlock = message.beginBlock ? exports.RequestBeginBlock.toJSON(message.beginBlock) : undefined);
439
+ message.checkTx !== undefined && (obj.checkTx = message.checkTx ? exports.RequestCheckTx.toJSON(message.checkTx) : undefined);
440
+ message.deliverTx !== undefined && (obj.deliverTx = message.deliverTx ? exports.RequestDeliverTx.toJSON(message.deliverTx) : undefined);
441
+ message.endBlock !== undefined && (obj.endBlock = message.endBlock ? exports.RequestEndBlock.toJSON(message.endBlock) : undefined);
442
+ message.commit !== undefined && (obj.commit = message.commit ? exports.RequestCommit.toJSON(message.commit) : undefined);
443
+ message.listSnapshots !== undefined && (obj.listSnapshots = message.listSnapshots ? exports.RequestListSnapshots.toJSON(message.listSnapshots) : undefined);
444
+ message.offerSnapshot !== undefined && (obj.offerSnapshot = message.offerSnapshot ? exports.RequestOfferSnapshot.toJSON(message.offerSnapshot) : undefined);
445
+ message.loadSnapshotChunk !== undefined && (obj.loadSnapshotChunk = message.loadSnapshotChunk ? exports.RequestLoadSnapshotChunk.toJSON(message.loadSnapshotChunk) : undefined);
446
+ message.applySnapshotChunk !== undefined && (obj.applySnapshotChunk = message.applySnapshotChunk ? exports.RequestApplySnapshotChunk.toJSON(message.applySnapshotChunk) : undefined);
447
+ message.prepareProposal !== undefined && (obj.prepareProposal = message.prepareProposal ? exports.RequestPrepareProposal.toJSON(message.prepareProposal) : undefined);
448
+ message.processProposal !== undefined && (obj.processProposal = message.processProposal ? exports.RequestProcessProposal.toJSON(message.processProposal) : undefined);
449
+ return obj;
450
+ },
451
+ fromPartial(object) {
452
+ const message = createBaseRequest();
453
+ message.echo = object.echo !== undefined && object.echo !== null ? exports.RequestEcho.fromPartial(object.echo) : undefined;
454
+ message.flush = object.flush !== undefined && object.flush !== null ? exports.RequestFlush.fromPartial(object.flush) : undefined;
455
+ message.info = object.info !== undefined && object.info !== null ? exports.RequestInfo.fromPartial(object.info) : undefined;
456
+ message.initChain = object.initChain !== undefined && object.initChain !== null ? exports.RequestInitChain.fromPartial(object.initChain) : undefined;
457
+ message.query = object.query !== undefined && object.query !== null ? exports.RequestQuery.fromPartial(object.query) : undefined;
458
+ message.beginBlock = object.beginBlock !== undefined && object.beginBlock !== null ? exports.RequestBeginBlock.fromPartial(object.beginBlock) : undefined;
459
+ message.checkTx = object.checkTx !== undefined && object.checkTx !== null ? exports.RequestCheckTx.fromPartial(object.checkTx) : undefined;
460
+ message.deliverTx = object.deliverTx !== undefined && object.deliverTx !== null ? exports.RequestDeliverTx.fromPartial(object.deliverTx) : undefined;
461
+ message.endBlock = object.endBlock !== undefined && object.endBlock !== null ? exports.RequestEndBlock.fromPartial(object.endBlock) : undefined;
462
+ message.commit = object.commit !== undefined && object.commit !== null ? exports.RequestCommit.fromPartial(object.commit) : undefined;
463
+ message.listSnapshots = object.listSnapshots !== undefined && object.listSnapshots !== null ? exports.RequestListSnapshots.fromPartial(object.listSnapshots) : undefined;
464
+ message.offerSnapshot = object.offerSnapshot !== undefined && object.offerSnapshot !== null ? exports.RequestOfferSnapshot.fromPartial(object.offerSnapshot) : undefined;
465
+ message.loadSnapshotChunk = object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null ? exports.RequestLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) : undefined;
466
+ message.applySnapshotChunk = object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null ? exports.RequestApplySnapshotChunk.fromPartial(object.applySnapshotChunk) : undefined;
467
+ message.prepareProposal = object.prepareProposal !== undefined && object.prepareProposal !== null ? exports.RequestPrepareProposal.fromPartial(object.prepareProposal) : undefined;
468
+ message.processProposal = object.processProposal !== undefined && object.processProposal !== null ? exports.RequestProcessProposal.fromPartial(object.processProposal) : undefined;
469
+ return message;
470
+ }
471
+ };
472
+ function createBaseRequestEcho() {
473
+ return {
474
+ message: ""
475
+ };
476
+ }
477
+ exports.RequestEcho = {
478
+ encode(message, writer = _m0.Writer.create()) {
479
+ if (message.message !== "") {
480
+ writer.uint32(10).string(message.message);
481
+ }
482
+ return writer;
483
+ },
484
+ decode(input, length) {
485
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
486
+ let end = length === undefined ? reader.len : reader.pos + length;
487
+ const message = createBaseRequestEcho();
488
+ while (reader.pos < end) {
489
+ const tag = reader.uint32();
490
+ switch (tag >>> 3) {
491
+ case 1:
492
+ message.message = reader.string();
493
+ break;
494
+ default:
495
+ reader.skipType(tag & 7);
496
+ break;
497
+ }
498
+ }
499
+ return message;
500
+ },
501
+ fromJSON(object) {
502
+ return {
503
+ message: (0, helpers_1.isSet)(object.message) ? String(object.message) : ""
504
+ };
505
+ },
506
+ toJSON(message) {
507
+ const obj = {};
508
+ message.message !== undefined && (obj.message = message.message);
509
+ return obj;
510
+ },
511
+ fromPartial(object) {
512
+ var _a;
513
+ const message = createBaseRequestEcho();
514
+ message.message = (_a = object.message) !== null && _a !== void 0 ? _a : "";
515
+ return message;
516
+ }
517
+ };
518
+ function createBaseRequestFlush() {
519
+ return {};
520
+ }
521
+ exports.RequestFlush = {
522
+ encode(_, writer = _m0.Writer.create()) {
523
+ return writer;
524
+ },
525
+ decode(input, length) {
526
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
527
+ let end = length === undefined ? reader.len : reader.pos + length;
528
+ const message = createBaseRequestFlush();
529
+ while (reader.pos < end) {
530
+ const tag = reader.uint32();
531
+ switch (tag >>> 3) {
532
+ default:
533
+ reader.skipType(tag & 7);
534
+ break;
535
+ }
536
+ }
537
+ return message;
538
+ },
539
+ fromJSON(_) {
540
+ return {};
541
+ },
542
+ toJSON(_) {
543
+ const obj = {};
544
+ return obj;
545
+ },
546
+ fromPartial(_) {
547
+ const message = createBaseRequestFlush();
548
+ return message;
549
+ }
550
+ };
551
+ function createBaseRequestInfo() {
552
+ return {
553
+ version: "",
554
+ blockVersion: helpers_1.Long.UZERO,
555
+ p2pVersion: helpers_1.Long.UZERO,
556
+ abciVersion: ""
557
+ };
558
+ }
559
+ exports.RequestInfo = {
560
+ encode(message, writer = _m0.Writer.create()) {
561
+ if (message.version !== "") {
562
+ writer.uint32(10).string(message.version);
563
+ }
564
+ if (!message.blockVersion.isZero()) {
565
+ writer.uint32(16).uint64(message.blockVersion);
566
+ }
567
+ if (!message.p2pVersion.isZero()) {
568
+ writer.uint32(24).uint64(message.p2pVersion);
569
+ }
570
+ if (message.abciVersion !== "") {
571
+ writer.uint32(34).string(message.abciVersion);
572
+ }
573
+ return writer;
574
+ },
575
+ decode(input, length) {
576
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
577
+ let end = length === undefined ? reader.len : reader.pos + length;
578
+ const message = createBaseRequestInfo();
579
+ while (reader.pos < end) {
580
+ const tag = reader.uint32();
581
+ switch (tag >>> 3) {
582
+ case 1:
583
+ message.version = reader.string();
584
+ break;
585
+ case 2:
586
+ message.blockVersion = reader.uint64();
587
+ break;
588
+ case 3:
589
+ message.p2pVersion = reader.uint64();
590
+ break;
591
+ case 4:
592
+ message.abciVersion = reader.string();
593
+ break;
594
+ default:
595
+ reader.skipType(tag & 7);
596
+ break;
597
+ }
598
+ }
599
+ return message;
600
+ },
601
+ fromJSON(object) {
602
+ return {
603
+ version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "",
604
+ blockVersion: (0, helpers_1.isSet)(object.blockVersion) ? helpers_1.Long.fromValue(object.blockVersion) : helpers_1.Long.UZERO,
605
+ p2pVersion: (0, helpers_1.isSet)(object.p2pVersion) ? helpers_1.Long.fromValue(object.p2pVersion) : helpers_1.Long.UZERO,
606
+ abciVersion: (0, helpers_1.isSet)(object.abciVersion) ? String(object.abciVersion) : ""
607
+ };
608
+ },
609
+ toJSON(message) {
610
+ const obj = {};
611
+ message.version !== undefined && (obj.version = message.version);
612
+ message.blockVersion !== undefined && (obj.blockVersion = (message.blockVersion || helpers_1.Long.UZERO).toString());
613
+ message.p2pVersion !== undefined && (obj.p2pVersion = (message.p2pVersion || helpers_1.Long.UZERO).toString());
614
+ message.abciVersion !== undefined && (obj.abciVersion = message.abciVersion);
615
+ return obj;
616
+ },
617
+ fromPartial(object) {
618
+ var _a, _b;
619
+ const message = createBaseRequestInfo();
620
+ message.version = (_a = object.version) !== null && _a !== void 0 ? _a : "";
621
+ message.blockVersion = object.blockVersion !== undefined && object.blockVersion !== null ? helpers_1.Long.fromValue(object.blockVersion) : helpers_1.Long.UZERO;
622
+ message.p2pVersion = object.p2pVersion !== undefined && object.p2pVersion !== null ? helpers_1.Long.fromValue(object.p2pVersion) : helpers_1.Long.UZERO;
623
+ message.abciVersion = (_b = object.abciVersion) !== null && _b !== void 0 ? _b : "";
624
+ return message;
625
+ }
626
+ };
627
+ function createBaseRequestInitChain() {
628
+ return {
629
+ time: undefined,
630
+ chainId: "",
631
+ consensusParams: undefined,
632
+ validators: [],
633
+ appStateBytes: new Uint8Array(),
634
+ initialHeight: helpers_1.Long.ZERO
635
+ };
636
+ }
637
+ exports.RequestInitChain = {
638
+ encode(message, writer = _m0.Writer.create()) {
639
+ if (message.time !== undefined) {
640
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(10).fork()).ldelim();
641
+ }
642
+ if (message.chainId !== "") {
643
+ writer.uint32(18).string(message.chainId);
644
+ }
645
+ if (message.consensusParams !== undefined) {
646
+ params_1.ConsensusParams.encode(message.consensusParams, writer.uint32(26).fork()).ldelim();
647
+ }
648
+ for (const v of message.validators) {
649
+ exports.ValidatorUpdate.encode(v, writer.uint32(34).fork()).ldelim();
650
+ }
651
+ if (message.appStateBytes.length !== 0) {
652
+ writer.uint32(42).bytes(message.appStateBytes);
653
+ }
654
+ if (!message.initialHeight.isZero()) {
655
+ writer.uint32(48).int64(message.initialHeight);
656
+ }
657
+ return writer;
658
+ },
659
+ decode(input, length) {
660
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
661
+ let end = length === undefined ? reader.len : reader.pos + length;
662
+ const message = createBaseRequestInitChain();
663
+ while (reader.pos < end) {
664
+ const tag = reader.uint32();
665
+ switch (tag >>> 3) {
666
+ case 1:
667
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
668
+ break;
669
+ case 2:
670
+ message.chainId = reader.string();
671
+ break;
672
+ case 3:
673
+ message.consensusParams = params_1.ConsensusParams.decode(reader, reader.uint32());
674
+ break;
675
+ case 4:
676
+ message.validators.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
677
+ break;
678
+ case 5:
679
+ message.appStateBytes = reader.bytes();
680
+ break;
681
+ case 6:
682
+ message.initialHeight = reader.int64();
683
+ break;
684
+ default:
685
+ reader.skipType(tag & 7);
686
+ break;
687
+ }
688
+ }
689
+ return message;
690
+ },
691
+ fromJSON(object) {
692
+ return {
693
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
694
+ chainId: (0, helpers_1.isSet)(object.chainId) ? String(object.chainId) : "",
695
+ consensusParams: (0, helpers_1.isSet)(object.consensusParams) ? params_1.ConsensusParams.fromJSON(object.consensusParams) : undefined,
696
+ validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators) ? object.validators.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
697
+ appStateBytes: (0, helpers_1.isSet)(object.appStateBytes) ? (0, helpers_1.bytesFromBase64)(object.appStateBytes) : new Uint8Array(),
698
+ initialHeight: (0, helpers_1.isSet)(object.initialHeight) ? helpers_1.Long.fromValue(object.initialHeight) : helpers_1.Long.ZERO
699
+ };
700
+ },
701
+ toJSON(message) {
702
+ const obj = {};
703
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
704
+ message.chainId !== undefined && (obj.chainId = message.chainId);
705
+ message.consensusParams !== undefined && (obj.consensusParams = message.consensusParams ? params_1.ConsensusParams.toJSON(message.consensusParams) : undefined);
706
+ if (message.validators) {
707
+ obj.validators = message.validators.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
708
+ }
709
+ else {
710
+ obj.validators = [];
711
+ }
712
+ message.appStateBytes !== undefined && (obj.appStateBytes = (0, helpers_1.base64FromBytes)(message.appStateBytes !== undefined ? message.appStateBytes : new Uint8Array()));
713
+ message.initialHeight !== undefined && (obj.initialHeight = (message.initialHeight || helpers_1.Long.ZERO).toString());
714
+ return obj;
715
+ },
716
+ fromPartial(object) {
717
+ var _a, _b, _c;
718
+ const message = createBaseRequestInitChain();
719
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
720
+ message.chainId = (_a = object.chainId) !== null && _a !== void 0 ? _a : "";
721
+ message.consensusParams = object.consensusParams !== undefined && object.consensusParams !== null ? params_1.ConsensusParams.fromPartial(object.consensusParams) : undefined;
722
+ message.validators = ((_b = object.validators) === null || _b === void 0 ? void 0 : _b.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
723
+ message.appStateBytes = (_c = object.appStateBytes) !== null && _c !== void 0 ? _c : new Uint8Array();
724
+ message.initialHeight = object.initialHeight !== undefined && object.initialHeight !== null ? helpers_1.Long.fromValue(object.initialHeight) : helpers_1.Long.ZERO;
725
+ return message;
726
+ }
727
+ };
728
+ function createBaseRequestQuery() {
729
+ return {
730
+ data: new Uint8Array(),
731
+ path: "",
732
+ height: helpers_1.Long.ZERO,
733
+ prove: false
734
+ };
735
+ }
736
+ exports.RequestQuery = {
737
+ encode(message, writer = _m0.Writer.create()) {
738
+ if (message.data.length !== 0) {
739
+ writer.uint32(10).bytes(message.data);
740
+ }
741
+ if (message.path !== "") {
742
+ writer.uint32(18).string(message.path);
743
+ }
744
+ if (!message.height.isZero()) {
745
+ writer.uint32(24).int64(message.height);
746
+ }
747
+ if (message.prove === true) {
748
+ writer.uint32(32).bool(message.prove);
749
+ }
750
+ return writer;
751
+ },
752
+ decode(input, length) {
753
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
754
+ let end = length === undefined ? reader.len : reader.pos + length;
755
+ const message = createBaseRequestQuery();
756
+ while (reader.pos < end) {
757
+ const tag = reader.uint32();
758
+ switch (tag >>> 3) {
759
+ case 1:
760
+ message.data = reader.bytes();
761
+ break;
762
+ case 2:
763
+ message.path = reader.string();
764
+ break;
765
+ case 3:
766
+ message.height = reader.int64();
767
+ break;
768
+ case 4:
769
+ message.prove = reader.bool();
770
+ break;
771
+ default:
772
+ reader.skipType(tag & 7);
773
+ break;
774
+ }
775
+ }
776
+ return message;
777
+ },
778
+ fromJSON(object) {
779
+ return {
780
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
781
+ path: (0, helpers_1.isSet)(object.path) ? String(object.path) : "",
782
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
783
+ prove: (0, helpers_1.isSet)(object.prove) ? Boolean(object.prove) : false
784
+ };
785
+ },
786
+ toJSON(message) {
787
+ const obj = {};
788
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
789
+ message.path !== undefined && (obj.path = message.path);
790
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
791
+ message.prove !== undefined && (obj.prove = message.prove);
792
+ return obj;
793
+ },
794
+ fromPartial(object) {
795
+ var _a, _b, _c;
796
+ const message = createBaseRequestQuery();
797
+ message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array();
798
+ message.path = (_b = object.path) !== null && _b !== void 0 ? _b : "";
799
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
800
+ message.prove = (_c = object.prove) !== null && _c !== void 0 ? _c : false;
801
+ return message;
802
+ }
803
+ };
804
+ function createBaseRequestBeginBlock() {
805
+ return {
806
+ hash: new Uint8Array(),
807
+ header: undefined,
808
+ lastCommitInfo: undefined,
809
+ byzantineValidators: []
810
+ };
811
+ }
812
+ exports.RequestBeginBlock = {
813
+ encode(message, writer = _m0.Writer.create()) {
814
+ if (message.hash.length !== 0) {
815
+ writer.uint32(10).bytes(message.hash);
816
+ }
817
+ if (message.header !== undefined) {
818
+ types_1.Header.encode(message.header, writer.uint32(18).fork()).ldelim();
819
+ }
820
+ if (message.lastCommitInfo !== undefined) {
821
+ exports.CommitInfo.encode(message.lastCommitInfo, writer.uint32(26).fork()).ldelim();
822
+ }
823
+ for (const v of message.byzantineValidators) {
824
+ exports.Misbehavior.encode(v, writer.uint32(34).fork()).ldelim();
825
+ }
826
+ return writer;
827
+ },
828
+ decode(input, length) {
829
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
830
+ let end = length === undefined ? reader.len : reader.pos + length;
831
+ const message = createBaseRequestBeginBlock();
832
+ while (reader.pos < end) {
833
+ const tag = reader.uint32();
834
+ switch (tag >>> 3) {
835
+ case 1:
836
+ message.hash = reader.bytes();
837
+ break;
838
+ case 2:
839
+ message.header = types_1.Header.decode(reader, reader.uint32());
840
+ break;
841
+ case 3:
842
+ message.lastCommitInfo = exports.CommitInfo.decode(reader, reader.uint32());
843
+ break;
844
+ case 4:
845
+ message.byzantineValidators.push(exports.Misbehavior.decode(reader, reader.uint32()));
846
+ break;
847
+ default:
848
+ reader.skipType(tag & 7);
849
+ break;
850
+ }
851
+ }
852
+ return message;
853
+ },
854
+ fromJSON(object) {
855
+ return {
856
+ hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
857
+ header: (0, helpers_1.isSet)(object.header) ? types_1.Header.fromJSON(object.header) : undefined,
858
+ lastCommitInfo: (0, helpers_1.isSet)(object.lastCommitInfo) ? exports.CommitInfo.fromJSON(object.lastCommitInfo) : undefined,
859
+ byzantineValidators: Array.isArray(object === null || object === void 0 ? void 0 : object.byzantineValidators) ? object.byzantineValidators.map((e) => exports.Misbehavior.fromJSON(e)) : []
860
+ };
861
+ },
862
+ toJSON(message) {
863
+ const obj = {};
864
+ message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
865
+ message.header !== undefined && (obj.header = message.header ? types_1.Header.toJSON(message.header) : undefined);
866
+ message.lastCommitInfo !== undefined && (obj.lastCommitInfo = message.lastCommitInfo ? exports.CommitInfo.toJSON(message.lastCommitInfo) : undefined);
867
+ if (message.byzantineValidators) {
868
+ obj.byzantineValidators = message.byzantineValidators.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
869
+ }
870
+ else {
871
+ obj.byzantineValidators = [];
872
+ }
873
+ return obj;
874
+ },
875
+ fromPartial(object) {
876
+ var _a, _b;
877
+ const message = createBaseRequestBeginBlock();
878
+ message.hash = (_a = object.hash) !== null && _a !== void 0 ? _a : new Uint8Array();
879
+ message.header = object.header !== undefined && object.header !== null ? types_1.Header.fromPartial(object.header) : undefined;
880
+ message.lastCommitInfo = object.lastCommitInfo !== undefined && object.lastCommitInfo !== null ? exports.CommitInfo.fromPartial(object.lastCommitInfo) : undefined;
881
+ message.byzantineValidators = ((_b = object.byzantineValidators) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
882
+ return message;
883
+ }
884
+ };
885
+ function createBaseRequestCheckTx() {
886
+ return {
887
+ tx: new Uint8Array(),
888
+ type: 0
889
+ };
890
+ }
891
+ exports.RequestCheckTx = {
892
+ encode(message, writer = _m0.Writer.create()) {
893
+ if (message.tx.length !== 0) {
894
+ writer.uint32(10).bytes(message.tx);
895
+ }
896
+ if (message.type !== 0) {
897
+ writer.uint32(16).int32(message.type);
898
+ }
899
+ return writer;
900
+ },
901
+ decode(input, length) {
902
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
903
+ let end = length === undefined ? reader.len : reader.pos + length;
904
+ const message = createBaseRequestCheckTx();
905
+ while (reader.pos < end) {
906
+ const tag = reader.uint32();
907
+ switch (tag >>> 3) {
908
+ case 1:
909
+ message.tx = reader.bytes();
910
+ break;
911
+ case 2:
912
+ message.type = reader.int32();
913
+ break;
914
+ default:
915
+ reader.skipType(tag & 7);
916
+ break;
917
+ }
918
+ }
919
+ return message;
920
+ },
921
+ fromJSON(object) {
922
+ return {
923
+ tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array(),
924
+ type: (0, helpers_1.isSet)(object.type) ? checkTxTypeFromJSON(object.type) : 0
925
+ };
926
+ },
927
+ toJSON(message) {
928
+ const obj = {};
929
+ message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
930
+ message.type !== undefined && (obj.type = checkTxTypeToJSON(message.type));
931
+ return obj;
932
+ },
933
+ fromPartial(object) {
934
+ var _a, _b;
935
+ const message = createBaseRequestCheckTx();
936
+ message.tx = (_a = object.tx) !== null && _a !== void 0 ? _a : new Uint8Array();
937
+ message.type = (_b = object.type) !== null && _b !== void 0 ? _b : 0;
938
+ return message;
939
+ }
940
+ };
941
+ function createBaseRequestDeliverTx() {
942
+ return {
943
+ tx: new Uint8Array()
944
+ };
945
+ }
946
+ exports.RequestDeliverTx = {
947
+ encode(message, writer = _m0.Writer.create()) {
948
+ if (message.tx.length !== 0) {
949
+ writer.uint32(10).bytes(message.tx);
950
+ }
951
+ return writer;
952
+ },
953
+ decode(input, length) {
954
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
955
+ let end = length === undefined ? reader.len : reader.pos + length;
956
+ const message = createBaseRequestDeliverTx();
957
+ while (reader.pos < end) {
958
+ const tag = reader.uint32();
959
+ switch (tag >>> 3) {
960
+ case 1:
961
+ message.tx = reader.bytes();
962
+ break;
963
+ default:
964
+ reader.skipType(tag & 7);
965
+ break;
966
+ }
967
+ }
968
+ return message;
969
+ },
970
+ fromJSON(object) {
971
+ return {
972
+ tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array()
973
+ };
974
+ },
975
+ toJSON(message) {
976
+ const obj = {};
977
+ message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
978
+ return obj;
979
+ },
980
+ fromPartial(object) {
981
+ var _a;
982
+ const message = createBaseRequestDeliverTx();
983
+ message.tx = (_a = object.tx) !== null && _a !== void 0 ? _a : new Uint8Array();
984
+ return message;
985
+ }
986
+ };
987
+ function createBaseRequestEndBlock() {
988
+ return {
989
+ height: helpers_1.Long.ZERO
990
+ };
991
+ }
992
+ exports.RequestEndBlock = {
993
+ encode(message, writer = _m0.Writer.create()) {
994
+ if (!message.height.isZero()) {
995
+ writer.uint32(8).int64(message.height);
996
+ }
997
+ return writer;
998
+ },
999
+ decode(input, length) {
1000
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1001
+ let end = length === undefined ? reader.len : reader.pos + length;
1002
+ const message = createBaseRequestEndBlock();
1003
+ while (reader.pos < end) {
1004
+ const tag = reader.uint32();
1005
+ switch (tag >>> 3) {
1006
+ case 1:
1007
+ message.height = reader.int64();
1008
+ break;
1009
+ default:
1010
+ reader.skipType(tag & 7);
1011
+ break;
1012
+ }
1013
+ }
1014
+ return message;
1015
+ },
1016
+ fromJSON(object) {
1017
+ return {
1018
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO
1019
+ };
1020
+ },
1021
+ toJSON(message) {
1022
+ const obj = {};
1023
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
1024
+ return obj;
1025
+ },
1026
+ fromPartial(object) {
1027
+ const message = createBaseRequestEndBlock();
1028
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
1029
+ return message;
1030
+ }
1031
+ };
1032
+ function createBaseRequestCommit() {
1033
+ return {};
1034
+ }
1035
+ exports.RequestCommit = {
1036
+ encode(_, writer = _m0.Writer.create()) {
1037
+ return writer;
1038
+ },
1039
+ decode(input, length) {
1040
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1041
+ let end = length === undefined ? reader.len : reader.pos + length;
1042
+ const message = createBaseRequestCommit();
1043
+ while (reader.pos < end) {
1044
+ const tag = reader.uint32();
1045
+ switch (tag >>> 3) {
1046
+ default:
1047
+ reader.skipType(tag & 7);
1048
+ break;
1049
+ }
1050
+ }
1051
+ return message;
1052
+ },
1053
+ fromJSON(_) {
1054
+ return {};
1055
+ },
1056
+ toJSON(_) {
1057
+ const obj = {};
1058
+ return obj;
1059
+ },
1060
+ fromPartial(_) {
1061
+ const message = createBaseRequestCommit();
1062
+ return message;
1063
+ }
1064
+ };
1065
+ function createBaseRequestListSnapshots() {
1066
+ return {};
1067
+ }
1068
+ exports.RequestListSnapshots = {
1069
+ encode(_, writer = _m0.Writer.create()) {
1070
+ return writer;
1071
+ },
1072
+ decode(input, length) {
1073
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1074
+ let end = length === undefined ? reader.len : reader.pos + length;
1075
+ const message = createBaseRequestListSnapshots();
1076
+ while (reader.pos < end) {
1077
+ const tag = reader.uint32();
1078
+ switch (tag >>> 3) {
1079
+ default:
1080
+ reader.skipType(tag & 7);
1081
+ break;
1082
+ }
1083
+ }
1084
+ return message;
1085
+ },
1086
+ fromJSON(_) {
1087
+ return {};
1088
+ },
1089
+ toJSON(_) {
1090
+ const obj = {};
1091
+ return obj;
1092
+ },
1093
+ fromPartial(_) {
1094
+ const message = createBaseRequestListSnapshots();
1095
+ return message;
1096
+ }
1097
+ };
1098
+ function createBaseRequestOfferSnapshot() {
1099
+ return {
1100
+ snapshot: undefined,
1101
+ appHash: new Uint8Array()
1102
+ };
1103
+ }
1104
+ exports.RequestOfferSnapshot = {
1105
+ encode(message, writer = _m0.Writer.create()) {
1106
+ if (message.snapshot !== undefined) {
1107
+ exports.Snapshot.encode(message.snapshot, writer.uint32(10).fork()).ldelim();
1108
+ }
1109
+ if (message.appHash.length !== 0) {
1110
+ writer.uint32(18).bytes(message.appHash);
1111
+ }
1112
+ return writer;
1113
+ },
1114
+ decode(input, length) {
1115
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1116
+ let end = length === undefined ? reader.len : reader.pos + length;
1117
+ const message = createBaseRequestOfferSnapshot();
1118
+ while (reader.pos < end) {
1119
+ const tag = reader.uint32();
1120
+ switch (tag >>> 3) {
1121
+ case 1:
1122
+ message.snapshot = exports.Snapshot.decode(reader, reader.uint32());
1123
+ break;
1124
+ case 2:
1125
+ message.appHash = reader.bytes();
1126
+ break;
1127
+ default:
1128
+ reader.skipType(tag & 7);
1129
+ break;
1130
+ }
1131
+ }
1132
+ return message;
1133
+ },
1134
+ fromJSON(object) {
1135
+ return {
1136
+ snapshot: (0, helpers_1.isSet)(object.snapshot) ? exports.Snapshot.fromJSON(object.snapshot) : undefined,
1137
+ appHash: (0, helpers_1.isSet)(object.appHash) ? (0, helpers_1.bytesFromBase64)(object.appHash) : new Uint8Array()
1138
+ };
1139
+ },
1140
+ toJSON(message) {
1141
+ const obj = {};
1142
+ message.snapshot !== undefined && (obj.snapshot = message.snapshot ? exports.Snapshot.toJSON(message.snapshot) : undefined);
1143
+ message.appHash !== undefined && (obj.appHash = (0, helpers_1.base64FromBytes)(message.appHash !== undefined ? message.appHash : new Uint8Array()));
1144
+ return obj;
1145
+ },
1146
+ fromPartial(object) {
1147
+ var _a;
1148
+ const message = createBaseRequestOfferSnapshot();
1149
+ message.snapshot = object.snapshot !== undefined && object.snapshot !== null ? exports.Snapshot.fromPartial(object.snapshot) : undefined;
1150
+ message.appHash = (_a = object.appHash) !== null && _a !== void 0 ? _a : new Uint8Array();
1151
+ return message;
1152
+ }
1153
+ };
1154
+ function createBaseRequestLoadSnapshotChunk() {
1155
+ return {
1156
+ height: helpers_1.Long.UZERO,
1157
+ format: 0,
1158
+ chunk: 0
1159
+ };
1160
+ }
1161
+ exports.RequestLoadSnapshotChunk = {
1162
+ encode(message, writer = _m0.Writer.create()) {
1163
+ if (!message.height.isZero()) {
1164
+ writer.uint32(8).uint64(message.height);
1165
+ }
1166
+ if (message.format !== 0) {
1167
+ writer.uint32(16).uint32(message.format);
1168
+ }
1169
+ if (message.chunk !== 0) {
1170
+ writer.uint32(24).uint32(message.chunk);
1171
+ }
1172
+ return writer;
1173
+ },
1174
+ decode(input, length) {
1175
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1176
+ let end = length === undefined ? reader.len : reader.pos + length;
1177
+ const message = createBaseRequestLoadSnapshotChunk();
1178
+ while (reader.pos < end) {
1179
+ const tag = reader.uint32();
1180
+ switch (tag >>> 3) {
1181
+ case 1:
1182
+ message.height = reader.uint64();
1183
+ break;
1184
+ case 2:
1185
+ message.format = reader.uint32();
1186
+ break;
1187
+ case 3:
1188
+ message.chunk = reader.uint32();
1189
+ break;
1190
+ default:
1191
+ reader.skipType(tag & 7);
1192
+ break;
1193
+ }
1194
+ }
1195
+ return message;
1196
+ },
1197
+ fromJSON(object) {
1198
+ return {
1199
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO,
1200
+ format: (0, helpers_1.isSet)(object.format) ? Number(object.format) : 0,
1201
+ chunk: (0, helpers_1.isSet)(object.chunk) ? Number(object.chunk) : 0
1202
+ };
1203
+ },
1204
+ toJSON(message) {
1205
+ const obj = {};
1206
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.UZERO).toString());
1207
+ message.format !== undefined && (obj.format = Math.round(message.format));
1208
+ message.chunk !== undefined && (obj.chunk = Math.round(message.chunk));
1209
+ return obj;
1210
+ },
1211
+ fromPartial(object) {
1212
+ var _a, _b;
1213
+ const message = createBaseRequestLoadSnapshotChunk();
1214
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO;
1215
+ message.format = (_a = object.format) !== null && _a !== void 0 ? _a : 0;
1216
+ message.chunk = (_b = object.chunk) !== null && _b !== void 0 ? _b : 0;
1217
+ return message;
1218
+ }
1219
+ };
1220
+ function createBaseRequestApplySnapshotChunk() {
1221
+ return {
1222
+ index: 0,
1223
+ chunk: new Uint8Array(),
1224
+ sender: ""
1225
+ };
1226
+ }
1227
+ exports.RequestApplySnapshotChunk = {
1228
+ encode(message, writer = _m0.Writer.create()) {
1229
+ if (message.index !== 0) {
1230
+ writer.uint32(8).uint32(message.index);
1231
+ }
1232
+ if (message.chunk.length !== 0) {
1233
+ writer.uint32(18).bytes(message.chunk);
1234
+ }
1235
+ if (message.sender !== "") {
1236
+ writer.uint32(26).string(message.sender);
1237
+ }
1238
+ return writer;
1239
+ },
1240
+ decode(input, length) {
1241
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1242
+ let end = length === undefined ? reader.len : reader.pos + length;
1243
+ const message = createBaseRequestApplySnapshotChunk();
1244
+ while (reader.pos < end) {
1245
+ const tag = reader.uint32();
1246
+ switch (tag >>> 3) {
1247
+ case 1:
1248
+ message.index = reader.uint32();
1249
+ break;
1250
+ case 2:
1251
+ message.chunk = reader.bytes();
1252
+ break;
1253
+ case 3:
1254
+ message.sender = reader.string();
1255
+ break;
1256
+ default:
1257
+ reader.skipType(tag & 7);
1258
+ break;
1259
+ }
1260
+ }
1261
+ return message;
1262
+ },
1263
+ fromJSON(object) {
1264
+ return {
1265
+ index: (0, helpers_1.isSet)(object.index) ? Number(object.index) : 0,
1266
+ chunk: (0, helpers_1.isSet)(object.chunk) ? (0, helpers_1.bytesFromBase64)(object.chunk) : new Uint8Array(),
1267
+ sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : ""
1268
+ };
1269
+ },
1270
+ toJSON(message) {
1271
+ const obj = {};
1272
+ message.index !== undefined && (obj.index = Math.round(message.index));
1273
+ message.chunk !== undefined && (obj.chunk = (0, helpers_1.base64FromBytes)(message.chunk !== undefined ? message.chunk : new Uint8Array()));
1274
+ message.sender !== undefined && (obj.sender = message.sender);
1275
+ return obj;
1276
+ },
1277
+ fromPartial(object) {
1278
+ var _a, _b, _c;
1279
+ const message = createBaseRequestApplySnapshotChunk();
1280
+ message.index = (_a = object.index) !== null && _a !== void 0 ? _a : 0;
1281
+ message.chunk = (_b = object.chunk) !== null && _b !== void 0 ? _b : new Uint8Array();
1282
+ message.sender = (_c = object.sender) !== null && _c !== void 0 ? _c : "";
1283
+ return message;
1284
+ }
1285
+ };
1286
+ function createBaseRequestPrepareProposal() {
1287
+ return {
1288
+ maxTxBytes: helpers_1.Long.ZERO,
1289
+ txs: [],
1290
+ localLastCommit: undefined,
1291
+ misbehavior: [],
1292
+ height: helpers_1.Long.ZERO,
1293
+ time: undefined,
1294
+ nextValidatorsHash: new Uint8Array(),
1295
+ proposerAddress: new Uint8Array()
1296
+ };
1297
+ }
1298
+ exports.RequestPrepareProposal = {
1299
+ encode(message, writer = _m0.Writer.create()) {
1300
+ if (!message.maxTxBytes.isZero()) {
1301
+ writer.uint32(8).int64(message.maxTxBytes);
1302
+ }
1303
+ for (const v of message.txs) {
1304
+ writer.uint32(18).bytes(v);
1305
+ }
1306
+ if (message.localLastCommit !== undefined) {
1307
+ exports.ExtendedCommitInfo.encode(message.localLastCommit, writer.uint32(26).fork()).ldelim();
1308
+ }
1309
+ for (const v of message.misbehavior) {
1310
+ exports.Misbehavior.encode(v, writer.uint32(34).fork()).ldelim();
1311
+ }
1312
+ if (!message.height.isZero()) {
1313
+ writer.uint32(40).int64(message.height);
1314
+ }
1315
+ if (message.time !== undefined) {
1316
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(50).fork()).ldelim();
1317
+ }
1318
+ if (message.nextValidatorsHash.length !== 0) {
1319
+ writer.uint32(58).bytes(message.nextValidatorsHash);
1320
+ }
1321
+ if (message.proposerAddress.length !== 0) {
1322
+ writer.uint32(66).bytes(message.proposerAddress);
1323
+ }
1324
+ return writer;
1325
+ },
1326
+ decode(input, length) {
1327
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1328
+ let end = length === undefined ? reader.len : reader.pos + length;
1329
+ const message = createBaseRequestPrepareProposal();
1330
+ while (reader.pos < end) {
1331
+ const tag = reader.uint32();
1332
+ switch (tag >>> 3) {
1333
+ case 1:
1334
+ message.maxTxBytes = reader.int64();
1335
+ break;
1336
+ case 2:
1337
+ message.txs.push(reader.bytes());
1338
+ break;
1339
+ case 3:
1340
+ message.localLastCommit = exports.ExtendedCommitInfo.decode(reader, reader.uint32());
1341
+ break;
1342
+ case 4:
1343
+ message.misbehavior.push(exports.Misbehavior.decode(reader, reader.uint32()));
1344
+ break;
1345
+ case 5:
1346
+ message.height = reader.int64();
1347
+ break;
1348
+ case 6:
1349
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
1350
+ break;
1351
+ case 7:
1352
+ message.nextValidatorsHash = reader.bytes();
1353
+ break;
1354
+ case 8:
1355
+ message.proposerAddress = reader.bytes();
1356
+ break;
1357
+ default:
1358
+ reader.skipType(tag & 7);
1359
+ break;
1360
+ }
1361
+ }
1362
+ return message;
1363
+ },
1364
+ fromJSON(object) {
1365
+ return {
1366
+ maxTxBytes: (0, helpers_1.isSet)(object.maxTxBytes) ? helpers_1.Long.fromValue(object.maxTxBytes) : helpers_1.Long.ZERO,
1367
+ txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : [],
1368
+ localLastCommit: (0, helpers_1.isSet)(object.localLastCommit) ? exports.ExtendedCommitInfo.fromJSON(object.localLastCommit) : undefined,
1369
+ misbehavior: Array.isArray(object === null || object === void 0 ? void 0 : object.misbehavior) ? object.misbehavior.map((e) => exports.Misbehavior.fromJSON(e)) : [],
1370
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
1371
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
1372
+ nextValidatorsHash: (0, helpers_1.isSet)(object.nextValidatorsHash) ? (0, helpers_1.bytesFromBase64)(object.nextValidatorsHash) : new Uint8Array(),
1373
+ proposerAddress: (0, helpers_1.isSet)(object.proposerAddress) ? (0, helpers_1.bytesFromBase64)(object.proposerAddress) : new Uint8Array()
1374
+ };
1375
+ },
1376
+ toJSON(message) {
1377
+ const obj = {};
1378
+ message.maxTxBytes !== undefined && (obj.maxTxBytes = (message.maxTxBytes || helpers_1.Long.ZERO).toString());
1379
+ if (message.txs) {
1380
+ obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
1381
+ }
1382
+ else {
1383
+ obj.txs = [];
1384
+ }
1385
+ message.localLastCommit !== undefined && (obj.localLastCommit = message.localLastCommit ? exports.ExtendedCommitInfo.toJSON(message.localLastCommit) : undefined);
1386
+ if (message.misbehavior) {
1387
+ obj.misbehavior = message.misbehavior.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
1388
+ }
1389
+ else {
1390
+ obj.misbehavior = [];
1391
+ }
1392
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
1393
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
1394
+ message.nextValidatorsHash !== undefined && (obj.nextValidatorsHash = (0, helpers_1.base64FromBytes)(message.nextValidatorsHash !== undefined ? message.nextValidatorsHash : new Uint8Array()));
1395
+ message.proposerAddress !== undefined && (obj.proposerAddress = (0, helpers_1.base64FromBytes)(message.proposerAddress !== undefined ? message.proposerAddress : new Uint8Array()));
1396
+ return obj;
1397
+ },
1398
+ fromPartial(object) {
1399
+ var _a, _b, _c, _d;
1400
+ const message = createBaseRequestPrepareProposal();
1401
+ message.maxTxBytes = object.maxTxBytes !== undefined && object.maxTxBytes !== null ? helpers_1.Long.fromValue(object.maxTxBytes) : helpers_1.Long.ZERO;
1402
+ message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
1403
+ message.localLastCommit = object.localLastCommit !== undefined && object.localLastCommit !== null ? exports.ExtendedCommitInfo.fromPartial(object.localLastCommit) : undefined;
1404
+ message.misbehavior = ((_b = object.misbehavior) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
1405
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
1406
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
1407
+ message.nextValidatorsHash = (_c = object.nextValidatorsHash) !== null && _c !== void 0 ? _c : new Uint8Array();
1408
+ message.proposerAddress = (_d = object.proposerAddress) !== null && _d !== void 0 ? _d : new Uint8Array();
1409
+ return message;
1410
+ }
1411
+ };
1412
+ function createBaseRequestProcessProposal() {
1413
+ return {
1414
+ txs: [],
1415
+ proposedLastCommit: undefined,
1416
+ misbehavior: [],
1417
+ hash: new Uint8Array(),
1418
+ height: helpers_1.Long.ZERO,
1419
+ time: undefined,
1420
+ nextValidatorsHash: new Uint8Array(),
1421
+ proposerAddress: new Uint8Array()
1422
+ };
1423
+ }
1424
+ exports.RequestProcessProposal = {
1425
+ encode(message, writer = _m0.Writer.create()) {
1426
+ for (const v of message.txs) {
1427
+ writer.uint32(10).bytes(v);
1428
+ }
1429
+ if (message.proposedLastCommit !== undefined) {
1430
+ exports.CommitInfo.encode(message.proposedLastCommit, writer.uint32(18).fork()).ldelim();
1431
+ }
1432
+ for (const v of message.misbehavior) {
1433
+ exports.Misbehavior.encode(v, writer.uint32(26).fork()).ldelim();
1434
+ }
1435
+ if (message.hash.length !== 0) {
1436
+ writer.uint32(34).bytes(message.hash);
1437
+ }
1438
+ if (!message.height.isZero()) {
1439
+ writer.uint32(40).int64(message.height);
1440
+ }
1441
+ if (message.time !== undefined) {
1442
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(50).fork()).ldelim();
1443
+ }
1444
+ if (message.nextValidatorsHash.length !== 0) {
1445
+ writer.uint32(58).bytes(message.nextValidatorsHash);
1446
+ }
1447
+ if (message.proposerAddress.length !== 0) {
1448
+ writer.uint32(66).bytes(message.proposerAddress);
1449
+ }
1450
+ return writer;
1451
+ },
1452
+ decode(input, length) {
1453
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1454
+ let end = length === undefined ? reader.len : reader.pos + length;
1455
+ const message = createBaseRequestProcessProposal();
1456
+ while (reader.pos < end) {
1457
+ const tag = reader.uint32();
1458
+ switch (tag >>> 3) {
1459
+ case 1:
1460
+ message.txs.push(reader.bytes());
1461
+ break;
1462
+ case 2:
1463
+ message.proposedLastCommit = exports.CommitInfo.decode(reader, reader.uint32());
1464
+ break;
1465
+ case 3:
1466
+ message.misbehavior.push(exports.Misbehavior.decode(reader, reader.uint32()));
1467
+ break;
1468
+ case 4:
1469
+ message.hash = reader.bytes();
1470
+ break;
1471
+ case 5:
1472
+ message.height = reader.int64();
1473
+ break;
1474
+ case 6:
1475
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
1476
+ break;
1477
+ case 7:
1478
+ message.nextValidatorsHash = reader.bytes();
1479
+ break;
1480
+ case 8:
1481
+ message.proposerAddress = reader.bytes();
1482
+ break;
1483
+ default:
1484
+ reader.skipType(tag & 7);
1485
+ break;
1486
+ }
1487
+ }
1488
+ return message;
1489
+ },
1490
+ fromJSON(object) {
1491
+ return {
1492
+ txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : [],
1493
+ proposedLastCommit: (0, helpers_1.isSet)(object.proposedLastCommit) ? exports.CommitInfo.fromJSON(object.proposedLastCommit) : undefined,
1494
+ misbehavior: Array.isArray(object === null || object === void 0 ? void 0 : object.misbehavior) ? object.misbehavior.map((e) => exports.Misbehavior.fromJSON(e)) : [],
1495
+ hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
1496
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
1497
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
1498
+ nextValidatorsHash: (0, helpers_1.isSet)(object.nextValidatorsHash) ? (0, helpers_1.bytesFromBase64)(object.nextValidatorsHash) : new Uint8Array(),
1499
+ proposerAddress: (0, helpers_1.isSet)(object.proposerAddress) ? (0, helpers_1.bytesFromBase64)(object.proposerAddress) : new Uint8Array()
1500
+ };
1501
+ },
1502
+ toJSON(message) {
1503
+ const obj = {};
1504
+ if (message.txs) {
1505
+ obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
1506
+ }
1507
+ else {
1508
+ obj.txs = [];
1509
+ }
1510
+ message.proposedLastCommit !== undefined && (obj.proposedLastCommit = message.proposedLastCommit ? exports.CommitInfo.toJSON(message.proposedLastCommit) : undefined);
1511
+ if (message.misbehavior) {
1512
+ obj.misbehavior = message.misbehavior.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
1513
+ }
1514
+ else {
1515
+ obj.misbehavior = [];
1516
+ }
1517
+ message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
1518
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
1519
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
1520
+ message.nextValidatorsHash !== undefined && (obj.nextValidatorsHash = (0, helpers_1.base64FromBytes)(message.nextValidatorsHash !== undefined ? message.nextValidatorsHash : new Uint8Array()));
1521
+ message.proposerAddress !== undefined && (obj.proposerAddress = (0, helpers_1.base64FromBytes)(message.proposerAddress !== undefined ? message.proposerAddress : new Uint8Array()));
1522
+ return obj;
1523
+ },
1524
+ fromPartial(object) {
1525
+ var _a, _b, _c, _d, _e;
1526
+ const message = createBaseRequestProcessProposal();
1527
+ message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
1528
+ message.proposedLastCommit = object.proposedLastCommit !== undefined && object.proposedLastCommit !== null ? exports.CommitInfo.fromPartial(object.proposedLastCommit) : undefined;
1529
+ message.misbehavior = ((_b = object.misbehavior) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
1530
+ message.hash = (_c = object.hash) !== null && _c !== void 0 ? _c : new Uint8Array();
1531
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
1532
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
1533
+ message.nextValidatorsHash = (_d = object.nextValidatorsHash) !== null && _d !== void 0 ? _d : new Uint8Array();
1534
+ message.proposerAddress = (_e = object.proposerAddress) !== null && _e !== void 0 ? _e : new Uint8Array();
1535
+ return message;
1536
+ }
1537
+ };
1538
+ function createBaseResponse() {
1539
+ return {
1540
+ exception: undefined,
1541
+ echo: undefined,
1542
+ flush: undefined,
1543
+ info: undefined,
1544
+ initChain: undefined,
1545
+ query: undefined,
1546
+ beginBlock: undefined,
1547
+ checkTx: undefined,
1548
+ deliverTx: undefined,
1549
+ endBlock: undefined,
1550
+ commit: undefined,
1551
+ listSnapshots: undefined,
1552
+ offerSnapshot: undefined,
1553
+ loadSnapshotChunk: undefined,
1554
+ applySnapshotChunk: undefined,
1555
+ prepareProposal: undefined,
1556
+ processProposal: undefined
1557
+ };
1558
+ }
1559
+ exports.Response = {
1560
+ encode(message, writer = _m0.Writer.create()) {
1561
+ if (message.exception !== undefined) {
1562
+ exports.ResponseException.encode(message.exception, writer.uint32(10).fork()).ldelim();
1563
+ }
1564
+ if (message.echo !== undefined) {
1565
+ exports.ResponseEcho.encode(message.echo, writer.uint32(18).fork()).ldelim();
1566
+ }
1567
+ if (message.flush !== undefined) {
1568
+ exports.ResponseFlush.encode(message.flush, writer.uint32(26).fork()).ldelim();
1569
+ }
1570
+ if (message.info !== undefined) {
1571
+ exports.ResponseInfo.encode(message.info, writer.uint32(34).fork()).ldelim();
1572
+ }
1573
+ if (message.initChain !== undefined) {
1574
+ exports.ResponseInitChain.encode(message.initChain, writer.uint32(50).fork()).ldelim();
1575
+ }
1576
+ if (message.query !== undefined) {
1577
+ exports.ResponseQuery.encode(message.query, writer.uint32(58).fork()).ldelim();
1578
+ }
1579
+ if (message.beginBlock !== undefined) {
1580
+ exports.ResponseBeginBlock.encode(message.beginBlock, writer.uint32(66).fork()).ldelim();
1581
+ }
1582
+ if (message.checkTx !== undefined) {
1583
+ exports.ResponseCheckTx.encode(message.checkTx, writer.uint32(74).fork()).ldelim();
1584
+ }
1585
+ if (message.deliverTx !== undefined) {
1586
+ exports.ResponseDeliverTx.encode(message.deliverTx, writer.uint32(82).fork()).ldelim();
1587
+ }
1588
+ if (message.endBlock !== undefined) {
1589
+ exports.ResponseEndBlock.encode(message.endBlock, writer.uint32(90).fork()).ldelim();
1590
+ }
1591
+ if (message.commit !== undefined) {
1592
+ exports.ResponseCommit.encode(message.commit, writer.uint32(98).fork()).ldelim();
1593
+ }
1594
+ if (message.listSnapshots !== undefined) {
1595
+ exports.ResponseListSnapshots.encode(message.listSnapshots, writer.uint32(106).fork()).ldelim();
1596
+ }
1597
+ if (message.offerSnapshot !== undefined) {
1598
+ exports.ResponseOfferSnapshot.encode(message.offerSnapshot, writer.uint32(114).fork()).ldelim();
1599
+ }
1600
+ if (message.loadSnapshotChunk !== undefined) {
1601
+ exports.ResponseLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(122).fork()).ldelim();
1602
+ }
1603
+ if (message.applySnapshotChunk !== undefined) {
1604
+ exports.ResponseApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(130).fork()).ldelim();
1605
+ }
1606
+ if (message.prepareProposal !== undefined) {
1607
+ exports.ResponsePrepareProposal.encode(message.prepareProposal, writer.uint32(138).fork()).ldelim();
1608
+ }
1609
+ if (message.processProposal !== undefined) {
1610
+ exports.ResponseProcessProposal.encode(message.processProposal, writer.uint32(146).fork()).ldelim();
1611
+ }
1612
+ return writer;
1613
+ },
1614
+ decode(input, length) {
1615
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1616
+ let end = length === undefined ? reader.len : reader.pos + length;
1617
+ const message = createBaseResponse();
1618
+ while (reader.pos < end) {
1619
+ const tag = reader.uint32();
1620
+ switch (tag >>> 3) {
1621
+ case 1:
1622
+ message.exception = exports.ResponseException.decode(reader, reader.uint32());
1623
+ break;
1624
+ case 2:
1625
+ message.echo = exports.ResponseEcho.decode(reader, reader.uint32());
1626
+ break;
1627
+ case 3:
1628
+ message.flush = exports.ResponseFlush.decode(reader, reader.uint32());
1629
+ break;
1630
+ case 4:
1631
+ message.info = exports.ResponseInfo.decode(reader, reader.uint32());
1632
+ break;
1633
+ case 6:
1634
+ message.initChain = exports.ResponseInitChain.decode(reader, reader.uint32());
1635
+ break;
1636
+ case 7:
1637
+ message.query = exports.ResponseQuery.decode(reader, reader.uint32());
1638
+ break;
1639
+ case 8:
1640
+ message.beginBlock = exports.ResponseBeginBlock.decode(reader, reader.uint32());
1641
+ break;
1642
+ case 9:
1643
+ message.checkTx = exports.ResponseCheckTx.decode(reader, reader.uint32());
1644
+ break;
1645
+ case 10:
1646
+ message.deliverTx = exports.ResponseDeliverTx.decode(reader, reader.uint32());
1647
+ break;
1648
+ case 11:
1649
+ message.endBlock = exports.ResponseEndBlock.decode(reader, reader.uint32());
1650
+ break;
1651
+ case 12:
1652
+ message.commit = exports.ResponseCommit.decode(reader, reader.uint32());
1653
+ break;
1654
+ case 13:
1655
+ message.listSnapshots = exports.ResponseListSnapshots.decode(reader, reader.uint32());
1656
+ break;
1657
+ case 14:
1658
+ message.offerSnapshot = exports.ResponseOfferSnapshot.decode(reader, reader.uint32());
1659
+ break;
1660
+ case 15:
1661
+ message.loadSnapshotChunk = exports.ResponseLoadSnapshotChunk.decode(reader, reader.uint32());
1662
+ break;
1663
+ case 16:
1664
+ message.applySnapshotChunk = exports.ResponseApplySnapshotChunk.decode(reader, reader.uint32());
1665
+ break;
1666
+ case 17:
1667
+ message.prepareProposal = exports.ResponsePrepareProposal.decode(reader, reader.uint32());
1668
+ break;
1669
+ case 18:
1670
+ message.processProposal = exports.ResponseProcessProposal.decode(reader, reader.uint32());
1671
+ break;
1672
+ default:
1673
+ reader.skipType(tag & 7);
1674
+ break;
1675
+ }
1676
+ }
1677
+ return message;
1678
+ },
1679
+ fromJSON(object) {
1680
+ return {
1681
+ exception: (0, helpers_1.isSet)(object.exception) ? exports.ResponseException.fromJSON(object.exception) : undefined,
1682
+ echo: (0, helpers_1.isSet)(object.echo) ? exports.ResponseEcho.fromJSON(object.echo) : undefined,
1683
+ flush: (0, helpers_1.isSet)(object.flush) ? exports.ResponseFlush.fromJSON(object.flush) : undefined,
1684
+ info: (0, helpers_1.isSet)(object.info) ? exports.ResponseInfo.fromJSON(object.info) : undefined,
1685
+ initChain: (0, helpers_1.isSet)(object.initChain) ? exports.ResponseInitChain.fromJSON(object.initChain) : undefined,
1686
+ query: (0, helpers_1.isSet)(object.query) ? exports.ResponseQuery.fromJSON(object.query) : undefined,
1687
+ beginBlock: (0, helpers_1.isSet)(object.beginBlock) ? exports.ResponseBeginBlock.fromJSON(object.beginBlock) : undefined,
1688
+ checkTx: (0, helpers_1.isSet)(object.checkTx) ? exports.ResponseCheckTx.fromJSON(object.checkTx) : undefined,
1689
+ deliverTx: (0, helpers_1.isSet)(object.deliverTx) ? exports.ResponseDeliverTx.fromJSON(object.deliverTx) : undefined,
1690
+ endBlock: (0, helpers_1.isSet)(object.endBlock) ? exports.ResponseEndBlock.fromJSON(object.endBlock) : undefined,
1691
+ commit: (0, helpers_1.isSet)(object.commit) ? exports.ResponseCommit.fromJSON(object.commit) : undefined,
1692
+ listSnapshots: (0, helpers_1.isSet)(object.listSnapshots) ? exports.ResponseListSnapshots.fromJSON(object.listSnapshots) : undefined,
1693
+ offerSnapshot: (0, helpers_1.isSet)(object.offerSnapshot) ? exports.ResponseOfferSnapshot.fromJSON(object.offerSnapshot) : undefined,
1694
+ loadSnapshotChunk: (0, helpers_1.isSet)(object.loadSnapshotChunk) ? exports.ResponseLoadSnapshotChunk.fromJSON(object.loadSnapshotChunk) : undefined,
1695
+ applySnapshotChunk: (0, helpers_1.isSet)(object.applySnapshotChunk) ? exports.ResponseApplySnapshotChunk.fromJSON(object.applySnapshotChunk) : undefined,
1696
+ prepareProposal: (0, helpers_1.isSet)(object.prepareProposal) ? exports.ResponsePrepareProposal.fromJSON(object.prepareProposal) : undefined,
1697
+ processProposal: (0, helpers_1.isSet)(object.processProposal) ? exports.ResponseProcessProposal.fromJSON(object.processProposal) : undefined
1698
+ };
1699
+ },
1700
+ toJSON(message) {
1701
+ const obj = {};
1702
+ message.exception !== undefined && (obj.exception = message.exception ? exports.ResponseException.toJSON(message.exception) : undefined);
1703
+ message.echo !== undefined && (obj.echo = message.echo ? exports.ResponseEcho.toJSON(message.echo) : undefined);
1704
+ message.flush !== undefined && (obj.flush = message.flush ? exports.ResponseFlush.toJSON(message.flush) : undefined);
1705
+ message.info !== undefined && (obj.info = message.info ? exports.ResponseInfo.toJSON(message.info) : undefined);
1706
+ message.initChain !== undefined && (obj.initChain = message.initChain ? exports.ResponseInitChain.toJSON(message.initChain) : undefined);
1707
+ message.query !== undefined && (obj.query = message.query ? exports.ResponseQuery.toJSON(message.query) : undefined);
1708
+ message.beginBlock !== undefined && (obj.beginBlock = message.beginBlock ? exports.ResponseBeginBlock.toJSON(message.beginBlock) : undefined);
1709
+ message.checkTx !== undefined && (obj.checkTx = message.checkTx ? exports.ResponseCheckTx.toJSON(message.checkTx) : undefined);
1710
+ message.deliverTx !== undefined && (obj.deliverTx = message.deliverTx ? exports.ResponseDeliverTx.toJSON(message.deliverTx) : undefined);
1711
+ message.endBlock !== undefined && (obj.endBlock = message.endBlock ? exports.ResponseEndBlock.toJSON(message.endBlock) : undefined);
1712
+ message.commit !== undefined && (obj.commit = message.commit ? exports.ResponseCommit.toJSON(message.commit) : undefined);
1713
+ message.listSnapshots !== undefined && (obj.listSnapshots = message.listSnapshots ? exports.ResponseListSnapshots.toJSON(message.listSnapshots) : undefined);
1714
+ message.offerSnapshot !== undefined && (obj.offerSnapshot = message.offerSnapshot ? exports.ResponseOfferSnapshot.toJSON(message.offerSnapshot) : undefined);
1715
+ message.loadSnapshotChunk !== undefined && (obj.loadSnapshotChunk = message.loadSnapshotChunk ? exports.ResponseLoadSnapshotChunk.toJSON(message.loadSnapshotChunk) : undefined);
1716
+ message.applySnapshotChunk !== undefined && (obj.applySnapshotChunk = message.applySnapshotChunk ? exports.ResponseApplySnapshotChunk.toJSON(message.applySnapshotChunk) : undefined);
1717
+ message.prepareProposal !== undefined && (obj.prepareProposal = message.prepareProposal ? exports.ResponsePrepareProposal.toJSON(message.prepareProposal) : undefined);
1718
+ message.processProposal !== undefined && (obj.processProposal = message.processProposal ? exports.ResponseProcessProposal.toJSON(message.processProposal) : undefined);
1719
+ return obj;
1720
+ },
1721
+ fromPartial(object) {
1722
+ const message = createBaseResponse();
1723
+ message.exception = object.exception !== undefined && object.exception !== null ? exports.ResponseException.fromPartial(object.exception) : undefined;
1724
+ message.echo = object.echo !== undefined && object.echo !== null ? exports.ResponseEcho.fromPartial(object.echo) : undefined;
1725
+ message.flush = object.flush !== undefined && object.flush !== null ? exports.ResponseFlush.fromPartial(object.flush) : undefined;
1726
+ message.info = object.info !== undefined && object.info !== null ? exports.ResponseInfo.fromPartial(object.info) : undefined;
1727
+ message.initChain = object.initChain !== undefined && object.initChain !== null ? exports.ResponseInitChain.fromPartial(object.initChain) : undefined;
1728
+ message.query = object.query !== undefined && object.query !== null ? exports.ResponseQuery.fromPartial(object.query) : undefined;
1729
+ message.beginBlock = object.beginBlock !== undefined && object.beginBlock !== null ? exports.ResponseBeginBlock.fromPartial(object.beginBlock) : undefined;
1730
+ message.checkTx = object.checkTx !== undefined && object.checkTx !== null ? exports.ResponseCheckTx.fromPartial(object.checkTx) : undefined;
1731
+ message.deliverTx = object.deliverTx !== undefined && object.deliverTx !== null ? exports.ResponseDeliverTx.fromPartial(object.deliverTx) : undefined;
1732
+ message.endBlock = object.endBlock !== undefined && object.endBlock !== null ? exports.ResponseEndBlock.fromPartial(object.endBlock) : undefined;
1733
+ message.commit = object.commit !== undefined && object.commit !== null ? exports.ResponseCommit.fromPartial(object.commit) : undefined;
1734
+ message.listSnapshots = object.listSnapshots !== undefined && object.listSnapshots !== null ? exports.ResponseListSnapshots.fromPartial(object.listSnapshots) : undefined;
1735
+ message.offerSnapshot = object.offerSnapshot !== undefined && object.offerSnapshot !== null ? exports.ResponseOfferSnapshot.fromPartial(object.offerSnapshot) : undefined;
1736
+ message.loadSnapshotChunk = object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null ? exports.ResponseLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) : undefined;
1737
+ message.applySnapshotChunk = object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null ? exports.ResponseApplySnapshotChunk.fromPartial(object.applySnapshotChunk) : undefined;
1738
+ message.prepareProposal = object.prepareProposal !== undefined && object.prepareProposal !== null ? exports.ResponsePrepareProposal.fromPartial(object.prepareProposal) : undefined;
1739
+ message.processProposal = object.processProposal !== undefined && object.processProposal !== null ? exports.ResponseProcessProposal.fromPartial(object.processProposal) : undefined;
1740
+ return message;
1741
+ }
1742
+ };
1743
+ function createBaseResponseException() {
1744
+ return {
1745
+ error: ""
1746
+ };
1747
+ }
1748
+ exports.ResponseException = {
1749
+ encode(message, writer = _m0.Writer.create()) {
1750
+ if (message.error !== "") {
1751
+ writer.uint32(10).string(message.error);
1752
+ }
1753
+ return writer;
1754
+ },
1755
+ decode(input, length) {
1756
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1757
+ let end = length === undefined ? reader.len : reader.pos + length;
1758
+ const message = createBaseResponseException();
1759
+ while (reader.pos < end) {
1760
+ const tag = reader.uint32();
1761
+ switch (tag >>> 3) {
1762
+ case 1:
1763
+ message.error = reader.string();
1764
+ break;
1765
+ default:
1766
+ reader.skipType(tag & 7);
1767
+ break;
1768
+ }
1769
+ }
1770
+ return message;
1771
+ },
1772
+ fromJSON(object) {
1773
+ return {
1774
+ error: (0, helpers_1.isSet)(object.error) ? String(object.error) : ""
1775
+ };
1776
+ },
1777
+ toJSON(message) {
1778
+ const obj = {};
1779
+ message.error !== undefined && (obj.error = message.error);
1780
+ return obj;
1781
+ },
1782
+ fromPartial(object) {
1783
+ var _a;
1784
+ const message = createBaseResponseException();
1785
+ message.error = (_a = object.error) !== null && _a !== void 0 ? _a : "";
1786
+ return message;
1787
+ }
1788
+ };
1789
+ function createBaseResponseEcho() {
1790
+ return {
1791
+ message: ""
1792
+ };
1793
+ }
1794
+ exports.ResponseEcho = {
1795
+ encode(message, writer = _m0.Writer.create()) {
1796
+ if (message.message !== "") {
1797
+ writer.uint32(10).string(message.message);
1798
+ }
1799
+ return writer;
1800
+ },
1801
+ decode(input, length) {
1802
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1803
+ let end = length === undefined ? reader.len : reader.pos + length;
1804
+ const message = createBaseResponseEcho();
1805
+ while (reader.pos < end) {
1806
+ const tag = reader.uint32();
1807
+ switch (tag >>> 3) {
1808
+ case 1:
1809
+ message.message = reader.string();
1810
+ break;
1811
+ default:
1812
+ reader.skipType(tag & 7);
1813
+ break;
1814
+ }
1815
+ }
1816
+ return message;
1817
+ },
1818
+ fromJSON(object) {
1819
+ return {
1820
+ message: (0, helpers_1.isSet)(object.message) ? String(object.message) : ""
1821
+ };
1822
+ },
1823
+ toJSON(message) {
1824
+ const obj = {};
1825
+ message.message !== undefined && (obj.message = message.message);
1826
+ return obj;
1827
+ },
1828
+ fromPartial(object) {
1829
+ var _a;
1830
+ const message = createBaseResponseEcho();
1831
+ message.message = (_a = object.message) !== null && _a !== void 0 ? _a : "";
1832
+ return message;
1833
+ }
1834
+ };
1835
+ function createBaseResponseFlush() {
1836
+ return {};
1837
+ }
1838
+ exports.ResponseFlush = {
1839
+ encode(_, writer = _m0.Writer.create()) {
1840
+ return writer;
1841
+ },
1842
+ decode(input, length) {
1843
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1844
+ let end = length === undefined ? reader.len : reader.pos + length;
1845
+ const message = createBaseResponseFlush();
1846
+ while (reader.pos < end) {
1847
+ const tag = reader.uint32();
1848
+ switch (tag >>> 3) {
1849
+ default:
1850
+ reader.skipType(tag & 7);
1851
+ break;
1852
+ }
1853
+ }
1854
+ return message;
1855
+ },
1856
+ fromJSON(_) {
1857
+ return {};
1858
+ },
1859
+ toJSON(_) {
1860
+ const obj = {};
1861
+ return obj;
1862
+ },
1863
+ fromPartial(_) {
1864
+ const message = createBaseResponseFlush();
1865
+ return message;
1866
+ }
1867
+ };
1868
+ function createBaseResponseInfo() {
1869
+ return {
1870
+ data: "",
1871
+ version: "",
1872
+ appVersion: helpers_1.Long.UZERO,
1873
+ lastBlockHeight: helpers_1.Long.ZERO,
1874
+ lastBlockAppHash: new Uint8Array()
1875
+ };
1876
+ }
1877
+ exports.ResponseInfo = {
1878
+ encode(message, writer = _m0.Writer.create()) {
1879
+ if (message.data !== "") {
1880
+ writer.uint32(10).string(message.data);
1881
+ }
1882
+ if (message.version !== "") {
1883
+ writer.uint32(18).string(message.version);
1884
+ }
1885
+ if (!message.appVersion.isZero()) {
1886
+ writer.uint32(24).uint64(message.appVersion);
1887
+ }
1888
+ if (!message.lastBlockHeight.isZero()) {
1889
+ writer.uint32(32).int64(message.lastBlockHeight);
1890
+ }
1891
+ if (message.lastBlockAppHash.length !== 0) {
1892
+ writer.uint32(42).bytes(message.lastBlockAppHash);
1893
+ }
1894
+ return writer;
1895
+ },
1896
+ decode(input, length) {
1897
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1898
+ let end = length === undefined ? reader.len : reader.pos + length;
1899
+ const message = createBaseResponseInfo();
1900
+ while (reader.pos < end) {
1901
+ const tag = reader.uint32();
1902
+ switch (tag >>> 3) {
1903
+ case 1:
1904
+ message.data = reader.string();
1905
+ break;
1906
+ case 2:
1907
+ message.version = reader.string();
1908
+ break;
1909
+ case 3:
1910
+ message.appVersion = reader.uint64();
1911
+ break;
1912
+ case 4:
1913
+ message.lastBlockHeight = reader.int64();
1914
+ break;
1915
+ case 5:
1916
+ message.lastBlockAppHash = reader.bytes();
1917
+ break;
1918
+ default:
1919
+ reader.skipType(tag & 7);
1920
+ break;
1921
+ }
1922
+ }
1923
+ return message;
1924
+ },
1925
+ fromJSON(object) {
1926
+ return {
1927
+ data: (0, helpers_1.isSet)(object.data) ? String(object.data) : "",
1928
+ version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "",
1929
+ appVersion: (0, helpers_1.isSet)(object.appVersion) ? helpers_1.Long.fromValue(object.appVersion) : helpers_1.Long.UZERO,
1930
+ lastBlockHeight: (0, helpers_1.isSet)(object.lastBlockHeight) ? helpers_1.Long.fromValue(object.lastBlockHeight) : helpers_1.Long.ZERO,
1931
+ lastBlockAppHash: (0, helpers_1.isSet)(object.lastBlockAppHash) ? (0, helpers_1.bytesFromBase64)(object.lastBlockAppHash) : new Uint8Array()
1932
+ };
1933
+ },
1934
+ toJSON(message) {
1935
+ const obj = {};
1936
+ message.data !== undefined && (obj.data = message.data);
1937
+ message.version !== undefined && (obj.version = message.version);
1938
+ message.appVersion !== undefined && (obj.appVersion = (message.appVersion || helpers_1.Long.UZERO).toString());
1939
+ message.lastBlockHeight !== undefined && (obj.lastBlockHeight = (message.lastBlockHeight || helpers_1.Long.ZERO).toString());
1940
+ message.lastBlockAppHash !== undefined && (obj.lastBlockAppHash = (0, helpers_1.base64FromBytes)(message.lastBlockAppHash !== undefined ? message.lastBlockAppHash : new Uint8Array()));
1941
+ return obj;
1942
+ },
1943
+ fromPartial(object) {
1944
+ var _a, _b, _c;
1945
+ const message = createBaseResponseInfo();
1946
+ message.data = (_a = object.data) !== null && _a !== void 0 ? _a : "";
1947
+ message.version = (_b = object.version) !== null && _b !== void 0 ? _b : "";
1948
+ message.appVersion = object.appVersion !== undefined && object.appVersion !== null ? helpers_1.Long.fromValue(object.appVersion) : helpers_1.Long.UZERO;
1949
+ message.lastBlockHeight = object.lastBlockHeight !== undefined && object.lastBlockHeight !== null ? helpers_1.Long.fromValue(object.lastBlockHeight) : helpers_1.Long.ZERO;
1950
+ message.lastBlockAppHash = (_c = object.lastBlockAppHash) !== null && _c !== void 0 ? _c : new Uint8Array();
1951
+ return message;
1952
+ }
1953
+ };
1954
+ function createBaseResponseInitChain() {
1955
+ return {
1956
+ consensusParams: undefined,
1957
+ validators: [],
1958
+ appHash: new Uint8Array()
1959
+ };
1960
+ }
1961
+ exports.ResponseInitChain = {
1962
+ encode(message, writer = _m0.Writer.create()) {
1963
+ if (message.consensusParams !== undefined) {
1964
+ params_1.ConsensusParams.encode(message.consensusParams, writer.uint32(10).fork()).ldelim();
1965
+ }
1966
+ for (const v of message.validators) {
1967
+ exports.ValidatorUpdate.encode(v, writer.uint32(18).fork()).ldelim();
1968
+ }
1969
+ if (message.appHash.length !== 0) {
1970
+ writer.uint32(26).bytes(message.appHash);
1971
+ }
1972
+ return writer;
1973
+ },
1974
+ decode(input, length) {
1975
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1976
+ let end = length === undefined ? reader.len : reader.pos + length;
1977
+ const message = createBaseResponseInitChain();
1978
+ while (reader.pos < end) {
1979
+ const tag = reader.uint32();
1980
+ switch (tag >>> 3) {
1981
+ case 1:
1982
+ message.consensusParams = params_1.ConsensusParams.decode(reader, reader.uint32());
1983
+ break;
1984
+ case 2:
1985
+ message.validators.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
1986
+ break;
1987
+ case 3:
1988
+ message.appHash = reader.bytes();
1989
+ break;
1990
+ default:
1991
+ reader.skipType(tag & 7);
1992
+ break;
1993
+ }
1994
+ }
1995
+ return message;
1996
+ },
1997
+ fromJSON(object) {
1998
+ return {
1999
+ consensusParams: (0, helpers_1.isSet)(object.consensusParams) ? params_1.ConsensusParams.fromJSON(object.consensusParams) : undefined,
2000
+ validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators) ? object.validators.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
2001
+ appHash: (0, helpers_1.isSet)(object.appHash) ? (0, helpers_1.bytesFromBase64)(object.appHash) : new Uint8Array()
2002
+ };
2003
+ },
2004
+ toJSON(message) {
2005
+ const obj = {};
2006
+ message.consensusParams !== undefined && (obj.consensusParams = message.consensusParams ? params_1.ConsensusParams.toJSON(message.consensusParams) : undefined);
2007
+ if (message.validators) {
2008
+ obj.validators = message.validators.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
2009
+ }
2010
+ else {
2011
+ obj.validators = [];
2012
+ }
2013
+ message.appHash !== undefined && (obj.appHash = (0, helpers_1.base64FromBytes)(message.appHash !== undefined ? message.appHash : new Uint8Array()));
2014
+ return obj;
2015
+ },
2016
+ fromPartial(object) {
2017
+ var _a, _b;
2018
+ const message = createBaseResponseInitChain();
2019
+ message.consensusParams = object.consensusParams !== undefined && object.consensusParams !== null ? params_1.ConsensusParams.fromPartial(object.consensusParams) : undefined;
2020
+ message.validators = ((_a = object.validators) === null || _a === void 0 ? void 0 : _a.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
2021
+ message.appHash = (_b = object.appHash) !== null && _b !== void 0 ? _b : new Uint8Array();
2022
+ return message;
2023
+ }
2024
+ };
2025
+ function createBaseResponseQuery() {
2026
+ return {
2027
+ code: 0,
2028
+ log: "",
2029
+ info: "",
2030
+ index: helpers_1.Long.ZERO,
2031
+ key: new Uint8Array(),
2032
+ value: new Uint8Array(),
2033
+ proofOps: undefined,
2034
+ height: helpers_1.Long.ZERO,
2035
+ codespace: ""
2036
+ };
2037
+ }
2038
+ exports.ResponseQuery = {
2039
+ encode(message, writer = _m0.Writer.create()) {
2040
+ if (message.code !== 0) {
2041
+ writer.uint32(8).uint32(message.code);
2042
+ }
2043
+ if (message.log !== "") {
2044
+ writer.uint32(26).string(message.log);
2045
+ }
2046
+ if (message.info !== "") {
2047
+ writer.uint32(34).string(message.info);
2048
+ }
2049
+ if (!message.index.isZero()) {
2050
+ writer.uint32(40).int64(message.index);
2051
+ }
2052
+ if (message.key.length !== 0) {
2053
+ writer.uint32(50).bytes(message.key);
2054
+ }
2055
+ if (message.value.length !== 0) {
2056
+ writer.uint32(58).bytes(message.value);
2057
+ }
2058
+ if (message.proofOps !== undefined) {
2059
+ proof_1.ProofOps.encode(message.proofOps, writer.uint32(66).fork()).ldelim();
2060
+ }
2061
+ if (!message.height.isZero()) {
2062
+ writer.uint32(72).int64(message.height);
2063
+ }
2064
+ if (message.codespace !== "") {
2065
+ writer.uint32(82).string(message.codespace);
2066
+ }
2067
+ return writer;
2068
+ },
2069
+ decode(input, length) {
2070
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2071
+ let end = length === undefined ? reader.len : reader.pos + length;
2072
+ const message = createBaseResponseQuery();
2073
+ while (reader.pos < end) {
2074
+ const tag = reader.uint32();
2075
+ switch (tag >>> 3) {
2076
+ case 1:
2077
+ message.code = reader.uint32();
2078
+ break;
2079
+ case 3:
2080
+ message.log = reader.string();
2081
+ break;
2082
+ case 4:
2083
+ message.info = reader.string();
2084
+ break;
2085
+ case 5:
2086
+ message.index = reader.int64();
2087
+ break;
2088
+ case 6:
2089
+ message.key = reader.bytes();
2090
+ break;
2091
+ case 7:
2092
+ message.value = reader.bytes();
2093
+ break;
2094
+ case 8:
2095
+ message.proofOps = proof_1.ProofOps.decode(reader, reader.uint32());
2096
+ break;
2097
+ case 9:
2098
+ message.height = reader.int64();
2099
+ break;
2100
+ case 10:
2101
+ message.codespace = reader.string();
2102
+ break;
2103
+ default:
2104
+ reader.skipType(tag & 7);
2105
+ break;
2106
+ }
2107
+ }
2108
+ return message;
2109
+ },
2110
+ fromJSON(object) {
2111
+ return {
2112
+ code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
2113
+ log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
2114
+ info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
2115
+ index: (0, helpers_1.isSet)(object.index) ? helpers_1.Long.fromValue(object.index) : helpers_1.Long.ZERO,
2116
+ key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(),
2117
+ value: (0, helpers_1.isSet)(object.value) ? (0, helpers_1.bytesFromBase64)(object.value) : new Uint8Array(),
2118
+ proofOps: (0, helpers_1.isSet)(object.proofOps) ? proof_1.ProofOps.fromJSON(object.proofOps) : undefined,
2119
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
2120
+ codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : ""
2121
+ };
2122
+ },
2123
+ toJSON(message) {
2124
+ const obj = {};
2125
+ message.code !== undefined && (obj.code = Math.round(message.code));
2126
+ message.log !== undefined && (obj.log = message.log);
2127
+ message.info !== undefined && (obj.info = message.info);
2128
+ message.index !== undefined && (obj.index = (message.index || helpers_1.Long.ZERO).toString());
2129
+ message.key !== undefined && (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array()));
2130
+ message.value !== undefined && (obj.value = (0, helpers_1.base64FromBytes)(message.value !== undefined ? message.value : new Uint8Array()));
2131
+ message.proofOps !== undefined && (obj.proofOps = message.proofOps ? proof_1.ProofOps.toJSON(message.proofOps) : undefined);
2132
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
2133
+ message.codespace !== undefined && (obj.codespace = message.codespace);
2134
+ return obj;
2135
+ },
2136
+ fromPartial(object) {
2137
+ var _a, _b, _c, _d, _e, _f;
2138
+ const message = createBaseResponseQuery();
2139
+ message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
2140
+ message.log = (_b = object.log) !== null && _b !== void 0 ? _b : "";
2141
+ message.info = (_c = object.info) !== null && _c !== void 0 ? _c : "";
2142
+ message.index = object.index !== undefined && object.index !== null ? helpers_1.Long.fromValue(object.index) : helpers_1.Long.ZERO;
2143
+ message.key = (_d = object.key) !== null && _d !== void 0 ? _d : new Uint8Array();
2144
+ message.value = (_e = object.value) !== null && _e !== void 0 ? _e : new Uint8Array();
2145
+ message.proofOps = object.proofOps !== undefined && object.proofOps !== null ? proof_1.ProofOps.fromPartial(object.proofOps) : undefined;
2146
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
2147
+ message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
2148
+ return message;
2149
+ }
2150
+ };
2151
+ function createBaseResponseBeginBlock() {
2152
+ return {
2153
+ events: []
2154
+ };
2155
+ }
2156
+ exports.ResponseBeginBlock = {
2157
+ encode(message, writer = _m0.Writer.create()) {
2158
+ for (const v of message.events) {
2159
+ exports.Event.encode(v, writer.uint32(10).fork()).ldelim();
2160
+ }
2161
+ return writer;
2162
+ },
2163
+ decode(input, length) {
2164
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2165
+ let end = length === undefined ? reader.len : reader.pos + length;
2166
+ const message = createBaseResponseBeginBlock();
2167
+ while (reader.pos < end) {
2168
+ const tag = reader.uint32();
2169
+ switch (tag >>> 3) {
2170
+ case 1:
2171
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2172
+ break;
2173
+ default:
2174
+ reader.skipType(tag & 7);
2175
+ break;
2176
+ }
2177
+ }
2178
+ return message;
2179
+ },
2180
+ fromJSON(object) {
2181
+ return {
2182
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : []
2183
+ };
2184
+ },
2185
+ toJSON(message) {
2186
+ const obj = {};
2187
+ if (message.events) {
2188
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2189
+ }
2190
+ else {
2191
+ obj.events = [];
2192
+ }
2193
+ return obj;
2194
+ },
2195
+ fromPartial(object) {
2196
+ var _a;
2197
+ const message = createBaseResponseBeginBlock();
2198
+ message.events = ((_a = object.events) === null || _a === void 0 ? void 0 : _a.map(e => exports.Event.fromPartial(e))) || [];
2199
+ return message;
2200
+ }
2201
+ };
2202
+ function createBaseResponseCheckTx() {
2203
+ return {
2204
+ code: 0,
2205
+ data: new Uint8Array(),
2206
+ log: "",
2207
+ info: "",
2208
+ gasWanted: helpers_1.Long.ZERO,
2209
+ gasUsed: helpers_1.Long.ZERO,
2210
+ events: [],
2211
+ codespace: "",
2212
+ sender: "",
2213
+ priority: helpers_1.Long.ZERO,
2214
+ mempoolError: ""
2215
+ };
2216
+ }
2217
+ exports.ResponseCheckTx = {
2218
+ encode(message, writer = _m0.Writer.create()) {
2219
+ if (message.code !== 0) {
2220
+ writer.uint32(8).uint32(message.code);
2221
+ }
2222
+ if (message.data.length !== 0) {
2223
+ writer.uint32(18).bytes(message.data);
2224
+ }
2225
+ if (message.log !== "") {
2226
+ writer.uint32(26).string(message.log);
2227
+ }
2228
+ if (message.info !== "") {
2229
+ writer.uint32(34).string(message.info);
2230
+ }
2231
+ if (!message.gasWanted.isZero()) {
2232
+ writer.uint32(40).int64(message.gasWanted);
2233
+ }
2234
+ if (!message.gasUsed.isZero()) {
2235
+ writer.uint32(48).int64(message.gasUsed);
2236
+ }
2237
+ for (const v of message.events) {
2238
+ exports.Event.encode(v, writer.uint32(58).fork()).ldelim();
2239
+ }
2240
+ if (message.codespace !== "") {
2241
+ writer.uint32(66).string(message.codespace);
2242
+ }
2243
+ if (message.sender !== "") {
2244
+ writer.uint32(74).string(message.sender);
2245
+ }
2246
+ if (!message.priority.isZero()) {
2247
+ writer.uint32(80).int64(message.priority);
2248
+ }
2249
+ if (message.mempoolError !== "") {
2250
+ writer.uint32(90).string(message.mempoolError);
2251
+ }
2252
+ return writer;
2253
+ },
2254
+ decode(input, length) {
2255
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2256
+ let end = length === undefined ? reader.len : reader.pos + length;
2257
+ const message = createBaseResponseCheckTx();
2258
+ while (reader.pos < end) {
2259
+ const tag = reader.uint32();
2260
+ switch (tag >>> 3) {
2261
+ case 1:
2262
+ message.code = reader.uint32();
2263
+ break;
2264
+ case 2:
2265
+ message.data = reader.bytes();
2266
+ break;
2267
+ case 3:
2268
+ message.log = reader.string();
2269
+ break;
2270
+ case 4:
2271
+ message.info = reader.string();
2272
+ break;
2273
+ case 5:
2274
+ message.gasWanted = reader.int64();
2275
+ break;
2276
+ case 6:
2277
+ message.gasUsed = reader.int64();
2278
+ break;
2279
+ case 7:
2280
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2281
+ break;
2282
+ case 8:
2283
+ message.codespace = reader.string();
2284
+ break;
2285
+ case 9:
2286
+ message.sender = reader.string();
2287
+ break;
2288
+ case 10:
2289
+ message.priority = reader.int64();
2290
+ break;
2291
+ case 11:
2292
+ message.mempoolError = reader.string();
2293
+ break;
2294
+ default:
2295
+ reader.skipType(tag & 7);
2296
+ break;
2297
+ }
2298
+ }
2299
+ return message;
2300
+ },
2301
+ fromJSON(object) {
2302
+ return {
2303
+ code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
2304
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
2305
+ log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
2306
+ info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
2307
+ gasWanted: (0, helpers_1.isSet)(object.gas_wanted) ? helpers_1.Long.fromValue(object.gas_wanted) : helpers_1.Long.ZERO,
2308
+ gasUsed: (0, helpers_1.isSet)(object.gas_used) ? helpers_1.Long.fromValue(object.gas_used) : helpers_1.Long.ZERO,
2309
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : [],
2310
+ codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : "",
2311
+ sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : "",
2312
+ priority: (0, helpers_1.isSet)(object.priority) ? helpers_1.Long.fromValue(object.priority) : helpers_1.Long.ZERO,
2313
+ mempoolError: (0, helpers_1.isSet)(object.mempoolError) ? String(object.mempoolError) : ""
2314
+ };
2315
+ },
2316
+ toJSON(message) {
2317
+ const obj = {};
2318
+ message.code !== undefined && (obj.code = Math.round(message.code));
2319
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
2320
+ message.log !== undefined && (obj.log = message.log);
2321
+ message.info !== undefined && (obj.info = message.info);
2322
+ message.gasWanted !== undefined && (obj.gas_wanted = (message.gasWanted || helpers_1.Long.ZERO).toString());
2323
+ message.gasUsed !== undefined && (obj.gas_used = (message.gasUsed || helpers_1.Long.ZERO).toString());
2324
+ if (message.events) {
2325
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2326
+ }
2327
+ else {
2328
+ obj.events = [];
2329
+ }
2330
+ message.codespace !== undefined && (obj.codespace = message.codespace);
2331
+ message.sender !== undefined && (obj.sender = message.sender);
2332
+ message.priority !== undefined && (obj.priority = (message.priority || helpers_1.Long.ZERO).toString());
2333
+ message.mempoolError !== undefined && (obj.mempoolError = message.mempoolError);
2334
+ return obj;
2335
+ },
2336
+ fromPartial(object) {
2337
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2338
+ const message = createBaseResponseCheckTx();
2339
+ message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
2340
+ message.data = (_b = object.data) !== null && _b !== void 0 ? _b : new Uint8Array();
2341
+ message.log = (_c = object.log) !== null && _c !== void 0 ? _c : "";
2342
+ message.info = (_d = object.info) !== null && _d !== void 0 ? _d : "";
2343
+ message.gasWanted = object.gasWanted !== undefined && object.gasWanted !== null ? helpers_1.Long.fromValue(object.gasWanted) : helpers_1.Long.ZERO;
2344
+ message.gasUsed = object.gasUsed !== undefined && object.gasUsed !== null ? helpers_1.Long.fromValue(object.gasUsed) : helpers_1.Long.ZERO;
2345
+ message.events = ((_e = object.events) === null || _e === void 0 ? void 0 : _e.map(e => exports.Event.fromPartial(e))) || [];
2346
+ message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
2347
+ message.sender = (_g = object.sender) !== null && _g !== void 0 ? _g : "";
2348
+ message.priority = object.priority !== undefined && object.priority !== null ? helpers_1.Long.fromValue(object.priority) : helpers_1.Long.ZERO;
2349
+ message.mempoolError = (_h = object.mempoolError) !== null && _h !== void 0 ? _h : "";
2350
+ return message;
2351
+ }
2352
+ };
2353
+ function createBaseResponseDeliverTx() {
2354
+ return {
2355
+ code: 0,
2356
+ data: new Uint8Array(),
2357
+ log: "",
2358
+ info: "",
2359
+ gasWanted: helpers_1.Long.ZERO,
2360
+ gasUsed: helpers_1.Long.ZERO,
2361
+ events: [],
2362
+ codespace: ""
2363
+ };
2364
+ }
2365
+ exports.ResponseDeliverTx = {
2366
+ encode(message, writer = _m0.Writer.create()) {
2367
+ if (message.code !== 0) {
2368
+ writer.uint32(8).uint32(message.code);
2369
+ }
2370
+ if (message.data.length !== 0) {
2371
+ writer.uint32(18).bytes(message.data);
2372
+ }
2373
+ if (message.log !== "") {
2374
+ writer.uint32(26).string(message.log);
2375
+ }
2376
+ if (message.info !== "") {
2377
+ writer.uint32(34).string(message.info);
2378
+ }
2379
+ if (!message.gasWanted.isZero()) {
2380
+ writer.uint32(40).int64(message.gasWanted);
2381
+ }
2382
+ if (!message.gasUsed.isZero()) {
2383
+ writer.uint32(48).int64(message.gasUsed);
2384
+ }
2385
+ for (const v of message.events) {
2386
+ exports.Event.encode(v, writer.uint32(58).fork()).ldelim();
2387
+ }
2388
+ if (message.codespace !== "") {
2389
+ writer.uint32(66).string(message.codespace);
2390
+ }
2391
+ return writer;
2392
+ },
2393
+ decode(input, length) {
2394
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2395
+ let end = length === undefined ? reader.len : reader.pos + length;
2396
+ const message = createBaseResponseDeliverTx();
2397
+ while (reader.pos < end) {
2398
+ const tag = reader.uint32();
2399
+ switch (tag >>> 3) {
2400
+ case 1:
2401
+ message.code = reader.uint32();
2402
+ break;
2403
+ case 2:
2404
+ message.data = reader.bytes();
2405
+ break;
2406
+ case 3:
2407
+ message.log = reader.string();
2408
+ break;
2409
+ case 4:
2410
+ message.info = reader.string();
2411
+ break;
2412
+ case 5:
2413
+ message.gasWanted = reader.int64();
2414
+ break;
2415
+ case 6:
2416
+ message.gasUsed = reader.int64();
2417
+ break;
2418
+ case 7:
2419
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2420
+ break;
2421
+ case 8:
2422
+ message.codespace = reader.string();
2423
+ break;
2424
+ default:
2425
+ reader.skipType(tag & 7);
2426
+ break;
2427
+ }
2428
+ }
2429
+ return message;
2430
+ },
2431
+ fromJSON(object) {
2432
+ return {
2433
+ code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
2434
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
2435
+ log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
2436
+ info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
2437
+ gasWanted: (0, helpers_1.isSet)(object.gas_wanted) ? helpers_1.Long.fromValue(object.gas_wanted) : helpers_1.Long.ZERO,
2438
+ gasUsed: (0, helpers_1.isSet)(object.gas_used) ? helpers_1.Long.fromValue(object.gas_used) : helpers_1.Long.ZERO,
2439
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : [],
2440
+ codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : ""
2441
+ };
2442
+ },
2443
+ toJSON(message) {
2444
+ const obj = {};
2445
+ message.code !== undefined && (obj.code = Math.round(message.code));
2446
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
2447
+ message.log !== undefined && (obj.log = message.log);
2448
+ message.info !== undefined && (obj.info = message.info);
2449
+ message.gasWanted !== undefined && (obj.gas_wanted = (message.gasWanted || helpers_1.Long.ZERO).toString());
2450
+ message.gasUsed !== undefined && (obj.gas_used = (message.gasUsed || helpers_1.Long.ZERO).toString());
2451
+ if (message.events) {
2452
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2453
+ }
2454
+ else {
2455
+ obj.events = [];
2456
+ }
2457
+ message.codespace !== undefined && (obj.codespace = message.codespace);
2458
+ return obj;
2459
+ },
2460
+ fromPartial(object) {
2461
+ var _a, _b, _c, _d, _e, _f;
2462
+ const message = createBaseResponseDeliverTx();
2463
+ message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
2464
+ message.data = (_b = object.data) !== null && _b !== void 0 ? _b : new Uint8Array();
2465
+ message.log = (_c = object.log) !== null && _c !== void 0 ? _c : "";
2466
+ message.info = (_d = object.info) !== null && _d !== void 0 ? _d : "";
2467
+ message.gasWanted = object.gasWanted !== undefined && object.gasWanted !== null ? helpers_1.Long.fromValue(object.gasWanted) : helpers_1.Long.ZERO;
2468
+ message.gasUsed = object.gasUsed !== undefined && object.gasUsed !== null ? helpers_1.Long.fromValue(object.gasUsed) : helpers_1.Long.ZERO;
2469
+ message.events = ((_e = object.events) === null || _e === void 0 ? void 0 : _e.map(e => exports.Event.fromPartial(e))) || [];
2470
+ message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
2471
+ return message;
2472
+ }
2473
+ };
2474
+ function createBaseResponseEndBlock() {
2475
+ return {
2476
+ validatorUpdates: [],
2477
+ consensusParamUpdates: undefined,
2478
+ events: []
2479
+ };
2480
+ }
2481
+ exports.ResponseEndBlock = {
2482
+ encode(message, writer = _m0.Writer.create()) {
2483
+ for (const v of message.validatorUpdates) {
2484
+ exports.ValidatorUpdate.encode(v, writer.uint32(10).fork()).ldelim();
2485
+ }
2486
+ if (message.consensusParamUpdates !== undefined) {
2487
+ params_1.ConsensusParams.encode(message.consensusParamUpdates, writer.uint32(18).fork()).ldelim();
2488
+ }
2489
+ for (const v of message.events) {
2490
+ exports.Event.encode(v, writer.uint32(26).fork()).ldelim();
2491
+ }
2492
+ return writer;
2493
+ },
2494
+ decode(input, length) {
2495
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2496
+ let end = length === undefined ? reader.len : reader.pos + length;
2497
+ const message = createBaseResponseEndBlock();
2498
+ while (reader.pos < end) {
2499
+ const tag = reader.uint32();
2500
+ switch (tag >>> 3) {
2501
+ case 1:
2502
+ message.validatorUpdates.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
2503
+ break;
2504
+ case 2:
2505
+ message.consensusParamUpdates = params_1.ConsensusParams.decode(reader, reader.uint32());
2506
+ break;
2507
+ case 3:
2508
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2509
+ break;
2510
+ default:
2511
+ reader.skipType(tag & 7);
2512
+ break;
2513
+ }
2514
+ }
2515
+ return message;
2516
+ },
2517
+ fromJSON(object) {
2518
+ return {
2519
+ validatorUpdates: Array.isArray(object === null || object === void 0 ? void 0 : object.validatorUpdates) ? object.validatorUpdates.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
2520
+ consensusParamUpdates: (0, helpers_1.isSet)(object.consensusParamUpdates) ? params_1.ConsensusParams.fromJSON(object.consensusParamUpdates) : undefined,
2521
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : []
2522
+ };
2523
+ },
2524
+ toJSON(message) {
2525
+ const obj = {};
2526
+ if (message.validatorUpdates) {
2527
+ obj.validatorUpdates = message.validatorUpdates.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
2528
+ }
2529
+ else {
2530
+ obj.validatorUpdates = [];
2531
+ }
2532
+ message.consensusParamUpdates !== undefined && (obj.consensusParamUpdates = message.consensusParamUpdates ? params_1.ConsensusParams.toJSON(message.consensusParamUpdates) : undefined);
2533
+ if (message.events) {
2534
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2535
+ }
2536
+ else {
2537
+ obj.events = [];
2538
+ }
2539
+ return obj;
2540
+ },
2541
+ fromPartial(object) {
2542
+ var _a, _b;
2543
+ const message = createBaseResponseEndBlock();
2544
+ message.validatorUpdates = ((_a = object.validatorUpdates) === null || _a === void 0 ? void 0 : _a.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
2545
+ message.consensusParamUpdates = object.consensusParamUpdates !== undefined && object.consensusParamUpdates !== null ? params_1.ConsensusParams.fromPartial(object.consensusParamUpdates) : undefined;
2546
+ message.events = ((_b = object.events) === null || _b === void 0 ? void 0 : _b.map(e => exports.Event.fromPartial(e))) || [];
2547
+ return message;
2548
+ }
2549
+ };
2550
+ function createBaseResponseCommit() {
2551
+ return {
2552
+ data: new Uint8Array(),
2553
+ retainHeight: helpers_1.Long.ZERO
2554
+ };
2555
+ }
2556
+ exports.ResponseCommit = {
2557
+ encode(message, writer = _m0.Writer.create()) {
2558
+ if (message.data.length !== 0) {
2559
+ writer.uint32(18).bytes(message.data);
2560
+ }
2561
+ if (!message.retainHeight.isZero()) {
2562
+ writer.uint32(24).int64(message.retainHeight);
2563
+ }
2564
+ return writer;
2565
+ },
2566
+ decode(input, length) {
2567
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2568
+ let end = length === undefined ? reader.len : reader.pos + length;
2569
+ const message = createBaseResponseCommit();
2570
+ while (reader.pos < end) {
2571
+ const tag = reader.uint32();
2572
+ switch (tag >>> 3) {
2573
+ case 2:
2574
+ message.data = reader.bytes();
2575
+ break;
2576
+ case 3:
2577
+ message.retainHeight = reader.int64();
2578
+ break;
2579
+ default:
2580
+ reader.skipType(tag & 7);
2581
+ break;
2582
+ }
2583
+ }
2584
+ return message;
2585
+ },
2586
+ fromJSON(object) {
2587
+ return {
2588
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
2589
+ retainHeight: (0, helpers_1.isSet)(object.retainHeight) ? helpers_1.Long.fromValue(object.retainHeight) : helpers_1.Long.ZERO
2590
+ };
2591
+ },
2592
+ toJSON(message) {
2593
+ const obj = {};
2594
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
2595
+ message.retainHeight !== undefined && (obj.retainHeight = (message.retainHeight || helpers_1.Long.ZERO).toString());
2596
+ return obj;
2597
+ },
2598
+ fromPartial(object) {
2599
+ var _a;
2600
+ const message = createBaseResponseCommit();
2601
+ message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array();
2602
+ message.retainHeight = object.retainHeight !== undefined && object.retainHeight !== null ? helpers_1.Long.fromValue(object.retainHeight) : helpers_1.Long.ZERO;
2603
+ return message;
2604
+ }
2605
+ };
2606
+ function createBaseResponseListSnapshots() {
2607
+ return {
2608
+ snapshots: []
2609
+ };
2610
+ }
2611
+ exports.ResponseListSnapshots = {
2612
+ encode(message, writer = _m0.Writer.create()) {
2613
+ for (const v of message.snapshots) {
2614
+ exports.Snapshot.encode(v, writer.uint32(10).fork()).ldelim();
2615
+ }
2616
+ return writer;
2617
+ },
2618
+ decode(input, length) {
2619
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2620
+ let end = length === undefined ? reader.len : reader.pos + length;
2621
+ const message = createBaseResponseListSnapshots();
2622
+ while (reader.pos < end) {
2623
+ const tag = reader.uint32();
2624
+ switch (tag >>> 3) {
2625
+ case 1:
2626
+ message.snapshots.push(exports.Snapshot.decode(reader, reader.uint32()));
2627
+ break;
2628
+ default:
2629
+ reader.skipType(tag & 7);
2630
+ break;
2631
+ }
2632
+ }
2633
+ return message;
2634
+ },
2635
+ fromJSON(object) {
2636
+ return {
2637
+ snapshots: Array.isArray(object === null || object === void 0 ? void 0 : object.snapshots) ? object.snapshots.map((e) => exports.Snapshot.fromJSON(e)) : []
2638
+ };
2639
+ },
2640
+ toJSON(message) {
2641
+ const obj = {};
2642
+ if (message.snapshots) {
2643
+ obj.snapshots = message.snapshots.map(e => e ? exports.Snapshot.toJSON(e) : undefined);
2644
+ }
2645
+ else {
2646
+ obj.snapshots = [];
2647
+ }
2648
+ return obj;
2649
+ },
2650
+ fromPartial(object) {
2651
+ var _a;
2652
+ const message = createBaseResponseListSnapshots();
2653
+ message.snapshots = ((_a = object.snapshots) === null || _a === void 0 ? void 0 : _a.map(e => exports.Snapshot.fromPartial(e))) || [];
2654
+ return message;
2655
+ }
2656
+ };
2657
+ function createBaseResponseOfferSnapshot() {
2658
+ return {
2659
+ result: 0
2660
+ };
2661
+ }
2662
+ exports.ResponseOfferSnapshot = {
2663
+ encode(message, writer = _m0.Writer.create()) {
2664
+ if (message.result !== 0) {
2665
+ writer.uint32(8).int32(message.result);
2666
+ }
2667
+ return writer;
2668
+ },
2669
+ decode(input, length) {
2670
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2671
+ let end = length === undefined ? reader.len : reader.pos + length;
2672
+ const message = createBaseResponseOfferSnapshot();
2673
+ while (reader.pos < end) {
2674
+ const tag = reader.uint32();
2675
+ switch (tag >>> 3) {
2676
+ case 1:
2677
+ message.result = reader.int32();
2678
+ break;
2679
+ default:
2680
+ reader.skipType(tag & 7);
2681
+ break;
2682
+ }
2683
+ }
2684
+ return message;
2685
+ },
2686
+ fromJSON(object) {
2687
+ return {
2688
+ result: (0, helpers_1.isSet)(object.result) ? responseOfferSnapshot_ResultFromJSON(object.result) : 0
2689
+ };
2690
+ },
2691
+ toJSON(message) {
2692
+ const obj = {};
2693
+ message.result !== undefined && (obj.result = responseOfferSnapshot_ResultToJSON(message.result));
2694
+ return obj;
2695
+ },
2696
+ fromPartial(object) {
2697
+ var _a;
2698
+ const message = createBaseResponseOfferSnapshot();
2699
+ message.result = (_a = object.result) !== null && _a !== void 0 ? _a : 0;
2700
+ return message;
2701
+ }
2702
+ };
2703
+ function createBaseResponseLoadSnapshotChunk() {
2704
+ return {
2705
+ chunk: new Uint8Array()
2706
+ };
2707
+ }
2708
+ exports.ResponseLoadSnapshotChunk = {
2709
+ encode(message, writer = _m0.Writer.create()) {
2710
+ if (message.chunk.length !== 0) {
2711
+ writer.uint32(10).bytes(message.chunk);
2712
+ }
2713
+ return writer;
2714
+ },
2715
+ decode(input, length) {
2716
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2717
+ let end = length === undefined ? reader.len : reader.pos + length;
2718
+ const message = createBaseResponseLoadSnapshotChunk();
2719
+ while (reader.pos < end) {
2720
+ const tag = reader.uint32();
2721
+ switch (tag >>> 3) {
2722
+ case 1:
2723
+ message.chunk = reader.bytes();
2724
+ break;
2725
+ default:
2726
+ reader.skipType(tag & 7);
2727
+ break;
2728
+ }
2729
+ }
2730
+ return message;
2731
+ },
2732
+ fromJSON(object) {
2733
+ return {
2734
+ chunk: (0, helpers_1.isSet)(object.chunk) ? (0, helpers_1.bytesFromBase64)(object.chunk) : new Uint8Array()
2735
+ };
2736
+ },
2737
+ toJSON(message) {
2738
+ const obj = {};
2739
+ message.chunk !== undefined && (obj.chunk = (0, helpers_1.base64FromBytes)(message.chunk !== undefined ? message.chunk : new Uint8Array()));
2740
+ return obj;
2741
+ },
2742
+ fromPartial(object) {
2743
+ var _a;
2744
+ const message = createBaseResponseLoadSnapshotChunk();
2745
+ message.chunk = (_a = object.chunk) !== null && _a !== void 0 ? _a : new Uint8Array();
2746
+ return message;
2747
+ }
2748
+ };
2749
+ function createBaseResponseApplySnapshotChunk() {
2750
+ return {
2751
+ result: 0,
2752
+ refetchChunks: [],
2753
+ rejectSenders: []
2754
+ };
2755
+ }
2756
+ exports.ResponseApplySnapshotChunk = {
2757
+ encode(message, writer = _m0.Writer.create()) {
2758
+ if (message.result !== 0) {
2759
+ writer.uint32(8).int32(message.result);
2760
+ }
2761
+ writer.uint32(18).fork();
2762
+ for (const v of message.refetchChunks) {
2763
+ writer.uint32(v);
2764
+ }
2765
+ writer.ldelim();
2766
+ for (const v of message.rejectSenders) {
2767
+ writer.uint32(26).string(v);
2768
+ }
2769
+ return writer;
2770
+ },
2771
+ decode(input, length) {
2772
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2773
+ let end = length === undefined ? reader.len : reader.pos + length;
2774
+ const message = createBaseResponseApplySnapshotChunk();
2775
+ while (reader.pos < end) {
2776
+ const tag = reader.uint32();
2777
+ switch (tag >>> 3) {
2778
+ case 1:
2779
+ message.result = reader.int32();
2780
+ break;
2781
+ case 2:
2782
+ if ((tag & 7) === 2) {
2783
+ const end2 = reader.uint32() + reader.pos;
2784
+ while (reader.pos < end2) {
2785
+ message.refetchChunks.push(reader.uint32());
2786
+ }
2787
+ }
2788
+ else {
2789
+ message.refetchChunks.push(reader.uint32());
2790
+ }
2791
+ break;
2792
+ case 3:
2793
+ message.rejectSenders.push(reader.string());
2794
+ break;
2795
+ default:
2796
+ reader.skipType(tag & 7);
2797
+ break;
2798
+ }
2799
+ }
2800
+ return message;
2801
+ },
2802
+ fromJSON(object) {
2803
+ return {
2804
+ result: (0, helpers_1.isSet)(object.result) ? responseApplySnapshotChunk_ResultFromJSON(object.result) : 0,
2805
+ refetchChunks: Array.isArray(object === null || object === void 0 ? void 0 : object.refetchChunks) ? object.refetchChunks.map((e) => Number(e)) : [],
2806
+ rejectSenders: Array.isArray(object === null || object === void 0 ? void 0 : object.rejectSenders) ? object.rejectSenders.map((e) => String(e)) : []
2807
+ };
2808
+ },
2809
+ toJSON(message) {
2810
+ const obj = {};
2811
+ message.result !== undefined && (obj.result = responseApplySnapshotChunk_ResultToJSON(message.result));
2812
+ if (message.refetchChunks) {
2813
+ obj.refetchChunks = message.refetchChunks.map(e => Math.round(e));
2814
+ }
2815
+ else {
2816
+ obj.refetchChunks = [];
2817
+ }
2818
+ if (message.rejectSenders) {
2819
+ obj.rejectSenders = message.rejectSenders.map(e => e);
2820
+ }
2821
+ else {
2822
+ obj.rejectSenders = [];
2823
+ }
2824
+ return obj;
2825
+ },
2826
+ fromPartial(object) {
2827
+ var _a, _b, _c;
2828
+ const message = createBaseResponseApplySnapshotChunk();
2829
+ message.result = (_a = object.result) !== null && _a !== void 0 ? _a : 0;
2830
+ message.refetchChunks = ((_b = object.refetchChunks) === null || _b === void 0 ? void 0 : _b.map(e => e)) || [];
2831
+ message.rejectSenders = ((_c = object.rejectSenders) === null || _c === void 0 ? void 0 : _c.map(e => e)) || [];
2832
+ return message;
2833
+ }
2834
+ };
2835
+ function createBaseResponsePrepareProposal() {
2836
+ return {
2837
+ txs: []
2838
+ };
2839
+ }
2840
+ exports.ResponsePrepareProposal = {
2841
+ encode(message, writer = _m0.Writer.create()) {
2842
+ for (const v of message.txs) {
2843
+ writer.uint32(10).bytes(v);
2844
+ }
2845
+ return writer;
2846
+ },
2847
+ decode(input, length) {
2848
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2849
+ let end = length === undefined ? reader.len : reader.pos + length;
2850
+ const message = createBaseResponsePrepareProposal();
2851
+ while (reader.pos < end) {
2852
+ const tag = reader.uint32();
2853
+ switch (tag >>> 3) {
2854
+ case 1:
2855
+ message.txs.push(reader.bytes());
2856
+ break;
2857
+ default:
2858
+ reader.skipType(tag & 7);
2859
+ break;
2860
+ }
2861
+ }
2862
+ return message;
2863
+ },
2864
+ fromJSON(object) {
2865
+ return {
2866
+ txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : []
2867
+ };
2868
+ },
2869
+ toJSON(message) {
2870
+ const obj = {};
2871
+ if (message.txs) {
2872
+ obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
2873
+ }
2874
+ else {
2875
+ obj.txs = [];
2876
+ }
2877
+ return obj;
2878
+ },
2879
+ fromPartial(object) {
2880
+ var _a;
2881
+ const message = createBaseResponsePrepareProposal();
2882
+ message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
2883
+ return message;
2884
+ }
2885
+ };
2886
+ function createBaseResponseProcessProposal() {
2887
+ return {
2888
+ status: 0
2889
+ };
2890
+ }
2891
+ exports.ResponseProcessProposal = {
2892
+ encode(message, writer = _m0.Writer.create()) {
2893
+ if (message.status !== 0) {
2894
+ writer.uint32(8).int32(message.status);
2895
+ }
2896
+ return writer;
2897
+ },
2898
+ decode(input, length) {
2899
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2900
+ let end = length === undefined ? reader.len : reader.pos + length;
2901
+ const message = createBaseResponseProcessProposal();
2902
+ while (reader.pos < end) {
2903
+ const tag = reader.uint32();
2904
+ switch (tag >>> 3) {
2905
+ case 1:
2906
+ message.status = reader.int32();
2907
+ break;
2908
+ default:
2909
+ reader.skipType(tag & 7);
2910
+ break;
2911
+ }
2912
+ }
2913
+ return message;
2914
+ },
2915
+ fromJSON(object) {
2916
+ return {
2917
+ status: (0, helpers_1.isSet)(object.status) ? responseProcessProposal_ProposalStatusFromJSON(object.status) : 0
2918
+ };
2919
+ },
2920
+ toJSON(message) {
2921
+ const obj = {};
2922
+ message.status !== undefined && (obj.status = responseProcessProposal_ProposalStatusToJSON(message.status));
2923
+ return obj;
2924
+ },
2925
+ fromPartial(object) {
2926
+ var _a;
2927
+ const message = createBaseResponseProcessProposal();
2928
+ message.status = (_a = object.status) !== null && _a !== void 0 ? _a : 0;
2929
+ return message;
2930
+ }
2931
+ };
2932
+ function createBaseCommitInfo() {
2933
+ return {
2934
+ round: 0,
2935
+ votes: []
2936
+ };
2937
+ }
2938
+ exports.CommitInfo = {
2939
+ encode(message, writer = _m0.Writer.create()) {
2940
+ if (message.round !== 0) {
2941
+ writer.uint32(8).int32(message.round);
2942
+ }
2943
+ for (const v of message.votes) {
2944
+ exports.VoteInfo.encode(v, writer.uint32(18).fork()).ldelim();
2945
+ }
2946
+ return writer;
2947
+ },
2948
+ decode(input, length) {
2949
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2950
+ let end = length === undefined ? reader.len : reader.pos + length;
2951
+ const message = createBaseCommitInfo();
2952
+ while (reader.pos < end) {
2953
+ const tag = reader.uint32();
2954
+ switch (tag >>> 3) {
2955
+ case 1:
2956
+ message.round = reader.int32();
2957
+ break;
2958
+ case 2:
2959
+ message.votes.push(exports.VoteInfo.decode(reader, reader.uint32()));
2960
+ break;
2961
+ default:
2962
+ reader.skipType(tag & 7);
2963
+ break;
2964
+ }
2965
+ }
2966
+ return message;
2967
+ },
2968
+ fromJSON(object) {
2969
+ return {
2970
+ round: (0, helpers_1.isSet)(object.round) ? Number(object.round) : 0,
2971
+ votes: Array.isArray(object === null || object === void 0 ? void 0 : object.votes) ? object.votes.map((e) => exports.VoteInfo.fromJSON(e)) : []
2972
+ };
2973
+ },
2974
+ toJSON(message) {
2975
+ const obj = {};
2976
+ message.round !== undefined && (obj.round = Math.round(message.round));
2977
+ if (message.votes) {
2978
+ obj.votes = message.votes.map(e => e ? exports.VoteInfo.toJSON(e) : undefined);
2979
+ }
2980
+ else {
2981
+ obj.votes = [];
2982
+ }
2983
+ return obj;
2984
+ },
2985
+ fromPartial(object) {
2986
+ var _a, _b;
2987
+ const message = createBaseCommitInfo();
2988
+ message.round = (_a = object.round) !== null && _a !== void 0 ? _a : 0;
2989
+ message.votes = ((_b = object.votes) === null || _b === void 0 ? void 0 : _b.map(e => exports.VoteInfo.fromPartial(e))) || [];
2990
+ return message;
2991
+ }
2992
+ };
2993
+ function createBaseExtendedCommitInfo() {
2994
+ return {
2995
+ round: 0,
2996
+ votes: []
2997
+ };
2998
+ }
2999
+ exports.ExtendedCommitInfo = {
3000
+ encode(message, writer = _m0.Writer.create()) {
3001
+ if (message.round !== 0) {
3002
+ writer.uint32(8).int32(message.round);
3003
+ }
3004
+ for (const v of message.votes) {
3005
+ exports.ExtendedVoteInfo.encode(v, writer.uint32(18).fork()).ldelim();
3006
+ }
3007
+ return writer;
3008
+ },
3009
+ decode(input, length) {
3010
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3011
+ let end = length === undefined ? reader.len : reader.pos + length;
3012
+ const message = createBaseExtendedCommitInfo();
3013
+ while (reader.pos < end) {
3014
+ const tag = reader.uint32();
3015
+ switch (tag >>> 3) {
3016
+ case 1:
3017
+ message.round = reader.int32();
3018
+ break;
3019
+ case 2:
3020
+ message.votes.push(exports.ExtendedVoteInfo.decode(reader, reader.uint32()));
3021
+ break;
3022
+ default:
3023
+ reader.skipType(tag & 7);
3024
+ break;
3025
+ }
3026
+ }
3027
+ return message;
3028
+ },
3029
+ fromJSON(object) {
3030
+ return {
3031
+ round: (0, helpers_1.isSet)(object.round) ? Number(object.round) : 0,
3032
+ votes: Array.isArray(object === null || object === void 0 ? void 0 : object.votes) ? object.votes.map((e) => exports.ExtendedVoteInfo.fromJSON(e)) : []
3033
+ };
3034
+ },
3035
+ toJSON(message) {
3036
+ const obj = {};
3037
+ message.round !== undefined && (obj.round = Math.round(message.round));
3038
+ if (message.votes) {
3039
+ obj.votes = message.votes.map(e => e ? exports.ExtendedVoteInfo.toJSON(e) : undefined);
3040
+ }
3041
+ else {
3042
+ obj.votes = [];
3043
+ }
3044
+ return obj;
3045
+ },
3046
+ fromPartial(object) {
3047
+ var _a, _b;
3048
+ const message = createBaseExtendedCommitInfo();
3049
+ message.round = (_a = object.round) !== null && _a !== void 0 ? _a : 0;
3050
+ message.votes = ((_b = object.votes) === null || _b === void 0 ? void 0 : _b.map(e => exports.ExtendedVoteInfo.fromPartial(e))) || [];
3051
+ return message;
3052
+ }
3053
+ };
3054
+ function createBaseEvent() {
3055
+ return {
3056
+ type: "",
3057
+ attributes: []
3058
+ };
3059
+ }
3060
+ exports.Event = {
3061
+ encode(message, writer = _m0.Writer.create()) {
3062
+ if (message.type !== "") {
3063
+ writer.uint32(10).string(message.type);
3064
+ }
3065
+ for (const v of message.attributes) {
3066
+ exports.EventAttribute.encode(v, writer.uint32(18).fork()).ldelim();
3067
+ }
3068
+ return writer;
3069
+ },
3070
+ decode(input, length) {
3071
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3072
+ let end = length === undefined ? reader.len : reader.pos + length;
3073
+ const message = createBaseEvent();
3074
+ while (reader.pos < end) {
3075
+ const tag = reader.uint32();
3076
+ switch (tag >>> 3) {
3077
+ case 1:
3078
+ message.type = reader.string();
3079
+ break;
3080
+ case 2:
3081
+ message.attributes.push(exports.EventAttribute.decode(reader, reader.uint32()));
3082
+ break;
3083
+ default:
3084
+ reader.skipType(tag & 7);
3085
+ break;
3086
+ }
3087
+ }
3088
+ return message;
3089
+ },
3090
+ fromJSON(object) {
3091
+ return {
3092
+ type: (0, helpers_1.isSet)(object.type) ? String(object.type) : "",
3093
+ attributes: Array.isArray(object === null || object === void 0 ? void 0 : object.attributes) ? object.attributes.map((e) => exports.EventAttribute.fromJSON(e)) : []
3094
+ };
3095
+ },
3096
+ toJSON(message) {
3097
+ const obj = {};
3098
+ message.type !== undefined && (obj.type = message.type);
3099
+ if (message.attributes) {
3100
+ obj.attributes = message.attributes.map(e => e ? exports.EventAttribute.toJSON(e) : undefined);
3101
+ }
3102
+ else {
3103
+ obj.attributes = [];
3104
+ }
3105
+ return obj;
3106
+ },
3107
+ fromPartial(object) {
3108
+ var _a, _b;
3109
+ const message = createBaseEvent();
3110
+ message.type = (_a = object.type) !== null && _a !== void 0 ? _a : "";
3111
+ message.attributes = ((_b = object.attributes) === null || _b === void 0 ? void 0 : _b.map(e => exports.EventAttribute.fromPartial(e))) || [];
3112
+ return message;
3113
+ }
3114
+ };
3115
+ function createBaseEventAttribute() {
3116
+ return {
3117
+ key: "",
3118
+ value: "",
3119
+ index: false
3120
+ };
3121
+ }
3122
+ exports.EventAttribute = {
3123
+ encode(message, writer = _m0.Writer.create()) {
3124
+ if (message.key !== "") {
3125
+ writer.uint32(10).string(message.key);
3126
+ }
3127
+ if (message.value !== "") {
3128
+ writer.uint32(18).string(message.value);
3129
+ }
3130
+ if (message.index === true) {
3131
+ writer.uint32(24).bool(message.index);
3132
+ }
3133
+ return writer;
3134
+ },
3135
+ decode(input, length) {
3136
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3137
+ let end = length === undefined ? reader.len : reader.pos + length;
3138
+ const message = createBaseEventAttribute();
3139
+ while (reader.pos < end) {
3140
+ const tag = reader.uint32();
3141
+ switch (tag >>> 3) {
3142
+ case 1:
3143
+ message.key = reader.string();
3144
+ break;
3145
+ case 2:
3146
+ message.value = reader.string();
3147
+ break;
3148
+ case 3:
3149
+ message.index = reader.bool();
3150
+ break;
3151
+ default:
3152
+ reader.skipType(tag & 7);
3153
+ break;
3154
+ }
3155
+ }
3156
+ return message;
3157
+ },
3158
+ fromJSON(object) {
3159
+ return {
3160
+ key: (0, helpers_1.isSet)(object.key) ? String(object.key) : "",
3161
+ value: (0, helpers_1.isSet)(object.value) ? String(object.value) : "",
3162
+ index: (0, helpers_1.isSet)(object.index) ? Boolean(object.index) : false
3163
+ };
3164
+ },
3165
+ toJSON(message) {
3166
+ const obj = {};
3167
+ message.key !== undefined && (obj.key = message.key);
3168
+ message.value !== undefined && (obj.value = message.value);
3169
+ message.index !== undefined && (obj.index = message.index);
3170
+ return obj;
3171
+ },
3172
+ fromPartial(object) {
3173
+ var _a, _b, _c;
3174
+ const message = createBaseEventAttribute();
3175
+ message.key = (_a = object.key) !== null && _a !== void 0 ? _a : "";
3176
+ message.value = (_b = object.value) !== null && _b !== void 0 ? _b : "";
3177
+ message.index = (_c = object.index) !== null && _c !== void 0 ? _c : false;
3178
+ return message;
3179
+ }
3180
+ };
3181
+ function createBaseTxResult() {
3182
+ return {
3183
+ height: helpers_1.Long.ZERO,
3184
+ index: 0,
3185
+ tx: new Uint8Array(),
3186
+ result: undefined
3187
+ };
3188
+ }
3189
+ exports.TxResult = {
3190
+ encode(message, writer = _m0.Writer.create()) {
3191
+ if (!message.height.isZero()) {
3192
+ writer.uint32(8).int64(message.height);
3193
+ }
3194
+ if (message.index !== 0) {
3195
+ writer.uint32(16).uint32(message.index);
3196
+ }
3197
+ if (message.tx.length !== 0) {
3198
+ writer.uint32(26).bytes(message.tx);
3199
+ }
3200
+ if (message.result !== undefined) {
3201
+ exports.ResponseDeliverTx.encode(message.result, writer.uint32(34).fork()).ldelim();
3202
+ }
3203
+ return writer;
3204
+ },
3205
+ decode(input, length) {
3206
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3207
+ let end = length === undefined ? reader.len : reader.pos + length;
3208
+ const message = createBaseTxResult();
3209
+ while (reader.pos < end) {
3210
+ const tag = reader.uint32();
3211
+ switch (tag >>> 3) {
3212
+ case 1:
3213
+ message.height = reader.int64();
3214
+ break;
3215
+ case 2:
3216
+ message.index = reader.uint32();
3217
+ break;
3218
+ case 3:
3219
+ message.tx = reader.bytes();
3220
+ break;
3221
+ case 4:
3222
+ message.result = exports.ResponseDeliverTx.decode(reader, reader.uint32());
3223
+ break;
3224
+ default:
3225
+ reader.skipType(tag & 7);
3226
+ break;
3227
+ }
3228
+ }
3229
+ return message;
3230
+ },
3231
+ fromJSON(object) {
3232
+ return {
3233
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
3234
+ index: (0, helpers_1.isSet)(object.index) ? Number(object.index) : 0,
3235
+ tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array(),
3236
+ result: (0, helpers_1.isSet)(object.result) ? exports.ResponseDeliverTx.fromJSON(object.result) : undefined
3237
+ };
3238
+ },
3239
+ toJSON(message) {
3240
+ const obj = {};
3241
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
3242
+ message.index !== undefined && (obj.index = Math.round(message.index));
3243
+ message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
3244
+ message.result !== undefined && (obj.result = message.result ? exports.ResponseDeliverTx.toJSON(message.result) : undefined);
3245
+ return obj;
3246
+ },
3247
+ fromPartial(object) {
3248
+ var _a, _b;
3249
+ const message = createBaseTxResult();
3250
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
3251
+ message.index = (_a = object.index) !== null && _a !== void 0 ? _a : 0;
3252
+ message.tx = (_b = object.tx) !== null && _b !== void 0 ? _b : new Uint8Array();
3253
+ message.result = object.result !== undefined && object.result !== null ? exports.ResponseDeliverTx.fromPartial(object.result) : undefined;
3254
+ return message;
3255
+ }
3256
+ };
3257
+ function createBaseValidator() {
3258
+ return {
3259
+ address: new Uint8Array(),
3260
+ power: helpers_1.Long.ZERO
3261
+ };
3262
+ }
3263
+ exports.Validator = {
3264
+ encode(message, writer = _m0.Writer.create()) {
3265
+ if (message.address.length !== 0) {
3266
+ writer.uint32(10).bytes(message.address);
3267
+ }
3268
+ if (!message.power.isZero()) {
3269
+ writer.uint32(24).int64(message.power);
3270
+ }
3271
+ return writer;
3272
+ },
3273
+ decode(input, length) {
3274
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3275
+ let end = length === undefined ? reader.len : reader.pos + length;
3276
+ const message = createBaseValidator();
3277
+ while (reader.pos < end) {
3278
+ const tag = reader.uint32();
3279
+ switch (tag >>> 3) {
3280
+ case 1:
3281
+ message.address = reader.bytes();
3282
+ break;
3283
+ case 3:
3284
+ message.power = reader.int64();
3285
+ break;
3286
+ default:
3287
+ reader.skipType(tag & 7);
3288
+ break;
3289
+ }
3290
+ }
3291
+ return message;
3292
+ },
3293
+ fromJSON(object) {
3294
+ return {
3295
+ address: (0, helpers_1.isSet)(object.address) ? (0, helpers_1.bytesFromBase64)(object.address) : new Uint8Array(),
3296
+ power: (0, helpers_1.isSet)(object.power) ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO
3297
+ };
3298
+ },
3299
+ toJSON(message) {
3300
+ const obj = {};
3301
+ message.address !== undefined && (obj.address = (0, helpers_1.base64FromBytes)(message.address !== undefined ? message.address : new Uint8Array()));
3302
+ message.power !== undefined && (obj.power = (message.power || helpers_1.Long.ZERO).toString());
3303
+ return obj;
3304
+ },
3305
+ fromPartial(object) {
3306
+ var _a;
3307
+ const message = createBaseValidator();
3308
+ message.address = (_a = object.address) !== null && _a !== void 0 ? _a : new Uint8Array();
3309
+ message.power = object.power !== undefined && object.power !== null ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO;
3310
+ return message;
3311
+ }
3312
+ };
3313
+ function createBaseValidatorUpdate() {
3314
+ return {
3315
+ pubKey: undefined,
3316
+ power: helpers_1.Long.ZERO
3317
+ };
3318
+ }
3319
+ exports.ValidatorUpdate = {
3320
+ encode(message, writer = _m0.Writer.create()) {
3321
+ if (message.pubKey !== undefined) {
3322
+ keys_1.PublicKey.encode(message.pubKey, writer.uint32(10).fork()).ldelim();
3323
+ }
3324
+ if (!message.power.isZero()) {
3325
+ writer.uint32(16).int64(message.power);
3326
+ }
3327
+ return writer;
3328
+ },
3329
+ decode(input, length) {
3330
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3331
+ let end = length === undefined ? reader.len : reader.pos + length;
3332
+ const message = createBaseValidatorUpdate();
3333
+ while (reader.pos < end) {
3334
+ const tag = reader.uint32();
3335
+ switch (tag >>> 3) {
3336
+ case 1:
3337
+ message.pubKey = keys_1.PublicKey.decode(reader, reader.uint32());
3338
+ break;
3339
+ case 2:
3340
+ message.power = reader.int64();
3341
+ break;
3342
+ default:
3343
+ reader.skipType(tag & 7);
3344
+ break;
3345
+ }
3346
+ }
3347
+ return message;
3348
+ },
3349
+ fromJSON(object) {
3350
+ return {
3351
+ pubKey: (0, helpers_1.isSet)(object.pubKey) ? keys_1.PublicKey.fromJSON(object.pubKey) : undefined,
3352
+ power: (0, helpers_1.isSet)(object.power) ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO
3353
+ };
3354
+ },
3355
+ toJSON(message) {
3356
+ const obj = {};
3357
+ message.pubKey !== undefined && (obj.pubKey = message.pubKey ? keys_1.PublicKey.toJSON(message.pubKey) : undefined);
3358
+ message.power !== undefined && (obj.power = (message.power || helpers_1.Long.ZERO).toString());
3359
+ return obj;
3360
+ },
3361
+ fromPartial(object) {
3362
+ const message = createBaseValidatorUpdate();
3363
+ message.pubKey = object.pubKey !== undefined && object.pubKey !== null ? keys_1.PublicKey.fromPartial(object.pubKey) : undefined;
3364
+ message.power = object.power !== undefined && object.power !== null ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO;
3365
+ return message;
3366
+ }
3367
+ };
3368
+ function createBaseVoteInfo() {
3369
+ return {
3370
+ validator: undefined,
3371
+ signedLastBlock: false
3372
+ };
3373
+ }
3374
+ exports.VoteInfo = {
3375
+ encode(message, writer = _m0.Writer.create()) {
3376
+ if (message.validator !== undefined) {
3377
+ exports.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
3378
+ }
3379
+ if (message.signedLastBlock === true) {
3380
+ writer.uint32(16).bool(message.signedLastBlock);
3381
+ }
3382
+ return writer;
3383
+ },
3384
+ decode(input, length) {
3385
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3386
+ let end = length === undefined ? reader.len : reader.pos + length;
3387
+ const message = createBaseVoteInfo();
3388
+ while (reader.pos < end) {
3389
+ const tag = reader.uint32();
3390
+ switch (tag >>> 3) {
3391
+ case 1:
3392
+ message.validator = exports.Validator.decode(reader, reader.uint32());
3393
+ break;
3394
+ case 2:
3395
+ message.signedLastBlock = reader.bool();
3396
+ break;
3397
+ default:
3398
+ reader.skipType(tag & 7);
3399
+ break;
3400
+ }
3401
+ }
3402
+ return message;
3403
+ },
3404
+ fromJSON(object) {
3405
+ return {
3406
+ validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
3407
+ signedLastBlock: (0, helpers_1.isSet)(object.signedLastBlock) ? Boolean(object.signedLastBlock) : false
3408
+ };
3409
+ },
3410
+ toJSON(message) {
3411
+ const obj = {};
3412
+ message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
3413
+ message.signedLastBlock !== undefined && (obj.signedLastBlock = message.signedLastBlock);
3414
+ return obj;
3415
+ },
3416
+ fromPartial(object) {
3417
+ var _a;
3418
+ const message = createBaseVoteInfo();
3419
+ message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
3420
+ message.signedLastBlock = (_a = object.signedLastBlock) !== null && _a !== void 0 ? _a : false;
3421
+ return message;
3422
+ }
3423
+ };
3424
+ function createBaseExtendedVoteInfo() {
3425
+ return {
3426
+ validator: undefined,
3427
+ signedLastBlock: false,
3428
+ voteExtension: new Uint8Array()
3429
+ };
3430
+ }
3431
+ exports.ExtendedVoteInfo = {
3432
+ encode(message, writer = _m0.Writer.create()) {
3433
+ if (message.validator !== undefined) {
3434
+ exports.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
3435
+ }
3436
+ if (message.signedLastBlock === true) {
3437
+ writer.uint32(16).bool(message.signedLastBlock);
3438
+ }
3439
+ if (message.voteExtension.length !== 0) {
3440
+ writer.uint32(26).bytes(message.voteExtension);
3441
+ }
3442
+ return writer;
3443
+ },
3444
+ decode(input, length) {
3445
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3446
+ let end = length === undefined ? reader.len : reader.pos + length;
3447
+ const message = createBaseExtendedVoteInfo();
3448
+ while (reader.pos < end) {
3449
+ const tag = reader.uint32();
3450
+ switch (tag >>> 3) {
3451
+ case 1:
3452
+ message.validator = exports.Validator.decode(reader, reader.uint32());
3453
+ break;
3454
+ case 2:
3455
+ message.signedLastBlock = reader.bool();
3456
+ break;
3457
+ case 3:
3458
+ message.voteExtension = reader.bytes();
3459
+ break;
3460
+ default:
3461
+ reader.skipType(tag & 7);
3462
+ break;
3463
+ }
3464
+ }
3465
+ return message;
3466
+ },
3467
+ fromJSON(object) {
3468
+ return {
3469
+ validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
3470
+ signedLastBlock: (0, helpers_1.isSet)(object.signedLastBlock) ? Boolean(object.signedLastBlock) : false,
3471
+ voteExtension: (0, helpers_1.isSet)(object.voteExtension) ? (0, helpers_1.bytesFromBase64)(object.voteExtension) : new Uint8Array()
3472
+ };
3473
+ },
3474
+ toJSON(message) {
3475
+ const obj = {};
3476
+ message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
3477
+ message.signedLastBlock !== undefined && (obj.signedLastBlock = message.signedLastBlock);
3478
+ message.voteExtension !== undefined && (obj.voteExtension = (0, helpers_1.base64FromBytes)(message.voteExtension !== undefined ? message.voteExtension : new Uint8Array()));
3479
+ return obj;
3480
+ },
3481
+ fromPartial(object) {
3482
+ var _a, _b;
3483
+ const message = createBaseExtendedVoteInfo();
3484
+ message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
3485
+ message.signedLastBlock = (_a = object.signedLastBlock) !== null && _a !== void 0 ? _a : false;
3486
+ message.voteExtension = (_b = object.voteExtension) !== null && _b !== void 0 ? _b : new Uint8Array();
3487
+ return message;
3488
+ }
3489
+ };
3490
+ function createBaseMisbehavior() {
3491
+ return {
3492
+ type: 0,
3493
+ validator: undefined,
3494
+ height: helpers_1.Long.ZERO,
3495
+ time: undefined,
3496
+ totalVotingPower: helpers_1.Long.ZERO
3497
+ };
3498
+ }
3499
+ exports.Misbehavior = {
3500
+ encode(message, writer = _m0.Writer.create()) {
3501
+ if (message.type !== 0) {
3502
+ writer.uint32(8).int32(message.type);
3503
+ }
3504
+ if (message.validator !== undefined) {
3505
+ exports.Validator.encode(message.validator, writer.uint32(18).fork()).ldelim();
3506
+ }
3507
+ if (!message.height.isZero()) {
3508
+ writer.uint32(24).int64(message.height);
3509
+ }
3510
+ if (message.time !== undefined) {
3511
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(34).fork()).ldelim();
3512
+ }
3513
+ if (!message.totalVotingPower.isZero()) {
3514
+ writer.uint32(40).int64(message.totalVotingPower);
3515
+ }
3516
+ return writer;
3517
+ },
3518
+ decode(input, length) {
3519
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3520
+ let end = length === undefined ? reader.len : reader.pos + length;
3521
+ const message = createBaseMisbehavior();
3522
+ while (reader.pos < end) {
3523
+ const tag = reader.uint32();
3524
+ switch (tag >>> 3) {
3525
+ case 1:
3526
+ message.type = reader.int32();
3527
+ break;
3528
+ case 2:
3529
+ message.validator = exports.Validator.decode(reader, reader.uint32());
3530
+ break;
3531
+ case 3:
3532
+ message.height = reader.int64();
3533
+ break;
3534
+ case 4:
3535
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
3536
+ break;
3537
+ case 5:
3538
+ message.totalVotingPower = reader.int64();
3539
+ break;
3540
+ default:
3541
+ reader.skipType(tag & 7);
3542
+ break;
3543
+ }
3544
+ }
3545
+ return message;
3546
+ },
3547
+ fromJSON(object) {
3548
+ return {
3549
+ type: (0, helpers_1.isSet)(object.type) ? misbehaviorTypeFromJSON(object.type) : 0,
3550
+ validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
3551
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
3552
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
3553
+ totalVotingPower: (0, helpers_1.isSet)(object.totalVotingPower) ? helpers_1.Long.fromValue(object.totalVotingPower) : helpers_1.Long.ZERO
3554
+ };
3555
+ },
3556
+ toJSON(message) {
3557
+ const obj = {};
3558
+ message.type !== undefined && (obj.type = misbehaviorTypeToJSON(message.type));
3559
+ message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
3560
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
3561
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
3562
+ message.totalVotingPower !== undefined && (obj.totalVotingPower = (message.totalVotingPower || helpers_1.Long.ZERO).toString());
3563
+ return obj;
3564
+ },
3565
+ fromPartial(object) {
3566
+ var _a;
3567
+ const message = createBaseMisbehavior();
3568
+ message.type = (_a = object.type) !== null && _a !== void 0 ? _a : 0;
3569
+ message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
3570
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
3571
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
3572
+ message.totalVotingPower = object.totalVotingPower !== undefined && object.totalVotingPower !== null ? helpers_1.Long.fromValue(object.totalVotingPower) : helpers_1.Long.ZERO;
3573
+ return message;
3574
+ }
3575
+ };
3576
+ function createBaseSnapshot() {
3577
+ return {
3578
+ height: helpers_1.Long.UZERO,
3579
+ format: 0,
3580
+ chunks: 0,
3581
+ hash: new Uint8Array(),
3582
+ metadata: new Uint8Array()
3583
+ };
3584
+ }
3585
+ exports.Snapshot = {
3586
+ encode(message, writer = _m0.Writer.create()) {
3587
+ if (!message.height.isZero()) {
3588
+ writer.uint32(8).uint64(message.height);
3589
+ }
3590
+ if (message.format !== 0) {
3591
+ writer.uint32(16).uint32(message.format);
3592
+ }
3593
+ if (message.chunks !== 0) {
3594
+ writer.uint32(24).uint32(message.chunks);
3595
+ }
3596
+ if (message.hash.length !== 0) {
3597
+ writer.uint32(34).bytes(message.hash);
3598
+ }
3599
+ if (message.metadata.length !== 0) {
3600
+ writer.uint32(42).bytes(message.metadata);
3601
+ }
3602
+ return writer;
3603
+ },
3604
+ decode(input, length) {
3605
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3606
+ let end = length === undefined ? reader.len : reader.pos + length;
3607
+ const message = createBaseSnapshot();
3608
+ while (reader.pos < end) {
3609
+ const tag = reader.uint32();
3610
+ switch (tag >>> 3) {
3611
+ case 1:
3612
+ message.height = reader.uint64();
3613
+ break;
3614
+ case 2:
3615
+ message.format = reader.uint32();
3616
+ break;
3617
+ case 3:
3618
+ message.chunks = reader.uint32();
3619
+ break;
3620
+ case 4:
3621
+ message.hash = reader.bytes();
3622
+ break;
3623
+ case 5:
3624
+ message.metadata = reader.bytes();
3625
+ break;
3626
+ default:
3627
+ reader.skipType(tag & 7);
3628
+ break;
3629
+ }
3630
+ }
3631
+ return message;
3632
+ },
3633
+ fromJSON(object) {
3634
+ return {
3635
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO,
3636
+ format: (0, helpers_1.isSet)(object.format) ? Number(object.format) : 0,
3637
+ chunks: (0, helpers_1.isSet)(object.chunks) ? Number(object.chunks) : 0,
3638
+ hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
3639
+ metadata: (0, helpers_1.isSet)(object.metadata) ? (0, helpers_1.bytesFromBase64)(object.metadata) : new Uint8Array()
3640
+ };
3641
+ },
3642
+ toJSON(message) {
3643
+ const obj = {};
3644
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.UZERO).toString());
3645
+ message.format !== undefined && (obj.format = Math.round(message.format));
3646
+ message.chunks !== undefined && (obj.chunks = Math.round(message.chunks));
3647
+ message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
3648
+ message.metadata !== undefined && (obj.metadata = (0, helpers_1.base64FromBytes)(message.metadata !== undefined ? message.metadata : new Uint8Array()));
3649
+ return obj;
3650
+ },
3651
+ fromPartial(object) {
3652
+ var _a, _b, _c, _d;
3653
+ const message = createBaseSnapshot();
3654
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO;
3655
+ message.format = (_a = object.format) !== null && _a !== void 0 ? _a : 0;
3656
+ message.chunks = (_b = object.chunks) !== null && _b !== void 0 ? _b : 0;
3657
+ message.hash = (_c = object.hash) !== null && _c !== void 0 ? _c : new Uint8Array();
3658
+ message.metadata = (_d = object.metadata) !== null && _d !== void 0 ? _d : new Uint8Array();
3659
+ return message;
3660
+ }
3661
+ };
3662
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGR5ZHhwcm90b2NvbC9keWR4anMvc3JjL2NvZGVnZW4vdGVuZGVybWludC9hYmNpL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtEQUE4RTtBQUM5RSw0Q0FBMEU7QUFDMUUsMENBQXVEO0FBQ3ZELDJDQUE0RDtBQUM1RCx5Q0FBNkQ7QUFDN0Qsd0RBQTBDO0FBQzFDLDJDQUFnSDtBQUNoSCxJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsMkNBQU8sQ0FBQTtJQUNQLG1EQUFXLENBQUE7SUFDWCw4REFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFJdEI7QUFDWSxRQUFBLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztBQUM5QyxTQUFnQixtQkFBbUIsQ0FBQyxNQUFXO0lBQzdDLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLEtBQUs7WUFDUixPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUM7UUFFekIsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLFNBQVM7WUFDWixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFN0IsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNSLEtBQUssY0FBYyxDQUFDO1FBQ3BCO1lBQ0UsT0FBTyxXQUFXLENBQUMsWUFBWSxDQUFDO0tBQ25DO0FBQ0gsQ0FBQztBQWZELGtEQWVDO0FBQ0QsU0FBZ0IsaUJBQWlCLENBQUMsTUFBbUI7SUFDbkQsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLFdBQVcsQ0FBQyxHQUFHO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1FBRWYsS0FBSyxXQUFXLENBQUMsT0FBTztZQUN0QixPQUFPLFNBQVMsQ0FBQztRQUVuQixLQUFL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LENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBc0I7UUFDM0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLGNBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JILE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdILE9BQU8sQ0FBQyxRQUFRLEtB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LElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQztRQUVELEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUM5QixhQUFLLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxF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