@d8x/perpetuals-sdk 0.7.5 → 0.7.6

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 (125) hide show
  1. package/dist/cjs/accountTrade.js +134 -239
  2. package/dist/cjs/accountTrade.js.map +1 -1
  3. package/dist/cjs/brokerTool.js +144 -290
  4. package/dist/cjs/brokerTool.js.map +1 -1
  5. package/dist/cjs/contracts/factories/ERC20__factory.js +9 -12
  6. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
  7. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +9 -12
  8. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  9. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +9 -12
  10. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  11. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +9 -12
  12. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  13. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +9 -12
  14. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  15. package/dist/cjs/contracts/factories/ShareToken__factory.js +9 -12
  16. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
  17. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +9 -12
  18. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  19. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +9 -12
  20. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  21. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +9 -12
  22. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  23. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js +9 -12
  24. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  25. package/dist/cjs/contracts/index.js +1 -1
  26. package/dist/cjs/d8XMath.d.ts +7 -0
  27. package/dist/cjs/d8XMath.js +81 -61
  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 +80 -137
  32. package/dist/cjs/liquidatorTool.js.map +1 -1
  33. package/dist/cjs/liquidityProviderTool.js +33 -64
  34. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  35. package/dist/cjs/marketData.js +635 -978
  36. package/dist/cjs/marketData.js.map +1 -1
  37. package/dist/cjs/nodeSDKTypes.d.ts +1 -0
  38. package/dist/cjs/nodeSDKTypes.js +10 -22
  39. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  40. package/dist/cjs/orderReferrerTool.js +200 -321
  41. package/dist/cjs/orderReferrerTool.js.map +1 -1
  42. package/dist/cjs/perpetualDataHandler.d.ts +11 -0
  43. package/dist/cjs/perpetualDataHandler.js +422 -535
  44. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  45. package/dist/cjs/perpetualEventHandler.js +129 -190
  46. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  47. package/dist/cjs/priceFeeds.js +223 -335
  48. package/dist/cjs/priceFeeds.js.map +1 -1
  49. package/dist/cjs/traderDigests.js +20 -23
  50. package/dist/cjs/traderDigests.js.map +1 -1
  51. package/dist/cjs/traderInterface.js +54 -87
  52. package/dist/cjs/traderInterface.js.map +1 -1
  53. package/dist/cjs/triangulator.js +34 -38
  54. package/dist/cjs/triangulator.js.map +1 -1
  55. package/dist/cjs/utils.js +18 -32
  56. package/dist/cjs/utils.js.map +1 -1
  57. package/dist/cjs/version.d.ts +1 -1
  58. package/dist/cjs/version.js +1 -1
  59. package/dist/cjs/writeAccessHandler.js +78 -112
  60. package/dist/cjs/writeAccessHandler.js.map +1 -1
  61. package/dist/esm/accountTrade.js +126 -233
  62. package/dist/esm/accountTrade.js.map +1 -1
  63. package/dist/esm/brokerTool.js +136 -284
  64. package/dist/esm/brokerTool.js.map +1 -1
  65. package/dist/esm/contracts/factories/ERC20__factory.js +8 -12
  66. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  67. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +8 -12
  68. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  69. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +8 -12
  70. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  71. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +8 -12
  72. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  73. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +8 -12
  74. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  75. package/dist/esm/contracts/factories/ShareToken__factory.js +8 -12
  76. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  77. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +8 -12
  78. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  79. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +8 -12
  80. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  81. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +8 -12
  82. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  83. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js +8 -12
  84. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  85. package/dist/esm/d8XMath.d.ts +7 -0
  86. package/dist/esm/d8XMath.js +77 -58
  87. package/dist/esm/d8XMath.js.map +1 -1
  88. package/dist/esm/liquidatorTool.js +77 -136
  89. package/dist/esm/liquidatorTool.js.map +1 -1
  90. package/dist/esm/liquidityProviderTool.js +30 -63
  91. package/dist/esm/liquidityProviderTool.js.map +1 -1
  92. package/dist/esm/marketData.js +626 -971
  93. package/dist/esm/marketData.js.map +1 -1
  94. package/dist/esm/nodeSDKTypes.d.ts +1 -0
  95. package/dist/esm/nodeSDKTypes.js +36 -48
  96. package/dist/esm/nodeSDKTypes.js.map +1 -1
  97. package/dist/esm/orderReferrerTool.js +194 -317
  98. package/dist/esm/orderReferrerTool.js.map +1 -1
  99. package/dist/esm/perpetualDataHandler.d.ts +11 -0
  100. package/dist/esm/perpetualDataHandler.js +413 -528
  101. package/dist/esm/perpetualDataHandler.js.map +1 -1
  102. package/dist/esm/perpetualEventHandler.js +126 -188
  103. package/dist/esm/perpetualEventHandler.js.map +1 -1
  104. package/dist/esm/priceFeeds.js +218 -332
  105. package/dist/esm/priceFeeds.js.map +1 -1
  106. package/dist/esm/traderDigests.js +15 -19
  107. package/dist/esm/traderDigests.js.map +1 -1
  108. package/dist/esm/traderInterface.js +48 -83
  109. package/dist/esm/traderInterface.js.map +1 -1
  110. package/dist/esm/triangulator.js +34 -39
  111. package/dist/esm/triangulator.js.map +1 -1
  112. package/dist/esm/utils.js +16 -30
  113. package/dist/esm/utils.js.map +1 -1
  114. package/dist/esm/version.d.ts +1 -1
  115. package/dist/esm/version.js +1 -1
  116. package/dist/esm/version.js.map +1 -1
  117. package/dist/esm/writeAccessHandler.js +70 -106
  118. package/dist/esm/writeAccessHandler.js.map +1 -1
  119. package/package.json +1 -1
  120. package/src/d8XMath.ts +21 -0
  121. package/src/liquidityProviderTool.ts +5 -4
  122. package/src/nodeSDKTypes.ts +1 -0
  123. package/src/perpetualDataHandler.ts +27 -0
  124. package/src/version.ts +1 -1
  125. package/src/writeAccessHandler.ts +3 -3
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var d8XMath_1 = require("./d8XMath");
5
- var writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
3
+ const tslib_1 = require("tslib");
4
+ const d8XMath_1 = require("./d8XMath");
5
+ const writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
6
6
  /**
7
7
  * Functions to liquidate traders. This class requires a private key
8
8
  * and executes smart-contract interactions that require gas-payments.
9
9
  * @extends WriteAccessHandler
10
10
  */
