@dydxprotocol/v4-client-js 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/CHANGELOG.md +4 -13
  2. package/build/cjs/__tests__/clients/composite-client.test.js +130 -0
  3. package/build/cjs/__tests__/helpers/baseClients.js +29 -0
  4. package/build/cjs/__tests__/helpers/constants.js +82 -0
  5. package/build/cjs/__tests__/lib/helpers.test.js +45 -0
  6. package/build/cjs/__tests__/lib/util.test.js +67 -0
  7. package/build/cjs/__tests__/lib/validation.test.js +254 -0
  8. package/build/cjs/__tests__/modules/client/AccountEndpoints.test.js +171 -0
  9. package/build/cjs/__tests__/modules/client/FaucetEndpoint.test.js +15 -0
  10. package/build/cjs/__tests__/modules/client/MarketsEndpoints.test.js +69 -0
  11. package/build/cjs/__tests__/modules/client/Transfers.test.js +44 -0
  12. package/build/cjs/__tests__/modules/client/UtilityEndpoints.test.js +28 -0
  13. package/build/cjs/__tests__/modules/client/ValidatorGetEndpoints.test.js +46 -0
  14. package/build/cjs/__tests__/modules/client/ValidatorPostEndpoints.test.js +53 -0
  15. package/build/cjs/__tests__/modules/client/constants.js +7 -0
  16. package/build/cjs/__tests__/modules/onboarding.test.js +50 -0
  17. package/build/cjs/examples/account_endpoints.js +129 -0
  18. package/build/cjs/examples/batch_cancel_orders_example.js +93 -0
  19. package/build/cjs/examples/composite_example.js +50 -0
  20. package/build/cjs/examples/constants.js +33 -0
  21. package/build/cjs/examples/faucet_endpoint.js +23 -0
  22. package/build/cjs/examples/gov_add_new_market.js +77 -0
  23. package/build/cjs/examples/human_readable_orders.json +86 -0
  24. package/build/cjs/examples/human_readable_short_term_orders.json +42 -0
  25. package/build/cjs/examples/json-encoding.js +32 -0
  26. package/build/cjs/examples/long_term_order_cancel_example.js +63 -0
  27. package/build/cjs/examples/markets_endpoints.js +134 -0
  28. package/build/cjs/examples/native_examples.js +112 -0
  29. package/build/cjs/examples/noble_example.js +87 -0
  30. package/build/cjs/examples/optimal_node.js +70 -0
  31. package/build/cjs/examples/permissioned_keys_example.js +99 -0
  32. package/build/cjs/examples/raw_orders.json +130 -0
  33. package/build/cjs/examples/short_term_order_cancel_example.js +54 -0
  34. package/build/cjs/examples/short_term_order_composite_example.js +68 -0
  35. package/build/cjs/examples/test.js +50 -0
  36. package/build/cjs/examples/transfer_example_deposit.js +29 -0
  37. package/build/cjs/examples/transfer_example_send.js +42 -0
  38. package/build/cjs/examples/transfer_example_subaccount_transfer.js +29 -0
  39. package/build/cjs/examples/transfer_example_withdraw.js +30 -0
  40. package/build/cjs/examples/transfer_example_withdraw_other.js +42 -0
  41. package/build/cjs/examples/utility_endpoints.js +42 -0
  42. package/build/cjs/examples/validator_get_example.js +158 -0
  43. package/build/cjs/examples/validator_post_example.js +76 -0
  44. package/build/cjs/examples/wallet_address.js +22 -0
  45. package/build/cjs/examples/websocket_example.js +36 -0
  46. package/build/cjs/examples/websocket_orderbook_example.js +196 -0
  47. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/amino/amino.js +3 -0
  48. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/amino/bundle.js +40 -0
  49. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/runtime/v1alpha1/module.js +182 -0
  50. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/config.js +179 -0
  51. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/module.js +170 -0
  52. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/query.js +100 -0
  53. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.js +62 -0
  54. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/module/v1/module.js +134 -0
  55. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/auth.js +263 -0
  56. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/genesis.js +84 -0
  57. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/query.js +742 -0
  58. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/query.lcd.js +102 -0
  59. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.js +145 -0
  60. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/tx.js +109 -0
  61. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.js +51 -0
  62. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/module/v1/module.js +64 -0
  63. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/authz.js +217 -0
  64. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/event.js +142 -0
  65. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/genesis.js +75 -0
  66. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/query.js +320 -0
  67. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/query.lcd.js +60 -0
  68. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.js +80 -0
  69. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/tx.js +276 -0
  70. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.js +63 -0
  71. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/module/v1/module.js +82 -0
  72. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/authz.js +83 -0
  73. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/bank.js +395 -0
  74. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/genesis.js +152 -0
  75. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/query.js +1035 -0
  76. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/query.lcd.js +187 -0
  77. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.js +165 -0
  78. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/tx.js +336 -0
  79. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.js +69 -0
  80. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/abci/v1beta1/abci.js +700 -0
  81. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/node/v1beta1/query.js +212 -0
  82. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/node/v1beta1/query.lcd.js +22 -0
  83. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.js +71 -0
  84. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/query/v1beta1/pagination.js +151 -0
  85. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/reflection/v1beta1/reflection.js +172 -0
  86. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/reflection/v2alpha1/reflection.js +1027 -0
  87. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/tendermint/v1beta1/query.js +973 -0
  88. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/tendermint/v1beta1/query.lcd.js +86 -0
  89. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.js +118 -0
  90. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/tendermint/v1beta1/types.js +242 -0
  91. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/v1beta1/coin.js +198 -0
  92. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +680 -0
  93. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/circuit/module/v1/module.js +74 -0
  94. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/circuit/v1/query.js +252 -0
  95. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/circuit/v1/query.lcd.js +37 -0
  96. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/circuit/v1/query.rpc.Query.js +82 -0
  97. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/circuit/v1/tx.js +287 -0
  98. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/circuit/v1/tx.rpc.msg.js +63 -0
  99. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/circuit/v1/types.js +235 -0
  100. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/module/v1/module.js +74 -0
  101. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/query.js +100 -0
  102. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/query.lcd.js +16 -0
  103. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/query.rpc.Query.js +62 -0
  104. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/tx.js +133 -0
  105. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/tx.rpc.msg.js +51 -0
  106. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/module/v1/module.js +82 -0
  107. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/v1beta1/genesis.js +74 -0
  108. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/v1beta1/tx.js +187 -0
  109. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.js +57 -0
  110. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/ed25519/keys.js +110 -0
  111. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/hd/v1/hd.js +106 -0
  112. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/keyring/v1/record.js +238 -0
  113. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/multisig/keys.js +83 -0
  114. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.js +118 -0
  115. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/secp256k1/keys.js +110 -0
  116. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/secp256r1/keys.js +110 -0
  117. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/module/v1/module.js +82 -0
  118. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/distribution.js +600 -0
  119. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/genesis.js +489 -0
  120. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/query.js +803 -0
  121. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/query.lcd.js +84 -0
  122. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.js +143 -0
  123. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/tx.js +558 -0
  124. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.js +87 -0
  125. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/module/v1/module.js +64 -0
  126. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/evidence.js +100 -0
  127. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/genesis.js +75 -0
  128. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/query.js +198 -0
  129. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/query.lcd.js +37 -0
  130. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.js +73 -0
  131. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/tx.js +119 -0
  132. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.js +51 -0
  133. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/module/v1/module.js +64 -0
  134. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/feegrant.js +251 -0
  135. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/genesis.js +75 -0
  136. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/query.js +295 -0
  137. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/query.lcd.js +43 -0
  138. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.js +80 -0
  139. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/tx.js +249 -0
  140. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.js +63 -0
  141. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/genutil/module/v1/module.js +64 -0
  142. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/genutil/v1beta1/genesis.js +74 -0
  143. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/module/v1/module.js +83 -0
  144. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/genesis.js +140 -0
  145. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/gov.js +832 -0
  146. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/query.js +774 -0
  147. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/query.lcd.js +92 -0
  148. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/query.rpc.Query.js +134 -0
  149. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/tx.js +648 -0
  150. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/tx.rpc.msg.js +87 -0
  151. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/genesis.js +124 -0
  152. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/gov.js +672 -0
  153. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/query.js +704 -0
  154. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/query.lcd.js +86 -0
  155. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.js +125 -0
  156. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/tx.js +363 -0
  157. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.js +69 -0
  158. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/module/v1/module.js +83 -0
  159. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/events.js +435 -0
  160. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/genesis.js +132 -0
  161. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/query.js +1181 -0
  162. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/query.lcd.js +157 -0
  163. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/query.rpc.Query.js +181 -0
  164. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/tx.js +1290 -0
  165. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/tx.rpc.msg.js +129 -0
  166. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/types.js +945 -0
  167. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/lcd.js +148 -0
  168. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/module/v1/module.js +82 -0
  169. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/genesis.js +82 -0
  170. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/mint.js +159 -0
  171. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/query.js +224 -0
  172. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/query.lcd.js +28 -0
  173. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.js +80 -0
  174. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/tx.js +109 -0
  175. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.js +51 -0
  176. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/msg/textual/v1/textual.js +3 -0
  177. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/msg/v1/msg.js +3 -0
  178. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/module/v1/module.js +64 -0
  179. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/event.js +202 -0
  180. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/genesis.js +127 -0
  181. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/nft.js +191 -0
  182. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/query.js +596 -0
  183. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/query.lcd.js +74 -0
  184. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.js +118 -0
  185. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/tx.js +124 -0
  186. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.js +51 -0
  187. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/module/v1alpha1/module.js +64 -0
  188. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/query/v1alpha1/query.js +414 -0
  189. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.js +71 -0
  190. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/v1/orm.js +222 -0
  191. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/v1alpha1/schema.js +191 -0
  192. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/module/v1/module.js +64 -0
  193. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/v1beta1/params.js +142 -0
  194. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/v1beta1/query.js +224 -0
  195. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/v1beta1/query.lcd.js +34 -0
  196. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/v1beta1/query.rpc.Query.js +71 -0
  197. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/query/v1/query.js +3 -0
  198. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/reflection/v1/reflection.js +101 -0
  199. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/rpc.query.js +116 -0
  200. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/rpc.tx.js +94 -0
  201. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/module/v1/module.js +74 -0
  202. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/genesis.js +224 -0
  203. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/query.js +251 -0
  204. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/query.lcd.js +37 -0
  205. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.js +82 -0
  206. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/slashing.js +185 -0
  207. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/tx.js +171 -0
  208. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.js +57 -0
  209. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/module/v1/module.js +98 -0
  210. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/authz.js +197 -0
  211. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/genesis.js +176 -0
  212. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/query.js +1173 -0
  213. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/query.lcd.js +171 -0
  214. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.js +179 -0
  215. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/staking.js +1297 -0
  216. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/tx.js +665 -0
  217. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.js +87 -0
  218. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/store/internal/kv/v1beta1/kv.js +118 -0
  219. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/store/snapshots/v1/snapshot.js +378 -0
  220. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/store/streaming/abci/grpc.js +188 -0
  221. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/store/v1beta1/commit_info.js +180 -0
  222. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/store/v1beta1/listening.js +150 -0
  223. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/config/v1/config.js +82 -0
  224. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/signing/v1beta1/signing.js +365 -0
  225. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/v1beta1/service.js +924 -0
  226. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/v1beta1/service.lcd.js +58 -0
  227. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.js +134 -0
  228. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/v1beta1/tx.js +740 -0
  229. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/module/v1/module.js +74 -0
  230. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/query.js +377 -0
  231. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/query.lcd.js +55 -0
  232. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.js +98 -0
  233. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/tx.js +171 -0
  234. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.js +57 -0
  235. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/upgrade.js +249 -0
  236. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/module/v1/module.js +64 -0
  237. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/v1beta1/tx.js +299 -0
  238. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.js +63 -0
  239. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/v1beta1/vesting.js +318 -0
  240. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos_proto/bundle.js +40 -0
  241. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos_proto/cosmos.js +184 -0
  242. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/accountplus.js +137 -0
  243. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/genesis.js +146 -0
  244. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/models.js +91 -0
  245. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/params.js +74 -0
  246. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.js +253 -0
  247. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.lcd.js +28 -0
  248. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/query.rpc.Query.js +80 -0
  249. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/tx.js +323 -0
  250. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/accountplus/tx.rpc.msg.js +63 -0
  251. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/affiliates.js +207 -0
  252. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/genesis.js +74 -0
  253. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.js +337 -0
  254. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.js +34 -0
  255. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.rpc.Query.js +89 -0
  256. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.js +249 -0
  257. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/tx.rpc.msg.js +63 -0
  258. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/asset.js +122 -0
  259. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/genesis.js +75 -0
  260. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/query.js +190 -0
  261. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/query.lcd.js +31 -0
  262. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/query.rpc.Query.js +73 -0
  263. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/tx.js +3 -0
  264. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/blocktime.js +164 -0
  265. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/genesis.js +74 -0
  266. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/params.js +110 -0
  267. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.js +223 -0
  268. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.lcd.js +22 -0
  269. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +80 -0
  270. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.js +179 -0
  271. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +57 -0
  272. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/bridge_event.js +100 -0
  273. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/bridge_event_info.js +83 -0
  274. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/genesis.js +99 -0
  275. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/params.js +196 -0
  276. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/query.js +462 -0
  277. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/query.lcd.js +57 -0
  278. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/query.rpc.Query.js +107 -0
  279. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/tx.js +382 -0
  280. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/tx.rpc.msg.js +75 -0
  281. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +453 -0
  282. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +142 -0
  283. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/clob_pair.js +293 -0
  284. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/equity_tier_limit_config.js +126 -0
  285. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/finalize_block.js +74 -0
  286. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/genesis.js +102 -0
  287. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/liquidations.js +198 -0
  288. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/liquidations_config.js +230 -0
  289. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/matches.js +358 -0
  290. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/mev.js +372 -0
  291. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/operation.js +160 -0
  292. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.js +748 -0
  293. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.js +215 -0
  294. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/process_proposer_matches_events.js +131 -0
  295. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +1065 -0
  296. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.js +55 -0
  297. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +136 -0
  298. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/streaming.js +100 -0
  299. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.js +799 -0
  300. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +99 -0
  301. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/daemons/bridge/bridge.js +101 -0
  302. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/daemons/liquidation/liquidation.js +126 -0
  303. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.js +198 -0
  304. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/block_message_ids.js +84 -0
  305. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/delayed_message.js +91 -0
  306. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/genesis.js +83 -0
  307. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/query.js +254 -0
  308. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/query.lcd.js +28 -0
  309. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/query.rpc.Query.js +80 -0
  310. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/tx.js +127 -0
  311. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/delaymsg/tx.rpc.msg.js +51 -0
  312. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/epoch_info.js +122 -0
  313. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/genesis.js +75 -0
  314. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/query.js +190 -0
  315. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/query.lcd.js +31 -0
  316. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/query.rpc.Query.js +73 -0
  317. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/genesis.js +74 -0
  318. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/params.js +151 -0
  319. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.js +180 -0
  320. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.lcd.js +28 -0
  321. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +71 -0
  322. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.js +109 -0
  323. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +51 -0
  324. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/govplus/genesis.js +64 -0
  325. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/govplus/query.js +3 -0
  326. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/govplus/query.rpc.Query.js +17 -0
  327. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/govplus/tx.js +132 -0
  328. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/govplus/tx.rpc.msg.js +51 -0
  329. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +2060 -0
  330. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/indexer_manager/event.js +306 -0
  331. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.js +448 -0
  332. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +487 -0
  333. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/perpetual.js +51 -0
  334. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.js +195 -0
  335. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/vault.js +62 -0
  336. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/redis/redis_order.js +162 -0
  337. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/shared/removal_reason.js +176 -0
  338. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/socks/messages.js +458 -0
  339. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/lcd.js +207 -0
  340. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/genesis.js +83 -0
  341. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/params.js +90 -0
  342. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.js +162 -0
  343. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.lcd.js +22 -0
  344. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.rpc.Query.js +71 -0
  345. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.js +320 -0
  346. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.rpc.msg.js +69 -0
  347. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/genesis.js +92 -0
  348. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/params.js +90 -0
  349. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual.js +408 -0
  350. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.js +515 -0
  351. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.lcd.js +69 -0
  352. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +120 -0
  353. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/tx.js +426 -0
  354. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.js +75 -0
  355. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/genesis.js +84 -0
  356. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_param.js +114 -0
  357. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_price.js +91 -0
  358. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.js +403 -0
  359. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.lcd.js +57 -0
  360. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.rpc.Query.js +102 -0
  361. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/streaming.js +91 -0
  362. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/tx.js +286 -0
  363. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/tx.rpc.msg.js +63 -0
  364. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/capacity.js +127 -0
  365. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/genesis.js +75 -0
  366. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/limit_params.js +135 -0
  367. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/pending_send_packet.js +83 -0
  368. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.js +237 -0
  369. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.lcd.js +34 -0
  370. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/query.rpc.Query.js +80 -0
  371. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/tx.js +109 -0
  372. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/ratelimit/tx.rpc.msg.js +51 -0
  373. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/genesis.js +74 -0
  374. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/params.js +90 -0
  375. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.js +233 -0
  376. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.js +29 -0
  377. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.js +80 -0
  378. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/revshare.js +154 -0
  379. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.js +258 -0
  380. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.js +63 -0
  381. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/genesis.js +74 -0
  382. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/params.js +106 -0
  383. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/query.js +100 -0
  384. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/query.lcd.js +16 -0
  385. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/query.rpc.Query.js +62 -0
  386. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/reward_share.js +82 -0
  387. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/tx.js +109 -0
  388. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/tx.rpc.msg.js +51 -0
  389. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.js +139 -0
  390. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.tx.js +114 -0
  391. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/genesis.js +64 -0
  392. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/query.js +3 -0
  393. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/query.rpc.Query.js +17 -0
  394. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/transfer.js +281 -0
  395. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.js +178 -0
  396. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +70 -0
  397. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/genesis.js +74 -0
  398. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/params.js +74 -0
  399. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.js +294 -0
  400. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.lcd.js +40 -0
  401. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.rpc.Query.js +89 -0
  402. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.js +374 -0
  403. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/tx.js +109 -0
  404. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/tx.rpc.msg.js +51 -0
  405. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/asset_position.js +91 -0
  406. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/genesis.js +75 -0
  407. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/perpetual_position.js +98 -0
  408. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.js +358 -0
  409. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.lcd.js +44 -0
  410. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.js +91 -0
  411. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/streaming.js +188 -0
  412. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/subaccount.js +144 -0
  413. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/genesis.js +301 -0
  414. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/params.js +338 -0
  415. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.js +747 -0
  416. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.lcd.js +69 -0
  417. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.rpc.Query.js +129 -0
  418. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/share.js +206 -0
  419. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.js +758 -0
  420. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.rpc.msg.js +93 -0
  421. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/vault.js +180 -0
  422. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/genesis.js +75 -0
  423. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/query.js +110 -0
  424. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/query.lcd.js +22 -0
  425. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/query.rpc.Query.js +62 -0
  426. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/tx.js +179 -0
  427. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/tx.rpc.msg.js +57 -0
  428. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/vest_entry.js +108 -0
  429. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +40 -0
  430. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/gogo.js +3 -0
  431. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/api/annotations.js +3 -0
  432. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/api/http.js +234 -0
  433. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +54 -0
  434. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/any.js +82 -0
  435. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/descriptor.js +2207 -0
  436. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/duration.js +83 -0
  437. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/timestamp.js +83 -0
  438. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/helpers.js +194 -0
  439. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/index.js +29 -0
  440. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/abci/types.js +3070 -0
  441. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +71 -0
  442. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/crypto/keys.js +82 -0
  443. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/crypto/proof.js +283 -0
  444. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/libs/bits/types.js +93 -0
  445. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/p2p/types.js +278 -0
  446. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/block.js +99 -0
  447. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/evidence.js +257 -0
  448. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/params.js +350 -0
  449. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/types.js +1053 -0
  450. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/validator.js +245 -0
  451. package/build/cjs/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/version/types.js +126 -0
  452. package/build/cjs/package.json +1 -0
  453. package/build/cjs/src/clients/composite-client.js +784 -0
  454. package/build/cjs/src/clients/constants.js +302 -0
  455. package/build/cjs/src/clients/faucet-client.js +36 -0
  456. package/build/cjs/src/clients/helpers/chain-helpers.js +178 -0
  457. package/build/cjs/src/clients/helpers/request-helpers.js +65 -0
  458. package/build/cjs/src/clients/indexer-client.js +56 -0
  459. package/build/cjs/src/clients/lib/axios/axiosRequest.js +34 -0
  460. package/build/cjs/src/clients/lib/axios/errors.js +28 -0
  461. package/build/cjs/src/clients/lib/axios/index.js +23 -0
  462. package/build/cjs/src/clients/lib/axios/types.js +11 -0
  463. package/build/cjs/src/clients/lib/cctpProto.js +3242 -0
  464. package/build/cjs/src/clients/lib/errors.js +58 -0
  465. package/build/cjs/src/clients/lib/registry.js +51 -0
  466. package/build/cjs/src/clients/modules/account.js +193 -0
  467. package/build/cjs/src/clients/modules/composer.js +402 -0
  468. package/build/cjs/src/clients/modules/get.js +403 -0
  469. package/build/cjs/src/clients/modules/local-wallet.js +48 -0
  470. package/build/cjs/src/clients/modules/markets.js +54 -0
  471. package/build/cjs/src/clients/modules/post.js +391 -0
  472. package/build/cjs/src/clients/modules/proto-includes.js +69 -0
  473. package/build/cjs/src/clients/modules/rest.js +27 -0
  474. package/build/cjs/src/clients/modules/signer.js +93 -0
  475. package/build/cjs/src/clients/modules/tendermintClient.js +137 -0
  476. package/build/cjs/src/clients/modules/utility.js +44 -0
  477. package/build/cjs/src/clients/modules/vault.js +25 -0
  478. package/build/cjs/src/clients/native.js +1279 -0
  479. package/build/cjs/src/clients/noble-client.js +75 -0
  480. package/build/cjs/src/clients/socket-client.js +297 -0
  481. package/build/cjs/src/clients/subaccount.js +24 -0
  482. package/build/cjs/src/clients/types.js +43 -0
  483. package/build/cjs/src/clients/validator-client.js +81 -0
  484. package/build/cjs/src/index.js +72 -0
  485. package/build/cjs/src/lib/constants.js +23 -0
  486. package/build/cjs/src/lib/errors.js +37 -0
  487. package/build/cjs/src/lib/helpers.js +98 -0
  488. package/build/cjs/src/lib/onboarding.js +75 -0
  489. package/build/cjs/src/lib/utils.js +73 -0
  490. package/build/cjs/src/lib/validation.js +150 -0
  491. package/build/cjs/src/network_optimizer.js +96 -0
  492. package/build/cjs/src/types.js +25 -0
  493. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  494. package/build/esm/src/clients/composite-client.d.ts +6 -2
  495. package/build/esm/src/clients/composite-client.d.ts.map +1 -1
  496. package/build/esm/src/clients/composite-client.js +19 -18
  497. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  498. package/package.json +2 -2
  499. package/src/clients/composite-client.ts +75 -107
