@d8x/perpetuals-sdk 0.7.6 → 0.7.7

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 (119) hide show
  1. package/dist/cjs/accountTrade.js +243 -134
  2. package/dist/cjs/accountTrade.js.map +1 -1
  3. package/dist/cjs/brokerTool.js +290 -144
  4. package/dist/cjs/brokerTool.js.map +1 -1
  5. package/dist/cjs/config/priceFeedConfig.json +1 -1
  6. package/dist/cjs/contracts/factories/ERC20__factory.js +12 -9
  7. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
  8. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +12 -9
  9. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  10. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +12 -9
  11. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  12. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +12 -9
  13. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  14. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +12 -9
  15. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  16. package/dist/cjs/contracts/factories/ShareToken__factory.js +12 -9
  17. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
  18. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -9
  19. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  20. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -9
  21. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  22. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -9
  23. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  24. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -9
  25. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  26. package/dist/cjs/contracts/index.js +1 -1
  27. package/dist/cjs/d8XMath.js +66 -65
  28. package/dist/cjs/d8XMath.js.map +1 -1
  29. package/dist/cjs/index.js +11 -11
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/liquidatorTool.js +137 -80
  32. package/dist/cjs/liquidatorTool.js.map +1 -1
  33. package/dist/cjs/liquidityProviderTool.js +65 -33
  34. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  35. package/dist/cjs/marketData.js +978 -635
  36. package/dist/cjs/marketData.js.map +1 -1
  37. package/dist/cjs/nodeSDKTypes.js +22 -10
  38. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  39. package/dist/cjs/orderReferrerTool.js +323 -200
  40. package/dist/cjs/orderReferrerTool.js.map +1 -1
  41. package/dist/cjs/perpetualDataHandler.js +550 -404
  42. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  43. package/dist/cjs/perpetualEventHandler.js +190 -129
  44. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  45. package/dist/cjs/priceFeeds.js +335 -223
  46. package/dist/cjs/priceFeeds.js.map +1 -1
  47. package/dist/cjs/traderDigests.js +23 -20
  48. package/dist/cjs/traderDigests.js.map +1 -1
  49. package/dist/cjs/traderInterface.js +87 -54
  50. package/dist/cjs/traderInterface.js.map +1 -1
  51. package/dist/cjs/triangulator.js +38 -34
  52. package/dist/cjs/triangulator.js.map +1 -1
  53. package/dist/cjs/utils.js +32 -18
  54. package/dist/cjs/utils.js.map +1 -1
  55. package/dist/cjs/version.d.ts +1 -1
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/cjs/writeAccessHandler.js +112 -78
  58. package/dist/cjs/writeAccessHandler.js.map +1 -1
  59. package/dist/esm/accountTrade.js +237 -126
  60. package/dist/esm/accountTrade.js.map +1 -1
  61. package/dist/esm/brokerTool.js +284 -136
  62. package/dist/esm/brokerTool.js.map +1 -1
  63. package/dist/esm/config/priceFeedConfig.json +1 -1
  64. package/dist/esm/contracts/factories/ERC20__factory.js +12 -8
  65. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  66. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +12 -8
  67. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  68. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +12 -8
  69. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  70. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +12 -8
  71. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  72. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +12 -8
  73. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  74. package/dist/esm/contracts/factories/ShareToken__factory.js +12 -8
  75. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  76. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -8
  77. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  78. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -8
  79. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  80. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -8
  81. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  82. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -8
  83. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  84. package/dist/esm/d8XMath.js +64 -63
  85. package/dist/esm/d8XMath.js.map +1 -1
  86. package/dist/esm/liquidatorTool.js +136 -77
  87. package/dist/esm/liquidatorTool.js.map +1 -1
  88. package/dist/esm/liquidityProviderTool.js +63 -29
  89. package/dist/esm/liquidityProviderTool.js.map +1 -1
  90. package/dist/esm/marketData.js +971 -626
  91. package/dist/esm/marketData.js.map +1 -1
  92. package/dist/esm/nodeSDKTypes.js +48 -36
  93. package/dist/esm/nodeSDKTypes.js.map +1 -1
  94. package/dist/esm/orderReferrerTool.js +319 -194
  95. package/dist/esm/orderReferrerTool.js.map +1 -1
  96. package/dist/esm/perpetualDataHandler.js +542 -394
  97. package/dist/esm/perpetualDataHandler.js.map +1 -1
  98. package/dist/esm/perpetualEventHandler.js +188 -126
  99. package/dist/esm/perpetualEventHandler.js.map +1 -1
  100. package/dist/esm/priceFeeds.js +332 -218
  101. package/dist/esm/priceFeeds.js.map +1 -1
  102. package/dist/esm/traderDigests.js +19 -15
  103. package/dist/esm/traderDigests.js.map +1 -1
  104. package/dist/esm/traderInterface.js +83 -48
  105. package/dist/esm/traderInterface.js.map +1 -1
  106. package/dist/esm/triangulator.js +39 -34
  107. package/dist/esm/triangulator.js.map +1 -1
  108. package/dist/esm/utils.js +30 -16
  109. package/dist/esm/utils.js.map +1 -1
  110. package/dist/esm/version.d.ts +1 -1
  111. package/dist/esm/version.js +1 -1
  112. package/dist/esm/version.js.map +1 -1
  113. package/dist/esm/writeAccessHandler.js +105 -69
  114. package/dist/esm/writeAccessHandler.js.map +1 -1
  115. package/package.json +1 -1
  116. package/src/accountTrade.ts +6 -1
  117. package/src/config/priceFeedConfig.json +1 -1
  118. package/src/orderReferrerTool.ts +2 -0
  119. package/src/version.ts +1 -1
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const buffer_1 = require("buffer");
5
- const d8XMath_1 = require("./d8XMath");
6
- const marketData_1 = tslib_1.__importDefault(require("./marketData"));
7
- const nodeSDKTypes_1 = require("./nodeSDKTypes");
8
- const perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
9
- const traderDigests_1 = tslib_1.__importDefault(require("./traderDigests"));
10
- const writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
3
+ var tslib_1 = require("tslib");
4
+ var buffer_1 = require("buffer");
5
+ var d8XMath_1 = require("./d8XMath");
6
+ var marketData_1 = tslib_1.__importDefault(require("./marketData"));
7
+ var nodeSDKTypes_1 = require("./nodeSDKTypes");
8
+ var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
9
+ var traderDigests_1 = tslib_1.__importDefault(require("./traderDigests"));
10
+ var writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
11
11
  /**
12
12
  * Functions to create, submit and cancel orders on the exchange.
13
13
  * This class requires a private key and executes smart-contract interactions that
14
14
  * require gas-payments.
15
15
  * @extends WriteAccessHandler
16
16
  */
