@ritbit/v4-client-js 1.3.17

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 (412) hide show
  1. package/.env +1 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.js +15 -0
  4. package/.gitleaks.toml +24 -0
  5. package/.gitleaksignore +1 -0
  6. package/.nvmrc +1 -0
  7. package/.prettierignore +3 -0
  8. package/.prettierrc.json +6 -0
  9. package/.releaserc +10 -0
  10. package/.vscode/launch.json +11 -0
  11. package/LICENSE +13 -0
  12. package/README.md +83 -0
  13. package/__native__/__ios__/v4-native-client.js +209891 -0
  14. package/__native__/__ios__/v4-native-client.js.map +1 -0
  15. package/__tests__/clients/composite-client.test.ts +140 -0
  16. package/__tests__/helpers/baseClients.ts +23 -0
  17. package/__tests__/helpers/constants.ts +130 -0
  18. package/__tests__/lib/helpers.test.ts +53 -0
  19. package/__tests__/lib/util.test.ts +77 -0
  20. package/__tests__/lib/validation.test.ts +289 -0
  21. package/__tests__/modules/client/AccountEndpoints.test.ts +236 -0
  22. package/__tests__/modules/client/FaucetEndpoint.test.ts +14 -0
  23. package/__tests__/modules/client/MarketsEndpoints.test.ts +84 -0
  24. package/__tests__/modules/client/Transfers.test.ts +44 -0
  25. package/__tests__/modules/client/UtilityEndpoints.test.ts +29 -0
  26. package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +50 -0
  27. package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +52 -0
  28. package/__tests__/modules/client/constants.ts +5 -0
  29. package/__tests__/modules/onboarding.test.ts +66 -0
  30. package/build/cjs/clients/composite-client.js +788 -0
  31. package/build/cjs/clients/constants.js +293 -0
  32. package/build/cjs/clients/faucet-client.js +36 -0
  33. package/build/cjs/clients/helpers/chain-helpers.js +178 -0
  34. package/build/cjs/clients/helpers/request-helpers.js +65 -0
  35. package/build/cjs/clients/indexer-client.js +56 -0
  36. package/build/cjs/clients/lib/axios/axiosRequest.js +34 -0
  37. package/build/cjs/clients/lib/axios/errors.js +28 -0
  38. package/build/cjs/clients/lib/axios/index.js +23 -0
  39. package/build/cjs/clients/lib/axios/types.js +11 -0
  40. package/build/cjs/clients/lib/cctpProto.js +3242 -0
  41. package/build/cjs/clients/lib/errors.js +58 -0
  42. package/build/cjs/clients/lib/registry.js +51 -0
  43. package/build/cjs/clients/modules/account.js +223 -0
  44. package/build/cjs/clients/modules/composer.js +404 -0
  45. package/build/cjs/clients/modules/get.js +469 -0
  46. package/build/cjs/clients/modules/local-wallet.js +59 -0
  47. package/build/cjs/clients/modules/markets.js +54 -0
  48. package/build/cjs/clients/modules/post.js +391 -0
  49. package/build/cjs/clients/modules/proto-includes.js +72 -0
  50. package/build/cjs/clients/modules/rest.js +33 -0
  51. package/build/cjs/clients/modules/signer.js +93 -0
  52. package/build/cjs/clients/modules/tendermintClient.js +137 -0
  53. package/build/cjs/clients/modules/utility.js +44 -0
  54. package/build/cjs/clients/modules/vault.js +25 -0
  55. package/build/cjs/clients/noble-client.js +75 -0
  56. package/build/cjs/clients/socket-client.js +301 -0
  57. package/build/cjs/clients/subaccount.js +33 -0
  58. package/build/cjs/clients/types.js +43 -0
  59. package/build/cjs/clients/validator-client.js +81 -0
  60. package/build/cjs/index.js +73 -0
  61. package/build/cjs/lib/constants.js +23 -0
  62. package/build/cjs/lib/errors.js +37 -0
  63. package/build/cjs/lib/helpers.js +98 -0
  64. package/build/cjs/lib/onboarding.js +75 -0
  65. package/build/cjs/lib/trading-key-utils.js +108 -0
  66. package/build/cjs/lib/utils.js +79 -0
  67. package/build/cjs/lib/validation.js +150 -0
  68. package/build/cjs/network_optimizer.js +96 -0
  69. package/build/cjs/package.json +1 -0
  70. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  71. package/build/cjs/types.js +25 -0
  72. package/build/esm/__tests__/clients/composite-client.test.d.ts +2 -0
  73. package/build/esm/__tests__/clients/composite-client.test.d.ts.map +1 -0
  74. package/build/esm/__tests__/clients/composite-client.test.js +128 -0
  75. package/build/esm/__tests__/helpers/baseClients.d.ts +19 -0
  76. package/build/esm/__tests__/helpers/baseClients.d.ts.map +1 -0
  77. package/build/esm/__tests__/helpers/baseClients.js +22 -0
  78. package/build/esm/__tests__/helpers/constants.d.ts +19 -0
  79. package/build/esm/__tests__/helpers/constants.d.ts.map +1 -0
  80. package/build/esm/__tests__/helpers/constants.js +104 -0
  81. package/build/esm/__tests__/lib/helpers.test.d.ts +2 -0
  82. package/build/esm/__tests__/lib/helpers.test.d.ts.map +1 -0
  83. package/build/esm/__tests__/lib/helpers.test.js +40 -0
  84. package/build/esm/__tests__/lib/util.test.d.ts +2 -0
  85. package/build/esm/__tests__/lib/util.test.d.ts.map +1 -0
  86. package/build/esm/__tests__/lib/util.test.js +65 -0
  87. package/build/esm/__tests__/lib/validation.test.d.ts +2 -0
  88. package/build/esm/__tests__/lib/validation.test.d.ts.map +1 -0
  89. package/build/esm/__tests__/lib/validation.test.js +249 -0
  90. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts +2 -0
  91. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts.map +1 -0
  92. package/build/esm/__tests__/modules/client/AccountEndpoints.test.js +169 -0
  93. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts +2 -0
  94. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts.map +1 -0
  95. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.js +13 -0
  96. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts +2 -0
  97. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts.map +1 -0
  98. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.js +66 -0
  99. package/build/esm/__tests__/modules/client/Transfers.test.d.ts +2 -0
  100. package/build/esm/__tests__/modules/client/Transfers.test.d.ts.map +1 -0
  101. package/build/esm/__tests__/modules/client/Transfers.test.js +39 -0
  102. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts +2 -0
  103. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts.map +1 -0
  104. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.js +26 -0
  105. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +2 -0
  106. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts.map +1 -0
  107. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.js +44 -0
  108. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +2 -0
  109. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts.map +1 -0
  110. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.js +48 -0
  111. package/build/esm/__tests__/modules/client/constants.d.ts +4 -0
  112. package/build/esm/__tests__/modules/client/constants.d.ts.map +1 -0
  113. package/build/esm/__tests__/modules/client/constants.js +4 -0
  114. package/build/esm/__tests__/modules/onboarding.test.d.ts +2 -0
  115. package/build/esm/__tests__/modules/onboarding.test.d.ts.map +1 -0
  116. package/build/esm/__tests__/modules/onboarding.test.js +48 -0
  117. package/build/esm/examples/account_endpoints.d.ts +5 -0
  118. package/build/esm/examples/account_endpoints.d.ts.map +1 -0
  119. package/build/esm/examples/account_endpoints.js +127 -0
  120. package/build/esm/examples/batch_cancel_orders_example.d.ts +2 -0
  121. package/build/esm/examples/batch_cancel_orders_example.d.ts.map +1 -0
  122. package/build/esm/examples/batch_cancel_orders_example.js +88 -0
  123. package/build/esm/examples/composite_example.d.ts +2 -0
  124. package/build/esm/examples/composite_example.d.ts.map +1 -0
  125. package/build/esm/examples/composite_example.js +45 -0
  126. package/build/esm/examples/constants.d.ts +13 -0
  127. package/build/esm/examples/constants.d.ts.map +1 -0
  128. package/build/esm/examples/constants.js +29 -0
  129. package/build/esm/examples/faucet_endpoint.d.ts +5 -0
  130. package/build/esm/examples/faucet_endpoint.d.ts.map +1 -0
  131. package/build/esm/examples/faucet_endpoint.js +21 -0
  132. package/build/esm/examples/gov_add_new_market.d.ts +2 -0
  133. package/build/esm/examples/gov_add_new_market.d.ts.map +1 -0
  134. package/build/esm/examples/gov_add_new_market.js +72 -0
  135. package/build/esm/examples/human_readable_orders.json +86 -0
  136. package/build/esm/examples/human_readable_short_term_orders.json +42 -0
  137. package/build/esm/examples/json-encoding.d.ts +2 -0
  138. package/build/esm/examples/json-encoding.d.ts.map +1 -0
  139. package/build/esm/examples/json-encoding.js +27 -0
  140. package/build/esm/examples/long_term_order_cancel_example.d.ts +2 -0
  141. package/build/esm/examples/long_term_order_cancel_example.d.ts.map +1 -0
  142. package/build/esm/examples/long_term_order_cancel_example.js +58 -0
  143. package/build/esm/examples/markets_endpoints.d.ts +5 -0
  144. package/build/esm/examples/markets_endpoints.d.ts.map +1 -0
  145. package/build/esm/examples/markets_endpoints.js +131 -0
  146. package/build/esm/examples/native_examples.d.ts +2 -0
  147. package/build/esm/examples/native_examples.d.ts.map +1 -0
  148. package/build/esm/examples/native_examples.js +110 -0
  149. package/build/esm/examples/noble_example.d.ts +2 -0
  150. package/build/esm/examples/noble_example.d.ts.map +1 -0
  151. package/build/esm/examples/noble_example.js +83 -0
  152. package/build/esm/examples/optimal_node.d.ts +2 -0
  153. package/build/esm/examples/optimal_node.d.ts.map +1 -0
  154. package/build/esm/examples/optimal_node.js +68 -0
  155. package/build/esm/examples/permissioned_keys_example.d.ts +2 -0
  156. package/build/esm/examples/permissioned_keys_example.d.ts.map +1 -0
  157. package/build/esm/examples/permissioned_keys_example.js +99 -0
  158. package/build/esm/examples/raw_orders.json +130 -0
  159. package/build/esm/examples/short_term_order_cancel_example.d.ts +2 -0
  160. package/build/esm/examples/short_term_order_cancel_example.d.ts.map +1 -0
  161. package/build/esm/examples/short_term_order_cancel_example.js +49 -0
  162. package/build/esm/examples/short_term_order_composite_example.d.ts +2 -0
  163. package/build/esm/examples/short_term_order_composite_example.d.ts.map +1 -0
  164. package/build/esm/examples/short_term_order_composite_example.js +63 -0
  165. package/build/esm/examples/test.d.ts +2 -0
  166. package/build/esm/examples/test.d.ts.map +1 -0
  167. package/build/esm/examples/test.js +45 -0
  168. package/build/esm/examples/transfer_example_deposit.d.ts +2 -0
  169. package/build/esm/examples/transfer_example_deposit.d.ts.map +1 -0
  170. package/build/esm/examples/transfer_example_deposit.js +24 -0
  171. package/build/esm/examples/transfer_example_send.d.ts +2 -0
  172. package/build/esm/examples/transfer_example_send.d.ts.map +1 -0
  173. package/build/esm/examples/transfer_example_send.js +37 -0
  174. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts +2 -0
  175. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts.map +1 -0
  176. package/build/esm/examples/transfer_example_subaccount_transfer.js +24 -0
  177. package/build/esm/examples/transfer_example_withdraw.d.ts +2 -0
  178. package/build/esm/examples/transfer_example_withdraw.d.ts.map +1 -0
  179. package/build/esm/examples/transfer_example_withdraw.js +25 -0
  180. package/build/esm/examples/transfer_example_withdraw_other.d.ts +2 -0
  181. package/build/esm/examples/transfer_example_withdraw_other.d.ts.map +1 -0
  182. package/build/esm/examples/transfer_example_withdraw_other.js +37 -0
  183. package/build/esm/examples/utility_endpoints.d.ts +5 -0
  184. package/build/esm/examples/utility_endpoints.d.ts.map +1 -0
  185. package/build/esm/examples/utility_endpoints.js +40 -0
  186. package/build/esm/examples/validator_get_example.d.ts +2 -0
  187. package/build/esm/examples/validator_get_example.d.ts.map +1 -0
  188. package/build/esm/examples/validator_get_example.js +156 -0
  189. package/build/esm/examples/validator_post_example.d.ts +2 -0
  190. package/build/esm/examples/validator_post_example.d.ts.map +1 -0
  191. package/build/esm/examples/validator_post_example.js +71 -0
  192. package/build/esm/examples/wallet_address.d.ts +2 -0
  193. package/build/esm/examples/wallet_address.d.ts.map +1 -0
  194. package/build/esm/examples/wallet_address.js +17 -0
  195. package/build/esm/examples/websocket_example.d.ts +2 -0
  196. package/build/esm/examples/websocket_example.d.ts.map +1 -0
  197. package/build/esm/examples/websocket_example.js +34 -0
  198. package/build/esm/examples/websocket_orderbook_example.d.ts +2 -0
  199. package/build/esm/examples/websocket_orderbook_example.d.ts.map +1 -0
  200. package/build/esm/examples/websocket_orderbook_example.js +194 -0
  201. package/build/esm/src/clients/composite-client.d.ts +406 -0
  202. package/build/esm/src/clients/composite-client.d.ts.map +1 -0
  203. package/build/esm/src/clients/composite-client.js +781 -0
  204. package/build/esm/src/clients/constants.d.ts +170 -0
  205. package/build/esm/src/clients/constants.d.ts.map +1 -0
  206. package/build/esm/src/clients/constants.js +269 -0
  207. package/build/esm/src/clients/faucet-client.d.ts +18 -0
  208. package/build/esm/src/clients/faucet-client.d.ts.map +1 -0
  209. package/build/esm/src/clients/faucet-client.js +29 -0
  210. package/build/esm/src/clients/helpers/chain-helpers.d.ts +15 -0
  211. package/build/esm/src/clients/helpers/chain-helpers.d.ts.map +1 -0
  212. package/build/esm/src/clients/helpers/chain-helpers.js +163 -0
  213. package/build/esm/src/clients/helpers/request-helpers.d.ts +3 -0
  214. package/build/esm/src/clients/helpers/request-helpers.d.ts.map +1 -0
  215. package/build/esm/src/clients/helpers/request-helpers.js +58 -0
  216. package/build/esm/src/clients/indexer-client.d.ts +40 -0
  217. package/build/esm/src/clients/indexer-client.d.ts.map +1 -0
  218. package/build/esm/src/clients/indexer-client.js +49 -0
  219. package/build/esm/src/clients/lib/axios/axiosRequest.d.ts +9 -0
  220. package/build/esm/src/clients/lib/axios/axiosRequest.d.ts.map +1 -0
  221. package/build/esm/src/clients/lib/axios/axiosRequest.js +28 -0
  222. package/build/esm/src/clients/lib/axios/errors.d.ts +31 -0
  223. package/build/esm/src/clients/lib/axios/errors.d.ts.map +1 -0
  224. package/build/esm/src/clients/lib/axios/errors.js +23 -0
  225. package/build/esm/src/clients/lib/axios/index.d.ts +7 -0
  226. package/build/esm/src/clients/lib/axios/index.d.ts.map +1 -0
  227. package/build/esm/src/clients/lib/axios/index.js +7 -0
  228. package/build/esm/src/clients/lib/axios/types.d.ts +7 -0
  229. package/build/esm/src/clients/lib/axios/types.d.ts.map +1 -0
  230. package/build/esm/src/clients/lib/axios/types.js +8 -0
  231. package/build/esm/src/clients/lib/cctpProto.d.ts +670 -0
  232. package/build/esm/src/clients/lib/cctpProto.d.ts.map +1 -0
  233. package/build/esm/src/clients/lib/cctpProto.js +3234 -0
  234. package/build/esm/src/clients/lib/errors.d.ts +38 -0
  235. package/build/esm/src/clients/lib/errors.d.ts.map +1 -0
  236. package/build/esm/src/clients/lib/errors.js +50 -0
  237. package/build/esm/src/clients/lib/registry.d.ts +4 -0
  238. package/build/esm/src/clients/lib/registry.d.ts.map +1 -0
  239. package/build/esm/src/clients/lib/registry.js +47 -0
  240. package/build/esm/src/clients/modules/account.d.ts +30 -0
  241. package/build/esm/src/clients/modules/account.d.ts.map +1 -0
  242. package/build/esm/src/clients/modules/account.js +217 -0
  243. package/build/esm/src/clients/modules/composer.d.ts +37 -0
  244. package/build/esm/src/clients/modules/composer.d.ts.map +1 -0
  245. package/build/esm/src/clients/modules/composer.js +397 -0
  246. package/build/esm/src/clients/modules/get.d.ts +193 -0
  247. package/build/esm/src/clients/modules/get.d.ts.map +1 -0
  248. package/build/esm/src/clients/modules/get.js +429 -0
  249. package/build/esm/src/clients/modules/local-wallet.d.ts +19 -0
  250. package/build/esm/src/clients/modules/local-wallet.d.ts.map +1 -0
  251. package/build/esm/src/clients/modules/local-wallet.js +53 -0
  252. package/build/esm/src/clients/modules/markets.d.ts +14 -0
  253. package/build/esm/src/clients/modules/markets.d.ts.map +1 -0
  254. package/build/esm/src/clients/modules/markets.js +48 -0
  255. package/build/esm/src/clients/modules/post.d.ts +133 -0
  256. package/build/esm/src/clients/modules/post.d.ts.map +1 -0
  257. package/build/esm/src/clients/modules/post.js +384 -0
  258. package/build/esm/src/clients/modules/proto-includes.d.ts +30 -0
  259. package/build/esm/src/clients/modules/proto-includes.d.ts.map +1 -0
  260. package/build/esm/src/clients/modules/proto-includes.js +32 -0
  261. package/build/esm/src/clients/modules/rest.d.ts +12 -0
  262. package/build/esm/src/clients/modules/rest.d.ts.map +1 -0
  263. package/build/esm/src/clients/modules/rest.js +27 -0
  264. package/build/esm/src/clients/modules/signer.d.ts +19 -0
  265. package/build/esm/src/clients/modules/signer.d.ts.map +1 -0
  266. package/build/esm/src/clients/modules/signer.js +86 -0
  267. package/build/esm/src/clients/modules/tendermintClient.d.ts +54 -0
  268. package/build/esm/src/clients/modules/tendermintClient.d.ts.map +1 -0
  269. package/build/esm/src/clients/modules/tendermintClient.js +133 -0
  270. package/build/esm/src/clients/modules/utility.d.ts +27 -0
  271. package/build/esm/src/clients/modules/utility.d.ts.map +1 -0
  272. package/build/esm/src/clients/modules/utility.js +38 -0
  273. package/build/esm/src/clients/modules/vault.d.ts +12 -0
  274. package/build/esm/src/clients/modules/vault.d.ts.map +1 -0
  275. package/build/esm/src/clients/modules/vault.js +19 -0
  276. package/build/esm/src/clients/native.d.ts +75 -0
  277. package/build/esm/src/clients/native.d.ts.map +1 -0
  278. package/build/esm/src/clients/native.js +1237 -0
  279. package/build/esm/src/clients/noble-client.d.ts +18 -0
  280. package/build/esm/src/clients/noble-client.d.ts.map +1 -0
  281. package/build/esm/src/clients/noble-client.js +71 -0
  282. package/build/esm/src/clients/socket-client.d.ts +146 -0
  283. package/build/esm/src/clients/socket-client.d.ts.map +1 -0
  284. package/build/esm/src/clients/socket-client.js +294 -0
  285. package/build/esm/src/clients/subaccount.d.ts +14 -0
  286. package/build/esm/src/clients/subaccount.d.ts.map +1 -0
  287. package/build/esm/src/clients/subaccount.js +29 -0
  288. package/build/esm/src/clients/types.d.ts +137 -0
  289. package/build/esm/src/clients/types.d.ts.map +1 -0
  290. package/build/esm/src/clients/types.js +26 -0
  291. package/build/esm/src/clients/validator-client.d.ts +35 -0
  292. package/build/esm/src/clients/validator-client.d.ts.map +1 -0
  293. package/build/esm/src/clients/validator-client.js +74 -0
  294. package/build/esm/src/index.d.ts +17 -0
  295. package/build/esm/src/index.d.ts.map +1 -0
  296. package/build/esm/src/index.js +19 -0
  297. package/build/esm/src/lib/constants.d.ts +13 -0
  298. package/build/esm/src/lib/constants.d.ts.map +1 -0
  299. package/build/esm/src/lib/constants.js +20 -0
  300. package/build/esm/src/lib/errors.d.ts +23 -0
  301. package/build/esm/src/lib/errors.d.ts.map +1 -0
  302. package/build/esm/src/lib/errors.js +31 -0
  303. package/build/esm/src/lib/helpers.d.ts +22 -0
  304. package/build/esm/src/lib/helpers.d.ts.map +1 -0
  305. package/build/esm/src/lib/helpers.js +88 -0
  306. package/build/esm/src/lib/onboarding.d.ts +46 -0
  307. package/build/esm/src/lib/onboarding.d.ts.map +1 -0
  308. package/build/esm/src/lib/onboarding.js +69 -0
  309. package/build/esm/src/lib/trading-key-utils.d.ts +22 -0
  310. package/build/esm/src/lib/trading-key-utils.d.ts.map +1 -0
  311. package/build/esm/src/lib/trading-key-utils.js +99 -0
  312. package/build/esm/src/lib/utils.d.ts +39 -0
  313. package/build/esm/src/lib/utils.d.ts.map +1 -0
  314. package/build/esm/src/lib/utils.js +69 -0
  315. package/build/esm/src/lib/validation.d.ts +26 -0
  316. package/build/esm/src/lib/validation.d.ts.map +1 -0
  317. package/build/esm/src/lib/validation.js +138 -0
  318. package/build/esm/src/network_optimizer.d.ts +8 -0
  319. package/build/esm/src/network_optimizer.d.ts.map +1 -0
  320. package/build/esm/src/network_optimizer.js +91 -0
  321. package/build/esm/src/types.d.ts +26 -0
  322. package/build/esm/src/types.d.ts.map +1 -0
  323. package/build/esm/src/types.js +8 -0
  324. package/build/esm/tsconfig.esm.tsbuildinfo +1 -0
  325. package/commitlint.config.js +8 -0
  326. package/examples/account_endpoints.ts +129 -0
  327. package/examples/batch_cancel_orders_example.ts +130 -0
  328. package/examples/composite_example.ts +65 -0
  329. package/examples/constants.ts +42 -0
  330. package/examples/faucet_endpoint.ts +24 -0
  331. package/examples/gov_add_new_market.json +64 -0
  332. package/examples/gov_add_new_market.ts +95 -0
  333. package/examples/human_readable_orders.json +86 -0
  334. package/examples/human_readable_short_term_orders.json +42 -0
  335. package/examples/json-encoding.ts +33 -0
  336. package/examples/long_term_order_cancel_example.ts +87 -0
  337. package/examples/markets_endpoints.ts +134 -0
  338. package/examples/native_examples.ts +151 -0
  339. package/examples/noble_example.ts +107 -0
  340. package/examples/optimal_node.ts +70 -0
  341. package/examples/permissioned_keys_example.ts +162 -0
  342. package/examples/raw_orders.json +130 -0
  343. package/examples/short_term_order_cancel_example.ts +68 -0
  344. package/examples/short_term_order_composite_example.ts +80 -0
  345. package/examples/test.ts +65 -0
  346. package/examples/transfer_example_deposit.ts +28 -0
  347. package/examples/transfer_example_send.ts +60 -0
  348. package/examples/transfer_example_subaccount_transfer.ts +29 -0
  349. package/examples/transfer_example_withdraw.ts +31 -0
  350. package/examples/transfer_example_withdraw_other.ts +60 -0
  351. package/examples/utility_endpoints.ts +42 -0
  352. package/examples/validator_get_example.ts +160 -0
  353. package/examples/validator_post_example.ts +81 -0
  354. package/examples/wallet_address.ts +18 -0
  355. package/examples/websocket_example.ts +44 -0
  356. package/examples/websocket_orderbook_example.ts +239 -0
  357. package/jest.config.js +12 -0
  358. package/jest.globalSetup.js +5 -0
  359. package/jest.setup.js +1 -0
  360. package/package.json +113 -0
  361. package/ritbit-v4-client-js-1.3.17.tgz +0 -0
  362. package/scripts/bump_version.sh +16 -0
  363. package/scripts/generate-cctp-protos.sh +41 -0
  364. package/scripts/mobile_build_pack.sh +5 -0
  365. package/scripts/publish-if-not-exists.sh +21 -0
  366. package/src/clients/composite-client.ts +1431 -0
  367. package/src/clients/constants.ts +358 -0
  368. package/src/clients/faucet-client.ts +48 -0
  369. package/src/clients/helpers/chain-helpers.ts +231 -0
  370. package/src/clients/helpers/request-helpers.ts +71 -0
  371. package/src/clients/indexer-client.ts +61 -0
  372. package/src/clients/lib/axios/axiosRequest.ts +41 -0
  373. package/src/clients/lib/axios/errors.ts +41 -0
  374. package/src/clients/lib/axios/index.ts +7 -0
  375. package/src/clients/lib/axios/types.ts +6 -0
  376. package/src/clients/lib/cctpProto.ts +4197 -0
  377. package/src/clients/lib/errors.ts +63 -0
  378. package/src/clients/lib/registry.ts +88 -0
  379. package/src/clients/modules/account.ts +388 -0
  380. package/src/clients/modules/composer.ts +645 -0
  381. package/src/clients/modules/get.ts +740 -0
  382. package/src/clients/modules/local-wallet.ts +79 -0
  383. package/src/clients/modules/markets.ts +71 -0
  384. package/src/clients/modules/post.ts +1016 -0
  385. package/src/clients/modules/proto-includes.ts +33 -0
  386. package/src/clients/modules/rest.ts +40 -0
  387. package/src/clients/modules/signer.ts +139 -0
  388. package/src/clients/modules/tendermintClient.ts +168 -0
  389. package/src/clients/modules/utility.ts +47 -0
  390. package/src/clients/modules/vault.ts +23 -0
  391. package/src/clients/native.ts +1508 -0
  392. package/src/clients/noble-client.ts +108 -0
  393. package/src/clients/socket-client.ts +331 -0
  394. package/src/clients/subaccount.ts +57 -0
  395. package/src/clients/types.ts +191 -0
  396. package/src/clients/validator-client.ts +103 -0
  397. package/src/index.ts +20 -0
  398. package/src/lib/constants.ts +28 -0
  399. package/src/lib/errors.ts +38 -0
  400. package/src/lib/helpers.ts +99 -0
  401. package/src/lib/onboarding.ts +96 -0
  402. package/src/lib/trading-key-utils.ts +136 -0
  403. package/src/lib/utils.ts +84 -0
  404. package/src/lib/validation.ts +197 -0
  405. package/src/network_optimizer.ts +132 -0
  406. package/src/types.ts +44 -0
  407. package/tasks.json +16 -0
  408. package/tsconfig.base.json +15 -0
  409. package/tsconfig.cjs.json +20 -0
  410. package/tsconfig.eslint.json +14 -0
  411. package/tsconfig.esm.json +11 -0
  412. package/webpack.config.js +56 -0
