@dydxprotocol/v4-client-js 1.15.1 → 1.16.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 (114) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/build/examples/constants.d.ts +1 -0
  3. package/build/examples/constants.js +3 -2
  4. package/build/examples/permissioned_keys_example.d.ts +1 -0
  5. package/build/examples/permissioned_keys_example.js +85 -0
  6. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.d.ts +158 -158
  7. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +126 -126
  8. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.d.ts +12 -0
  9. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/affiliates/query.lcd.js +34 -0
  10. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/params.d.ts +21 -0
  11. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/params.js +37 -2
  12. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.d.ts +34 -1
  13. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.js +72 -2
  14. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.d.ts +4 -1
  15. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +7 -1
  16. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +2021 -1711
  17. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +272 -266
  18. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/finalize_block.d.ts +23 -0
  19. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/finalize_block.js +64 -0
  20. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.d.ts +5 -0
  21. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.js +11 -1
  22. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.d.ts +31 -0
  23. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +94 -5
  24. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.d.ts +2 -1
  25. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.lcd.js +7 -1
  26. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +5 -1
  27. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +10 -1
  28. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/streaming.d.ts +6 -1
  29. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/streaming.js +19 -2
  30. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.d.ts +79 -6
  31. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +78 -2
  32. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/lcd.d.ts +1 -0
  33. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/lcd.js +4 -1
  34. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/genesis.d.ts +4 -0
  35. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/genesis.js +11 -2
  36. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.lcd.d.ts +2 -1
  37. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/query.lcd.js +7 -1
  38. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.d.ts +39 -0
  39. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.js +72 -2
  40. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.rpc.msg.d.ts +7 -1
  41. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/listing/tx.rpc.msg.js +7 -1
  42. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.d.ts +25 -0
  43. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.js +64 -2
  44. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.lcd.d.ts +2 -1
  45. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.lcd.js +7 -1
  46. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.d.ts +5 -1
  47. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +10 -1
  48. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_param.d.ts +8 -0
  49. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_param.js +1 -1
  50. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_price.d.ts +3 -0
  51. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_price.js +1 -1
  52. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.d.ts +34 -0
  53. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.js +64 -2
  54. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.lcd.d.ts +2 -1
  55. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.lcd.js +7 -1
  56. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.rpc.Query.d.ts +5 -1
  57. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.rpc.Query.js +10 -1
  58. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/streaming.d.ts +23 -0
  59. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/streaming.js +81 -0
  60. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.d.ts +25 -1
  61. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.js +63 -2
  62. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.d.ts +2 -1
  63. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.lcd.js +7 -1
  64. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.d.ts +5 -1
  65. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/query.rpc.Query.js +10 -1
  66. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/revshare/tx.rpc.msg.d.ts +1 -1
  67. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +4 -0
  68. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/streaming.d.ts +1 -1
  69. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/streaming.js +5 -5
  70. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/params.d.ts +21 -0
  71. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/params.js +55 -3
  72. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.d.ts +1 -6
  73. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.js +4 -12
  74. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.lcd.d.ts +1 -2
  75. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/query.lcd.js +1 -13
  76. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.d.ts +51 -24
  77. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vault/tx.js +98 -46
  78. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +2 -2
  79. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.d.ts +174 -174
  80. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +12 -12
  81. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.d.ts +365 -365
  82. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +21 -21
  83. package/build/src/clients/composite-client.d.ts +12 -3
  84. package/build/src/clients/composite-client.js +22 -8
  85. package/build/src/clients/constants.d.ts +10 -0
  86. package/build/src/clients/constants.js +17 -4
  87. package/build/src/clients/lib/registry.js +26 -22
  88. package/build/src/clients/modules/account.js +2 -2
  89. package/build/src/clients/modules/composer.d.ts +3 -0
  90. package/build/src/clients/modules/composer.js +23 -1
  91. package/build/src/clients/modules/get.d.ts +2 -0
  92. package/build/src/clients/modules/get.js +9 -1
  93. package/build/src/clients/modules/local-wallet.d.ts +4 -4
  94. package/build/src/clients/modules/local-wallet.js +3 -3
  95. package/build/src/clients/modules/post.d.ts +4 -2
  96. package/build/src/clients/modules/post.js +15 -6
  97. package/build/src/clients/modules/signer.d.ts +5 -3
  98. package/build/src/clients/modules/signer.js +53 -14
  99. package/build/src/clients/types.d.ts +1 -0
  100. package/build/src/clients/types.js +1 -1
  101. package/build/tsconfig.tsbuildinfo +1 -1
  102. package/examples/constants.ts +2 -0
  103. package/examples/permissioned_keys_example.ts +110 -0
  104. package/package.json +2 -2
  105. package/src/clients/composite-client.ts +40 -3
  106. package/src/clients/constants.ts +16 -1
  107. package/src/clients/lib/registry.ts +8 -0
  108. package/src/clients/modules/account.ts +1 -1
  109. package/src/clients/modules/composer.ts +39 -0
  110. package/src/clients/modules/get.ts +16 -0
  111. package/src/clients/modules/local-wallet.ts +6 -6
  112. package/src/clients/modules/post.ts +44 -1
  113. package/src/clients/modules/signer.ts +79 -13
  114. package/src/clients/types.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
