@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,288 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.AuthenticatorType = exports.PnlTickInterval = exports.TimePeriod = exports.PositionStatus = exports.TickerType = exports.OrderStatus = exports.OrderExecution = exports.OrderTimeInForce = exports.OrderSide = exports.OrderType = exports.MarketStatisticDay = exports.MEGAVAULT_MODULE_ADDRESS = exports.DELAYMSG_MODULE_ADDRESS = exports.GOV_MODULE_ADDRESS = exports.TYPE_URL_MSG_REMOVE_AUTHENTICATOR = exports.TYPE_URL_MSG_ADD_AUTHENTICATOR = exports.TYPE_URL_MSG_WITHDRAW_DELEGATOR_REWARD = exports.TYPE_URL_MSG_UNDELEGATE = exports.TYPE_URL_MSG_DELEGATE = exports.TYPE_URL_MSG_WITHDRAW_FROM_MEGAVAULT = exports.TYPE_URL_MSG_DEPOSIT_TO_MEGAVAULT = exports.TYPE_URL_MSG_REGISTER_AFFILIATE = exports.TYPE_URL_MSG_DEPOSIT_TO_SUBACCOUNT = exports.TYPE_URL_MSG_WITHDRAW_FROM_SUBACCOUNT = exports.TYPE_URL_MSG_CREATE_TRANSFER = exports.TYPE_URL_MSG_CREATE_ORACLE_MARKET = exports.TYPE_URL_MSG_CREATE_PERPETUAL = exports.TYPE_URL_MSG_CREATE_MARKET_PERMISSIONLESS = exports.TYPE_URL_MSG_DELAY_MESSAGE = exports.TYPE_URL_MSG_UPDATE_LEVERAGE = exports.TYPE_URL_MSG_UPDATE_CLOB_PAIR = exports.TYPE_URL_MSG_CREATE_CLOB_PAIR = exports.TYPE_URL_BATCH_CANCEL = exports.TYPE_URL_MSG_CANCEL_ORDER = exports.TYPE_URL_MSG_PLACE_ORDER = exports.TYPE_URL_MSG_SUBMIT_PROPOSAL = exports.TYPE_URL_MSG_SEND = exports.SelectedGasDenom = exports.NETWORK_ID_MAINNET = exports.NETWORK_ID_TESTNET = exports.NetworkId = exports.ValidatorApiHost = exports.FaucetApiHost = exports.IndexerWSHost = exports.IndexerApiHost = exports.MAINNET_CHAIN_ID = exports.LOCAL_CHAIN_ID = exports.TESTNET_CHAIN_ID = exports.STAGING_CHAIN_ID = exports.DEV_CHAIN_ID = void 0;
21
+ exports.Network = exports.ValidatorConfig = exports.IndexerConfig = exports.PAGE_REQUEST = exports.SHORT_BLOCK_FORWARD = exports.SHORT_BLOCK_WINDOW = exports.MAX_MEMO_CHARACTERS = exports.DEFAULT_API_TIMEOUT = exports.TradingRewardAggregationPeriod = void 0;
22
+ const long_1 = __importDefault(require("long"));
23
+ __exportStar(require("../lib/constants"), exports);
24
+ /**
25
+ * Disclaimer: Note that as of the date hereof, the testnet and PerpX Chain deployment by PerpX
26
+ * token holders are the only known deployments of the PerpX v4 software, and other deployment
27
+ * options may be added.
28
+ * For more information, please see https://perpx.exchange/perpx-chain-front-end-options
29
+ */
30
+ // Chain ID
31
+ exports.DEV_CHAIN_ID = 'localperpxprotocol';
32
+ exports.STAGING_CHAIN_ID = 'localperpxprotocol';
33
+ exports.TESTNET_CHAIN_ID = 'localperpxprotocol';
34
+ exports.LOCAL_CHAIN_ID = 'localperpxprotocol';
35
+ // For the deployment by PerpX token holders
36
+ exports.MAINNET_CHAIN_ID = 'perpx-mainnet';
37
+ // ------------ API URLs ------------
38
+ var IndexerApiHost;
39
+ (function (IndexerApiHost) {
40
+ IndexerApiHost["TESTNET"] = "http://indexer-perpx-testnet.1119labs.com/";
41
+ IndexerApiHost["STAGING"] = "http://indexer-perpx-testnet.1119labs.com/";
42
+ IndexerApiHost["LOCAL"] = "http://localhost:3002";
43
+ // For the deployment by PerpX token holders
44
+ IndexerApiHost["MAINNET"] = "http://indexer-perpx-testnet.1119labs.com/";
45
+ })(IndexerApiHost || (exports.IndexerApiHost = IndexerApiHost = {}));
46
+ var IndexerWSHost;
47
+ (function (IndexerWSHost) {
48
+ IndexerWSHost["TESTNET"] = "wss://wss-perpx-testnet.1119lab.com";
49
+ IndexerWSHost["STAGING"] = "wss://wss-perpx-testnet.1119lab.com";
50
+ IndexerWSHost["LOCAL"] = "ws://localhost:3003";
51
+ // For the deployment by PerpX token holders
52
+ IndexerWSHost["MAINNET"] = "wss://wss-perpx-testnet.1119lab.com";
53
+ })(IndexerWSHost || (exports.IndexerWSHost = IndexerWSHost = {}));
54
+ var FaucetApiHost;
55
+ (function (FaucetApiHost) {
56
+ FaucetApiHost["TESTNET"] = "http://localhost:9003";
57
+ })(FaucetApiHost || (exports.FaucetApiHost = FaucetApiHost = {}));
58
+ var ValidatorApiHost;
59
+ (function (ValidatorApiHost) {
60
+ ValidatorApiHost["TESTNET"] = "https://rpc-perpx-testnet.1119labs.com";
61
+ ValidatorApiHost["STAGING"] = "https://rpc-perpx-testnet.1119labs.com";
62
+ ValidatorApiHost["LOCAL"] = "http://localhost:26657";
63
+ // For the deployment by PerpX token holders
64
+ ValidatorApiHost["MAINNET"] = "https://rpc-perpx-testnet.1119labs.com";
65
+ })(ValidatorApiHost || (exports.ValidatorApiHost = ValidatorApiHost = {}));
66
+ // ------------ Network IDs ------------
67
+ var NetworkId;
68
+ (function (NetworkId) {
69
+ NetworkId["TESTNET"] = "localperpxprotocol";
70
+ // For the deployment by PerpX token holders
71
+ NetworkId["MAINNET"] = "perpx-mainnet";
72
+ })(NetworkId || (exports.NetworkId = NetworkId = {}));
73
+ exports.NETWORK_ID_TESTNET = 'localperpxprotocol';
74
+ // For the deployment by PerpX token holders
75
+ exports.NETWORK_ID_MAINNET = 'perpx-mainnet';
76
+ // ------------ Gas Denoms ------------
77
+ var SelectedGasDenom;
78
+ (function (SelectedGasDenom) {
79
+ SelectedGasDenom["NATIVE"] = "NATIVE";
80
+ SelectedGasDenom["USDC"] = "USDC";
81
+ })(SelectedGasDenom || (exports.SelectedGasDenom = SelectedGasDenom = {}));
82
+ // ------------ MsgType URLs ------------
83
+ // Default CosmosSDK
84
+ // x/bank
85
+ exports.TYPE_URL_MSG_SEND = '/cosmos.bank.v1beta1.MsgSend';
86
+ // x/gov
87
+ exports.TYPE_URL_MSG_SUBMIT_PROPOSAL = '/cosmos.gov.v1.MsgSubmitProposal';
88
+ // PerpX Specific
89
+ // x/clob
90
+ exports.TYPE_URL_MSG_PLACE_ORDER = '/perpx.clob.MsgPlaceOrder';
91
+ exports.TYPE_URL_MSG_CANCEL_ORDER = '/perpx.clob.MsgCancelOrder';
92
+ exports.TYPE_URL_BATCH_CANCEL = '/perpx.clob.MsgBatchCancel';
93
+ exports.TYPE_URL_MSG_CREATE_CLOB_PAIR = '/perpx.clob.MsgCreateClobPair';
94
+ exports.TYPE_URL_MSG_UPDATE_CLOB_PAIR = '/perpx.clob.MsgUpdateClobPair';
95
+ exports.TYPE_URL_MSG_UPDATE_LEVERAGE = '/perpx.clob.MsgUpdateLeverage';
96
+ // x/delaymsg
97
+ exports.TYPE_URL_MSG_DELAY_MESSAGE = '/perpx.delaymsg.MsgDelayMessage';
98
+ // x/listing
99
+ exports.TYPE_URL_MSG_CREATE_MARKET_PERMISSIONLESS = '/perpx.listing.MsgCreateMarketPermissionless';
100
+ // x/perpetuals
101
+ exports.TYPE_URL_MSG_CREATE_PERPETUAL = '/perpx.perpetuals.MsgCreatePerpetual';
102
+ // x/prices
103
+ exports.TYPE_URL_MSG_CREATE_ORACLE_MARKET = '/perpx.prices.MsgCreateOracleMarket';
104
+ // x/sending
105
+ exports.TYPE_URL_MSG_CREATE_TRANSFER = '/perpx.sending.MsgCreateTransfer';
106
+ exports.TYPE_URL_MSG_WITHDRAW_FROM_SUBACCOUNT = '/perpx.sending.MsgWithdrawFromSubaccount';
107
+ exports.TYPE_URL_MSG_DEPOSIT_TO_SUBACCOUNT = '/perpx.sending.MsgDepositToSubaccount';
108
+ // x/affiliates
109
+ exports.TYPE_URL_MSG_REGISTER_AFFILIATE = '/perpx.affiliates.MsgRegisterAffiliate';
110
+ // x/vault
111
+ exports.TYPE_URL_MSG_DEPOSIT_TO_MEGAVAULT = '/perpx.vault.MsgDepositToMegavault';
112
+ exports.TYPE_URL_MSG_WITHDRAW_FROM_MEGAVAULT = '/perpx.vault.MsgWithdrawFromMegavault';
113
+ // x/staking
114
+ exports.TYPE_URL_MSG_DELEGATE = '/cosmos.staking.v1beta1.MsgDelegate';
115
+ exports.TYPE_URL_MSG_UNDELEGATE = '/cosmos.staking.v1beta1.MsgUndelegate';
116
+ // x/distribution
117
+ exports.TYPE_URL_MSG_WITHDRAW_DELEGATOR_REWARD = '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward';
118
+ // x/accountplus
119
+ exports.TYPE_URL_MSG_ADD_AUTHENTICATOR = '/perpx.accountplus.MsgAddAuthenticator';
120
+ exports.TYPE_URL_MSG_REMOVE_AUTHENTICATOR = '/perpx.accountplus.MsgRemoveAuthenticator';
121
+ // ------------ Chain Constants ------------
122
+ // The following are same across different networks / deployments.
123
+ exports.GOV_MODULE_ADDRESS = 'perpx10d07y265gmmuvt4z0w9aw880jnsr700jnnhuak';
124
+ exports.DELAYMSG_MODULE_ADDRESS = 'perpx1mkkvp26dngu6n8rmalaxyp3gwkjuzztq52v8q3';
125
+ exports.MEGAVAULT_MODULE_ADDRESS = 'perpx18tkxrnrkqc2t0lr3zxr5g6a4hdvqksylxgcy73';
126
+ // ------------ Market Statistic Day Types ------------
127
+ var MarketStatisticDay;
128
+ (function (MarketStatisticDay) {
129
+ MarketStatisticDay["ONE"] = "1";
130
+ MarketStatisticDay["SEVEN"] = "7";
131
+ MarketStatisticDay["THIRTY"] = "30";
132
+ })(MarketStatisticDay || (exports.MarketStatisticDay = MarketStatisticDay = {}));
133
+ // ------------ Order Types ------------
134
+ // This should match OrderType in Abacus
135
+ var OrderType;
136
+ (function (OrderType) {
137
+ OrderType["LIMIT"] = "LIMIT";
138
+ OrderType["MARKET"] = "MARKET";
139
+ OrderType["STOP_LIMIT"] = "STOP_LIMIT";
140
+ OrderType["TAKE_PROFIT_LIMIT"] = "TAKE_PROFIT";
141
+ OrderType["STOP_MARKET"] = "STOP_MARKET";
142
+ OrderType["TAKE_PROFIT_MARKET"] = "TAKE_PROFIT_MARKET";
143
+ })(OrderType || (exports.OrderType = OrderType = {}));
144
+ // ------------ Order Side ------------
145
+ // This should match OrderSide in Abacus
146
+ var OrderSide;
147
+ (function (OrderSide) {
148
+ OrderSide["BUY"] = "BUY";
149
+ OrderSide["SELL"] = "SELL";
150
+ })(OrderSide || (exports.OrderSide = OrderSide = {}));
151
+ // ------------ Order TimeInForce ------------
152
+ // This should match OrderTimeInForce in Abacus
153
+ var OrderTimeInForce;
154
+ (function (OrderTimeInForce) {
155
+ OrderTimeInForce["GTT"] = "GTT";
156
+ OrderTimeInForce["IOC"] = "IOC";
157
+ OrderTimeInForce["FOK"] = "FOK";
158
+ })(OrderTimeInForce || (exports.OrderTimeInForce = OrderTimeInForce = {}));
159
+ // ------------ Order Execution ------------
160
+ // This should match OrderExecution in Abacus
161
+ var OrderExecution;
162
+ (function (OrderExecution) {
163
+ OrderExecution["DEFAULT"] = "DEFAULT";
164
+ OrderExecution["IOC"] = "IOC";
165
+ OrderExecution["FOK"] = "FOK";
166
+ OrderExecution["POST_ONLY"] = "POST_ONLY";
167
+ })(OrderExecution || (exports.OrderExecution = OrderExecution = {}));
168
+ // ------------ Order Status ------------
169
+ // This should match OrderStatus in Abacus
170
+ var OrderStatus;
171
+ (function (OrderStatus) {
172
+ OrderStatus["BEST_EFFORT_OPENED"] = "BEST_EFFORT_OPENED";
173
+ OrderStatus["OPEN"] = "OPEN";
174
+ OrderStatus["FILLED"] = "FILLED";
175
+ OrderStatus["BEST_EFFORT_CANCELED"] = "BEST_EFFORT_CANCELED";
176
+ OrderStatus["CANCELED"] = "CANCELED";
177
+ })(OrderStatus || (exports.OrderStatus = OrderStatus = {}));
178
+ var TickerType;
179
+ (function (TickerType) {
180
+ TickerType["PERPETUAL"] = "PERPETUAL";
181
+ })(TickerType || (exports.TickerType = TickerType = {}));
182
+ var PositionStatus;
183
+ (function (PositionStatus) {
184
+ PositionStatus["OPEN"] = "OPEN";
185
+ PositionStatus["CLOSED"] = "CLOSED";
186
+ PositionStatus["LIQUIDATED"] = "LIQUIDATED";
187
+ })(PositionStatus || (exports.PositionStatus = PositionStatus = {}));
188
+ // ----------- Time Period for Sparklines -------------
189
+ var TimePeriod;
190
+ (function (TimePeriod) {
191
+ TimePeriod["ONE_DAY"] = "ONE_DAY";
192
+ TimePeriod["SEVEN_DAYS"] = "SEVEN_DAYS";
193
+ })(TimePeriod || (exports.TimePeriod = TimePeriod = {}));
194
+ var PnlTickInterval;
195
+ (function (PnlTickInterval) {
196
+ PnlTickInterval["HOUR"] = "hour";
197
+ PnlTickInterval["day"] = "day";
198
+ })(PnlTickInterval || (exports.PnlTickInterval = PnlTickInterval = {}));
199
+ // ----------- Authenticators -------------
200
+ var AuthenticatorType;
201
+ (function (AuthenticatorType) {
202
+ AuthenticatorType["ALL_OF"] = "AllOf";
203
+ AuthenticatorType["ANY_OF"] = "AnyOf";
204
+ AuthenticatorType["SIGNATURE_VERIFICATION"] = "SignatureVerification";
205
+ AuthenticatorType["MESSAGE_FILTER"] = "MessageFilter";
206
+ AuthenticatorType["CLOB_PAIR_ID_FILTER"] = "ClobPairIdFilter";
207
+ AuthenticatorType["SUBACCOUNT_FILTER"] = "SubaccountFilter";
208
+ })(AuthenticatorType || (exports.AuthenticatorType = AuthenticatorType = {}));
209
+ var TradingRewardAggregationPeriod;
210
+ (function (TradingRewardAggregationPeriod) {
211
+ TradingRewardAggregationPeriod["DAILY"] = "DAILY";
212
+ TradingRewardAggregationPeriod["WEEKLY"] = "WEEKLY";
213
+ TradingRewardAggregationPeriod["MONTHLY"] = "MONTHLY";
214
+ })(TradingRewardAggregationPeriod || (exports.TradingRewardAggregationPeriod = TradingRewardAggregationPeriod = {}));
215
+ // ------------ API Defaults ------------
216
+ exports.DEFAULT_API_TIMEOUT = 3000;
217
+ exports.MAX_MEMO_CHARACTERS = 256;
218
+ exports.SHORT_BLOCK_WINDOW = 20;
219
+ exports.SHORT_BLOCK_FORWARD = 15;
220
+ // Querying
221
+ exports.PAGE_REQUEST = {
222
+ key: new Uint8Array(),
223
+ offset: long_1.default.UZERO,
224
+ limit: long_1.default.MAX_UNSIGNED_VALUE,
225
+ countTotal: true,
226
+ reverse: false,
227
+ };
228
+ class IndexerConfig {
229
+ constructor(restEndpoint, websocketEndpoint, proxy) {
230
+ this.restEndpoint = restEndpoint;
231
+ this.websocketEndpoint = websocketEndpoint;
232
+ this.proxy = proxy;
233
+ }
234
+ }
235
+ exports.IndexerConfig = IndexerConfig;
236
+ class ValidatorConfig {
237
+ constructor(restEndpoint, chainId, denoms, broadcastOptions, defaultClientMemo, useTimestampNonce, timestampNonceOffsetMs) {
238
+ this.restEndpoint = (restEndpoint === null || restEndpoint === void 0 ? void 0 : restEndpoint.endsWith('/')) ? restEndpoint.slice(0, -1) : restEndpoint;
239
+ this.chainId = chainId;
240
+ this.denoms = denoms;
241
+ this.broadcastOptions = broadcastOptions;
242
+ this.defaultClientMemo = defaultClientMemo;
243
+ this.useTimestampNonce = useTimestampNonce;
244
+ this.timestampNonceOffsetMs = timestampNonceOffsetMs;
245
+ }
246
+ }
247
+ exports.ValidatorConfig = ValidatorConfig;
248
+ class Network {
249
+ constructor(env, indexerConfig, validatorConfig) {
250
+ this.env = env;
251
+ this.indexerConfig = indexerConfig;
252
+ this.validatorConfig = validatorConfig;
253
+ }
254
+ static testnet() {
255
+ const indexerConfig = new IndexerConfig(IndexerApiHost.TESTNET, IndexerWSHost.TESTNET);
256
+ const validatorConfig = new ValidatorConfig(ValidatorApiHost.TESTNET, exports.TESTNET_CHAIN_ID, {
257
+ CHAINTOKEN_DENOM: 'aperpx',
258
+ USDC_DENOM: 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5',
259
+ USDC_GAS_DENOM: 'uusdc',
260
+ USDC_DECIMALS: 6,
261
+ CHAINTOKEN_DECIMALS: 18,
262
+ }, undefined, 'Client Example');
263
+ return new Network('testnet', indexerConfig, validatorConfig);
264
+ }
265
+ static staging() {
266
+ return Network.testnet();
267
+ }
268
+ static local() {
269
+ return Network.testnet();
270
+ }
271
+ // For the deployment by PerpX token holders.
272
+ static mainnet() {
273
+ const indexerConfig = new IndexerConfig(IndexerApiHost.MAINNET, IndexerWSHost.MAINNET);
274
+ const validatorConfig = new ValidatorConfig(ValidatorApiHost.MAINNET, exports.MAINNET_CHAIN_ID, {
275
+ CHAINTOKEN_DENOM: 'aperpx',
276
+ USDC_DENOM: 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5',
277
+ USDC_GAS_DENOM: 'uusdc',
278
+ USDC_DECIMALS: 6,
279
+ CHAINTOKEN_DECIMALS: 18,
280
+ }, undefined, 'Client Example');
281
+ return new Network('mainnet', indexerConfig, validatorConfig);
282
+ }
283
+ getString() {
284
+ return this.env;
285
+ }
286
+ }
287
+ exports.Network = Network;
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGdEQUF3QjtBQUl4QixtREFBaUM7QUFFakM7Ozs7O0dBS0c7QUFFSCxXQUFXO0FBQ0UsUUFBQSxZQUFZLEdBQUcsb0JBQW9CLENBQUM7QUFDcEMsUUFBQSxnQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztBQUN4QyxRQUFBLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDO0FBQ3hDLFFBQUEsY0FBYyxHQUFHLG9CQUFvQixDQUFDO0FBQ25ELDRDQUE0QztBQUMvQixRQUFBLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztBQUVoRCxxQ0FBcUM7QUFDckMsSUFBWSxjQU1YO0FBTkQsV0FBWSxjQUFjO0lBQ3hCLHdFQUFzRCxDQUFBO0lBQ3RELHdFQUFzRCxDQUFBO0lBQ3RELGlEQUErQixDQUFBO0lBQy9CLDRDQUE0QztJQUM1Qyx3RUFBc0QsQ0FBQTtBQUN4RCxDQUFDLEVBTlcsY0FBYyw4QkFBZCxjQUFjLFFBTXpCO0FBRUQsSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLGdFQUErQyxDQUFBO0lBQy9DLGdFQUErQyxDQUFBO0lBQy9DLDhDQUE2QixDQUFBO0lBQzdCLDRDQUE0QztJQUM1QyxnRUFBK0MsQ0FBQTtBQUNqRCxDQUFDLEVBTlcsYUFBYSw2QkFBYixhQUFhLFFBTXhCO0FBRUQsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLGtEQUFpQyxDQUFBO0FBQ25DLENBQUMsRUFGVyxhQUFhLDZCQUFiLGFBQWEsUUFFeEI7QUFFRCxJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDMUIsc0VBQWtELENBQUE7SUFDbEQsc0VBQWtELENBQUE7SUFDbEQsb0RBQWdDLENBQUE7SUFDaEMsNENBQTRDO0lBQzVDLHNFQUFrRCxDQUFB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
@@ -0,0 +1,36 @@
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.FaucetClient = void 0;
7
+ const rest_1 = __importDefault(require("./modules/rest"));
8
+ class FaucetClient extends rest_1.default {
9
+ /**
10
+ * @description For testnet only, add USDC to an subaccount
11
+ *
12
+ * @returns The HTTP response.
13
+ */
14
+ async fill(address, subaccountNumber, amount, headers) {
15
+ const uri = '/faucet/tokens';
16
+ return this.post(uri, {}, {
17
+ address,
18
+ subaccountNumber,
19
+ amount,
20
+ }, headers);
21
+ }
22
+ /**
23
+ * @description For testnet only, add native tokens to an address
24
+ * @param address destination address for native tokens
25
+ * @param headers requestHeaders
26
+ * @returns The HTTP response.
27
+ */
28
+ async fillNative(address, headers) {
29
+ const uri = '/faucet/native-token';
30
+ return this.post(uri, {}, {
31
+ address,
32
+ }, headers);
33
+ }
34
+ }
35
+ exports.FaucetClient = FaucetClient;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF1Y2V0LWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL2ZhdWNldC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsMERBQXdDO0FBRXhDLE1BQWEsWUFBYSxTQUFRLGNBQVU7SUFDMUM7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQ2YsT0FBZSxFQUNmLGdCQUF3QixFQUN4QixNQUFjLEVBQ2QsT0FBWTtRQUVaLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxHQUFHLEVBQ0gsRUFBRSxFQUNGO1lBQ0UsT0FBTztZQUNQLGdCQUFnQjtZQUNoQixNQUFNO1NBQ1AsRUFDRCxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxFQUFFLE9BQVk7UUFDbkQsTUFBTSxHQUFHLEdBQUcsc0JBQXNCLENBQUM7UUFFbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLEdBQUcsRUFDSCxFQUFFLEVBQ0Y7WUFDRSxPQUFPO1NBQ1IsRUFDRCxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTVDRCxvQ0E0Q0MifQ==
@@ -0,0 +1,178 @@
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.round = round;
7
+ exports.calculateQuantums = calculateQuantums;
8
+ exports.calculateVaultQuantums = calculateVaultQuantums;
9
+ exports.calculateSubticks = calculateSubticks;
10
+ exports.calculateSide = calculateSide;
11
+ exports.calculateTimeInForce = calculateTimeInForce;
12
+ exports.calculateOrderFlags = calculateOrderFlags;
13
+ exports.calculateClientMetadata = calculateClientMetadata;
14
+ exports.calculateConditionType = calculateConditionType;
15
+ exports.calculateConditionalOrderTriggerSubticks = calculateConditionalOrderTriggerSubticks;
16
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
+ const long_1 = __importDefault(require("long"));
18
+ const constants_1 = require("../constants");
19
+ const proto_includes_1 = require("../modules/proto-includes");
20
+ const types_1 = require("../types");
21
+ function round(input, base) {
22
+ return (0, bignumber_js_1.default)(input)
23
+ .div((0, bignumber_js_1.default)(base))
24
+ .integerValue(bignumber_js_1.default.ROUND_FLOOR)
25
+ .times((0, bignumber_js_1.default)(base))
26
+ .toNumber();
27
+ }
28
+ function calculateQuantums(size, atomicResolution, stepBaseQuantums) {
29
+ const rawQuantums = (0, bignumber_js_1.default)(size).times((0, bignumber_js_1.default)(10).pow((0, bignumber_js_1.default)(atomicResolution).negated()));
30
+ const quantums = round(rawQuantums.toNumber(), stepBaseQuantums);
31
+ // stepBaseQuantums functions as minimum order size
32
+ const result = Math.max(quantums, stepBaseQuantums);
33
+ return long_1.default.fromNumber(result);
34
+ }
35
+ function calculateVaultQuantums(size) {
36
+ return BigInt((0, bignumber_js_1.default)(size).times(1000000).toFixed(0, bignumber_js_1.default.ROUND_FLOOR));
37
+ }
38
+ function calculateSubticks(price, atomicResolution, quantumConversionExponent, subticksPerTick) {
39
+ const QUOTE_QUANTUMS_ATOMIC_RESOLUTION = -6;
40
+ const exponent = atomicResolution - quantumConversionExponent - QUOTE_QUANTUMS_ATOMIC_RESOLUTION;
41
+ const rawSubticks = (0, bignumber_js_1.default)(price).times((0, bignumber_js_1.default)(10).pow(exponent));
42
+ const subticks = round(rawSubticks.toNumber(), subticksPerTick);
43
+ const result = Math.max(subticks, subticksPerTick);
44
+ return long_1.default.fromNumber(result);
45
+ }
46
+ function calculateSide(side) {
47
+ return side === constants_1.OrderSide.BUY ? proto_includes_1.Order_Side.SIDE_BUY : proto_includes_1.Order_Side.SIDE_SELL;
48
+ }
49
+ function calculateTimeInForce(type, timeInForce, execution, postOnly) {
50
+ switch (type) {
51
+ case constants_1.OrderType.MARKET:
52
+ switch (timeInForce) {
53
+ case constants_1.OrderTimeInForce.FOK:
54
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
55
+ default:
56
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_IOC;
57
+ }
58
+ case constants_1.OrderType.LIMIT:
59
+ switch (timeInForce) {
60
+ case constants_1.OrderTimeInForce.GTT:
61
+ if (postOnly == null) {
62
+ throw new Error('postOnly must be set if order type is LIMIT and timeInForce is GTT');
63
+ }
64
+ return postOnly
65
+ ? proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_POST_ONLY
66
+ : proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED;
67
+ case constants_1.OrderTimeInForce.FOK:
68
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
69
+ case constants_1.OrderTimeInForce.IOC:
70
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_IOC;
71
+ default:
72
+ throw new Error('Unexpected code path: timeInForce');
73
+ }
74
+ case constants_1.OrderType.STOP_LIMIT:
75
+ case constants_1.OrderType.TAKE_PROFIT_LIMIT:
76
+ if (execution == null) {
77
+ throw new Error('execution must be set if order type is STOP_LIMIT or TAKE_PROFIT_LIMIT');
78
+ }
79
+ switch (execution) {
80
+ case constants_1.OrderExecution.DEFAULT:
81
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED;
82
+ case constants_1.OrderExecution.POST_ONLY:
83
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_POST_ONLY;
84
+ case constants_1.OrderExecution.FOK:
85
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
86
+ case constants_1.OrderExecution.IOC:
87
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_IOC;
88
+ default:
89
+ throw new Error('Unexpected code path: timeInForce');
90
+ }
91
+ case constants_1.OrderType.STOP_MARKET:
92
+ case constants_1.OrderType.TAKE_PROFIT_MARKET:
93
+ if (execution == null) {
94
+ throw new Error('execution must be set if order type is STOP_MARKET or TAKE_PROFIT_MARKET');
95
+ }
96
+ switch (execution) {
97
+ case constants_1.OrderExecution.DEFAULT:
98
+ throw new Error('Execution value DEFAULT not supported for STOP_MARKET or TAKE_PROFIT_MARKET');
99
+ case constants_1.OrderExecution.POST_ONLY:
100
+ throw new Error('Execution value POST_ONLY not supported for STOP_MARKET or TAKE_PROFIT_MARKET');
101
+ case constants_1.OrderExecution.FOK:
102
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
103
+ case constants_1.OrderExecution.IOC:
104
+ return proto_includes_1.Order_TimeInForce.TIME_IN_FORCE_IOC;
105
+ default:
106
+ throw new Error('Unexpected code path: timeInForce');
107
+ }
108
+ default:
109
+ throw new Error('Unexpected code path: timeInForce');
110
+ }
111
+ }
112
+ function calculateOrderFlags(type, timeInForce) {
113
+ switch (type) {
114
+ case constants_1.OrderType.MARKET:
115
+ return types_1.OrderFlags.SHORT_TERM;
116
+ case constants_1.OrderType.LIMIT:
117
+ if (timeInForce === undefined) {
118
+ throw new Error('timeInForce must be set if orderType is LIMIT');
119
+ }
120
+ if (timeInForce === constants_1.OrderTimeInForce.GTT) {
121
+ return types_1.OrderFlags.LONG_TERM;
122
+ }
123
+ else {
124
+ return types_1.OrderFlags.SHORT_TERM;
125
+ }
126
+ case constants_1.OrderType.STOP_LIMIT:
127
+ case constants_1.OrderType.TAKE_PROFIT_LIMIT:
128
+ case constants_1.OrderType.STOP_MARKET:
129
+ case constants_1.OrderType.TAKE_PROFIT_MARKET:
130
+ return types_1.OrderFlags.CONDITIONAL;
131
+ default:
132
+ throw new Error('Unexpected code path: orderFlags');
133
+ }
134
+ }
135
+ function calculateClientMetadata(orderType) {
136
+ switch (orderType) {
137
+ case constants_1.OrderType.MARKET:
138
+ case constants_1.OrderType.STOP_MARKET:
139
+ case constants_1.OrderType.TAKE_PROFIT_MARKET:
140
+ return 1;
141
+ default:
142
+ return 0;
143
+ }
144
+ }
145
+ function calculateConditionType(orderType) {
146
+ switch (orderType) {
147
+ case constants_1.OrderType.LIMIT:
148
+ return proto_includes_1.Order_ConditionType.CONDITION_TYPE_UNSPECIFIED;
149
+ case constants_1.OrderType.MARKET:
150
+ return proto_includes_1.Order_ConditionType.CONDITION_TYPE_UNSPECIFIED;
151
+ case constants_1.OrderType.STOP_LIMIT:
152
+ case constants_1.OrderType.STOP_MARKET:
153
+ return proto_includes_1.Order_ConditionType.CONDITION_TYPE_STOP_LOSS;
154
+ case constants_1.OrderType.TAKE_PROFIT_LIMIT:
155
+ case constants_1.OrderType.TAKE_PROFIT_MARKET:
156
+ return proto_includes_1.Order_ConditionType.CONDITION_TYPE_TAKE_PROFIT;
157
+ default:
158
+ return proto_includes_1.Order_ConditionType.CONDITION_TYPE_UNSPECIFIED;
159
+ }
160
+ }
161
+ function calculateConditionalOrderTriggerSubticks(orderType, atomicResolution, quantumConversionExponent, subticksPerTick, triggerPrice) {
162
+ switch (orderType) {
163
+ case constants_1.OrderType.LIMIT:
164
+ case constants_1.OrderType.MARKET:
165
+ return long_1.default.fromNumber(0);
166
+ case constants_1.OrderType.STOP_LIMIT:
167
+ case constants_1.OrderType.STOP_MARKET:
168
+ case constants_1.OrderType.TAKE_PROFIT_LIMIT:
169
+ case constants_1.OrderType.TAKE_PROFIT_MARKET:
170
+ if (triggerPrice === undefined) {
171
+ throw new Error('triggerPrice must be set if orderType is STOP_LIMIT, STOP_MARKET, TAKE_PROFIT_LIMIT, or TAKE_PROFIT_MARKET');
172
+ }
173
+ return calculateSubticks(triggerPrice, atomicResolution, quantumConversionExponent, subticksPerTick);
174
+ default:
175
+ return long_1.default.fromNumber(0);
176
+ }
177
+ }
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4taGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL2hlbHBlcnMvY2hhaW4taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQU9BLHNCQU1DO0FBRUQsOENBWUM7QUFFRCx3REFFQztBQUVELDhDQVlDO0FBRUQsc0NBRUM7QUFFRCxvREF1RkM7QUFFRCxrREF3QkM7QUFFRCwwREFVQztBQUVELHdEQW1CQztBQUVELDRGQStCQztBQXRPRCxnRUFBcUM7QUFDckMsZ0RBQXdCO0FBRXhCLDRDQUFzRjtBQUN0Riw4REFBK0Y7QUFDL0Ysb0NBQXNDO0FBRXRDLFNBQWdCLEtBQUssQ0FBQyxLQUFhLEVBQUUsSUFBWTtJQUMvQyxPQUFPLElBQUEsc0JBQVMsRUFBQyxLQUFLLENBQUM7U0FDcEIsR0FBRyxDQUFDLElBQUEsc0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztTQUNwQixZQUFZLENBQUMsc0JBQVMsQ0FBQyxXQUFXLENBQUM7U0FDbkMsS0FBSyxDQUFDLElBQUEsc0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztTQUN0QixRQUFRLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLElBQVksRUFDWixnQkFBd0IsRUFDeEIsZ0JBQXdCO0lBRXhCLE1BQU0sV0FBVyxHQUFHLElBQUEsc0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQ3ZDLElBQUEsc0JBQVMsRUFBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBQSxzQkFBUyxFQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDekQsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxtREFBbUQ7SUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdB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
@@ -0,0 +1,65 @@
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.generateQueryPath = generateQueryPath;
7
+ exports.parseToPrimitives = parseToPrimitives;
8
+ const long_1 = __importDefault(require("long"));
9
+ /* eslint-disable @typescript-eslint/no-explicit-any */
10
+ function generateQueryPath(url, params) {
11
+ const definedEntries = Object.entries(params).filter(([_key, value]) => value !== undefined);
12
+ if (!definedEntries.length) {
13
+ return url;
14
+ }
15
+ const paramsString = definedEntries
16
+ .map(([key, value]) => `${key}=${value}`)
17
+ .join('&');
18
+ return `${url}?${paramsString}`;
19
+ }
20
+ function parseToPrimitives(x) {
21
+ if (typeof x === 'number' || typeof x === 'string' || typeof x === 'boolean' || x === null) {
22
+ return x;
23
+ }
24
+ if (Array.isArray(x)) {
25
+ return x.map((item) => parseToPrimitives(item));
26
+ }
27
+ if (long_1.default.isLong(x)) {
28
+ return x.toString();
29
+ }
30
+ if (x instanceof Uint8Array) {
31
+ return bytesToBigInt(x).toString();
32
+ }
33
+ if (x instanceof Date) {
34
+ return x.toString();
35
+ }
36
+ if (typeof x === 'object') {
37
+ const parsedObj = {};
38
+ // eslint-disable-next-line no-restricted-syntax
39
+ for (const key in x) {
40
+ if (Object.prototype.hasOwnProperty.call(x, key)) {
41
+ parsedObj[key] = parseToPrimitives(x[key]);
42
+ }
43
+ }
44
+ return parsedObj;
45
+ }
46
+ if (typeof x === 'bigint') {
47
+ return x.toString();
48
+ }
49
+ throw new Error(`Unsupported data type: ${typeof x}`);
50
+ }
51
+ /**
52
+ * Converts a byte array (representing an arbitrary-size signed integer) into a bigint.
53
+ * @param u Array of bytes represented as a Uint8Array.
54
+ */
55
+ function bytesToBigInt(u) {
56
+ if (u.length <= 1) {
57
+ return BigInt(0);
58
+ }
59
+ // eslint-disable-next-line no-bitwise
60
+ const negated = (u[0] & 1) === 1;
61
+ const hex = Buffer.from(u.slice(1)).toString('hex');
62
+ const abs = BigInt(`0x${hex}`);
63
+ return negated ? -abs : abs;
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvaGVscGVycy9yZXF1ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSw4Q0FhQztBQUVELDhDQXFDQztBQXZERCxnREFBd0I7QUFFeEIsdURBQXVEO0FBQ3ZELFNBQWdCLGlCQUFpQixDQUFDLEdBQVcsRUFBRSxNQUFVO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUNsRCxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FDMUQsQ0FBQztJQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsY0FBYztTQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1NBQzNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLE9BQU8sR0FBRyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFJLENBQUk7SUFDdkMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDM0YsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBTSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLGNBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDNUIsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE1BQU0sU0FBUyxHQUEyQixFQUFFLENBQUM7UUFDN0MsZ0RBQWdEO1FBQ2hELEtBQUssTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBRSxDQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsYUFBYSxDQUFDLENBQWE7SUFDbEMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLEdBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxNQUFNLEdBQUcsR0FBVyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzlCLENBQUMifQ==