@d8x/perpetuals-sdk 0.7.4 → 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 (128) 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.d.ts +8 -1
  36. package/dist/cjs/marketData.js +641 -949
  37. package/dist/cjs/marketData.js.map +1 -1
  38. package/dist/cjs/nodeSDKTypes.d.ts +1 -0
  39. package/dist/cjs/nodeSDKTypes.js +10 -22
  40. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  41. package/dist/cjs/orderReferrerTool.js +200 -321
  42. package/dist/cjs/orderReferrerTool.js.map +1 -1
  43. package/dist/cjs/perpetualDataHandler.d.ts +11 -0
  44. package/dist/cjs/perpetualDataHandler.js +422 -535
  45. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  46. package/dist/cjs/perpetualEventHandler.js +129 -190
  47. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  48. package/dist/cjs/priceFeeds.js +223 -335
  49. package/dist/cjs/priceFeeds.js.map +1 -1
  50. package/dist/cjs/traderDigests.js +20 -23
  51. package/dist/cjs/traderDigests.js.map +1 -1
  52. package/dist/cjs/traderInterface.js +54 -87
  53. package/dist/cjs/traderInterface.js.map +1 -1
  54. package/dist/cjs/triangulator.js +34 -38
  55. package/dist/cjs/triangulator.js.map +1 -1
  56. package/dist/cjs/utils.js +18 -32
  57. package/dist/cjs/utils.js.map +1 -1
  58. package/dist/cjs/version.d.ts +1 -1
  59. package/dist/cjs/version.js +1 -1
  60. package/dist/cjs/writeAccessHandler.js +78 -112
  61. package/dist/cjs/writeAccessHandler.js.map +1 -1
  62. package/dist/esm/accountTrade.js +126 -233
  63. package/dist/esm/accountTrade.js.map +1 -1
  64. package/dist/esm/brokerTool.js +136 -284
  65. package/dist/esm/brokerTool.js.map +1 -1
  66. package/dist/esm/contracts/factories/ERC20__factory.js +8 -12
  67. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  68. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +8 -12
  69. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  70. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +8 -12
  71. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  72. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +8 -12
  73. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  74. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +8 -12
  75. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  76. package/dist/esm/contracts/factories/ShareToken__factory.js +8 -12
  77. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  78. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +8 -12
  79. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  80. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +8 -12
  81. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  82. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +8 -12
  83. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  84. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js +8 -12
  85. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  86. package/dist/esm/d8XMath.d.ts +7 -0
  87. package/dist/esm/d8XMath.js +77 -58
  88. package/dist/esm/d8XMath.js.map +1 -1
  89. package/dist/esm/liquidatorTool.js +77 -136
  90. package/dist/esm/liquidatorTool.js.map +1 -1
  91. package/dist/esm/liquidityProviderTool.js +30 -63
  92. package/dist/esm/liquidityProviderTool.js.map +1 -1
  93. package/dist/esm/marketData.d.ts +8 -1
  94. package/dist/esm/marketData.js +632 -942
  95. package/dist/esm/marketData.js.map +1 -1
  96. package/dist/esm/nodeSDKTypes.d.ts +1 -0
  97. package/dist/esm/nodeSDKTypes.js +36 -48
  98. package/dist/esm/nodeSDKTypes.js.map +1 -1
  99. package/dist/esm/orderReferrerTool.js +194 -317
  100. package/dist/esm/orderReferrerTool.js.map +1 -1
  101. package/dist/esm/perpetualDataHandler.d.ts +11 -0
  102. package/dist/esm/perpetualDataHandler.js +413 -528
  103. package/dist/esm/perpetualDataHandler.js.map +1 -1
  104. package/dist/esm/perpetualEventHandler.js +126 -188
  105. package/dist/esm/perpetualEventHandler.js.map +1 -1
  106. package/dist/esm/priceFeeds.js +218 -332
  107. package/dist/esm/priceFeeds.js.map +1 -1
  108. package/dist/esm/traderDigests.js +15 -19
  109. package/dist/esm/traderDigests.js.map +1 -1
  110. package/dist/esm/traderInterface.js +48 -83
  111. package/dist/esm/traderInterface.js.map +1 -1
  112. package/dist/esm/triangulator.js +34 -39
  113. package/dist/esm/triangulator.js.map +1 -1
  114. package/dist/esm/utils.js +16 -30
  115. package/dist/esm/utils.js.map +1 -1
  116. package/dist/esm/version.d.ts +1 -1
  117. package/dist/esm/version.js +1 -1
  118. package/dist/esm/version.js.map +1 -1
  119. package/dist/esm/writeAccessHandler.js +70 -106
  120. package/dist/esm/writeAccessHandler.js.map +1 -1
  121. package/package.json +1 -1
  122. package/src/d8XMath.ts +21 -0
  123. package/src/liquidityProviderTool.ts +5 -4
  124. package/src/marketData.ts +26 -0
  125. package/src/nodeSDKTypes.ts +1 -0
  126. package/src/perpetualDataHandler.ts +27 -0
  127. package/src/version.ts +1 -1
  128. package/src/writeAccessHandler.ts +3 -3
