@ritbit/v4-client-js 2.4.0 → 2.4.2

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 (296) hide show
  1. package/build/cjs/src/clients/composite-client.js +10 -9
  2. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  3. package/build/esm/src/clients/composite-client.d.ts +3 -3
  4. package/build/esm/src/clients/composite-client.d.ts.map +1 -1
  5. package/build/esm/src/clients/composite-client.js +10 -9
  6. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  7. package/package.json +11 -3
  8. package/.env +0 -1
  9. package/.eslintignore +0 -2
  10. package/.eslintrc.js +0 -15
  11. package/.gitleaks.toml +0 -24
  12. package/.gitleaksignore +0 -1
  13. package/.nvmrc +0 -1
  14. package/.prettierignore +0 -3
  15. package/.prettierrc.json +0 -6
  16. package/.releaserc +0 -10
  17. package/.vscode/launch.json +0 -11
  18. package/__native__/__ios__/v4-native-client.js +0 -251395
  19. package/__native__/__ios__/v4-native-client.js.map +0 -1
  20. package/__tests__/clients/composite-client.test.ts +0 -140
  21. package/__tests__/helpers/baseClients.ts +0 -23
  22. package/__tests__/helpers/constants.ts +0 -131
  23. package/__tests__/lib/helpers.test.ts +0 -55
  24. package/__tests__/lib/util.test.ts +0 -77
  25. package/__tests__/lib/validation.test.ts +0 -289
  26. package/__tests__/modules/client/AccountEndpoints.test.ts +0 -236
  27. package/__tests__/modules/client/FaucetEndpoint.test.ts +0 -14
  28. package/__tests__/modules/client/MarketsEndpoints.test.ts +0 -84
  29. package/__tests__/modules/client/Transfers.test.ts +0 -44
  30. package/__tests__/modules/client/UtilityEndpoints.test.ts +0 -29
  31. package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +0 -50
  32. package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +0 -52
  33. package/__tests__/modules/client/constants.ts +0 -5
  34. package/__tests__/modules/onboarding.test.ts +0 -66
  35. package/build/cjs/__tests__/clients/composite-client.test.js +0 -130
  36. package/build/cjs/__tests__/helpers/baseClients.js +0 -29
  37. package/build/cjs/__tests__/helpers/constants.js +0 -110
  38. package/build/cjs/__tests__/lib/helpers.test.js +0 -46
  39. package/build/cjs/__tests__/lib/util.test.js +0 -67
  40. package/build/cjs/__tests__/lib/validation.test.js +0 -254
  41. package/build/cjs/__tests__/modules/client/AccountEndpoints.test.js +0 -171
  42. package/build/cjs/__tests__/modules/client/FaucetEndpoint.test.js +0 -15
  43. package/build/cjs/__tests__/modules/client/MarketsEndpoints.test.js +0 -69
  44. package/build/cjs/__tests__/modules/client/Transfers.test.js +0 -44
  45. package/build/cjs/__tests__/modules/client/UtilityEndpoints.test.js +0 -28
  46. package/build/cjs/__tests__/modules/client/ValidatorGetEndpoints.test.js +0 -46
  47. package/build/cjs/__tests__/modules/client/ValidatorPostEndpoints.test.js +0 -53
  48. package/build/cjs/__tests__/modules/client/constants.js +0 -7
  49. package/build/cjs/__tests__/modules/onboarding.test.js +0 -50
  50. package/build/cjs/examples/account_endpoints.js +0 -129
  51. package/build/cjs/examples/batch_cancel_orders_example.js +0 -93
  52. package/build/cjs/examples/composite_example.js +0 -50
  53. package/build/cjs/examples/constants.js +0 -35
  54. package/build/cjs/examples/faucet_endpoint.js +0 -23
  55. package/build/cjs/examples/gov_add_new_market.js +0 -77
  56. package/build/cjs/examples/human_readable_orders.json +0 -86
  57. package/build/cjs/examples/human_readable_short_term_orders.json +0 -42
  58. package/build/cjs/examples/json-encoding.js +0 -32
  59. package/build/cjs/examples/long_term_order_cancel_example.js +0 -63
  60. package/build/cjs/examples/markets_endpoints.js +0 -134
  61. package/build/cjs/examples/native_examples.js +0 -112
  62. package/build/cjs/examples/noble_example.js +0 -88
  63. package/build/cjs/examples/optimal_node.js +0 -70
  64. package/build/cjs/examples/permissioned_keys_example.js +0 -104
  65. package/build/cjs/examples/raw_orders.json +0 -130
  66. package/build/cjs/examples/short_term_order_cancel_example.js +0 -54
  67. package/build/cjs/examples/short_term_order_composite_example.js +0 -68
  68. package/build/cjs/examples/test.js +0 -50
  69. package/build/cjs/examples/transfer_example_deposit.js +0 -29
  70. package/build/cjs/examples/transfer_example_send.js +0 -42
  71. package/build/cjs/examples/transfer_example_subaccount_transfer.js +0 -29
  72. package/build/cjs/examples/transfer_example_withdraw.js +0 -30
  73. package/build/cjs/examples/transfer_example_withdraw_other.js +0 -42
  74. package/build/cjs/examples/utility_endpoints.js +0 -42
  75. package/build/cjs/examples/validator_get_example.js +0 -158
  76. package/build/cjs/examples/validator_post_example.js +0 -76
  77. package/build/cjs/examples/wallet_address.js +0 -22
  78. package/build/cjs/examples/websocket_example.js +0 -36
  79. package/build/cjs/examples/websocket_orderbook_example.js +0 -196
  80. package/build/esm/__tests__/clients/composite-client.test.d.ts +0 -2
  81. package/build/esm/__tests__/clients/composite-client.test.d.ts.map +0 -1
  82. package/build/esm/__tests__/clients/composite-client.test.js +0 -128
  83. package/build/esm/__tests__/helpers/baseClients.d.ts +0 -19
  84. package/build/esm/__tests__/helpers/baseClients.d.ts.map +0 -1
  85. package/build/esm/__tests__/helpers/baseClients.js +0 -22
  86. package/build/esm/__tests__/helpers/constants.d.ts +0 -19
  87. package/build/esm/__tests__/helpers/constants.d.ts.map +0 -1
  88. package/build/esm/__tests__/helpers/constants.js +0 -104
  89. package/build/esm/__tests__/lib/helpers.test.d.ts +0 -2
  90. package/build/esm/__tests__/lib/helpers.test.d.ts.map +0 -1
  91. package/build/esm/__tests__/lib/helpers.test.js +0 -41
  92. package/build/esm/__tests__/lib/util.test.d.ts +0 -2
  93. package/build/esm/__tests__/lib/util.test.d.ts.map +0 -1
  94. package/build/esm/__tests__/lib/util.test.js +0 -65
  95. package/build/esm/__tests__/lib/validation.test.d.ts +0 -2
  96. package/build/esm/__tests__/lib/validation.test.d.ts.map +0 -1
  97. package/build/esm/__tests__/lib/validation.test.js +0 -249
  98. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts +0 -2
  99. package/build/esm/__tests__/modules/client/AccountEndpoints.test.d.ts.map +0 -1
  100. package/build/esm/__tests__/modules/client/AccountEndpoints.test.js +0 -169
  101. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts +0 -2
  102. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.d.ts.map +0 -1
  103. package/build/esm/__tests__/modules/client/FaucetEndpoint.test.js +0 -13
  104. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts +0 -2
  105. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.d.ts.map +0 -1
  106. package/build/esm/__tests__/modules/client/MarketsEndpoints.test.js +0 -66
  107. package/build/esm/__tests__/modules/client/Transfers.test.d.ts +0 -2
  108. package/build/esm/__tests__/modules/client/Transfers.test.d.ts.map +0 -1
  109. package/build/esm/__tests__/modules/client/Transfers.test.js +0 -39
  110. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts +0 -2
  111. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.d.ts.map +0 -1
  112. package/build/esm/__tests__/modules/client/UtilityEndpoints.test.js +0 -26
  113. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +0 -2
  114. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts.map +0 -1
  115. package/build/esm/__tests__/modules/client/ValidatorGetEndpoints.test.js +0 -44
  116. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +0 -2
  117. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts.map +0 -1
  118. package/build/esm/__tests__/modules/client/ValidatorPostEndpoints.test.js +0 -48
  119. package/build/esm/__tests__/modules/client/constants.d.ts +0 -4
  120. package/build/esm/__tests__/modules/client/constants.d.ts.map +0 -1
  121. package/build/esm/__tests__/modules/client/constants.js +0 -4
  122. package/build/esm/__tests__/modules/onboarding.test.d.ts +0 -2
  123. package/build/esm/__tests__/modules/onboarding.test.d.ts.map +0 -1
  124. package/build/esm/__tests__/modules/onboarding.test.js +0 -48
  125. package/build/esm/examples/account_endpoints.d.ts +0 -5
  126. package/build/esm/examples/account_endpoints.d.ts.map +0 -1
  127. package/build/esm/examples/account_endpoints.js +0 -127
  128. package/build/esm/examples/batch_cancel_orders_example.d.ts +0 -2
  129. package/build/esm/examples/batch_cancel_orders_example.d.ts.map +0 -1
  130. package/build/esm/examples/batch_cancel_orders_example.js +0 -88
  131. package/build/esm/examples/composite_example.d.ts +0 -2
  132. package/build/esm/examples/composite_example.d.ts.map +0 -1
  133. package/build/esm/examples/composite_example.js +0 -45
  134. package/build/esm/examples/constants.d.ts +0 -13
  135. package/build/esm/examples/constants.d.ts.map +0 -1
  136. package/build/esm/examples/constants.js +0 -29
  137. package/build/esm/examples/faucet_endpoint.d.ts +0 -5
  138. package/build/esm/examples/faucet_endpoint.d.ts.map +0 -1
  139. package/build/esm/examples/faucet_endpoint.js +0 -21
  140. package/build/esm/examples/gov_add_new_market.d.ts +0 -2
  141. package/build/esm/examples/gov_add_new_market.d.ts.map +0 -1
  142. package/build/esm/examples/gov_add_new_market.js +0 -72
  143. package/build/esm/examples/human_readable_orders.json +0 -86
  144. package/build/esm/examples/human_readable_short_term_orders.json +0 -42
  145. package/build/esm/examples/json-encoding.d.ts +0 -2
  146. package/build/esm/examples/json-encoding.d.ts.map +0 -1
  147. package/build/esm/examples/json-encoding.js +0 -27
  148. package/build/esm/examples/long_term_order_cancel_example.d.ts +0 -2
  149. package/build/esm/examples/long_term_order_cancel_example.d.ts.map +0 -1
  150. package/build/esm/examples/long_term_order_cancel_example.js +0 -58
  151. package/build/esm/examples/markets_endpoints.d.ts +0 -5
  152. package/build/esm/examples/markets_endpoints.d.ts.map +0 -1
  153. package/build/esm/examples/markets_endpoints.js +0 -131
  154. package/build/esm/examples/native_examples.d.ts +0 -2
  155. package/build/esm/examples/native_examples.d.ts.map +0 -1
  156. package/build/esm/examples/native_examples.js +0 -110
  157. package/build/esm/examples/noble_example.d.ts +0 -2
  158. package/build/esm/examples/noble_example.d.ts.map +0 -1
  159. package/build/esm/examples/noble_example.js +0 -83
  160. package/build/esm/examples/optimal_node.d.ts +0 -2
  161. package/build/esm/examples/optimal_node.d.ts.map +0 -1
  162. package/build/esm/examples/optimal_node.js +0 -68
  163. package/build/esm/examples/permissioned_keys_example.d.ts +0 -2
  164. package/build/esm/examples/permissioned_keys_example.d.ts.map +0 -1
  165. package/build/esm/examples/permissioned_keys_example.js +0 -99
  166. package/build/esm/examples/raw_orders.json +0 -130
  167. package/build/esm/examples/short_term_order_cancel_example.d.ts +0 -2
  168. package/build/esm/examples/short_term_order_cancel_example.d.ts.map +0 -1
  169. package/build/esm/examples/short_term_order_cancel_example.js +0 -49
  170. package/build/esm/examples/short_term_order_composite_example.d.ts +0 -2
  171. package/build/esm/examples/short_term_order_composite_example.d.ts.map +0 -1
  172. package/build/esm/examples/short_term_order_composite_example.js +0 -63
  173. package/build/esm/examples/test.d.ts +0 -2
  174. package/build/esm/examples/test.d.ts.map +0 -1
  175. package/build/esm/examples/test.js +0 -45
  176. package/build/esm/examples/transfer_example_deposit.d.ts +0 -2
  177. package/build/esm/examples/transfer_example_deposit.d.ts.map +0 -1
  178. package/build/esm/examples/transfer_example_deposit.js +0 -24
  179. package/build/esm/examples/transfer_example_send.d.ts +0 -2
  180. package/build/esm/examples/transfer_example_send.d.ts.map +0 -1
  181. package/build/esm/examples/transfer_example_send.js +0 -37
  182. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts +0 -2
  183. package/build/esm/examples/transfer_example_subaccount_transfer.d.ts.map +0 -1
  184. package/build/esm/examples/transfer_example_subaccount_transfer.js +0 -24
  185. package/build/esm/examples/transfer_example_withdraw.d.ts +0 -2
  186. package/build/esm/examples/transfer_example_withdraw.d.ts.map +0 -1
  187. package/build/esm/examples/transfer_example_withdraw.js +0 -25
  188. package/build/esm/examples/transfer_example_withdraw_other.d.ts +0 -2
  189. package/build/esm/examples/transfer_example_withdraw_other.d.ts.map +0 -1
  190. package/build/esm/examples/transfer_example_withdraw_other.js +0 -37
  191. package/build/esm/examples/utility_endpoints.d.ts +0 -5
  192. package/build/esm/examples/utility_endpoints.d.ts.map +0 -1
  193. package/build/esm/examples/utility_endpoints.js +0 -40
  194. package/build/esm/examples/validator_get_example.d.ts +0 -2
  195. package/build/esm/examples/validator_get_example.d.ts.map +0 -1
  196. package/build/esm/examples/validator_get_example.js +0 -156
  197. package/build/esm/examples/validator_post_example.d.ts +0 -2
  198. package/build/esm/examples/validator_post_example.d.ts.map +0 -1
  199. package/build/esm/examples/validator_post_example.js +0 -71
  200. package/build/esm/examples/wallet_address.d.ts +0 -2
  201. package/build/esm/examples/wallet_address.d.ts.map +0 -1
  202. package/build/esm/examples/wallet_address.js +0 -17
  203. package/build/esm/examples/websocket_example.d.ts +0 -2
  204. package/build/esm/examples/websocket_example.d.ts.map +0 -1
  205. package/build/esm/examples/websocket_example.js +0 -34
  206. package/build/esm/examples/websocket_orderbook_example.d.ts +0 -2
  207. package/build/esm/examples/websocket_orderbook_example.d.ts.map +0 -1
  208. package/build/esm/examples/websocket_orderbook_example.js +0 -194
  209. package/commitlint.config.js +0 -8
  210. package/examples/account_endpoints.ts +0 -129
  211. package/examples/batch_cancel_orders_example.ts +0 -130
  212. package/examples/composite_example.ts +0 -65
  213. package/examples/constants.ts +0 -42
  214. package/examples/faucet_endpoint.ts +0 -24
  215. package/examples/gov_add_new_market.json +0 -64
  216. package/examples/gov_add_new_market.ts +0 -95
  217. package/examples/human_readable_orders.json +0 -86
  218. package/examples/human_readable_short_term_orders.json +0 -42
  219. package/examples/json-encoding.ts +0 -33
  220. package/examples/long_term_order_cancel_example.ts +0 -87
  221. package/examples/markets_endpoints.ts +0 -134
  222. package/examples/native_examples.ts +0 -151
  223. package/examples/noble_example.ts +0 -107
  224. package/examples/optimal_node.ts +0 -70
  225. package/examples/permissioned_keys_example.ts +0 -162
  226. package/examples/raw_orders.json +0 -130
  227. package/examples/short_term_order_cancel_example.ts +0 -68
  228. package/examples/short_term_order_composite_example.ts +0 -80
  229. package/examples/test.ts +0 -65
  230. package/examples/transfer_example_deposit.ts +0 -28
  231. package/examples/transfer_example_send.ts +0 -60
  232. package/examples/transfer_example_subaccount_transfer.ts +0 -29
  233. package/examples/transfer_example_withdraw.ts +0 -31
  234. package/examples/transfer_example_withdraw_other.ts +0 -60
  235. package/examples/utility_endpoints.ts +0 -42
  236. package/examples/validator_get_example.ts +0 -160
  237. package/examples/validator_post_example.ts +0 -81
  238. package/examples/wallet_address.ts +0 -18
  239. package/examples/websocket_example.ts +0 -44
  240. package/examples/websocket_orderbook_example.ts +0 -239
  241. package/jest.config.js +0 -12
  242. package/jest.globalSetup.js +0 -5
  243. package/jest.setup.js +0 -1
  244. package/ritbit-v4-client-js-2.2.6.tgz +0 -0
  245. package/scripts/bump_version.sh +0 -16
  246. package/scripts/generate-cctp-protos.sh +0 -41
  247. package/scripts/mobile_build_pack.sh +0 -5
  248. package/scripts/publish-if-not-exists.sh +0 -21
  249. package/src/clients/composite-client.ts +0 -1469
  250. package/src/clients/constants.ts +0 -361
  251. package/src/clients/faucet-client.ts +0 -48
  252. package/src/clients/helpers/chain-helpers.ts +0 -231
  253. package/src/clients/helpers/request-helpers.ts +0 -71
  254. package/src/clients/indexer-client.ts +0 -61
  255. package/src/clients/lib/axios/axiosRequest.ts +0 -41
  256. package/src/clients/lib/axios/errors.ts +0 -41
  257. package/src/clients/lib/axios/index.ts +0 -7
  258. package/src/clients/lib/axios/types.ts +0 -6
  259. package/src/clients/lib/cctpProto.ts +0 -4197
  260. package/src/clients/lib/errors.ts +0 -63
  261. package/src/clients/lib/registry.ts +0 -93
  262. package/src/clients/modules/account.ts +0 -438
  263. package/src/clients/modules/composer.ts +0 -669
  264. package/src/clients/modules/get.ts +0 -791
  265. package/src/clients/modules/local-wallet.ts +0 -79
  266. package/src/clients/modules/markets.ts +0 -76
  267. package/src/clients/modules/post.ts +0 -1043
  268. package/src/clients/modules/proto-includes.ts +0 -34
  269. package/src/clients/modules/rest.ts +0 -40
  270. package/src/clients/modules/signer.ts +0 -139
  271. package/src/clients/modules/tendermintClient.ts +0 -168
  272. package/src/clients/modules/utility.ts +0 -47
  273. package/src/clients/modules/vault.ts +0 -23
  274. package/src/clients/native.ts +0 -1689
  275. package/src/clients/noble-client.ts +0 -108
  276. package/src/clients/socket-client.ts +0 -331
  277. package/src/clients/subaccount.ts +0 -57
  278. package/src/clients/types.ts +0 -191
  279. package/src/clients/validator-client.ts +0 -106
  280. package/src/index.ts +0 -19
  281. package/src/lib/constants.ts +0 -28
  282. package/src/lib/errors.ts +0 -38
  283. package/src/lib/helpers.ts +0 -99
  284. package/src/lib/onboarding.ts +0 -96
  285. package/src/lib/trading-key-utils.ts +0 -136
  286. package/src/lib/utils.ts +0 -84
  287. package/src/lib/validation.ts +0 -197
  288. package/src/network_optimizer.ts +0 -132
  289. package/src/types.ts +0 -44
  290. package/tasks.json +0 -16
  291. package/tsconfig.base.json +0 -21
  292. package/tsconfig.cjs.json +0 -10
  293. package/tsconfig.eslint.json +0 -14
  294. package/tsconfig.esm.json +0 -11
  295. package/tsconfig.json +0 -6
  296. package/webpack.config.js +0 -56
