@perpx/js-sdk 0.0.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 (344) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +97 -0
  3. package/build/cjs/__tests__/clients/composite-client.test.js +130 -0
  4. package/build/cjs/__tests__/helpers/baseClients.js +29 -0
  5. package/build/cjs/__tests__/helpers/constants.js +110 -0
  6. package/build/cjs/__tests__/lib/helpers.test.js +45 -0
  7. package/build/cjs/__tests__/lib/util.test.js +67 -0
  8. package/build/cjs/__tests__/lib/validation.test.js +254 -0
  9. package/build/cjs/__tests__/modules/client/AccountEndpoints.test.js +186 -0
  10. package/build/cjs/__tests__/modules/client/FaucetEndpoint.test.js +15 -0
  11. package/build/cjs/__tests__/modules/client/MarketsEndpoints.test.js +69 -0
  12. package/build/cjs/__tests__/modules/client/Transfers.test.js +69 -0
  13. package/build/cjs/__tests__/modules/client/UtilityEndpoints.test.js +28 -0
  14. package/build/cjs/__tests__/modules/client/ValidatorGetEndpoints.test.js +46 -0
  15. package/build/cjs/__tests__/modules/client/ValidatorPostEndpoints.test.js +61 -0
  16. package/build/cjs/__tests__/modules/client/constants.js +7 -0
  17. package/build/cjs/__tests__/modules/onboarding.test.js +51 -0
  18. package/build/cjs/examples/account_endpoints.js +129 -0
  19. package/build/cjs/examples/batch_cancel_orders_example.js +93 -0
  20. package/build/cjs/examples/composite_example.js +50 -0
  21. package/build/cjs/examples/constants.js +35 -0
  22. package/build/cjs/examples/faucet_endpoint.js +23 -0
  23. package/build/cjs/examples/gov_add_new_market.js +77 -0
  24. package/build/cjs/examples/human_readable_orders.json +86 -0
  25. package/build/cjs/examples/human_readable_short_term_orders.json +42 -0
  26. package/build/cjs/examples/json-encoding.js +32 -0
  27. package/build/cjs/examples/long_term_order_cancel_example.js +63 -0
  28. package/build/cjs/examples/markets_endpoints.js +134 -0
  29. package/build/cjs/examples/native_examples.js +112 -0
  30. package/build/cjs/examples/noble_example.js +88 -0
  31. package/build/cjs/examples/optimal_node.js +70 -0
  32. package/build/cjs/examples/permissioned_keys_example.js +104 -0
  33. package/build/cjs/examples/raw_orders.json +130 -0
  34. package/build/cjs/examples/short_term_order_cancel_example.js +54 -0
  35. package/build/cjs/examples/short_term_order_composite_example.js +68 -0
  36. package/build/cjs/examples/test.js +50 -0
  37. package/build/cjs/examples/transfer_example_deposit.js +29 -0
  38. package/build/cjs/examples/transfer_example_send.js +42 -0
  39. package/build/cjs/examples/transfer_example_subaccount_transfer.js +29 -0
  40. package/build/cjs/examples/transfer_example_withdraw.js +30 -0
  41. package/build/cjs/examples/transfer_example_withdraw_other.js +42 -0
  42. package/build/cjs/examples/utility_endpoints.js +42 -0
  43. package/build/cjs/examples/validator_get_example.js +158 -0
  44. package/build/cjs/examples/validator_post_example.js +76 -0
  45. package/build/cjs/examples/wallet_address.js +22 -0
  46. package/build/cjs/examples/websocket_example.js +36 -0
  47. package/build/cjs/examples/websocket_orderbook_example.js +196 -0
  48. package/build/cjs/package.json +1 -0
  49. package/build/cjs/src/clients/composite-client.js +839 -0
  50. package/build/cjs/src/clients/constants.js +288 -0
  51. package/build/cjs/src/clients/faucet-client.js +36 -0
  52. package/build/cjs/src/clients/helpers/chain-helpers.js +178 -0
  53. package/build/cjs/src/clients/helpers/request-helpers.js +65 -0
  54. package/build/cjs/src/clients/indexer-client.js +56 -0
  55. package/build/cjs/src/clients/lib/axios/axiosRequest.js +34 -0
  56. package/build/cjs/src/clients/lib/axios/errors.js +28 -0
  57. package/build/cjs/src/clients/lib/axios/index.js +23 -0
  58. package/build/cjs/src/clients/lib/axios/types.js +11 -0
  59. package/build/cjs/src/clients/lib/cctpProto.js +3242 -0
  60. package/build/cjs/src/clients/lib/errors.js +58 -0
  61. package/build/cjs/src/clients/lib/registry.js +52 -0
  62. package/build/cjs/src/clients/modules/account.js +223 -0
  63. package/build/cjs/src/clients/modules/composer.js +419 -0
  64. package/build/cjs/src/clients/modules/get.js +442 -0
  65. package/build/cjs/src/clients/modules/local-wallet.js +82 -0
  66. package/build/cjs/src/clients/modules/markets.js +54 -0
  67. package/build/cjs/src/clients/modules/post.js +412 -0
  68. package/build/cjs/src/clients/modules/proto-includes.js +69 -0
  69. package/build/cjs/src/clients/modules/rest.js +41 -0
  70. package/build/cjs/src/clients/modules/signer.js +93 -0
  71. package/build/cjs/src/clients/modules/tendermintClient.js +137 -0
  72. package/build/cjs/src/clients/modules/utility.js +52 -0
  73. package/build/cjs/src/clients/modules/vault.js +25 -0
  74. package/build/cjs/src/clients/native.js +1330 -0
  75. package/build/cjs/src/clients/noble-client.js +96 -0
  76. package/build/cjs/src/clients/socket-client.js +304 -0
  77. package/build/cjs/src/clients/subaccount.js +45 -0
  78. package/build/cjs/src/clients/types.js +43 -0
  79. package/build/cjs/src/clients/validator-client.js +87 -0
  80. package/build/cjs/src/index.js +73 -0
  81. package/build/cjs/src/lib/constants.js +23 -0
  82. package/build/cjs/src/lib/errors.js +37 -0
  83. package/build/cjs/src/lib/helpers.js +108 -0
  84. package/build/cjs/src/lib/onboarding.js +75 -0
  85. package/build/cjs/src/lib/trading-key-utils.js +120 -0
  86. package/build/cjs/src/lib/utils.js +89 -0
  87. package/build/cjs/src/lib/validation.js +159 -0
  88. package/build/cjs/src/network_optimizer.js +109 -0
  89. package/build/cjs/src/types.js +25 -0
  90. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  91. package/build/esm/__tests__/clients/composite-client.test.d.ts +2 -0
  92. package/build/esm/__tests__/clients/composite-client.test.d.ts.map +1 -0
  93. package/build/esm/__tests__/clients/composite-client.test.js +128 -0
  94. package/build/esm/__tests__/helpers/baseClients.d.ts +19 -0
  95. package/build/esm/__tests__/helpers/baseClients.d.ts.map +1 -0
  96. package/build/esm/__tests__/helpers/baseClients.js +22 -0
  97. package/build/esm/__tests__/helpers/constants.d.ts +19 -0
  98. package/build/esm/__tests__/helpers/constants.d.ts.map +1 -0
  99. package/build/esm/__tests__/helpers/constants.js +104 -0
  100. package/build/esm/__tests__/lib/helpers.test.d.ts +2 -0
  101. package/build/esm/__tests__/lib/helpers.test.d.ts.map +1 -0
  102. package/build/esm/__tests__/lib/helpers.test.js +40 -0
  103. package/build/esm/__tests__/lib/util.test.d.ts +2 -0
  104. package/build/esm/__tests__/lib/util.test.d.ts.map +1 -0
  105. package/build/esm/__tests__/lib/util.test.js +65 -0
  106. package/build/esm/__tests__/lib/validation.test.d.ts +2 -0
  107. package/build/esm/__tests__/lib/validation.test.d.ts.map +1 -0
  108. package/build/esm/__tests__/lib/validation.test.js +249 -0
  109. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts +2 -0
  110. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts.map +1 -0
  111. package/build/esm/__tests__/modules/client/AccountEndpoints.test.js +181 -0
  112. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts +2 -0
  113. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts.map +1 -0
  114. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.js +13 -0
  115. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts +2 -0
  116. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts.map +1 -0
  117. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.js +66 -0
  118. package/build/esm/__tests__/modules/client/Transfers.test.d.ts +2 -0
  119. package/build/esm/__tests__/modules/client/Transfers.test.d.ts.map +1 -0
  120. package/build/esm/__tests__/modules/client/Transfers.test.js +64 -0
  121. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts +2 -0
  122. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts.map +1 -0
  123. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.js +26 -0
  124. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +2 -0
  125. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts.map +1 -0
  126. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.js +44 -0
  127. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +2 -0
  128. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts.map +1 -0
  129. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.js +56 -0
  130. package/build/esm/__tests__/modules/client/constants.d.ts +4 -0
  131. package/build/esm/__tests__/modules/client/constants.d.ts.map +1 -0
  132. package/build/esm/__tests__/modules/client/constants.js +4 -0
  133. package/build/esm/__tests__/modules/onboarding.test.d.ts +2 -0
  134. package/build/esm/__tests__/modules/onboarding.test.d.ts.map +1 -0
  135. package/build/esm/__tests__/modules/onboarding.test.js +49 -0
  136. package/build/esm/examples/account_endpoints.d.ts +5 -0
  137. package/build/esm/examples/account_endpoints.d.ts.map +1 -0
  138. package/build/esm/examples/account_endpoints.js +127 -0
  139. package/build/esm/examples/batch_cancel_orders_example.d.ts +2 -0
  140. package/build/esm/examples/batch_cancel_orders_example.d.ts.map +1 -0
  141. package/build/esm/examples/batch_cancel_orders_example.js +88 -0
  142. package/build/esm/examples/composite_example.d.ts +2 -0
  143. package/build/esm/examples/composite_example.d.ts.map +1 -0
  144. package/build/esm/examples/composite_example.js +45 -0
  145. package/build/esm/examples/constants.d.ts +13 -0
  146. package/build/esm/examples/constants.d.ts.map +1 -0
  147. package/build/esm/examples/constants.js +29 -0
  148. package/build/esm/examples/faucet_endpoint.d.ts +5 -0
  149. package/build/esm/examples/faucet_endpoint.d.ts.map +1 -0
  150. package/build/esm/examples/faucet_endpoint.js +21 -0
  151. package/build/esm/examples/gov_add_new_market.d.ts +2 -0
  152. package/build/esm/examples/gov_add_new_market.d.ts.map +1 -0
  153. package/build/esm/examples/gov_add_new_market.js +72 -0
  154. package/build/esm/examples/human_readable_orders.json +86 -0
  155. package/build/esm/examples/human_readable_short_term_orders.json +42 -0
  156. package/build/esm/examples/json-encoding.d.ts +2 -0
  157. package/build/esm/examples/json-encoding.d.ts.map +1 -0
  158. package/build/esm/examples/json-encoding.js +27 -0
  159. package/build/esm/examples/long_term_order_cancel_example.d.ts +2 -0
  160. package/build/esm/examples/long_term_order_cancel_example.d.ts.map +1 -0
  161. package/build/esm/examples/long_term_order_cancel_example.js +58 -0
  162. package/build/esm/examples/markets_endpoints.d.ts +5 -0
  163. package/build/esm/examples/markets_endpoints.d.ts.map +1 -0
  164. package/build/esm/examples/markets_endpoints.js +131 -0
  165. package/build/esm/examples/native_examples.d.ts +2 -0
  166. package/build/esm/examples/native_examples.d.ts.map +1 -0
  167. package/build/esm/examples/native_examples.js +110 -0
  168. package/build/esm/examples/noble_example.d.ts +2 -0
  169. package/build/esm/examples/noble_example.d.ts.map +1 -0
  170. package/build/esm/examples/noble_example.js +83 -0
  171. package/build/esm/examples/optimal_node.d.ts +2 -0
  172. package/build/esm/examples/optimal_node.d.ts.map +1 -0
  173. package/build/esm/examples/optimal_node.js +68 -0
  174. package/build/esm/examples/permissioned_keys_example.d.ts +2 -0
  175. package/build/esm/examples/permissioned_keys_example.d.ts.map +1 -0
  176. package/build/esm/examples/permissioned_keys_example.js +99 -0
  177. package/build/esm/examples/raw_orders.json +130 -0
  178. package/build/esm/examples/short_term_order_cancel_example.d.ts +2 -0
  179. package/build/esm/examples/short_term_order_cancel_example.d.ts.map +1 -0
  180. package/build/esm/examples/short_term_order_cancel_example.js +49 -0
  181. package/build/esm/examples/short_term_order_composite_example.d.ts +2 -0
  182. package/build/esm/examples/short_term_order_composite_example.d.ts.map +1 -0
  183. package/build/esm/examples/short_term_order_composite_example.js +63 -0
  184. package/build/esm/examples/test.d.ts +2 -0
  185. package/build/esm/examples/test.d.ts.map +1 -0
  186. package/build/esm/examples/test.js +45 -0
  187. package/build/esm/examples/transfer_example_deposit.d.ts +2 -0
  188. package/build/esm/examples/transfer_example_deposit.d.ts.map +1 -0
  189. package/build/esm/examples/transfer_example_deposit.js +24 -0
  190. package/build/esm/examples/transfer_example_send.d.ts +2 -0
  191. package/build/esm/examples/transfer_example_send.d.ts.map +1 -0
  192. package/build/esm/examples/transfer_example_send.js +37 -0
  193. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts +2 -0
  194. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts.map +1 -0
  195. package/build/esm/examples/transfer_example_subaccount_transfer.js +24 -0
  196. package/build/esm/examples/transfer_example_withdraw.d.ts +2 -0
  197. package/build/esm/examples/transfer_example_withdraw.d.ts.map +1 -0
  198. package/build/esm/examples/transfer_example_withdraw.js +25 -0
  199. package/build/esm/examples/transfer_example_withdraw_other.d.ts +2 -0
  200. package/build/esm/examples/transfer_example_withdraw_other.d.ts.map +1 -0
  201. package/build/esm/examples/transfer_example_withdraw_other.js +37 -0
  202. package/build/esm/examples/utility_endpoints.d.ts +5 -0
  203. package/build/esm/examples/utility_endpoints.d.ts.map +1 -0
  204. package/build/esm/examples/utility_endpoints.js +40 -0
  205. package/build/esm/examples/validator_get_example.d.ts +2 -0
  206. package/build/esm/examples/validator_get_example.d.ts.map +1 -0
  207. package/build/esm/examples/validator_get_example.js +156 -0
  208. package/build/esm/examples/validator_post_example.d.ts +2 -0
  209. package/build/esm/examples/validator_post_example.d.ts.map +1 -0
  210. package/build/esm/examples/validator_post_example.js +71 -0
  211. package/build/esm/examples/wallet_address.d.ts +2 -0
  212. package/build/esm/examples/wallet_address.d.ts.map +1 -0
  213. package/build/esm/examples/wallet_address.js +17 -0
  214. package/build/esm/examples/websocket_example.d.ts +2 -0
  215. package/build/esm/examples/websocket_example.d.ts.map +1 -0
  216. package/build/esm/examples/websocket_example.js +34 -0
  217. package/build/esm/examples/websocket_orderbook_example.d.ts +2 -0
  218. package/build/esm/examples/websocket_orderbook_example.d.ts.map +1 -0
  219. package/build/esm/examples/websocket_orderbook_example.js +194 -0
  220. package/build/esm/src/clients/composite-client.d.ts +457 -0
  221. package/build/esm/src/clients/composite-client.d.ts.map +1 -0
  222. package/build/esm/src/clients/composite-client.js +832 -0
  223. package/build/esm/src/clients/constants.d.ts +173 -0
  224. package/build/esm/src/clients/constants.d.ts.map +1 -0
  225. package/build/esm/src/clients/constants.js +264 -0
  226. package/build/esm/src/clients/faucet-client.d.ts +18 -0
  227. package/build/esm/src/clients/faucet-client.d.ts.map +1 -0
  228. package/build/esm/src/clients/faucet-client.js +29 -0
  229. package/build/esm/src/clients/helpers/chain-helpers.d.ts +15 -0
  230. package/build/esm/src/clients/helpers/chain-helpers.d.ts.map +1 -0
  231. package/build/esm/src/clients/helpers/chain-helpers.js +163 -0
  232. package/build/esm/src/clients/helpers/request-helpers.d.ts +3 -0
  233. package/build/esm/src/clients/helpers/request-helpers.d.ts.map +1 -0
  234. package/build/esm/src/clients/helpers/request-helpers.js +58 -0
  235. package/build/esm/src/clients/indexer-client.d.ts +40 -0
  236. package/build/esm/src/clients/indexer-client.d.ts.map +1 -0
  237. package/build/esm/src/clients/indexer-client.js +49 -0
  238. package/build/esm/src/clients/lib/axios/axiosRequest.d.ts +9 -0
  239. package/build/esm/src/clients/lib/axios/axiosRequest.d.ts.map +1 -0
  240. package/build/esm/src/clients/lib/axios/axiosRequest.js +28 -0
  241. package/build/esm/src/clients/lib/axios/errors.d.ts +31 -0
  242. package/build/esm/src/clients/lib/axios/errors.d.ts.map +1 -0
  243. package/build/esm/src/clients/lib/axios/errors.js +23 -0
  244. package/build/esm/src/clients/lib/axios/index.d.ts +7 -0
  245. package/build/esm/src/clients/lib/axios/index.d.ts.map +1 -0
  246. package/build/esm/src/clients/lib/axios/index.js +7 -0
  247. package/build/esm/src/clients/lib/axios/types.d.ts +12 -0
  248. package/build/esm/src/clients/lib/axios/types.d.ts.map +1 -0
  249. package/build/esm/src/clients/lib/axios/types.js +8 -0
  250. package/build/esm/src/clients/lib/cctpProto.d.ts +670 -0
  251. package/build/esm/src/clients/lib/cctpProto.d.ts.map +1 -0
  252. package/build/esm/src/clients/lib/cctpProto.js +3234 -0
  253. package/build/esm/src/clients/lib/errors.d.ts +36 -0
  254. package/build/esm/src/clients/lib/errors.d.ts.map +1 -0
  255. package/build/esm/src/clients/lib/errors.js +50 -0
  256. package/build/esm/src/clients/lib/registry.d.ts +4 -0
  257. package/build/esm/src/clients/lib/registry.d.ts.map +1 -0
  258. package/build/esm/src/clients/lib/registry.js +48 -0
  259. package/build/esm/src/clients/modules/account.d.ts +30 -0
  260. package/build/esm/src/clients/modules/account.d.ts.map +1 -0
  261. package/build/esm/src/clients/modules/account.js +217 -0
  262. package/build/esm/src/clients/modules/composer.d.ts +38 -0
  263. package/build/esm/src/clients/modules/composer.d.ts.map +1 -0
  264. package/build/esm/src/clients/modules/composer.js +412 -0
  265. package/build/esm/src/clients/modules/get.d.ts +199 -0
  266. package/build/esm/src/clients/modules/get.d.ts.map +1 -0
  267. package/build/esm/src/clients/modules/get.js +402 -0
  268. package/build/esm/src/clients/modules/local-wallet.d.ts +42 -0
  269. package/build/esm/src/clients/modules/local-wallet.d.ts.map +1 -0
  270. package/build/esm/src/clients/modules/local-wallet.js +76 -0
  271. package/build/esm/src/clients/modules/markets.d.ts +14 -0
  272. package/build/esm/src/clients/modules/markets.d.ts.map +1 -0
  273. package/build/esm/src/clients/modules/markets.js +48 -0
  274. package/build/esm/src/clients/modules/post.d.ts +137 -0
  275. package/build/esm/src/clients/modules/post.d.ts.map +1 -0
  276. package/build/esm/src/clients/modules/post.js +405 -0
  277. package/build/esm/src/clients/modules/proto-includes.d.ts +30 -0
  278. package/build/esm/src/clients/modules/proto-includes.d.ts.map +1 -0
  279. package/build/esm/src/clients/modules/proto-includes.js +30 -0
  280. package/build/esm/src/clients/modules/rest.d.ts +13 -0
  281. package/build/esm/src/clients/modules/rest.d.ts.map +1 -0
  282. package/build/esm/src/clients/modules/rest.js +35 -0
  283. package/build/esm/src/clients/modules/signer.d.ts +19 -0
  284. package/build/esm/src/clients/modules/signer.d.ts.map +1 -0
  285. package/build/esm/src/clients/modules/signer.js +86 -0
  286. package/build/esm/src/clients/modules/tendermintClient.d.ts +52 -0
  287. package/build/esm/src/clients/modules/tendermintClient.d.ts.map +1 -0
  288. package/build/esm/src/clients/modules/tendermintClient.js +133 -0
  289. package/build/esm/src/clients/modules/utility.d.ts +32 -0
  290. package/build/esm/src/clients/modules/utility.d.ts.map +1 -0
  291. package/build/esm/src/clients/modules/utility.js +46 -0
  292. package/build/esm/src/clients/modules/vault.d.ts +12 -0
  293. package/build/esm/src/clients/modules/vault.d.ts.map +1 -0
  294. package/build/esm/src/clients/modules/vault.js +19 -0
  295. package/build/esm/src/clients/native.d.ts +75 -0
  296. package/build/esm/src/clients/native.d.ts.map +1 -0
  297. package/build/esm/src/clients/native.js +1237 -0
  298. package/build/esm/src/clients/noble-client.d.ts +39 -0
  299. package/build/esm/src/clients/noble-client.d.ts.map +1 -0
  300. package/build/esm/src/clients/noble-client.js +92 -0
  301. package/build/esm/src/clients/socket-client.d.ts +149 -0
  302. package/build/esm/src/clients/socket-client.d.ts.map +1 -0
  303. package/build/esm/src/clients/socket-client.js +297 -0
  304. package/build/esm/src/clients/subaccount.d.ts +26 -0
  305. package/build/esm/src/clients/subaccount.d.ts.map +1 -0
  306. package/build/esm/src/clients/subaccount.js +41 -0
  307. package/build/esm/src/clients/types.d.ts +139 -0
  308. package/build/esm/src/clients/types.d.ts.map +1 -0
  309. package/build/esm/src/clients/types.js +26 -0
  310. package/build/esm/src/clients/validator-client.d.ts +41 -0
  311. package/build/esm/src/clients/validator-client.d.ts.map +1 -0
  312. package/build/esm/src/clients/validator-client.js +80 -0
  313. package/build/esm/src/index.d.ts +17 -0
  314. package/build/esm/src/index.d.ts.map +1 -0
  315. package/build/esm/src/index.js +19 -0
  316. package/build/esm/src/lib/constants.d.ts +13 -0
  317. package/build/esm/src/lib/constants.d.ts.map +1 -0
  318. package/build/esm/src/lib/constants.js +20 -0
  319. package/build/esm/src/lib/errors.d.ts +23 -0
  320. package/build/esm/src/lib/errors.d.ts.map +1 -0
  321. package/build/esm/src/lib/errors.js +31 -0
  322. package/build/esm/src/lib/helpers.d.ts +32 -0
  323. package/build/esm/src/lib/helpers.d.ts.map +1 -0
  324. package/build/esm/src/lib/helpers.js +98 -0
  325. package/build/esm/src/lib/onboarding.d.ts +46 -0
  326. package/build/esm/src/lib/onboarding.d.ts.map +1 -0
  327. package/build/esm/src/lib/onboarding.js +69 -0
  328. package/build/esm/src/lib/trading-key-utils.d.ts +37 -0
  329. package/build/esm/src/lib/trading-key-utils.d.ts.map +1 -0
  330. package/build/esm/src/lib/trading-key-utils.js +111 -0
  331. package/build/esm/src/lib/utils.d.ts +49 -0
  332. package/build/esm/src/lib/utils.d.ts.map +1 -0
  333. package/build/esm/src/lib/utils.js +79 -0
  334. package/build/esm/src/lib/validation.d.ts +35 -0
  335. package/build/esm/src/lib/validation.d.ts.map +1 -0
  336. package/build/esm/src/lib/validation.js +147 -0
  337. package/build/esm/src/network_optimizer.d.ts +21 -0
  338. package/build/esm/src/network_optimizer.d.ts.map +1 -0
  339. package/build/esm/src/network_optimizer.js +104 -0
  340. package/build/esm/src/types.d.ts +26 -0
  341. package/build/esm/src/types.d.ts.map +1 -0
  342. package/build/esm/src/types.js +8 -0
  343. package/build/esm/tsconfig.esm.tsbuildinfo +1 -0
  344. package/package.json +129 -0
@@ -0,0 +1,39 @@
1
+ import { EncodeObject, Coin } from '@cosmjs/proto-signing';
2
+ import { DeliverTxResponse, GasPrice, StdFee, MsgTransferEncodeObject } from '@cosmjs/stargate';
3
+ import LocalWallet from './modules/local-wallet';
4
+ export declare class NobleClient {
5
+ private wallet?;
6
+ private restEndpoint;
7
+ private stargateClient?;
8
+ private defaultClientMemo?;
9
+ constructor(restEndpoint: string, defaultClientMemo?: string);
10
+ /**
11
+ * @description Whether the Noble client is connected to a signer.
12
+ */
13
+ get isConnected(): boolean;
14
+ /**
15
+ * @description Connect the client with a wallet signer.
16
+ */
17
+ connect(wallet: LocalWallet): Promise<void>;
18
+ /**
19
+ * @description Get all balances for the connected wallet.
20
+ */
21
+ getAccountBalances(): Promise<readonly Coin[]>;
22
+ /**
23
+ * @description Get the balance for a specific denom.
24
+ */
25
+ getAccountBalance(denom: string): Promise<Coin>;
26
+ /**
27
+ * @description Send an IBC transfer message using the connected wallet.
28
+ */
29
+ IBCTransfer(message: MsgTransferEncodeObject): Promise<DeliverTxResponse>;
30
+ /**
31
+ * @description Simulate, sign, and broadcast one or more messages.
32
+ */
33
+ send(messages: EncodeObject[], gasPrice?: GasPrice, memo?: string): Promise<DeliverTxResponse>;
34
+ /**
35
+ * @description Simulate a transaction and return the fee estimate.
36
+ */
37
+ simulateTransaction(messages: readonly EncodeObject[], gasPrice?: GasPrice, memo?: string): Promise<StdFee>;
38
+ }
39
+ //# sourceMappingURL=noble-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noble-client.d.ts","sourceRoot":"","sources":["../../../../src/clients/noble-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAEL,iBAAiB,EACjB,QAAQ,EACR,MAAM,EAGN,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAEjD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAwB;IAC/C,OAAO,CAAC,iBAAiB,CAAC,CAAS;gBAEvB,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM;IAK5D;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjD;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAO9C;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAK/E;;OAEG;IACG,IAAI,CACR,QAAQ,EAAE,YAAY,EAAE,EACxB,QAAQ,GAAE,QAA0C,EACpD,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC;IAmB7B;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,QAAQ,GAAE,QAA0C,EACpD,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;CAanB"}
@@ -0,0 +1,92 @@
1
+ import { Registry } from '@cosmjs/proto-signing';
2
+ import { calculateFee, GasPrice, defaultRegistryTypes, SigningStargateClient, } from '@cosmjs/stargate';
3
+ import { GAS_MULTIPLIER } from './constants';
4
+ import { MsgDepositForBurn, MsgDepositForBurnWithCaller } from './lib/cctpProto';
5
+ export class NobleClient {
6
+ constructor(restEndpoint, defaultClientMemo) {
7
+ this.restEndpoint = restEndpoint;
8
+ this.defaultClientMemo = defaultClientMemo;
9
+ }
10
+ /**
11
+ * @description Whether the Noble client is connected to a signer.
12
+ */
13
+ get isConnected() {
14
+ return Boolean(this.stargateClient);
15
+ }
16
+ /**
17
+ * @description Connect the client with a wallet signer.
18
+ */
19
+ async connect(wallet) {
20
+ if ((wallet === null || wallet === void 0 ? void 0 : wallet.offlineSigner) === undefined) {
21
+ throw new Error('Wallet signer not found');
22
+ }
23
+ this.wallet = wallet;
24
+ this.stargateClient = await SigningStargateClient.connectWithSigner(this.restEndpoint, wallet.offlineSigner, {
25
+ registry: new Registry([
26
+ ['/circle.cctp.v1.MsgDepositForBurn', MsgDepositForBurn],
27
+ ['/circle.cctp.v1.MsgDepositForBurnWithCaller', MsgDepositForBurnWithCaller],
28
+ ...defaultRegistryTypes,
29
+ ]),
30
+ });
31
+ }
32
+ /**
33
+ * @description Get all balances for the connected wallet.
34
+ */
35
+ getAccountBalances() {
36
+ var _a;
37
+ if (!this.stargateClient || ((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
38
+ throw new Error('stargateClient not initialized');
39
+ }
40
+ return this.stargateClient.getAllBalances(this.wallet.address);
41
+ }
42
+ /**
43
+ * @description Get the balance for a specific denom.
44
+ */
45
+ getAccountBalance(denom) {
46
+ var _a;
47
+ if (!this.stargateClient || ((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
48
+ throw new Error('stargateClient not initialized');
49
+ }
50
+ return this.stargateClient.getBalance(this.wallet.address, denom);
51
+ }
52
+ /**
53
+ * @description Send an IBC transfer message using the connected wallet.
54
+ */
55
+ async IBCTransfer(message) {
56
+ const tx = await this.send([message]);
57
+ return tx;
58
+ }
59
+ /**
60
+ * @description Simulate, sign, and broadcast one or more messages.
61
+ */
62
+ async send(messages, gasPrice = GasPrice.fromString('0.1uusdc'), memo) {
63
+ var _a;
64
+ if (!this.stargateClient) {
65
+ throw new Error('NobleClient stargateClient not initialized');
66
+ }
67
+ if (((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
68
+ throw new Error('NobleClient wallet not initialized');
69
+ }
70
+ // Simulate to get the gas estimate
71
+ const fee = await this.simulateTransaction(messages, gasPrice, memo !== null && memo !== void 0 ? memo : this.defaultClientMemo);
72
+ // Sign and broadcast the transaction
73
+ return this.stargateClient.signAndBroadcast(this.wallet.address, messages, fee, memo !== null && memo !== void 0 ? memo : this.defaultClientMemo);
74
+ }
75
+ /**
76
+ * @description Simulate a transaction and return the fee estimate.
77
+ */
78
+ async simulateTransaction(messages, gasPrice = GasPrice.fromString('0.1uusdc'), memo) {
79
+ var _a, _b;
80
+ if (!this.stargateClient) {
81
+ throw new Error('NobleClient stargateClient not initialized');
82
+ }
83
+ if (((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
84
+ throw new Error('NobleClient wallet not initialized');
85
+ }
86
+ // Get simulated response
87
+ const gasEstimate = await this.stargateClient.simulate((_b = this.wallet) === null || _b === void 0 ? void 0 : _b.address, messages, memo);
88
+ // Calculate and return the fee
89
+ return calculateFee(Math.floor(gasEstimate * GAS_MULTIPLIER), gasPrice);
90
+ }
91
+ }
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ibGUtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbm9ibGUtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUNMLFlBQVksRUFFWixRQUFRLEVBRVIsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUV0QixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHakYsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFBWSxZQUFvQixFQUFFLGlCQUEwQjtRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBbUI7UUFDL0IsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxhQUFhLE1BQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0scUJBQXFCLENBQUMsaUJBQWlCLENBQ2pFLElBQUksQ0FBQyxZQUFZLEVBQ2pCLE1BQU0sQ0FBQyxhQUFhLEVBQ3BCO1lBQ0UsUUFBUSxFQUFFLElBQUksUUFBUSxDQUFD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
@@ -0,0 +1,149 @@
1
+ import { ErrorEvent, MessageEvent } from 'ws';
2
+ import { IndexerConfig } from './constants';
3
+ export declare enum IncomingMessageTypes {
4
+ CONNECTED = "connected",
5
+ SUBSCRIBED = "subscribed",
6
+ ERROR = "error",
7
+ CHANNEL_DATA = "channel_data",
8
+ CHANNEL_BATCH_DATA = "channel_batch_data",
9
+ PONG = "pong"
10
+ }
11
+ export declare enum CandlesResolution {
12
+ ONE_MINUTE = "1MIN",
13
+ FIVE_MINUTES = "5MINS",
14
+ FIFTEEN_MINUTES = "15MINS",
15
+ THIRTY_MINUTES = "30MINS",
16
+ ONE_HOUR = "1HOUR",
17
+ FOUR_HOURS = "4HOURS",
18
+ ONE_DAY = "1DAY"
19
+ }
20
+ export declare class SocketClient {
21
+ private url;
22
+ private ws?;
23
+ private proxyAgent?;
24
+ private onOpenCallback?;
25
+ private onCloseCallback?;
26
+ private onMessageCallback?;
27
+ private onErrorCallback?;
28
+ private lastMessageTime;
29
+ constructor(config: IndexerConfig, onOpenCallback: () => void, onCloseCallback: () => void, onMessageCallback: (event: MessageEvent) => void, onErrorCallback: (event: ErrorEvent) => void);
30
+ /**
31
+ * @description Open the websocket connection.
32
+ */
33
+ connect(): void;
34
+ /**
35
+ * @description Close the websocket connection.
36
+ *
37
+ */
38
+ close(): void;
39
+ /**
40
+ * @description Check is the websocket connection connecting
41
+ */
42
+ isConnecting(): boolean;
43
+ /**
44
+ * @description Check is the websocket connection open
45
+ */
46
+ isOpen(): boolean;
47
+ /**
48
+ * @description Check is the websocket connection closing
49
+ */
50
+ isClosing(): boolean;
51
+ /**
52
+ * @description Check is the websocket connection closed
53
+ */
54
+ isClosed(): boolean;
55
+ /**
56
+ * @description Send data to the websocket connection.
57
+ *
58
+ */
59
+ send(data: string): void;
60
+ private handleOpen;
61
+ private handleClose;
62
+ private handleMessage;
63
+ private handleError;
64
+ /**
65
+ * @description Set callback when the socket is opened.
66
+ *
67
+ */
68
+ set onOpen(callback: () => void);
69
+ /**
70
+ * @description Set callback when the socket is closed.
71
+ *
72
+ */
73
+ set onClose(callback: () => void);
74
+ /**
75
+ * @description Set callback when the socket receives a message.
76
+ *
77
+ */
78
+ set onMessage(callback: (event: MessageEvent) => void);
79
+ /**
80
+ * @description Set callback when the socket encounters an error.
81
+ */
82
+ set onError(callback: (event: ErrorEvent) => void);
83
+ /**
84
+ * @description Send a subscribe message to the websocket connection.
85
+ *
86
+ */
87
+ subscribe(channel: string, params?: object): void;
88
+ /**
89
+ * @description Send an unsubscribe message to the websocket connection.
90
+ *
91
+ */
92
+ unsubscribe(channel: string, params?: object): void;
93
+ /**
94
+ * @description Subscribe to markets channel.
95
+ *
96
+ */
97
+ subscribeToMarkets(): void;
98
+ /**
99
+ * @description Unsubscribe from markets channel
100
+ *
101
+ */
102
+ unsubscribeFromMarkets(): void;
103
+ /**
104
+ * @description Subscribe to trade channel
105
+ * for a specific market.
106
+ *
107
+ */
108
+ subscribeToTrades(market: string): void;
109
+ /**
110
+ * @description Unscribed from trade channel
111
+ * for a specific market.
112
+ *
113
+ */
114
+ unsubscribeFromTrades(market: string): void;
115
+ /**
116
+ * @description Subscribe to orderbook channel
117
+ * for a specific market.
118
+ *
119
+ */
120
+ subscribeToOrderbook(market: string): void;
121
+ /**
122
+ * @description Unsubscribe from orderbook channel
123
+ * for a specific market.
124
+ */
125
+ unsubscribeFromOrderbook(market: string): void;
126
+ /**
127
+ * @description Subscribe to candles channel
128
+ * for a specific market and resolution.
129
+ *
130
+ */
131
+ subscribeToCandles(market: string, resolution: CandlesResolution): void;
132
+ /**
133
+ * @description Unsubscribe from candles channel
134
+ * for a specific market and resolution.
135
+ */
136
+ unsubscribeFromCandles(market: string, resolution: CandlesResolution): void;
137
+ /**
138
+ * @description Subscribe to subaccount channel
139
+ * for a specific address and subaccount number.
140
+ */
141
+ subscribeToSubaccount(address: string, subaccountNumber: number): void;
142
+ /**
143
+ * @description Unsubscribe from subaccount channel
144
+ * for a specific address and subaccount number.
145
+ *
146
+ */
147
+ unsubscribeFromSubaccount(address: string, subaccountNumber: number): void;
148
+ }
149
+ //# sourceMappingURL=socket-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-client.d.ts","sourceRoot":"","sources":["../../../../src/clients/socket-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,297 @@
1
+ import WebSocket from 'ws';
2
+ import { getProxyAgent } from '../lib/utils';
3
+ var OutgoingMessageTypes;
4
+ (function (OutgoingMessageTypes) {
5
+ OutgoingMessageTypes["SUBSCRIBE"] = "subscribe";
6
+ OutgoingMessageTypes["UNSUBSCRIBE"] = "unsubscribe";
7
+ })(OutgoingMessageTypes || (OutgoingMessageTypes = {}));
8
+ var SocketChannels;
9
+ (function (SocketChannels) {
10
+ SocketChannels["SUBACCOUNTS"] = "v4_subaccounts";
11
+ SocketChannels["ORDERBOOK"] = "v4_orderbook";
12
+ SocketChannels["TRADES"] = "v4_trades";
13
+ SocketChannels["MARKETS"] = "v4_markets";
14
+ SocketChannels["CANDLES"] = "v4_candles";
15
+ })(SocketChannels || (SocketChannels = {}));
16
+ export var IncomingMessageTypes;
17
+ (function (IncomingMessageTypes) {
18
+ IncomingMessageTypes["CONNECTED"] = "connected";
19
+ IncomingMessageTypes["SUBSCRIBED"] = "subscribed";
20
+ IncomingMessageTypes["ERROR"] = "error";
21
+ IncomingMessageTypes["CHANNEL_DATA"] = "channel_data";
22
+ IncomingMessageTypes["CHANNEL_BATCH_DATA"] = "channel_batch_data";
23
+ IncomingMessageTypes["PONG"] = "pong";
24
+ })(IncomingMessageTypes || (IncomingMessageTypes = {}));
25
+ export var CandlesResolution;
26
+ (function (CandlesResolution) {
27
+ CandlesResolution["ONE_MINUTE"] = "1MIN";
28
+ CandlesResolution["FIVE_MINUTES"] = "5MINS";
29
+ CandlesResolution["FIFTEEN_MINUTES"] = "15MINS";
30
+ CandlesResolution["THIRTY_MINUTES"] = "30MINS";
31
+ CandlesResolution["ONE_HOUR"] = "1HOUR";
32
+ CandlesResolution["FOUR_HOURS"] = "4HOURS";
33
+ CandlesResolution["ONE_DAY"] = "1DAY";
34
+ })(CandlesResolution || (CandlesResolution = {}));
35
+ export class SocketClient {
36
+ constructor(config, onOpenCallback, onCloseCallback, onMessageCallback, onErrorCallback) {
37
+ this.lastMessageTime = Date.now();
38
+ this.url = config.websocketEndpoint;
39
+ this.proxyAgent = config.proxy ? getProxyAgent(config.proxy) : undefined;
40
+ this.onOpenCallback = onOpenCallback;
41
+ this.onCloseCallback = onCloseCallback;
42
+ this.onMessageCallback = onMessageCallback;
43
+ this.onErrorCallback = onErrorCallback;
44
+ }
45
+ /**
46
+ * @description Open the websocket connection.
47
+ */
48
+ connect() {
49
+ this.ws = new WebSocket(this.url, {
50
+ agent: this.proxyAgent,
51
+ });
52
+ this.ws.addEventListener('open', this.handleOpen.bind(this));
53
+ this.ws.addEventListener('close', this.handleClose.bind(this));
54
+ this.ws.addEventListener('message', this.handleMessage.bind(this));
55
+ this.ws.addEventListener('error', this.handleError.bind(this));
56
+ }
57
+ /**
58
+ * @description Close the websocket connection.
59
+ *
60
+ */
61
+ close() {
62
+ var _a;
63
+ (_a = this.ws) === null || _a === void 0 ? void 0 : _a.close();
64
+ this.ws = undefined;
65
+ }
66
+ /**
67
+ * @description Check is the websocket connection connecting
68
+ */
69
+ isConnecting() {
70
+ var _a;
71
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.CONNECTING;
72
+ }
73
+ /**
74
+ * @description Check is the websocket connection open
75
+ */
76
+ isOpen() {
77
+ var _a;
78
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN;
79
+ }
80
+ /**
81
+ * @description Check is the websocket connection closing
82
+ */
83
+ isClosing() {
84
+ var _a;
85
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.CLOSING;
86
+ }
87
+ /**
88
+ * @description Check is the websocket connection closed
89
+ */
90
+ isClosed() {
91
+ var _a;
92
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.CLOSED;
93
+ }
94
+ /**
95
+ * @description Send data to the websocket connection.
96
+ *
97
+ */
98
+ send(data) {
99
+ var _a;
100
+ (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send(data);
101
+ }
102
+ handleOpen() {
103
+ if (this.onOpenCallback) {
104
+ this.onOpenCallback();
105
+ }
106
+ }
107
+ handleClose() {
108
+ if (this.onCloseCallback) {
109
+ this.onCloseCallback();
110
+ }
111
+ }
112
+ handleMessage(event) {
113
+ if (event.data === 'PING') {
114
+ this.send('PONG');
115
+ }
116
+ else {
117
+ this.lastMessageTime = Date.now();
118
+ if (this.onMessageCallback) {
119
+ this.onMessageCallback(event);
120
+ }
121
+ }
122
+ }
123
+ handleError(event) {
124
+ if (this.onErrorCallback) {
125
+ this.onErrorCallback(event);
126
+ }
127
+ }
128
+ /**
129
+ * @description Set callback when the socket is opened.
130
+ *
131
+ */
132
+ set onOpen(callback) {
133
+ this.onOpenCallback = callback;
134
+ }
135
+ /**
136
+ * @description Set callback when the socket is closed.
137
+ *
138
+ */
139
+ set onClose(callback) {
140
+ this.onCloseCallback = callback;
141
+ }
142
+ /**
143
+ * @description Set callback when the socket receives a message.
144
+ *
145
+ */
146
+ set onMessage(callback) {
147
+ this.onMessageCallback = callback;
148
+ }
149
+ /**
150
+ * @description Set callback when the socket encounters an error.
151
+ */
152
+ set onError(callback) {
153
+ this.onErrorCallback = callback;
154
+ }
155
+ /**
156
+ * @description Send a subscribe message to the websocket connection.
157
+ *
158
+ */
159
+ subscribe(channel, params) {
160
+ const message = {
161
+ type: OutgoingMessageTypes.SUBSCRIBE,
162
+ channel,
163
+ ...params,
164
+ };
165
+ this.send(JSON.stringify(message));
166
+ }
167
+ /**
168
+ * @description Send an unsubscribe message to the websocket connection.
169
+ *
170
+ */
171
+ unsubscribe(channel, params) {
172
+ const message = {
173
+ type: OutgoingMessageTypes.UNSUBSCRIBE,
174
+ channel,
175
+ ...params,
176
+ };
177
+ this.send(JSON.stringify(message));
178
+ }
179
+ /**
180
+ * @description Subscribe to markets channel.
181
+ *
182
+ */
183
+ subscribeToMarkets() {
184
+ const channel = SocketChannels.MARKETS;
185
+ const params = {
186
+ batched: true,
187
+ };
188
+ this.subscribe(channel, params);
189
+ }
190
+ /**
191
+ * @description Unsubscribe from markets channel
192
+ *
193
+ */
194
+ unsubscribeFromMarkets() {
195
+ const channel = SocketChannels.MARKETS;
196
+ this.unsubscribe(channel);
197
+ }
198
+ /**
199
+ * @description Subscribe to trade channel
200
+ * for a specific market.
201
+ *
202
+ */
203
+ subscribeToTrades(market) {
204
+ const channel = SocketChannels.TRADES;
205
+ const params = {
206
+ id: market,
207
+ batched: true,
208
+ };
209
+ this.subscribe(channel, params);
210
+ }
211
+ /**
212
+ * @description Unscribed from trade channel
213
+ * for a specific market.
214
+ *
215
+ */
216
+ unsubscribeFromTrades(market) {
217
+ const channel = SocketChannels.TRADES;
218
+ const params = {
219
+ id: market,
220
+ };
221
+ this.unsubscribe(channel, params);
222
+ }
223
+ /**
224
+ * @description Subscribe to orderbook channel
225
+ * for a specific market.
226
+ *
227
+ */
228
+ subscribeToOrderbook(market) {
229
+ const channel = SocketChannels.ORDERBOOK;
230
+ const params = {
231
+ id: market,
232
+ batched: true,
233
+ };
234
+ this.subscribe(channel, params);
235
+ }
236
+ /**
237
+ * @description Unsubscribe from orderbook channel
238
+ * for a specific market.
239
+ */
240
+ unsubscribeFromOrderbook(market) {
241
+ const channel = SocketChannels.ORDERBOOK;
242
+ const params = {
243
+ id: market,
244
+ };
245
+ this.unsubscribe(channel, params);
246
+ }
247
+ /**
248
+ * @description Subscribe to candles channel
249
+ * for a specific market and resolution.
250
+ *
251
+ */
252
+ subscribeToCandles(market, resolution) {
253
+ const channel = SocketChannels.CANDLES;
254
+ const params = {
255
+ id: `${market}/${resolution}`,
256
+ batched: true,
257
+ };
258
+ this.subscribe(channel, params);
259
+ }
260
+ /**
261
+ * @description Unsubscribe from candles channel
262
+ * for a specific market and resolution.
263
+ */
264
+ unsubscribeFromCandles(market, resolution) {
265
+ const channel = SocketChannels.CANDLES;
266
+ const params = {
267
+ id: `${market}/${resolution}`,
268
+ };
269
+ this.unsubscribe(channel, params);
270
+ }
271
+ /**
272
+ * @description Subscribe to subaccount channel
273
+ * for a specific address and subaccount number.
274
+ */
275
+ subscribeToSubaccount(address, subaccountNumber) {
276
+ const channel = SocketChannels.SUBACCOUNTS;
277
+ const subaccountId = `${address}/${subaccountNumber}`;
278
+ const params = {
279
+ id: subaccountId,
280
+ };
281
+ this.subscribe(channel, params);
282
+ }
283
+ /**
284
+ * @description Unsubscribe from subaccount channel
285
+ * for a specific address and subaccount number.
286
+ *
287
+ */
288
+ unsubscribeFromSubaccount(address, subaccountNumber) {
289
+ const channel = SocketChannels.SUBACCOUNTS;
290
+ const subaccountId = `${address}/${subaccountNumber}`;
291
+ const params = {
292
+ id: subaccountId,
293
+ };
294
+ this.unsubscribe(channel, params);
295
+ }
296
+ }
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL3NvY2tldC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxTQUF1QyxNQUFNLElBQUksQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzdDLElBQUssb0JBR0o7QUFIRCxXQUFLLG9CQUFvQjtJQUN2QiwrQ0FBdUIsQ0FBQTtJQUN2QixtREFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSEksb0JBQW9CLEtBQXBCLG9CQUFvQixRQUd4QjtBQUVELElBQUssY0FNSjtBQU5ELFdBQUssY0FBYztJQUNqQixnREFBOEIsQ0FBQTtJQUM5Qiw0Q0FBMEIsQ0FBQTtJQUMxQixzQ0FBb0IsQ0FBQTtJQUNwQix3Q0FBc0IsQ0FBQTtJQUN0Qix3Q0FBc0IsQ0FBQTtBQUN4QixDQUFDLEVBTkksY0FBYyxLQUFkLGNBQWMsUUFNbEI7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFPWDtBQVBELFdBQVksb0JBQW9CO0lBQzlCLCtDQUF1QixDQUFBO0lBQ3ZCLGlEQUF5QixDQUFBO0lBQ3pCLHVDQUFlLENBQUE7SUFDZixxREFBNkIsQ0FBQTtJQUM3QixpRUFBeUMsQ0FBQTtJQUN6QyxxQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQVBXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFPL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFRWDtBQVJELFdBQVksaUJBQWlCO0lBQzNCLHdDQUFtQixDQUFBO0lBQ25CLDJDQUFzQixDQUFBO0lBQ3RCLCtDQUEwQixDQUFBO0lBQzFCLDhDQUF5QixDQUFBO0lBQ3pCLHVDQUFrQixDQUFBO0lBQ2xCLDBDQUFxQixDQUFBO0lBQ3JCLHFDQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFSVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBUTVCO0FBRUQsTUFBTSxPQUFPLFlBQVk7SUFVdkIs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
@@ -0,0 +1,26 @@
1
+ import Long from 'long';
2
+ import LocalWallet from './modules/local-wallet';
3
+ export declare class SubaccountInfo {
4
+ readonly address: string;
5
+ readonly subaccountNumber: number;
6
+ readonly signingWallet: LocalWallet;
7
+ readonly authenticators?: Long[];
8
+ private constructor();
9
+ /**
10
+ * @description Build SubaccountInfo for a locally owned wallet.
11
+ */
12
+ static forLocalWallet(wallet: LocalWallet, subaccountNumber?: number): SubaccountInfo;
13
+ /**
14
+ * @description Build SubaccountInfo for a permissioned wallet setup.
15
+ */
16
+ static forPermissionedWallet(signingWallet: LocalWallet, accountAddress: string, subaccountNumber: number | undefined, authenticators: Long[]): SubaccountInfo;
17
+ /**
18
+ * @description Whether the signing wallet differs from the account address.
19
+ */
20
+ get isPermissionedWallet(): boolean;
21
+ /**
22
+ * @description Clone this subaccount with a different subaccount number.
23
+ */
24
+ cloneWithSubaccount(subaccountNumber: number): SubaccountInfo;
25
+ }
26
+ //# sourceMappingURL=subaccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subaccount.d.ts","sourceRoot":"","sources":["../../../../src/clients/subaccount.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAEjD,qBAAa,cAAc;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;IAEjC,OAAO;IAgBP;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAE,MAAU,GAAG,cAAc;IAQxF;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAC1B,aAAa,EAAE,WAAW,EAC1B,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,YAAI,EAC5B,cAAc,EAAE,IAAI,EAAE,GACrB,cAAc;IAIjB;;OAEG;IACH,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED;;OAEG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc;CAQ9D"}