@ritbit/v4-client-js 2.4.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/legacy/ritbit/bridge/v1/params.js +91 -0
  2. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/asset.js +19 -3
  3. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.js +193 -1
  4. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.rpc.msg.js +57 -0
  5. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.js +21 -21
  6. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.js +2 -142
  7. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.js +1 -13
  8. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.js +24 -8
  9. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.js +19 -3
  10. package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.js +2 -1
  11. package/build/cjs/src/clients/composite-client.js +10 -9
  12. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  13. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/bank/v1beta1/bank.d.ts.map +1 -1
  14. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/bank/v1beta1/tx.d.ts.map +1 -1
  15. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/base/query/v1beta1/pagination.d.ts.map +1 -1
  16. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/base/v1beta1/coin.d.ts.map +1 -1
  17. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/distribution/v1beta1/distribution.d.ts.map +1 -1
  18. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/distribution/v1beta1/query.d.ts.map +1 -1
  19. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/distribution/v1beta1/tx.d.ts.map +1 -1
  20. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/gov/v1/gov.d.ts.map +1 -1
  21. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/gov/v1/query.d.ts.map +1 -1
  22. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/gov/v1/tx.d.ts.map +1 -1
  23. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/staking/v1beta1/query.d.ts.map +1 -1
  24. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/staking/v1beta1/staking.d.ts.map +1 -1
  25. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/cosmos/staking/v1beta1/tx.d.ts.map +1 -1
  26. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/google/protobuf/any.d.ts.map +1 -1
  27. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/google/protobuf/duration.d.ts.map +1 -1
  28. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/google/protobuf/timestamp.d.ts.map +1 -1
  29. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/legacy/ritbit/bridge/v1/params.d.ts +29 -0
  30. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/legacy/ritbit/bridge/v1/params.d.ts.map +1 -0
  31. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/legacy/ritbit/bridge/v1/params.js +55 -0
  32. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/accountplus.d.ts.map +1 -1
  33. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/models.d.ts.map +1 -1
  34. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/params.d.ts.map +1 -1
  35. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/query.d.ts.map +1 -1
  36. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.d.ts.map +1 -1
  37. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/affiliates/affiliates.d.ts.map +1 -1
  38. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/affiliates/query.d.ts.map +1 -1
  39. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/affiliates/tx.d.ts.map +1 -1
  40. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/asset.d.ts +16 -0
  41. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/asset.d.ts.map +1 -1
  42. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/asset.js +19 -3
  43. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/genesis.d.ts.map +1 -1
  44. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.d.ts +61 -1
  45. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.d.ts.map +1 -1
  46. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.js +159 -2
  47. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.rpc.msg.d.ts +16 -0
  48. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.rpc.msg.d.ts.map +1 -0
  49. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.rpc.msg.js +20 -0
  50. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.d.ts +17 -15
  51. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.d.ts.map +1 -1
  52. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event.js +21 -21
  53. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/bridge_event_info.d.ts.map +1 -1
  54. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/genesis.d.ts +1 -1
  55. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/genesis.d.ts.map +1 -1
  56. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/params.d.ts.map +1 -1
  57. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/query.d.ts.map +1 -1
  58. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/token_reserve.d.ts.map +1 -1
  59. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.d.ts +2 -54
  60. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.d.ts.map +1 -1
  61. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.js +3 -143
  62. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.d.ts +1 -7
  63. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.d.ts.map +1 -1
  64. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.rpc.msg.js +2 -14
  65. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.d.ts +9 -3
  66. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.d.ts.map +1 -1
  67. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/withdrawal.js +24 -8
  68. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/block_rate_limit_config.d.ts.map +1 -1
  69. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/clob_pair.d.ts.map +1 -1
  70. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/equity_tier_limit_config.d.ts.map +1 -1
  71. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/liquidations.d.ts.map +1 -1
  72. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/liquidations_config.d.ts.map +1 -1
  73. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/matches.d.ts.map +1 -1
  74. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/mev.d.ts.map +1 -1
  75. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/order.d.ts.map +1 -1
  76. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/order_removals.d.ts.map +1 -1
  77. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/query.d.ts.map +1 -1
  78. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/clob/tx.d.ts.map +1 -1
  79. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/daemons/bridge/bridge.d.ts +2 -2
  80. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/delaymsg/tx.d.ts.map +1 -1
  81. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/feetiers/params.d.ts.map +1 -1
  82. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/feetiers/per_market_fee_discount.d.ts.map +1 -1
  83. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/feetiers/query.d.ts.map +1 -1
  84. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/feetiers/staking_tier.d.ts.map +1 -1
  85. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.d.ts +12 -0
  86. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.d.ts.map +1 -1
  87. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/events/events.js +19 -3
  88. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/off_chain_updates/off_chain_updates.d.ts.map +1 -1
  89. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/protocol/v1/clob.d.ts.map +1 -1
  90. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/indexer/protocol/v1/subaccount.d.ts.map +1 -1
  91. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/listing/params.d.ts.map +1 -1
  92. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/listing/query.d.ts.map +1 -1
  93. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/listing/tx.d.ts.map +1 -1
  94. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/perpetuals/params.d.ts.map +1 -1
  95. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/perpetuals/perpetual.d.ts.map +1 -1
  96. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/perpetuals/query.d.ts.map +1 -1
  97. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/perpetuals/tx.d.ts.map +1 -1
  98. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/prices/market_param.d.ts.map +1 -1
  99. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/prices/market_price.d.ts.map +1 -1
  100. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/prices/query.d.ts.map +1 -1
  101. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/prices/streaming.d.ts.map +1 -1
  102. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/prices/tx.d.ts.map +1 -1
  103. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/ratelimit/capacity.d.ts.map +1 -1
  104. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/ratelimit/limit_params.d.ts.map +1 -1
  105. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/ratelimit/pending_send_packet.d.ts.map +1 -1
  106. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/ratelimit/query.d.ts.map +1 -1
  107. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rewards/params.d.ts.map +1 -1
  108. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rewards/query.d.ts.map +1 -1
  109. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.d.ts +1 -0
  110. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.d.ts.map +1 -1
  111. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.js +2 -1
  112. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/sending/transfer.d.ts.map +1 -1
  113. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/sending/tx.d.ts.map +1 -1
  114. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/stats/params.d.ts.map +1 -1
  115. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/stats/query.d.ts.map +1 -1
  116. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/stats/stats.d.ts.map +1 -1
  117. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/subaccounts/asset_position.d.ts.map +1 -1
  118. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/subaccounts/perpetual_position.d.ts.map +1 -1
  119. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/subaccounts/query.d.ts.map +1 -1
  120. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/subaccounts/streaming.d.ts.map +1 -1
  121. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/subaccounts/subaccount.d.ts.map +1 -1
  122. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/vault/params.d.ts.map +1 -1
  123. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/vault/query.d.ts.map +1 -1
  124. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/vault/share.d.ts.map +1 -1
  125. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/vault/tx.d.ts.map +1 -1
  126. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/vault/vault.d.ts.map +1 -1
  127. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/tendermint/abci/types.d.ts.map +1 -1
  128. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/tendermint/crypto/keys.d.ts.map +1 -1
  129. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/tendermint/crypto/proof.d.ts.map +1 -1
  130. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/tendermint/types/params.d.ts.map +1 -1
  131. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/tendermint/types/types.d.ts.map +1 -1
  132. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/tendermint/types/validator.d.ts.map +1 -1
  133. package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/tendermint/version/types.d.ts.map +1 -1
  134. package/build/esm/src/clients/composite-client.d.ts +3 -3
  135. package/build/esm/src/clients/composite-client.d.ts.map +1 -1
  136. package/build/esm/src/clients/composite-client.js +10 -9
  137. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  138. package/package.json +13 -4
  139. package/.env +0 -1
  140. package/.eslintignore +0 -2
  141. package/.eslintrc.js +0 -15
  142. package/.gitleaks.toml +0 -24
  143. package/.gitleaksignore +0 -1
  144. package/.nvmrc +0 -1
  145. package/.prettierignore +0 -3
  146. package/.prettierrc.json +0 -6
  147. package/.releaserc +0 -10
  148. package/.vscode/launch.json +0 -11
  149. package/__native__/__ios__/v4-native-client.js +0 -251395
  150. package/__native__/__ios__/v4-native-client.js.map +0 -1
  151. package/__tests__/clients/composite-client.test.ts +0 -140
  152. package/__tests__/helpers/baseClients.ts +0 -23
  153. package/__tests__/helpers/constants.ts +0 -131
  154. package/__tests__/lib/helpers.test.ts +0 -55
  155. package/__tests__/lib/util.test.ts +0 -77
  156. package/__tests__/lib/validation.test.ts +0 -289
  157. package/__tests__/modules/client/AccountEndpoints.test.ts +0 -236
  158. package/__tests__/modules/client/FaucetEndpoint.test.ts +0 -14
  159. package/__tests__/modules/client/MarketsEndpoints.test.ts +0 -84
  160. package/__tests__/modules/client/Transfers.test.ts +0 -44
  161. package/__tests__/modules/client/UtilityEndpoints.test.ts +0 -29
  162. package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +0 -50
  163. package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +0 -52
  164. package/__tests__/modules/client/constants.ts +0 -5
  165. package/__tests__/modules/onboarding.test.ts +0 -66
  166. package/build/cjs/__tests__/clients/composite-client.test.js +0 -130
  167. package/build/cjs/__tests__/helpers/baseClients.js +0 -29
  168. package/build/cjs/__tests__/helpers/constants.js +0 -110
  169. package/build/cjs/__tests__/lib/helpers.test.js +0 -46
  170. package/build/cjs/__tests__/lib/util.test.js +0 -67
  171. package/build/cjs/__tests__/lib/validation.test.js +0 -254
  172. package/build/cjs/__tests__/modules/client/AccountEndpoints.test.js +0 -171
  173. package/build/cjs/__tests__/modules/client/FaucetEndpoint.test.js +0 -15
  174. package/build/cjs/__tests__/modules/client/MarketsEndpoints.test.js +0 -69
  175. package/build/cjs/__tests__/modules/client/Transfers.test.js +0 -44
  176. package/build/cjs/__tests__/modules/client/UtilityEndpoints.test.js +0 -28
  177. package/build/cjs/__tests__/modules/client/ValidatorGetEndpoints.test.js +0 -46
  178. package/build/cjs/__tests__/modules/client/ValidatorPostEndpoints.test.js +0 -53
  179. package/build/cjs/__tests__/modules/client/constants.js +0 -7
  180. package/build/cjs/__tests__/modules/onboarding.test.js +0 -50
  181. package/build/cjs/examples/account_endpoints.js +0 -129
  182. package/build/cjs/examples/batch_cancel_orders_example.js +0 -93
  183. package/build/cjs/examples/composite_example.js +0 -50
  184. package/build/cjs/examples/constants.js +0 -35
  185. package/build/cjs/examples/faucet_endpoint.js +0 -23
  186. package/build/cjs/examples/gov_add_new_market.js +0 -77
  187. package/build/cjs/examples/human_readable_orders.json +0 -86
  188. package/build/cjs/examples/human_readable_short_term_orders.json +0 -42
  189. package/build/cjs/examples/json-encoding.js +0 -32
  190. package/build/cjs/examples/long_term_order_cancel_example.js +0 -63
  191. package/build/cjs/examples/markets_endpoints.js +0 -134
  192. package/build/cjs/examples/native_examples.js +0 -112
  193. package/build/cjs/examples/noble_example.js +0 -88
  194. package/build/cjs/examples/optimal_node.js +0 -70
  195. package/build/cjs/examples/permissioned_keys_example.js +0 -104
  196. package/build/cjs/examples/raw_orders.json +0 -130
  197. package/build/cjs/examples/short_term_order_cancel_example.js +0 -54
  198. package/build/cjs/examples/short_term_order_composite_example.js +0 -68
  199. package/build/cjs/examples/test.js +0 -50
  200. package/build/cjs/examples/transfer_example_deposit.js +0 -29
  201. package/build/cjs/examples/transfer_example_send.js +0 -42
  202. package/build/cjs/examples/transfer_example_subaccount_transfer.js +0 -29
  203. package/build/cjs/examples/transfer_example_withdraw.js +0 -30
  204. package/build/cjs/examples/transfer_example_withdraw_other.js +0 -42
  205. package/build/cjs/examples/utility_endpoints.js +0 -42
  206. package/build/cjs/examples/validator_get_example.js +0 -158
  207. package/build/cjs/examples/validator_post_example.js +0 -76
  208. package/build/cjs/examples/wallet_address.js +0 -22
  209. package/build/cjs/examples/websocket_example.js +0 -36
  210. package/build/cjs/examples/websocket_orderbook_example.js +0 -196
  211. package/build/esm/__tests__/clients/composite-client.test.d.ts +0 -2
  212. package/build/esm/__tests__/clients/composite-client.test.d.ts.map +0 -1
  213. package/build/esm/__tests__/clients/composite-client.test.js +0 -128
  214. package/build/esm/__tests__/helpers/baseClients.d.ts +0 -19
  215. package/build/esm/__tests__/helpers/baseClients.d.ts.map +0 -1
  216. package/build/esm/__tests__/helpers/baseClients.js +0 -22
  217. package/build/esm/__tests__/helpers/constants.d.ts +0 -19
  218. package/build/esm/__tests__/helpers/constants.d.ts.map +0 -1
  219. package/build/esm/__tests__/helpers/constants.js +0 -104
  220. package/build/esm/__tests__/lib/helpers.test.d.ts +0 -2
  221. package/build/esm/__tests__/lib/helpers.test.d.ts.map +0 -1
  222. package/build/esm/__tests__/lib/helpers.test.js +0 -41
  223. package/build/esm/__tests__/lib/util.test.d.ts +0 -2
  224. package/build/esm/__tests__/lib/util.test.d.ts.map +0 -1
  225. package/build/esm/__tests__/lib/util.test.js +0 -65
  226. package/build/esm/__tests__/lib/validation.test.d.ts +0 -2
  227. package/build/esm/__tests__/lib/validation.test.d.ts.map +0 -1
  228. package/build/esm/__tests__/lib/validation.test.js +0 -249
  229. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts +0 -2
  230. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts.map +0 -1
  231. package/build/esm/__tests__/modules/client/AccountEndpoints.test.js +0 -169
  232. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts +0 -2
  233. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts.map +0 -1
  234. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.js +0 -13
  235. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts +0 -2
  236. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts.map +0 -1
  237. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.js +0 -66
  238. package/build/esm/__tests__/modules/client/Transfers.test.d.ts +0 -2
  239. package/build/esm/__tests__/modules/client/Transfers.test.d.ts.map +0 -1
  240. package/build/esm/__tests__/modules/client/Transfers.test.js +0 -39
  241. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts +0 -2
  242. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts.map +0 -1
  243. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.js +0 -26
  244. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +0 -2
  245. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts.map +0 -1
  246. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.js +0 -44
  247. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +0 -2
  248. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts.map +0 -1
  249. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.js +0 -48
  250. package/build/esm/__tests__/modules/client/constants.d.ts +0 -4
  251. package/build/esm/__tests__/modules/client/constants.d.ts.map +0 -1
  252. package/build/esm/__tests__/modules/client/constants.js +0 -4
  253. package/build/esm/__tests__/modules/onboarding.test.d.ts +0 -2
  254. package/build/esm/__tests__/modules/onboarding.test.d.ts.map +0 -1
  255. package/build/esm/__tests__/modules/onboarding.test.js +0 -48
  256. package/build/esm/examples/account_endpoints.d.ts +0 -5
  257. package/build/esm/examples/account_endpoints.d.ts.map +0 -1
  258. package/build/esm/examples/account_endpoints.js +0 -127
  259. package/build/esm/examples/batch_cancel_orders_example.d.ts +0 -2
  260. package/build/esm/examples/batch_cancel_orders_example.d.ts.map +0 -1
  261. package/build/esm/examples/batch_cancel_orders_example.js +0 -88
  262. package/build/esm/examples/composite_example.d.ts +0 -2
  263. package/build/esm/examples/composite_example.d.ts.map +0 -1
  264. package/build/esm/examples/composite_example.js +0 -45
  265. package/build/esm/examples/constants.d.ts +0 -13
  266. package/build/esm/examples/constants.d.ts.map +0 -1
  267. package/build/esm/examples/constants.js +0 -29
  268. package/build/esm/examples/faucet_endpoint.d.ts +0 -5
  269. package/build/esm/examples/faucet_endpoint.d.ts.map +0 -1
  270. package/build/esm/examples/faucet_endpoint.js +0 -21
  271. package/build/esm/examples/gov_add_new_market.d.ts +0 -2
  272. package/build/esm/examples/gov_add_new_market.d.ts.map +0 -1
  273. package/build/esm/examples/gov_add_new_market.js +0 -72
  274. package/build/esm/examples/human_readable_orders.json +0 -86
  275. package/build/esm/examples/human_readable_short_term_orders.json +0 -42
  276. package/build/esm/examples/json-encoding.d.ts +0 -2
  277. package/build/esm/examples/json-encoding.d.ts.map +0 -1
  278. package/build/esm/examples/json-encoding.js +0 -27
  279. package/build/esm/examples/long_term_order_cancel_example.d.ts +0 -2
  280. package/build/esm/examples/long_term_order_cancel_example.d.ts.map +0 -1
  281. package/build/esm/examples/long_term_order_cancel_example.js +0 -58
  282. package/build/esm/examples/markets_endpoints.d.ts +0 -5
  283. package/build/esm/examples/markets_endpoints.d.ts.map +0 -1
  284. package/build/esm/examples/markets_endpoints.js +0 -131
  285. package/build/esm/examples/native_examples.d.ts +0 -2
  286. package/build/esm/examples/native_examples.d.ts.map +0 -1
  287. package/build/esm/examples/native_examples.js +0 -110
  288. package/build/esm/examples/noble_example.d.ts +0 -2
  289. package/build/esm/examples/noble_example.d.ts.map +0 -1
  290. package/build/esm/examples/noble_example.js +0 -83
  291. package/build/esm/examples/optimal_node.d.ts +0 -2
  292. package/build/esm/examples/optimal_node.d.ts.map +0 -1
  293. package/build/esm/examples/optimal_node.js +0 -68
  294. package/build/esm/examples/permissioned_keys_example.d.ts +0 -2
  295. package/build/esm/examples/permissioned_keys_example.d.ts.map +0 -1
  296. package/build/esm/examples/permissioned_keys_example.js +0 -99
  297. package/build/esm/examples/raw_orders.json +0 -130
  298. package/build/esm/examples/short_term_order_cancel_example.d.ts +0 -2
  299. package/build/esm/examples/short_term_order_cancel_example.d.ts.map +0 -1
  300. package/build/esm/examples/short_term_order_cancel_example.js +0 -49
  301. package/build/esm/examples/short_term_order_composite_example.d.ts +0 -2
  302. package/build/esm/examples/short_term_order_composite_example.d.ts.map +0 -1
  303. package/build/esm/examples/short_term_order_composite_example.js +0 -63
  304. package/build/esm/examples/test.d.ts +0 -2
  305. package/build/esm/examples/test.d.ts.map +0 -1
  306. package/build/esm/examples/test.js +0 -45
  307. package/build/esm/examples/transfer_example_deposit.d.ts +0 -2
  308. package/build/esm/examples/transfer_example_deposit.d.ts.map +0 -1
  309. package/build/esm/examples/transfer_example_deposit.js +0 -24
  310. package/build/esm/examples/transfer_example_send.d.ts +0 -2
  311. package/build/esm/examples/transfer_example_send.d.ts.map +0 -1
  312. package/build/esm/examples/transfer_example_send.js +0 -37
  313. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts +0 -2
  314. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts.map +0 -1
  315. package/build/esm/examples/transfer_example_subaccount_transfer.js +0 -24
  316. package/build/esm/examples/transfer_example_withdraw.d.ts +0 -2
  317. package/build/esm/examples/transfer_example_withdraw.d.ts.map +0 -1
  318. package/build/esm/examples/transfer_example_withdraw.js +0 -25
  319. package/build/esm/examples/transfer_example_withdraw_other.d.ts +0 -2
  320. package/build/esm/examples/transfer_example_withdraw_other.d.ts.map +0 -1
  321. package/build/esm/examples/transfer_example_withdraw_other.js +0 -37
  322. package/build/esm/examples/utility_endpoints.d.ts +0 -5
  323. package/build/esm/examples/utility_endpoints.d.ts.map +0 -1
  324. package/build/esm/examples/utility_endpoints.js +0 -40
  325. package/build/esm/examples/validator_get_example.d.ts +0 -2
  326. package/build/esm/examples/validator_get_example.d.ts.map +0 -1
  327. package/build/esm/examples/validator_get_example.js +0 -156
  328. package/build/esm/examples/validator_post_example.d.ts +0 -2
  329. package/build/esm/examples/validator_post_example.d.ts.map +0 -1
  330. package/build/esm/examples/validator_post_example.js +0 -71
  331. package/build/esm/examples/wallet_address.d.ts +0 -2
  332. package/build/esm/examples/wallet_address.d.ts.map +0 -1
  333. package/build/esm/examples/wallet_address.js +0 -17
  334. package/build/esm/examples/websocket_example.d.ts +0 -2
  335. package/build/esm/examples/websocket_example.d.ts.map +0 -1
  336. package/build/esm/examples/websocket_example.js +0 -34
  337. package/build/esm/examples/websocket_orderbook_example.d.ts +0 -2
  338. package/build/esm/examples/websocket_orderbook_example.d.ts.map +0 -1
  339. package/build/esm/examples/websocket_orderbook_example.js +0 -194
  340. package/commitlint.config.js +0 -8
  341. package/examples/account_endpoints.ts +0 -129
  342. package/examples/batch_cancel_orders_example.ts +0 -130
  343. package/examples/composite_example.ts +0 -65
  344. package/examples/constants.ts +0 -42
  345. package/examples/faucet_endpoint.ts +0 -24
  346. package/examples/gov_add_new_market.json +0 -64
  347. package/examples/gov_add_new_market.ts +0 -95
  348. package/examples/human_readable_orders.json +0 -86
  349. package/examples/human_readable_short_term_orders.json +0 -42
  350. package/examples/json-encoding.ts +0 -33
  351. package/examples/long_term_order_cancel_example.ts +0 -87
  352. package/examples/markets_endpoints.ts +0 -134
  353. package/examples/native_examples.ts +0 -151
  354. package/examples/noble_example.ts +0 -107
  355. package/examples/optimal_node.ts +0 -70
  356. package/examples/permissioned_keys_example.ts +0 -162
  357. package/examples/raw_orders.json +0 -130
  358. package/examples/short_term_order_cancel_example.ts +0 -68
  359. package/examples/short_term_order_composite_example.ts +0 -80
  360. package/examples/test.ts +0 -65
  361. package/examples/transfer_example_deposit.ts +0 -28
  362. package/examples/transfer_example_send.ts +0 -60
  363. package/examples/transfer_example_subaccount_transfer.ts +0 -29
  364. package/examples/transfer_example_withdraw.ts +0 -31
  365. package/examples/transfer_example_withdraw_other.ts +0 -60
  366. package/examples/utility_endpoints.ts +0 -42
  367. package/examples/validator_get_example.ts +0 -160
  368. package/examples/validator_post_example.ts +0 -81
  369. package/examples/wallet_address.ts +0 -18
  370. package/examples/websocket_example.ts +0 -44
  371. package/examples/websocket_orderbook_example.ts +0 -239
  372. package/jest.config.js +0 -12
  373. package/jest.globalSetup.js +0 -5
  374. package/jest.setup.js +0 -1
  375. package/ritbit-v4-client-js-2.4.0.tgz +0 -0
  376. package/scripts/bump_version.sh +0 -16
  377. package/scripts/generate-cctp-protos.sh +0 -41
  378. package/scripts/mobile_build_pack.sh +0 -5
  379. package/scripts/publish-if-not-exists.sh +0 -21
  380. package/src/clients/composite-client.ts +0 -1469
  381. package/src/clients/constants.ts +0 -361
  382. package/src/clients/faucet-client.ts +0 -48
  383. package/src/clients/helpers/chain-helpers.ts +0 -231
  384. package/src/clients/helpers/request-helpers.ts +0 -71
  385. package/src/clients/indexer-client.ts +0 -61
  386. package/src/clients/lib/axios/axiosRequest.ts +0 -41
  387. package/src/clients/lib/axios/errors.ts +0 -41
  388. package/src/clients/lib/axios/index.ts +0 -7
  389. package/src/clients/lib/axios/types.ts +0 -6
  390. package/src/clients/lib/cctpProto.ts +0 -4197
  391. package/src/clients/lib/errors.ts +0 -63
  392. package/src/clients/lib/registry.ts +0 -93
  393. package/src/clients/modules/account.ts +0 -438
  394. package/src/clients/modules/composer.ts +0 -669
  395. package/src/clients/modules/get.ts +0 -791
  396. package/src/clients/modules/local-wallet.ts +0 -79
  397. package/src/clients/modules/markets.ts +0 -76
  398. package/src/clients/modules/post.ts +0 -1043
  399. package/src/clients/modules/proto-includes.ts +0 -34
  400. package/src/clients/modules/rest.ts +0 -40
  401. package/src/clients/modules/signer.ts +0 -139
  402. package/src/clients/modules/tendermintClient.ts +0 -168
  403. package/src/clients/modules/utility.ts +0 -47
  404. package/src/clients/modules/vault.ts +0 -23
  405. package/src/clients/native.ts +0 -1689
  406. package/src/clients/noble-client.ts +0 -108
  407. package/src/clients/socket-client.ts +0 -331
  408. package/src/clients/subaccount.ts +0 -57
  409. package/src/clients/types.ts +0 -191
  410. package/src/clients/validator-client.ts +0 -106
  411. package/src/index.ts +0 -19
  412. package/src/lib/constants.ts +0 -28
  413. package/src/lib/errors.ts +0 -38
  414. package/src/lib/helpers.ts +0 -99
  415. package/src/lib/onboarding.ts +0 -96
  416. package/src/lib/trading-key-utils.ts +0 -136
  417. package/src/lib/utils.ts +0 -84
  418. package/src/lib/validation.ts +0 -197
  419. package/src/network_optimizer.ts +0 -132
  420. package/src/types.ts +0 -44
  421. package/tasks.json +0 -16
  422. package/tsconfig.base.json +0 -21
  423. package/tsconfig.cjs.json +0 -10
  424. package/tsconfig.eslint.json +0 -14
  425. package/tsconfig.esm.json +0 -11
  426. package/tsconfig.json +0 -6
  427. package/webpack.config.js +0 -56
