@d8x/perpetuals-sdk 0.7.6 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/cjs/accountTrade.js +243 -134
  2. package/dist/cjs/accountTrade.js.map +1 -1
  3. package/dist/cjs/brokerTool.js +290 -144
  4. package/dist/cjs/brokerTool.js.map +1 -1
  5. package/dist/cjs/config/priceFeedConfig.json +1 -1
  6. package/dist/cjs/contracts/factories/ERC20__factory.js +12 -9
  7. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
  8. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +12 -9
  9. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  10. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +12 -9
  11. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  12. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +12 -9
  13. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  14. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +12 -9
  15. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  16. package/dist/cjs/contracts/factories/ShareToken__factory.js +12 -9
  17. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
  18. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -9
  19. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  20. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -9
  21. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  22. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -9
  23. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  24. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -9
  25. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  26. package/dist/cjs/contracts/index.js +1 -1
  27. package/dist/cjs/d8XMath.js +66 -65
  28. package/dist/cjs/d8XMath.js.map +1 -1
  29. package/dist/cjs/index.js +11 -11
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/liquidatorTool.js +137 -80
  32. package/dist/cjs/liquidatorTool.js.map +1 -1
  33. package/dist/cjs/liquidityProviderTool.js +65 -33
  34. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  35. package/dist/cjs/marketData.js +978 -635
  36. package/dist/cjs/marketData.js.map +1 -1
  37. package/dist/cjs/nodeSDKTypes.js +22 -10
  38. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  39. package/dist/cjs/orderReferrerTool.js +323 -200
  40. package/dist/cjs/orderReferrerTool.js.map +1 -1
  41. package/dist/cjs/perpetualDataHandler.js +550 -404
  42. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  43. package/dist/cjs/perpetualEventHandler.js +190 -129
  44. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  45. package/dist/cjs/priceFeeds.js +335 -223
  46. package/dist/cjs/priceFeeds.js.map +1 -1
  47. package/dist/cjs/traderDigests.js +23 -20
  48. package/dist/cjs/traderDigests.js.map +1 -1
  49. package/dist/cjs/traderInterface.js +87 -54
  50. package/dist/cjs/traderInterface.js.map +1 -1
  51. package/dist/cjs/triangulator.js +38 -34
  52. package/dist/cjs/triangulator.js.map +1 -1
  53. package/dist/cjs/utils.js +32 -18
  54. package/dist/cjs/utils.js.map +1 -1
  55. package/dist/cjs/version.d.ts +1 -1
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/cjs/writeAccessHandler.js +112 -78
  58. package/dist/cjs/writeAccessHandler.js.map +1 -1
  59. package/dist/esm/accountTrade.js +237 -126
  60. package/dist/esm/accountTrade.js.map +1 -1
  61. package/dist/esm/brokerTool.js +284 -136
  62. package/dist/esm/brokerTool.js.map +1 -1
  63. package/dist/esm/config/priceFeedConfig.json +1 -1
  64. package/dist/esm/contracts/factories/ERC20__factory.js +12 -8
  65. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  66. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +12 -8
  67. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  68. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +12 -8
  69. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  70. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +12 -8
  71. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  72. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +12 -8
  73. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  74. package/dist/esm/contracts/factories/ShareToken__factory.js +12 -8
  75. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  76. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -8
  77. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  78. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -8
  79. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  80. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -8
  81. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  82. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -8
  83. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  84. package/dist/esm/d8XMath.js +64 -63
  85. package/dist/esm/d8XMath.js.map +1 -1
  86. package/dist/esm/liquidatorTool.js +136 -77
  87. package/dist/esm/liquidatorTool.js.map +1 -1
  88. package/dist/esm/liquidityProviderTool.js +63 -29
  89. package/dist/esm/liquidityProviderTool.js.map +1 -1
  90. package/dist/esm/marketData.js +971 -626
  91. package/dist/esm/marketData.js.map +1 -1
  92. package/dist/esm/nodeSDKTypes.js +48 -36
  93. package/dist/esm/nodeSDKTypes.js.map +1 -1
  94. package/dist/esm/orderReferrerTool.js +319 -194
  95. package/dist/esm/orderReferrerTool.js.map +1 -1
  96. package/dist/esm/perpetualDataHandler.js +542 -394
  97. package/dist/esm/perpetualDataHandler.js.map +1 -1
  98. package/dist/esm/perpetualEventHandler.js +188 -126
  99. package/dist/esm/perpetualEventHandler.js.map +1 -1
  100. package/dist/esm/priceFeeds.js +332 -218
  101. package/dist/esm/priceFeeds.js.map +1 -1
  102. package/dist/esm/traderDigests.js +19 -15
  103. package/dist/esm/traderDigests.js.map +1 -1
  104. package/dist/esm/traderInterface.js +83 -48
  105. package/dist/esm/traderInterface.js.map +1 -1
  106. package/dist/esm/triangulator.js +39 -34
  107. package/dist/esm/triangulator.js.map +1 -1
  108. package/dist/esm/utils.js +30 -16
  109. package/dist/esm/utils.js.map +1 -1
  110. package/dist/esm/version.d.ts +1 -1
  111. package/dist/esm/version.js +1 -1
  112. package/dist/esm/version.js.map +1 -1
  113. package/dist/esm/writeAccessHandler.js +105 -69
  114. package/dist/esm/writeAccessHandler.js.map +1 -1
  115. package/package.json +1 -1
  116. package/src/accountTrade.ts +6 -1
  117. package/src/config/priceFeedConfig.json +1 -1
  118. package/src/orderReferrerTool.ts +2 -0
  119. package/src/version.ts +1 -1
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const d8XMath_1 = require("./d8XMath");
5
- const writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
3
+ var tslib_1 = require("tslib");
4
+ var d8XMath_1 = require("./d8XMath");
5
+ var 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
- class LiquidatorTool extends writeAccessHandler_1.default {
11
+ var LiquidatorTool = /** @class */ (function (_super) {
12
+ tslib_1.__extends(LiquidatorTool, _super);
12
13
  /**
13
14
  * Constructs a LiquidatorTool instance for a given configuration and private key.
14
15
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -29,8 +30,8 @@ class LiquidatorTool extends writeAccessHandler_1.default {
29
30
  *
30
31
  * @param {string | Signer} signer Private key or ethers Signer of the account
31
32
  */
32
- constructor(config, signer) {
33
- super(config, signer);
33
+ function LiquidatorTool(config, signer) {
34
+ return _super.call(this, config, signer) || this;
34
35
  }
35
36
  /**
36
37
  * Liquidate a trader.
@@ -57,27 +58,37 @@ class LiquidatorTool extends writeAccessHandler_1.default {
57
58
  *
58
59
  * @returns Transaction object.
59
60
  */
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
- }
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
+ };
81
92
  /**
82
93
  * Check if the collateral of a trader is above the maintenance margin ("maintenance margin safe").
83
94
  * If not, the position can be liquidated.
@@ -103,35 +114,45 @@ class LiquidatorTool extends writeAccessHandler_1.default {
103
114
  * @returns {boolean} True if the trader is maintenance margin safe in the perpetual.
104
115
  * False means that the trader's position can be liquidated.
105
116
  */
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
- }
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
+ };
135
156
  /**
136
157
  *
137
158
  * @param perpetualId Perpetual id.
@@ -141,9 +162,16 @@ class LiquidatorTool extends writeAccessHandler_1.default {
141
162
  * @param options E.g., Gas limit, fee.
142
163
  * @ignore
143
164
  */