@@ -0,0 +1,137 @@
1
+ import { Coin } from '@cosmjs/proto-signing';
2
+ import { Method } from '@cosmjs/tendermint-rpc';
3
+ import { Order_ConditionType, Order_Side, Order_TimeInForce } from '@ritbit/v4-proto/src/codegen/ritbit/clob/order';
4
+ import { PerpetualMarketType } from '@ritbit/v4-proto/src/codegen/ritbit/perpetuals/perpetual';
5
+ import BigNumber from 'bignumber.js';
6
+ import Long from 'long';
7
+ export type Integer = BigNumber;
8
+ export type GenericParams = {
9
+ [name: string]: any;
10
+ };
11
+ export type Data = any;
12
+ export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
13
+ export interface PartialTransactionOptions {
14
+ accountNumber: number;
15
+ chainId: string;
16
+ }
17
+ export interface TransactionOptions extends PartialTransactionOptions {
18
+ sequence: number;
19
+ authenticators?: Long[];
20
+ }
21
+ export declare enum OrderFlags {
22
+ SHORT_TERM = 0,
23
+ LONG_TERM = 64,
24
+ CONDITIONAL = 32
25
+ }
26
+ export interface ITwapParameters {
27
+ duration: number;
28
+ interval: number;
29
+ priceTolerance: number;
30
+ }
31
+ export interface IBuilderCodeParameters {
32
+ builderAddress: string;
33
+ feePpm: number;
34
+ }
35
+ export interface IBasicOrder {
36
+ clientId: number;
37
+ orderFlags: OrderFlags;
38
+ clobPairId: number;
39
+ goodTilBlock?: number;
40
+ goodTilBlockTime?: number;
41
+ }
42
+ export interface IPlaceOrder extends IBasicOrder {
43
+ side: Order_Side;
44
+ quantums: Long;
45
+ subticks: Long;
46
+ timeInForce: Order_TimeInForce;
47
+ reduceOnly: boolean;
48
+ clientMetadata: number;
49
+ conditionType?: Order_ConditionType;
50
+ conditionalOrderTriggerSubticks?: Long;
51
+ twapParameters?: ITwapParameters;
52
+ builderCodeParameters?: IBuilderCodeParameters;
53
+ orderRouterAddress?: string;
54
+ }
55
+ export interface ICancelOrder extends IBasicOrder {
56
+ }
57
+ export interface IBatchCancelOrder {
58
+ shortTermOrders: {
59
+ clobPairId: number;
60
+ clientIds: number[];
61
+ }[];
62
+ goodTilBlock: number;
63
+ }
64
+ export interface BroadcastOptions {
65
+ broadcastPollIntervalMs: number;
66
+ broadcastTimeoutMs: number;
67
+ }
68
+ export interface DenomConfig {
69
+ USDC_DENOM: string;
70
+ USDC_DECIMALS: number;
71
+ USDC_GAS_DENOM?: string;
72
+ CHAINTOKEN_DENOM: string;
73
+ CHAINTOKEN_DECIMALS: number;
74
+ CHAINTOKEN_GAS_DENOM?: string;
75
+ }
76
+ export type BroadcastMode = Method.BroadcastTxAsync | Method.BroadcastTxSync | Method.BroadcastTxCommit;
77
+ export interface TimeResponse {
78
+ iso: string;
79
+ epoch: number;
80
+ }
81
+ export interface HeightResponse {
82
+ height: number;
83
+ time: string;
84
+ }
85
+ export interface ComplianceResponse {
86
+ restricted: boolean;
87
+ reason?: string;
88
+ }
89
+ export declare enum ComplianceReason {
90
+ MANUAL = "MANUAL",
91
+ US_GEO = "US_GEO",
92
+ CA_GEO = "CA_GEO",
93
+ GB_GEO = "GB_GEO",
94
+ SANCTIONED_GEO = "SANCTIONED_GEO",
95
+ COMPLIANCE_PROVIDER = "COMPLIANCE_PROVIDER"
96
+ }
97
+ export declare enum ComplianceStatus {
98
+ COMPLIANT = "COMPLIANT",
99
+ FIRST_STRIKE_CLOSE_ONLY = "FIRST_STRIKE_CLOSE_ONLY",
100
+ FIRST_STRIKE = "FIRST_STRIKE",
101
+ CLOSE_ONLY = "CLOSE_ONLY",
102
+ BLOCKED = "BLOCKED"
103
+ }
104
+ export interface ComplianceV2Response {
105
+ status: ComplianceStatus;
106
+ reason?: ComplianceReason;
107
+ updatedAt?: string;
108
+ }
109
+ export type SquidIBCPayload = {
110
+ msgTypeUrl: '/ibc.applications.transfer.v1.MsgTransfer';
111
+ msg: Partial<{
112
+ sourcePort: string;
113
+ sourceChannel: string;
114
+ token: Coin;
115
+ sender: string;
116
+ receiver: string;
117
+ timeoutTimestamp: Long;
118
+ memo: string;
119
+ }>;
120
+ };
121
+ export type GovAddNewMarketParams = {
122
+ id: number;
123
+ ticker: string;
124
+ priceExponent: number;
125
+ minPriceChange: number;
126
+ minExchanges: number;
127
+ exchangeConfigJson: string;
128
+ liquidityTier: number;
129
+ atomicResolution: number;
130
+ marketType: PerpetualMarketType;
131
+ quantumConversionExponent: number;
132
+ stepBaseQuantums: Long;
133
+ subticksPerTick: number;
134
+ delayBlocks: number;
135
+ };
136
+ export * from './modules/proto-includes';
137
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/clients/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ // OrderFlags, just a number in proto, defined as enum for convenience
2
+ export var OrderFlags;
3
+ (function (OrderFlags) {
4
+ OrderFlags[OrderFlags["SHORT_TERM"] = 0] = "SHORT_TERM";
5
+ OrderFlags[OrderFlags["LONG_TERM"] = 64] = "LONG_TERM";
6
+ OrderFlags[OrderFlags["CONDITIONAL"] = 32] = "CONDITIONAL";
7
+ })(OrderFlags || (OrderFlags = {}));
8
+ export var ComplianceReason;
9
+ (function (ComplianceReason) {
10
+ ComplianceReason["MANUAL"] = "MANUAL";
11
+ ComplianceReason["US_GEO"] = "US_GEO";
12
+ ComplianceReason["CA_GEO"] = "CA_GEO";
13
+ ComplianceReason["GB_GEO"] = "GB_GEO";
14
+ ComplianceReason["SANCTIONED_GEO"] = "SANCTIONED_GEO";
15
+ ComplianceReason["COMPLIANCE_PROVIDER"] = "COMPLIANCE_PROVIDER";
16
+ })(ComplianceReason || (ComplianceReason = {}));
17
+ export var ComplianceStatus;
18
+ (function (ComplianceStatus) {
19
+ ComplianceStatus["COMPLIANT"] = "COMPLIANT";
20
+ ComplianceStatus["FIRST_STRIKE_CLOSE_ONLY"] = "FIRST_STRIKE_CLOSE_ONLY";
21
+ ComplianceStatus["FIRST_STRIKE"] = "FIRST_STRIKE";
22
+ ComplianceStatus["CLOSE_ONLY"] = "CLOSE_ONLY";
23
+ ComplianceStatus["BLOCKED"] = "BLOCKED";
24
+ })(ComplianceStatus || (ComplianceStatus = {}));
25
+ export * from './modules/proto-includes';
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0Esc0VBQXNFO0FBQ3RFLE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsdURBQWMsQ0FBQTtJQUNkLHNEQUFjLENBQUE7SUFDZCwwREFBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUF1RkQsTUFBTSxDQUFOLElBQVksZ0JBT1g7QUFQRCxXQUFZLGdCQUFnQjtJQUMxQixxQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBaUIsQ0FBQTtJQUNqQixxREFBaUMsQ0FBQTtJQUNqQywrREFBMkMsQ0FBQTtBQUM3QyxDQUFDLEVBUFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU8zQjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDMUIsMkNBQXVCLENBQUE7SUFDdkIsdUVBQW1ELENBQUE7SUFDbkQsaURBQTZCLENBQUE7SUFDN0IsNkNBQXlCLENBQUE7SUFDekIsdUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQU5XLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFNM0I7QUFpREQsY0FBYywwQkFBMEIsQ0FBQyJ9
@@ -0,0 +1,35 @@
1
+ import { ValidatorConfig, SelectedGasDenom } from './constants';
2
+ import { Get } from './modules/get';
3
+ import { Post } from './modules/post';
4
+ export declare class ValidatorClient {
5
+ readonly config: ValidatorConfig;
6
+ private _get?;
7
+ private _post?;
8
+ /**
9
+ * @description Connect to a validator client
10
+ *
11
+ * @returns The validator client
12
+ */
13
+ static connect(config: ValidatorConfig): Promise<ValidatorClient>;
14
+ private constructor();
15
+ /**
16
+ * @description Get the query module, used for retrieving on-chain data.
17
+ *
18
+ * @returns The query module
19
+ */
20
+ get get(): Get;
21
+ /**
22
+ * @description transaction module, used for sending transactions.
23
+ *
24
+ * @returns The transaction module
25
+ */
26
+ get post(): Post;
27
+ get selectedGasDenom(): SelectedGasDenom | undefined;
28
+ setSelectedGasDenom(gasDenom: SelectedGasDenom): void;
29
+ /**
30
+ * @description populate account number cache in the Post module for performance.
31
+ */
32
+ populateAccountNumberCache(address: string): Promise<void>;
33
+ private initialize;
34
+ }
35
+ //# sourceMappingURL=validator-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator-client.d.ts","sourceRoot":"","sources":["../../../../src/clients/validator-client.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,eAAe,EAGf,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAUtC,qBAAa,eAAe;IAC1B,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAM;IACnB,OAAO,CAAC,KAAK,CAAC,CAAO;IAErB;;;;OAIG;WACU,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAMvE,OAAO;IAIP;;;;OAIG;IACH,IAAI,GAAG,IAAI,GAAG,CAEb;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAGnD;IAED,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAMrD;;OAEG;IACG,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKlD,UAAU;CAuBzB"}
@@ -0,0 +1,74 @@
1
+ import { QueryClient, setupTxExtension } from '@cosmjs/stargate';
2
+ import { Tendermint37Client } from '@cosmjs/tendermint-rpc';
3
+ import Long from 'long';
4
+ import protobuf from 'protobufjs';
5
+ import { BROADCAST_POLL_INTERVAL_MS, BROADCAST_TIMEOUT_MS, } from './constants';
6
+ import { Get } from './modules/get';
7
+ import { Post } from './modules/post';
8
+ import { TendermintClient } from './modules/tendermintClient';
9
+ // Required for encoding and decoding queries that are of type Long.
10
+ // Must be done once but since the individal modules should be usable
11
+ // - must be set in each module that encounters encoding/decoding Longs.
12
+ // Reference: https://github.com/protobufjs/protobuf.js/issues/921
13
+ protobuf.util.Long = Long;
14
+ protobuf.configure();
15
+ export class ValidatorClient {
16
+ /**
17
+ * @description Connect to a validator client
18
+ *
19
+ * @returns The validator client
20
+ */
21
+ static async connect(config) {
22
+ const client = new ValidatorClient(config);
23
+ await client.initialize();
24
+ return client;
25
+ }
26
+ constructor(config) {
27
+ this.config = config;
28
+ }
29
+ /**
30
+ * @description Get the query module, used for retrieving on-chain data.
31
+ *
32
+ * @returns The query module
33
+ */
34
+ get get() {
35
+ return this._get;
36
+ }
37
+ /**
38
+ * @description transaction module, used for sending transactions.
39
+ *
40
+ * @returns The transaction module
41
+ */
42
+ get post() {
43
+ return this._post;
44
+ }
45
+ get selectedGasDenom() {
46
+ if (!this._post)
47
+ return undefined;
48
+ return this._post.selectedGasDenom;
49
+ }
50
+ setSelectedGasDenom(gasDenom) {
51
+ if (!this._post)
52
+ throw new Error('Post module not initialized');
53
+ this._post.setSelectedGasDenom(gasDenom);
54
+ }
55
+ /**
56
+ * @description populate account number cache in the Post module for performance.
57
+ */
58
+ async populateAccountNumberCache(address) {
59
+ if (!this._post)
60
+ throw new Error('Post module not initialized');
61
+ await this._post.populateAccountNumberCache(address);
62
+ }
63
+ async initialize() {
64
+ const tendermint37Client = await Tendermint37Client.connect(this.config.restEndpoint);
65
+ const tendermintClient = new TendermintClient(tendermint37Client, {
66
+ broadcastPollIntervalMs: BROADCAST_POLL_INTERVAL_MS,
67
+ broadcastTimeoutMs: BROADCAST_TIMEOUT_MS,
68
+ });
69
+ const queryClient = QueryClient.withExtensions(tendermint37Client, setupTxExtension);
70
+ this._get = new Get(tendermintClient, queryClient);
71
+ this._post = new Post(this._get, this.config.chainId, this.config.denoms, this.config.defaultClientMemo, this.config.useTimestampNonce, this.config.timestampNonceOffsetMs);
72
+ }
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL3ZhbGlkYXRvci1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFFbEMsT0FBTyxFQUVMLDBCQUEwQixFQUMxQixvQkFBb0IsR0FFckIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsb0VBQW9FO0FBQ3BFLHFFQUFxRTtBQUNyRSx3RUFBd0U7QUFDeEUsa0VBQWtFO0FBQ2xFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztBQUMxQixRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7QUFFckIsTUFBTSxPQUFPLGVBQWU7SUFLMUI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQXVCO1FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFvQixNQUF1QjtRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsMEJBQTBCLENBQUMsT0FBZTtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDaEUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUN0QixNQUFNLGtCQUFrQixHQUF1QixNQUFNLGtCQUFrQixDQUFDLE9BQU8sQ0FDN0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQ3pCLENBQUM7UUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUU7WUFDaEUsdUJBQXVCLEVBQUUsMEJBQTBCO1lBQ25ELGtCQUFrQixFQUFFLG9CQUFvQjtTQUN6QyxDQUFDLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBOEIsV0FBVyxDQUFDLGNBQWMsQ0FDdkUsa0JBQWtCLEVBQ2xCLGdCQUFnQixDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUNuQixJQUFJLENBQUMsSUFBSyxFQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDbkMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
@@ -0,0 +1,17 @@
1
+ export * from './types';
2
+ export * as helpers from './lib/helpers';
3
+ export * as onboarding from './lib/onboarding';
4
+ export * as tradingKeyUtils from './lib/trading-key-utils';
5
+ export * as utils from './lib/utils';
6
+ export * as validation from './lib/validation';
7
+ export { CompositeClient } from './clients/composite-client';
8
+ export { FaucetClient } from './clients/faucet-client';
9
+ export { IndexerClient } from './clients/indexer-client';
10
+ export { default as LocalWallet } from './clients/modules/local-wallet';
11
+ export { NobleClient } from './clients/noble-client';
12
+ export { SocketClient } from './clients/socket-client';
13
+ export { SubaccountInfo as SubaccountClient, SubaccountInfo } from './clients/subaccount';
14
+ export { ValidatorClient } from './clients/validator-client';
15
+ export { encodeJson, ByteArrayEncoding } from './lib/helpers';
16
+ export { NetworkOptimizer } from './network_optimizer';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,19 @@
1
+ // Types.
2
+ export * from './types';
3
+ // Utility functions.
4
+ export * as helpers from './lib/helpers';
5
+ export * as onboarding from './lib/onboarding';
6
+ export * as tradingKeyUtils from './lib/trading-key-utils';
7
+ export * as utils from './lib/utils';
8
+ export * as validation from './lib/validation';
9
+ export { CompositeClient } from './clients/composite-client';
10
+ export { FaucetClient } from './clients/faucet-client';
11
+ export { IndexerClient } from './clients/indexer-client';
12
+ export { default as LocalWallet } from './clients/modules/local-wallet';
13
+ export { NobleClient } from './clients/noble-client';
14
+ export { SocketClient } from './clients/socket-client';
15
+ export { SubaccountInfo as SubaccountClient, SubaccountInfo } from './clients/subaccount';
16
+ export { ValidatorClient } from './clients/validator-client';
17
+ export { encodeJson, ByteArrayEncoding } from './lib/helpers';
18
+ export { NetworkOptimizer } from './network_optimizer';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUztBQUNULGNBQWMsU0FBUyxDQUFDO0FBRXhCLHFCQUFxQjtBQUNyQixPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEtBQUssVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxlQUFlLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsSUFBSSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyJ9
@@ -0,0 +1,13 @@
1
+ import { StdFee } from '@cosmjs/stargate';
2
+ export declare const BECH32_PREFIX = "rit";
3
+ export declare const NOBLE_BECH32_PREFIX = "noble";
4
+ export declare const BROADCAST_POLL_INTERVAL_MS: number;
5
+ export declare const BROADCAST_TIMEOUT_MS: number;
6
+ export declare const API_TIMEOUT_DEFAULT_MS: number;
7
+ export declare const GAS_MULTIPLIER: number;
8
+ export declare const ZERO_FEE: StdFee;
9
+ export declare const MAX_UINT_32 = 4294967295;
10
+ export declare const MAX_SUBACCOUNT_NUMBER = 128000;
11
+ export declare const DEFAULT_SEQUENCE: number;
12
+ export declare const SERIALIZED_INT_ZERO: Uint8Array;
13
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAG3C,eAAO,MAAM,0BAA0B,EAAE,MAAY,CAAC;AACtD,eAAO,MAAM,oBAAoB,EAAE,MAAc,CAAC;AAGlD,eAAO,MAAM,sBAAsB,EAAE,MAAc,CAAC;AAGpD,eAAO,MAAM,cAAc,EAAE,MAAY,CAAC;AAE1C,eAAO,MAAM,QAAQ,EAAE,MAGtB,CAAC;AAGF,eAAO,MAAM,WAAW,aAAgB,CAAC;AACzC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAE7C,eAAO,MAAM,gBAAgB,EAAE,MAAU,CAAC;AAE1C,eAAO,MAAM,mBAAmB,EAAE,UAAoC,CAAC"}
@@ -0,0 +1,20 @@
1
+ // Bech32 Prefix
2
+ export const BECH32_PREFIX = 'rit';
3
+ export const NOBLE_BECH32_PREFIX = 'noble';
4
+ // Broadcast Defaults
5
+ export const BROADCAST_POLL_INTERVAL_MS = 300;
6
+ export const BROADCAST_TIMEOUT_MS = 8000;
7
+ // API Defaults
8
+ export const API_TIMEOUT_DEFAULT_MS = 5000;
9
+ // Gas
10
+ export const GAS_MULTIPLIER = 1.6;
11
+ export const ZERO_FEE = {
12
+ amount: [],
13
+ gas: '0',
14
+ };
15
+ // Validation
16
+ export const MAX_UINT_32 = 4294967295;
17
+ export const MAX_SUBACCOUNT_NUMBER = 128000;
18
+ export const DEFAULT_SEQUENCE = 0;
19
+ export const SERIALIZED_INT_ZERO = Uint8Array.from([0x02]);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZ0JBQWdCO0FBQ2hCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBRTNDLHFCQUFxQjtBQUNyQixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBVyxHQUFHLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQVcsSUFBSyxDQUFDO0FBRWxELGVBQWU7QUFDZixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBVyxJQUFLLENBQUM7QUFFcEQsTUFBTTtBQUNOLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBVyxHQUFHLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFXO0lBQzlCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsR0FBRyxFQUFFLEdBQUc7Q0FDVCxDQUFDO0FBRUYsYUFBYTtBQUNiLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxVQUFhLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsTUFBTyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFXLENBQUMsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyJ9
@@ -0,0 +1,23 @@
1
+ import { BroadcastTxSyncResponse } from '@cosmjs/tendermint-rpc';
2
+ /**
3
+ * An edge-case was hit in the client that should never have been reached.
4
+ */
5
+ export declare class UnexpectedClientError extends Error {
6
+ constructor();
7
+ }
8
+ /**
9
+ * An error occurred during the broadcasting process.
10
+ */
11
+ export declare class BroadcastErrorObject extends Error {
12
+ result: BroadcastTxSyncResponse;
13
+ code: number;
14
+ codespace?: string;
15
+ constructor(message: string, result: BroadcastTxSyncResponse);
16
+ }
17
+ /**
18
+ * User error occurred during a client operation.
19
+ */
20
+ export declare class UserError extends Error {
21
+ constructor(message: string);
22
+ }
23
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;;CAK/C;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB;CAO7D;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;gBACtB,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * An edge-case was hit in the client that should never have been reached.
3
+ */
4
+ export class UnexpectedClientError extends Error {
5
+ constructor() {
6
+ super('An unexpected error occurred on the client');
7
+ this.name = 'UnexpectedClientError';
8
+ }
9
+ }
10
+ /**
11
+ * An error occurred during the broadcasting process.
12
+ */
13
+ export class BroadcastErrorObject extends Error {
14
+ constructor(message, result) {
15
+ super(message);
16
+ this.name = 'BroadcastError';
17
+ this.result = result;
18
+ this.code = result.code;
19
+ this.codespace = result.codespace;
20
+ }
21
+ }
22
+ /**
23
+ * User error occurred during a client operation.
24
+ */
25
+ export class UserError extends Error {
26
+ constructor(message) {
27
+ super(message);
28
+ this.name = 'UserError';
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsS0FBSztJQUM5QztRQUNFLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsS0FBSztJQUs3QyxZQUFZLE9BQWUsRUFBRSxNQUErQjtRQUMxRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDbEMsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0FDRiJ9
@@ -0,0 +1,22 @@
1
+ import { PartialTransactionOptions, TransactionOptions } from '../types';
2
+ /**
3
+ * @description Either return undefined or insert default sequence value into
4
+ * `partialTransactionOptions` if it does not exist.
5
+ *
6
+ * @returns undefined or full TransactionOptions.
7
+ */
8
+ export declare function convertPartialTransactionOptionsToFull(partialTransactionOptions?: PartialTransactionOptions): TransactionOptions | undefined;
9
+ /**
10
+ * @description Strip '0x' prefix from input string. If there is no '0x' prefix, return the original
11
+ * input.
12
+ *
13
+ * @returns input without '0x' prefix or original input if no prefix.
14
+ */
15
+ export declare function stripHexPrefix(input: string): string;
16
+ export declare function bigIntToBytes(value: bigint): Uint8Array;
17
+ export declare enum ByteArrayEncoding {
18
+ HEX = "hex",
19
+ BIGINT = "bigint"
20
+ }
21
+ export declare function encodeJson(object?: Object, byteArrayEncoding?: ByteArrayEncoding): string;
22
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGzE;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACpD,yBAAyB,CAAC,EAAE,yBAAyB,GACpD,kBAAkB,GAAG,SAAS,CAShC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAaD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAQvD;AAED,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,wBAAgB,UAAU,CACxB,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,GAAE,iBAAyC,GAC3D,MAAM,CA6BR"}
@@ -0,0 +1,88 @@
1
+ import { toHex } from '@cosmjs/encoding';
2
+ import BigNumber from 'bignumber.js';
3
+ import Long from 'long';
4
+ import { DEFAULT_SEQUENCE } from './constants';
5
+ /**
6
+ * @description Either return undefined or insert default sequence value into
7
+ * `partialTransactionOptions` if it does not exist.
8
+ *
9
+ * @returns undefined or full TransactionOptions.
10
+ */
11
+ export function convertPartialTransactionOptionsToFull(partialTransactionOptions) {
12
+ if (partialTransactionOptions === undefined) {
13
+ return undefined;
14
+ }
15
+ return {
16
+ sequence: DEFAULT_SEQUENCE,
17
+ ...partialTransactionOptions,
18
+ };
19
+ }
20
+ /**
21
+ * @description Strip '0x' prefix from input string. If there is no '0x' prefix, return the original
22
+ * input.
23
+ *
24
+ * @returns input without '0x' prefix or original input if no prefix.
25
+ */
26
+ export function stripHexPrefix(input) {
27
+ if (input.indexOf('0x') === 0) {
28
+ return input.slice(2);
29
+ }
30
+ return input;
31
+ }
32
+ function toBigInt(u) {
33
+ if (u.length <= 1) {
34
+ return BigInt(0);
35
+ }
36
+ // eslint-disable-next-line no-bitwise
37
+ const negated = (u[0] & 1) === 1;
38
+ const hex = Buffer.from(u.slice(1)).toString('hex');
39
+ const abs = BigInt(`0x${hex}`);
40
+ return negated ? -abs : abs;
41
+ }
42
+ export function bigIntToBytes(value) {
43
+ const absoluteValue = value < 0 ? value * BigInt(-1) : value;
44
+ const nonPaddedHexValue = absoluteValue.toString(16);
45
+ const paddedHexValue = nonPaddedHexValue.length % 2 === 0 ? nonPaddedHexValue : `0${nonPaddedHexValue}`;
46
+ const numberBytes = Buffer.from(paddedHexValue, 'hex');
47
+ const signedBytes = Uint8Array.of(value < 0 ? 3 : 2, ...numberBytes);
48
+ return signedBytes;
49
+ }
50
+ export var ByteArrayEncoding;
51
+ (function (ByteArrayEncoding) {
52
+ ByteArrayEncoding["HEX"] = "hex";
53
+ ByteArrayEncoding["BIGINT"] = "bigint";
54
+ })(ByteArrayEncoding || (ByteArrayEncoding = {}));
55
+ export function encodeJson(object, byteArrayEncoding = ByteArrayEncoding.HEX) {
56
+ // eslint-disable-next-line prefer-arrow-callback
57
+ return JSON.stringify(object, function replacer(_key, value) {
58
+ // Even though we set the an UInt8Array as the value,
59
+ // it comes in here as an object with UInt8Array as the buffer property.
60
+ if (value instanceof BigNumber) {
61
+ return value.toString();
62
+ }
63
+ if (typeof value === 'bigint') {
64
+ return value.toString();
65
+ }
66
+ if (value instanceof Long) {
67
+ return value.toString();
68
+ }
69
+ if ((value === null || value === void 0 ? void 0 : value.buffer) instanceof Uint8Array) {
70
+ if (byteArrayEncoding === ByteArrayEncoding.HEX) {
71
+ return toHex(value.buffer);
72
+ }
73
+ else {
74
+ return toBigInt(value.buffer).toString();
75
+ }
76
+ }
77
+ else if (value instanceof Uint8Array) {
78
+ if (byteArrayEncoding === ByteArrayEncoding.HEX) {
79
+ return toHex(value);
80
+ }
81
+ else {
82
+ return toBigInt(value).toString();
83
+ }
84
+ }
85
+ return value;
86
+ });
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUd4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0M7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsc0NBQXNDLENBQ3BELHlCQUFxRDtJQUVyRCxJQUFJLHlCQUF5QixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixHQUFHLHlCQUF5QjtLQUM3QixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFhO0lBQzFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLENBQWE7SUFDN0IsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLEdBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @description Get Mnemonic and priv/pub keys from privateKeyBytes and BIP44 HD path
3
+ *
4
+ * @url https://github.com/confio/cosmos-hd-key-derivation-spec#bip44
5
+ *
6
+ * @param entropy used to generate mnemonic
7
+ *
8
+ * @param path BIP44 HD Path. Default is The Cosmos Hub path
9
+ *
10
+ * @throws Error if the hdkey does not exist
11
+ *
12
+ * @returns Mnemonic and priv/pub keys
13
+ */
14
+ export declare const exportMnemonicAndPrivateKey: (entropy: Uint8Array, path?: string) => {
15
+ mnemonic: string;
16
+ privateKey: Uint8Array | null;
17
+ publicKey: Uint8Array | null;
18
+ };
19
+ /**
20
+ * @description Get private information for onboarding using an Ethereum Signature.
21
+ *
22
+ * @returns Mnemonic and Public/Private HD keys
23
+ */
24
+ export declare const deriveHDKeyFromEthereumSignature: (signature: string) => {
25
+ mnemonic: string;
26
+ privateKey: Uint8Array | null;
27
+ publicKey: Uint8Array | null;
28
+ };
29
+ /**
30
+ * @description Derive priv/pub keys from mnemonic and BIP44 HD path
31
+ *
32
+ * @url https://github.com/confio/cosmos-hd-key-derivation-spec#bip44
33
+ *
34
+ * @param mnemonic used to generate seed
35
+ *
36
+ * @param path BIP44 HD Path. Default is The Cosmos Hub path
37
+ *
38
+ * @throws Error if the hdkey does not exist
39
+ *
40
+ * @returns Priv/pub keys
41
+ */
42
+ export declare const deriveHDKeyFromMnemonic: (mnemonic: string, path?: string) => {
43
+ privateKey: Uint8Array | null;
44
+ publicKey: Uint8Array | null;
45
+ };
46
+ //# sourceMappingURL=onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../../src/lib/onboarding.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,UAAU,EACnB,OAAM,MAA4B,KACjC;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAS9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,WAAW,MAAM,KAChB;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAa9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,MAAM,EAChB,OAAM,MAA4B,KACjC;IACD,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAe9B,CAAC"}