@dydxprotocol/v4-client-js 2.3.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 (494) hide show
  1. package/CHANGELOG.md +3 -9
  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/package.json +2 -2
@@ -0,0 +1,2060 @@
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.UpsertVaultEventV1 = exports.RegisterAffiliateEventV1 = exports.LiquidityTierUpsertEventV2 = exports.OpenInterestUpdate = exports.OpenInterestUpdateEventV1 = exports.AddressTradingReward = exports.TradingRewardsEventV1 = exports.UpdatePerpetualEventV2 = exports.UpdatePerpetualEventV1 = exports.UpdateClobPairEventV1 = exports.LiquidityTierUpsertEventV1 = exports.PerpetualMarketCreateEventV2 = exports.PerpetualMarketCreateEventV1 = exports.AssetCreateEventV1 = exports.StatefulOrderEventV1_LongTermOrderReplacementV1 = exports.StatefulOrderEventV1_LongTermOrderPlacementV1 = exports.StatefulOrderEventV1_ConditionalOrderTriggeredV1 = exports.StatefulOrderEventV1_ConditionalOrderPlacementV1 = exports.StatefulOrderEventV1_StatefulOrderRemovalV1 = exports.StatefulOrderEventV1_StatefulOrderPlacementV1 = exports.StatefulOrderEventV1 = exports.SubaccountUpdateEventV1 = exports.LiquidationOrderV1 = exports.DeleveragingEventV1 = exports.OrderFillEventV1 = exports.TransferEventV1 = exports.SourceOfFunds = exports.MarketModifyEventV1 = exports.MarketCreateEventV1 = exports.MarketBaseEventV1 = exports.MarketPriceUpdateEventV1 = exports.MarketEventV1 = exports.FundingEventV1 = exports.FundingUpdateV1 = exports.FundingEventV1_TypeSDKType = exports.FundingEventV1_Type = void 0;
37
+ exports.fundingEventV1_TypeFromJSON = fundingEventV1_TypeFromJSON;
38
+ exports.fundingEventV1_TypeToJSON = fundingEventV1_TypeToJSON;
39
+ const subaccount_1 = require("../protocol/v1/subaccount");
40
+ const clob_1 = require("../protocol/v1/clob");
41
+ const _m0 = __importStar(require("protobufjs/minimal"));
42
+ const helpers_1 = require("../../../helpers");
43
+ /** Type is the type for funding values. */
44
+ var FundingEventV1_Type;
45
+ (function (FundingEventV1_Type) {
46
+ /** TYPE_UNSPECIFIED - Unspecified type. */
47
+ FundingEventV1_Type[FundingEventV1_Type["TYPE_UNSPECIFIED"] = 0] = "TYPE_UNSPECIFIED";
48
+ /**
49
+ * TYPE_PREMIUM_SAMPLE - Premium sample is the combined value from all premium votes during a
50
+ * `funding-sample` epoch.
51
+ */
52
+ FundingEventV1_Type[FundingEventV1_Type["TYPE_PREMIUM_SAMPLE"] = 1] = "TYPE_PREMIUM_SAMPLE";
53
+ /**
54
+ * TYPE_FUNDING_RATE_AND_INDEX - Funding rate is the final funding rate combining all premium samples
55
+ * during a `funding-tick` epoch.
56
+ */
57
+ FundingEventV1_Type[FundingEventV1_Type["TYPE_FUNDING_RATE_AND_INDEX"] = 2] = "TYPE_FUNDING_RATE_AND_INDEX";
58
+ /**
59
+ * TYPE_PREMIUM_VOTE - TODO(DEC-1513): Investigate whether premium vote values need to be
60
+ * sent to indexer.
61
+ */
62
+ FundingEventV1_Type[FundingEventV1_Type["TYPE_PREMIUM_VOTE"] = 3] = "TYPE_PREMIUM_VOTE";
63
+ FundingEventV1_Type[FundingEventV1_Type["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
64
+ })(FundingEventV1_Type || (exports.FundingEventV1_Type = FundingEventV1_Type = {}));
65
+ exports.FundingEventV1_TypeSDKType = FundingEventV1_Type;
66
+ function fundingEventV1_TypeFromJSON(object) {
67
+ switch (object) {
68
+ case 0:
69
+ case "TYPE_UNSPECIFIED":
70
+ return FundingEventV1_Type.TYPE_UNSPECIFIED;
71
+ case 1:
72
+ case "TYPE_PREMIUM_SAMPLE":
73
+ return FundingEventV1_Type.TYPE_PREMIUM_SAMPLE;
74
+ case 2:
75
+ case "TYPE_FUNDING_RATE_AND_INDEX":
76
+ return FundingEventV1_Type.TYPE_FUNDING_RATE_AND_INDEX;
77
+ case 3:
78
+ case "TYPE_PREMIUM_VOTE":
79
+ return FundingEventV1_Type.TYPE_PREMIUM_VOTE;
80
+ case -1:
81
+ case "UNRECOGNIZED":
82
+ default:
83
+ return FundingEventV1_Type.UNRECOGNIZED;
84
+ }
85
+ }
86
+ function fundingEventV1_TypeToJSON(object) {
87
+ switch (object) {
88
+ case FundingEventV1_Type.TYPE_UNSPECIFIED:
89
+ return "TYPE_UNSPECIFIED";
90
+ case FundingEventV1_Type.TYPE_PREMIUM_SAMPLE:
91
+ return "TYPE_PREMIUM_SAMPLE";
92
+ case FundingEventV1_Type.TYPE_FUNDING_RATE_AND_INDEX:
93
+ return "TYPE_FUNDING_RATE_AND_INDEX";
94
+ case FundingEventV1_Type.TYPE_PREMIUM_VOTE:
95
+ return "TYPE_PREMIUM_VOTE";
96
+ case FundingEventV1_Type.UNRECOGNIZED:
97
+ default:
98
+ return "UNRECOGNIZED";
99
+ }
100
+ }
101
+ function createBaseFundingUpdateV1() {
102
+ return {
103
+ perpetualId: 0,
104
+ fundingValuePpm: 0,
105
+ fundingIndex: new Uint8Array()
106
+ };
107
+ }
108
+ exports.FundingUpdateV1 = {
109
+ encode(message, writer = _m0.Writer.create()) {
110
+ if (message.perpetualId !== 0) {
111
+ writer.uint32(8).uint32(message.perpetualId);
112
+ }
113
+ if (message.fundingValuePpm !== 0) {
114
+ writer.uint32(16).int32(message.fundingValuePpm);
115
+ }
116
+ if (message.fundingIndex.length !== 0) {
117
+ writer.uint32(26).bytes(message.fundingIndex);
118
+ }
119
+ return writer;
120
+ },
121
+ decode(input, length) {
122
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
123
+ let end = length === undefined ? reader.len : reader.pos + length;
124
+ const message = createBaseFundingUpdateV1();
125
+ while (reader.pos < end) {
126
+ const tag = reader.uint32();
127
+ switch (tag >>> 3) {
128
+ case 1:
129
+ message.perpetualId = reader.uint32();
130
+ break;
131
+ case 2:
132
+ message.fundingValuePpm = reader.int32();
133
+ break;
134
+ case 3:
135
+ message.fundingIndex = reader.bytes();
136
+ break;
137
+ default:
138
+ reader.skipType(tag & 7);
139
+ break;
140
+ }
141
+ }
142
+ return message;
143
+ },
144
+ fromPartial(object) {
145
+ var _a, _b, _c;
146
+ const message = createBaseFundingUpdateV1();
147
+ message.perpetualId = (_a = object.perpetualId) !== null && _a !== void 0 ? _a : 0;
148
+ message.fundingValuePpm = (_b = object.fundingValuePpm) !== null && _b !== void 0 ? _b : 0;
149
+ message.fundingIndex = (_c = object.fundingIndex) !== null && _c !== void 0 ? _c : new Uint8Array();
150
+ return message;
151
+ }
152
+ };
153
+ function createBaseFundingEventV1() {
154
+ return {
155
+ updates: [],
156
+ type: 0
157
+ };
158
+ }
159
+ exports.FundingEventV1 = {
160
+ encode(message, writer = _m0.Writer.create()) {
161
+ for (const v of message.updates) {
162
+ exports.FundingUpdateV1.encode(v, writer.uint32(10).fork()).ldelim();
163
+ }
164
+ if (message.type !== 0) {
165
+ writer.uint32(16).int32(message.type);
166
+ }
167
+ return writer;
168
+ },
169
+ decode(input, length) {
170
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
171
+ let end = length === undefined ? reader.len : reader.pos + length;
172
+ const message = createBaseFundingEventV1();
173
+ while (reader.pos < end) {
174
+ const tag = reader.uint32();
175
+ switch (tag >>> 3) {
176
+ case 1:
177
+ message.updates.push(exports.FundingUpdateV1.decode(reader, reader.uint32()));
178
+ break;
179
+ case 2:
180
+ message.type = reader.int32();
181
+ break;
182
+ default:
183
+ reader.skipType(tag & 7);
184
+ break;
185
+ }
186
+ }
187
+ return message;
188
+ },
189
+ fromPartial(object) {
190
+ var _a, _b;
191
+ const message = createBaseFundingEventV1();
192
+ message.updates = ((_a = object.updates) === null || _a === void 0 ? void 0 : _a.map(e => exports.FundingUpdateV1.fromPartial(e))) || [];
193
+ message.type = (_b = object.type) !== null && _b !== void 0 ? _b : 0;
194
+ return message;
195
+ }
196
+ };
197
+ function createBaseMarketEventV1() {
198
+ return {
199
+ marketId: 0,
200
+ priceUpdate: undefined,
201
+ marketCreate: undefined,
202
+ marketModify: undefined
203
+ };
204
+ }
205
+ exports.MarketEventV1 = {
206
+ encode(message, writer = _m0.Writer.create()) {
207
+ if (message.marketId !== 0) {
208
+ writer.uint32(8).uint32(message.marketId);
209
+ }
210
+ if (message.priceUpdate !== undefined) {
211
+ exports.MarketPriceUpdateEventV1.encode(message.priceUpdate, writer.uint32(18).fork()).ldelim();
212
+ }
213
+ if (message.marketCreate !== undefined) {
214
+ exports.MarketCreateEventV1.encode(message.marketCreate, writer.uint32(26).fork()).ldelim();
215
+ }
216
+ if (message.marketModify !== undefined) {
217
+ exports.MarketModifyEventV1.encode(message.marketModify, writer.uint32(34).fork()).ldelim();
218
+ }
219
+ return writer;
220
+ },
221
+ decode(input, length) {
222
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
223
+ let end = length === undefined ? reader.len : reader.pos + length;
224
+ const message = createBaseMarketEventV1();
225
+ while (reader.pos < end) {
226
+ const tag = reader.uint32();
227
+ switch (tag >>> 3) {
228
+ case 1:
229
+ message.marketId = reader.uint32();
230
+ break;
231
+ case 2:
232
+ message.priceUpdate = exports.MarketPriceUpdateEventV1.decode(reader, reader.uint32());
233
+ break;
234
+ case 3:
235
+ message.marketCreate = exports.MarketCreateEventV1.decode(reader, reader.uint32());
236
+ break;
237
+ case 4:
238
+ message.marketModify = exports.MarketModifyEventV1.decode(reader, reader.uint32());
239
+ break;
240
+ default:
241
+ reader.skipType(tag & 7);
242
+ break;
243
+ }
244
+ }
245
+ return message;
246
+ },
247
+ fromPartial(object) {
248
+ var _a;
249
+ const message = createBaseMarketEventV1();
250
+ message.marketId = (_a = object.marketId) !== null && _a !== void 0 ? _a : 0;
251
+ message.priceUpdate = object.priceUpdate !== undefined && object.priceUpdate !== null ? exports.MarketPriceUpdateEventV1.fromPartial(object.priceUpdate) : undefined;
252
+ message.marketCreate = object.marketCreate !== undefined && object.marketCreate !== null ? exports.MarketCreateEventV1.fromPartial(object.marketCreate) : undefined;
253
+ message.marketModify = object.marketModify !== undefined && object.marketModify !== null ? exports.MarketModifyEventV1.fromPartial(object.marketModify) : undefined;
254
+ return message;
255
+ }
256
+ };
257
+ function createBaseMarketPriceUpdateEventV1() {
258
+ return {
259
+ priceWithExponent: helpers_1.Long.UZERO
260
+ };
261
+ }
262
+ exports.MarketPriceUpdateEventV1 = {
263
+ encode(message, writer = _m0.Writer.create()) {
264
+ if (!message.priceWithExponent.isZero()) {
265
+ writer.uint32(8).uint64(message.priceWithExponent);
266
+ }
267
+ return writer;
268
+ },
269
+ decode(input, length) {
270
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
271
+ let end = length === undefined ? reader.len : reader.pos + length;
272
+ const message = createBaseMarketPriceUpdateEventV1();
273
+ while (reader.pos < end) {
274
+ const tag = reader.uint32();
275
+ switch (tag >>> 3) {
276
+ case 1:
277
+ message.priceWithExponent = reader.uint64();
278
+ break;
279
+ default:
280
+ reader.skipType(tag & 7);
281
+ break;
282
+ }
283
+ }
284
+ return message;
285
+ },
286
+ fromPartial(object) {
287
+ const message = createBaseMarketPriceUpdateEventV1();
288
+ message.priceWithExponent = object.priceWithExponent !== undefined && object.priceWithExponent !== null ? helpers_1.Long.fromValue(object.priceWithExponent) : helpers_1.Long.UZERO;
289
+ return message;
290
+ }
291
+ };
292
+ function createBaseMarketBaseEventV1() {
293
+ return {
294
+ pair: "",
295
+ minPriceChangePpm: 0
296
+ };
297
+ }
298
+ exports.MarketBaseEventV1 = {
299
+ encode(message, writer = _m0.Writer.create()) {
300
+ if (message.pair !== "") {
301
+ writer.uint32(10).string(message.pair);
302
+ }
303
+ if (message.minPriceChangePpm !== 0) {
304
+ writer.uint32(16).uint32(message.minPriceChangePpm);
305
+ }
306
+ return writer;
307
+ },
308
+ decode(input, length) {
309
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
310
+ let end = length === undefined ? reader.len : reader.pos + length;
311
+ const message = createBaseMarketBaseEventV1();
312
+ while (reader.pos < end) {
313
+ const tag = reader.uint32();
314
+ switch (tag >>> 3) {
315
+ case 1:
316
+ message.pair = reader.string();
317
+ break;
318
+ case 2:
319
+ message.minPriceChangePpm = reader.uint32();
320
+ break;
321
+ default:
322
+ reader.skipType(tag & 7);
323
+ break;
324
+ }
325
+ }
326
+ return message;
327
+ },
328
+ fromPartial(object) {
329
+ var _a, _b;
330
+ const message = createBaseMarketBaseEventV1();
331
+ message.pair = (_a = object.pair) !== null && _a !== void 0 ? _a : "";
332
+ message.minPriceChangePpm = (_b = object.minPriceChangePpm) !== null && _b !== void 0 ? _b : 0;
333
+ return message;
334
+ }
335
+ };
336
+ function createBaseMarketCreateEventV1() {
337
+ return {
338
+ base: undefined,
339
+ exponent: 0
340
+ };
341
+ }
342
+ exports.MarketCreateEventV1 = {
343
+ encode(message, writer = _m0.Writer.create()) {
344
+ if (message.base !== undefined) {
345
+ exports.MarketBaseEventV1.encode(message.base, writer.uint32(10).fork()).ldelim();
346
+ }
347
+ if (message.exponent !== 0) {
348
+ writer.uint32(16).sint32(message.exponent);
349
+ }
350
+ return writer;
351
+ },
352
+ decode(input, length) {
353
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
354
+ let end = length === undefined ? reader.len : reader.pos + length;
355
+ const message = createBaseMarketCreateEventV1();
356
+ while (reader.pos < end) {
357
+ const tag = reader.uint32();
358
+ switch (tag >>> 3) {
359
+ case 1:
360
+ message.base = exports.MarketBaseEventV1.decode(reader, reader.uint32());
361
+ break;
362
+ case 2:
363
+ message.exponent = reader.sint32();
364
+ break;
365
+ default:
366
+ reader.skipType(tag & 7);
367
+ break;
368
+ }
369
+ }
370
+ return message;
371
+ },
372
+ fromPartial(object) {
373
+ var _a;
374
+ const message = createBaseMarketCreateEventV1();
375
+ message.base = object.base !== undefined && object.base !== null ? exports.MarketBaseEventV1.fromPartial(object.base) : undefined;
376
+ message.exponent = (_a = object.exponent) !== null && _a !== void 0 ? _a : 0;
377
+ return message;
378
+ }
379
+ };
380
+ function createBaseMarketModifyEventV1() {
381
+ return {
382
+ base: undefined
383
+ };
384
+ }
385
+ exports.MarketModifyEventV1 = {
386
+ encode(message, writer = _m0.Writer.create()) {
387
+ if (message.base !== undefined) {
388
+ exports.MarketBaseEventV1.encode(message.base, writer.uint32(10).fork()).ldelim();
389
+ }
390
+ return writer;
391
+ },
392
+ decode(input, length) {
393
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
394
+ let end = length === undefined ? reader.len : reader.pos + length;
395
+ const message = createBaseMarketModifyEventV1();
396
+ while (reader.pos < end) {
397
+ const tag = reader.uint32();
398
+ switch (tag >>> 3) {
399
+ case 1:
400
+ message.base = exports.MarketBaseEventV1.decode(reader, reader.uint32());
401
+ break;
402
+ default:
403
+ reader.skipType(tag & 7);
404
+ break;
405
+ }
406
+ }
407
+ return message;
408
+ },
409
+ fromPartial(object) {
410
+ const message = createBaseMarketModifyEventV1();
411
+ message.base = object.base !== undefined && object.base !== null ? exports.MarketBaseEventV1.fromPartial(object.base) : undefined;
412
+ return message;
413
+ }
414
+ };
415
+ function createBaseSourceOfFunds() {
416
+ return {
417
+ subaccountId: undefined,
418
+ address: undefined
419
+ };
420
+ }
421
+ exports.SourceOfFunds = {
422
+ encode(message, writer = _m0.Writer.create()) {
423
+ if (message.subaccountId !== undefined) {
424
+ subaccount_1.IndexerSubaccountId.encode(message.subaccountId, writer.uint32(10).fork()).ldelim();
425
+ }
426
+ if (message.address !== undefined) {
427
+ writer.uint32(18).string(message.address);
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 = createBaseSourceOfFunds();
435
+ while (reader.pos < end) {
436
+ const tag = reader.uint32();
437
+ switch (tag >>> 3) {
438
+ case 1:
439
+ message.subaccountId = subaccount_1.IndexerSubaccountId.decode(reader, reader.uint32());
440
+ break;
441
+ case 2:
442
+ message.address = reader.string();
443
+ break;
444
+ default:
445
+ reader.skipType(tag & 7);
446
+ break;
447
+ }
448
+ }
449
+ return message;
450
+ },
451
+ fromPartial(object) {
452
+ var _a;
453
+ const message = createBaseSourceOfFunds();
454
+ message.subaccountId = object.subaccountId !== undefined && object.subaccountId !== null ? subaccount_1.IndexerSubaccountId.fromPartial(object.subaccountId) : undefined;
455
+ message.address = (_a = object.address) !== null && _a !== void 0 ? _a : undefined;
456
+ return message;
457
+ }
458
+ };
459
+ function createBaseTransferEventV1() {
460
+ return {
461
+ senderSubaccountId: undefined,
462
+ recipientSubaccountId: undefined,
463
+ assetId: 0,
464
+ amount: helpers_1.Long.UZERO,
465
+ sender: undefined,
466
+ recipient: undefined
467
+ };
468
+ }
469
+ exports.TransferEventV1 = {
470
+ encode(message, writer = _m0.Writer.create()) {
471
+ if (message.senderSubaccountId !== undefined) {
472
+ subaccount_1.IndexerSubaccountId.encode(message.senderSubaccountId, writer.uint32(10).fork()).ldelim();
473
+ }
474
+ if (message.recipientSubaccountId !== undefined) {
475
+ subaccount_1.IndexerSubaccountId.encode(message.recipientSubaccountId, writer.uint32(18).fork()).ldelim();
476
+ }
477
+ if (message.assetId !== 0) {
478
+ writer.uint32(24).uint32(message.assetId);
479
+ }
480
+ if (!message.amount.isZero()) {
481
+ writer.uint32(32).uint64(message.amount);
482
+ }
483
+ if (message.sender !== undefined) {
484
+ exports.SourceOfFunds.encode(message.sender, writer.uint32(42).fork()).ldelim();
485
+ }
486
+ if (message.recipient !== undefined) {
487
+ exports.SourceOfFunds.encode(message.recipient, writer.uint32(50).fork()).ldelim();
488
+ }
489
+ return writer;
490
+ },
491
+ decode(input, length) {
492
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
493
+ let end = length === undefined ? reader.len : reader.pos + length;
494
+ const message = createBaseTransferEventV1();
495
+ while (reader.pos < end) {
496
+ const tag = reader.uint32();
497
+ switch (tag >>> 3) {
498
+ case 1:
499
+ message.senderSubaccountId = subaccount_1.IndexerSubaccountId.decode(reader, reader.uint32());
500
+ break;
501
+ case 2:
502
+ message.recipientSubaccountId = subaccount_1.IndexerSubaccountId.decode(reader, reader.uint32());
503
+ break;
504
+ case 3:
505
+ message.assetId = reader.uint32();
506
+ break;
507
+ case 4:
508
+ message.amount = reader.uint64();
509
+ break;
510
+ case 5:
511
+ message.sender = exports.SourceOfFunds.decode(reader, reader.uint32());
512
+ break;
513
+ case 6:
514
+ message.recipient = exports.SourceOfFunds.decode(reader, reader.uint32());
515
+ break;
516
+ default:
517
+ reader.skipType(tag & 7);
518
+ break;
519
+ }
520
+ }
521
+ return message;
522
+ },
523
+ fromPartial(object) {
524
+ var _a;
525
+ const message = createBaseTransferEventV1();
526
+ message.senderSubaccountId = object.senderSubaccountId !== undefined && object.senderSubaccountId !== null ? subaccount_1.IndexerSubaccountId.fromPartial(object.senderSubaccountId) : undefined;
527
+ message.recipientSubaccountId = object.recipientSubaccountId !== undefined && object.recipientSubaccountId !== null ? subaccount_1.IndexerSubaccountId.fromPartial(object.recipientSubaccountId) : undefined;
528
+ message.assetId = (_a = object.assetId) !== null && _a !== void 0 ? _a : 0;
529
+ message.amount = object.amount !== undefined && object.amount !== null ? helpers_1.Long.fromValue(object.amount) : helpers_1.Long.UZERO;
530
+ message.sender = object.sender !== undefined && object.sender !== null ? exports.SourceOfFunds.fromPartial(object.sender) : undefined;
531
+ message.recipient = object.recipient !== undefined && object.recipient !== null ? exports.SourceOfFunds.fromPartial(object.recipient) : undefined;
532
+ return message;
533
+ }
534
+ };
535
+ function createBaseOrderFillEventV1() {
536
+ return {
537
+ makerOrder: undefined,
538
+ order: undefined,
539
+ liquidationOrder: undefined,
540
+ fillAmount: helpers_1.Long.UZERO,
541
+ makerFee: helpers_1.Long.ZERO,
542
+ takerFee: helpers_1.Long.ZERO,
543
+ totalFilledMaker: helpers_1.Long.UZERO,
544
+ totalFilledTaker: helpers_1.Long.UZERO,
545
+ affiliateRevShare: helpers_1.Long.UZERO
546
+ };
547
+ }
548
+ exports.OrderFillEventV1 = {
549
+ encode(message, writer = _m0.Writer.create()) {
550
+ if (message.makerOrder !== undefined) {
551
+ clob_1.IndexerOrder.encode(message.makerOrder, writer.uint32(10).fork()).ldelim();
552
+ }
553
+ if (message.order !== undefined) {
554
+ clob_1.IndexerOrder.encode(message.order, writer.uint32(18).fork()).ldelim();
555
+ }
556
+ if (message.liquidationOrder !== undefined) {
557
+ exports.LiquidationOrderV1.encode(message.liquidationOrder, writer.uint32(34).fork()).ldelim();
558
+ }
559
+ if (!message.fillAmount.isZero()) {
560
+ writer.uint32(24).uint64(message.fillAmount);
561
+ }
562
+ if (!message.makerFee.isZero()) {
563
+ writer.uint32(40).sint64(message.makerFee);
564
+ }
565
+ if (!message.takerFee.isZero()) {
566
+ writer.uint32(48).sint64(message.takerFee);
567
+ }
568
+ if (!message.totalFilledMaker.isZero()) {
569
+ writer.uint32(56).uint64(message.totalFilledMaker);
570
+ }
571
+ if (!message.totalFilledTaker.isZero()) {
572
+ writer.uint32(64).uint64(message.totalFilledTaker);
573
+ }
574
+ if (!message.affiliateRevShare.isZero()) {
575
+ writer.uint32(72).uint64(message.affiliateRevShare);
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 = createBaseOrderFillEventV1();
583
+ while (reader.pos < end) {
584
+ const tag = reader.uint32();
585
+ switch (tag >>> 3) {
586
+ case 1:
587
+ message.makerOrder = clob_1.IndexerOrder.decode(reader, reader.uint32());
588
+ break;
589
+ case 2:
590
+ message.order = clob_1.IndexerOrder.decode(reader, reader.uint32());
591
+ break;
592
+ case 4:
593
+ message.liquidationOrder = exports.LiquidationOrderV1.decode(reader, reader.uint32());
594
+ break;
595
+ case 3:
596
+ message.fillAmount = reader.uint64();
597
+ break;
598
+ case 5:
599
+ message.makerFee = reader.sint64();
600
+ break;
601
+ case 6:
602
+ message.takerFee = reader.sint64();
603
+ break;
604
+ case 7:
605
+ message.totalFilledMaker = reader.uint64();
606
+ break;
607
+ case 8:
608
+ message.totalFilledTaker = reader.uint64();
609
+ break;
610
+ case 9:
611
+ message.affiliateRevShare = reader.uint64();
612
+ break;
613
+ default:
614
+ reader.skipType(tag & 7);
615
+ break;
616
+ }
617
+ }
618
+ return message;
619
+ },
620
+ fromPartial(object) {
621
+ const message = createBaseOrderFillEventV1();
622
+ message.makerOrder = object.makerOrder !== undefined && object.makerOrder !== null ? clob_1.IndexerOrder.fromPartial(object.makerOrder) : undefined;
623
+ message.order = object.order !== undefined && object.order !== null ? clob_1.IndexerOrder.fromPartial(object.order) : undefined;
624
+ message.liquidationOrder = object.liquidationOrder !== undefined && object.liquidationOrder !== null ? exports.LiquidationOrderV1.fromPartial(object.liquidationOrder) : undefined;
625
+ message.fillAmount = object.fillAmount !== undefined && object.fillAmount !== null ? helpers_1.Long.fromValue(object.fillAmount) : helpers_1.Long.UZERO;
626
+ message.makerFee = object.makerFee !== undefined && object.makerFee !== null ? helpers_1.Long.fromValue(object.makerFee) : helpers_1.Long.ZERO;
627
+ message.takerFee = object.takerFee !== undefined && object.takerFee !== null ? helpers_1.Long.fromValue(object.takerFee) : helpers_1.Long.ZERO;
628
+ message.totalFilledMaker = object.totalFilledMaker !== undefined && object.totalFilledMaker !== null ? helpers_1.Long.fromValue(object.totalFilledMaker) : helpers_1.Long.UZERO;
629
+ message.totalFilledTaker = object.totalFilledTaker !== undefined && object.totalFilledTaker !== null ? helpers_1.Long.fromValue(object.totalFilledTaker) : helpers_1.Long.UZERO;
630
+ message.affiliateRevShare = object.affiliateRevShare !== undefined && object.affiliateRevShare !== null ? helpers_1.Long.fromValue(object.affiliateRevShare) : helpers_1.Long.UZERO;
631
+ return message;
632
+ }
633
+ };
634
+ function createBaseDeleveragingEventV1() {
635
+ return {
636
+ liquidated: undefined,
637
+ offsetting: undefined,
638
+ perpetualId: 0,
639
+ fillAmount: helpers_1.Long.UZERO,
640
+ totalQuoteQuantums: helpers_1.Long.UZERO,
641
+ isBuy: false,
642
+ isFinalSettlement: false
643
+ };
644
+ }
645
+ exports.DeleveragingEventV1 = {
646
+ encode(message, writer = _m0.Writer.create()) {
647
+ if (message.liquidated !== undefined) {
648
+ subaccount_1.IndexerSubaccountId.encode(message.liquidated, writer.uint32(10).fork()).ldelim();
649
+ }
650
+ if (message.offsetting !== undefined) {
651
+ subaccount_1.IndexerSubaccountId.encode(message.offsetting, writer.uint32(18).fork()).ldelim();
652
+ }
653
+ if (message.perpetualId !== 0) {
654
+ writer.uint32(24).uint32(message.perpetualId);
655
+ }
656
+ if (!message.fillAmount.isZero()) {
657
+ writer.uint32(32).uint64(message.fillAmount);
658
+ }
659
+ if (!message.totalQuoteQuantums.isZero()) {
660
+ writer.uint32(40).uint64(message.totalQuoteQuantums);
661
+ }
662
+ if (message.isBuy === true) {
663
+ writer.uint32(48).bool(message.isBuy);
664
+ }
665
+ if (message.isFinalSettlement === true) {
666
+ writer.uint32(56).bool(message.isFinalSettlement);
667
+ }
668
+ return writer;
669
+ },
670
+ decode(input, length) {
671
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
672
+ let end = length === undefined ? reader.len : reader.pos + length;
673
+ const message = createBaseDeleveragingEventV1();
674
+ while (reader.pos < end) {
675
+ const tag = reader.uint32();
676
+ switch (tag >>> 3) {
677
+ case 1:
678
+ message.liquidated = subaccount_1.IndexerSubaccountId.decode(reader, reader.uint32());
679
+ break;
680
+ case 2:
681
+ message.offsetting = subaccount_1.IndexerSubaccountId.decode(reader, reader.uint32());
682
+ break;
683
+ case 3:
684
+ message.perpetualId = reader.uint32();
685
+ break;
686
+ case 4:
687
+ message.fillAmount = reader.uint64();
688
+ break;
689
+ case 5:
690
+ message.totalQuoteQuantums = reader.uint64();
691
+ break;
692
+ case 6:
693
+ message.isBuy = reader.bool();
694
+ break;
695
+ case 7:
696
+ message.isFinalSettlement = reader.bool();
697
+ break;
698
+ default:
699
+ reader.skipType(tag & 7);
700
+ break;
701
+ }
702
+ }
703
+ return message;
704
+ },
705
+ fromPartial(object) {
706
+ var _a, _b, _c;
707
+ const message = createBaseDeleveragingEventV1();
708
+ message.liquidated = object.liquidated !== undefined && object.liquidated !== null ? subaccount_1.IndexerSubaccountId.fromPartial(object.liquidated) : undefined;
709
+ message.offsetting = object.offsetting !== undefined && object.offsetting !== null ? subaccount_1.IndexerSubaccountId.fromPartial(object.offsetting) : undefined;
710
+ message.perpetualId = (_a = object.perpetualId) !== null && _a !== void 0 ? _a : 0;
711
+ message.fillAmount = object.fillAmount !== undefined && object.fillAmount !== null ? helpers_1.Long.fromValue(object.fillAmount) : helpers_1.Long.UZERO;
712
+ message.totalQuoteQuantums = object.totalQuoteQuantums !== undefined && object.totalQuoteQuantums !== null ? helpers_1.Long.fromValue(object.totalQuoteQuantums) : helpers_1.Long.UZERO;
713
+ message.isBuy = (_b = object.isBuy) !== null && _b !== void 0 ? _b : false;
714
+ message.isFinalSettlement = (_c = object.isFinalSettlement) !== null && _c !== void 0 ? _c : false;
715
+ return message;
716
+ }
717
+ };
718
+ function createBaseLiquidationOrderV1() {
719
+ return {
720
+ liquidated: undefined,
721
+ clobPairId: 0,
722
+ perpetualId: 0,
723
+ totalSize: helpers_1.Long.UZERO,
724
+ isBuy: false,
725
+ subticks: helpers_1.Long.UZERO
726
+ };
727
+ }
728
+ exports.LiquidationOrderV1 = {
729
+ encode(message, writer = _m0.Writer.create()) {
730
+ if (message.liquidated !== undefined) {
731
+ subaccount_1.IndexerSubaccountId.encode(message.liquidated, writer.uint32(10).fork()).ldelim();
732
+ }
733
+ if (message.clobPairId !== 0) {
734
+ writer.uint32(16).uint32(message.clobPairId);
735
+ }
736
+ if (message.perpetualId !== 0) {
737
+ writer.uint32(24).uint32(message.perpetualId);
738
+ }
739
+ if (!message.totalSize.isZero()) {
740
+ writer.uint32(32).uint64(message.totalSize);
741
+ }
742
+ if (message.isBuy === true) {
743
+ writer.uint32(40).bool(message.isBuy);
744
+ }
745
+ if (!message.subticks.isZero()) {
746
+ writer.uint32(48).uint64(message.subticks);
747
+ }
748
+ return writer;
749
+ },
750
+ decode(input, length) {
751
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
752
+ let end = length === undefined ? reader.len : reader.pos + length;
753
+ const message = createBaseLiquidationOrderV1();
754
+ while (reader.pos < end) {
755
+ const tag = reader.uint32();
756
+ switch (tag >>> 3) {
757
+ case 1:
758
+ message.liquidated = subaccount_1.IndexerSubaccountId.decode(reader, reader.uint32());
759
+ break;
760
+ case 2:
761
+ message.clobPairId = reader.uint32();
762
+ break;
763
+ case 3:
764
+ message.perpetualId = reader.uint32();
765
+ break;
766
+ case 4:
767
+ message.totalSize = reader.uint64();
768
+ break;
769
+ case 5:
770
+ message.isBuy = reader.bool();
771
+ break;
772
+ case 6:
773
+ message.subticks = reader.uint64();
774
+ break;
775
+ default:
776
+ reader.skipType(tag & 7);
777
+ break;
778
+ }
779
+ }
780
+ return message;
781
+ },
782
+ fromPartial(object) {
783
+ var _a, _b, _c;
784
+ const message = createBaseLiquidationOrderV1();
785
+ message.liquidated = object.liquidated !== undefined && object.liquidated !== null ? subaccount_1.IndexerSubaccountId.fromPartial(object.liquidated) : undefined;
786
+ message.clobPairId = (_a = object.clobPairId) !== null && _a !== void 0 ? _a : 0;
787
+ message.perpetualId = (_b = object.perpetualId) !== null && _b !== void 0 ? _b : 0;
788
+ message.totalSize = object.totalSize !== undefined && object.totalSize !== null ? helpers_1.Long.fromValue(object.totalSize) : helpers_1.Long.UZERO;
789
+ message.isBuy = (_c = object.isBuy) !== null && _c !== void 0 ? _c : false;
790
+ message.subticks = object.subticks !== undefined && object.subticks !== null ? helpers_1.Long.fromValue(object.subticks) : helpers_1.Long.UZERO;
791
+ return message;
792
+ }
793
+ };
794
+ function createBaseSubaccountUpdateEventV1() {
795
+ return {
796
+ subaccountId: undefined,
797
+ updatedPerpetualPositions: [],
798
+ updatedAssetPositions: []
799
+ };
800
+ }
801
+ exports.SubaccountUpdateEventV1 = {
802
+ encode(message, writer = _m0.Writer.create()) {
803
+ if (message.subaccountId !== undefined) {
804
+ subaccount_1.IndexerSubaccountId.encode(message.subaccountId, writer.uint32(10).fork()).ldelim();
805
+ }
806
+ for (const v of message.updatedPerpetualPositions) {
807
+ subaccount_1.IndexerPerpetualPosition.encode(v, writer.uint32(26).fork()).ldelim();
808
+ }
809
+ for (const v of message.updatedAssetPositions) {
810
+ subaccount_1.IndexerAssetPosition.encode(v, writer.uint32(34).fork()).ldelim();
811
+ }
812
+ return writer;
813
+ },
814
+ decode(input, length) {
815
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
816
+ let end = length === undefined ? reader.len : reader.pos + length;
817
+ const message = createBaseSubaccountUpdateEventV1();
818
+ while (reader.pos < end) {
819
+ const tag = reader.uint32();
820
+ switch (tag >>> 3) {
821
+ case 1:
822
+ message.subaccountId = subaccount_1.IndexerSubaccountId.decode(reader, reader.uint32());
823
+ break;
824
+ case 3:
825
+ message.updatedPerpetualPositions.push(subaccount_1.IndexerPerpetualPosition.decode(reader, reader.uint32()));
826
+ break;
827
+ case 4:
828
+ message.updatedAssetPositions.push(subaccount_1.IndexerAssetPosition.decode(reader, reader.uint32()));
829
+ break;
830
+ default:
831
+ reader.skipType(tag & 7);
832
+ break;
833
+ }
834
+ }
835
+ return message;
836
+ },
837
+ fromPartial(object) {
838
+ var _a, _b;
839
+ const message = createBaseSubaccountUpdateEventV1();
840
+ message.subaccountId = object.subaccountId !== undefined && object.subaccountId !== null ? subaccount_1.IndexerSubaccountId.fromPartial(object.subaccountId) : undefined;
841
+ message.updatedPerpetualPositions = ((_a = object.updatedPerpetualPositions) === null || _a === void 0 ? void 0 : _a.map(e => subaccount_1.IndexerPerpetualPosition.fromPartial(e))) || [];
842
+ message.updatedAssetPositions = ((_b = object.updatedAssetPositions) === null || _b === void 0 ? void 0 : _b.map(e => subaccount_1.IndexerAssetPosition.fromPartial(e))) || [];
843
+ return message;
844
+ }
845
+ };
846
+ function createBaseStatefulOrderEventV1() {
847
+ return {
848
+ orderPlace: undefined,
849
+ orderRemoval: undefined,
850
+ conditionalOrderPlacement: undefined,
851
+ conditionalOrderTriggered: undefined,
852
+ longTermOrderPlacement: undefined,
853
+ orderReplacement: undefined
854
+ };
855
+ }
856
+ exports.StatefulOrderEventV1 = {
857
+ encode(message, writer = _m0.Writer.create()) {
858
+ if (message.orderPlace !== undefined) {
859
+ exports.StatefulOrderEventV1_StatefulOrderPlacementV1.encode(message.orderPlace, writer.uint32(10).fork()).ldelim();
860
+ }
861
+ if (message.orderRemoval !== undefined) {
862
+ exports.StatefulOrderEventV1_StatefulOrderRemovalV1.encode(message.orderRemoval, writer.uint32(34).fork()).ldelim();
863
+ }
864
+ if (message.conditionalOrderPlacement !== undefined) {
865
+ exports.StatefulOrderEventV1_ConditionalOrderPlacementV1.encode(message.conditionalOrderPlacement, writer.uint32(42).fork()).ldelim();
866
+ }
867
+ if (message.conditionalOrderTriggered !== undefined) {
868
+ exports.StatefulOrderEventV1_ConditionalOrderTriggeredV1.encode(message.conditionalOrderTriggered, writer.uint32(50).fork()).ldelim();
869
+ }
870
+ if (message.longTermOrderPlacement !== undefined) {
871
+ exports.StatefulOrderEventV1_LongTermOrderPlacementV1.encode(message.longTermOrderPlacement, writer.uint32(58).fork()).ldelim();
872
+ }
873
+ if (message.orderReplacement !== undefined) {
874
+ exports.StatefulOrderEventV1_LongTermOrderReplacementV1.encode(message.orderReplacement, writer.uint32(66).fork()).ldelim();
875
+ }
876
+ return writer;
877
+ },
878
+ decode(input, length) {
879
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
880
+ let end = length === undefined ? reader.len : reader.pos + length;
881
+ const message = createBaseStatefulOrderEventV1();
882
+ while (reader.pos < end) {
883
+ const tag = reader.uint32();
884
+ switch (tag >>> 3) {
885
+ case 1:
886
+ message.orderPlace = exports.StatefulOrderEventV1_StatefulOrderPlacementV1.decode(reader, reader.uint32());
887
+ break;
888
+ case 4:
889
+ message.orderRemoval = exports.StatefulOrderEventV1_StatefulOrderRemovalV1.decode(reader, reader.uint32());
890
+ break;
891
+ case 5:
892
+ message.conditionalOrderPlacement = exports.StatefulOrderEventV1_ConditionalOrderPlacementV1.decode(reader, reader.uint32());
893
+ break;
894
+ case 6:
895
+ message.conditionalOrderTriggered = exports.StatefulOrderEventV1_ConditionalOrderTriggeredV1.decode(reader, reader.uint32());
896
+ break;
897
+ case 7:
898
+ message.longTermOrderPlacement = exports.StatefulOrderEventV1_LongTermOrderPlacementV1.decode(reader, reader.uint32());
899
+ break;
900
+ case 8:
901
+ message.orderReplacement = exports.StatefulOrderEventV1_LongTermOrderReplacementV1.decode(reader, reader.uint32());
902
+ break;
903
+ default:
904
+ reader.skipType(tag & 7);
905
+ break;
906
+ }
907
+ }
908
+ return message;
909
+ },
910
+ fromPartial(object) {
911
+ const message = createBaseStatefulOrderEventV1();
912
+ message.orderPlace = object.orderPlace !== undefined && object.orderPlace !== null ? exports.StatefulOrderEventV1_StatefulOrderPlacementV1.fromPartial(object.orderPlace) : undefined;
913
+ message.orderRemoval = object.orderRemoval !== undefined && object.orderRemoval !== null ? exports.StatefulOrderEventV1_StatefulOrderRemovalV1.fromPartial(object.orderRemoval) : undefined;
914
+ message.conditionalOrderPlacement = object.conditionalOrderPlacement !== undefined && object.conditionalOrderPlacement !== null ? exports.StatefulOrderEventV1_ConditionalOrderPlacementV1.fromPartial(object.conditionalOrderPlacement) : undefined;
915
+ message.conditionalOrderTriggered = object.conditionalOrderTriggered !== undefined && object.conditionalOrderTriggered !== null ? exports.StatefulOrderEventV1_ConditionalOrderTriggeredV1.fromPartial(object.conditionalOrderTriggered) : undefined;
916
+ message.longTermOrderPlacement = object.longTermOrderPlacement !== undefined && object.longTermOrderPlacement !== null ? exports.StatefulOrderEventV1_LongTermOrderPlacementV1.fromPartial(object.longTermOrderPlacement) : undefined;
917
+ message.orderReplacement = object.orderReplacement !== undefined && object.orderReplacement !== null ? exports.StatefulOrderEventV1_LongTermOrderReplacementV1.fromPartial(object.orderReplacement) : undefined;
918
+ return message;
919
+ }
920
+ };
921
+ function createBaseStatefulOrderEventV1_StatefulOrderPlacementV1() {
922
+ return {
923
+ order: undefined
924
+ };
925
+ }
926
+ exports.StatefulOrderEventV1_StatefulOrderPlacementV1 = {
927
+ encode(message, writer = _m0.Writer.create()) {
928
+ if (message.order !== undefined) {
929
+ clob_1.IndexerOrder.encode(message.order, writer.uint32(10).fork()).ldelim();
930
+ }
931
+ return writer;
932
+ },
933
+ decode(input, length) {
934
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
935
+ let end = length === undefined ? reader.len : reader.pos + length;
936
+ const message = createBaseStatefulOrderEventV1_StatefulOrderPlacementV1();
937
+ while (reader.pos < end) {
938
+ const tag = reader.uint32();
939
+ switch (tag >>> 3) {
940
+ case 1:
941
+ message.order = clob_1.IndexerOrder.decode(reader, reader.uint32());
942
+ break;
943
+ default:
944
+ reader.skipType(tag & 7);
945
+ break;
946
+ }
947
+ }
948
+ return message;
949
+ },
950
+ fromPartial(object) {
951
+ const message = createBaseStatefulOrderEventV1_StatefulOrderPlacementV1();
952
+ message.order = object.order !== undefined && object.order !== null ? clob_1.IndexerOrder.fromPartial(object.order) : undefined;
953
+ return message;
954
+ }
955
+ };
956
+ function createBaseStatefulOrderEventV1_StatefulOrderRemovalV1() {
957
+ return {
958
+ removedOrderId: undefined,
959
+ reason: 0
960
+ };
961
+ }
962
+ exports.StatefulOrderEventV1_StatefulOrderRemovalV1 = {
963
+ encode(message, writer = _m0.Writer.create()) {
964
+ if (message.removedOrderId !== undefined) {
965
+ clob_1.IndexerOrderId.encode(message.removedOrderId, writer.uint32(10).fork()).ldelim();
966
+ }
967
+ if (message.reason !== 0) {
968
+ writer.uint32(16).int32(message.reason);
969
+ }
970
+ return writer;
971
+ },
972
+ decode(input, length) {
973
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
974
+ let end = length === undefined ? reader.len : reader.pos + length;
975
+ const message = createBaseStatefulOrderEventV1_StatefulOrderRemovalV1();
976
+ while (reader.pos < end) {
977
+ const tag = reader.uint32();
978
+ switch (tag >>> 3) {
979
+ case 1:
980
+ message.removedOrderId = clob_1.IndexerOrderId.decode(reader, reader.uint32());
981
+ break;
982
+ case 2:
983
+ message.reason = reader.int32();
984
+ break;
985
+ default:
986
+ reader.skipType(tag & 7);
987
+ break;
988
+ }
989
+ }
990
+ return message;
991
+ },
992
+ fromPartial(object) {
993
+ var _a;
994
+ const message = createBaseStatefulOrderEventV1_StatefulOrderRemovalV1();
995
+ message.removedOrderId = object.removedOrderId !== undefined && object.removedOrderId !== null ? clob_1.IndexerOrderId.fromPartial(object.removedOrderId) : undefined;
996
+ message.reason = (_a = object.reason) !== null && _a !== void 0 ? _a : 0;
997
+ return message;
998
+ }
999
+ };
1000
+ function createBaseStatefulOrderEventV1_ConditionalOrderPlacementV1() {
1001
+ return {
1002
+ order: undefined
1003
+ };
1004
+ }
1005
+ exports.StatefulOrderEventV1_ConditionalOrderPlacementV1 = {
1006
+ encode(message, writer = _m0.Writer.create()) {
1007
+ if (message.order !== undefined) {
1008
+ clob_1.IndexerOrder.encode(message.order, writer.uint32(10).fork()).ldelim();
1009
+ }
1010
+ return writer;
1011
+ },
1012
+ decode(input, length) {
1013
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1014
+ let end = length === undefined ? reader.len : reader.pos + length;
1015
+ const message = createBaseStatefulOrderEventV1_ConditionalOrderPlacementV1();
1016
+ while (reader.pos < end) {
1017
+ const tag = reader.uint32();
1018
+ switch (tag >>> 3) {
1019
+ case 1:
1020
+ message.order = clob_1.IndexerOrder.decode(reader, reader.uint32());
1021
+ break;
1022
+ default:
1023
+ reader.skipType(tag & 7);
1024
+ break;
1025
+ }
1026
+ }
1027
+ return message;
1028
+ },
1029
+ fromPartial(object) {
1030
+ const message = createBaseStatefulOrderEventV1_ConditionalOrderPlacementV1();
1031
+ message.order = object.order !== undefined && object.order !== null ? clob_1.IndexerOrder.fromPartial(object.order) : undefined;
1032
+ return message;
1033
+ }
1034
+ };
1035
+ function createBaseStatefulOrderEventV1_ConditionalOrderTriggeredV1() {
1036
+ return {
1037
+ triggeredOrderId: undefined
1038
+ };
1039
+ }
1040
+ exports.StatefulOrderEventV1_ConditionalOrderTriggeredV1 = {
1041
+ encode(message, writer = _m0.Writer.create()) {
1042
+ if (message.triggeredOrderId !== undefined) {
1043
+ clob_1.IndexerOrderId.encode(message.triggeredOrderId, writer.uint32(10).fork()).ldelim();
1044
+ }
1045
+ return writer;
1046
+ },
1047
+ decode(input, length) {
1048
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1049
+ let end = length === undefined ? reader.len : reader.pos + length;
1050
+ const message = createBaseStatefulOrderEventV1_ConditionalOrderTriggeredV1();
1051
+ while (reader.pos < end) {
1052
+ const tag = reader.uint32();
1053
+ switch (tag >>> 3) {
1054
+ case 1:
1055
+ message.triggeredOrderId = clob_1.IndexerOrderId.decode(reader, reader.uint32());
1056
+ break;
1057
+ default:
1058
+ reader.skipType(tag & 7);
1059
+ break;
1060
+ }
1061
+ }
1062
+ return message;
1063
+ },
1064
+ fromPartial(object) {
1065
+ const message = createBaseStatefulOrderEventV1_ConditionalOrderTriggeredV1();
1066
+ message.triggeredOrderId = object.triggeredOrderId !== undefined && object.triggeredOrderId !== null ? clob_1.IndexerOrderId.fromPartial(object.triggeredOrderId) : undefined;
1067
+ return message;
1068
+ }
1069
+ };
1070
+ function createBaseStatefulOrderEventV1_LongTermOrderPlacementV1() {
1071
+ return {
1072
+ order: undefined
1073
+ };
1074
+ }
1075
+ exports.StatefulOrderEventV1_LongTermOrderPlacementV1 = {
1076
+ encode(message, writer = _m0.Writer.create()) {
1077
+ if (message.order !== undefined) {
1078
+ clob_1.IndexerOrder.encode(message.order, writer.uint32(10).fork()).ldelim();
1079
+ }
1080
+ return writer;
1081
+ },
1082
+ decode(input, length) {
1083
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1084
+ let end = length === undefined ? reader.len : reader.pos + length;
1085
+ const message = createBaseStatefulOrderEventV1_LongTermOrderPlacementV1();
1086
+ while (reader.pos < end) {
1087
+ const tag = reader.uint32();
1088
+ switch (tag >>> 3) {
1089
+ case 1:
1090
+ message.order = clob_1.IndexerOrder.decode(reader, reader.uint32());
1091
+ break;
1092
+ default:
1093
+ reader.skipType(tag & 7);
1094
+ break;
1095
+ }
1096
+ }
1097
+ return message;
1098
+ },
1099
+ fromPartial(object) {
1100
+ const message = createBaseStatefulOrderEventV1_LongTermOrderPlacementV1();
1101
+ message.order = object.order !== undefined && object.order !== null ? clob_1.IndexerOrder.fromPartial(object.order) : undefined;
1102
+ return message;
1103
+ }
1104
+ };
1105
+ function createBaseStatefulOrderEventV1_LongTermOrderReplacementV1() {
1106
+ return {
1107
+ oldOrderId: undefined,
1108
+ order: undefined
1109
+ };
1110
+ }
1111
+ exports.StatefulOrderEventV1_LongTermOrderReplacementV1 = {
1112
+ encode(message, writer = _m0.Writer.create()) {
1113
+ if (message.oldOrderId !== undefined) {
1114
+ clob_1.IndexerOrderId.encode(message.oldOrderId, writer.uint32(10).fork()).ldelim();
1115
+ }
1116
+ if (message.order !== undefined) {
1117
+ clob_1.IndexerOrder.encode(message.order, writer.uint32(18).fork()).ldelim();
1118
+ }
1119
+ return writer;
1120
+ },
1121
+ decode(input, length) {
1122
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1123
+ let end = length === undefined ? reader.len : reader.pos + length;
1124
+ const message = createBaseStatefulOrderEventV1_LongTermOrderReplacementV1();
1125
+ while (reader.pos < end) {
1126
+ const tag = reader.uint32();
1127
+ switch (tag >>> 3) {
1128
+ case 1:
1129
+ message.oldOrderId = clob_1.IndexerOrderId.decode(reader, reader.uint32());
1130
+ break;
1131
+ case 2:
1132
+ message.order = clob_1.IndexerOrder.decode(reader, reader.uint32());
1133
+ break;
1134
+ default:
1135
+ reader.skipType(tag & 7);
1136
+ break;
1137
+ }
1138
+ }
1139
+ return message;
1140
+ },
1141
+ fromPartial(object) {
1142
+ const message = createBaseStatefulOrderEventV1_LongTermOrderReplacementV1();
1143
+ message.oldOrderId = object.oldOrderId !== undefined && object.oldOrderId !== null ? clob_1.IndexerOrderId.fromPartial(object.oldOrderId) : undefined;
1144
+ message.order = object.order !== undefined && object.order !== null ? clob_1.IndexerOrder.fromPartial(object.order) : undefined;
1145
+ return message;
1146
+ }
1147
+ };
1148
+ function createBaseAssetCreateEventV1() {
1149
+ return {
1150
+ id: 0,
1151
+ symbol: "",
1152
+ hasMarket: false,
1153
+ marketId: 0,
1154
+ atomicResolution: 0
1155
+ };
1156
+ }
1157
+ exports.AssetCreateEventV1 = {
1158
+ encode(message, writer = _m0.Writer.create()) {
1159
+ if (message.id !== 0) {
1160
+ writer.uint32(8).uint32(message.id);
1161
+ }
1162
+ if (message.symbol !== "") {
1163
+ writer.uint32(18).string(message.symbol);
1164
+ }
1165
+ if (message.hasMarket === true) {
1166
+ writer.uint32(24).bool(message.hasMarket);
1167
+ }
1168
+ if (message.marketId !== 0) {
1169
+ writer.uint32(32).uint32(message.marketId);
1170
+ }
1171
+ if (message.atomicResolution !== 0) {
1172
+ writer.uint32(40).sint32(message.atomicResolution);
1173
+ }
1174
+ return writer;
1175
+ },
1176
+ decode(input, length) {
1177
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1178
+ let end = length === undefined ? reader.len : reader.pos + length;
1179
+ const message = createBaseAssetCreateEventV1();
1180
+ while (reader.pos < end) {
1181
+ const tag = reader.uint32();
1182
+ switch (tag >>> 3) {
1183
+ case 1:
1184
+ message.id = reader.uint32();
1185
+ break;
1186
+ case 2:
1187
+ message.symbol = reader.string();
1188
+ break;
1189
+ case 3:
1190
+ message.hasMarket = reader.bool();
1191
+ break;
1192
+ case 4:
1193
+ message.marketId = reader.uint32();
1194
+ break;
1195
+ case 5:
1196
+ message.atomicResolution = reader.sint32();
1197
+ break;
1198
+ default:
1199
+ reader.skipType(tag & 7);
1200
+ break;
1201
+ }
1202
+ }
1203
+ return message;
1204
+ },
1205
+ fromPartial(object) {
1206
+ var _a, _b, _c, _d, _e;
1207
+ const message = createBaseAssetCreateEventV1();
1208
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
1209
+ message.symbol = (_b = object.symbol) !== null && _b !== void 0 ? _b : "";
1210
+ message.hasMarket = (_c = object.hasMarket) !== null && _c !== void 0 ? _c : false;
1211
+ message.marketId = (_d = object.marketId) !== null && _d !== void 0 ? _d : 0;
1212
+ message.atomicResolution = (_e = object.atomicResolution) !== null && _e !== void 0 ? _e : 0;
1213
+ return message;
1214
+ }
1215
+ };
1216
+ function createBasePerpetualMarketCreateEventV1() {
1217
+ return {
1218
+ id: 0,
1219
+ clobPairId: 0,
1220
+ ticker: "",
1221
+ marketId: 0,
1222
+ status: 0,
1223
+ quantumConversionExponent: 0,
1224
+ atomicResolution: 0,
1225
+ subticksPerTick: 0,
1226
+ stepBaseQuantums: helpers_1.Long.UZERO,
1227
+ liquidityTier: 0
1228
+ };
1229
+ }
1230
+ exports.PerpetualMarketCreateEventV1 = {
1231
+ encode(message, writer = _m0.Writer.create()) {
1232
+ if (message.id !== 0) {
1233
+ writer.uint32(8).uint32(message.id);
1234
+ }
1235
+ if (message.clobPairId !== 0) {
1236
+ writer.uint32(16).uint32(message.clobPairId);
1237
+ }
1238
+ if (message.ticker !== "") {
1239
+ writer.uint32(26).string(message.ticker);
1240
+ }
1241
+ if (message.marketId !== 0) {
1242
+ writer.uint32(32).uint32(message.marketId);
1243
+ }
1244
+ if (message.status !== 0) {
1245
+ writer.uint32(40).int32(message.status);
1246
+ }
1247
+ if (message.quantumConversionExponent !== 0) {
1248
+ writer.uint32(48).sint32(message.quantumConversionExponent);
1249
+ }
1250
+ if (message.atomicResolution !== 0) {
1251
+ writer.uint32(56).sint32(message.atomicResolution);
1252
+ }
1253
+ if (message.subticksPerTick !== 0) {
1254
+ writer.uint32(64).uint32(message.subticksPerTick);
1255
+ }
1256
+ if (!message.stepBaseQuantums.isZero()) {
1257
+ writer.uint32(72).uint64(message.stepBaseQuantums);
1258
+ }
1259
+ if (message.liquidityTier !== 0) {
1260
+ writer.uint32(80).uint32(message.liquidityTier);
1261
+ }
1262
+ return writer;
1263
+ },
1264
+ decode(input, length) {
1265
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1266
+ let end = length === undefined ? reader.len : reader.pos + length;
1267
+ const message = createBasePerpetualMarketCreateEventV1();
1268
+ while (reader.pos < end) {
1269
+ const tag = reader.uint32();
1270
+ switch (tag >>> 3) {
1271
+ case 1:
1272
+ message.id = reader.uint32();
1273
+ break;
1274
+ case 2:
1275
+ message.clobPairId = reader.uint32();
1276
+ break;
1277
+ case 3:
1278
+ message.ticker = reader.string();
1279
+ break;
1280
+ case 4:
1281
+ message.marketId = reader.uint32();
1282
+ break;
1283
+ case 5:
1284
+ message.status = reader.int32();
1285
+ break;
1286
+ case 6:
1287
+ message.quantumConversionExponent = reader.sint32();
1288
+ break;
1289
+ case 7:
1290
+ message.atomicResolution = reader.sint32();
1291
+ break;
1292
+ case 8:
1293
+ message.subticksPerTick = reader.uint32();
1294
+ break;
1295
+ case 9:
1296
+ message.stepBaseQuantums = reader.uint64();
1297
+ break;
1298
+ case 10:
1299
+ message.liquidityTier = reader.uint32();
1300
+ break;
1301
+ default:
1302
+ reader.skipType(tag & 7);
1303
+ break;
1304
+ }
1305
+ }
1306
+ return message;
1307
+ },
1308
+ fromPartial(object) {
1309
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1310
+ const message = createBasePerpetualMarketCreateEventV1();
1311
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
1312
+ message.clobPairId = (_b = object.clobPairId) !== null && _b !== void 0 ? _b : 0;
1313
+ message.ticker = (_c = object.ticker) !== null && _c !== void 0 ? _c : "";
1314
+ message.marketId = (_d = object.marketId) !== null && _d !== void 0 ? _d : 0;
1315
+ message.status = (_e = object.status) !== null && _e !== void 0 ? _e : 0;
1316
+ message.quantumConversionExponent = (_f = object.quantumConversionExponent) !== null && _f !== void 0 ? _f : 0;
1317
+ message.atomicResolution = (_g = object.atomicResolution) !== null && _g !== void 0 ? _g : 0;
1318
+ message.subticksPerTick = (_h = object.subticksPerTick) !== null && _h !== void 0 ? _h : 0;
1319
+ message.stepBaseQuantums = object.stepBaseQuantums !== undefined && object.stepBaseQuantums !== null ? helpers_1.Long.fromValue(object.stepBaseQuantums) : helpers_1.Long.UZERO;
1320
+ message.liquidityTier = (_j = object.liquidityTier) !== null && _j !== void 0 ? _j : 0;
1321
+ return message;
1322
+ }
1323
+ };
1324
+ function createBasePerpetualMarketCreateEventV2() {
1325
+ return {
1326
+ id: 0,
1327
+ clobPairId: 0,
1328
+ ticker: "",
1329
+ marketId: 0,
1330
+ status: 0,
1331
+ quantumConversionExponent: 0,
1332
+ atomicResolution: 0,
1333
+ subticksPerTick: 0,
1334
+ stepBaseQuantums: helpers_1.Long.UZERO,
1335
+ liquidityTier: 0,
1336
+ marketType: 0
1337
+ };
1338
+ }
1339
+ exports.PerpetualMarketCreateEventV2 = {
1340
+ encode(message, writer = _m0.Writer.create()) {
1341
+ if (message.id !== 0) {
1342
+ writer.uint32(8).uint32(message.id);
1343
+ }
1344
+ if (message.clobPairId !== 0) {
1345
+ writer.uint32(16).uint32(message.clobPairId);
1346
+ }
1347
+ if (message.ticker !== "") {
1348
+ writer.uint32(26).string(message.ticker);
1349
+ }
1350
+ if (message.marketId !== 0) {
1351
+ writer.uint32(32).uint32(message.marketId);
1352
+ }
1353
+ if (message.status !== 0) {
1354
+ writer.uint32(40).int32(message.status);
1355
+ }
1356
+ if (message.quantumConversionExponent !== 0) {
1357
+ writer.uint32(48).sint32(message.quantumConversionExponent);
1358
+ }
1359
+ if (message.atomicResolution !== 0) {
1360
+ writer.uint32(56).sint32(message.atomicResolution);
1361
+ }
1362
+ if (message.subticksPerTick !== 0) {
1363
+ writer.uint32(64).uint32(message.subticksPerTick);
1364
+ }
1365
+ if (!message.stepBaseQuantums.isZero()) {
1366
+ writer.uint32(72).uint64(message.stepBaseQuantums);
1367
+ }
1368
+ if (message.liquidityTier !== 0) {
1369
+ writer.uint32(80).uint32(message.liquidityTier);
1370
+ }
1371
+ if (message.marketType !== 0) {
1372
+ writer.uint32(88).int32(message.marketType);
1373
+ }
1374
+ return writer;
1375
+ },
1376
+ decode(input, length) {
1377
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1378
+ let end = length === undefined ? reader.len : reader.pos + length;
1379
+ const message = createBasePerpetualMarketCreateEventV2();
1380
+ while (reader.pos < end) {
1381
+ const tag = reader.uint32();
1382
+ switch (tag >>> 3) {
1383
+ case 1:
1384
+ message.id = reader.uint32();
1385
+ break;
1386
+ case 2:
1387
+ message.clobPairId = reader.uint32();
1388
+ break;
1389
+ case 3:
1390
+ message.ticker = reader.string();
1391
+ break;
1392
+ case 4:
1393
+ message.marketId = reader.uint32();
1394
+ break;
1395
+ case 5:
1396
+ message.status = reader.int32();
1397
+ break;
1398
+ case 6:
1399
+ message.quantumConversionExponent = reader.sint32();
1400
+ break;
1401
+ case 7:
1402
+ message.atomicResolution = reader.sint32();
1403
+ break;
1404
+ case 8:
1405
+ message.subticksPerTick = reader.uint32();
1406
+ break;
1407
+ case 9:
1408
+ message.stepBaseQuantums = reader.uint64();
1409
+ break;
1410
+ case 10:
1411
+ message.liquidityTier = reader.uint32();
1412
+ break;
1413
+ case 11:
1414
+ message.marketType = reader.int32();
1415
+ break;
1416
+ default:
1417
+ reader.skipType(tag & 7);
1418
+ break;
1419
+ }
1420
+ }
1421
+ return message;
1422
+ },
1423
+ fromPartial(object) {
1424
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1425
+ const message = createBasePerpetualMarketCreateEventV2();
1426
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
1427
+ message.clobPairId = (_b = object.clobPairId) !== null && _b !== void 0 ? _b : 0;
1428
+ message.ticker = (_c = object.ticker) !== null && _c !== void 0 ? _c : "";
1429
+ message.marketId = (_d = object.marketId) !== null && _d !== void 0 ? _d : 0;
1430
+ message.status = (_e = object.status) !== null && _e !== void 0 ? _e : 0;
1431
+ message.quantumConversionExponent = (_f = object.quantumConversionExponent) !== null && _f !== void 0 ? _f : 0;
1432
+ message.atomicResolution = (_g = object.atomicResolution) !== null && _g !== void 0 ? _g : 0;
1433
+ message.subticksPerTick = (_h = object.subticksPerTick) !== null && _h !== void 0 ? _h : 0;
1434
+ message.stepBaseQuantums = object.stepBaseQuantums !== undefined && object.stepBaseQuantums !== null ? helpers_1.Long.fromValue(object.stepBaseQuantums) : helpers_1.Long.UZERO;
1435
+ message.liquidityTier = (_j = object.liquidityTier) !== null && _j !== void 0 ? _j : 0;
1436
+ message.marketType = (_k = object.marketType) !== null && _k !== void 0 ? _k : 0;
1437
+ return message;
1438
+ }
1439
+ };
1440
+ function createBaseLiquidityTierUpsertEventV1() {
1441
+ return {
1442
+ id: 0,
1443
+ name: "",
1444
+ initialMarginPpm: 0,
1445
+ maintenanceFractionPpm: 0,
1446
+ basePositionNotional: helpers_1.Long.UZERO
1447
+ };
1448
+ }
1449
+ exports.LiquidityTierUpsertEventV1 = {
1450
+ encode(message, writer = _m0.Writer.create()) {
1451
+ if (message.id !== 0) {
1452
+ writer.uint32(8).uint32(message.id);
1453
+ }
1454
+ if (message.name !== "") {
1455
+ writer.uint32(18).string(message.name);
1456
+ }
1457
+ if (message.initialMarginPpm !== 0) {
1458
+ writer.uint32(24).uint32(message.initialMarginPpm);
1459
+ }
1460
+ if (message.maintenanceFractionPpm !== 0) {
1461
+ writer.uint32(32).uint32(message.maintenanceFractionPpm);
1462
+ }
1463
+ if (!message.basePositionNotional.isZero()) {
1464
+ writer.uint32(40).uint64(message.basePositionNotional);
1465
+ }
1466
+ return writer;
1467
+ },
1468
+ decode(input, length) {
1469
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1470
+ let end = length === undefined ? reader.len : reader.pos + length;
1471
+ const message = createBaseLiquidityTierUpsertEventV1();
1472
+ while (reader.pos < end) {
1473
+ const tag = reader.uint32();
1474
+ switch (tag >>> 3) {
1475
+ case 1:
1476
+ message.id = reader.uint32();
1477
+ break;
1478
+ case 2:
1479
+ message.name = reader.string();
1480
+ break;
1481
+ case 3:
1482
+ message.initialMarginPpm = reader.uint32();
1483
+ break;
1484
+ case 4:
1485
+ message.maintenanceFractionPpm = reader.uint32();
1486
+ break;
1487
+ case 5:
1488
+ message.basePositionNotional = reader.uint64();
1489
+ break;
1490
+ default:
1491
+ reader.skipType(tag & 7);
1492
+ break;
1493
+ }
1494
+ }
1495
+ return message;
1496
+ },
1497
+ fromPartial(object) {
1498
+ var _a, _b, _c, _d;
1499
+ const message = createBaseLiquidityTierUpsertEventV1();
1500
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
1501
+ message.name = (_b = object.name) !== null && _b !== void 0 ? _b : "";
1502
+ message.initialMarginPpm = (_c = object.initialMarginPpm) !== null && _c !== void 0 ? _c : 0;
1503
+ message.maintenanceFractionPpm = (_d = object.maintenanceFractionPpm) !== null && _d !== void 0 ? _d : 0;
1504
+ message.basePositionNotional = object.basePositionNotional !== undefined && object.basePositionNotional !== null ? helpers_1.Long.fromValue(object.basePositionNotional) : helpers_1.Long.UZERO;
1505
+ return message;
1506
+ }
1507
+ };
1508
+ function createBaseUpdateClobPairEventV1() {
1509
+ return {
1510
+ clobPairId: 0,
1511
+ status: 0,
1512
+ quantumConversionExponent: 0,
1513
+ subticksPerTick: 0,
1514
+ stepBaseQuantums: helpers_1.Long.UZERO
1515
+ };
1516
+ }
1517
+ exports.UpdateClobPairEventV1 = {
1518
+ encode(message, writer = _m0.Writer.create()) {
1519
+ if (message.clobPairId !== 0) {
1520
+ writer.uint32(8).uint32(message.clobPairId);
1521
+ }
1522
+ if (message.status !== 0) {
1523
+ writer.uint32(16).int32(message.status);
1524
+ }
1525
+ if (message.quantumConversionExponent !== 0) {
1526
+ writer.uint32(24).sint32(message.quantumConversionExponent);
1527
+ }
1528
+ if (message.subticksPerTick !== 0) {
1529
+ writer.uint32(32).uint32(message.subticksPerTick);
1530
+ }
1531
+ if (!message.stepBaseQuantums.isZero()) {
1532
+ writer.uint32(40).uint64(message.stepBaseQuantums);
1533
+ }
1534
+ return writer;
1535
+ },
1536
+ decode(input, length) {
1537
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1538
+ let end = length === undefined ? reader.len : reader.pos + length;
1539
+ const message = createBaseUpdateClobPairEventV1();
1540
+ while (reader.pos < end) {
1541
+ const tag = reader.uint32();
1542
+ switch (tag >>> 3) {
1543
+ case 1:
1544
+ message.clobPairId = reader.uint32();
1545
+ break;
1546
+ case 2:
1547
+ message.status = reader.int32();
1548
+ break;
1549
+ case 3:
1550
+ message.quantumConversionExponent = reader.sint32();
1551
+ break;
1552
+ case 4:
1553
+ message.subticksPerTick = reader.uint32();
1554
+ break;
1555
+ case 5:
1556
+ message.stepBaseQuantums = reader.uint64();
1557
+ break;
1558
+ default:
1559
+ reader.skipType(tag & 7);
1560
+ break;
1561
+ }
1562
+ }
1563
+ return message;
1564
+ },
1565
+ fromPartial(object) {
1566
+ var _a, _b, _c, _d;
1567
+ const message = createBaseUpdateClobPairEventV1();
1568
+ message.clobPairId = (_a = object.clobPairId) !== null && _a !== void 0 ? _a : 0;
1569
+ message.status = (_b = object.status) !== null && _b !== void 0 ? _b : 0;
1570
+ message.quantumConversionExponent = (_c = object.quantumConversionExponent) !== null && _c !== void 0 ? _c : 0;
1571
+ message.subticksPerTick = (_d = object.subticksPerTick) !== null && _d !== void 0 ? _d : 0;
1572
+ message.stepBaseQuantums = object.stepBaseQuantums !== undefined && object.stepBaseQuantums !== null ? helpers_1.Long.fromValue(object.stepBaseQuantums) : helpers_1.Long.UZERO;
1573
+ return message;
1574
+ }
1575
+ };
1576
+ function createBaseUpdatePerpetualEventV1() {
1577
+ return {
1578
+ id: 0,
1579
+ ticker: "",
1580
+ marketId: 0,
1581
+ atomicResolution: 0,
1582
+ liquidityTier: 0
1583
+ };
1584
+ }
1585
+ exports.UpdatePerpetualEventV1 = {
1586
+ encode(message, writer = _m0.Writer.create()) {
1587
+ if (message.id !== 0) {
1588
+ writer.uint32(8).uint32(message.id);
1589
+ }
1590
+ if (message.ticker !== "") {
1591
+ writer.uint32(18).string(message.ticker);
1592
+ }
1593
+ if (message.marketId !== 0) {
1594
+ writer.uint32(24).uint32(message.marketId);
1595
+ }
1596
+ if (message.atomicResolution !== 0) {
1597
+ writer.uint32(32).sint32(message.atomicResolution);
1598
+ }
1599
+ if (message.liquidityTier !== 0) {
1600
+ writer.uint32(40).uint32(message.liquidityTier);
1601
+ }
1602
+ return writer;
1603
+ },
1604
+ decode(input, length) {
1605
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1606
+ let end = length === undefined ? reader.len : reader.pos + length;
1607
+ const message = createBaseUpdatePerpetualEventV1();
1608
+ while (reader.pos < end) {
1609
+ const tag = reader.uint32();
1610
+ switch (tag >>> 3) {
1611
+ case 1:
1612
+ message.id = reader.uint32();
1613
+ break;
1614
+ case 2:
1615
+ message.ticker = reader.string();
1616
+ break;
1617
+ case 3:
1618
+ message.marketId = reader.uint32();
1619
+ break;
1620
+ case 4:
1621
+ message.atomicResolution = reader.sint32();
1622
+ break;
1623
+ case 5:
1624
+ message.liquidityTier = reader.uint32();
1625
+ break;
1626
+ default:
1627
+ reader.skipType(tag & 7);
1628
+ break;
1629
+ }
1630
+ }
1631
+ return message;
1632
+ },
1633
+ fromPartial(object) {
1634
+ var _a, _b, _c, _d, _e;
1635
+ const message = createBaseUpdatePerpetualEventV1();
1636
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
1637
+ message.ticker = (_b = object.ticker) !== null && _b !== void 0 ? _b : "";
1638
+ message.marketId = (_c = object.marketId) !== null && _c !== void 0 ? _c : 0;
1639
+ message.atomicResolution = (_d = object.atomicResolution) !== null && _d !== void 0 ? _d : 0;
1640
+ message.liquidityTier = (_e = object.liquidityTier) !== null && _e !== void 0 ? _e : 0;
1641
+ return message;
1642
+ }
1643
+ };
1644
+ function createBaseUpdatePerpetualEventV2() {
1645
+ return {
1646
+ id: 0,
1647
+ ticker: "",
1648
+ marketId: 0,
1649
+ atomicResolution: 0,
1650
+ liquidityTier: 0,
1651
+ marketType: 0
1652
+ };
1653
+ }
1654
+ exports.UpdatePerpetualEventV2 = {
1655
+ encode(message, writer = _m0.Writer.create()) {
1656
+ if (message.id !== 0) {
1657
+ writer.uint32(8).uint32(message.id);
1658
+ }
1659
+ if (message.ticker !== "") {
1660
+ writer.uint32(18).string(message.ticker);
1661
+ }
1662
+ if (message.marketId !== 0) {
1663
+ writer.uint32(24).uint32(message.marketId);
1664
+ }
1665
+ if (message.atomicResolution !== 0) {
1666
+ writer.uint32(32).sint32(message.atomicResolution);
1667
+ }
1668
+ if (message.liquidityTier !== 0) {
1669
+ writer.uint32(40).uint32(message.liquidityTier);
1670
+ }
1671
+ if (message.marketType !== 0) {
1672
+ writer.uint32(48).int32(message.marketType);
1673
+ }
1674
+ return writer;
1675
+ },
1676
+ decode(input, length) {
1677
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1678
+ let end = length === undefined ? reader.len : reader.pos + length;
1679
+ const message = createBaseUpdatePerpetualEventV2();
1680
+ while (reader.pos < end) {
1681
+ const tag = reader.uint32();
1682
+ switch (tag >>> 3) {
1683
+ case 1:
1684
+ message.id = reader.uint32();
1685
+ break;
1686
+ case 2:
1687
+ message.ticker = reader.string();
1688
+ break;
1689
+ case 3:
1690
+ message.marketId = reader.uint32();
1691
+ break;
1692
+ case 4:
1693
+ message.atomicResolution = reader.sint32();
1694
+ break;
1695
+ case 5:
1696
+ message.liquidityTier = reader.uint32();
1697
+ break;
1698
+ case 6:
1699
+ message.marketType = reader.int32();
1700
+ break;
1701
+ default:
1702
+ reader.skipType(tag & 7);
1703
+ break;
1704
+ }
1705
+ }
1706
+ return message;
1707
+ },
1708
+ fromPartial(object) {
1709
+ var _a, _b, _c, _d, _e, _f;
1710
+ const message = createBaseUpdatePerpetualEventV2();
1711
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
1712
+ message.ticker = (_b = object.ticker) !== null && _b !== void 0 ? _b : "";
1713
+ message.marketId = (_c = object.marketId) !== null && _c !== void 0 ? _c : 0;
1714
+ message.atomicResolution = (_d = object.atomicResolution) !== null && _d !== void 0 ? _d : 0;
1715
+ message.liquidityTier = (_e = object.liquidityTier) !== null && _e !== void 0 ? _e : 0;
1716
+ message.marketType = (_f = object.marketType) !== null && _f !== void 0 ? _f : 0;
1717
+ return message;
1718
+ }
1719
+ };
1720
+ function createBaseTradingRewardsEventV1() {
1721
+ return {
1722
+ tradingRewards: []
1723
+ };
1724
+ }
1725
+ exports.TradingRewardsEventV1 = {
1726
+ encode(message, writer = _m0.Writer.create()) {
1727
+ for (const v of message.tradingRewards) {
1728
+ exports.AddressTradingReward.encode(v, writer.uint32(10).fork()).ldelim();
1729
+ }
1730
+ return writer;
1731
+ },
1732
+ decode(input, length) {
1733
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1734
+ let end = length === undefined ? reader.len : reader.pos + length;
1735
+ const message = createBaseTradingRewardsEventV1();
1736
+ while (reader.pos < end) {
1737
+ const tag = reader.uint32();
1738
+ switch (tag >>> 3) {
1739
+ case 1:
1740
+ message.tradingRewards.push(exports.AddressTradingReward.decode(reader, reader.uint32()));
1741
+ break;
1742
+ default:
1743
+ reader.skipType(tag & 7);
1744
+ break;
1745
+ }
1746
+ }
1747
+ return message;
1748
+ },
1749
+ fromPartial(object) {
1750
+ var _a;
1751
+ const message = createBaseTradingRewardsEventV1();
1752
+ message.tradingRewards = ((_a = object.tradingRewards) === null || _a === void 0 ? void 0 : _a.map(e => exports.AddressTradingReward.fromPartial(e))) || [];
1753
+ return message;
1754
+ }
1755
+ };
1756
+ function createBaseAddressTradingReward() {
1757
+ return {
1758
+ owner: "",
1759
+ denomAmount: new Uint8Array()
1760
+ };
1761
+ }
1762
+ exports.AddressTradingReward = {
1763
+ encode(message, writer = _m0.Writer.create()) {
1764
+ if (message.owner !== "") {
1765
+ writer.uint32(10).string(message.owner);
1766
+ }
1767
+ if (message.denomAmount.length !== 0) {
1768
+ writer.uint32(18).bytes(message.denomAmount);
1769
+ }
1770
+ return writer;
1771
+ },
1772
+ decode(input, length) {
1773
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1774
+ let end = length === undefined ? reader.len : reader.pos + length;
1775
+ const message = createBaseAddressTradingReward();
1776
+ while (reader.pos < end) {
1777
+ const tag = reader.uint32();
1778
+ switch (tag >>> 3) {
1779
+ case 1:
1780
+ message.owner = reader.string();
1781
+ break;
1782
+ case 2:
1783
+ message.denomAmount = reader.bytes();
1784
+ break;
1785
+ default:
1786
+ reader.skipType(tag & 7);
1787
+ break;
1788
+ }
1789
+ }
1790
+ return message;
1791
+ },
1792
+ fromPartial(object) {
1793
+ var _a, _b;
1794
+ const message = createBaseAddressTradingReward();
1795
+ message.owner = (_a = object.owner) !== null && _a !== void 0 ? _a : "";
1796
+ message.denomAmount = (_b = object.denomAmount) !== null && _b !== void 0 ? _b : new Uint8Array();
1797
+ return message;
1798
+ }
1799
+ };
1800
+ function createBaseOpenInterestUpdateEventV1() {
1801
+ return {
1802
+ openInterestUpdates: []
1803
+ };
1804
+ }
1805
+ exports.OpenInterestUpdateEventV1 = {
1806
+ encode(message, writer = _m0.Writer.create()) {
1807
+ for (const v of message.openInterestUpdates) {
1808
+ exports.OpenInterestUpdate.encode(v, writer.uint32(10).fork()).ldelim();
1809
+ }
1810
+ return writer;
1811
+ },
1812
+ decode(input, length) {
1813
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1814
+ let end = length === undefined ? reader.len : reader.pos + length;
1815
+ const message = createBaseOpenInterestUpdateEventV1();
1816
+ while (reader.pos < end) {
1817
+ const tag = reader.uint32();
1818
+ switch (tag >>> 3) {
1819
+ case 1:
1820
+ message.openInterestUpdates.push(exports.OpenInterestUpdate.decode(reader, reader.uint32()));
1821
+ break;
1822
+ default:
1823
+ reader.skipType(tag & 7);
1824
+ break;
1825
+ }
1826
+ }
1827
+ return message;
1828
+ },
1829
+ fromPartial(object) {
1830
+ var _a;
1831
+ const message = createBaseOpenInterestUpdateEventV1();
1832
+ message.openInterestUpdates = ((_a = object.openInterestUpdates) === null || _a === void 0 ? void 0 : _a.map(e => exports.OpenInterestUpdate.fromPartial(e))) || [];
1833
+ return message;
1834
+ }
1835
+ };
1836
+ function createBaseOpenInterestUpdate() {
1837
+ return {
1838
+ perpetualId: 0,
1839
+ openInterest: new Uint8Array()
1840
+ };
1841
+ }
1842
+ exports.OpenInterestUpdate = {
1843
+ encode(message, writer = _m0.Writer.create()) {
1844
+ if (message.perpetualId !== 0) {
1845
+ writer.uint32(8).uint32(message.perpetualId);
1846
+ }
1847
+ if (message.openInterest.length !== 0) {
1848
+ writer.uint32(18).bytes(message.openInterest);
1849
+ }
1850
+ return writer;
1851
+ },
1852
+ decode(input, length) {
1853
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1854
+ let end = length === undefined ? reader.len : reader.pos + length;
1855
+ const message = createBaseOpenInterestUpdate();
1856
+ while (reader.pos < end) {
1857
+ const tag = reader.uint32();
1858
+ switch (tag >>> 3) {
1859
+ case 1:
1860
+ message.perpetualId = reader.uint32();
1861
+ break;
1862
+ case 2:
1863
+ message.openInterest = reader.bytes();
1864
+ break;
1865
+ default:
1866
+ reader.skipType(tag & 7);
1867
+ break;
1868
+ }
1869
+ }
1870
+ return message;
1871
+ },
1872
+ fromPartial(object) {
1873
+ var _a, _b;
1874
+ const message = createBaseOpenInterestUpdate();
1875
+ message.perpetualId = (_a = object.perpetualId) !== null && _a !== void 0 ? _a : 0;
1876
+ message.openInterest = (_b = object.openInterest) !== null && _b !== void 0 ? _b : new Uint8Array();
1877
+ return message;
1878
+ }
1879
+ };
1880
+ function createBaseLiquidityTierUpsertEventV2() {
1881
+ return {
1882
+ id: 0,
1883
+ name: "",
1884
+ initialMarginPpm: 0,
1885
+ maintenanceFractionPpm: 0,
1886
+ basePositionNotional: helpers_1.Long.UZERO,
1887
+ openInterestLowerCap: helpers_1.Long.UZERO,
1888
+ openInterestUpperCap: helpers_1.Long.UZERO
1889
+ };
1890
+ }
1891
+ exports.LiquidityTierUpsertEventV2 = {
1892
+ encode(message, writer = _m0.Writer.create()) {
1893
+ if (message.id !== 0) {
1894
+ writer.uint32(8).uint32(message.id);
1895
+ }
1896
+ if (message.name !== "") {
1897
+ writer.uint32(18).string(message.name);
1898
+ }
1899
+ if (message.initialMarginPpm !== 0) {
1900
+ writer.uint32(24).uint32(message.initialMarginPpm);
1901
+ }
1902
+ if (message.maintenanceFractionPpm !== 0) {
1903
+ writer.uint32(32).uint32(message.maintenanceFractionPpm);
1904
+ }
1905
+ if (!message.basePositionNotional.isZero()) {
1906
+ writer.uint32(40).uint64(message.basePositionNotional);
1907
+ }
1908
+ if (!message.openInterestLowerCap.isZero()) {
1909
+ writer.uint32(48).uint64(message.openInterestLowerCap);
1910
+ }
1911
+ if (!message.openInterestUpperCap.isZero()) {
1912
+ writer.uint32(56).uint64(message.openInterestUpperCap);
1913
+ }
1914
+ return writer;
1915
+ },
1916
+ decode(input, length) {
1917
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1918
+ let end = length === undefined ? reader.len : reader.pos + length;
1919
+ const message = createBaseLiquidityTierUpsertEventV2();
1920
+ while (reader.pos < end) {
1921
+ const tag = reader.uint32();
1922
+ switch (tag >>> 3) {
1923
+ case 1:
1924
+ message.id = reader.uint32();
1925
+ break;
1926
+ case 2:
1927
+ message.name = reader.string();
1928
+ break;
1929
+ case 3:
1930
+ message.initialMarginPpm = reader.uint32();
1931
+ break;
1932
+ case 4:
1933
+ message.maintenanceFractionPpm = reader.uint32();
1934
+ break;
1935
+ case 5:
1936
+ message.basePositionNotional = reader.uint64();
1937
+ break;
1938
+ case 6:
1939
+ message.openInterestLowerCap = reader.uint64();
1940
+ break;
1941
+ case 7:
1942
+ message.openInterestUpperCap = reader.uint64();
1943
+ break;
1944
+ default:
1945
+ reader.skipType(tag & 7);
1946
+ break;
1947
+ }
1948
+ }
1949
+ return message;
1950
+ },
1951
+ fromPartial(object) {
1952
+ var _a, _b, _c, _d;
1953
+ const message = createBaseLiquidityTierUpsertEventV2();
1954
+ message.id = (_a = object.id) !== null && _a !== void 0 ? _a : 0;
1955
+ message.name = (_b = object.name) !== null && _b !== void 0 ? _b : "";
1956
+ message.initialMarginPpm = (_c = object.initialMarginPpm) !== null && _c !== void 0 ? _c : 0;
1957
+ message.maintenanceFractionPpm = (_d = object.maintenanceFractionPpm) !== null && _d !== void 0 ? _d : 0;
1958
+ message.basePositionNotional = object.basePositionNotional !== undefined && object.basePositionNotional !== null ? helpers_1.Long.fromValue(object.basePositionNotional) : helpers_1.Long.UZERO;
1959
+ message.openInterestLowerCap = object.openInterestLowerCap !== undefined && object.openInterestLowerCap !== null ? helpers_1.Long.fromValue(object.openInterestLowerCap) : helpers_1.Long.UZERO;
1960
+ message.openInterestUpperCap = object.openInterestUpperCap !== undefined && object.openInterestUpperCap !== null ? helpers_1.Long.fromValue(object.openInterestUpperCap) : helpers_1.Long.UZERO;
1961
+ return message;
1962
+ }
1963
+ };
1964
+ function createBaseRegisterAffiliateEventV1() {
1965
+ return {
1966
+ referee: "",
1967
+ affiliate: ""
1968
+ };
1969
+ }
1970
+ exports.RegisterAffiliateEventV1 = {
1971
+ encode(message, writer = _m0.Writer.create()) {
1972
+ if (message.referee !== "") {
1973
+ writer.uint32(10).string(message.referee);
1974
+ }
1975
+ if (message.affiliate !== "") {
1976
+ writer.uint32(18).string(message.affiliate);
1977
+ }
1978
+ return writer;
1979
+ },
1980
+ decode(input, length) {
1981
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1982
+ let end = length === undefined ? reader.len : reader.pos + length;
1983
+ const message = createBaseRegisterAffiliateEventV1();
1984
+ while (reader.pos < end) {
1985
+ const tag = reader.uint32();
1986
+ switch (tag >>> 3) {
1987
+ case 1:
1988
+ message.referee = reader.string();
1989
+ break;
1990
+ case 2:
1991
+ message.affiliate = reader.string();
1992
+ break;
1993
+ default:
1994
+ reader.skipType(tag & 7);
1995
+ break;
1996
+ }
1997
+ }
1998
+ return message;
1999
+ },
2000
+ fromPartial(object) {
2001
+ var _a, _b;
2002
+ const message = createBaseRegisterAffiliateEventV1();
2003
+ message.referee = (_a = object.referee) !== null && _a !== void 0 ? _a : "";
2004
+ message.affiliate = (_b = object.affiliate) !== null && _b !== void 0 ? _b : "";
2005
+ return message;
2006
+ }
2007
+ };
2008
+ function createBaseUpsertVaultEventV1() {
2009
+ return {
2010
+ address: "",
2011
+ clobPairId: 0,
2012
+ status: 0
2013
+ };
2014
+ }
2015
+ exports.UpsertVaultEventV1 = {
2016
+ encode(message, writer = _m0.Writer.create()) {
2017
+ if (message.address !== "") {
2018
+ writer.uint32(10).string(message.address);
2019
+ }
2020
+ if (message.clobPairId !== 0) {
2021
+ writer.uint32(16).uint32(message.clobPairId);
2022
+ }
2023
+ if (message.status !== 0) {
2024
+ writer.uint32(24).int32(message.status);
2025
+ }
2026
+ return writer;
2027
+ },
2028
+ decode(input, length) {
2029
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2030
+ let end = length === undefined ? reader.len : reader.pos + length;
2031
+ const message = createBaseUpsertVaultEventV1();
2032
+ while (reader.pos < end) {
2033
+ const tag = reader.uint32();
2034
+ switch (tag >>> 3) {
2035
+ case 1:
2036
+ message.address = reader.string();
2037
+ break;
2038
+ case 2:
2039
+ message.clobPairId = reader.uint32();
2040
+ break;
2041
+ case 3:
2042
+ message.status = reader.int32();
2043
+ break;
2044
+ default:
2045
+ reader.skipType(tag & 7);
2046
+ break;
2047
+ }
2048
+ }
2049
+ return message;
2050
+ },
2051
+ fromPartial(object) {
2052
+ var _a, _b, _c;
2053
+ const message = createBaseUpsertVaultEventV1();
2054
+ message.address = (_a = object.address) !== null && _a !== void 0 ? _a : "";
2055
+ message.clobPairId = (_b = object.clobPairId) !== null && _b !== void 0 ? _b : 0;
2056
+ message.status = (_c = object.status) !== null && _c !== void 0 ? _c : 0;
2057
+ return message;
2058
+ }
2059
+ };
2060
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BkeWR4cHJvdG9jb2wvdjQtcHJvdG8vc3JjL2NvZGVnZW4vZHlkeHByb3RvY29sL2luZGV4ZXIvZXZlbnRzL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ0Esa0VBdUJDO0FBQ0QsOERBa0JDO0FBM0VELDBEQUEwTTtBQUMxTSw4Q0FBK0g7QUFJL0gsd0RBQTBDO0FBQzFDLDhDQUFxRDtBQUNyRCwyQ0FBMkM7QUFFM0MsSUFBWSxtQkFzQlg7QUF0QkQsV0FBWSxtQkFBbUI7SUFDN0IsMkNBQTJDO0lBQzNDLHFGQUFvQixDQUFBO0lBRXBCOzs7T0FHRztJQUNILDJGQUF1QixDQUFBO0lBRXZCOzs7T0FHRztJQUNILDJHQUErQixDQUFBO0lBRS9COzs7T0FHRztJQUNILHVGQUFxQixDQUFBO0lBQ3JCLDhFQUFpQixDQUFBO0FBQ25CLENBQUMsRUF0QlcsbUJBQW1CLG1DQUFuQixtQkFBbUIsUUFzQjlCO0FBQ1ksUUFBQSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FBQztBQUM5RCxTQUFnQiwyQkFBMkIsQ0FBQyxNQUFXO0lBQ3JELFFBQVEsTUFBTSxFQUFFLENBQUM7UUFDZixLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssa0JBQWtCO1lBQ3JCLE9BQU8sbUJBQW1CLENBQUMsZ0JBQWdCLENBQUM7UUFFOUMsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLHFCQUFxQjtZQUN4QixPQUFPLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDO1FBRWpELEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSyw2QkFBNkI7WUFDaEMsT0FBTyxtQkFBbUIsQ0FBQywyQkFBMkIsQ0FBQztRQUV6RCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssbUJBQW1CO1lBQ3RCLE9B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