144
- async _liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData, overrides) {
145
- return await this.proxyContract.liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData.priceFeedVaas, priceFeedData.timestamps, overrides);
146
- }
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
+ };
147
175
  /**
148
176
  * Total number of active accounts for this symbol, i.e. accounts with positions that are currently open.
149
177
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -164,14 +192,24 @@ class LiquidatorTool extends writeAccessHandler_1.default {
164
192
  *
165
193
  * @returns {number} Number of active accounts.
166
194
  */
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
- }
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
+ };
175
213
  /**
176
214
  * Get addresses of active accounts by chunks.
177
215
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -194,13 +232,22 @@ class LiquidatorTool extends writeAccessHandler_1.default {
194
232
  *
195
233
  * @returns {string[]} Array of addresses at locations 'from', 'from'+1 ,..., 'to'-1.
196
234
  */
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
- }
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
+ };
204
251
  /**
205
252
  * Addresses for all the active accounts in this perpetual symbol.
206
253
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -221,11 +268,21 @@ class LiquidatorTool extends writeAccessHandler_1.default {
221
268
  *
222
269
  * @returns {string[]} Array of addresses.
223
270
  */
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
- }
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));
230
287
  exports.default = LiquidatorTool;
231
288
  //# 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,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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"));
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"));
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
- class LiquidityProviderTool extends writeAccessHandler_1.default {
12
+ var LiquidityProviderTool = /** @class */ (function (_super) {
13
+ tslib_1.__extends(LiquidityProviderTool, _super);
13
14
  /**
14
15
  * Constructor
15
16
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -30,8 +31,8 @@ class LiquidityProviderTool extends writeAccessHandler_1.default {
30
31
  *
31
32
  * @param {string | Signer} signer Private key or ethers Signer of the account
32
33
  */
33
- constructor(config, signer) {
34
- super(config, signer);
34
+ function LiquidityProviderTool(config, signer) {
35
+ return _super.call(this, config, signer) || this;
35
36
  }
36
37
  /**
37
38
  * Add liquidity to the PnL participant fund. The address gets pool shares in return.
@@ -55,15 +56,25 @@ class LiquidityProviderTool extends writeAccessHandler_1.default {
55
56
  *
56
57
  * @return Transaction object
57
58
  */
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
- }
59
+ LiquidityProviderTool.prototype.addLiquidity = function (poolSymbolName, amountCC, overrides) {
60
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
61
+ var poolId, decimals, 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
+ decimals = this.getMarginTokenDecimalsFromSymbol(poolSymbolName);
70
+ return [4 /*yield*/, this.proxyContract.addLiquidity(poolId, (0, d8XMath_1.floatToDecN)(amountCC, decimals), overrides || { gasLimit: this.gasLimit })];
71
+ case 1:
72
+ tx = _a.sent();
73
+ return [2 /*return*/, tx];
74
+ }
75
+ });
76
+ });
77
+ };
67
78
  /**
68
79
  * Initiates a liquidity withdrawal from the pool
69
80
  * It triggers a time-delayed unlocking of the given number of pool shares.
@@ -87,14 +98,24 @@ class LiquidityProviderTool extends writeAccessHandler_1.default {
87
98
  *
88
99
  * @return Transaction object.
89
100
  */
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
- }
101
+ LiquidityProviderTool.prototype.initiateLiquidityWithdrawal = function (poolSymbolName, amountPoolShares, overrides) {
102
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
103
+ var poolId, tx;
104
+ return tslib_1.__generator(this, function (_a) {
105
+ switch (_a.label) {
106
+ case 0:
107
+ if (this.proxyContract == null || this.signer == null) {
108
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
109
+ }
110
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
111
+ return [4 /*yield*/, this.proxyContract.withdrawLiquidity(poolId, (0, d8XMath_1.floatToDec18)(amountPoolShares), overrides || { gasLimit: this.gasLimit })];
112
+ case 1:
113
+ tx = _a.sent();
114
+ return [2 /*return*/, tx];
115
+ }
116
+ });
117
+ });
118
+ };
98
119
  /**
99
120
  * Withdraws as much liquidity as there is available after a call to initiateLiquidityWithdrawal.
100
121
  * The address loses pool shares in return.
@@ -116,14 +137,25 @@ class LiquidityProviderTool extends writeAccessHandler_1.default {
116
137
  *
117
138
  * @returns Transaction object.
118
139
  */
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
- }
140
+ LiquidityProviderTool.prototype.executeLiquidityWithdrawal = function (poolSymbolName, overrides) {
141
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
142
+ var poolId, tx;
143
+ return tslib_1.__generator(this, function (_a) {
144
+ switch (_a.label) {
145
+ case 0:
146
+ if (this.proxyContract == null || this.signer == null) {
147
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
148
+ }
149
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
150
+ return [4 /*yield*/, this.proxyContract.executeLiquidityWithdrawal(poolId, this.traderAddr, overrides || { gasLimit: this.gasLimit })];
151
+ case 1:
152
+ tx = _a.sent();
153
+ return [2 /*return*/, tx];
154
+ }
155
+ });
156
+ });
157
+ };
158
+ return LiquidityProviderTool;
159
+ }(writeAccessHandler_1.default));
128
160
  exports.default = LiquidityProviderTool;
129
161
  //# sourceMappingURL=liquidityProviderTool.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"liquidityProviderTool.js","sourceRoot":"","sources":["../../src/liquidityProviderTool.ts"],"names":[],"mappings":";;;AAEA,qCAAsD;AAEtD,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;wBACzF,QAAQ,GAAG,IAAI,CAAC,gCAAgC,CAAC,cAAc,CAAC,CAAC;wBAC5D,qBAAM,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,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,AA1ID,CAAmD,4BAAkB,GA0IpE"}