17
- class AccountTrade extends writeAccessHandler_1.default {
17
+ var AccountTrade = /** @class */ (function (_super) {
18
+ tslib_1.__extends(AccountTrade, _super);
18
19
  /**
19
20
  * Constructor
20
21
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -35,9 +36,10 @@ class AccountTrade extends writeAccessHandler_1.default {
35
36
  *
36
37
  * @param {string | Signer} signer Private key or ethers Signer of the account
37
38
  */
38
- constructor(config, signer) {
39
- super(config, signer);
40
- this.digestTool = new traderDigests_1.default();
39
+ function AccountTrade(config, signer) {
40
+ var _this = _super.call(this, config, signer) || this;
41
+ _this.digestTool = new traderDigests_1.default();
42
+ return _this;
41
43
  }
42
44
  /**
43
45
  * Cancels an existing order on the exchange.
@@ -60,16 +62,28 @@ class AccountTrade extends writeAccessHandler_1.default {
60
62
  * main();
61
63
  * @returns {ContractTransaction} Contract Transaction (containing events).
62
64
  */
63
- async cancelOrder(symbol, orderId, submission, overrides) {
64
- if (this.proxyContract == null || this.signer == null) {
65
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
66
- }
67
- if (submission == undefined) {
68
- submission = await this.fetchLatestFeedPriceInfo(symbol);
69
- }
70
- const orderBookContract = this.getOrderBookContract(symbol);
71
- return await this._cancelOrder(symbol, orderId, orderBookContract, submission, overrides);
72
- }
65
+ AccountTrade.prototype.cancelOrder = function (symbol, orderId, submission, overrides) {
66
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
67
+ var orderBookContract;
68
+ return tslib_1.__generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ if (this.proxyContract == null || this.signer == null) {
72
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
73
+ }
74
+ if (!(submission == undefined)) return [3 /*break*/, 2];
75
+ return [4 /*yield*/, this.fetchLatestFeedPriceInfo(symbol)];
76
+ case 1:
77
+ submission = _a.sent();
78
+ _a.label = 2;
79
+ case 2:
80
+ orderBookContract = this.getOrderBookContract(symbol);
81
+ return [4 /*yield*/, this._cancelOrder(symbol, orderId, orderBookContract, submission, overrides)];
82
+ case 3: return [2 /*return*/, _a.sent()];
83
+ }
84
+ });
85
+ });
86
+ };
73
87
  /**
74
88
  * Submits an order to the exchange.
75
89
  * @param {Order} order Order structure. As a minimum the structure needs to
@@ -128,18 +142,28 @@ class AccountTrade extends writeAccessHandler_1.default {
128
142
  *
129
143
  * @returns {ContractTransaction} Contract Transaction (containing events).
130
144
  */