@@ -0,0 +1,1065 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.StreamTakerOrderStatus = exports.StreamTakerOrder = exports.StreamOrderbookFill = exports.StreamOrderbookUpdate = exports.StreamUpdate = exports.StreamOrderbookUpdatesResponse = exports.StreamOrderbookUpdatesRequest = exports.QueryNextClobPairIdResponse = exports.QueryNextClobPairIdRequest = exports.QueryLiquidationsConfigurationResponse = exports.QueryLiquidationsConfigurationRequest = exports.QueryStatefulOrderResponse = exports.QueryStatefulOrderRequest = exports.QueryBlockRateLimitConfigurationResponse = exports.QueryBlockRateLimitConfigurationRequest = exports.QueryEquityTierLimitConfigurationResponse = exports.QueryEquityTierLimitConfigurationRequest = exports.MevNodeToNodeCalculationResponse_MevAndVolumePerClob = exports.MevNodeToNodeCalculationResponse = exports.MevNodeToNodeCalculationRequest = exports.QueryClobPairAllResponse = exports.QueryAllClobPairRequest = exports.QueryClobPairResponse = exports.QueryGetClobPairRequest = void 0;
37
+ const pagination_1 = require("../../cosmos/base/query/v1beta1/pagination");
38
+ const mev_1 = require("./mev");
39
+ const order_1 = require("./order");
40
+ const subaccount_1 = require("../subaccounts/subaccount");
41
+ const clob_pair_1 = require("./clob_pair");
42
+ const equity_tier_limit_config_1 = require("./equity_tier_limit_config");
43
+ const block_rate_limit_config_1 = require("./block_rate_limit_config");
44
+ const liquidations_config_1 = require("./liquidations_config");
45
+ const streaming_1 = require("../subaccounts/streaming");
46
+ const streaming_2 = require("../prices/streaming");
47
+ const off_chain_updates_1 = require("../indexer/off_chain_updates/off_chain_updates");
48
+ const matches_1 = require("./matches");
49
+ const _m0 = __importStar(require("protobufjs/minimal"));
50
+ const helpers_1 = require("../../helpers");
51
+ function createBaseQueryGetClobPairRequest() {
52
+ return {
53
+ id: 0
54
+ };
55
+ }
56
+ exports.QueryGetClobPairRequest = {
57
+ encode(message, writer = _m0.Writer.create()) {
58
+ if (message.id !== 0) {
59
+ writer.uint32(8).uint32(message.id);
60
+ }
61
+ return writer;
62
+ },
63
+ decode(input, length) {
64
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
65
+ let end = length === undefined ? reader.len : reader.pos + length;
66
+ const message = createBaseQueryGetClobPairRequest();
67
+ while (reader.pos < end) {
68
+ const tag = reader.uint32();
69
+ switch (tag >>> 3) {
70
+ case 1:
71
+ message.id = reader.uint32();
72
+ break;
73
+ default:
74
+ reader.skipType(tag & 7);
75
+ break;
76
+ }
77
+ }
78
+ return message;
79
+ },
80
+ fromPartial(object) {
81
+ var _a;
82
+ const message = createBaseQueryGetClobPairRequest();
83
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
84
+ return message;
85
+ }
86
+ };
87
+ function createBaseQueryClobPairResponse() {
88
+ return {
89
+ clobPair: undefined
90
+ };
91
+ }
92
+ exports.QueryClobPairResponse = {
93
+ encode(message, writer = _m0.Writer.create()) {
94
+ if (message.clobPair !== undefined) {
95
+ clob_pair_1.ClobPair.encode(message.clobPair, writer.uint32(10).fork()).ldelim();
96
+ }
97
+ return writer;
98
+ },
99
+ decode(input, length) {
100
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
101
+ let end = length === undefined ? reader.len : reader.pos + length;
102
+ const message = createBaseQueryClobPairResponse();
103
+ while (reader.pos < end) {
104
+ const tag = reader.uint32();
105
+ switch (tag >>> 3) {
106
+ case 1:
107
+ message.clobPair = clob_pair_1.ClobPair.decode(reader, reader.uint32());
108
+ break;
109
+ default:
110
+ reader.skipType(tag & 7);
111
+ break;
112
+ }
113
+ }
114
+ return message;
115
+ },
116
+ fromPartial(object) {
117
+ const message = createBaseQueryClobPairResponse();
118
+ message.clobPair = object.clobPair !== undefined && object.clobPair !== null ? clob_pair_1.ClobPair.fromPartial(object.clobPair) : undefined;
119
+ return message;
120
+ }
121
+ };
122
+ function createBaseQueryAllClobPairRequest() {
123
+ return {
124
+ pagination: undefined
125
+ };
126
+ }
127
+ exports.QueryAllClobPairRequest = {
128
+ encode(message, writer = _m0.Writer.create()) {
129
+ if (message.pagination !== undefined) {
130
+ pagination_1.PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim();
131
+ }
132
+ return writer;
133
+ },
134
+ decode(input, length) {
135
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
136
+ let end = length === undefined ? reader.len : reader.pos + length;
137
+ const message = createBaseQueryAllClobPairRequest();
138
+ while (reader.pos < end) {
139
+ const tag = reader.uint32();
140
+ switch (tag >>> 3) {
141
+ case 1:
142
+ message.pagination = pagination_1.PageRequest.decode(reader, reader.uint32());
143
+ break;
144
+ default:
145
+ reader.skipType(tag & 7);
146
+ break;
147
+ }
148
+ }
149
+ return message;
150
+ },
151
+ fromPartial(object) {
152
+ const message = createBaseQueryAllClobPairRequest();
153
+ message.pagination = object.pagination !== undefined && object.pagination !== null ? pagination_1.PageRequest.fromPartial(object.pagination) : undefined;
154
+ return message;
155
+ }
156
+ };
157
+ function createBaseQueryClobPairAllResponse() {
158
+ return {
159
+ clobPair: [],
160
+ pagination: undefined
161
+ };
162
+ }
163
+ exports.QueryClobPairAllResponse = {
164
+ encode(message, writer = _m0.Writer.create()) {
165
+ for (const v of message.clobPair) {
166
+ clob_pair_1.ClobPair.encode(v, writer.uint32(10).fork()).ldelim();
167
+ }
168
+ if (message.pagination !== undefined) {
169
+ pagination_1.PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim();
170
+ }
171
+ return writer;
172
+ },
173
+ decode(input, length) {
174
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
175
+ let end = length === undefined ? reader.len : reader.pos + length;
176
+ const message = createBaseQueryClobPairAllResponse();
177
+ while (reader.pos < end) {
178
+ const tag = reader.uint32();
179
+ switch (tag >>> 3) {
180
+ case 1:
181
+ message.clobPair.push(clob_pair_1.ClobPair.decode(reader, reader.uint32()));
182
+ break;
183
+ case 2:
184
+ message.pagination = pagination_1.PageResponse.decode(reader, reader.uint32());
185
+ break;
186
+ default:
187
+ reader.skipType(tag & 7);
188
+ break;
189
+ }
190
+ }
191
+ return message;
192
+ },
193
+ fromPartial(object) {
194
+ var _a;
195
+ const message = createBaseQueryClobPairAllResponse();
196
+ message.clobPair = ((_a = object.clobPair) === null || _a === void 0 ? void 0 : _a.map(e => clob_pair_1.ClobPair.fromPartial(e))) || [];
197
+ message.pagination = object.pagination !== undefined && object.pagination !== null ? pagination_1.PageResponse.fromPartial(object.pagination) : undefined;
198
+ return message;
199
+ }
200
+ };
201
+ function createBaseMevNodeToNodeCalculationRequest() {
202
+ return {
203
+ blockProposerMatches: undefined,
204
+ validatorMevMetrics: undefined
205
+ };
206
+ }
207
+ exports.MevNodeToNodeCalculationRequest = {
208
+ encode(message, writer = _m0.Writer.create()) {
209
+ if (message.blockProposerMatches !== undefined) {
210
+ mev_1.ValidatorMevMatches.encode(message.blockProposerMatches, writer.uint32(10).fork()).ldelim();
211
+ }
212
+ if (message.validatorMevMetrics !== undefined) {
213
+ mev_1.MevNodeToNodeMetrics.encode(message.validatorMevMetrics, writer.uint32(18).fork()).ldelim();
214
+ }
215
+ return writer;
216
+ },
217
+ decode(input, length) {
218
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
219
+ let end = length === undefined ? reader.len : reader.pos + length;
220
+ const message = createBaseMevNodeToNodeCalculationRequest();
221
+ while (reader.pos < end) {
222
+ const tag = reader.uint32();
223
+ switch (tag >>> 3) {
224
+ case 1:
225
+ message.blockProposerMatches = mev_1.ValidatorMevMatches.decode(reader, reader.uint32());
226
+ break;
227
+ case 2:
228
+ message.validatorMevMetrics = mev_1.MevNodeToNodeMetrics.decode(reader, reader.uint32());
229
+ break;
230
+ default:
231
+ reader.skipType(tag & 7);
232
+ break;
233
+ }
234
+ }
235
+ return message;
236
+ },
237
+ fromPartial(object) {
238
+ const message = createBaseMevNodeToNodeCalculationRequest();
239
+ message.blockProposerMatches = object.blockProposerMatches !== undefined && object.blockProposerMatches !== null ? mev_1.ValidatorMevMatches.fromPartial(object.blockProposerMatches) : undefined;
240
+ message.validatorMevMetrics = object.validatorMevMetrics !== undefined && object.validatorMevMetrics !== null ? mev_1.MevNodeToNodeMetrics.fromPartial(object.validatorMevMetrics) : undefined;
241
+ return message;
242
+ }
243
+ };
244
+ function createBaseMevNodeToNodeCalculationResponse() {
245
+ return {
246
+ results: []
247
+ };
248
+ }
249
+ exports.MevNodeToNodeCalculationResponse = {
250
+ encode(message, writer = _m0.Writer.create()) {
251
+ for (const v of message.results) {
252
+ exports.MevNodeToNodeCalculationResponse_MevAndVolumePerClob.encode(v, writer.uint32(10).fork()).ldelim();
253
+ }
254
+ return writer;
255
+ },
256
+ decode(input, length) {
257
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
258
+ let end = length === undefined ? reader.len : reader.pos + length;
259
+ const message = createBaseMevNodeToNodeCalculationResponse();
260
+ while (reader.pos < end) {
261
+ const tag = reader.uint32();
262
+ switch (tag >>> 3) {
263
+ case 1:
264
+ message.results.push(exports.MevNodeToNodeCalculationResponse_MevAndVolumePerClob.decode(reader, reader.uint32()));
265
+ break;
266
+ default:
267
+ reader.skipType(tag & 7);
268
+ break;
269
+ }
270
+ }
271
+ return message;
272
+ },
273
+ fromPartial(object) {
274
+ var _a;
275
+ const message = createBaseMevNodeToNodeCalculationResponse();
276
+ message.results = ((_a = object.results) === null || _a === void 0 ? void 0 : _a.map(e => exports.MevNodeToNodeCalculationResponse_MevAndVolumePerClob.fromPartial(e))) || [];
277
+ return message;
278
+ }
279
+ };
280
+ function createBaseMevNodeToNodeCalculationResponse_MevAndVolumePerClob() {
281
+ return {
282
+ clobPairId: 0,
283
+ mev: 0,
284
+ volume: helpers_1.Long.UZERO
285
+ };
286
+ }
287
+ exports.MevNodeToNodeCalculationResponse_MevAndVolumePerClob = {
288
+ encode(message, writer = _m0.Writer.create()) {
289
+ if (message.clobPairId !== 0) {
290
+ writer.uint32(8).uint32(message.clobPairId);
291
+ }
292
+ if (message.mev !== 0) {
293
+ writer.uint32(21).float(message.mev);
294
+ }
295
+ if (!message.volume.isZero()) {
296
+ writer.uint32(24).uint64(message.volume);
297
+ }
298
+ return writer;
299
+ },
300
+ decode(input, length) {
301
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
302
+ let end = length === undefined ? reader.len : reader.pos + length;
303
+ const message = createBaseMevNodeToNodeCalculationResponse_MevAndVolumePerClob();
304
+ while (reader.pos < end) {
305
+ const tag = reader.uint32();
306
+ switch (tag >>> 3) {
307
+ case 1:
308
+ message.clobPairId = reader.uint32();
309
+ break;
310
+ case 2:
311
+ message.mev = reader.float();
312
+ break;
313
+ case 3:
314
+ message.volume = reader.uint64();
315
+ break;
316
+ default:
317
+ reader.skipType(tag & 7);
318
+ break;
319
+ }
320
+ }
321
+ return message;
322
+ },
323
+ fromPartial(object) {
324
+ var _a, _b;
325
+ const message = createBaseMevNodeToNodeCalculationResponse_MevAndVolumePerClob();
326
+ message.clobPairId = (_a = object.clobPairId) !== null && _a !== void 0 ? _a : 0;
327
+ message.mev = (_b = object.mev) !== null && _b !== void 0 ? _b : 0;
328
+ message.volume = object.volume !== undefined && object.volume !== null ? helpers_1.Long.fromValue(object.volume) : helpers_1.Long.UZERO;
329
+ return message;
330
+ }
331
+ };
332
+ function createBaseQueryEquityTierLimitConfigurationRequest() {
333
+ return {};
334
+ }
335
+ exports.QueryEquityTierLimitConfigurationRequest = {
336
+ encode(_, writer = _m0.Writer.create()) {
337
+ return writer;
338
+ },
339
+ decode(input, length) {
340
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
341
+ let end = length === undefined ? reader.len : reader.pos + length;
342
+ const message = createBaseQueryEquityTierLimitConfigurationRequest();
343
+ while (reader.pos < end) {
344
+ const tag = reader.uint32();
345
+ switch (tag >>> 3) {
346
+ default:
347
+ reader.skipType(tag & 7);
348
+ break;
349
+ }
350
+ }
351
+ return message;
352
+ },
353
+ fromPartial(_) {
354
+ const message = createBaseQueryEquityTierLimitConfigurationRequest();
355
+ return message;
356
+ }
357
+ };
358
+ function createBaseQueryEquityTierLimitConfigurationResponse() {
359
+ return {
360
+ equityTierLimitConfig: undefined
361
+ };
362
+ }
363
+ exports.QueryEquityTierLimitConfigurationResponse = {
364
+ encode(message, writer = _m0.Writer.create()) {
365
+ if (message.equityTierLimitConfig !== undefined) {
366
+ equity_tier_limit_config_1.EquityTierLimitConfiguration.encode(message.equityTierLimitConfig, writer.uint32(10).fork()).ldelim();
367
+ }
368
+ return writer;
369
+ },
370
+ decode(input, length) {
371
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
372
+ let end = length === undefined ? reader.len : reader.pos + length;
373
+ const message = createBaseQueryEquityTierLimitConfigurationResponse();
374
+ while (reader.pos < end) {
375
+ const tag = reader.uint32();
376
+ switch (tag >>> 3) {
377
+ case 1:
378
+ message.equityTierLimitConfig = equity_tier_limit_config_1.EquityTierLimitConfiguration.decode(reader, reader.uint32());
379
+ break;
380
+ default:
381
+ reader.skipType(tag & 7);
382
+ break;
383
+ }
384
+ }
385
+ return message;
386
+ },
387
+ fromPartial(object) {
388
+ const message = createBaseQueryEquityTierLimitConfigurationResponse();
389
+ message.equityTierLimitConfig = object.equityTierLimitConfig !== undefined && object.equityTierLimitConfig !== null ? equity_tier_limit_config_1.EquityTierLimitConfiguration.fromPartial(object.equityTierLimitConfig) : undefined;
390
+ return message;
391
+ }
392
+ };
393
+ function createBaseQueryBlockRateLimitConfigurationRequest() {
394
+ return {};
395
+ }
396
+ exports.QueryBlockRateLimitConfigurationRequest = {
397
+ encode(_, writer = _m0.Writer.create()) {
398
+ return writer;
399
+ },
400
+ decode(input, length) {
401
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
402
+ let end = length === undefined ? reader.len : reader.pos + length;
403
+ const message = createBaseQueryBlockRateLimitConfigurationRequest();
404
+ while (reader.pos < end) {
405
+ const tag = reader.uint32();
406
+ switch (tag >>> 3) {
407
+ default:
408
+ reader.skipType(tag & 7);
409
+ break;
410
+ }
411
+ }
412
+ return message;
413
+ },
414
+ fromPartial(_) {
415
+ const message = createBaseQueryBlockRateLimitConfigurationRequest();
416
+ return message;
417
+ }
418
+ };
419
+ function createBaseQueryBlockRateLimitConfigurationResponse() {
420
+ return {
421
+ blockRateLimitConfig: undefined
422
+ };
423
+ }
424
+ exports.QueryBlockRateLimitConfigurationResponse = {
425
+ encode(message, writer = _m0.Writer.create()) {
426
+ if (message.blockRateLimitConfig !== undefined) {
427
+ block_rate_limit_config_1.BlockRateLimitConfiguration.encode(message.blockRateLimitConfig, writer.uint32(10).fork()).ldelim();
428
+ }
429
+ return writer;
430
+ },
431
+ decode(input, length) {
432
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
433
+ let end = length === undefined ? reader.len : reader.pos + length;
434
+ const message = createBaseQueryBlockRateLimitConfigurationResponse();
435
+ while (reader.pos < end) {
436
+ const tag = reader.uint32();
437
+ switch (tag >>> 3) {
438
+ case 1:
439
+ message.blockRateLimitConfig = block_rate_limit_config_1.BlockRateLimitConfiguration.decode(reader, reader.uint32());
440
+ break;
441
+ default:
442
+ reader.skipType(tag & 7);
443
+ break;
444
+ }
445
+ }
446
+ return message;
447
+ },
448
+ fromPartial(object) {
449
+ const message = createBaseQueryBlockRateLimitConfigurationResponse();
450
+ message.blockRateLimitConfig = object.blockRateLimitConfig !== undefined && object.blockRateLimitConfig !== null ? block_rate_limit_config_1.BlockRateLimitConfiguration.fromPartial(object.blockRateLimitConfig) : undefined;
451
+ return message;
452
+ }
453
+ };
454
+ function createBaseQueryStatefulOrderRequest() {
455
+ return {
456
+ orderId: undefined
457
+ };
458
+ }
459
+ exports.QueryStatefulOrderRequest = {
460
+ encode(message, writer = _m0.Writer.create()) {
461
+ if (message.orderId !== undefined) {
462
+ order_1.OrderId.encode(message.orderId, writer.uint32(10).fork()).ldelim();
463
+ }
464
+ return writer;
465
+ },
466
+ decode(input, length) {
467
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
468
+ let end = length === undefined ? reader.len : reader.pos + length;
469
+ const message = createBaseQueryStatefulOrderRequest();
470
+ while (reader.pos < end) {
471
+ const tag = reader.uint32();
472
+ switch (tag >>> 3) {
473
+ case 1:
474
+ message.orderId = order_1.OrderId.decode(reader, reader.uint32());
475
+ break;
476
+ default:
477
+ reader.skipType(tag & 7);
478
+ break;
479
+ }
480
+ }
481
+ return message;
482
+ },
483
+ fromPartial(object) {
484
+ const message = createBaseQueryStatefulOrderRequest();
485
+ message.orderId = object.orderId !== undefined && object.orderId !== null ? order_1.OrderId.fromPartial(object.orderId) : undefined;
486
+ return message;
487
+ }
488
+ };
489
+ function createBaseQueryStatefulOrderResponse() {
490
+ return {
491
+ orderPlacement: undefined,
492
+ fillAmount: helpers_1.Long.UZERO,
493
+ triggered: false
494
+ };
495
+ }
496
+ exports.QueryStatefulOrderResponse = {
497
+ encode(message, writer = _m0.Writer.create()) {
498
+ if (message.orderPlacement !== undefined) {
499
+ order_1.LongTermOrderPlacement.encode(message.orderPlacement, writer.uint32(10).fork()).ldelim();
500
+ }
501
+ if (!message.fillAmount.isZero()) {
502
+ writer.uint32(16).uint64(message.fillAmount);
503
+ }
504
+ if (message.triggered === true) {
505
+ writer.uint32(24).bool(message.triggered);
506
+ }
507
+ return writer;
508
+ },
509
+ decode(input, length) {
510
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
511
+ let end = length === undefined ? reader.len : reader.pos + length;
512
+ const message = createBaseQueryStatefulOrderResponse();
513
+ while (reader.pos < end) {
514
+ const tag = reader.uint32();
515
+ switch (tag >>> 3) {
516
+ case 1:
517
+ message.orderPlacement = order_1.LongTermOrderPlacement.decode(reader, reader.uint32());
518
+ break;
519
+ case 2:
520
+ message.fillAmount = reader.uint64();
521
+ break;
522
+ case 3:
523
+ message.triggered = reader.bool();
524
+ break;
525
+ default:
526
+ reader.skipType(tag & 7);
527
+ break;
528
+ }
529
+ }
530
+ return message;
531
+ },
532
+ fromPartial(object) {
533
+ var _a;
534
+ const message = createBaseQueryStatefulOrderResponse();
535
+ message.orderPlacement = object.orderPlacement !== undefined && object.orderPlacement !== null ? order_1.LongTermOrderPlacement.fromPartial(object.orderPlacement) : undefined;
536
+ message.fillAmount = object.fillAmount !== undefined && object.fillAmount !== null ? helpers_1.Long.fromValue(object.fillAmount) : helpers_1.Long.UZERO;
537
+ message.triggered = (_a = object.triggered) !== null && _a !== void 0 ? _a : false;
538
+ return message;
539
+ }
540
+ };
541
+ function createBaseQueryLiquidationsConfigurationRequest() {
542
+ return {};
543
+ }
544
+ exports.QueryLiquidationsConfigurationRequest = {
545
+ encode(_, writer = _m0.Writer.create()) {
546
+ return writer;
547
+ },
548
+ decode(input, length) {
549
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
550
+ let end = length === undefined ? reader.len : reader.pos + length;
551
+ const message = createBaseQueryLiquidationsConfigurationRequest();
552
+ while (reader.pos < end) {
553
+ const tag = reader.uint32();
554
+ switch (tag >>> 3) {
555
+ default:
556
+ reader.skipType(tag & 7);
557
+ break;
558
+ }
559
+ }
560
+ return message;
561
+ },
562
+ fromPartial(_) {
563
+ const message = createBaseQueryLiquidationsConfigurationRequest();
564
+ return message;
565
+ }
566
+ };
567
+ function createBaseQueryLiquidationsConfigurationResponse() {
568
+ return {
569
+ liquidationsConfig: undefined
570
+ };
571
+ }
572
+ exports.QueryLiquidationsConfigurationResponse = {
573
+ encode(message, writer = _m0.Writer.create()) {
574
+ if (message.liquidationsConfig !== undefined) {
575
+ liquidations_config_1.LiquidationsConfig.encode(message.liquidationsConfig, writer.uint32(10).fork()).ldelim();
576
+ }
577
+ return writer;
578
+ },
579
+ decode(input, length) {
580
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
581
+ let end = length === undefined ? reader.len : reader.pos + length;
582
+ const message = createBaseQueryLiquidationsConfigurationResponse();
583
+ while (reader.pos < end) {
584
+ const tag = reader.uint32();
585
+ switch (tag >>> 3) {
586
+ case 1:
587
+ message.liquidationsConfig = liquidations_config_1.LiquidationsConfig.decode(reader, reader.uint32());
588
+ break;
589
+ default:
590
+ reader.skipType(tag & 7);
591
+ break;
592
+ }
593
+ }
594
+ return message;
595
+ },
596
+ fromPartial(object) {
597
+ const message = createBaseQueryLiquidationsConfigurationResponse();
598
+ message.liquidationsConfig = object.liquidationsConfig !== undefined && object.liquidationsConfig !== null ? liquidations_config_1.LiquidationsConfig.fromPartial(object.liquidationsConfig) : undefined;
599
+ return message;
600
+ }
601
+ };
602
+ function createBaseQueryNextClobPairIdRequest() {
603
+ return {};
604
+ }
605
+ exports.QueryNextClobPairIdRequest = {
606
+ encode(_, writer = _m0.Writer.create()) {
607
+ return writer;
608
+ },
609
+ decode(input, length) {
610
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
611
+ let end = length === undefined ? reader.len : reader.pos + length;
612
+ const message = createBaseQueryNextClobPairIdRequest();
613
+ while (reader.pos < end) {
614
+ const tag = reader.uint32();
615
+ switch (tag >>> 3) {
616
+ default:
617
+ reader.skipType(tag & 7);
618
+ break;
619
+ }
620
+ }
621
+ return message;
622
+ },
623
+ fromPartial(_) {
624
+ const message = createBaseQueryNextClobPairIdRequest();
625
+ return message;
626
+ }
627
+ };
628
+ function createBaseQueryNextClobPairIdResponse() {
629
+ return {
630
+ nextClobPairId: 0
631
+ };
632
+ }
633
+ exports.QueryNextClobPairIdResponse = {
634
+ encode(message, writer = _m0.Writer.create()) {
635
+ if (message.nextClobPairId !== 0) {
636
+ writer.uint32(8).uint32(message.nextClobPairId);
637
+ }
638
+ return writer;
639
+ },
640
+ decode(input, length) {
641
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
642
+ let end = length === undefined ? reader.len : reader.pos + length;
643
+ const message = createBaseQueryNextClobPairIdResponse();
644
+ while (reader.pos < end) {
645
+ const tag = reader.uint32();
646
+ switch (tag >>> 3) {
647
+ case 1:
648
+ message.nextClobPairId = reader.uint32();
649
+ break;
650
+ default:
651
+ reader.skipType(tag & 7);
652
+ break;
653
+ }
654
+ }
655
+ return message;
656
+ },
657
+ fromPartial(object) {
658
+ var _a;
659
+ const message = createBaseQueryNextClobPairIdResponse();
660
+ message.nextClobPairId = (_a = object.nextClobPairId) !== null && _a !== void 0 ? _a : 0;
661
+ return message;
662
+ }
663
+ };
664
+ function createBaseStreamOrderbookUpdatesRequest() {
665
+ return {
666
+ clobPairId: [],
667
+ subaccountIds: [],
668
+ marketIds: []
669
+ };
670
+ }
671
+ exports.StreamOrderbookUpdatesRequest = {
672
+ encode(message, writer = _m0.Writer.create()) {
673
+ writer.uint32(10).fork();
674
+ for (const v of message.clobPairId) {
675
+ writer.uint32(v);
676
+ }
677
+ writer.ldelim();
678
+ for (const v of message.subaccountIds) {
679
+ subaccount_1.SubaccountId.encode(v, writer.uint32(18).fork()).ldelim();
680
+ }
681
+ writer.uint32(26).fork();
682
+ for (const v of message.marketIds) {
683
+ writer.uint32(v);
684
+ }
685
+ writer.ldelim();
686
+ return writer;
687
+ },
688
+ decode(input, length) {
689
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
690
+ let end = length === undefined ? reader.len : reader.pos + length;
691
+ const message = createBaseStreamOrderbookUpdatesRequest();
692
+ while (reader.pos < end) {
693
+ const tag = reader.uint32();
694
+ switch (tag >>> 3) {
695
+ case 1:
696
+ if ((tag & 7) === 2) {
697
+ const end2 = reader.uint32() + reader.pos;
698
+ while (reader.pos < end2) {
699
+ message.clobPairId.push(reader.uint32());
700
+ }
701
+ }
702
+ else {
703
+ message.clobPairId.push(reader.uint32());
704
+ }
705
+ break;
706
+ case 2:
707
+ message.subaccountIds.push(subaccount_1.SubaccountId.decode(reader, reader.uint32()));
708
+ break;
709
+ case 3:
710
+ if ((tag & 7) === 2) {
711
+ const end2 = reader.uint32() + reader.pos;
712
+ while (reader.pos < end2) {
713
+ message.marketIds.push(reader.uint32());
714
+ }
715
+ }
716
+ else {
717
+ message.marketIds.push(reader.uint32());
718
+ }
719
+ break;
720
+ default:
721
+ reader.skipType(tag & 7);
722
+ break;
723
+ }
724
+ }
725
+ return message;
726
+ },
727
+ fromPartial(object) {
728
+ var _a, _b, _c;
729
+ const message = createBaseStreamOrderbookUpdatesRequest();
730
+ message.clobPairId = ((_a = object.clobPairId) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
731
+ message.subaccountIds = ((_b = object.subaccountIds) === null || _b === void 0 ? void 0 : _b.map(e => subaccount_1.SubaccountId.fromPartial(e))) || [];
732
+ message.marketIds = ((_c = object.marketIds) === null || _c === void 0 ? void 0 : _c.map(e => e)) || [];
733
+ return message;
734
+ }
735
+ };
736
+ function createBaseStreamOrderbookUpdatesResponse() {
737
+ return {
738
+ updates: []
739
+ };
740
+ }
741
+ exports.StreamOrderbookUpdatesResponse = {
742
+ encode(message, writer = _m0.Writer.create()) {
743
+ for (const v of message.updates) {
744
+ exports.StreamUpdate.encode(v, writer.uint32(10).fork()).ldelim();
745
+ }
746
+ return writer;
747
+ },
748
+ decode(input, length) {
749
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
750
+ let end = length === undefined ? reader.len : reader.pos + length;
751
+ const message = createBaseStreamOrderbookUpdatesResponse();
752
+ while (reader.pos < end) {
753
+ const tag = reader.uint32();
754
+ switch (tag >>> 3) {
755
+ case 1:
756
+ message.updates.push(exports.StreamUpdate.decode(reader, reader.uint32()));
757
+ break;
758
+ default:
759
+ reader.skipType(tag & 7);
760
+ break;
761
+ }
762
+ }
763
+ return message;
764
+ },
765
+ fromPartial(object) {
766
+ var _a;
767
+ const message = createBaseStreamOrderbookUpdatesResponse();
768
+ message.updates = ((_a = object.updates) === null || _a === void 0 ? void 0 : _a.map(e => exports.StreamUpdate.fromPartial(e))) || [];
769
+ return message;
770
+ }
771
+ };
772
+ function createBaseStreamUpdate() {
773
+ return {
774
+ blockHeight: 0,
775
+ execMode: 0,
776
+ orderbookUpdate: undefined,
777
+ orderFill: undefined,
778
+ takerOrder: undefined,
779
+ subaccountUpdate: undefined,
780
+ priceUpdate: undefined
781
+ };
782
+ }
783
+ exports.StreamUpdate = {
784
+ encode(message, writer = _m0.Writer.create()) {
785
+ if (message.blockHeight !== 0) {
786
+ writer.uint32(8).uint32(message.blockHeight);
787
+ }
788
+ if (message.execMode !== 0) {
789
+ writer.uint32(16).uint32(message.execMode);
790
+ }
791
+ if (message.orderbookUpdate !== undefined) {
792
+ exports.StreamOrderbookUpdate.encode(message.orderbookUpdate, writer.uint32(26).fork()).ldelim();
793
+ }
794
+ if (message.orderFill !== undefined) {
795
+ exports.StreamOrderbookFill.encode(message.orderFill, writer.uint32(34).fork()).ldelim();
796
+ }
797
+ if (message.takerOrder !== undefined) {
798
+ exports.StreamTakerOrder.encode(message.takerOrder, writer.uint32(42).fork()).ldelim();
799
+ }
800
+ if (message.subaccountUpdate !== undefined) {
801
+ streaming_1.StreamSubaccountUpdate.encode(message.subaccountUpdate, writer.uint32(50).fork()).ldelim();
802
+ }
803
+ if (message.priceUpdate !== undefined) {
804
+ streaming_2.StreamPriceUpdate.encode(message.priceUpdate, writer.uint32(58).fork()).ldelim();
805
+ }
806
+ return writer;
807
+ },
808
+ decode(input, length) {
809
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
810
+ let end = length === undefined ? reader.len : reader.pos + length;
811
+ const message = createBaseStreamUpdate();
812
+ while (reader.pos < end) {
813
+ const tag = reader.uint32();
814
+ switch (tag >>> 3) {
815
+ case 1:
816
+ message.blockHeight = reader.uint32();
817
+ break;
818
+ case 2:
819
+ message.execMode = reader.uint32();
820
+ break;
821
+ case 3:
822
+ message.orderbookUpdate = exports.StreamOrderbookUpdate.decode(reader, reader.uint32());
823
+ break;
824
+ case 4:
825
+ message.orderFill = exports.StreamOrderbookFill.decode(reader, reader.uint32());
826
+ break;
827
+ case 5:
828
+ message.takerOrder = exports.StreamTakerOrder.decode(reader, reader.uint32());
829
+ break;
830
+ case 6:
831
+ message.subaccountUpdate = streaming_1.StreamSubaccountUpdate.decode(reader, reader.uint32());
832
+ break;
833
+ case 7:
834
+ message.priceUpdate = streaming_2.StreamPriceUpdate.decode(reader, reader.uint32());
835
+ break;
836
+ default:
837
+ reader.skipType(tag & 7);
838
+ break;
839
+ }
840
+ }
841
+ return message;
842
+ },
843
+ fromPartial(object) {
844
+ var _a, _b;
845
+ const message = createBaseStreamUpdate();
846
+ message.blockHeight = (_a = object.blockHeight) !== null && _a !== void 0 ? _a : 0;
847
+ message.execMode = (_b = object.execMode) !== null && _b !== void 0 ? _b : 0;
848
+ message.orderbookUpdate = object.orderbookUpdate !== undefined && object.orderbookUpdate !== null ? exports.StreamOrderbookUpdate.fromPartial(object.orderbookUpdate) : undefined;
849
+ message.orderFill = object.orderFill !== undefined && object.orderFill !== null ? exports.StreamOrderbookFill.fromPartial(object.orderFill) : undefined;
850
+ message.takerOrder = object.takerOrder !== undefined && object.takerOrder !== null ? exports.StreamTakerOrder.fromPartial(object.takerOrder) : undefined;
851
+ message.subaccountUpdate = object.subaccountUpdate !== undefined && object.subaccountUpdate !== null ? streaming_1.StreamSubaccountUpdate.fromPartial(object.subaccountUpdate) : undefined;
852
+ message.priceUpdate = object.priceUpdate !== undefined && object.priceUpdate !== null ? streaming_2.StreamPriceUpdate.fromPartial(object.priceUpdate) : undefined;
853
+ return message;
854
+ }
855
+ };
856
+ function createBaseStreamOrderbookUpdate() {
857
+ return {
858
+ snapshot: false,
859
+ updates: []
860
+ };
861
+ }
862
+ exports.StreamOrderbookUpdate = {
863
+ encode(message, writer = _m0.Writer.create()) {
864
+ if (message.snapshot === true) {
865
+ writer.uint32(8).bool(message.snapshot);
866
+ }
867
+ for (const v of message.updates) {
868
+ off_chain_updates_1.OffChainUpdateV1.encode(v, writer.uint32(18).fork()).ldelim();
869
+ }
870
+ return writer;
871
+ },
872
+ decode(input, length) {
873
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
874
+ let end = length === undefined ? reader.len : reader.pos + length;
875
+ const message = createBaseStreamOrderbookUpdate();
876
+ while (reader.pos < end) {
877
+ const tag = reader.uint32();
878
+ switch (tag >>> 3) {
879
+ case 1:
880
+ message.snapshot = reader.bool();
881
+ break;
882
+ case 2:
883
+ message.updates.push(off_chain_updates_1.OffChainUpdateV1.decode(reader, reader.uint32()));
884
+ break;
885
+ default:
886
+ reader.skipType(tag & 7);
887
+ break;
888
+ }
889
+ }
890
+ return message;
891
+ },
892
+ fromPartial(object) {
893
+ var _a, _b;
894
+ const message = createBaseStreamOrderbookUpdate();
895
+ message.snapshot = (_a = object.snapshot) !== null && _a !== void 0 ? _a : false;
896
+ message.updates = ((_b = object.updates) === null || _b === void 0 ? void 0 : _b.map(e => off_chain_updates_1.OffChainUpdateV1.fromPartial(e))) || [];
897
+ return message;
898
+ }
899
+ };
900
+ function createBaseStreamOrderbookFill() {
901
+ return {
902
+ clobMatch: undefined,
903
+ orders: [],
904
+ fillAmounts: []
905
+ };
906
+ }
907
+ exports.StreamOrderbookFill = {
908
+ encode(message, writer = _m0.Writer.create()) {
909
+ if (message.clobMatch !== undefined) {
910
+ matches_1.ClobMatch.encode(message.clobMatch, writer.uint32(10).fork()).ldelim();
911
+ }
912
+ for (const v of message.orders) {
913
+ order_1.Order.encode(v, writer.uint32(18).fork()).ldelim();
914
+ }
915
+ writer.uint32(26).fork();
916
+ for (const v of message.fillAmounts) {
917
+ writer.uint64(v);
918
+ }
919
+ writer.ldelim();
920
+ return writer;
921
+ },
922
+ decode(input, length) {
923
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
924
+ let end = length === undefined ? reader.len : reader.pos + length;
925
+ const message = createBaseStreamOrderbookFill();
926
+ while (reader.pos < end) {
927
+ const tag = reader.uint32();
928
+ switch (tag >>> 3) {
929
+ case 1:
930
+ message.clobMatch = matches_1.ClobMatch.decode(reader, reader.uint32());
931
+ break;
932
+ case 2:
933
+ message.orders.push(order_1.Order.decode(reader, reader.uint32()));
934
+ break;
935
+ case 3:
936
+ if ((tag & 7) === 2) {
937
+ const end2 = reader.uint32() + reader.pos;
938
+ while (reader.pos < end2) {
939
+ message.fillAmounts.push(reader.uint64());
940
+ }
941
+ }
942
+ else {
943
+ message.fillAmounts.push(reader.uint64());
944
+ }
945
+ break;
946
+ default:
947
+ reader.skipType(tag & 7);
948
+ break;
949
+ }
950
+ }
951
+ return message;
952
+ },
953
+ fromPartial(object) {
954
+ var _a, _b;
955
+ const message = createBaseStreamOrderbookFill();
956
+ message.clobMatch = object.clobMatch !== undefined && object.clobMatch !== null ? matches_1.ClobMatch.fromPartial(object.clobMatch) : undefined;
957
+ message.orders = ((_a = object.orders) === null || _a === void 0 ? void 0 : _a.map(e => order_1.Order.fromPartial(e))) || [];
958
+ message.fillAmounts = ((_b = object.fillAmounts) === null || _b === void 0 ? void 0 : _b.map(e => helpers_1.Long.fromValue(e))) || [];
959
+ return message;
960
+ }
961
+ };
962
+ function createBaseStreamTakerOrder() {
963
+ return {
964
+ order: undefined,
965
+ liquidationOrder: undefined,
966
+ takerOrderStatus: undefined
967
+ };
968
+ }
969
+ exports.StreamTakerOrder = {
970
+ encode(message, writer = _m0.Writer.create()) {
971
+ if (message.order !== undefined) {
972
+ order_1.Order.encode(message.order, writer.uint32(10).fork()).ldelim();
973
+ }
974
+ if (message.liquidationOrder !== undefined) {
975
+ order_1.StreamLiquidationOrder.encode(message.liquidationOrder, writer.uint32(18).fork()).ldelim();
976
+ }
977
+ if (message.takerOrderStatus !== undefined) {
978
+ exports.StreamTakerOrderStatus.encode(message.takerOrderStatus, writer.uint32(26).fork()).ldelim();
979
+ }
980
+ return writer;
981
+ },
982
+ decode(input, length) {
983
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
984
+ let end = length === undefined ? reader.len : reader.pos + length;
985
+ const message = createBaseStreamTakerOrder();
986
+ while (reader.pos < end) {
987
+ const tag = reader.uint32();
988
+ switch (tag >>> 3) {
989
+ case 1:
990
+ message.order = order_1.Order.decode(reader, reader.uint32());
991
+ break;
992
+ case 2:
993
+ message.liquidationOrder = order_1.StreamLiquidationOrder.decode(reader, reader.uint32());
994
+ break;
995
+ case 3:
996
+ message.takerOrderStatus = exports.StreamTakerOrderStatus.decode(reader, reader.uint32());
997
+ break;
998
+ default:
999
+ reader.skipType(tag & 7);
1000
+ break;
1001
+ }
1002
+ }
1003
+ return message;
1004
+ },
1005
+ fromPartial(object) {
1006
+ const message = createBaseStreamTakerOrder();
1007
+ message.order = object.order !== undefined && object.order !== null ? order_1.Order.fromPartial(object.order) : undefined;
1008
+ message.liquidationOrder = object.liquidationOrder !== undefined && object.liquidationOrder !== null ? order_1.StreamLiquidationOrder.fromPartial(object.liquidationOrder) : undefined;
1009
+ message.takerOrderStatus = object.takerOrderStatus !== undefined && object.takerOrderStatus !== null ? exports.StreamTakerOrderStatus.fromPartial(object.takerOrderStatus) : undefined;
1010
+ return message;
1011
+ }
1012
+ };
1013
+ function createBaseStreamTakerOrderStatus() {
1014
+ return {
1015
+ orderStatus: 0,
1016
+ remainingQuantums: helpers_1.Long.UZERO,
1017
+ optimisticallyFilledQuantums: helpers_1.Long.UZERO
1018
+ };
1019
+ }
1020
+ exports.StreamTakerOrderStatus = {
1021
+ encode(message, writer = _m0.Writer.create()) {
1022
+ if (message.orderStatus !== 0) {
1023
+ writer.uint32(8).uint32(message.orderStatus);
1024
+ }
1025
+ if (!message.remainingQuantums.isZero()) {
1026
+ writer.uint32(16).uint64(message.remainingQuantums);
1027
+ }
1028
+ if (!message.optimisticallyFilledQuantums.isZero()) {
1029
+ writer.uint32(24).uint64(message.optimisticallyFilledQuantums);
1030
+ }
1031
+ return writer;
1032
+ },
1033
+ decode(input, length) {
1034
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1035
+ let end = length === undefined ? reader.len : reader.pos + length;
1036
+ const message = createBaseStreamTakerOrderStatus();
1037
+ while (reader.pos < end) {
1038
+ const tag = reader.uint32();
1039
+ switch (tag >>> 3) {
1040
+ case 1:
1041
+ message.orderStatus = reader.uint32();
1042
+ break;
1043
+ case 2:
1044
+ message.remainingQuantums = reader.uint64();
1045
+ break;
1046
+ case 3:
1047
+ message.optimisticallyFilledQuantums = reader.uint64();
1048
+ break;
1049
+ default:
1050
+ reader.skipType(tag & 7);
1051
+ break;
1052
+ }
1053
+ }
1054
+ return message;
1055
+ },
1056
+ fromPartial(object) {
1057
+ var _a;
1058
+ const message = createBaseStreamTakerOrderStatus();
1059
+ message.orderStatus = (_a = object.orderStatus) !== null && _a !== void 0 ? _a : 0;
1060
+ message.remainingQuantums = object.remainingQuantums !== undefined && object.remainingQuantums !== null ? helpers_1.Long.fromValue(object.remainingQuantums) : helpers_1.Long.UZERO;
1061
+ message.optimisticallyFilledQuantums = object.optimisticallyFilledQuantums !== undefined && object.optimisticallyFilledQuantums !== null ? helpers_1.Long.fromValue(object.optimisticallyFilledQuantums) : helpers_1.Long.UZERO;
1062
+ return message;
1063
+ }
1064
+ };
1065
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGR5ZHhwcm90b2NvbC92NC1wcm90by9zcmMvY29kZWdlbi9keWR4cHJvdG9jb2wvY2xvYi9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyRUFBZ0k7QUFDaEksK0JBQTJIO0FBQzNILG1DQUFxTDtBQUNyTCwwREFBOEU7QUFDOUUsMkNBQXdEO0FBQ3hELHlFQUErRztBQUMvRyx1RUFBNEc7QUFDNUcsK0RBQXNGO0FBQ3RGLHdEQUFpRztBQUNqRyxtREFBa0Y7QUFDbEYsc0ZBQTJHO0FBQzNHLHVDQUF3RDtBQUN4RCx3REFBMEM7QUFDMUMsMkNBQWtEO0FBbWJsRCxTQUFTLGlDQUFpQztJQUN4QyxPQUFPO1FBQ0wsRUFBRSxFQUFFLENBQUM7S0FDTixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsdUJBQXVCLEdBQUc7SUFDckMsTUFBTSxDQUFDLE9BQWdDLEVBQUUsU0FBcUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDL0UsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0s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