@ritbit/v4-client-js 2.1.0 → 2.1.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 (98) hide show
  1. package/__tests__/lib/helpers.test.ts +2 -0
  2. package/build/cjs/__tests__/clients/composite-client.test.js +130 -0
  3. package/build/cjs/__tests__/helpers/baseClients.js +29 -0
  4. package/build/cjs/__tests__/helpers/constants.js +110 -0
  5. package/build/cjs/__tests__/lib/helpers.test.js +46 -0
  6. package/build/cjs/__tests__/lib/util.test.js +67 -0
  7. package/build/cjs/__tests__/lib/validation.test.js +254 -0
  8. package/build/cjs/__tests__/modules/client/AccountEndpoints.test.js +171 -0
  9. package/build/cjs/__tests__/modules/client/FaucetEndpoint.test.js +15 -0
  10. package/build/cjs/__tests__/modules/client/MarketsEndpoints.test.js +69 -0
  11. package/build/cjs/__tests__/modules/client/Transfers.test.js +44 -0
  12. package/build/cjs/__tests__/modules/client/UtilityEndpoints.test.js +28 -0
  13. package/build/cjs/__tests__/modules/client/ValidatorGetEndpoints.test.js +46 -0
  14. package/build/cjs/__tests__/modules/client/ValidatorPostEndpoints.test.js +53 -0
  15. package/build/cjs/__tests__/modules/client/constants.js +7 -0
  16. package/build/cjs/__tests__/modules/onboarding.test.js +50 -0
  17. package/build/cjs/examples/account_endpoints.js +129 -0
  18. package/build/cjs/examples/batch_cancel_orders_example.js +93 -0
  19. package/build/cjs/examples/composite_example.js +50 -0
  20. package/build/cjs/examples/constants.js +35 -0
  21. package/build/cjs/examples/faucet_endpoint.js +23 -0
  22. package/build/cjs/examples/gov_add_new_market.js +77 -0
  23. package/build/cjs/examples/human_readable_orders.json +86 -0
  24. package/build/cjs/examples/human_readable_short_term_orders.json +42 -0
  25. package/build/cjs/examples/json-encoding.js +32 -0
  26. package/build/cjs/examples/long_term_order_cancel_example.js +63 -0
  27. package/build/cjs/examples/markets_endpoints.js +134 -0
  28. package/build/cjs/examples/native_examples.js +112 -0
  29. package/build/cjs/examples/noble_example.js +88 -0
  30. package/build/cjs/examples/optimal_node.js +70 -0
  31. package/build/cjs/examples/permissioned_keys_example.js +104 -0
  32. package/build/cjs/examples/raw_orders.json +130 -0
  33. package/build/cjs/examples/short_term_order_cancel_example.js +54 -0
  34. package/build/cjs/examples/short_term_order_composite_example.js +68 -0
  35. package/build/cjs/examples/test.js +50 -0
  36. package/build/cjs/examples/transfer_example_deposit.js +29 -0
  37. package/build/cjs/examples/transfer_example_send.js +42 -0
  38. package/build/cjs/examples/transfer_example_subaccount_transfer.js +29 -0
  39. package/build/cjs/examples/transfer_example_withdraw.js +30 -0
  40. package/build/cjs/examples/transfer_example_withdraw_other.js +42 -0
  41. package/build/cjs/examples/utility_endpoints.js +42 -0
  42. package/build/cjs/examples/validator_get_example.js +158 -0
  43. package/build/cjs/examples/validator_post_example.js +76 -0
  44. package/build/cjs/examples/wallet_address.js +22 -0
  45. package/build/cjs/examples/websocket_example.js +36 -0
  46. package/build/cjs/examples/websocket_orderbook_example.js +196 -0
  47. package/build/cjs/{clients → src/clients}/composite-client.js +1 -1
  48. package/build/cjs/{clients → src/clients}/constants.js +1 -1
  49. package/build/cjs/{clients → src/clients}/faucet-client.js +1 -1
  50. package/build/cjs/{clients → src/clients}/helpers/chain-helpers.js +1 -1
  51. package/build/cjs/src/clients/helpers/request-helpers.js +65 -0
  52. package/build/cjs/{clients → src/clients}/indexer-client.js +1 -1
  53. package/build/cjs/{clients → src/clients}/lib/axios/axiosRequest.js +1 -1
  54. package/build/cjs/{clients → src/clients}/lib/axios/errors.js +1 -1
  55. package/build/cjs/{clients → src/clients}/lib/axios/index.js +1 -1
  56. package/build/cjs/{clients → src/clients}/lib/axios/types.js +1 -1
  57. package/build/cjs/{clients → src/clients}/lib/cctpProto.js +1 -1
  58. package/build/cjs/{clients → src/clients}/lib/errors.js +1 -1
  59. package/build/cjs/{clients → src/clients}/lib/registry.js +1 -1
  60. package/build/cjs/{clients → src/clients}/modules/account.js +1 -1
  61. package/build/cjs/{clients → src/clients}/modules/composer.js +1 -1
  62. package/build/cjs/{clients → src/clients}/modules/get.js +1 -1
  63. package/build/cjs/{clients → src/clients}/modules/local-wallet.js +1 -1
  64. package/build/cjs/{clients → src/clients}/modules/markets.js +1 -1
  65. package/build/cjs/{clients → src/clients}/modules/post.js +1 -1
  66. package/build/cjs/{clients → src/clients}/modules/proto-includes.js +1 -1
  67. package/build/cjs/{clients → src/clients}/modules/rest.js +1 -1
  68. package/build/cjs/{clients → src/clients}/modules/signer.js +1 -1
  69. package/build/cjs/{clients → src/clients}/modules/tendermintClient.js +1 -1
  70. package/build/cjs/{clients → src/clients}/modules/utility.js +1 -1
  71. package/build/cjs/{clients → src/clients}/modules/vault.js +1 -1
  72. package/build/cjs/src/clients/native.js +1330 -0
  73. package/build/cjs/{clients → src/clients}/noble-client.js +1 -1
  74. package/build/cjs/{clients → src/clients}/socket-client.js +1 -1
  75. package/build/cjs/{clients → src/clients}/subaccount.js +1 -1
  76. package/build/cjs/{clients → src/clients}/types.js +1 -1
  77. package/build/cjs/{clients → src/clients}/validator-client.js +1 -1
  78. package/build/cjs/{index.js → src/index.js} +1 -1
  79. package/build/cjs/{lib → src/lib}/constants.js +1 -1
  80. package/build/cjs/{lib → src/lib}/errors.js +1 -1
  81. package/build/cjs/{lib → src/lib}/helpers.js +1 -1
  82. package/build/cjs/{lib → src/lib}/onboarding.js +1 -1
  83. package/build/cjs/{lib → src/lib}/trading-key-utils.js +1 -1
  84. package/build/cjs/{lib → src/lib}/utils.js +1 -1
  85. package/build/cjs/{lib → src/lib}/validation.js +1 -1
  86. package/build/cjs/src/network_optimizer.js +96 -0
  87. package/build/cjs/{types.js → src/types.js} +1 -1
  88. package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  89. package/build/esm/__tests__/lib/helpers.test.js +2 -1
  90. package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
  91. package/package.json +11 -11
  92. package/ritbit-v4-client-js-2.1.1.tgz +0 -0
  93. package/tsconfig.base.json +1 -2
  94. package/tsconfig.cjs.json +3 -13
  95. package/tsconfig.eslint.json +1 -4
  96. package/tsconfig.esm.json +1 -2
  97. package/build/cjs/clients/helpers/request-helpers.js +0 -65
  98. package/build/cjs/network_optimizer.js +0 -96