131
- async order(order, parentChildIds, overrides) {
132
- if (this.proxyContract == null || this.signer == null) {
133
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
134
- }
135
- let minSize = perpetualDataHandler_1.default._getMinimalPositionSize(order.symbol, this.symbolToPerpStaticInfo);
136
- if (Math.abs(order.quantity) < minSize) {
137
- throw Error("order size too small");
138
- }
139
- let orderBookContract = this.getOrderBookContract(order.symbol);
140
- let res = await this._order(order, this.traderAddr, this.symbolToPerpStaticInfo, this.proxyContract, orderBookContract, this.chainId, this.signer, parentChildIds, overrides);
141
- return res;
142
- }
145
+ AccountTrade.prototype.order = function (order, parentChildIds, overrides) {
146
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
147
+ var minSize, orderBookContract, res;
148
+ return tslib_1.__generator(this, function (_a) {
149
+ switch (_a.label) {
150
+ case 0:
151
+ if (this.proxyContract == null || this.signer == null) {
152
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
153
+ }
154
+ minSize = perpetualDataHandler_1.default._getMinimalPositionSize(order.symbol, this.symbolToPerpStaticInfo);
155
+ if (Math.abs(order.quantity) < minSize) {
156
+ throw Error("order size too small");
157
+ }
158
+ orderBookContract = this.getOrderBookContract(order.symbol);
159
+ return [4 /*yield*/, this._order(order, this.traderAddr, this.symbolToPerpStaticInfo, this.proxyContract, orderBookContract, this.chainId, this.signer, parentChildIds, overrides)];
160
+ case 1:
161
+ res = _a.sent();
162
+ return [2 /*return*/, res];
163
+ }
164
+ });
165
+ });
166
+ };
143
167
  /**
144
168
  * Fee charged by the exchange for trading any perpetual on a given pool.
145
169
  * It accounts for the current trader's fee tier (based on the trader's D8X balance and trading volume).
@@ -164,17 +188,27 @@ class AccountTrade extends writeAccessHandler_1.default {
164
188
  *
165
189
  * @returns Exchange fee, in decimals (i.e. 0.1% is 0.001).
166
190
  */