- ## [1.15.1](https://github.com/dydxprotocol/v4-clients/compare/v4-client-js@1.15.0...v4-client-js@1.15.1) (2024-12-06)
1
+ ## [1.16.1](https://github.com/dydxprotocol/v4-clients/compare/v4-client-js@1.16.0...v4-client-js@1.16.1) (2025-02-05)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * add historical block trading reward endpoint ([#303](https://github.com/dydxprotocol/v4-clients/issues/303)) ([1327f57](https://github.com/dydxprotocol/v4-clients/commit/1327f57d22298b6831eaa592215fa24ee598899d))
6
+ * url wrong ([#323](https://github.com/dydxprotocol/v4-clients/issues/323)) ([ae6cae1](https://github.com/dydxprotocol/v4-clients/commit/ae6cae1ec83ee2e9dadd9bdfa9d2170b325e3a17))
@@ -4,6 +4,7 @@ export declare const DYDX_TEST_PRIVATE_KEY = "e92a6595c934c991d3b3e987ea9b3125bf
4
4
  export declare const DYDX_TEST_MNEMONIC = "mirror actor skill push coach wait confirm orchard lunch mobile athlete gossip awake miracle matter bus reopen team ladder lazy list timber render wait";
5
5
  export declare const DYDX_LOCAL_ADDRESS = "dydx199tqg4wdlnu4qjlxchpd7seg454937hjrknju4";
6
6
  export declare const DYDX_LOCAL_MNEMONIC = "merge panther lobster crazy road hollow amused security before critic about cliff exhibit cause coyote talent happy where lion river tobacco option coconut small";
7
+ export declare const DYDX_TEST_MNEMONIC_2 = "movie yard still copper exile wear brisk chest ride dizzy novel future menu finish radar lunar claim hub middle force turtle mouse frequent embark";
7
8
  export declare const MARKET_BTC_USD: string;
8
9
  export declare const PERPETUAL_PAIR_BTC_USD: number;
9
10
  export declare const MAX_CLIENT_ID: number;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.defaultOrder = exports.MAX_CLIENT_ID = exports.PERPETUAL_PAIR_BTC_USD = exports.MARKET_BTC_USD = exports.DYDX_LOCAL_MNEMONIC = exports.DYDX_LOCAL_ADDRESS = exports.DYDX_TEST_MNEMONIC = exports.DYDX_TEST_PRIVATE_KEY = exports.DYDX_TEST_ADDRESS = void 0;
6
+ exports.defaultOrder = exports.MAX_CLIENT_ID = exports.PERPETUAL_PAIR_BTC_USD = exports.MARKET_BTC_USD = exports.DYDX_TEST_MNEMONIC_2 = exports.DYDX_LOCAL_MNEMONIC = exports.DYDX_LOCAL_ADDRESS = exports.DYDX_TEST_MNEMONIC = exports.DYDX_TEST_PRIVATE_KEY = exports.DYDX_TEST_ADDRESS = void 0;
7
7
  const order_1 = require("@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order");
8
8
  const long_1 = __importDefault(require("long"));
9
9
  const types_1 = require("../src/clients/types");
@@ -12,6 +12,7 @@ exports.DYDX_TEST_PRIVATE_KEY = 'e92a6595c934c991d3b3e987ea9b3125bf61a076deab3a9
12
12
  exports.DYDX_TEST_MNEMONIC = 'mirror actor skill push coach wait confirm orchard lunch mobile athlete gossip awake miracle matter bus reopen team ladder lazy list timber render wait';
13
13
  exports.DYDX_LOCAL_ADDRESS = 'dydx199tqg4wdlnu4qjlxchpd7seg454937hjrknju4';
14
14
  exports.DYDX_LOCAL_MNEMONIC = 'merge panther lobster crazy road hollow amused security before critic about cliff exhibit cause coyote talent happy where lion river tobacco option coconut small';
15
+ exports.DYDX_TEST_MNEMONIC_2 = 'movie yard still copper exile wear brisk chest ride dizzy novel future menu finish radar lunar claim hub middle force turtle mouse frequent embark';
15
16
  exports.MARKET_BTC_USD = 'BTC-USD';
16
17
  exports.PERPETUAL_PAIR_BTC_USD = 0;
17
18
  const quantums = new long_1.default(1000000000);
@@ -29,4 +30,4 @@ exports.defaultOrder = {
29
30
  reduceOnly: false,
30
31
  clientMetadata: 0,
31
32
  };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZXhhbXBsZXMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNGQUdvRTtBQUNwRSxnREFBd0I7QUFFeEIsZ0RBQStEO0FBRWxELFFBQUEsaUJBQWlCLEdBQUcsNkNBQTZDLENBQUM7QUFDbEUsUUFBQSxxQkFBcUIsR0FDaEMsa0VBQWtFLENBQUM7QUFDeEQsUUFBQSxrQkFBa0IsR0FDN0IseUpBQXlKLENBQUM7QUFDL0ksUUFBQSxrQkFBa0IsR0FBRyw2Q0FBNkMsQ0FBQztBQUNuRSxRQUFBLG1CQUFtQixHQUM5QixtS0FBbUssQ0FBQztBQUV6SixRQUFBLGNBQWMsR0FBVyxTQUFTLENBQUM7QUFDbkMsUUFBQSxzQkFBc0IsR0FBVyxDQUFDLENBQUM7QUFFaEQsTUFBTSxRQUFRLEdBQVMsSUFBSSxjQUFJLENBQUMsVUFBYSxDQUFDLENBQUM7QUFDL0MsTUFBTSxRQUFRLEdBQVMsSUFBSSxjQUFJLENBQUMsVUFBYSxDQUFDLENBQUM7QUFFbEMsUUFBQSxhQUFhLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFekMsdUJBQXVCO0FBQ1YsUUFBQSxZQUFZLEdBQWdCO0lBQ3ZDLFFBQVEsRUFBRSxDQUFDO0lBQ1gsVUFBVSxFQUFFLGtCQUFVLENBQUMsVUFBVTtJQUNqQyxVQUFVLEVBQUUsOEJBQXNCO0lBQ2xDLElBQUksRUFBRSxrQkFBVSxDQUFDLFFBQVE7SUFDekIsUUFBUTtJQUNSLFFBQVE7SUFDUixXQUFXLEVBQUUseUJBQWlCLENBQUMseUJBQXlCO0lBQ3hELFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGNBQWMsRUFBRSxDQUFDO0NBQ2xCLENBQUMifQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZXhhbXBsZXMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNGQUdvRTtBQUNwRSxnREFBd0I7QUFFeEIsZ0RBQStEO0FBRWxELFFBQUEsaUJBQWlCLEdBQUcsNkNBQTZDLENBQUM7QUFDbEUsUUFBQSxxQkFBcUIsR0FDaEMsa0VBQWtFLENBQUM7QUFDeEQsUUFBQSxrQkFBa0IsR0FDN0IseUpBQXlKLENBQUM7QUFDL0ksUUFBQSxrQkFBa0IsR0FBRyw2Q0FBNkMsQ0FBQztBQUNuRSxRQUFBLG1CQUFtQixHQUM5QixtS0FBbUssQ0FBQztBQUV6SixRQUFBLG9CQUFvQixHQUFHLG9KQUFvSixDQUFDO0FBRTVLLFFBQUEsY0FBYyxHQUFXLFNBQVMsQ0FBQztBQUNuQyxRQUFBLHNCQUFzQixHQUFXLENBQUMsQ0FBQztBQUVoRCxNQUFNLFFBQVEsR0FBUyxJQUFJLGNBQUksQ0FBQyxVQUFhLENBQUMsQ0FBQztBQUMvQyxNQUFNLFFBQVEsR0FBUyxJQUFJLGNBQUksQ0FBQyxVQUFhLENBQUMsQ0FBQztBQUVsQyxRQUFBLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV6Qyx1QkFBdUI7QUFDVixRQUFBLFlBQVksR0FBZ0I7SUFDdkMsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsa0JBQVUsQ0FBQyxVQUFVO0lBQ2pDLFVBQVUsRUFBRSw4QkFBc0I7SUFDbEMsSUFBSSxFQUFFLGtCQUFVLENBQUMsUUFBUTtJQUN6QixRQUFRO0lBQ1IsUUFBUTtJQUNSLFdBQVcsRUFBRSx5QkFBaUIsQ0FBQyx5QkFBeUI7SUFDeEQsVUFBVSxFQUFFLEtBQUs7SUFDakIsY0FBYyxFQUFFLENBQUM7Q0FDbEIsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,85 @@
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 util_1 = require("util");
7
+ const encoding_1 = require("@cosmjs/encoding");
8
+ const order_1 = require("@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order");
9
+ const src_1 = require("../src");
10
+ const composite_client_1 = require("../src/clients/composite-client");
11
+ const constants_1 = require("../src/clients/constants");
12
+ const local_wallet_1 = __importDefault(require("../src/clients/modules/local-wallet"));
13
+ const subaccount_1 = require("../src/clients/subaccount");
14
+ const constants_2 = require("./constants");
15
+ async function test() {
16
+ const wallet1 = await local_wallet_1.default.fromMnemonic(constants_2.DYDX_TEST_MNEMONIC, src_1.BECH32_PREFIX);
17
+ const wallet2 = await local_wallet_1.default.fromMnemonic(constants_2.DYDX_TEST_MNEMONIC_2, src_1.BECH32_PREFIX);
18
+ const network = constants_1.Network.staging();
19
+ const client = await composite_client_1.CompositeClient.connect(network);
20
+ client.setSelectedGasDenom(constants_1.SelectedGasDenom.NATIVE);
21
+ console.log('**Client**');
22
+ console.log(client);
23
+ const subaccount1 = new subaccount_1.SubaccountInfo(wallet1, 0);
24
+ const subaccount2 = new subaccount_1.SubaccountInfo(wallet2, 0);
25
+ // Change second wallet pubkey
26
+ // Add an authenticator to allow wallet2 to place orders
27
+ console.log("** Adding authenticator **");
28
+ await addAuthenticator(client, subaccount1, wallet2.pubKey.value);
29
+ const authenticators = await client.getAuthenticators(wallet1.address);
30
+ // Last element in authenticators array is the most recently created
31
+ const lastElement = authenticators.accountAuthenticators.length - 1;
32
+ const authenticatorID = authenticators.accountAuthenticators[lastElement].id;
33
+ // Placing order using subaccount2 for subaccount1 succeeds
34
+ console.log("** Placing order with authenticator **");
35
+ await placeOrder(client, subaccount2, subaccount1, authenticatorID);
36
+ // Remove authenticator
37
+ console.log("** Removing authenticator **");
38
+ await removeAuthenticator(client, subaccount1, authenticatorID);
39
+ // Placing an order using subaccount2 will now fail
40
+ console.log("** Placing order with invalid authenticator should fail **");
41
+ await placeOrder(client, subaccount2, subaccount1, authenticatorID);
42
+ }
43
+ async function removeAuthenticator(client, subaccount, id) {
44
+ await client.removeAuthenticator(subaccount, id);
45
+ }
46
+ async function addAuthenticator(client, subaccount, authedPubKey) {
47
+ const subAuthenticators = [{
48
+ type: constants_1.AuthenticatorType.SIGNATURE_VERIFICATION,
49
+ config: authedPubKey,
50
+ },
51
+ {
52
+ type: constants_1.AuthenticatorType.MESSAGE_FILTER,
53
+ config: (0, encoding_1.toBase64)(new util_1.TextEncoder().encode("/dydxprotocol.clob.MsgPlaceOrder")),
54
+ },
55
+ ];
56
+ const jsonString = JSON.stringify(subAuthenticators);
57
+ const encodedData = new util_1.TextEncoder().encode(jsonString);
58
+ await client.addAuthenticator(subaccount, constants_1.AuthenticatorType.ALL_OF, encodedData);
59
+ }
60
+ async function placeOrder(client, fromAccount, forAccount, authenticatorId) {
61
+ try {
62
+ const side = constants_1.OrderSide.BUY;
63
+ const price = Number("1000");
64
+ const currentBlock = await client.validatorClient.get.latestBlockHeight();
65
+ const nextValidBlockHeight = currentBlock + 5;
66
+ const goodTilBlock = nextValidBlockHeight + 10;
67
+ const timeInForce = order_1.Order_TimeInForce.TIME_IN_FORCE_UNSPECIFIED;
68
+ const clientId = Math.floor(Math.random() * 10000);
69
+ const tx = await client.placeShortTermOrder(fromAccount, 'ETH-USD', side, price, 0.01, clientId, goodTilBlock, timeInForce, false, undefined, {
70
+ authenticators: [authenticatorId],
71
+ accountForOrder: forAccount,
72
+ });
73
+ console.log('**Order Tx**');
74
+ console.log(Buffer.from(tx.hash).toString('hex'));
75
+ }
76
+ catch (error) {
77
+ console.log(error.message);
78
+ }
79
+ }
80
+ test()
81
+ .then(() => { })
82
+ .catch((error) => {
83
+ console.log(error.message);
84
+ });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbmVkX2tleXNfZXhhbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2V4YW1wbGVzL3Blcm1pc3Npb25lZF9rZXlzX2V4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBbUM7QUFFbkMsK0NBQTRDO0FBQzVDLHNGQUErRjtBQUUvRixnQ0FBdUM7QUFDdkMsc0VBQWtFO0FBQ2xFLHdEQUFtRztBQUNuRyx1RkFBOEQ7QUFDOUQsMERBQTJEO0FBQzNELDJDQUF1RTtBQUV2RSxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLE9BQU8sR0FBRyxNQUFNLHNCQUFXLENBQUMsWUFBWSxDQUFDLDhCQUFrQixFQUFFLG1CQUFhLENBQUMsQ0FBQztJQUNsRixNQUFNLE9BQU8sR0FBRyxNQUFNLHNCQUFXLENBQUMsWUFBWSxDQUFDLGdDQUFvQixFQUFFLG1CQUFhLENBQUMsQ0FBQztJQUVwRixNQUFNLE9BQU8sR0FBRyxtQkFBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sa0NBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixNQUFNLFdBQVcsR0FBRyxJQUFJLDJCQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sV0FBVyxHQUFHLElBQUksMkJBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbkQsOEJBQThCO0lBQzlCLHdEQUF3RDtJQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDMUMsTUFBTSxnQkFBZ0IsQ0FB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