11
- var LiquidatorTool = /** @class */ (function (_super) {
12
- tslib_1.__extends(LiquidatorTool, _super);
11
+ class LiquidatorTool extends writeAccessHandler_1.default {
13
12
  /**
14
13
  * Constructs a LiquidatorTool instance for a given configuration and private key.
15
14
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -30,8 +29,8 @@ var LiquidatorTool = /** @class */ (function (_super) {
30
29
  *
31
30
  * @param {string | Signer} signer Private key or ethers Signer of the account
32
31
  */
33
- function LiquidatorTool(config, signer) {
34
- return _super.call(this, config, signer) || this;
32
+ constructor(config, signer) {
33
+ super(config, signer);
35
34
  }
36
35
  /**
37
36
  * Liquidate a trader.
@@ -58,37 +57,27 @@ var LiquidatorTool = /** @class */ (function (_super) {
58
57
  *
59
58
  * @returns Transaction object.
60
59
  */
61
- LiquidatorTool.prototype.liquidateTrader = function (symbol, traderAddr, liquidatorAddr, priceFeedData, overrides) {
62
- if (liquidatorAddr === void 0) { liquidatorAddr = ""; }
63
- return tslib_1.__awaiter(this, void 0, void 0, function () {
64
- var perpID;
65
- return tslib_1.__generator(this, function (_a) {
66
- switch (_a.label) {
67
- case 0:
68
- // this operation spends gas, so signer is required
69
- if (this.proxyContract == null || this.signer == null) {
70
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
71
- }
72
- // liquidator is signer unless specified otherwise
73
- if (liquidatorAddr == "") {
74
- liquidatorAddr = this.traderAddr;
75
- }
76
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
77
- if (!(priceFeedData == undefined)) return [3 /*break*/, 2];
78
- return [4 /*yield*/, this.fetchLatestFeedPriceInfo(symbol)];
79
- case 1:
80
- priceFeedData = _a.sent();
81
- _a.label = 2;
82
- case 2:
83
- if (!overrides || overrides.value == undefined) {
84
- overrides = tslib_1.__assign({ value: priceFeedData.timestamps.length * this.PRICE_UPDATE_FEE_GWEI }, overrides);
85
- }
86
- return [4 /*yield*/, this._liquidateByAMM(perpID, liquidatorAddr, traderAddr, priceFeedData, overrides)];
87
- case 3: return [2 /*return*/, _a.sent()];
88
- }
89
- });
90
- });
91
- };
60
+ async liquidateTrader(symbol, traderAddr, liquidatorAddr = "", priceFeedData, overrides) {
61
+ // this operation spends gas, so signer is required
62
+ if (this.proxyContract == null || this.signer == null) {
63
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
64
+ }
65
+ // liquidator is signer unless specified otherwise
66
+ if (liquidatorAddr == "") {
67
+ liquidatorAddr = this.traderAddr;
68
+ }
69
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
70
+ if (priceFeedData == undefined) {
71
+ priceFeedData = await this.fetchLatestFeedPriceInfo(symbol);
72
+ }
73
+ if (!overrides || overrides.value == undefined) {
74
+ overrides = {
75
+ value: priceFeedData.timestamps.length * this.PRICE_UPDATE_FEE_GWEI,
76
+ ...overrides,
77
+ };
78
+ }
79
+ return await this._liquidateByAMM(perpID, liquidatorAddr, traderAddr, priceFeedData, overrides);
80
+ }
92
81
  /**
93
82
  * Check if the collateral of a trader is above the maintenance margin ("maintenance margin safe").
94
83
  * If not, the position can be liquidated.
@@ -114,45 +103,35 @@ var LiquidatorTool = /** @class */ (function (_super) {
114
103
  * @returns {boolean} True if the trader is maintenance margin safe in the perpetual.
115
104
  * False means that the trader's position can be liquidated.
116
105
  */
117
- LiquidatorTool.prototype.isMaintenanceMarginSafe = function (symbol, traderAddr, indexPrices, overrides) {
118
- return tslib_1.__awaiter(this, void 0, void 0, function () {
119
- var idx_notional, perpID, obj, traderState, idx_maintenanceMgnRate, idx_marginAccountPositionBC, idx_collateralToQuoteConversion, idx_marginBalance, maintMgnRate, pos, marginbalance, coll2quote, base2collateral, threshold;
120
- return tslib_1.__generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0:
123
- if (this.proxyContract == null) {
124
- throw Error("no proxy contract initialized. Use createProxyInstance().");
125
- }
126
- idx_notional = 4;
127
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
128
- if (!(indexPrices == undefined)) return [3 /*break*/, 2];
129
- return [4 /*yield*/, this.priceFeedGetter.fetchPricesForPerpetual(symbol)];
130
- case 1:
131
- obj = _a.sent();
132
- indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
133
- _a.label = 2;
134
- case 2: return [4 /*yield*/, this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map(function (x) { return (0, d8XMath_1.floatToABK64x64)(x); }), overrides || {})];
135
- case 3:
136
- traderState = _a.sent();
137
- if (traderState[idx_notional].eq(0)) {
138
- // trader does not have open position
139
- return [2 /*return*/, true];
140
- }
141
- idx_maintenanceMgnRate = 10;
142
- idx_marginAccountPositionBC = 4;
143
- idx_collateralToQuoteConversion = 9;
144
- idx_marginBalance = 0;
145
- maintMgnRate = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_maintenanceMgnRate]);
146
- pos = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_marginAccountPositionBC]);
147
- marginbalance = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_marginBalance]);
148
- coll2quote = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_collateralToQuoteConversion]);
149
- base2collateral = indexPrices[0] / coll2quote;
150
- threshold = Math.abs(pos * base2collateral * maintMgnRate);
151
- return [2 /*return*/, marginbalance >= threshold];
152
- }
153
- });
154
- });
155
- };
106
+ async isMaintenanceMarginSafe(symbol, traderAddr, indexPrices, overrides) {
107
+ if (this.proxyContract == null) {
108
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
109
+ }
110
+ const idx_notional = 4;
111
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
112
+ if (indexPrices == undefined) {
113
+ // fetch from API
114
+ let obj = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
115
+ indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
116
+ }
117
+ let traderState = await this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map((x) => (0, d8XMath_1.floatToABK64x64)(x)), overrides || {});
118
+ if (traderState[idx_notional].eq(0)) {
119
+ // trader does not have open position
120
+ return true;
121
+ }
122
+ // calculate margin from traderstate
123
+ const idx_maintenanceMgnRate = 10;
124
+ const idx_marginAccountPositionBC = 4;
125
+ const idx_collateralToQuoteConversion = 9;
126
+ const idx_marginBalance = 0;
127
+ const maintMgnRate = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_maintenanceMgnRate]);
128
+ const pos = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_marginAccountPositionBC]);
129
+ const marginbalance = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_marginBalance]);
130
+ const coll2quote = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_collateralToQuoteConversion]);
131
+ const base2collateral = indexPrices[0] / coll2quote;
132
+ const threshold = Math.abs(pos * base2collateral * maintMgnRate);
133
+ return marginbalance >= threshold;
134
+ }
156
135
  /**
157
136
  *
158
137
  * @param perpetualId Perpetual id.
@@ -162,16 +141,9 @@ var LiquidatorTool = /** @class */ (function (_super) {
162
141
  * @param options E.g., Gas limit, fee.
163
142
  * @ignore
164
143
  */
165
- LiquidatorTool.prototype._liquidateByAMM = function (perpetualId, liquidatorAddr, traderAddr, priceFeedData, overrides) {
166
- return tslib_1.__awaiter(this, void 0, void 0, function () {
167
- return tslib_1.__generator(this, function (_a) {
168
- switch (_a.label) {
169
- case 0: return [4 /*yield*/, this.proxyContract.liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData.priceFeedVaas, priceFeedData.timestamps, overrides)];
170
- case 1: return [2 /*return*/, _a.sent()];
171
- }
172
- });
173
- });
174
- };
144
+ async _liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData, overrides) {
145
+ return await this.proxyContract.liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData.priceFeedVaas, priceFeedData.timestamps, overrides);
146
+ }
175
147
  /**
176
148
  * Total number of active accounts for this symbol, i.e. accounts with positions that are currently open.
177
149
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -192,24 +164,14 @@ var LiquidatorTool = /** @class */ (function (_super) {
192
164
  *
193
165
  * @returns {number} Number of active accounts.
194
166
  */
195
- LiquidatorTool.prototype.countActivePerpAccounts = function (symbol, overrides) {
196
- return tslib_1.__awaiter(this, void 0, void 0, function () {
197
- var perpID, numAccounts;
198
- return tslib_1.__generator(this, function (_a) {
199
- switch (_a.label) {
200
- case 0:
201
- if (this.proxyContract == null) {
202
- throw Error("no proxy contract initialized. Use createProxyInstance().");
203
- }
204
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
205
- return [4 /*yield*/, this.proxyContract.countActivePerpAccounts(perpID, overrides || {})];
206
- case 1:
207
- numAccounts = _a.sent();
208
- return [2 /*return*/, Number(numAccounts)];
209
- }
210
- });
211
- });
212
- };
167
+ async countActivePerpAccounts(symbol, overrides) {
168
+ if (this.proxyContract == null) {
169
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
170
+ }
171
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
172
+ let numAccounts = await this.proxyContract.countActivePerpAccounts(perpID, overrides || {});
173
+ return Number(numAccounts);
174
+ }
213
175
  /**
214
176
  * Get addresses of active accounts by chunks.
215
177
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -232,22 +194,13 @@ var LiquidatorTool = /** @class */ (function (_super) {
232
194
  *
233
195
  * @returns {string[]} Array of addresses at locations 'from', 'from'+1 ,..., 'to'-1.
234
196
  */
235
- LiquidatorTool.prototype.getActiveAccountsByChunks = function (symbol, from, to, overrides) {
236
- return tslib_1.__awaiter(this, void 0, void 0, function () {
237
- var perpID;
238
- return tslib_1.__generator(this, function (_a) {
239
- switch (_a.label) {
240
- case 0:
241
- if (this.proxyContract == null) {
242
- throw Error("no proxy contract initialized. Use createProxyInstance().");
243
- }
244
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
245
- return [4 /*yield*/, this.proxyContract.getActivePerpAccountsByChunks(perpID, from, to, overrides || {})];
246
- case 1: return [2 /*return*/, _a.sent()];
247
- }
248
- });
249
- });
250
- };
197
+ async getActiveAccountsByChunks(symbol, from, to, overrides) {
198
+ if (this.proxyContract == null) {
199
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
200
+ }
201
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
202
+ return await this.proxyContract.getActivePerpAccountsByChunks(perpID, from, to, overrides || {});
203
+ }
251
204
  /**
252
205
  * Addresses for all the active accounts in this perpetual symbol.
253
206
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -268,21 +221,11 @@ var LiquidatorTool = /** @class */ (function (_super) {
268
221
  *
269
222
  * @returns {string[]} Array of addresses.
270
223
  */
271
- LiquidatorTool.prototype.getAllActiveAccounts = function (symbol, overrides) {
272
- return tslib_1.__awaiter(this, void 0, void 0, function () {
273
- var totalAccounts;
274
- return tslib_1.__generator(this, function (_a) {
275
- switch (_a.label) {
276
- case 0: return [4 /*yield*/, this.countActivePerpAccounts(symbol)];
277
- case 1:
278
- totalAccounts = _a.sent();
279
- return [4 /*yield*/, this.getActiveAccountsByChunks(symbol, 0, totalAccounts, overrides)];
280
- case 2: return [2 /*return*/, _a.sent()];
281
- }
282
- });
283
- });
284
- };
285
- return LiquidatorTool;
286
- }(writeAccessHandler_1.default));
224
+ async getAllActiveAccounts(symbol, overrides) {
225
+ // checks are done inside the intermediate functions
226
+ let totalAccounts = await this.countActivePerpAccounts(symbol);
227
+ return await this.getActiveAccountsByChunks(symbol, 0, totalAccounts, overrides);
228
+ }
229
+ }
287
230
  exports.default = LiquidatorTool;
288
231
  //# sourceMappingURL=liquidatorTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liquidatorTool.js","sourceRoot":"","sources":["../../src/liquidatorTool.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var d8XMath_1 = require("./d8XMath");
5
- var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
6
- var writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
3
+ const tslib_1 = require("tslib");
4
+ const d8XMath_1 = require("./d8XMath");
5
+ const perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
6
+ const writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
7
7
  /**
8
8
  * Functions to provide liquidity. This class requires a private key and executes
9
9
  * smart-contract interactions that require gas-payments.
10
10
  * @extends WriteAccessHandler
11
11
  */
12
- var LiquidityProviderTool = /** @class */ (function (_super) {
13
- tslib_1.__extends(LiquidityProviderTool, _super);
12
+ class LiquidityProviderTool extends writeAccessHandler_1.default {
14
13
  /**
15
14
  * Constructor
16
15
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -31,8 +30,8 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
31
30
  *
32
31
  * @param {string | Signer} signer Private key or ethers Signer of the account
33
32
  */
34
- function LiquidityProviderTool(config, signer) {
35
- return _super.call(this, config, signer) || this;
33
+ constructor(config, signer) {
34
+ super(config, signer);
36
35
  }
37
36
  /**
38
37
  * Add liquidity to the PnL participant fund. The address gets pool shares in return.
@@ -56,24 +55,15 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
56
55
  *
57
56
  * @return Transaction object
58
57
  */
59
- LiquidityProviderTool.prototype.addLiquidity = function (poolSymbolName, amountCC, overrides) {
60
- return tslib_1.__awaiter(this, void 0, void 0, function () {
61
- var poolId, tx;
62
- return tslib_1.__generator(this, function (_a) {
63
- switch (_a.label) {
64
- case 0:
65
- if (this.proxyContract == null || this.signer == null) {
66
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
67
- }
68
- poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
69
- return [4 /*yield*/, this.proxyContract.addLiquidity(poolId, (0, d8XMath_1.floatToDec18)(amountCC), overrides || { gasLimit: this.gasLimit })];
70
- case 1:
71
- tx = _a.sent();
72
- return [2 /*return*/, tx];
73
- }
74
- });
75
- });
76
- };
58
+ async addLiquidity(poolSymbolName, amountCC, overrides) {
59
+ if (this.proxyContract == null || this.signer == null) {
60
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
61
+ }
62
+ let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
63
+ let decimals = this.getMarginTokenDecimalsFromSymbol(poolSymbolName);
64
+ let tx = await this.proxyContract.addLiquidity(poolId, (0, d8XMath_1.floatToDecN)(amountCC, decimals), overrides || { gasLimit: this.gasLimit });
65
+ return tx;
66
+ }
77
67
  /**
78
68
  * Initiates a liquidity withdrawal from the pool
79
69
  * It triggers a time-delayed unlocking of the given number of pool shares.
@@ -97,24 +87,14 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
97
87
  *
98
88
  * @return Transaction object.
99
89
  */
100
- LiquidityProviderTool.prototype.initiateLiquidityWithdrawal = function (poolSymbolName, amountPoolShares, overrides) {
101
- return tslib_1.__awaiter(this, void 0, void 0, function () {
102
- var poolId, tx;
103
- return tslib_1.__generator(this, function (_a) {
104
- switch (_a.label) {
105
- case 0:
106
- if (this.proxyContract == null || this.signer == null) {
107
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
108
- }
109
- poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
110
- return [4 /*yield*/, this.proxyContract.withdrawLiquidity(poolId, (0, d8XMath_1.floatToDec18)(amountPoolShares), overrides || { gasLimit: this.gasLimit })];
111
- case 1:
112
- tx = _a.sent();
113
- return [2 /*return*/, tx];
114
- }
115
- });
116
- });
117
- };
90
+ async initiateLiquidityWithdrawal(poolSymbolName, amountPoolShares, overrides) {
91
+ if (this.proxyContract == null || this.signer == null) {
92
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
93
+ }
94
+ let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
95
+ let tx = await this.proxyContract.withdrawLiquidity(poolId, (0, d8XMath_1.floatToDec18)(amountPoolShares), overrides || { gasLimit: this.gasLimit });
96
+ return tx;
97
+ }
118
98
  /**
119
99
  * Withdraws as much liquidity as there is available after a call to initiateLiquidityWithdrawal.
120
100
  * The address loses pool shares in return.
@@ -136,25 +116,14 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
136
116
  *
137
117
  * @returns Transaction object.
138
118
  */
139
- LiquidityProviderTool.prototype.executeLiquidityWithdrawal = function (poolSymbolName, overrides) {
140
- return tslib_1.__awaiter(this, void 0, void 0, function () {
141
- var poolId, tx;
142
- return tslib_1.__generator(this, function (_a) {
143
- switch (_a.label) {
144
- case 0:
145
- if (this.proxyContract == null || this.signer == null) {
146
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
147
- }
148
- poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
149
- return [4 /*yield*/, this.proxyContract.executeLiquidityWithdrawal(poolId, this.traderAddr, overrides || { gasLimit: this.gasLimit })];
150
- case 1:
151
- tx = _a.sent();
152
- return [2 /*return*/, tx];
153
- }
154
- });
155
- });
156
- };
157
- return LiquidityProviderTool;
158
- }(writeAccessHandler_1.default));
119
+ async executeLiquidityWithdrawal(poolSymbolName, overrides) {
120
+ if (this.proxyContract == null || this.signer == null) {
121
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
122
+ }
123
+ let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
124
+ let tx = await this.proxyContract.executeLiquidityWithdrawal(poolId, this.traderAddr, overrides || { gasLimit: this.gasLimit });
125
+ return tx;
126
+ }
127
+ }
159
128
  exports.default = LiquidityProviderTool;
160
129
  //# sourceMappingURL=liquidityProviderTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquidityProviderTool.js","sourceRoot":"","sources":["../../src/liquidityProviderTool.ts"],"names":[],"mappings":";;;AAEA,qCAAuD;AAEvD,wFAA0D;AAC1D,oFAAsD;AACtD;;;;GAIG;AACH;IAAmD,iDAAkB;IACnE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,+BAAmB,MAAqB,EAAE,MAAuB;eAC/D,kBAAM,MAAM,EAAE,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,4CAAY,GAAzB,UACE,cAAsB,EACtB,QAAgB,EAChB,SAAqB;;;;;;wBAErB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;yBACpF;wBACG,MAAM,GAAG,8BAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;wBACpF,qBAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAC5C,MAAM,EACN,IAAA,sBAAY,EAAC,QAAQ,CAAC,EACtB,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACzC,EAAA;;wBAJG,EAAE,GAAG,SAIR;wBACD,sBAAO,EAAE,EAAC;;;;KACX;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,2DAA2B,GAAxC,UACE,cAAsB,EACtB,gBAAwB,EACxB,SAAqB;;;;;;wBAErB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;yBACpF;wBACG,MAAM,GAAG,8BAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;wBACpF,qBAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CACjD,MAAM,EACN,IAAA,sBAAY,EAAC,gBAAgB,CAAC,EAC9B,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACzC,EAAA;;wBAJG,EAAE,GAAG,SAIR;wBACD,sBAAO,EAAE,EAAC;;;;KACX;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,0DAA0B,GAAvC,UAAwC,cAAsB,EAAE,SAAqB;;;;;;wBACnF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;yBACpF;wBACG,MAAM,GAAG,8BAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;wBACpF,qBAAM,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAC1D,MAAM,EACN,IAAI,CAAC,UAAU,EACf,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACzC,EAAA;;wBAJG,EAAE,GAAG,SAIR;wBACD,sBAAO,EAAE,EAAC;;;;KACX;IACH,4BAAC;AAAD,CAAC,AAzID,CAAmD,4BAAkB,GAyIpE"}
1
+ {"version":3,"file":"liquidityProviderTool.js","sourceRoot":"","sources":["../../src/liquidityProviderTool.ts"],"names":[],"mappings":";;;AAEA,uCAAsD;AAEtD,0FAA0D;AAC1D,sFAAsD;AACtD;;;;GAIG;AACH,MAAqB,qBAAsB,SAAQ,4BAAkB;IACnE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAmB,MAAqB,EAAE,MAAuB;QAC/D,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,KAAK,CAAC,YAAY,CACvB,cAAsB,EACtB,QAAgB,EAChB,SAAqB;QAErB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;SACpF;QACD,IAAI,MAAM,GAAG,8BAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7F,IAAI,QAAQ,GAAG,IAAI,CAAC,gCAAgC,CAAC,cAAc,CAAC,CAAC;QACrE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAC5C,MAAM,EACN,IAAA,qBAAW,EAAC,QAAQ,EAAE,QAAS,CAAC,EAChC,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACzC,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,KAAK,CAAC,2BAA2B,CACtC,cAAsB,EACtB,gBAAwB,EACxB,SAAqB;QAErB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;SACpF;QACD,IAAI,MAAM,GAAG,8BAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7F,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CACjD,MAAM,EACN,IAAA,sBAAY,EAAC,gBAAgB,CAAC,EAC9B,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACzC,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,KAAK,CAAC,0BAA0B,CAAC,cAAsB,EAAE,SAAqB;QACnF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACrD,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;SACpF;QACD,IAAI,MAAM,GAAG,8BAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7F,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAC1D,MAAM,EACN,IAAI,CAAC,UAAU,EACf,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACzC,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA1ID,wCA0IC"}