167
- async queryExchangeFee(poolSymbolName, brokerAddr, overrides) {
168
- if (this.proxyContract == null) {
169
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
170
- }
171
- if (typeof brokerAddr == "undefined") {
172
- brokerAddr = nodeSDKTypes_1.ZERO_ADDRESS;
173
- }
174
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
175
- let feeTbps = await this.proxyContract.queryExchangeFee(poolId, this.traderAddr, brokerAddr, overrides || {});
176
- return feeTbps / 100000;
177
- }
191
+ AccountTrade.prototype.queryExchangeFee = function (poolSymbolName, brokerAddr, overrides) {
192
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
193
+ var poolId, feeTbps;
194
+ return tslib_1.__generator(this, function (_a) {
195
+ switch (_a.label) {
196
+ case 0:
197
+ if (this.proxyContract == null) {
198
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
199
+ }
200
+ if (typeof brokerAddr == "undefined") {
201
+ brokerAddr = nodeSDKTypes_1.ZERO_ADDRESS;
202
+ }
203
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
204
+ return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, this.traderAddr, brokerAddr, overrides || {})];
205
+ case 1:
206
+ feeTbps = _a.sent();
207
+ return [2 /*return*/, feeTbps / 100000];
208
+ }
209
+ });
210
+ });
211
+ };
178
212
  /**
179
213
  * Exponentially weighted EMA of the total USD trading volume of all trades performed by this trader.
180
214
  * The weights are chosen so that in average this coincides with the 30 day volume.
@@ -196,14 +230,24 @@ class AccountTrade extends writeAccessHandler_1.default {
196
230
  *
197
231
  * @returns {number} Current trading volume for this trader, in USD.
198
232
  */
199
- async getCurrentTraderVolume(poolSymbolName, overrides) {
200
- if (this.proxyContract == null || this.signer == null) {
201
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
202
- }
203
- let poolId = writeAccessHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
204
- let volume = await this.proxyContract.getCurrentTraderVolume(poolId, this.traderAddr, overrides || {});
205
- return (0, d8XMath_1.ABK64x64ToFloat)(volume);
206
- }
233
+ AccountTrade.prototype.getCurrentTraderVolume = function (poolSymbolName, overrides) {
234
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
235
+ var poolId, volume;
236
+ return tslib_1.__generator(this, function (_a) {
237
+ switch (_a.label) {
238
+ case 0:
239
+ if (this.proxyContract == null || this.signer == null) {
240
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
241
+ }
242
+ poolId = writeAccessHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
243
+ return [4 /*yield*/, this.proxyContract.getCurrentTraderVolume(poolId, this.traderAddr, overrides || {})];
244
+ case 1:
245
+ volume = _a.sent();
246
+ return [2 /*return*/, (0, d8XMath_1.ABK64x64ToFloat)(volume)];
247
+ }
248
+ });
249
+ });
250
+ };
207
251
  /**
208
252
  *
209
253
  * @param symbol Symbol of the form ETH-USD-MATIC.
@@ -224,13 +268,22 @@ class AccountTrade extends writeAccessHandler_1.default {
224
268
  *
225
269
  * @returns {string[]} Array of Ids for all the orders currently open by this trader.
226
270
  */
227
- async getOrderIds(symbol, overrides) {
228
- if (this.proxyContract == null || this.signer == null) {
229
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
230
- }
231
- let orderBookContract = this.getOrderBookContract(symbol);
232
- return await marketData_1.default.orderIdsOfTrader(this.traderAddr, orderBookContract, overrides);
233
- }
271
+ AccountTrade.prototype.getOrderIds = function (symbol, overrides) {
272
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
273
+ var orderBookContract;
274
+ return tslib_1.__generator(this, function (_a) {
275
+ switch (_a.label) {
276
+ case 0:
277
+ if (this.proxyContract == null || this.signer == null) {
278
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
279
+ }
280
+ orderBookContract = this.getOrderBookContract(symbol);
281
+ return [4 /*yield*/, marketData_1.default.orderIdsOfTrader(this.traderAddr, orderBookContract, overrides)];
282
+ case 1: return [2 /*return*/, _a.sent()];
283
+ }
284
+ });
285
+ });
286
+ };
234
287
  /**
235
288
  * Static order function
236
289
  * @param order order type (not SmartContractOrder but Order)
@@ -244,37 +297,63 @@ class AccountTrade extends writeAccessHandler_1.default {
244
297
  * @returns [transaction hash, order id]
245
298
  * @ignore
246
299
  */