@@ -1,1043 +0,0 @@
1
- import { Coin, Secp256k1Pubkey } from '@cosmjs/amino';
2
- import { Uint53 } from '@cosmjs/math';
3
- import { EncodeObject, Registry } from '@cosmjs/proto-signing';
4
- import { Account, calculateFee, GasPrice, IndexedTx, StdFee } from '@cosmjs/stargate';
5
- import { Method, tendermint37 } from '@cosmjs/tendermint-rpc';
6
- import Long from 'long';
7
- import protobuf from 'protobufjs';
8
-
9
- type BroadcastTxAsyncResponse = tendermint37.BroadcastTxAsyncResponse;
10
- type BroadcastTxSyncResponse = tendermint37.BroadcastTxSyncResponse;
11
-
12
- import { AuthenticatorType, GAS_MULTIPLIER, SelectedGasDenom } from '../constants';
13
- import { UnexpectedClientError } from '../lib/errors';
14
- import { generateRegistry } from '../lib/registry';
15
- import { SubaccountInfo } from '../subaccount';
16
- import {
17
- OrderFlags,
18
- BroadcastMode,
19
- TransactionOptions,
20
- IPlaceOrder,
21
- ICancelOrder,
22
- DenomConfig,
23
- ITwapParameters,
24
- IBuilderCodeParameters,
25
- } from '../types';
26
- import { Composer } from './composer';
27
- import { Get } from './get';
28
- import {
29
- Order_Side,
30
- Order_TimeInForce,
31
- Any,
32
- MsgPlaceOrder,
33
- MsgCancelOrder,
34
- Order_ConditionType,
35
- OrderBatch,
36
- } from './proto-includes';
37
-
38
- // Required for encoding and decoding queries that are of type Long.
39
- // Must be done once but since the individal modules should be usable
40
- // - must be set in each module that encounters encoding/decoding Longs.
41
- // Reference: https://github.com/protobufjs/protobuf.js/issues/921
42
- protobuf.util.Long = Long;
43
- protobuf.configure();
44
-
45
- export class Post {
46
- public readonly composer: Composer;
47
- private readonly registry: Registry;
48
- private readonly chainId: string;
49
- public readonly get: Get;
50
- public readonly denoms: DenomConfig;
51
- public readonly defaultClientMemo?: string;
52
-
53
- public selectedGasDenom: SelectedGasDenom = SelectedGasDenom.USDC;
54
- public readonly defaultGasPrice: GasPrice;
55
- public readonly defaultChainGasPrice: GasPrice;
56
-
57
- public useTimestampNonce: boolean = false;
58
- public timestampNonceOffsetMs: number = 0;
59
- private accountNumberCache: Map<string, Account> = new Map();
60
-
61
- constructor(
62
- get: Get,
63
- chainId: string,
64
- denoms: DenomConfig,
65
- defaultClientMemo?: string,
66
- useTimestampNonce?: boolean,
67
- timestampNonceOffsetMs?: number,
68
- ) {
69
- this.get = get;
70
- this.chainId = chainId;
71
- this.registry = generateRegistry();
72
- this.composer = new Composer();
73
- this.denoms = denoms;
74
- this.defaultClientMemo = defaultClientMemo;
75
- this.defaultGasPrice = GasPrice.fromString(
76
- `0.025${denoms.USDC_GAS_DENOM !== undefined ? denoms.USDC_GAS_DENOM : denoms.USDC_DENOM}`,
77
- );
78
- this.defaultChainGasPrice = GasPrice.fromString(
79
- `25000000000${
80
- denoms.CHAINTOKEN_GAS_DENOM !== undefined
81
- ? denoms.CHAINTOKEN_GAS_DENOM
82
- : denoms.CHAINTOKEN_DENOM
83
- }`,
84
- );
85
- if (useTimestampNonce === true) {
86
- this.useTimestampNonce = useTimestampNonce;
87
- this.timestampNonceOffsetMs = timestampNonceOffsetMs ?? this.timestampNonceOffsetMs;
88
- }
89
- }
90
-
91
- /**
92
- * @description Retrieves the account number for the given wallet address and populates the accountNumberCache.
93
- * The account number is required for txOptions when signing a transaction.
94
- * Pre-populating the cache avoids a round-trip request during the first transaction creation in the session, preventing it from being a performance blocker.
95
- * @returns { typeUrl } при первом вызове; undefined при cache hit (данные уже в кеше).
96
- */
97
- public async populateAccountNumberCache(
98
- address: string
99
- ): Promise<{ typeUrl: string } | undefined> {
100
- if (this.accountNumberCache.has(address)) return undefined;
101
-
102
- const result = await this.get.getAccount(address);
103
- const { typeUrl, ...account } = result;
104
- this.accountNumberCache.set(address, account);
105
- return typeUrl != null ? { typeUrl } : undefined;
106
- }
107
-
108
- setSelectedGasDenom(selectedGasDenom: SelectedGasDenom): void {
109
- this.selectedGasDenom = selectedGasDenom;
110
- }
111
-
112
- getGasPrice(): GasPrice {
113
- return this.selectedGasDenom === SelectedGasDenom.USDC
114
- ? this.defaultGasPrice
115
- : this.defaultChainGasPrice;
116
- }
117
-
118
- /**
119
- * @description Simulate a transaction
120
- * the calling function is responsible for creating the messages.
121
- *
122
- * @throws UnexpectedClientError if a malformed response is returned with no GRPC error
123
- * at any point.
124
- * @returns The Fee for broadcasting a transaction.
125
- */
126
- async simulate(
127
- subaccount: SubaccountInfo,
128
- messaging: () => Promise<EncodeObject[]>,
129
- gasPrice: GasPrice = this.getGasPrice(),
130
- memo?: string,
131
- account?: () => Promise<Account>,
132
- ): Promise<StdFee> {
133
- let msgs: EncodeObject[];
134
- // protocol expects timestamp nonce in UTC milliseconds, which is the unit returned by Date.now()
135
- let sequence = Date.now() + this.timestampNonceOffsetMs;
136
-
137
- if (this.useTimestampNonce) {
138
- msgs = await messaging();
139
- } else {
140
- const msgsPromise = messaging();
141
- const accountPromise = account ? await account() : this.account(subaccount.address);
142
- const msgsAndAccount = await Promise.all([msgsPromise, accountPromise]);
143
- msgs = msgsAndAccount[0];
144
- sequence = msgsAndAccount[1].sequence;
145
- }
146
-
147
- return this.simulateTransaction(
148
- subaccount.signingWallet.pubKey!,
149
- sequence,
150
- msgs,
151
- gasPrice,
152
- memo,
153
- );
154
- }
155
-
156
- /**
157
- * @description Sign a transaction
158
- * the calling function is responsible for creating the messages.
159
- *
160
- * @throws UnexpectedClientError if a malformed response is returned with no GRPC error
161
- * at any point.
162
- * @returns The Signature.
163
- */
164
- async sign(
165
- subaccount: SubaccountInfo,
166
- messaging: () => Promise<EncodeObject[]>,
167
- zeroFee: boolean,
168
- gasPrice: GasPrice = this.getGasPrice(),
169
- memo?: string,
170
- account?: () => Promise<Account>,
171
- ): Promise<Uint8Array> {
172
- const msgsPromise = await messaging();
173
- const accountPromise = account ? await account() : this.account(subaccount.address);
174
- const msgsAndAccount = await Promise.all([msgsPromise, accountPromise]);
175
- const msgs = msgsAndAccount[0];
176
- return this.signTransaction(subaccount, msgs, msgsAndAccount[1], zeroFee, gasPrice, memo);
177
- }
178
-
179
- /**
180
- * @description Send a transaction
181
- * the calling function is responsible for creating the messages.
182
- *
183
- * @throws UnexpectedClientError if a malformed response is returned with no GRPC error
184
- * at any point.
185
- * @returns The Tx Hash.
186
- */
187
- async send(
188
- subaccount: SubaccountInfo,
189
- messaging: () => Promise<EncodeObject[]>,
190
- zeroFee: boolean,
191
- gasPrice: GasPrice = this.getGasPrice(),
192
- memo?: string,
193
- broadcastMode?: BroadcastMode,
194
- account?: () => Promise<Account>,
195
- gasAdjustment: number = GAS_MULTIPLIER,
196
- additionalFeeCoins?: Coin[],
197
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
198
- const msgsPromise = messaging();
199
- const accountPromise = account ? await account() : this.account(subaccount.address);
200
- const msgsAndAccount = await Promise.all([msgsPromise, accountPromise]);
201
- const msgs = msgsAndAccount[0];
202
-
203
- return this.signAndSendTransaction(
204
- subaccount,
205
- msgsAndAccount[1],
206
- msgs,
207
- zeroFee,
208
- gasPrice,
209
- memo ?? this.defaultClientMemo,
210
- broadcastMode ?? this.defaultBroadcastMode(msgs),
211
- gasAdjustment,
212
- additionalFeeCoins,
213
- );
214
- }
215
-
216
- /**
217
- * @description Calculate the default broadcast mode.
218
- */
219
- private defaultBroadcastMode(msgs: EncodeObject[]): BroadcastMode {
220
- if (
221
- msgs.length === 1 &&
222
- (msgs[0].typeUrl === '/ritbit.clob.MsgPlaceOrder' ||
223
- msgs[0].typeUrl === '/ritbit.clob.MsgCancelOrder')
224
- ) {
225
- const orderFlags =
226
- msgs[0].typeUrl === '/ritbit.clob.MsgPlaceOrder'
227
- ? (msgs[0].value as MsgPlaceOrder).order?.orderId?.orderFlags
228
- : (msgs[0].value as MsgCancelOrder).orderId?.orderFlags;
229
-
230
- switch (orderFlags) {
231
- case OrderFlags.SHORT_TERM:
232
- return Method.BroadcastTxSync;
233
-
234
- case OrderFlags.LONG_TERM:
235
- case OrderFlags.CONDITIONAL:
236
- return Method.BroadcastTxCommit;
237
-
238
- default:
239
- break;
240
- }
241
- }
242
- return Method.BroadcastTxSync;
243
- }
244
-
245
- /**
246
- * @description Sign and send a message
247
- *
248
- * @returns The Tx Response.
249
- */
250
- private async signTransaction(
251
- subaccount: SubaccountInfo,
252
- messages: EncodeObject[],
253
- account: Account,
254
- zeroFee: boolean,
255
- gasPrice: GasPrice = this.getGasPrice(),
256
- memo?: string,
257
- gasAdjustment: number = GAS_MULTIPLIER,
258
- additionalFeeCoins?: Coin[],
259
- ): Promise<Uint8Array> {
260
- // protocol expects timestamp nonce in UTC milliseconds, which is the unit returned by Date.now()
261
- const sequence = this.useTimestampNonce
262
- ? Date.now() + this.timestampNonceOffsetMs
263
- : account.sequence;
264
- // Simulate transaction if no fee is specified.
265
- let fee: StdFee = zeroFee
266
- ? {
267
- amount: [],
268
- gas: '1000000',
269
- }
270
- : await this.simulateTransaction(
271
- subaccount.signingWallet.pubKey!,
272
- sequence,
273
- messages,
274
- gasPrice,
275
- memo,
276
- gasAdjustment,
277
- );
278
-
279
- if (additionalFeeCoins && additionalFeeCoins.length > 0) {
280
- const byDenom = new Map<string, string>();
281
- for (const c of fee.amount) {
282
- const cur = byDenom.get(c.denom) ?? '0';
283
- byDenom.set(c.denom, (BigInt(cur) + BigInt(c.amount)).toString());
284
- }
285
- for (const c of additionalFeeCoins) {
286
- const cur = byDenom.get(c.denom) ?? '0';
287
- byDenom.set(c.denom, (BigInt(cur) + BigInt(c.amount)).toString());
288
- }
289
- fee = {
290
- ...fee,
291
- amount: Array.from(byDenom.entries()).map(([denom, amount]) => ({ denom, amount })),
292
- };
293
- }
294
-
295
- const txOptions: TransactionOptions = {
296
- sequence,
297
- accountNumber: account.accountNumber,
298
- chainId: this.chainId,
299
- authenticators: subaccount.authenticators,
300
- };
301
- // Generate signed transaction.
302
- return subaccount.signingWallet.signTransaction(messages, txOptions, fee, memo);
303
- }
304
-
305
- /**
306
- * @description Retrieve an account structure for transactions.
307
- * For short term orders, the sequence doesn't matter. Use cached if available.
308
- * For long term and conditional orders, a round trip to validator must be made.
309
- * when timestamp nonce is supported, no need to fetch account sequence number
310
- */
311
- public async account(address: string, orderFlags?: OrderFlags): Promise<Account> {
312
- if (orderFlags === OrderFlags.SHORT_TERM || this.useTimestampNonce) {
313
- if (this.accountNumberCache.has(address)) {
314
- // If order is SHORT_TERM or if timestamp nonce is enabled, the sequence doesn't matter
315
- return this.accountNumberCache.get(address)!;
316
- }
317
- }
318
- const result = await this.get.getAccount(address);
319
- const { typeUrl: _typeUrl, ...account } = result;
320
- this.accountNumberCache.set(address, account);
321
- return account;
322
- }
323
-
324
- /**
325
- * @description Sign and send a message
326
- *
327
- * @returns The Tx Response.
328
- */
329
- private async signAndSendTransaction(
330
- subaccount: SubaccountInfo,
331
- account: Account,
332
- messages: EncodeObject[],
333
- zeroFee: boolean,
334
- gasPrice: GasPrice = this.getGasPrice(),
335
- memo?: string,
336
- broadcastMode?: BroadcastMode,
337
- gasAdjustment: number = GAS_MULTIPLIER,
338
- additionalFeeCoins?: Coin[],
339
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
340
- const signedTransaction = await this.signTransaction(
341
- subaccount,
342
- messages,
343
- account,
344
- zeroFee,
345
- gasPrice,
346
- memo,
347
- gasAdjustment,
348
- additionalFeeCoins,
349
- );
350
- return this.sendSignedTransaction(signedTransaction, broadcastMode);
351
- }
352
-
353
- /**
354
- * @description Send signed transaction.
355
- *
356
- * @returns The Tx Response.
357
- */
358
- async sendSignedTransaction(
359
- signedTransaction: Uint8Array,
360
- broadcastMode?: BroadcastMode,
361
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
362
- return this.get.tendermintClient.broadcastTransaction(
363
- signedTransaction,
364
- broadcastMode !== undefined ? broadcastMode : Method.BroadcastTxSync,
365
- );
366
- }
367
-
368
- /**
369
- * @description Simulate broadcasting a transaction.
370
- *
371
- * @throws UnexpectedClientError if a malformed response is returned with no GRPC error
372
- * at any point.
373
- * @returns The Fee for broadcasting a transaction.
374
- */
375
- private async simulateTransaction(
376
- pubKey: Secp256k1Pubkey,
377
- sequence: number,
378
- messages: readonly EncodeObject[],
379
- gasPrice: GasPrice = this.getGasPrice(),
380
- memo?: string,
381
- gasAdjustment: number = GAS_MULTIPLIER,
382
- ): Promise<StdFee> {
383
- // Get simulated response.
384
- const encodedMessages: Any[] = messages.map((message: EncodeObject) =>
385
- this.registry.encodeAsAny(message),
386
- );
387
- const simulationResponse = await this.get.stargateQueryClient.tx.simulate(
388
- encodedMessages,
389
- memo,
390
- pubKey,
391
- sequence,
392
- );
393
-
394
- // The promise should have been rejected if the gasInfo was undefined.
395
- if (simulationResponse.gasInfo === undefined) {
396
- throw new UnexpectedClientError();
397
- }
398
-
399
- // Calculate and return fee from gasEstimate.
400
- const gasEstimate: number = Uint53.fromString(
401
- simulationResponse.gasInfo.gasUsed.toString(),
402
- ).toNumber();
403
- const fee = calculateFee(Math.floor(gasEstimate * gasAdjustment), gasPrice);
404
-
405
- // TODO(TRCL-2550): Temporary workaround before IBC denom is supported in '@cosmjs/stargate'.
406
- // The '@cosmjs/stargate' does not support denom with '/', so currently GAS_PRICE is
407
- // represented in 'uusdc', and the output of `calculateFee` is in '', which is replaced
408
- // below by USDC_DENOM string.
409
- const amount: Coin[] = fee.amount.map((coin: Coin) => {
410
- if (coin.denom === 'uusdc') {
411
- return {
412
- amount: coin.amount,
413
- denom: this.denoms.USDC_DENOM,
414
- };
415
- }
416
- return coin;
417
- });
418
-
419
- return {
420
- ...fee,
421
- amount,
422
- };
423
- }
424
-
425
- // ------ State-Changing Requests ------ //
426
-
427
- async placeOrder(
428
- subaccount: SubaccountInfo,
429
- clientId: number,
430
- clobPairId: number,
431
- side: Order_Side,
432
- quantums: Long,
433
- subticks: Long,
434
- timeInForce: Order_TimeInForce,
435
- orderFlags: number,
436
- reduceOnly: boolean,
437
- goodTilBlock?: number,
438
- goodTilBlockTime?: number,
439
- clientMetadata: number = 0,
440
- conditionType: Order_ConditionType = Order_ConditionType.CONDITION_TYPE_UNSPECIFIED,
441
- conditionalOrderTriggerSubticks: Long = Long.fromInt(0),
442
- twapParameters?: ITwapParameters,
443
- builderCodeParameters?: IBuilderCodeParameters,
444
- orderRouterAddress?: string,
445
- broadcastMode?: BroadcastMode,
446
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
447
- const msg = await this.placeOrderMsg(
448
- subaccount.address,
449
- subaccount.subaccountNumber,
450
- clientId,
451
- clobPairId,
452
- side,
453
- quantums,
454
- subticks,
455
- timeInForce,
456
- orderFlags,
457
- reduceOnly,
458
- goodTilBlock,
459
- goodTilBlockTime,
460
- clientMetadata,
461
- conditionType,
462
- conditionalOrderTriggerSubticks,
463
- twapParameters,
464
- builderCodeParameters,
465
- orderRouterAddress,
466
- );
467
- const account: Promise<Account> = this.account(subaccount.address, orderFlags);
468
- return this.send(
469
- subaccount,
470
- () => Promise.resolve([msg]),
471
- true,
472
- undefined,
473
- undefined,
474
- broadcastMode,
475
- () => account,
476
- );
477
- }
478
-
479
- async placeOrderMsg(
480
- address: string,
481
- subaccountNumber: number,
482
- clientId: number,
483
- clobPairId: number,
484
- side: Order_Side,
485
- quantums: Long,
486
- subticks: Long,
487
- timeInForce: Order_TimeInForce,
488
- orderFlags: number,
489
- reduceOnly: boolean,
490
- goodTilBlock?: number,
491
- goodTilBlockTime?: number,
492
- clientMetadata: number = 0,
493
- conditionType: Order_ConditionType = Order_ConditionType.CONDITION_TYPE_UNSPECIFIED,
494
- conditionalOrderTriggerSubticks: Long = Long.fromInt(0),
495
- twapParameters?: ITwapParameters,
496
- builderCodeParameters?: IBuilderCodeParameters,
497
- orderRouterAddress?: string,
498
- ): Promise<EncodeObject> {
499
- return new Promise((resolve) => {
500
- const msg = this.composer.composeMsgPlaceOrder(
501
- address,
502
- subaccountNumber,
503
- clientId,
504
- clobPairId,
505
- orderFlags,
506
- goodTilBlock ?? 0,
507
- goodTilBlockTime ?? 0,
508
- side,
509
- quantums,
510
- subticks,
511
- timeInForce,
512
- reduceOnly,
513
- clientMetadata,
514
- conditionType,
515
- conditionalOrderTriggerSubticks,
516
- twapParameters,
517
- builderCodeParameters,
518
- orderRouterAddress,
519
- );
520
- resolve(msg);
521
- });
522
- }
523
-
524
- async placeOrderObject(
525
- subaccount: SubaccountInfo,
526
- placeOrder: IPlaceOrder,
527
- broadcastMode?: BroadcastMode,
528
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
529
- return this.placeOrder(
530
- subaccount,
531
- placeOrder.clientId,
532
- placeOrder.clobPairId,
533
- placeOrder.side,
534
- placeOrder.quantums,
535
- placeOrder.subticks,
536
- placeOrder.timeInForce,
537
- placeOrder.orderFlags,
538
- placeOrder.reduceOnly,
539
- placeOrder.goodTilBlock,
540
- placeOrder.goodTilBlockTime,
541
- placeOrder.clientMetadata,
542
- placeOrder.conditionType ?? Order_ConditionType.CONDITION_TYPE_UNSPECIFIED,
543
- placeOrder.conditionalOrderTriggerSubticks ?? Long.fromInt(0),
544
- placeOrder.twapParameters,
545
- placeOrder.builderCodeParameters,
546
- placeOrder.orderRouterAddress,
547
- broadcastMode,
548
- );
549
- }
550
-
551
- async cancelOrder(
552
- subaccount: SubaccountInfo,
553
- clientId: number,
554
- orderFlags: OrderFlags,
555
- clobPairId: number,
556
- goodTilBlock?: number,
557
- goodTilBlockTime?: number,
558
- broadcastMode?: BroadcastMode,
559
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
560
- const msg = await this.cancelOrderMsg(
561
- subaccount.address,
562
- subaccount.subaccountNumber,
563
- clientId,
564
- orderFlags,
565
- clobPairId,
566
- goodTilBlock ?? 0,
567
- goodTilBlockTime ?? 0,
568
- );
569
- return this.send(
570
- subaccount,
571
- () => Promise.resolve([msg]),
572
- true,
573
- undefined,
574
- undefined,
575
- broadcastMode,
576
- );
577
- }
578
-
579
- async cancelOrderMsg(
580
- address: string,
581
- subaccountNumber: number,
582
- clientId: number,
583
- orderFlags: OrderFlags,
584
- clobPairId: number,
585
- goodTilBlock?: number,
586
- goodTilBlockTime?: number,
587
- ): Promise<EncodeObject> {
588
- return new Promise((resolve) => {
589
- const msg = this.composer.composeMsgCancelOrder(
590
- address,
591
- subaccountNumber,
592
- clientId,
593
- clobPairId,
594
- orderFlags,
595
- goodTilBlock ?? 0,
596
- goodTilBlockTime ?? 0,
597
- );
598
- resolve(msg);
599
- });
600
- }
601
-
602
- async cancelOrderObject(
603
- subaccount: SubaccountInfo,
604
- cancelOrder: ICancelOrder,
605
- broadcastMode?: BroadcastMode,
606
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
607
- return this.cancelOrder(
608
- subaccount,
609
- cancelOrder.clientId,
610
- cancelOrder.orderFlags,
611
- cancelOrder.clobPairId,
612
- cancelOrder.goodTilBlock,
613
- cancelOrder.goodTilBlockTime,
614
- broadcastMode,
615
- );
616
- }
617
-
618
- async batchCancelShortTermOrders(
619
- subaccount: SubaccountInfo,
620
- shortTermOrders: OrderBatch[],
621
- goodTilBlock: number,
622
- broadcastMode?: BroadcastMode,
623
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
624
- const msg = await this.batchCancelShortTermOrdersMsg(
625
- subaccount.address,
626
- subaccount.subaccountNumber,
627
- shortTermOrders,
628
- goodTilBlock,
629
- );
630
- return this.send(
631
- subaccount,
632
- () => Promise.resolve([msg]),
633
- true,
634
- undefined,
635
- undefined,
636
- broadcastMode,
637
- );
638
- }
639
-
640
- async batchCancelShortTermOrdersMsg(
641
- address: string,
642
- subaccountNumber: number,
643
- shortTermOrders: OrderBatch[],
644
- goodTilBlock: number,
645
- ): Promise<EncodeObject> {
646
- return new Promise((resolve) => {
647
- const msg = this.composer.composeMsgBatchCancelShortTermOrders(
648
- address,
649
- subaccountNumber,
650
- shortTermOrders,
651
- goodTilBlock,
652
- );
653
- resolve(msg);
654
- });
655
- }
656
-
657
- async transfer(
658
- subaccount: SubaccountInfo,
659
- recipientAddress: string,
660
- recipientSubaccountNumber: number,
661
- assetId: number,
662
- amount: Long,
663
- broadcastMode?: BroadcastMode,
664
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
665
- const msg = await this.transferMsg(
666
- subaccount.address,
667
- subaccount.subaccountNumber,
668
- recipientAddress,
669
- recipientSubaccountNumber,
670
- assetId,
671
- amount,
672
- );
673
- return this.send(
674
- subaccount,
675
- () => Promise.resolve([msg]),
676
- false,
677
- undefined,
678
- undefined,
679
- broadcastMode,
680
- );
681
- }
682
-
683
- async transferMsg(
684
- address: string,
685
- subaccountNumber: number,
686
- recipientAddress: string,
687
- recipientSubaccountNumber: number,
688
- assetId: number,
689
- amount: Long,
690
- ): Promise<EncodeObject> {
691
- return new Promise((resolve) => {
692
- const msg = this.composer.composeMsgTransfer(
693
- address,
694
- subaccountNumber,
695
- recipientAddress,
696
- recipientSubaccountNumber,
697
- assetId,
698
- amount,
699
- );
700
- resolve(msg);
701
- });
702
- }
703
-
704
- async deposit(
705
- subaccount: SubaccountInfo,
706
- assetId: number,
707
- quantums: Long,
708
- broadcastMode?: BroadcastMode,
709
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
710
- const msg = await this.depositMsg(
711
- subaccount.address,
712
- subaccount.subaccountNumber,
713
- assetId,
714
- quantums,
715
- );
716
- return this.send(
717
- subaccount,
718
- () => Promise.resolve([msg]),
719
- false,
720
- undefined,
721
- undefined,
722
- broadcastMode,
723
- );
724
- }
725
-
726
- async depositMsg(
727
- address: string,
728
- subaccountNumber: number,
729
- assetId: number,
730
- quantums: Long,
731
- ): Promise<EncodeObject> {
732
- return new Promise((resolve) => {
733
- const msg = this.composer.composeMsgDepositToSubaccount(
734
- address,
735
- subaccountNumber,
736
- assetId,
737
- quantums,
738
- );
739
- resolve(msg);
740
- });
741
- }
742
-
743
- async withdraw(
744
- subaccount: SubaccountInfo,
745
- assetId: number,
746
- quantums: Long,
747
- recipient?: string,
748
- broadcastMode?: BroadcastMode,
749
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
750
- const msg = await this.withdrawMsg(
751
- subaccount.address,
752
- subaccount.subaccountNumber,
753
- assetId,
754
- quantums,
755
- recipient,
756
- );
757
- return this.send(
758
- subaccount,
759
- () => Promise.resolve([msg]),
760
- false,
761
- undefined,
762
- undefined,
763
- broadcastMode,
764
- );
765
- }
766
-
767
- async withdrawMsg(
768
- address: string,
769
- subaccountNumber: number,
770
- assetId: number,
771
- quantums: Long,
772
- recipient?: string,
773
- ): Promise<EncodeObject> {
774
- return new Promise((resolve) => {
775
- const msg = this.composer.composeMsgWithdrawFromSubaccount(
776
- address,
777
- subaccountNumber,
778
- assetId,
779
- quantums,
780
- recipient,
781
- );
782
- resolve(msg);
783
- });
784
- }
785
-
786
- async sendToken(
787
- subaccount: SubaccountInfo,
788
- recipient: string,
789
- coinDenom: string,
790
- quantums: string,
791
- zeroFee: boolean = true,
792
- broadcastMode?: BroadcastMode,
793
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
794
- const msg = await this.sendTokenMsg(subaccount.address, recipient, coinDenom, quantums);
795
- return this.send(
796
- subaccount,
797
- () => Promise.resolve([msg]),
798
- zeroFee,
799
- coinDenom === this.denoms.CHAINTOKEN_DENOM ? this.defaultChainGasPrice : this.defaultGasPrice,
800
- undefined,
801
- broadcastMode,
802
- );
803
- }
804
-
805
- async sendTokenMsg(
806
- address: string,
807
- recipient: string,
808
- coinDenom: string,
809
- quantums: string,
810
- ): Promise<EncodeObject> {
811
- if (coinDenom !== this.denoms.CHAINTOKEN_DENOM && coinDenom !== this.denoms.USDC_DENOM) {
812
- throw new Error('Unsupported coinDenom');
813
- }
814
-
815
- return new Promise((resolve) => {
816
- const msg = this.composer.composeMsgSendToken(address, recipient, coinDenom, quantums);
817
- resolve(msg);
818
- });
819
- }
820
-
821
- async delegate(
822
- subaccount: SubaccountInfo,
823
- delegator: string,
824
- validator: string,
825
- amount: string,
826
- broadcastMode?: BroadcastMode,
827
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
828
- const msg = this.composer.composeMsgDelegate(delegator, validator, {
829
- denom: this.denoms.CHAINTOKEN_DENOM,
830
- amount,
831
- });
832
- return this.send(
833
- subaccount,
834
- () => Promise.resolve([msg]),
835
- false,
836
- this.defaultChainGasPrice,
837
- undefined,
838
- broadcastMode,
839
- );
840
- }
841
-
842
- delegateMsg(delegator: string, validator: string, amount: string): EncodeObject {
843
- return this.composer.composeMsgDelegate(delegator, validator, {
844
- denom: this.denoms.CHAINTOKEN_DENOM,
845
- amount,
846
- });
847
- }
848
-
849
- async undelegate(
850
- subaccount: SubaccountInfo,
851
- delegator: string,
852
- validator: string,
853
- amount: string,
854
- broadcastMode?: BroadcastMode,
855
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
856
- const msg = this.composer.composeMsgUndelegate(delegator, validator, {
857
- denom: this.denoms.CHAINTOKEN_DENOM,
858
- amount,
859
- });
860
- return this.send(
861
- subaccount,
862
- () => Promise.resolve([msg]),
863
- false,
864
- this.defaultChainGasPrice,
865
- undefined,
866
- broadcastMode,
867
- );
868
- }
869
-
870
- undelegateMsg(delegator: string, validator: string, amount: string): EncodeObject {
871
- return this.composer.composeMsgUndelegate(delegator, validator, {
872
- denom: this.denoms.CHAINTOKEN_DENOM,
873
- amount,
874
- });
875
- }
876
-
877
- async withdrawDelegatorReward(
878
- subaccount: SubaccountInfo,
879
- delegator: string,
880
- validator: string,
881
- broadcastMode?: BroadcastMode,
882
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
883
- const msg = this.composer.composeMsgWithdrawDelegatorReward(delegator, validator);
884
- return this.send(
885
- subaccount,
886
- () => Promise.resolve([msg]),
887
- false,
888
- this.defaultGasPrice,
889
- undefined,
890
- broadcastMode,
891
- );
892
- }
893
-
894
- withdrawDelegatorRewardMsg(delegator: string, validator: string): EncodeObject {
895
- return this.composer.composeMsgWithdrawDelegatorReward(delegator, validator);
896
- }
897
-
898
- // vaults
899
- async depositToMegavault(
900
- subaccount: SubaccountInfo,
901
- quoteQuantums: Uint8Array,
902
- broadcastMode?: BroadcastMode,
903
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
904
- const msg = await this.depositToMegavaultMsg(
905
- subaccount.address,
906
- subaccount.subaccountNumber,
907
- quoteQuantums,
908
- );
909
- return this.send(
910
- subaccount,
911
- () => Promise.resolve([msg]),
912
- false,
913
- undefined,
914
- undefined,
915
- broadcastMode,
916
- );
917
- }
918
-
919
- depositToMegavaultMsg(
920
- ...args: Parameters<Composer['composeMsgDepositToMegavault']>
921
- ): EncodeObject {
922
- return this.composer.composeMsgDepositToMegavault(...args);
923
- }
924
-
925
- async withdrawFromMegavault(
926
- subaccount: SubaccountInfo,
927
- shares: Uint8Array,
928
- minQuoteQuantums: Uint8Array,
929
- broadcastMode?: BroadcastMode,
930
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
931
- const msg = await this.withdrawFromMegavaultMsg(
932
- subaccount.address,
933
- subaccount.subaccountNumber,
934
- shares,
935
- minQuoteQuantums,
936
- );
937
- return this.send(
938
- subaccount,
939
- () => Promise.resolve([msg]),
940
- false,
941
- undefined,
942
- undefined,
943
- broadcastMode,
944
- );
945
- }
946
-
947
- withdrawFromMegavaultMsg(
948
- ...args: Parameters<Composer['composeMsgWithdrawFromMegavault']>
949
- ): EncodeObject {
950
- return this.composer.composeMsgWithdrawFromMegavault(...args);
951
- }
952
-
953
- async registerAffiliate(
954
- subaccount: SubaccountInfo,
955
- affiliate: string,
956
- broadcastMode?: BroadcastMode,
957
- gasAdjustment: number = 2,
958
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
959
- const msg = this.registerAffiliateMsg(subaccount.address, affiliate);
960
- return this.send(
961
- subaccount,
962
- () => Promise.resolve([msg]),
963
- false,
964
- undefined,
965
- undefined,
966
- broadcastMode,
967
- undefined,
968
- gasAdjustment,
969
- );
970
- }
971
-
972
- registerAffiliateMsg(...args: Parameters<Composer['composeMsgRegisterAffiliate']>): EncodeObject {
973
- return this.composer.composeMsgRegisterAffiliate(...args);
974
- }
975
-
976
- launchMarketMsg(
977
- ...args: Parameters<Composer['composeMsgCreateMarketPermissionless']>
978
- ): EncodeObject {
979
- return this.composer.composeMsgCreateMarketPermissionless(...args);
980
- }
981
-
982
- async createMarketPermissionless(
983
- ticker: string,
984
- subaccount: SubaccountInfo,
985
- broadcastMode?: BroadcastMode,
986
- gasAdjustment?: number,
987
- memo?: string,
988
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
989
- const msg = this.launchMarketMsg(subaccount.address, ticker, subaccount.subaccountNumber);
990
-
991
- return this.send(
992
- subaccount,
993
- () => Promise.resolve([msg]),
994
- false,
995
- undefined,
996
- memo,
997
- broadcastMode,
998
- undefined,
999
- gasAdjustment,
1000
- );
1001
- }
1002
-
1003
- async addAuthenticator(
1004
- subaccount: SubaccountInfo,
1005
- authenticatorType: AuthenticatorType,
1006
- data: Uint8Array,
1007
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
1008
- const msg = this.composer.composeMsgAddAuthenticator(
1009
- subaccount.address,
1010
- authenticatorType,
1011
- data,
1012
- );
1013
-
1014
- return this.send(
1015
- subaccount,
1016
- () => Promise.resolve([msg]),
1017
- false,
1018
- undefined,
1019
- undefined,
1020
- Method.BroadcastTxSync,
1021
- undefined,
1022
- undefined,
1023
- );
1024
- }
1025
-
1026
- async removeAuthenticator(
1027
- subaccount: SubaccountInfo,
1028
- id: Long,
1029
- ): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx> {
1030
- const msg = this.composer.composeMsgRemoveAuthenticator(subaccount.address, id);
1031
-
1032
- return this.send(
1033
- subaccount,
1034
- () => Promise.resolve([msg]),
1035
- false,
1036
- undefined,
1037
- undefined,
1038
- Method.BroadcastTxSync,
1039
- undefined,
1040
- 3,
1041
- );
1042
- }
1043
- }