@@ -1,107 +0,0 @@
1
- import { EncodeObject } from '@cosmjs/proto-signing';
2
- import Long from 'long';
3
-
4
- import { SubaccountInfo } from '../src';
5
- import { Network } from '../src/clients/constants';
6
- import LocalWallet from '../src/clients/modules/local-wallet';
7
- import { NobleClient } from '../src/clients/noble-client';
8
- import { ValidatorClient } from '../src/clients/validator-client';
9
- import { BECH32_PREFIX, NOBLE_BECH32_PREFIX } from '../src/lib/constants';
10
- import { sleep } from '../src/lib/utils';
11
- import { TEST_MNEMONIC } from './constants';
12
-
13
- async function test(): Promise<void> {
14
- const dydxClient = await ValidatorClient.connect(Network.testnet().validatorConfig);
15
-
16
- const dydxWallet = await LocalWallet.fromMnemonic(TEST_MNEMONIC, BECH32_PREFIX);
17
- const nobleWallet = await LocalWallet.fromMnemonic(TEST_MNEMONIC, NOBLE_BECH32_PREFIX);
18
-
19
- const client = new NobleClient('https://rpc.testnet.noble.strange.love', 'Noble example');
20
- await client.connect(nobleWallet);
21
-
22
- if (nobleWallet.address === undefined || dydxWallet.address === undefined) {
23
- throw new Error('Wallet not found');
24
- }
25
-
26
- // IBC to noble
27
-
28
- const ibcToNobleMsg: EncodeObject = {
29
- typeUrl: '/ibc.applications.transfer.v1.MsgTransfer',
30
- value: {
31
- sourcePort: 'transfer',
32
- sourceChannel: 'channel-0',
33
- token: {
34
- denom: 'ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5',
35
- amount: '1000000',
36
- },
37
- sender: dydxWallet.address,
38
- receiver: nobleWallet.address,
39
- timeoutTimestamp: Long.fromNumber(Math.floor(Date.now() / 1000) * 1e9 + 10 * 60 * 1e9),
40
- },
41
- };
42
-
43
- const msgs = [ibcToNobleMsg];
44
- const encodeObjects: Promise<EncodeObject[]> = new Promise((resolve) => resolve(msgs));
45
-
46
- await dydxClient.post.send(
47
- SubaccountInfo.forLocalWallet(dydxWallet),
48
- () => {
49
- return encodeObjects;
50
- },
51
- false,
52
- undefined,
53
- undefined,
54
- );
55
-
56
- await sleep(30000);
57
-
58
- try {
59
- const coins = await client.getAccountBalances();
60
- console.log('Balances');
61
- console.log(JSON.stringify(coins));
62
-
63
- // IBC from noble
64
-
65
- const ibcFromNobleMsg: EncodeObject = {
66
- typeUrl: '/ibc.applications.transfer.v1.MsgTransfer',
67
- value: {
68
- sourcePort: 'transfer',
69
- sourceChannel: 'channel-21',
70
- token: {
71
- denom: 'uusdc',
72
- amount: coins[0].amount,
73
- },
74
- sender: nobleWallet.address,
75
- receiver: dydxWallet.address,
76
- timeoutTimestamp: Long.fromNumber(Math.floor(Date.now() / 1000) * 1e9 + 10 * 60 * 1e9),
77
- },
78
- };
79
- const fee = await client.simulateTransaction([ibcFromNobleMsg]);
80
-
81
- ibcFromNobleMsg.value.token.amount = (
82
- parseInt(ibcFromNobleMsg.value.token.amount, 10) -
83
- Math.floor(parseInt(fee.amount[0].amount, 10) * 1.4)
84
- ).toString();
85
-
86
- await client.send([ibcFromNobleMsg]);
87
- } catch (error) {
88
- console.log(JSON.stringify(error.message));
89
- }
90
-
91
- await sleep(30000);
92
-
93
- try {
94
- const coin = await client.getAccountBalance('uusdc');
95
- console.log('Balance');
96
- console.log(JSON.stringify(coin));
97
- } catch (error) {
98
- console.log(JSON.stringify(error.message));
99
- }
100
- }
101
-
102
- test()
103
- .then(() => {})
104
- .catch((error) => {
105
- console.log(error.message);
106
- console.log(error);
107
- });
@@ -1,70 +0,0 @@
1
- import { TESTNET_CHAIN_ID } from '../src/clients/constants';
2
- import { NetworkOptimizer } from '../src/network_optimizer';
3
-
4
- async function testNodes(): Promise<void> {
5
- // all valid endpoints
6
- try {
7
- const optimizer = new NetworkOptimizer();
8
- const endpoints = [
9
- 'https://validator.v4testnet1.ritbit.trade',
10
- 'https://ritbit-testnet.nodefleet.org',
11
- 'https://ritbit-testnet-archive.allthatnode.com:26657/XZvMM41hESf8PJrEQiTzbCOMVyFca79R',
12
- ];
13
- const optimal = await optimizer.findOptimalNode(endpoints, TESTNET_CHAIN_ID);
14
- console.log(optimal);
15
- } catch (error) {
16
- console.log(error.message);
17
- }
18
-
19
- // one invalid endpoint
20
- try {
21
- const optimizer = new NetworkOptimizer();
22
- const endpoints = [
23
- 'https://validator.v4testnet1.ritbit.trade',
24
- 'https://ritbit-testnet.nodefleet.org',
25
- 'https://ritbit-testnet-archive.allthatnode.com:26657/XZvMM41hESf8PJrEQiTzbCOMVyFca79R',
26
- 'https://example.com',
27
- ];
28
- const optimal = await optimizer.findOptimalNode(endpoints, TESTNET_CHAIN_ID);
29
- console.log(optimal);
30
- } catch (error) {
31
- console.log(error.message);
32
- }
33
-
34
- // all invalid endpoints
35
-
36
- try {
37
- const optimizer = new NetworkOptimizer();
38
- const endpoints = ['https://example.com', 'https://example.org'];
39
- const optimal = await optimizer.findOptimalNode(endpoints, TESTNET_CHAIN_ID);
40
- console.log(optimal);
41
- } catch (error) {
42
- console.log(error.message);
43
- }
44
- }
45
-
46
- async function testIndexers(): Promise<void> {
47
- // all valid endpoints
48
- try {
49
- const optimizer = new NetworkOptimizer();
50
- const endpoints = ['https://indexer.v4testnet2.ritbit.trade'];
51
- const optimal = await optimizer.findOptimalIndexer(endpoints);
52
- console.log(optimal);
53
- } catch (error) {
54
- console.log(error.message);
55
- }
56
-
57
- // all invalid endpoints
58
-
59
- try {
60
- const optimizer = new NetworkOptimizer();
61
- const endpoints = ['https://example.com', 'https://example.org'];
62
- const optimal = await optimizer.findOptimalIndexer(endpoints);
63
- console.log(optimal);
64
- } catch (error) {
65
- console.log(error.message);
66
- }
67
- }
68
-
69
- testNodes().catch(console.log);
70
- testIndexers().catch(console.log);
@@ -1,162 +0,0 @@
1
- import Long from 'long';
2
-
3
- import { BECH32_PREFIX } from '../src';
4
- import { CompositeClient } from '../src/clients/composite-client';
5
- import {
6
- Network,
7
- OrderExecution,
8
- OrderSide,
9
- OrderTimeInForce,
10
- OrderType,
11
- SelectedGasDenom,
12
- } from '../src/clients/constants';
13
- import LocalWallet from '../src/clients/modules/local-wallet';
14
- import { SubaccountInfo } from '../src/clients/subaccount';
15
- import {
16
- createNewRandomChainWallet,
17
- getAuthorizeNewTradingKeyArguments,
18
- getAuthorizedTradingKeysMetadata,
19
- } from '../src/lib/trading-key-utils';
20
- import { TEST_MNEMONIC, TEST_MNEMONIC_2 } from './constants';
21
-
22
- async function test(): Promise<void> {
23
- const wallet1 = await LocalWallet.fromMnemonic(TEST_MNEMONIC, BECH32_PREFIX);
24
- const wallet2 = await LocalWallet.fromMnemonic(TEST_MNEMONIC_2, BECH32_PREFIX);
25
-
26
- const network = Network.testnet();
27
- const client = await CompositeClient.connect(network);
28
- client.setSelectedGasDenom(SelectedGasDenom.NATIVE);
29
-
30
- console.log('**Client**');
31
- console.log(client);
32
-
33
- const subaccount1 = SubaccountInfo.forLocalWallet(wallet1, 0);
34
- const subaccount2 = SubaccountInfo.forLocalWallet(wallet2, 0);
35
-
36
- // Change second wallet pubkey
37
- // Add an authenticator to allow wallet2 to place orders
38
- console.log('** Adding authenticator **');
39
- // Record authenticator count before adding
40
- const authsBefore = await client.getAuthenticators(wallet1.address!);
41
- const beforeCount = authsBefore.accountAuthenticators.length;
42
- console.log(`Authenticators before: ${beforeCount}`);
43
-
44
- const apiTradingWalletInfo1 = await createApiTradingWallet(client, subaccount1);
45
- const apiTradingWallet1 = await LocalWallet.fromPrivateKey(
46
- apiTradingWalletInfo1.privteKeyHex,
47
- BECH32_PREFIX,
48
- );
49
-
50
- console.log('** Waiting 3 seconds for txn to be confirmed **');
51
- await new Promise((resolve) => setTimeout(resolve, 3000));
52
-
53
- const authsAfter = await client.getAuthenticators(wallet1.address!);
54
- const afterCount = authsAfter.accountAuthenticators.length;
55
- console.log(`Authenticators after: ${afterCount}`);
56
- if (afterCount !== beforeCount + 1) {
57
- console.error('Authenticator count did not increment by 1.');
58
- process.exit(1);
59
- } else {
60
- console.log('Authenticator count incremented by 1 as expected.');
61
- }
62
-
63
- const parsedAuths = getAuthorizedTradingKeysMetadata(authsAfter.accountAuthenticators);
64
- const newAuthenticatorID = parsedAuths.find(
65
- (a) => apiTradingWallet1.address != null && a.address === apiTradingWallet1.address,
66
- )?.id;
67
- if (newAuthenticatorID == null) {
68
- console.error(
69
- 'Unable to locate the created authenticator. Address: ',
70
- apiTradingWallet1.address,
71
- );
72
- throw new Error('Unable to locate the new authenticator');
73
- }
74
- console.log(`New authenticator ID: ${newAuthenticatorID}`);
75
-
76
- // Placing order using subaccount2 for subaccount1 succeeds
77
- console.log(
78
- '** Placing order for subaccount1 with subaccount2 + authenticator, should succeed **',
79
- );
80
- await placeOrder(client, apiTradingWallet1, subaccount1.address, newAuthenticatorID);
81
-
82
- // Placing order using subaccount2 for subaccount1 should fail
83
- console.log('** Placing order for subaccount1 with subaccount3 + authenticator, should fail **');
84
- await placeOrder(client, subaccount2.signingWallet, subaccount1.address, newAuthenticatorID);
85
-
86
- // Remove authenticator
87
- console.log('** Removing authenticator **');
88
- await removeAuthenticator(client, subaccount1, newAuthenticatorID);
89
-
90
- console.log('** Waiting 3 seconds for txn to be confirmed **');
91
- await new Promise((resolve) => setTimeout(resolve, 3000));
92
-
93
- // Placing an order using subaccount2 will now fail
94
- console.log('** Placing order with removed authenticator should fail **');
95
- await placeOrder(client, apiTradingWallet1, subaccount1.address, newAuthenticatorID);
96
- }
97
-
98
- async function removeAuthenticator(
99
- client: CompositeClient,
100
- subaccount: SubaccountInfo,
101
- id: string,
102
- ): Promise<void> {
103
- await client.removeAuthenticator(subaccount, id);
104
- }
105
-
106
- async function createApiTradingWallet(
107
- client: CompositeClient,
108
- subaccount: SubaccountInfo,
109
- ): Promise<{ privteKeyHex: string; forChainAddress: string }> {
110
- const wallet = await createNewRandomChainWallet();
111
- if (wallet == null) {
112
- throw new Error("Couldn't create wallet");
113
- }
114
- const { data, type } = getAuthorizeNewTradingKeyArguments({
115
- generatedWalletPubKey: wallet?.publicKey,
116
- });
117
- console.log('adding', wallet.address);
118
- await client.addAuthenticator(subaccount, type, data);
119
- return { privteKeyHex: wallet.privateKeyHex, forChainAddress: subaccount.address };
120
- }
121
-
122
- async function placeOrder(
123
- client: CompositeClient,
124
- apiTradingWallet: LocalWallet,
125
- forAccountAddress: string,
126
- authenticatorId: string,
127
- ): Promise<void> {
128
- try {
129
- const side = OrderSide.BUY;
130
- const price = Number('10000');
131
-
132
- const clientId = Math.floor(Math.random() * 10000);
133
-
134
- const tx = await client.placeOrder(
135
- SubaccountInfo.forPermissionedWallet(apiTradingWallet, forAccountAddress, 0, [
136
- Long.fromString(authenticatorId),
137
- ]),
138
- 'ETH-USD',
139
- OrderType.MARKET,
140
- side,
141
- price,
142
- 0.01,
143
- clientId,
144
- OrderTimeInForce.IOC,
145
- 100,
146
- OrderExecution.IOC,
147
- false,
148
- false,
149
- );
150
- console.log('**Order Tx**');
151
- console.log(Buffer.from(tx.hash).toString('hex'));
152
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
153
- } catch (error: any) {
154
- console.log(error.message);
155
- }
156
- }
157
-
158
- test()
159
- .then(() => {})
160
- .catch((error) => {
161
- console.log(error.message);
162
- });
@@ -1,130 +0,0 @@
1
- [
2
- {
3
- "timeInForce": 0,
4
- "reduceOnly": false,
5
- "orderFlags": 64,
6
- "side": 1,
7
- "quantums": 10000000,
8
- "subticks": 40000000000
9
- },
10
- {
11
- "timeInForce": 2,
12
- "reduceOnly": false,
13
- "orderFlags": 64,
14
- "side": 1,
15
- "quantums": 10000000,
16
- "subticks": 40000000000
17
- },
18
- {
19
- "timeInForce": 0,
20
- "reduceOnly": true,
21
- "orderFlags": 64,
22
- "side": 1,
23
- "quantums": 10000000,
24
- "subticks": 40000000000
25
- },
26
- {
27
- "timeInForce": 2,
28
- "reduceOnly": true,
29
- "orderFlags": 64,
30
- "side": 1,
31
- "quantums": 10000000,
32
- "subticks": 40000000000
33
- },
34
- {
35
- "timeInForce": 1,
36
- "reduceOnly": false,
37
- "orderFlags": 0,
38
- "side": 1,
39
- "quantums": 10000000,
40
- "subticks": 40000000000
41
- },
42
- {
43
- "timeInForce": 1,
44
- "reduceOnly": true,
45
- "orderFlags": 0,
46
- "side": 1,
47
- "quantums": 10000000,
48
- "subticks": 40000000000
49
- },
50
- {
51
- "timeInForce": 3,
52
- "reduceOnly": false,
53
- "orderFlags": 0,
54
- "side": 1,
55
- "quantums": 10000000,
56
- "subticks": 40000000000
57
- },
58
- {
59
- "timeInForce": 3,
60
- "reduceOnly": true,
61
- "orderFlags": 0,
62
- "side": 1,
63
- "quantums": 10000000,
64
- "subticks": 40000000000
65
- },
66
- {
67
- "timeInForce": 0,
68
- "reduceOnly": false,
69
- "orderFlags": 64,
70
- "side": 2,
71
- "quantums": 10000000,
72
- "subticks": 1000000000
73
- },
74
- {
75
- "timeInForce": 2,
76
- "reduceOnly": false,
77
- "orderFlags": 64,
78
- "side": 2,
79
- "quantums": 10000000,
80
- "subticks": 1000000000
81
- },
82
- {
83
- "timeInForce": 0,
84
- "reduceOnly": true,
85
- "orderFlags": 64,
86
- "side": 2,
87
- "quantums": 10000000,
88
- "subticks": 1000000000
89
- },
90
- {
91
- "timeInForce": 2,
92
- "reduceOnly": true,
93
- "orderFlags": 64,
94
- "side": 2,
95
- "quantums": 10000000,
96
- "subticks": 1000000000
97
- },
98
- {
99
- "timeInForce": 1,
100
- "reduceOnly": false,
101
- "orderFlags": 0,
102
- "side": 2,
103
- "quantums": 10000000,
104
- "subticks": 1000000000
105
- },
106
- {
107
- "timeInForce": 1,
108
- "reduceOnly": true,
109
- "orderFlags": 0,
110
- "side": 2,
111
- "quantums": 10000000,
112
- "subticks": 1000000000
113
- },
114
- {
115
- "timeInForce": 3,
116
- "reduceOnly": false,
117
- "orderFlags": 0,
118
- "side": 2,
119
- "quantums": 10000000,
120
- "subticks": 1000000000
121
- },
122
- {
123
- "timeInForce": 3,
124
- "reduceOnly": true,
125
- "orderFlags": 0,
126
- "side": 2,
127
- "quantums": 10000000,
128
- "subticks": 1000000000
129
- }
130
- ]
@@ -1,68 +0,0 @@
1
- import { BECH32_PREFIX, OrderFlags, Order_TimeInForce } from '../src';
2
- import { CompositeClient } from '../src/clients/composite-client';
3
- import { Network, OrderSide } from '../src/clients/constants';
4
- import LocalWallet from '../src/clients/modules/local-wallet';
5
- import { SubaccountInfo } from '../src/clients/subaccount';
6
- import { randomInt, sleep } from '../src/lib/utils';
7
- import { TEST_MNEMONIC, MAX_CLIENT_ID } from './constants';
8
-
9
- async function test(): Promise<void> {
10
- const wallet = await LocalWallet.fromMnemonic(TEST_MNEMONIC, BECH32_PREFIX);
11
- console.log(wallet);
12
- const network = Network.testnet();
13
- const client = await CompositeClient.connect(network);
14
- console.log('**Client**');
15
- console.log(client);
16
- const subaccount = SubaccountInfo.forLocalWallet(wallet, 0);
17
-
18
- const currentBlock = await client.validatorClient.get.latestBlockHeight();
19
- const nextValidBlockHeight = currentBlock + 1;
20
- // Note, you can change this to any number between `next_valid_block_height`
21
- // to `next_valid_block_height + SHORT_BLOCK_WINDOW`
22
- const goodTilBlock = nextValidBlockHeight + 10;
23
- const shortTermOrderClientId = randomInt(MAX_CLIENT_ID);
24
- try {
25
- // place a short term order
26
- const tx = await client.placeShortTermOrder(
27
- subaccount,
28
- 'ETH-USD',
29
- OrderSide.SELL,
30
- 40000,
31
- 0.01,
32
- shortTermOrderClientId,
33
- goodTilBlock,
34
- Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED,
35
- false,
36
- );
37
- console.log('**Short Term Order Tx**');
38
- console.log(tx.hash);
39
- } catch (error) {
40
- console.log('**Short Term Order Failed**');
41
- console.log(error.message);
42
- }
43
-
44
- await sleep(5000); // wait for placeOrder to complete
45
-
46
- try {
47
- // cancel the short term order
48
- const tx = await client.cancelOrder(
49
- subaccount,
50
- shortTermOrderClientId,
51
- OrderFlags.SHORT_TERM,
52
- 'ETH-USD',
53
- goodTilBlock + 10,
54
- 0,
55
- );
56
- console.log('**Cancel Short Term Order Tx**');
57
- console.log(tx);
58
- } catch (error) {
59
- console.log('**Cancel Short Term Order Failed**');
60
- console.log(error.message);
61
- }
62
- }
63
-
64
- test()
65
- .then(() => {})
66
- .catch((error) => {
67
- console.log(error.message);
68
- });
@@ -1,80 +0,0 @@
1
- import { Order_TimeInForce } from '@ritbit/v4-proto/src/codegen/ritbit/clob/order';
2
-
3
- import { BECH32_PREFIX } from '../src';
4
- import { CompositeClient } from '../src/clients/composite-client';
5
- import { Network, OrderExecution, OrderSide } from '../src/clients/constants';
6
- import LocalWallet from '../src/clients/modules/local-wallet';
7
- import { SubaccountInfo } from '../src/clients/subaccount';
8
- import { randomInt } from '../src/lib/utils';
9
- import { TEST_MNEMONIC } from './constants';
10
- import ordersParams from './human_readable_short_term_orders.json';
11
-
12
- async function sleep(ms: number): Promise<void> {
13
- return new Promise((resolve) => setTimeout(resolve, ms));
14
- }
15
-
16
- async function test(): Promise<void> {
17
- const wallet = await LocalWallet.fromMnemonic(TEST_MNEMONIC, BECH32_PREFIX);
18
- console.log(wallet);
19
- const network = Network.testnet();
20
- const client = await CompositeClient.connect(network);
21
- console.log('**Client**');
22
- console.log(client);
23
- const subaccount = SubaccountInfo.forLocalWallet(wallet, 0);
24
- for (const orderParams of ordersParams) {
25
- try {
26
- const side = OrderSide[orderParams.side as keyof typeof OrderSide];
27
- const price = orderParams.price ?? 1350;
28
-
29
- const currentBlock = await client.validatorClient.get.latestBlockHeight();
30
- const nextValidBlockHeight = currentBlock + 1;
31
- // Note, you can change this to any number between `next_valid_block_height`
32
- // to `next_valid_block_height + SHORT_BLOCK_WINDOW`
33
- const goodTilBlock = nextValidBlockHeight + 10;
34
-
35
- const timeInForce = orderExecutionToTimeInForce(orderParams.timeInForce);
36
-
37
- // uint32
38
- const clientId = randomInt(2 ** 32 - 1);
39
-
40
- const tx = await client.placeShortTermOrder(
41
- subaccount,
42
- 'ETH-USD',
43
- side,
44
- price,
45
- 0.01,
46
- clientId,
47
- goodTilBlock,
48
- timeInForce,
49
- false,
50
- );
51
- console.log('**Order Tx**');
52
- console.log(tx.hash.toString());
53
- } catch (error) {
54
- console.log(error.message);
55
- }
56
-
57
- await sleep(5000); // wait for placeOrder to complete
58
- }
59
- }
60
-
61
- function orderExecutionToTimeInForce(orderExecution: string): Order_TimeInForce {
62
- switch (orderExecution) {
63
- case OrderExecution.DEFAULT:
64
- return Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED;
65
- case OrderExecution.FOK:
66
- return Order_TimeInForce.TIME_IN_FORCE_FILL_OR_KILL;
67
- case OrderExecution.IOC:
68
- return Order_TimeInForce.TIME_IN_FORCE_IOC;
69
- case OrderExecution.POST_ONLY:
70
- return Order_TimeInForce.TIME_IN_FORCE_POST_ONLY;
71
- default:
72
- throw new Error('Unrecognized order execution');
73
- }
74
- }
75
-
76
- test()
77
- .then(() => {})
78
- .catch((error) => {
79
- console.log(error.message);
80
- });
package/examples/test.ts DELETED
@@ -1,65 +0,0 @@
1
- import { BECH32_PREFIX } from '../src';
2
- import { CompositeClient } from '../src/clients/composite-client';
3
- import {
4
- Network,
5
- OrderExecution,
6
- OrderSide,
7
- OrderTimeInForce,
8
- OrderType,
9
- } from '../src/clients/constants';
10
- import LocalWallet from '../src/clients/modules/local-wallet';
11
- import { SubaccountInfo } from '../src/clients/subaccount';
12
- import { randomInt } from '../src/lib/utils';
13
- import { TEST_MNEMONIC, MAX_CLIENT_ID } from './constants';
14
- import ordersParams from './human_readable_orders.json';
15
-
16
- async function sleep(ms: number): Promise<void> {
17
- return new Promise((resolve) => setTimeout(resolve, ms));
18
- }
19
-
20
- async function test(): Promise<void> {
21
- const wallet = await LocalWallet.fromMnemonic(TEST_MNEMONIC, BECH32_PREFIX);
22
- console.log(wallet);
23
- const network = Network.testnet();
24
- const client = await CompositeClient.connect(network);
25
- console.log('**Client**');
26
- console.log(client);
27
- const subaccount = SubaccountInfo.forLocalWallet(wallet, 0);
28
- for (const orderParams of ordersParams) {
29
- try {
30
- const type = OrderType[orderParams.type as keyof typeof OrderType];
31
- const side = OrderSide[orderParams.side as keyof typeof OrderSide];
32
- const timeInForceString = orderParams.timeInForce ?? 'GTT';
33
- const timeInForce = OrderTimeInForce[timeInForceString as keyof typeof OrderTimeInForce];
34
- const price = orderParams.price ?? 1350;
35
- const timeInForceSeconds = timeInForce === OrderTimeInForce.GTT ? 60 : 0;
36
- const postOnly = orderParams.postOnly ?? false;
37
- const tx = await client.placeOrder(
38
- subaccount,
39
- 'ETH-USD',
40
- type,
41
- side,
42
- price,
43
- 0.01,
44
- randomInt(MAX_CLIENT_ID),
45
- timeInForce,
46
- timeInForceSeconds,
47
- OrderExecution.DEFAULT,
48
- postOnly,
49
- false,
50
- );
51
- console.log('**Order Tx**');
52
- console.log(tx);
53
- } catch (error) {
54
- console.log(error.message);
55
- }
56
-
57
- await sleep(5000); // wait for placeOrder to complete
58
- }
59
- }
60
-
61
- test()
62
- .then(() => {})
63
- .catch((error) => {
64
- console.log(error.message);
65
- });