247
- async _order(order, traderAddr, symbolToPerpetualMap, proxyContract, orderBookContract, chainId, signer, parentChildIds, overrides) {
248
- let scOrder = AccountTrade.toSmartContractOrder(order, traderAddr, symbolToPerpetualMap);
249
- let clientOrder = AccountTrade.fromSmartContratOrderToClientOrder(scOrder, parentChildIds);
250
- // if we are here, we have a clean order
251
- // decide whether to send order to Limit Order Book or AMM based on order type
252
- let tx;
253
- // all orders are sent to the order-book
254
- let [signature, digest] = await this._createSignature(scOrder, chainId, true, signer, proxyContract.address);
255
- tx = await orderBookContract.postOrder(clientOrder, signature, overrides || { gasLimit: this.gasLimit });
256
- let id = await this.digestTool.createOrderId(digest);
257
- return { tx: tx, orderId: id };
258
- }
259
- async _cancelOrder(symbol, orderId, orderBookContract, submission, overrides) {
260
- if (orderBookContract == null || this.signer == null) {
261
- throw Error(`Order Book contract for symbol ${symbol} or signer not defined`);
262
- }
263
- if (submission == undefined) {
264
- submission = await this.fetchLatestFeedPriceInfo(symbol);
265
- }
266
- let scOrder = await orderBookContract.orderOfDigest(orderId);
267
- let [signature] = await this._createSignature(scOrder, this.chainId, false, this.signer, this.proxyAddr);
268
- // value is minimal necessary by default, but can be overriden
269
- if (!overrides || overrides.value == undefined) {
270
- overrides = {
271
- value: submission.timestamps.length * this.PRICE_UPDATE_FEE_GWEI,
272
- gasLimit: overrides?.gasLimit ?? this.gasLimit,
273
- ...overrides,
274
- };
275
- }
276
- return await orderBookContract.cancelOrder(orderId, signature, submission.priceFeedVaas, submission.timestamps, overrides);
277
- }
300
+ AccountTrade.prototype._order = function (order, traderAddr, symbolToPerpetualMap, proxyContract, orderBookContract, chainId, signer, parentChildIds, overrides) {
301
+ var _a;
302
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
303
+ var scOrder, clientOrder, tx, _b, signature, digest, nonce, id;
304
+ return tslib_1.__generator(this, function (_c) {
305
+ switch (_c.label) {
306
+ case 0:
307
+ scOrder = AccountTrade.toSmartContractOrder(order, traderAddr, symbolToPerpetualMap);
308
+ clientOrder = AccountTrade.fromSmartContratOrderToClientOrder(scOrder, parentChildIds);
309
+ return [4 /*yield*/, this._createSignature(scOrder, chainId, true, signer, proxyContract.address)];
310
+ case 1:
311
+ _b = tslib_1.__read.apply(void 0, [_c.sent(), 2]), signature = _b[0], digest = _b[1];
312
+ return [4 /*yield*/, ((_a = this.signer) === null || _a === void 0 ? void 0 : _a.getTransactionCount())];
313
+ case 2:
314
+ nonce = _c.sent();
315
+ return [4 /*yield*/, orderBookContract.postOrder(clientOrder, signature, overrides || { gasLimit: this.gasLimit, nonce: nonce })];
316
+ case 3:
317
+ tx = _c.sent();
318
+ return [4 /*yield*/, this.digestTool.createOrderId(digest)];
319
+ case 4:
320
+ id = _c.sent();
321
+ return [2 /*return*/, { tx: tx, orderId: id }];
322
+ }
323
+ });
324
+ });
325
+ };
326
+ AccountTrade.prototype._cancelOrder = function (symbol, orderId, orderBookContract, submission, overrides) {
327
+ var _a;
328
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
329
+ var scOrder, _b, signature;
330
+ return tslib_1.__generator(this, function (_c) {
331
+ switch (_c.label) {
332
+ case 0:
333
+ if (orderBookContract == null || this.signer == null) {
334
+ throw Error("Order Book contract for symbol ".concat(symbol, " or signer not defined"));
335
+ }
336
+ if (!(submission == undefined)) return [3 /*break*/, 2];
337
+ return [4 /*yield*/, this.fetchLatestFeedPriceInfo(symbol)];
338
+ case 1:
339
+ submission = _c.sent();
340
+ _c.label = 2;
341
+ case 2: return [4 /*yield*/, orderBookContract.orderOfDigest(orderId)];
342
+ case 3:
343
+ scOrder = _c.sent();
344
+ return [4 /*yield*/, this._createSignature(scOrder, this.chainId, false, this.signer, this.proxyAddr)];
345
+ case 4:
346
+ _b = tslib_1.__read.apply(void 0, [_c.sent(), 1]), signature = _b[0];
347
+ // value is minimal necessary by default, but can be overriden
348
+ if (!overrides || overrides.value == undefined) {
349
+ overrides = tslib_1.__assign({ value: submission.timestamps.length * this.PRICE_UPDATE_FEE_GWEI, gasLimit: (_a = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _a !== void 0 ? _a : this.gasLimit }, overrides);
350
+ }
351
+ return [4 /*yield*/, orderBookContract.cancelOrder(orderId, signature, submission.priceFeedVaas, submission.timestamps, overrides)];
352
+ case 5: return [2 /*return*/, _c.sent()];
353
+ }
354
+ });
355
+ });
356
+ };
278
357
  /**
279
358
  * Creates a signature
280
359
  * @param order smart-contract-type order
@@ -285,58 +364,88 @@ class AccountTrade extends writeAccessHandler_1.default {
285
364
  * @returns signature as string
286
365
  * @ignore
287
366
  */
