@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,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NobleClient = void 0;
4
+ const proto_signing_1 = require("@cosmjs/proto-signing");
5
+ const stargate_1 = require("@cosmjs/stargate");
6
+ const constants_1 = require("./constants");
7
+ const cctpProto_1 = require("./lib/cctpProto");
8
+ class NobleClient {
9
+ constructor(restEndpoint, defaultClientMemo) {
10
+ this.restEndpoint = restEndpoint;
11
+ this.defaultClientMemo = defaultClientMemo;
12
+ }
13
+ /**
14
+ * @description Whether the Noble client is connected to a signer.
15
+ */
16
+ get isConnected() {
17
+ return Boolean(this.stargateClient);
18
+ }
19
+ /**
20
+ * @description Connect the client with a wallet signer.
21
+ */
22
+ async connect(wallet) {
23
+ if ((wallet === null || wallet === void 0 ? void 0 : wallet.offlineSigner) === undefined) {
24
+ throw new Error('Wallet signer not found');
25
+ }
26
+ this.wallet = wallet;
27
+ this.stargateClient = await stargate_1.SigningStargateClient.connectWithSigner(this.restEndpoint, wallet.offlineSigner, {
28
+ registry: new proto_signing_1.Registry([
29
+ ['/circle.cctp.v1.MsgDepositForBurn', cctpProto_1.MsgDepositForBurn],
30
+ ['/circle.cctp.v1.MsgDepositForBurnWithCaller', cctpProto_1.MsgDepositForBurnWithCaller],
31
+ ...stargate_1.defaultRegistryTypes,
32
+ ]),
33
+ });
34
+ }
35
+ /**
36
+ * @description Get all balances for the connected wallet.
37
+ */
38
+ getAccountBalances() {
39
+ var _a;
40
+ if (!this.stargateClient || ((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
41
+ throw new Error('stargateClient not initialized');
42
+ }
43
+ return this.stargateClient.getAllBalances(this.wallet.address);
44
+ }
45
+ /**
46
+ * @description Get the balance for a specific denom.
47
+ */
48
+ getAccountBalance(denom) {
49
+ var _a;
50
+ if (!this.stargateClient || ((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
51
+ throw new Error('stargateClient not initialized');
52
+ }
53
+ return this.stargateClient.getBalance(this.wallet.address, denom);
54
+ }
55
+ /**
56
+ * @description Send an IBC transfer message using the connected wallet.
57
+ */
58
+ async IBCTransfer(message) {
59
+ const tx = await this.send([message]);
60
+ return tx;
61
+ }
62
+ /**
63
+ * @description Simulate, sign, and broadcast one or more messages.
64
+ */
65
+ async send(messages, gasPrice = stargate_1.GasPrice.fromString('0.1uusdc'), memo) {
66
+ var _a;
67
+ if (!this.stargateClient) {
68
+ throw new Error('NobleClient stargateClient not initialized');
69
+ }
70
+ if (((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
71
+ throw new Error('NobleClient wallet not initialized');
72
+ }
73
+ // Simulate to get the gas estimate
74
+ const fee = await this.simulateTransaction(messages, gasPrice, memo !== null && memo !== void 0 ? memo : this.defaultClientMemo);
75
+ // Sign and broadcast the transaction
76
+ return this.stargateClient.signAndBroadcast(this.wallet.address, messages, fee, memo !== null && memo !== void 0 ? memo : this.defaultClientMemo);
77
+ }
78
+ /**
79
+ * @description Simulate a transaction and return the fee estimate.
80
+ */
81
+ async simulateTransaction(messages, gasPrice = stargate_1.GasPrice.fromString('0.1uusdc'), memo) {
82
+ var _a, _b;
83
+ if (!this.stargateClient) {
84
+ throw new Error('NobleClient stargateClient not initialized');
85
+ }
86
+ if (((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.address) === undefined) {
87
+ throw new Error('NobleClient wallet not initialized');
88
+ }
89
+ // Get simulated response
90
+ const gasEstimate = await this.stargateClient.simulate((_b = this.wallet) === null || _b === void 0 ? void 0 : _b.address, messages, memo);
91
+ // Calculate and return the fee
92
+ return (0, stargate_1.calculateFee)(Math.floor(gasEstimate * constants_1.GAS_MULTIPLIER), gasPrice);
93
+ }
94
+ }
95
+ exports.NobleClient = NobleClient;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ibGUtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbm9ibGUtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFxRTtBQUNyRSwrQ0FRMEI7QUFFMUIsMkNBQTZDO0FBQzdDLCtDQUFpRjtBQUdqRixNQUFhLFdBQVc7SUFNdEIsWUFBWSxZQUFvQixFQUFFLGlCQUEwQjtRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBbUI7UUFDL0IsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxhQUFhLE1BQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sZ0NBQXFCLENBQUMsaUJBQWlCLENBQ2pFLElBQUksQ0FBQyxZQUFZLEVBQ2pCLE1BQU0sQ0FBQyxhQUFhLEVBQ3BCO1lBQ0UsUUFBUSxFQUFFLElBQUksd0JBQVEsQ0FBQztnQkFDckIsQ0FBQyxtQ0FBbUMsRUFBRSw2QkFBaUIsQ0FBQztnQkFDeEQsQ0FBQyw2Q0FBNkMsRUFBRSx1Q0FBMkIsQ0FBQztnQkFDNUUsR0FBRywrQkFBb0I7YUFDeEIsQ0FBQztTQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjs7UUFDaEIsSUFBSSxDQUFDLElB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
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SocketClient = exports.CandlesResolution = exports.IncomingMessageTypes = void 0;
7
+ const ws_1 = __importDefault(require("ws"));
8
+ const utils_1 = require("../lib/utils");
9
+ var OutgoingMessageTypes;
10
+ (function (OutgoingMessageTypes) {
11
+ OutgoingMessageTypes["SUBSCRIBE"] = "subscribe";
12
+ OutgoingMessageTypes["UNSUBSCRIBE"] = "unsubscribe";
13
+ })(OutgoingMessageTypes || (OutgoingMessageTypes = {}));
14
+ var SocketChannels;
15
+ (function (SocketChannels) {
16
+ SocketChannels["SUBACCOUNTS"] = "v4_subaccounts";
17
+ SocketChannels["ORDERBOOK"] = "v4_orderbook";
18
+ SocketChannels["TRADES"] = "v4_trades";
19
+ SocketChannels["MARKETS"] = "v4_markets";
20
+ SocketChannels["CANDLES"] = "v4_candles";
21
+ })(SocketChannels || (SocketChannels = {}));
22
+ var IncomingMessageTypes;
23
+ (function (IncomingMessageTypes) {
24
+ IncomingMessageTypes["CONNECTED"] = "connected";
25
+ IncomingMessageTypes["SUBSCRIBED"] = "subscribed";
26
+ IncomingMessageTypes["ERROR"] = "error";
27
+ IncomingMessageTypes["CHANNEL_DATA"] = "channel_data";
28
+ IncomingMessageTypes["CHANNEL_BATCH_DATA"] = "channel_batch_data";
29
+ IncomingMessageTypes["PONG"] = "pong";
30
+ })(IncomingMessageTypes || (exports.IncomingMessageTypes = IncomingMessageTypes = {}));
31
+ var CandlesResolution;
32
+ (function (CandlesResolution) {
33
+ CandlesResolution["ONE_MINUTE"] = "1MIN";
34
+ CandlesResolution["FIVE_MINUTES"] = "5MINS";
35
+ CandlesResolution["FIFTEEN_MINUTES"] = "15MINS";
36
+ CandlesResolution["THIRTY_MINUTES"] = "30MINS";
37
+ CandlesResolution["ONE_HOUR"] = "1HOUR";
38
+ CandlesResolution["FOUR_HOURS"] = "4HOURS";
39
+ CandlesResolution["ONE_DAY"] = "1DAY";
40
+ })(CandlesResolution || (exports.CandlesResolution = CandlesResolution = {}));
41
+ class SocketClient {
42
+ constructor(config, onOpenCallback, onCloseCallback, onMessageCallback, onErrorCallback) {
43
+ this.lastMessageTime = Date.now();
44
+ this.url = config.websocketEndpoint;
45
+ this.proxyAgent = config.proxy ? (0, utils_1.getProxyAgent)(config.proxy) : undefined;
46
+ this.onOpenCallback = onOpenCallback;
47
+ this.onCloseCallback = onCloseCallback;
48
+ this.onMessageCallback = onMessageCallback;
49
+ this.onErrorCallback = onErrorCallback;
50
+ }
51
+ /**
52
+ * @description Open the websocket connection.
53
+ */
54
+ connect() {
55
+ this.ws = new ws_1.default(this.url, {
56
+ agent: this.proxyAgent,
57
+ });
58
+ this.ws.addEventListener('open', this.handleOpen.bind(this));
59
+ this.ws.addEventListener('close', this.handleClose.bind(this));
60
+ this.ws.addEventListener('message', this.handleMessage.bind(this));
61
+ this.ws.addEventListener('error', this.handleError.bind(this));
62
+ }
63
+ /**
64
+ * @description Close the websocket connection.
65
+ *
66
+ */
67
+ close() {
68
+ var _a;
69
+ (_a = this.ws) === null || _a === void 0 ? void 0 : _a.close();
70
+ this.ws = undefined;
71
+ }
72
+ /**
73
+ * @description Check is the websocket connection connecting
74
+ */
75
+ isConnecting() {
76
+ var _a;
77
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CONNECTING;
78
+ }
79
+ /**
80
+ * @description Check is the websocket connection open
81
+ */
82
+ isOpen() {
83
+ var _a;
84
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.OPEN;
85
+ }
86
+ /**
87
+ * @description Check is the websocket connection closing
88
+ */
89
+ isClosing() {
90
+ var _a;
91
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CLOSING;
92
+ }
93
+ /**
94
+ * @description Check is the websocket connection closed
95
+ */
96
+ isClosed() {
97
+ var _a;
98
+ return ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CLOSED;
99
+ }
100
+ /**
101
+ * @description Send data to the websocket connection.
102
+ *
103
+ */
104
+ send(data) {
105
+ var _a;
106
+ (_a = this.ws) === null || _a === void 0 ? void 0 : _a.send(data);
107
+ }
108
+ handleOpen() {
109
+ if (this.onOpenCallback) {
110
+ this.onOpenCallback();
111
+ }
112
+ }
113
+ handleClose() {
114
+ if (this.onCloseCallback) {
115
+ this.onCloseCallback();
116
+ }
117
+ }
118
+ handleMessage(event) {
119
+ if (event.data === 'PING') {
120
+ this.send('PONG');
121
+ }
122
+ else {
123
+ this.lastMessageTime = Date.now();
124
+ if (this.onMessageCallback) {
125
+ this.onMessageCallback(event);
126
+ }
127
+ }
128
+ }
129
+ handleError(event) {
130
+ if (this.onErrorCallback) {
131
+ this.onErrorCallback(event);
132
+ }
133
+ }
134
+ /**
135
+ * @description Set callback when the socket is opened.
136
+ *
137
+ */
138
+ set onOpen(callback) {
139
+ this.onOpenCallback = callback;
140
+ }
141
+ /**
142
+ * @description Set callback when the socket is closed.
143
+ *
144
+ */
145
+ set onClose(callback) {
146
+ this.onCloseCallback = callback;
147
+ }
148
+ /**
149
+ * @description Set callback when the socket receives a message.
150
+ *
151
+ */
152
+ set onMessage(callback) {
153
+ this.onMessageCallback = callback;
154
+ }
155
+ /**
156
+ * @description Set callback when the socket encounters an error.
157
+ */
158
+ set onError(callback) {
159
+ this.onErrorCallback = callback;
160
+ }
161
+ /**
162
+ * @description Send a subscribe message to the websocket connection.
163
+ *
164
+ */
165
+ subscribe(channel, params) {
166
+ const message = {
167
+ type: OutgoingMessageTypes.SUBSCRIBE,
168
+ channel,
169
+ ...params,
170
+ };
171
+ this.send(JSON.stringify(message));
172
+ }
173
+ /**
174
+ * @description Send an unsubscribe message to the websocket connection.
175
+ *
176
+ */
177
+ unsubscribe(channel, params) {
178
+ const message = {
179
+ type: OutgoingMessageTypes.UNSUBSCRIBE,
180
+ channel,
181
+ ...params,
182
+ };
183
+ this.send(JSON.stringify(message));
184
+ }
185
+ /**
186
+ * @description Subscribe to markets channel.
187
+ *
188
+ */
189
+ subscribeToMarkets() {
190
+ const channel = SocketChannels.MARKETS;
191
+ const params = {
192
+ batched: true,
193
+ };
194
+ this.subscribe(channel, params);
195
+ }
196
+ /**
197
+ * @description Unsubscribe from markets channel
198
+ *
199
+ */
200
+ unsubscribeFromMarkets() {
201
+ const channel = SocketChannels.MARKETS;
202
+ this.unsubscribe(channel);
203
+ }
204
+ /**
205
+ * @description Subscribe to trade channel
206
+ * for a specific market.
207
+ *
208
+ */
209
+ subscribeToTrades(market) {
210
+ const channel = SocketChannels.TRADES;
211
+ const params = {
212
+ id: market,
213
+ batched: true,
214
+ };
215
+ this.subscribe(channel, params);
216
+ }
217
+ /**
218
+ * @description Unscribed from trade channel
219
+ * for a specific market.
220
+ *
221
+ */
222
+ unsubscribeFromTrades(market) {
223
+ const channel = SocketChannels.TRADES;
224
+ const params = {
225
+ id: market,
226
+ };
227
+ this.unsubscribe(channel, params);
228
+ }
229
+ /**
230
+ * @description Subscribe to orderbook channel
231
+ * for a specific market.
232
+ *
233
+ */
234
+ subscribeToOrderbook(market) {
235
+ const channel = SocketChannels.ORDERBOOK;
236
+ const params = {
237
+ id: market,
238
+ batched: true,
239
+ };
240
+ this.subscribe(channel, params);
241
+ }
242
+ /**
243
+ * @description Unsubscribe from orderbook channel
244
+ * for a specific market.
245
+ */
246
+ unsubscribeFromOrderbook(market) {
247
+ const channel = SocketChannels.ORDERBOOK;
248
+ const params = {
249
+ id: market,
250
+ };
251
+ this.unsubscribe(channel, params);
252
+ }
253
+ /**
254
+ * @description Subscribe to candles channel
255
+ * for a specific market and resolution.
256
+ *
257
+ */
258
+ subscribeToCandles(market, resolution) {
259
+ const channel = SocketChannels.CANDLES;
260
+ const params = {
261
+ id: `${market}/${resolution}`,
262
+ batched: true,
263
+ };
264
+ this.subscribe(channel, params);
265
+ }
266
+ /**
267
+ * @description Unsubscribe from candles channel
268
+ * for a specific market and resolution.
269
+ */
270
+ unsubscribeFromCandles(market, resolution) {
271
+ const channel = SocketChannels.CANDLES;
272
+ const params = {
273
+ id: `${market}/${resolution}`,
274
+ };
275
+ this.unsubscribe(channel, params);
276
+ }
277
+ /**
278
+ * @description Subscribe to subaccount channel
279
+ * for a specific address and subaccount number.
280
+ */
281
+ subscribeToSubaccount(address, subaccountNumber) {
282
+ const channel = SocketChannels.SUBACCOUNTS;
283
+ const subaccountId = `${address}/${subaccountNumber}`;
284
+ const params = {
285
+ id: subaccountId,
286
+ };
287
+ this.subscribe(channel, params);
288
+ }
289
+ /**
290
+ * @description Unsubscribe from subaccount channel
291
+ * for a specific address and subaccount number.
292
+ *
293
+ */
294
+ unsubscribeFromSubaccount(address, subaccountNumber) {
295
+ const channel = SocketChannels.SUBACCOUNTS;
296
+ const subaccountId = `${address}/${subaccountNumber}`;
297
+ const params = {
298
+ id: subaccountId,
299
+ };
300
+ this.unsubscribe(channel, params);
301
+ }
302
+ }
303
+ exports.SocketClient = SocketClient;
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL3NvY2tldC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNENBQXlEO0FBRXpELHdDQUE2QztBQUc3QyxJQUFLLG9CQUdKO0FBSEQsV0FBSyxvQkFBb0I7SUFDdkIsK0NBQXVCLENBQUE7SUFDdkIsbURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUhJLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHeEI7QUFFRCxJQUFLLGNBTUo7QUFORCxXQUFLLGNBQWM7SUFDakIsZ0RBQThCLENBQUE7SUFDOUIsNENBQTBCLENBQUE7SUFDMUIsc0NBQW9CLENBQUE7SUFDcEIsd0NBQXNCLENBQUE7SUFDdEIsd0NBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQU5JLGNBQWMsS0FBZCxjQUFjLFFBTWxCO0FBRUQsSUFBWSxvQkFPWDtBQVBELFdBQVksb0JBQW9CO0lBQzlCLCtDQUF1QixDQUFBO0lBQ3ZCLGlEQUF5QixDQUFBO0lBQ3pCLHVDQUFlLENBQUE7SUFDZixxREFBNkIsQ0FBQTtJQUM3QixpRUFBeUMsQ0FBQTtJQUN6QyxxQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQVBXLG9CQUFvQixvQ0FBcEIsb0JBQW9CLFFBTy9CO0FBRUQsSUFBWSxpQkFRWDtBQVJELFdBQVksaUJBQWlCO0lBQzNCLHdDQUFtQixDQUFBO0lBQ25CLDJDQUFzQixDQUFBO0lBQ3RCLCtDQUEwQixDQUFBO0lBQzFCLDhDQUF5QixDQUFBO0lBQ3pCLHVDQUFrQixDQUFBO0lBQ2xCLDBDQUFxQixDQUFBO0lBQ3JCLHFDQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFSVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQVE1QjtBQUVELE1BQWEsWUFBWTtJQVV2QixZQUNFLE1BQXFCLEVBQ3JCLGNBQTBCLEVBQzFCLGVBQTJCLEVBQzNCLGlCQUFnRCxFQUNoRCxlQUE0QztRQVB0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
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubaccountInfo = void 0;
4
+ const constants_1 = require("./constants");
5
+ class SubaccountInfo {
6
+ constructor(signingWallet, address, subaccountNumber = 0, authenticators) {
7
+ if (subaccountNumber < 0 || subaccountNumber > constants_1.MAX_SUBACCOUNT_NUMBER) {
8
+ throw new Error(`Subaccount number must be between 0 and ${constants_1.MAX_SUBACCOUNT_NUMBER}`);
9
+ }
10
+ this.address = address;
11
+ this.subaccountNumber = subaccountNumber;
12
+ this.signingWallet = signingWallet;
13
+ this.authenticators = authenticators;
14
+ }
15
+ /**
16
+ * @description Build SubaccountInfo for a locally owned wallet.
17
+ */
18
+ static forLocalWallet(wallet, subaccountNumber = 0) {
19
+ const address = wallet.address;
20
+ if (address === undefined) {
21
+ throw new Error('Address not available from wallet');
22
+ }
23
+ return new SubaccountInfo(wallet, address, subaccountNumber);
24
+ }
25
+ /**
26
+ * @description Build SubaccountInfo for a permissioned wallet setup.
27
+ */
28
+ static forPermissionedWallet(signingWallet, accountAddress, subaccountNumber = 0, authenticators) {
29
+ return new SubaccountInfo(signingWallet, accountAddress, subaccountNumber, authenticators);
30
+ }
31
+ /**
32
+ * @description Whether the signing wallet differs from the account address.
33
+ */
34
+ get isPermissionedWallet() {
35
+ return this.address !== this.signingWallet.address;
36
+ }
37
+ /**
38
+ * @description Clone this subaccount with a different subaccount number.
39
+ */
40
+ cloneWithSubaccount(subaccountNumber) {
41
+ return new SubaccountInfo(this.signingWallet, this.address, subaccountNumber, this.authenticators);
42
+ }
43
+ }
44
+ exports.SubaccountInfo = SubaccountInfo;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL3N1YmFjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsMkNBQW9EO0FBR3BELE1BQWEsY0FBYztJQU16QixZQUNFLGFBQTBCLEVBQzFCLE9BQWUsRUFDZixtQkFBMkIsQ0FBQyxFQUM1QixjQUF1QjtRQUV2QixJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxnQkFBZ0IsR0FBRyxpQ0FBcUIsRUFBRSxDQUFDO1lBQ3JFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLGlDQUFxQixFQUFFLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBbUIsRUFBRSxtQkFBMkIsQ0FBQztRQUNyRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUMxQixhQUEwQixFQUMxQixjQUFzQixFQUN0QixtQkFBMkIsQ0FBQyxFQUM1QixjQUFzQjtRQUV0QixPQUFPLElBQUksY0FBYyxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQixDQUFDLGdCQUF3QjtRQUMxQyxPQUFPLElBQUksY0FBYyxDQUN2QixJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsT0FBTyxFQUNaLGdCQUFnQixFQUNoQixJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBL0RELHdDQStEQyJ9
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ComplianceStatus = exports.ComplianceReason = exports.OrderFlags = void 0;
18
+ // OrderFlags, just a number in proto, defined as enum for convenience
19
+ var OrderFlags;
20
+ (function (OrderFlags) {
21
+ OrderFlags[OrderFlags["SHORT_TERM"] = 0] = "SHORT_TERM";
22
+ OrderFlags[OrderFlags["LONG_TERM"] = 64] = "LONG_TERM";
23
+ OrderFlags[OrderFlags["CONDITIONAL"] = 32] = "CONDITIONAL";
24
+ })(OrderFlags || (exports.OrderFlags = OrderFlags = {}));
25
+ var ComplianceReason;
26
+ (function (ComplianceReason) {
27
+ ComplianceReason["MANUAL"] = "MANUAL";
28
+ ComplianceReason["US_GEO"] = "US_GEO";
29
+ ComplianceReason["CA_GEO"] = "CA_GEO";
30
+ ComplianceReason["GB_GEO"] = "GB_GEO";
31
+ ComplianceReason["SANCTIONED_GEO"] = "SANCTIONED_GEO";
32
+ ComplianceReason["COMPLIANCE_PROVIDER"] = "COMPLIANCE_PROVIDER";
33
+ })(ComplianceReason || (exports.ComplianceReason = ComplianceReason = {}));
34
+ var ComplianceStatus;
35
+ (function (ComplianceStatus) {
36
+ ComplianceStatus["COMPLIANT"] = "COMPLIANT";
37
+ ComplianceStatus["FIRST_STRIKE_CLOSE_ONLY"] = "FIRST_STRIKE_CLOSE_ONLY";
38
+ ComplianceStatus["FIRST_STRIKE"] = "FIRST_STRIKE";
39
+ ComplianceStatus["CLOSE_ONLY"] = "CLOSE_ONLY";
40
+ ComplianceStatus["BLOCKED"] = "BLOCKED";
41
+ })(ComplianceStatus || (exports.ComplianceStatus = ComplianceStatus = {}));
42
+ __exportStar(require("./modules/proto-includes"), exports);
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9DQSxzRUFBc0U7QUFDdEUsSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHVEQUFjLENBQUE7SUFDZCxzREFBYyxDQUFBO0lBQ2QsMERBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLFVBQVUsMEJBQVYsVUFBVSxRQUlyQjtBQXlGRCxJQUFZLGdCQU9YO0FBUEQsV0FBWSxnQkFBZ0I7SUFDMUIscUNBQWlCLENBQUE7SUFDakIscUNBQWlCLENBQUE7SUFDakIscUNBQWlCLENBQUE7SUFDakIscUNBQWlCLENBQUE7SUFDakIscURBQWlDLENBQUE7SUFDakMsK0RBQTJDLENBQUE7QUFDN0MsQ0FBQyxFQVBXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBTzNCO0FBRUQsSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLDJDQUF1QixDQUFBO0lBQ3ZCLHVFQUFtRCxDQUFBO0lBQ25ELGlEQUE2QixDQUFBO0lBQzdCLDZDQUF5QixDQUFBO0lBQ3pCLHVDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQjtBQWlERCwyREFBeUMifQ==
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ValidatorClient = void 0;
7
+ const stargate_1 = require("@cosmjs/stargate");
8
+ const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
9
+ const long_1 = __importDefault(require("long"));
10
+ const protobufjs_1 = __importDefault(require("protobufjs"));
11
+ const constants_1 = require("./constants");
12
+ const get_1 = require("./modules/get");
13
+ const post_1 = require("./modules/post");
14
+ const tendermintClient_1 = require("./modules/tendermintClient");
15
+ // Required for encoding and decoding queries that are of type Long.
16
+ // Must be done once but since the individal modules should be usable
17
+ // - must be set in each module that encounters encoding/decoding Longs.
18
+ // Reference: https://github.com/protobufjs/protobuf.js/issues/921
19
+ protobufjs_1.default.util.Long = long_1.default;
20
+ protobufjs_1.default.configure();
21
+ class ValidatorClient {
22
+ /**
23
+ * @description Connect to a validator client
24
+ *
25
+ * @returns The validator client
26
+ */
27
+ static async connect(config) {
28
+ const client = new ValidatorClient(config);
29
+ await client.initialize();
30
+ return client;
31
+ }
32
+ constructor(config) {
33
+ this.config = config;
34
+ }
35
+ /**
36
+ * @description Get the query module, used for retrieving on-chain data.
37
+ *
38
+ * @returns The query module
39
+ */
40
+ get get() {
41
+ return this._get;
42
+ }
43
+ /**
44
+ * @description transaction module, used for sending transactions.
45
+ *
46
+ * @returns The transaction module
47
+ */
48
+ get post() {
49
+ return this._post;
50
+ }
51
+ /**
52
+ * @description Get the currently selected gas denom.
53
+ */
54
+ get selectedGasDenom() {
55
+ if (!this._post)
56
+ return undefined;
57
+ return this._post.selectedGasDenom;
58
+ }
59
+ /**
60
+ * @description Set the gas denom used for transaction fees.
61
+ */
62
+ setSelectedGasDenom(gasDenom) {
63
+ if (!this._post)
64
+ throw new Error('Post module not initialized');
65
+ this._post.setSelectedGasDenom(gasDenom);
66
+ }
67
+ /**
68
+ * @description populate account number cache in the Post module for performance.
69
+ */
70
+ async populateAccountNumberCache(address) {
71
+ if (!this._post)
72
+ throw new Error('Post module not initialized');
73
+ await this._post.populateAccountNumberCache(address);
74
+ }
75
+ async initialize() {
76
+ const tendermint37Client = await tendermint_rpc_1.Tendermint37Client.connect(this.config.restEndpoint);
77
+ const tendermintClient = new tendermintClient_1.TendermintClient(tendermint37Client, {
78
+ broadcastPollIntervalMs: constants_1.BROADCAST_POLL_INTERVAL_MS,
79
+ broadcastTimeoutMs: constants_1.BROADCAST_TIMEOUT_MS,
80
+ });
81
+ const queryClient = stargate_1.QueryClient.withExtensions(tendermint37Client, stargate_1.setupTxExtension);
82
+ this._get = new get_1.Get(tendermintClient, queryClient);
83
+ this._post = new post_1.Post(this._get, this.config.chainId, this.config.denoms, this.config.defaultClientMemo, this.config.useTimestampNonce, this.config.timestampNonceOffsetMs);
84
+ }
85
+ }
86
+ exports.ValidatorClient = ValidatorClient;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL3ZhbGlkYXRvci1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQThFO0FBQzlFLDJEQUE0RDtBQUM1RCxnREFBd0I7QUFDeEIsNERBQWtDO0FBRWxDLDJDQUtxQjtBQUNyQix1Q0FBb0M7QUFDcEMseUNBQXNDO0FBQ3RDLGlFQUE4RDtBQUU5RCxvRUFBb0U7QUFDcEUscUVBQXFFO0FBQ3JFLHdFQUF3RTtBQUN4RSxrRUFBa0U7QUFDbEUsb0JBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQUksQ0FBQztBQUMxQixvQkFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRXJCLE1BQWEsZUFBZTtJQUsxQjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBdUI7UUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQW9CLE1BQXVCO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUIsQ0FBQyxRQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsMEJBQTBCLENBQUMsT0FBZTtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDaEUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUN0QixNQUFNLGtCQUFrQixHQUF1QixNQUFNLG1DQUFrQixDQUFDLE9BQU8sQ0FDN0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQ3pCLENBQUM7UUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksbUNBQWdCLENBQUMsa0JBQWtCLEVBQUU7WUFDaEUsdUJBQXVCLEVBQUUsc0NBQTBCO1lBQ25ELGtCQUFrQixFQUFFLGdDQUFvQjtTQUN6QyxDQUFDLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBOEIsc0JBQVcsQ0FBQyxjQUFjLENBQ3ZFLGtCQUFrQixFQUNsQiwyQkFBZ0IsQ0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFHLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFdBQUksQ0FDbkIsSUFBSSxDQUFDLElBQUssRUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQ25DLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF0RkQsMENBc0ZDIn0=