@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,21 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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"));
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"));
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
- var AccountTrade = /** @class */ (function (_super) {
18
- tslib_1.__extends(AccountTrade, _super);
17
+ class AccountTrade extends writeAccessHandler_1.default {
19
18
  /**
20
19
  * Constructor
21
20
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -36,10 +35,9 @@ var AccountTrade = /** @class */ (function (_super) {
36
35
  *
37
36
  * @param {string | Signer} signer Private key or ethers Signer of the account
38
37
  */
39
- function AccountTrade(config, signer) {
40
- var _this = _super.call(this, config, signer) || this;
41
- _this.digestTool = new traderDigests_1.default();
42
- return _this;
38
+ constructor(config, signer) {
39
+ super(config, signer);
40
+ this.digestTool = new traderDigests_1.default();
43
41
  }
44
42
  /**
45
43
  * Cancels an existing order on the exchange.
@@ -62,28 +60,16 @@ var AccountTrade = /** @class */ (function (_super) {
62
60
  * main();
63
61
  * @returns {ContractTransaction} Contract Transaction (containing events).
64
62
  */
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
- };
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
+ }
87
73
  /**
88
74
  * Submits an order to the exchange.
89
75
  * @param {Order} order Order structure. As a minimum the structure needs to
@@ -142,28 +128,18 @@ var AccountTrade = /** @class */ (function (_super) {
142
128
  *
143
129
  * @returns {ContractTransaction} Contract Transaction (containing events).
144
130
  */
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
- };
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
+ }
167
143
  /**
168
144
  * Fee charged by the exchange for trading any perpetual on a given pool.
169
145
  * It accounts for the current trader's fee tier (based on the trader's D8X balance and trading volume).
@@ -188,27 +164,17 @@ var AccountTrade = /** @class */ (function (_super) {
188
164
  *
189
165
  * @returns Exchange fee, in decimals (i.e. 0.1% is 0.001).
190
166
  */
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
- };
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
+ }
212
178
  /**
213
179
  * Exponentially weighted EMA of the total USD trading volume of all trades performed by this trader.
214
180
  * The weights are chosen so that in average this coincides with the 30 day volume.
@@ -230,24 +196,14 @@ var AccountTrade = /** @class */ (function (_super) {
230
196
  *
231
197
  * @returns {number} Current trading volume for this trader, in USD.
232
198
  */
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
- };
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
+ }
251
207
  /**
252
208
  *
253
209
  * @param symbol Symbol of the form ETH-USD-MATIC.
@@ -268,22 +224,13 @@ var AccountTrade = /** @class */ (function (_super) {
268
224
  *
269
225
  * @returns {string[]} Array of Ids for all the orders currently open by this trader.
270
226
  */
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
- };
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
+ }
287
234
  /**
288
235
  * Static order function
289
236
  * @param order order type (not SmartContractOrder but Order)
@@ -297,63 +244,37 @@ var AccountTrade = /** @class */ (function (_super) {
297
244
  * @returns [transaction hash, order id]
298
245
  * @ignore
299
246
  */
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
- };
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
+ }
357
278
  /**
358
279
  * Creates a signature
359
280
  * @param order smart-contract-type order
@@ -364,88 +285,58 @@ var AccountTrade = /** @class */ (function (_super) {
364
285
  * @returns signature as string
365
286
  * @ignore
366
287
  */
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
- };
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
+ }
384
294
  /**
385
295
  *
386
296
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
387
297
  * @param {number} amount How much collateral to add, in units of collateral currency, e.g. MATIC
388
298
  */
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
- };
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
+ }
416
317
  /**
417
318
  *
418
319
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
419
320
  * @param {number} amount How much collateral to remove, in units of collateral currency, e.g. MATIC
420
321
  */
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));
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
+ }
450
341
  exports.default = AccountTrade;
451
342
  //# 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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"}