288
- async _createSignature(order, chainId, isNewOrder, signer, proxyAddress) {
289
- let digest = await this.digestTool.createDigest(order, chainId, isNewOrder, proxyAddress);
290
- let digestBuffer = buffer_1.Buffer.from(digest.substring(2, digest.length), "hex");
291
- let signature = await signer.signMessage(digestBuffer);
292
- return [signature, digest];
293
- }
367
+ AccountTrade.prototype._createSignature = function (order, chainId, isNewOrder, signer, proxyAddress) {
368
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
369
+ var digest, digestBuffer, signature;
370
+ return tslib_1.__generator(this, function (_a) {
371
+ switch (_a.label) {
372
+ case 0: return [4 /*yield*/, this.digestTool.createDigest(order, chainId, isNewOrder, proxyAddress)];
373
+ case 1:
374
+ digest = _a.sent();
375
+ digestBuffer = buffer_1.Buffer.from(digest.substring(2, digest.length), "hex");
376
+ return [4 /*yield*/, signer.signMessage(digestBuffer)];
377
+ case 2:
378
+ signature = _a.sent();
379
+ return [2 /*return*/, [signature, digest]];
380
+ }
381
+ });
382
+ });
383
+ };
294
384
  /**
295
385
  *
296
386
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
297
387
  * @param {number} amount How much collateral to add, in units of collateral currency, e.g. MATIC
298
388
  */