@@ -1,4 +1,3 @@
1
- import { __assign, __awaiter, __extends, __generator } from "tslib";
2
1
  import { ABK64x64ToFloat, floatToABK64x64 } from "./d8XMath";
3
2
  import WriteAccessHandler from "./writeAccessHandler";
4
3
  /**
@@ -6,8 +5,7 @@ import WriteAccessHandler from "./writeAccessHandler";
6
5
  * and executes smart-contract interactions that require gas-payments.
7
6
  * @extends WriteAccessHandler
8
7
  */
9
- var LiquidatorTool = /** @class */ (function (_super) {
10
- __extends(LiquidatorTool, _super);
8
+ export default class LiquidatorTool extends WriteAccessHandler {
11
9
  /**
12
10
  * Constructs a LiquidatorTool instance for a given configuration and private key.
13
11
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -28,8 +26,8 @@ var LiquidatorTool = /** @class */ (function (_super) {
28
26
  *
29
27
  * @param {string | Signer} signer Private key or ethers Signer of the account
30
28
  */
31
- function LiquidatorTool(config, signer) {
32
- return _super.call(this, config, signer) || this;
29
+ constructor(config, signer) {
30
+ super(config, signer);
33
31
  }
34
32
  /**
35
33
  * Liquidate a trader.
@@ -56,37 +54,27 @@ var LiquidatorTool = /** @class */ (function (_super) {
56
54
  *
57
55
  * @returns Transaction object.
58
56
  */
59
- LiquidatorTool.prototype.liquidateTrader = function (symbol, traderAddr, liquidatorAddr, priceFeedData, overrides) {
60
- if (liquidatorAddr === void 0) { liquidatorAddr = ""; }
61
- return __awaiter(this, void 0, void 0, function () {
62
- var perpID;
63
- return __generator(this, function (_a) {
64
- switch (_a.label) {
65
- case 0:
66
- // this operation spends gas, so signer is required
67
- if (this.proxyContract == null || this.signer == null) {
68
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
69
- }
70
- // liquidator is signer unless specified otherwise
71
- if (liquidatorAddr == "") {
72
- liquidatorAddr = this.traderAddr;
73
- }
74
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
75
- if (!(priceFeedData == undefined)) return [3 /*break*/, 2];
76
- return [4 /*yield*/, this.fetchLatestFeedPriceInfo(symbol)];
77
- case 1:
78
- priceFeedData = _a.sent();
79
- _a.label = 2;
80
- case 2:
81
- if (!overrides || overrides.value == undefined) {
82
- overrides = __assign({ value: priceFeedData.timestamps.length * this.PRICE_UPDATE_FEE_GWEI }, overrides);
83
- }
84
- return [4 /*yield*/, this._liquidateByAMM(perpID, liquidatorAddr, traderAddr, priceFeedData, overrides)];
85
- case 3: return [2 /*return*/, _a.sent()];
86
- }
87
- });
88
- });
89
- };
57
+ async liquidateTrader(symbol, traderAddr, liquidatorAddr = "", priceFeedData, overrides) {
58
+ // this operation spends gas, so signer is required
59
+ if (this.proxyContract == null || this.signer == null) {
60
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
61
+ }
62
+ // liquidator is signer unless specified otherwise
63
+ if (liquidatorAddr == "") {
64
+ liquidatorAddr = this.traderAddr;
65
+ }
66
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
67
+ if (priceFeedData == undefined) {
68
+ priceFeedData = await this.fetchLatestFeedPriceInfo(symbol);
69
+ }
70
+ if (!overrides || overrides.value == undefined) {
71
+ overrides = {
72
+ value: priceFeedData.timestamps.length * this.PRICE_UPDATE_FEE_GWEI,
73
+ ...overrides,
74
+ };
75
+ }
76
+ return await this._liquidateByAMM(perpID, liquidatorAddr, traderAddr, priceFeedData, overrides);
77
+ }
90
78
  /**
91
79
  * Check if the collateral of a trader is above the maintenance margin ("maintenance margin safe").
92
80
  * If not, the position can be liquidated.
@@ -112,45 +100,35 @@ var LiquidatorTool = /** @class */ (function (_super) {
112
100
  * @returns {boolean} True if the trader is maintenance margin safe in the perpetual.
113
101
  * False means that the trader's position can be liquidated.
114
102
  */
115
- LiquidatorTool.prototype.isMaintenanceMarginSafe = function (symbol, traderAddr, indexPrices, overrides) {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var idx_notional, perpID, obj, traderState, idx_maintenanceMgnRate, idx_marginAccountPositionBC, idx_collateralToQuoteConversion, idx_marginBalance, maintMgnRate, pos, marginbalance, coll2quote, base2collateral, threshold;
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0:
121
- if (this.proxyContract == null) {
122
- throw Error("no proxy contract initialized. Use createProxyInstance().");
123
- }
124
- idx_notional = 4;
125
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
126
- if (!(indexPrices == undefined)) return [3 /*break*/, 2];
127
- return [4 /*yield*/, this.priceFeedGetter.fetchPricesForPerpetual(symbol)];
128
- case 1:
129
- obj = _a.sent();
130
- indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
131
- _a.label = 2;
132
- case 2: return [4 /*yield*/, this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map(function (x) { return floatToABK64x64(x); }), overrides || {})];
133
- case 3:
134
- traderState = _a.sent();
135
- if (traderState[idx_notional].eq(0)) {
136
- // trader does not have open position
137
- return [2 /*return*/, true];
138
- }
139
- idx_maintenanceMgnRate = 10;
140
- idx_marginAccountPositionBC = 4;
141
- idx_collateralToQuoteConversion = 9;
142
- idx_marginBalance = 0;
143
- maintMgnRate = ABK64x64ToFloat(traderState[idx_maintenanceMgnRate]);
144
- pos = ABK64x64ToFloat(traderState[idx_marginAccountPositionBC]);
145
- marginbalance = ABK64x64ToFloat(traderState[idx_marginBalance]);
146
- coll2quote = ABK64x64ToFloat(traderState[idx_collateralToQuoteConversion]);
147
- base2collateral = indexPrices[0] / coll2quote;
148
- threshold = Math.abs(pos * base2collateral * maintMgnRate);
149
- return [2 /*return*/, marginbalance >= threshold];
150
- }
151
- });
152
- });
153
- };
103
+ async isMaintenanceMarginSafe(symbol, traderAddr, indexPrices, overrides) {
104
+ if (this.proxyContract == null) {
105
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
106
+ }
107
+ const idx_notional = 4;
108
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
109
+ if (indexPrices == undefined) {
110
+ // fetch from API
111
+ let obj = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
112
+ indexPrices = [obj.idxPrices[0], obj.idxPrices[1]];
113
+ }
114
+ let traderState = await this.proxyContract.getTraderState(perpID, traderAddr, indexPrices.map((x) => floatToABK64x64(x)), overrides || {});
115
+ if (traderState[idx_notional].eq(0)) {
116
+ // trader does not have open position
117
+ return true;
118
+ }
119
+ // calculate margin from traderstate
120
+ const idx_maintenanceMgnRate = 10;
121
+ const idx_marginAccountPositionBC = 4;
122
+ const idx_collateralToQuoteConversion = 9;
123
+ const idx_marginBalance = 0;
124
+ const maintMgnRate = ABK64x64ToFloat(traderState[idx_maintenanceMgnRate]);
125
+ const pos = ABK64x64ToFloat(traderState[idx_marginAccountPositionBC]);
126
+ const marginbalance = ABK64x64ToFloat(traderState[idx_marginBalance]);
127
+ const coll2quote = ABK64x64ToFloat(traderState[idx_collateralToQuoteConversion]);
128
+ const base2collateral = indexPrices[0] / coll2quote;
129
+ const threshold = Math.abs(pos * base2collateral * maintMgnRate);
130
+ return marginbalance >= threshold;
131
+ }
154
132
  /**
155
133
  *
156
134
  * @param perpetualId Perpetual id.
@@ -160,16 +138,9 @@ var LiquidatorTool = /** @class */ (function (_super) {
160
138
  * @param options E.g., Gas limit, fee.
161
139
  * @ignore
162
140
  */
163
- LiquidatorTool.prototype._liquidateByAMM = function (perpetualId, liquidatorAddr, traderAddr, priceFeedData, overrides) {
164
- return __awaiter(this, void 0, void 0, function () {
165
- return __generator(this, function (_a) {
166
- switch (_a.label) {
167
- case 0: return [4 /*yield*/, this.proxyContract.liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData.priceFeedVaas, priceFeedData.timestamps, overrides)];
168
- case 1: return [2 /*return*/, _a.sent()];
169
- }
170
- });
171
- });
172
- };
141
+ async _liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData, overrides) {
142
+ return await this.proxyContract.liquidateByAMM(perpetualId, liquidatorAddr, traderAddr, priceFeedData.priceFeedVaas, priceFeedData.timestamps, overrides);
143
+ }
173
144
  /**
174
145
  * Total number of active accounts for this symbol, i.e. accounts with positions that are currently open.
175
146
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -190,24 +161,14 @@ var LiquidatorTool = /** @class */ (function (_super) {
190
161
  *
191
162
  * @returns {number} Number of active accounts.
192
163
  */
193
- LiquidatorTool.prototype.countActivePerpAccounts = function (symbol, overrides) {
194
- return __awaiter(this, void 0, void 0, function () {
195
- var perpID, numAccounts;
196
- return __generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0:
199
- if (this.proxyContract == null) {
200
- throw Error("no proxy contract initialized. Use createProxyInstance().");
201
- }
202
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
203
- return [4 /*yield*/, this.proxyContract.countActivePerpAccounts(perpID, overrides || {})];
204
- case 1:
205
- numAccounts = _a.sent();
206
- return [2 /*return*/, Number(numAccounts)];
207
- }
208
- });
209
- });
210
- };
164
+ async countActivePerpAccounts(symbol, overrides) {
165
+ if (this.proxyContract == null) {
166
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
167
+ }
168
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
169
+ let numAccounts = await this.proxyContract.countActivePerpAccounts(perpID, overrides || {});
170
+ return Number(numAccounts);
171
+ }
211
172
  /**
212
173
  * Get addresses of active accounts by chunks.
213
174
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -230,22 +191,13 @@ var LiquidatorTool = /** @class */ (function (_super) {
230
191
  *
231
192
  * @returns {string[]} Array of addresses at locations 'from', 'from'+1 ,..., 'to'-1.
232
193
  */
233
- LiquidatorTool.prototype.getActiveAccountsByChunks = function (symbol, from, to, overrides) {
234
- return __awaiter(this, void 0, void 0, function () {
235
- var perpID;
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0:
239
- if (this.proxyContract == null) {
240
- throw Error("no proxy contract initialized. Use createProxyInstance().");
241
- }
242
- perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
243
- return [4 /*yield*/, this.proxyContract.getActivePerpAccountsByChunks(perpID, from, to, overrides || {})];
244
- case 1: return [2 /*return*/, _a.sent()];
245
- }
246
- });
247
- });
248
- };
194
+ async getActiveAccountsByChunks(symbol, from, to, overrides) {
195
+ if (this.proxyContract == null) {
196
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
197
+ }
198
+ let perpID = LiquidatorTool.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
199
+ return await this.proxyContract.getActivePerpAccountsByChunks(perpID, from, to, overrides || {});
200
+ }
249
201
  /**
250
202
  * Addresses for all the active accounts in this perpetual symbol.
251
203
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -266,21 +218,10 @@ var LiquidatorTool = /** @class */ (function (_super) {
266
218
  *
267
219
  * @returns {string[]} Array of addresses.
268
220
  */
269
- LiquidatorTool.prototype.getAllActiveAccounts = function (symbol, overrides) {
270
- return __awaiter(this, void 0, void 0, function () {
271
- var totalAccounts;
272
- return __generator(this, function (_a) {
273
- switch (_a.label) {
274
- case 0: return [4 /*yield*/, this.countActivePerpAccounts(symbol)];
275
- case 1:
276
- totalAccounts = _a.sent();
277
- return [4 /*yield*/, this.getActiveAccountsByChunks(symbol, 0, totalAccounts, overrides)];
278
- case 2: return [2 /*return*/, _a.sent()];
279
- }
280
- });
281
- });
282
- };
283
- return LiquidatorTool;
284
- }(WriteAccessHandler));
285
- export default LiquidatorTool;
221
+ async getAllActiveAccounts(symbol, overrides) {
222
+ // checks are done inside the intermediate functions
223
+ let totalAccounts = await this.countActivePerpAccounts(symbol);
224
+ return await this.getActiveAccountsByChunks(symbol, 0, totalAccounts, overrides);
225
+ }
226
+ }
286
227
  //# 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,5 +1,4 @@
1
- import { __awaiter, __extends, __generator } from "tslib";
2
- import { floatToDec18 } from "./d8XMath";
1
+ import { floatToDec18, floatToDecN } from "./d8XMath";
3
2
  import PerpetualDataHandler from "./perpetualDataHandler";
4
3
  import WriteAccessHandler from "./writeAccessHandler";
5
4
  /**
@@ -7,8 +6,7 @@ import WriteAccessHandler from "./writeAccessHandler";
7
6
  * smart-contract interactions that require gas-payments.
8
7
  * @extends WriteAccessHandler
9
8
  */
10
- var LiquidityProviderTool = /** @class */ (function (_super) {
11
- __extends(LiquidityProviderTool, _super);
9
+ export default class LiquidityProviderTool extends WriteAccessHandler {
12
10
  /**
13
11
  * Constructor
14
12
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -29,8 +27,8 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
29
27
  *
30
28
  * @param {string | Signer} signer Private key or ethers Signer of the account
31
29
  */
32
- function LiquidityProviderTool(config, signer) {
33
- return _super.call(this, config, signer) || this;
30
+ constructor(config, signer) {
31
+ super(config, signer);
34
32
  }
35
33
  /**
36
34
  * Add liquidity to the PnL participant fund. The address gets pool shares in return.
@@ -54,24 +52,15 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
54
52
  *
55
53
  * @return Transaction object
56
54
  */
57
- LiquidityProviderTool.prototype.addLiquidity = function (poolSymbolName, amountCC, overrides) {
58
- return __awaiter(this, void 0, void 0, function () {
59
- var poolId, tx;
60
- return __generator(this, function (_a) {
61
- switch (_a.label) {
62
- case 0:
63
- if (this.proxyContract == null || this.signer == null) {
64
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
65
- }
66
- poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
67
- return [4 /*yield*/, this.proxyContract.addLiquidity(poolId, floatToDec18(amountCC), overrides || { gasLimit: this.gasLimit })];
68
- case 1:
69
- tx = _a.sent();
70
- return [2 /*return*/, tx];
71
- }
72
- });
73
- });
74
- };
55
+ async addLiquidity(poolSymbolName, amountCC, overrides) {
56
+ if (this.proxyContract == null || this.signer == null) {
57
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
58
+ }
59
+ let poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
60
+ let decimals = this.getMarginTokenDecimalsFromSymbol(poolSymbolName);
61
+ let tx = await this.proxyContract.addLiquidity(poolId, floatToDecN(amountCC, decimals), overrides || { gasLimit: this.gasLimit });
62
+ return tx;
63
+ }
75
64
  /**
76
65
  * Initiates a liquidity withdrawal from the pool
77
66
  * It triggers a time-delayed unlocking of the given number of pool shares.
@@ -95,24 +84,14 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
95
84
  *
96
85
  * @return Transaction object.
97
86
  */
98
- LiquidityProviderTool.prototype.initiateLiquidityWithdrawal = function (poolSymbolName, amountPoolShares, overrides) {
99
- return __awaiter(this, void 0, void 0, function () {
100
- var poolId, tx;
101
- return __generator(this, function (_a) {
102
- switch (_a.label) {
103
- case 0:
104
- if (this.proxyContract == null || this.signer == null) {
105
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
106
- }
107
- poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
108
- return [4 /*yield*/, this.proxyContract.withdrawLiquidity(poolId, floatToDec18(amountPoolShares), overrides || { gasLimit: this.gasLimit })];
109
- case 1:
110
- tx = _a.sent();
111
- return [2 /*return*/, tx];
112
- }
113
- });
114
- });
115
- };
87
+ async initiateLiquidityWithdrawal(poolSymbolName, amountPoolShares, overrides) {
88
+ if (this.proxyContract == null || this.signer == null) {
89
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
90
+ }
91
+ let poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
92
+ let tx = await this.proxyContract.withdrawLiquidity(poolId, floatToDec18(amountPoolShares), overrides || { gasLimit: this.gasLimit });
93
+ return tx;
94
+ }
116
95
  /**
117
96
  * Withdraws as much liquidity as there is available after a call to initiateLiquidityWithdrawal.
118
97
  * The address loses pool shares in return.
@@ -134,25 +113,13 @@ var LiquidityProviderTool = /** @class */ (function (_super) {
134
113
  *
135
114
  * @returns Transaction object.
136
115
  */
137
- LiquidityProviderTool.prototype.executeLiquidityWithdrawal = function (poolSymbolName, overrides) {
138
- return __awaiter(this, void 0, void 0, function () {
139
- var poolId, tx;
140
- return __generator(this, function (_a) {
141
- switch (_a.label) {
142
- case 0:
143
- if (this.proxyContract == null || this.signer == null) {
144
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
145
- }
146
- poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
147
- return [4 /*yield*/, this.proxyContract.executeLiquidityWithdrawal(poolId, this.traderAddr, overrides || { gasLimit: this.gasLimit })];
148
- case 1:
149
- tx = _a.sent();
150
- return [2 /*return*/, tx];
151
- }
152
- });
153
- });
154
- };
155
- return LiquidityProviderTool;
156
- }(WriteAccessHandler));
157
- export default LiquidityProviderTool;
116
+ async executeLiquidityWithdrawal(poolSymbolName, overrides) {
117
+ if (this.proxyContract == null || this.signer == null) {
118
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
119
+ }
120
+ let poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
121
+ let tx = await this.proxyContract.executeLiquidityWithdrawal(poolId, this.traderAddr, overrides || { gasLimit: this.gasLimit });
122
+ return tx;
123
+ }
124
+ }
158
125
  //# sourceMappingURL=liquidityProviderTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquidityProviderTool.js","sourceRoot":"","sources":["../../src/liquidityProviderTool.ts"],"names":[],"mappings":";AAEA,OAAO,EAAgB,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD;;;;GAIG;AACH;IAAmD,yCAAkB;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,oBAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;wBACpF,qBAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAC5C,MAAM,EACN,YAAY,CAAC,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,oBAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;wBACpF,qBAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CACjD,MAAM,EACN,YAAY,CAAC,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,oBAAoB,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,kBAAkB,GAyIpE"}
1
+ {"version":3,"file":"liquidityProviderTool.js","sourceRoot":"","sources":["../../src/liquidityProviderTool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,kBAAkB;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,oBAAoB,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,WAAW,CAAC,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,oBAAoB,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7F,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CACjD,MAAM,EACN,YAAY,CAAC,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,oBAAoB,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"}
@@ -1,7 +1,7 @@
1
1
  import { CallOverrides, Contract } from "@ethersproject/contracts";
2
2
  import { Provider } from "@ethersproject/providers";
3
3
  import { LimitOrderBook } from "./contracts";
4
- import { ExchangeInfo, MarginAccount, NodeSDKConfig, Order, PerpetualState, PerpetualStaticInfo, PoolStaticInfo, SmartContractOrder } from "./nodeSDKTypes";
4
+ import { ExchangeInfo, MarginAccount, NodeSDKConfig, Order, PerpetualState, PerpetualStaticInfo, PoolState, PoolStaticInfo, SmartContractOrder } from "./nodeSDKTypes";
5
5
  import PerpetualDataHandler from "./perpetualDataHandler";
6
6
  import PriceFeeds from "./priceFeeds";
7
7
  /**
@@ -314,6 +314,13 @@ export default class MarketData extends PerpetualDataHandler {
314
314
  * @returns PerpetualState reference
315
315
  */
316
316
  getPerpetualState(symbol: string, indexPriceInfo?: [number, number, boolean, boolean], overrides?: CallOverrides): Promise<PerpetualState>;
317
+ /**
318
+ * Query recent pool state from blockchain, not including perpetual states
319
+ * @param symbol symbol of the form USDC
320
+ * @param indexPrices S2 and S3 prices/isMarketOpen if not provided fetch via REST API
321
+ * @returns PoolState reference
322
+ */
323
+ getPoolState(poolSymbol: string, overrides?: CallOverrides): Promise<PoolState>;
317
324
  /**
318
325
  * Query perpetual static info.
319
326
  * This information is queried once at createProxyInstance-time and remains static after that.