@@ -0,0 +1,42 @@
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
+ const tendermint_rpc_1 = require("@cosmjs/tendermint-rpc");
7
+ const long_1 = __importDefault(require("long"));
8
+ const constants_1 = require("../__tests__/helpers/constants");
9
+ const src_1 = require("../src");
10
+ const constants_2 = require("../src/clients/constants");
11
+ const local_wallet_1 = __importDefault(require("../src/clients/modules/local-wallet"));
12
+ const subaccount_1 = require("../src/clients/subaccount");
13
+ const validator_client_1 = require("../src/clients/validator-client");
14
+ const constants_3 = require("./constants");
15
+ async function test() {
16
+ const wallet = await local_wallet_1.default.fromMnemonic(constants_3.TEST_MNEMONIC, src_1.BECH32_PREFIX);
17
+ console.log(wallet);
18
+ const client = await validator_client_1.ValidatorClient.connect(constants_2.Network.testnet().validatorConfig);
19
+ console.log('**Client**');
20
+ console.log(client);
21
+ const subaccount = subaccount_1.SubaccountInfo.forLocalWallet(wallet, 0);
22
+ const amount = new long_1.default(100000000);
23
+ const msgs = new Promise((resolve) => {
24
+ const msg = client.post.composer.composeMsgWithdrawFromSubaccount(subaccount.address, subaccount.subaccountNumber, 0, amount, constants_1.TEST_RECIPIENT_ADDRESS);
25
+ resolve([msg]);
26
+ });
27
+ const totalFee = await client.post.simulate(subaccount, () => msgs, undefined);
28
+ console.log('**Total Fee**');
29
+ console.log(totalFee);
30
+ const amountAfterFee = amount.sub(long_1.default.fromString(totalFee.amount[0].amount));
31
+ console.log('**Amount after fee**');
32
+ console.log(amountAfterFee);
33
+ const tx = await client.post.withdraw(subaccount, 0, amountAfterFee, constants_1.TEST_RECIPIENT_ADDRESS, tendermint_rpc_1.Method.BroadcastTxCommit);
34
+ console.log('**Withdraw and Send**');
35
+ console.log(tx);
36
+ }
37
+ test()
38
+ .then(() => { })
39
+ .catch((error) => {
40
+ console.log(error.message);
41
+ });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJfZXhhbXBsZV93aXRoZHJhd19vdGhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V4YW1wbGVzL3RyYW5zZmVyX2V4YW1wbGVfd2l0aGRyYXdfb3RoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwyREFBZ0Q7QUFDaEQsZ0RBQXdCO0FBRXhCLDhEQUF3RTtBQUN4RSxnQ0FBdUM7QUFDdkMsd0RBQW1EO0FBQ25ELHVGQUE4RDtBQUM5RCwwREFBMkQ7QUFDM0Qsc0VBQWtFO0FBQ2xFLDJDQUE0QztBQUU1QyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLHNCQUFXLENBQUMsWUFBWSxDQUFDLHlCQUFhLEVBQUUsbUJBQWEsQ0FBQyxDQUFDO0lBQzVFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFcEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxrQ0FBZSxDQUFDLE9BQU8sQ0FBQyxtQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2hGLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixNQUFNLFVBQVUsR0FBRywyQkFBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFJLENBQUMsU0FBVyxDQUFDLENBQUM7SUFFckMsTUFBTSxJQUFJLEdBQTRCLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDNUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQy9ELFVBQVUsQ0FBQyxPQUFPLEVBQ2xCLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDM0IsQ0FBQyxFQUNELE1BQU0sRUFDTixrQ0FBc0IsQ0FDdkIsQ0FBQztRQUVGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXRCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFNUIsTUFBTSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDbkMsVUFBVSxFQUNWLENBQUMsRUFDRCxjQUFjLEVBQ2Qsa0NBQXNCLEVBQ3RCLHVCQUFNLENBQUMsaUJBQWlCLENBQ3pCLENBQUM7SUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsSUFBSSxFQUFFO0tBQ0gsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQUNkLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * Simple JS example demostrating accessing public data with Indexer REST endpoints
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const constants_1 = require("../src/clients/constants");
7
+ const indexer_client_1 = require("../src/clients/indexer-client");
8
+ async function test() {
9
+ const client = new indexer_client_1.IndexerClient(constants_1.Network.testnet().indexerConfig);
10
+ // Get indexer server time
11
+ try {
12
+ const response = await client.utility.getTime();
13
+ console.log(response);
14
+ const timeIso = response.iso;
15
+ const timeEpoch = response.epoch;
16
+ console.log('time');
17
+ console.log(timeIso);
18
+ console.log(timeEpoch);
19
+ }
20
+ catch (error) {
21
+ console.log(error.message);
22
+ }
23
+ // Get indexer server height
24
+ try {
25
+ const response = await client.utility.getHeight();
26
+ console.log(response);
27
+ const height = response.height;
28
+ const heightTime = response.time;
29
+ console.log('height');
30
+ console.log(height);
31
+ console.log(heightTime);
32
+ }
33
+ catch (error) {
34
+ console.log(error.message);
35
+ }
36
+ }
37
+ test()
38
+ .then(() => { })
39
+ .catch((error) => {
40
+ console.log(error.message);
41
+ });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9lbmRwb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9leGFtcGxlcy91dGlsaXR5X2VuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7O0FBRUgsd0RBQW1EO0FBQ25ELGtFQUE4RDtBQUU5RCxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLDhCQUFhLENBQUMsbUJBQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVsRSwwQkFBMEI7SUFDMUIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUM3QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQy9CLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQztBQUVELElBQUksRUFBRTtLQUNILElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FDZCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("../src/clients/constants");
4
+ const validator_client_1 = require("../src/clients/validator-client");
5
+ const constants_2 = require("./constants");
6
+ async function test() {
7
+ const client = await validator_client_1.ValidatorClient.connect(constants_1.Network.testnet().validatorConfig);
8
+ try {
9
+ const account = await client.get.getAccount(constants_2.TEST_ADDRESS);
10
+ console.log('Account');
11
+ console.log(JSON.stringify(account));
12
+ }
13
+ catch (error) {
14
+ console.log(JSON.stringify(error.message));
15
+ }
16
+ try {
17
+ const coins = await client.get.getAccountBalances(constants_2.TEST_ADDRESS);
18
+ console.log('Balances');
19
+ console.log(JSON.stringify(coins));
20
+ }
21
+ catch (error) {
22
+ console.log(JSON.stringify(error.message));
23
+ }
24
+ try {
25
+ const subaccounts = await client.get.getSubaccounts();
26
+ console.log('Subaccounts');
27
+ console.log(JSON.stringify(subaccounts));
28
+ }
29
+ catch (error) {
30
+ console.log(JSON.stringify(error.message));
31
+ }
32
+ try {
33
+ const subaccount = await client.get.getSubaccount(constants_2.TEST_ADDRESS, 0);
34
+ console.log('Subaccount 0');
35
+ console.log(JSON.stringify(subaccount));
36
+ }
37
+ catch (error) {
38
+ console.log(JSON.stringify(error.message));
39
+ }
40
+ try {
41
+ const subaccount = await client.get.getSubaccount(constants_2.TEST_ADDRESS, 1);
42
+ console.log('Subaccount 1');
43
+ console.log(JSON.stringify(subaccount));
44
+ }
45
+ catch (error) {
46
+ console.log(JSON.stringify(error.message));
47
+ }
48
+ try {
49
+ const clobpairs = await client.get.getAllClobPairs();
50
+ console.log('Clobs');
51
+ console.log(JSON.stringify(clobpairs));
52
+ }
53
+ catch (error) {
54
+ console.log(JSON.stringify(error.message));
55
+ }
56
+ try {
57
+ const prices = await client.get.getAllPrices();
58
+ console.log('Prices');
59
+ console.log(JSON.stringify(prices));
60
+ }
61
+ catch (error) {
62
+ console.log(JSON.stringify(error.message));
63
+ }
64
+ try {
65
+ const feeTiers = await client.get.getFeeTiers();
66
+ console.log('Fee Tiers');
67
+ console.log(JSON.stringify(feeTiers));
68
+ }
69
+ catch (error) {
70
+ console.log(JSON.stringify(error.message));
71
+ }
72
+ try {
73
+ const userfeeTier = await client.get.getUserFeeTier(constants_2.TEST_ADDRESS);
74
+ console.log('User Fee Tiers');
75
+ console.log(JSON.stringify(userfeeTier));
76
+ }
77
+ catch (error) {
78
+ console.log(JSON.stringify(error.message));
79
+ }
80
+ try {
81
+ const userStats = await client.get.getUserStats(constants_2.TEST_ADDRESS);
82
+ console.log('User Fee Tiers');
83
+ console.log(JSON.stringify(userStats));
84
+ }
85
+ catch (error) {
86
+ console.log(JSON.stringify(error.message));
87
+ }
88
+ try {
89
+ const equityTierLimitConfiguration = await client.get.getEquityTierLimitConfiguration();
90
+ console.log('Equity Tier Limit Configuration');
91
+ console.log(JSON.stringify(equityTierLimitConfiguration));
92
+ }
93
+ catch (error) {
94
+ console.log(JSON.stringify(error.message));
95
+ }
96
+ try {
97
+ const rewardsParams = await client.get.getRewardsParams();
98
+ console.log('Rewards Params');
99
+ console.log(JSON.stringify(rewardsParams));
100
+ }
101
+ catch (error) {
102
+ console.log(JSON.stringify(error.message));
103
+ }
104
+ try {
105
+ const delegations = await client.get.getDelegatorDelegations(constants_2.TEST_ADDRESS);
106
+ console.log('Delegations');
107
+ console.log(JSON.stringify(delegations));
108
+ }
109
+ catch (error) {
110
+ console.log(JSON.stringify(error.message));
111
+ }
112
+ try {
113
+ const unbondingDelegations = await client.get.getDelegatorUnbondingDelegations(constants_2.TEST_ADDRESS);
114
+ console.log('Unbonding Delegationss');
115
+ console.log(JSON.stringify(unbondingDelegations));
116
+ }
117
+ catch (error) {
118
+ console.log(JSON.stringify(error.message));
119
+ }
120
+ try {
121
+ const delegationsTotalRewards = await client.get.getDelegationTotalRewards(constants_2.TEST_ADDRESS);
122
+ console.log('Delegations total rewards');
123
+ console.log(JSON.stringify(delegationsTotalRewards));
124
+ }
125
+ catch (error) {
126
+ console.log(JSON.stringify(error.message));
127
+ }
128
+ try {
129
+ const getAllBondedValidators = await client.get.getAllValidators('BOND_STATUS_BONDED');
130
+ console.log('All Validators');
131
+ console.log(JSON.stringify(getAllBondedValidators));
132
+ }
133
+ catch (error) {
134
+ console.log(JSON.stringify(error.message));
135
+ }
136
+ try {
137
+ const delayedCompleteBridgeMessagesParams = await client.get.getDelayedCompleteBridgeMessages();
138
+ console.log('All delayed complete bridge messages');
139
+ console.log(JSON.stringify(delayedCompleteBridgeMessagesParams));
140
+ }
141
+ catch (error) {
142
+ console.log(JSON.stringify(error.message));
143
+ }
144
+ try {
145
+ const delayedCompleteBridgeMessagesParams = await client.get.getDelayedCompleteBridgeMessages(constants_2.TEST_ADDRESS);
146
+ console.log('Filtered delayed complete bridge messages');
147
+ console.log(JSON.stringify(delayedCompleteBridgeMessagesParams));
148
+ }
149
+ catch (error) {
150
+ console.log(JSON.stringify(error.message));
151
+ }
152
+ }
153
+ test()
154
+ .then(() => { })
155
+ .catch((error) => {
156
+ console.log(error.message);
157
+ });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yX2dldF9leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXhhbXBsZXMvdmFsaWRhdG9yX2dldF9leGFtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0RBQW1EO0FBQ25ELHNFQUFrRTtBQUNsRSwyQ0FBMkM7QUFFM0MsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxrQ0FBZSxDQUFDLE9BQU8sQ0FBQyxtQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWhGLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsd0JBQVksQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyx3QkFBWSxDQUFDLENBQUM7UUFDaEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHdCQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyx3QkFBWSxDQUFDLENBQUM7UUFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLHdCQUFZLENBQUMsQ0FBQztRQUM5RCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sNEJBQTRCLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFDeEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLHdCQUFZLENBQUMsQ0FBQztRQUMzRSxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLG9CQUFvQixHQUN4QixNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsd0JBQVksQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLHVCQUF1QixHQUMzQixNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsd0JBQVksQ0FBQyxDQUFDO1FBQzNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLG1DQUFtQyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBQ2hHLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLG1DQUFtQyxHQUN2QyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsd0JBQVksQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUN6RCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxFQUFFO0tBQ0gsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQUNkLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,76 @@
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
+ const long_1 = __importDefault(require("long"));
7
+ const protobufjs_1 = __importDefault(require("protobufjs"));
8
+ const src_1 = require("../src");
9
+ const constants_1 = require("../src/clients/constants");
10
+ const local_wallet_1 = __importDefault(require("../src/clients/modules/local-wallet"));
11
+ const subaccount_1 = require("../src/clients/subaccount");
12
+ const validator_client_1 = require("../src/clients/validator-client");
13
+ const utils_1 = require("../src/lib/utils");
14
+ const constants_2 = require("./constants");
15
+ const raw_orders_json_1 = __importDefault(require("./raw_orders.json"));
16
+ // Required for encoding and decoding queries that are of type Long.
17
+ // Must be done once but since the individal modules should be usable
18
+ // - must be set in each module that encounters encoding/decoding Longs.
19
+ // Reference: https://github.com/protobufjs/protobuf.js/issues/921
20
+ protobufjs_1.default.util.Long = long_1.default;
21
+ protobufjs_1.default.configure();
22
+ function dummyOrder(height) {
23
+ const placeOrder = constants_2.defaultOrder;
24
+ placeOrder.clientId = (0, utils_1.randomInt)(1000000000);
25
+ placeOrder.goodTilBlock = height + 3;
26
+ return placeOrder;
27
+ }
28
+ async function sleep(ms) {
29
+ return new Promise((resolve) => setTimeout(resolve, ms));
30
+ }
31
+ async function test() {
32
+ const wallet = await local_wallet_1.default.fromMnemonic(constants_2.TEST_MNEMONIC, src_1.BECH32_PREFIX);
33
+ console.log(wallet);
34
+ const client = await validator_client_1.ValidatorClient.connect(constants_1.Network.testnet().validatorConfig);
35
+ console.log('**Client**');
36
+ console.log(client);
37
+ const value1 = long_1.default.fromNumber(400000000000);
38
+ console.log(value1.toString());
39
+ const subaccount = subaccount_1.SubaccountInfo.forLocalWallet(wallet, 0);
40
+ for (const orderParams of raw_orders_json_1.default) {
41
+ const height = await client.get.latestBlockHeight();
42
+ const placeOrder = dummyOrder(height);
43
+ placeOrder.timeInForce = orderParams.timeInForce;
44
+ placeOrder.reduceOnly = false; // reduceOnly is currently disabled
45
+ placeOrder.orderFlags = orderParams.orderFlags;
46
+ placeOrder.side = orderParams.side;
47
+ placeOrder.quantums = long_1.default.fromNumber(orderParams.quantums);
48
+ placeOrder.subticks = long_1.default.fromNumber(orderParams.subticks);
49
+ try {
50
+ if (placeOrder.orderFlags !== 0) {
51
+ placeOrder.goodTilBlock = 0;
52
+ const now = new Date();
53
+ const millisecondsPerSecond = 1000;
54
+ const interval = 60 * millisecondsPerSecond;
55
+ const future = new Date(now.valueOf() + interval);
56
+ placeOrder.goodTilBlockTime = Math.round(future.getTime() / 1000);
57
+ }
58
+ else {
59
+ placeOrder.goodTilBlockTime = 0;
60
+ }
61
+ const tx = await client.post.placeOrderObject(subaccount, placeOrder);
62
+ console.log('**Order Tx**');
63
+ console.log(tx);
64
+ }
65
+ catch (error) {
66
+ console.log(error.message);
67
+ }
68
+ await sleep(5000); // wait for placeOrder to complete
69
+ }
70
+ }
71
+ test()
72
+ .then(() => { })
73
+ .catch((error) => {
74
+ console.log(error.message);
75
+ });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yX3Bvc3RfZXhhbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V4YW1wbGVzL3ZhbGlkYXRvcl9wb3N0X2V4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsNERBQWtDO0FBRWxDLGdDQUF1QztBQUN2Qyx3REFBbUQ7QUFDbkQsdUZBQThEO0FBQzlELDBEQUEyRDtBQUUzRCxzRUFBa0U7QUFDbEUsNENBQTZDO0FBQzdDLDJDQUEwRDtBQUMxRCx3RUFBNkM7QUFFN0Msb0VBQW9FO0FBQ3BFLHFFQUFxRTtBQUNyRSx3RUFBd0U7QUFDeEUsa0VBQWtFO0FBQ2xFLG9CQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFJLENBQUM7QUFDMUIsb0JBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixTQUFTLFVBQVUsQ0FBQyxNQUFjO0lBQ2hDLE1BQU0sVUFBVSxHQUFHLHdCQUFZLENBQUM7SUFDaEMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFBLGlCQUFTLEVBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsVUFBVSxDQUFDLFlBQVksR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxLQUFLLFVBQVUsS0FBSyxDQUFDLEVBQVU7SUFDN0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLHNCQUFXLENBQUMsWUFBWSxDQUFDLHlCQUFhLEVBQUUsbUJBQWEsQ0FBQyxDQUFDO0lBQzVFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFcEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxrQ0FB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
@@ -0,0 +1,22 @@
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
+ const src_1 = require("../src");
7
+ const local_wallet_1 = __importDefault(require("../src/clients/modules/local-wallet"));
8
+ const constants_1 = require("./constants");
9
+ async function test() {
10
+ const wallet = await local_wallet_1.default.fromMnemonic(constants_1.TEST_MNEMONIC, src_1.BECH32_PREFIX);
11
+ console.log(wallet);
12
+ const address = wallet.address;
13
+ const addressOk = address === constants_1.TEST_ADDRESS;
14
+ console.log(addressOk);
15
+ console.log(address);
16
+ }
17
+ test()
18
+ .then(() => { })
19
+ .catch((error) => {
20
+ console.log(error.message);
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X2FkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9leGFtcGxlcy93YWxsZXRfYWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdDQUF1QztBQUN2Qyx1RkFBOEQ7QUFDOUQsMkNBQTBEO0FBRTFELEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sc0JBQVcsQ0FBQyxZQUFZLENBQUMseUJBQWEsRUFBRSxtQkFBYSxDQUFDLENBQUM7SUFDNUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQy9CLE1BQU0sU0FBUyxHQUFHLE9BQU8sS0FBSyx3QkFBWSxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQsSUFBSSxFQUFFO0tBQ0gsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQUNkLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("../src/clients/constants");
4
+ const socket_client_1 = require("../src/clients/socket-client");
5
+ const constants_2 = require("./constants");
6
+ function test() {
7
+ const mySocket = new socket_client_1.SocketClient(constants_1.Network.testnet().indexerConfig, () => {
8
+ console.log('socket opened');
9
+ }, () => {
10
+ console.log('socket closed');
11
+ }, (message) => {
12
+ console.log(message);
13
+ if (typeof message.data === 'string') {
14
+ const jsonString = message.data;
15
+ try {
16
+ const data = JSON.parse(jsonString);
17
+ if (data.type === socket_client_1.IncomingMessageTypes.CONNECTED) {
18
+ mySocket.subscribeToMarkets();
19
+ mySocket.subscribeToOrderbook('ETH-USD');
20
+ mySocket.subscribeToTrades('ETH-USD');
21
+ mySocket.subscribeToCandles('ETH-USD', socket_client_1.CandlesResolution.FIFTEEN_MINUTES);
22
+ mySocket.subscribeToSubaccount(constants_2.TEST_ADDRESS, 0);
23
+ }
24
+ console.log(data);
25
+ }
26
+ catch (e) {
27
+ console.error('Error parsing JSON message:', e);
28
+ }
29
+ }
30
+ }, (event) => {
31
+ console.error('Encountered error:', event.message);
32
+ });
33
+ mySocket.connect();
34
+ }
35
+ test();
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0X2V4YW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9leGFtcGxlcy93ZWJzb2NrZXRfZXhhbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQUFtRDtBQUNuRCxnRUFJc0M7QUFDdEMsMkNBQTJDO0FBRTNDLFNBQVMsSUFBSTtJQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksNEJBQVksQ0FDL0IsbUJBQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQy9CLEdBQUcsRUFBRTtRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0IsQ0FBQyxFQUNELEdBQUcsRUFBRTtRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0IsQ0FBQyxFQUNELENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLElBQUksT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFjLENBQUM7WUFDMUMsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxvQ0FBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakQsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQzlCLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDekMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUN0QyxRQUFRLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGlDQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUMxRSxRQUFRLENBQUMscUJBQXFCLENBQUMsd0JBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FDRixDQUFDO0lBQ0YsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3JCLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyJ9
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4
+ /* eslint-disable no-param-reassign */
5
+ const constants_1 = require("../src/clients/constants");
6
+ const socket_client_1 = require("../src/clients/socket-client");
7
+ function test() {
8
+ let orderBookBidList = [];
9
+ let orderBookAskList = [];
10
+ const mySocket = new socket_client_1.SocketClient(constants_1.Network.mainnet().indexerConfig, () => {
11
+ console.log('socket opened');
12
+ mySocket.subscribeToOrderbook('ETH-USD');
13
+ }, () => {
14
+ console.log('socket closed');
15
+ }, (message) => {
16
+ try {
17
+ if (typeof message.data === 'string') {
18
+ const jsonString = message.data;
19
+ const parsingData = JSON.parse(jsonString);
20
+ const messageId = parsingData.message_id;
21
+ const orderBookDataList = parsingData.contents;
22
+ if (orderBookDataList instanceof Array) {
23
+ // common orderBook data;
24
+ [orderBookBidList, orderBookAskList] = updateOrderBook(orderBookDataList, orderBookBidList, orderBookAskList, messageId);
25
+ // sort
26
+ orderBookBidList = sortByNthElementDesc(orderBookBidList, 0);
27
+ orderBookAskList = sortByNthElementAsc(orderBookAskList, 0);
28
+ // resolving crossed orderBook
29
+ if (orderBookBidList.length > 0 &&
30
+ orderBookAskList.length > 0 &&
31
+ orderBookBidList[0][0] >= orderBookAskList[0][0]) {
32
+ [orderBookBidList, orderBookAskList] = resolveCrossedOrderBook(orderBookBidList, orderBookAskList);
33
+ }
34
+ printOrderBook(orderBookBidList, orderBookAskList);
35
+ if (orderBookBidList.length > 300) {
36
+ orderBookBidList.splice(50);
37
+ }
38
+ if (orderBookAskList.length > 300) {
39
+ orderBookAskList.splice(50);
40
+ }
41
+ }
42
+ else if (orderBookDataList !== null && orderBookDataList !== undefined) {
43
+ // initial OrderBook data
44
+ setInitialOrderBook(orderBookDataList, orderBookBidList, orderBookAskList, messageId);
45
+ }
46
+ }
47
+ }
48
+ catch (e) {
49
+ console.error('Error parsing JSON message:', e);
50
+ }
51
+ }, (event) => {
52
+ console.error('Encountered error:', event.message);
53
+ });
54
+ mySocket.connect();
55
+ }
56
+ const sortByNthElementAsc = (arr, n) => {
57
+ return arr.sort((a, b) => {
58
+ if (a[n] < b[n])
59
+ return -1;
60
+ if (a[n] > b[n])
61
+ return 1;
62
+ return 0;
63
+ });
64
+ };
65
+ const sortByNthElementDesc = (arr, n) => {
66
+ return arr.sort((a, b) => {
67
+ if (a[n] > b[n])
68
+ return -1;
69
+ if (a[n] < b[n])
70
+ return 1;
71
+ return 0;
72
+ });
73
+ };
74
+ const printOrderBook = (orderBookBidList, orderBookAskList) => {
75
+ // print
76
+ console.log(`OrderBook for ETH-USD:`);
77
+ console.log(`Price Qty`);
78
+ for (let i = 4; i > -1; i--) {
79
+ const priceStr = String(orderBookAskList[i][0]);
80
+ const spaces = createSpaces(10 - priceStr.length);
81
+ console.log(`${priceStr}${spaces}${orderBookAskList[i][1]}`);
82
+ }
83
+ console.log('---------------------');
84
+ for (let i = 0; i < 5; i++) {
85
+ const priceStr = String(orderBookBidList[i][0]);
86
+ const spaces = createSpaces(10 - priceStr.length);
87
+ console.log(`${priceStr}${spaces}${orderBookBidList[i][1]}`);
88
+ }
89
+ console.log('');
90
+ };
91
+ function createSpaces(count) {
92
+ if (count <= 0) {
93
+ return '';
94
+ }
95
+ let spaces = '';
96
+ for (let i = 0; i < count; i++) {
97
+ spaces += ' ';
98
+ }
99
+ return spaces;
100
+ }
101
+ const resolveCrossedOrderBook = (orderBookBidList, orderBookAskList) => {
102
+ while (orderBookBidList[0][0] >= orderBookAskList[0][0]) {
103
+ if (orderBookBidList[0][2] < orderBookAskList[0][2]) {
104
+ orderBookBidList.shift();
105
+ }
106
+ else if (orderBookBidList[0][2] > orderBookAskList[0][2]) {
107
+ orderBookAskList.shift();
108
+ }
109
+ else {
110
+ if (orderBookBidList[0][1] > orderBookAskList[0][1]) {
111
+ orderBookBidList[0][1] -= orderBookAskList[0][1];
112
+ orderBookAskList.shift();
113
+ }
114
+ else if (orderBookBidList[0][1] < orderBookAskList[0][1]) {
115
+ orderBookAskList[0][1] -= orderBookBidList[0][1];
116
+ orderBookBidList.shift();
117
+ }
118
+ else {
119
+ orderBookAskList.shift();
120
+ orderBookBidList.shift();
121
+ }
122
+ }
123
+ }
124
+ return [orderBookBidList, orderBookAskList];
125
+ };
126
+ const setInitialOrderBook = (orderBookDataList, orderBookBidList, orderBookAskList, messageId) => {
127
+ orderBookDataList.bids.forEach((item) => {
128
+ orderBookBidList.push([Number(item.price), Number(item.size), messageId]);
129
+ });
130
+ orderBookDataList.asks.forEach((item) => {
131
+ orderBookAskList.push([Number(item.price), Number(item.size), messageId]);
132
+ });
133
+ };
134
+ const updateOrderBook = (orderBookDataList, orderBookBidList, orderBookAskList, messageId) => {
135
+ orderBookDataList.forEach((entry) => {
136
+ if (entry.bids !== null && entry.bids !== undefined) {
137
+ const flattened = entry.bids.reduce((acc, val) => acc.concat(val), []);
138
+ const entryBidPrice = Number(flattened[0]);
139
+ const entryBidSize = Number(flattened[1]);
140
+ // remove prices with zero Qty
141
+ if (entryBidSize === 0) {
142
+ for (let i = orderBookBidList.length - 1; i >= 0; i--) {
143
+ if (orderBookBidList[i][0] === entryBidPrice) {
144
+ orderBookBidList.splice(i, 1);
145
+ }
146
+ }
147
+ }
148
+ else {
149
+ // The price that already exists in the order book is modified only Qty
150
+ if (orderBookBidList.some((innerArray) => innerArray[0] === entryBidPrice)) {
151
+ orderBookBidList.forEach((item, index) => {
152
+ if (item[0] === entryBidPrice) {
153
+ orderBookBidList[index][1] = entryBidSize;
154
+ orderBookBidList[index][2] = messageId;
155
+ }
156
+ });
157
+ }
158
+ else {
159
+ // Add new data to order book
160
+ orderBookBidList.push([entryBidPrice, entryBidSize, messageId]);
161
+ }
162
+ }
163
+ }
164
+ if (entry.asks !== null && entry.asks !== undefined) {
165
+ const flattened = entry.asks.reduce((acc, val) => acc.concat(val), []);
166
+ const entryAskPrice = Number(flattened[0]);
167
+ const entryAskSize = Number(flattened[1]);
168
+ if (entryAskSize === 0) {
169
+ // remove prices with zero Qty
170
+ for (let i = orderBookAskList.length - 1; i >= 0; i--) {
171
+ if (orderBookAskList[i][0] === entryAskPrice) {
172
+ orderBookAskList.splice(i, 1);
173
+ }
174
+ }
175
+ }
176
+ else {
177
+ // The price that already exists in the order book is modified only Qty
178
+ if (orderBookAskList.some((innerArray) => innerArray[0] === entryAskPrice)) {
179
+ orderBookAskList.forEach((item, index) => {
180
+ if (item[0] === entryAskPrice) {
181
+ orderBookAskList[index][1] = entryAskSize;
182
+ orderBookAskList[index][2] = messageId;
183
+ }
184
+ });
185
+ }
186
+ else {
187
+ // Add new data to order book
188
+ orderBookAskList.push([entryAskPrice, entryAskSize, messageId]);
189
+ }
190
+ }
191
+ }
192
+ });
193
+ return [orderBookBidList, orderBookAskList];
194
+ };
195
+ test();
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0X29yZGVyYm9va19leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXhhbXBsZXMvd2Vic29ja2V0X29yZGVyYm9va19leGFtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdURBQXVEO0FBQ3ZELHNDQUFzQztBQUN0Qyx3REFBbUQ7QUFDbkQsZ0VBQTREO0FBRTVELFNBQVMsSUFBSTtJQUNYLElBQUksZ0JBQWdCLEdBQStCLEVBQUUsQ0FBQztJQUN0RCxJQUFJLGdCQUFnQixHQUErQixFQUFFLENBQUM7SUFFdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSw0QkFBWSxDQUMvQixtQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFDL0IsR0FBRyxFQUFFO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU3QixRQUFRLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQyxFQUNELEdBQUcsRUFBRTtRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0IsQ0FBQyxFQUNELENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDVixJQUFJLENBQUM7WUFDSCxJQUFJLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztnQkFDekMsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUUvQyxJQUFJLGlCQUFpQixZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2Qyx5QkFBeUI7b0JBQ3pCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMs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