299
- async addCollateral(symbol, amount, submission, overrides) {
300
- if (this.proxyContract == null || this.signer == null) {
301
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
302
- }
303
- let perpId = this.getPerpIdFromSymbol(symbol);
304
- let fAmountCC = (0, d8XMath_1.floatToABK64x64)(amount);
305
- if (submission == undefined) {
306
- submission = await this.fetchLatestFeedPriceInfo(symbol);
307
- }
308
- if (!overrides || overrides.value == undefined) {
309
- overrides = {
310
- value: submission.timestamps.length * this.PRICE_UPDATE_FEE_GWEI,
311
- gasLimit: overrides?.gasLimit ?? this.gasLimit,
312
- ...overrides,
313
- };
314
- }
315
- return await this.proxyContract.deposit(perpId, fAmountCC, submission.priceFeedVaas, submission.timestamps, overrides || { gasLimit: this.gasLimit });
316
- }
389
+ AccountTrade.prototype.addCollateral = function (symbol, amount, submission, overrides) {
390
+ var _a;
391
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
392
+ var perpId, fAmountCC;
393
+ return tslib_1.__generator(this, function (_b) {
394
+ switch (_b.label) {
395
+ case 0:
396
+ if (this.proxyContract == null || this.signer == null) {
397
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
398
+ }
399
+ perpId = this.getPerpIdFromSymbol(symbol);
400
+ fAmountCC = (0, d8XMath_1.floatToABK64x64)(amount);
401
+ if (!(submission == undefined)) return [3 /*break*/, 2];
402
+ return [4 /*yield*/, this.fetchLatestFeedPriceInfo(symbol)];
403
+ case 1:
404
+ submission = _b.sent();
405
+ _b.label = 2;
406
+ case 2:
407
+ if (!overrides || overrides.value == undefined) {
408
+ overrides = tslib_1.__assign({ value: submission.timestamps.length * this.PRICE_UPDATE_FEE_GWEI, gasLimit: (_a = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _a !== void 0 ? _a : this.gasLimit }, overrides);
409
+ }
410
+ return [4 /*yield*/, this.proxyContract.deposit(perpId, fAmountCC, submission.priceFeedVaas, submission.timestamps, overrides || { gasLimit: this.gasLimit })];
411
+ case 3: return [2 /*return*/, _b.sent()];
412
+ }
413
+ });
414
+ });
415
+ };
317
416
  /**
318
417
  *
319
418
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
320
419
  * @param {number} amount How much collateral to remove, in units of collateral currency, e.g. MATIC
321
420
  */
322
- async removeCollateral(symbol, amount, submission, overrides) {
323
- if (this.proxyContract == null || this.signer == null) {
324
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
325
- }
326
- let perpId = this.getPerpIdFromSymbol(symbol);
327
- let fAmountCC = (0, d8XMath_1.floatToABK64x64)(amount);
328
- if (submission == undefined) {
329
- submission = await this.fetchLatestFeedPriceInfo(symbol);
330
- }
331
- if (!overrides || overrides.value == undefined) {
332
- overrides = {
333
- value: submission.timestamps.length * this.PRICE_UPDATE_FEE_GWEI,
334
- gasLimit: overrides?.gasLimit ?? this.gasLimit,
335
- ...overrides,
336
- };
337
- }
338
- return await this.proxyContract.withdraw(perpId, fAmountCC, submission.priceFeedVaas, submission.timestamps, overrides || { gasLimit: this.gasLimit });
339
- }
340
- }
421
+ AccountTrade.prototype.removeCollateral = function (symbol, amount, submission, overrides) {
422
+ var _a;
423
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
424
+ var perpId, fAmountCC;
425
+ return tslib_1.__generator(this, function (_b) {
426
+ switch (_b.label) {
427
+ case 0:
428
+ if (this.proxyContract == null || this.signer == null) {
429
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
430
+ }
431
+ perpId = this.getPerpIdFromSymbol(symbol);
432
+ fAmountCC = (0, d8XMath_1.floatToABK64x64)(amount);
433
+ if (!(submission == undefined)) return [3 /*break*/, 2];
434
+ return [4 /*yield*/, this.fetchLatestFeedPriceInfo(symbol)];
435
+ case 1:
436
+ submission = _b.sent();
437
+ _b.label = 2;
438
+ case 2:
439
+ if (!overrides || overrides.value == undefined) {
440
+ overrides = tslib_1.__assign({ value: submission.timestamps.length * this.PRICE_UPDATE_FEE_GWEI, gasLimit: (_a = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _a !== void 0 ? _a : this.gasLimit }, overrides);
441
+ }
442
+ return [4 /*yield*/, this.proxyContract.withdraw(perpId, fAmountCC, submission.priceFeedVaas, submission.timestamps, overrides || { gasLimit: this.gasLimit })];
443
+ case 3: return [2 /*return*/, _b.sent()];
444
+ }
445
+ });
446
+ });
447
+ };
448
+ return AccountTrade;
449
+ }(writeAccessHandler_1.default));
341
450
  exports.default = AccountTrade;
342
451
  //# sourceMappingURL=accountTrade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountTrade.js","sourceRoot":"","sources":["../../src/accountTrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountTrade.js","sourceRoot":"","sources":["../../src/accountTrade.ts"],"names":[],"mappings":"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"}