@d8x/perpetuals-sdk 0.7.7 → 0.7.8

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