@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,20 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const abi_1 = require("@ethersproject/abi");
5
- const keccak256_1 = require("@ethersproject/keccak256");
6
- const d8XMath_1 = require("./d8XMath");
7
- const perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
8
- const writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
9
- const buffer_1 = require("buffer");
10
- const accountTrade_1 = tslib_1.__importDefault(require("./accountTrade"));
3
+ var tslib_1 = require("tslib");
4
+ var abi_1 = require("@ethersproject/abi");
5
+ var keccak256_1 = require("@ethersproject/keccak256");
6
+ var d8XMath_1 = require("./d8XMath");
7
+ var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
8
+ var writeAccessHandler_1 = tslib_1.__importDefault(require("./writeAccessHandler"));
9
+ var buffer_1 = require("buffer");
10
+ var accountTrade_1 = tslib_1.__importDefault(require("./accountTrade"));
11
11
  /**
12
12
  * Functions for brokers to determine fees, deposit lots, and sign-up traders.
13
13
  * This class requires a private key and executes smart-contract interactions that
14
14
  * require gas-payments.
15
15
  * @extends WriteAccessHandler
16
16
  */
17
- class BrokerTool extends writeAccessHandler_1.default {
17
+ var BrokerTool = /** @class */ (function (_super) {
18
+ tslib_1.__extends(BrokerTool, _super);
18
19
  /**
19
20
  * Constructor
20
21
  * @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
@@ -36,8 +37,8 @@ class BrokerTool extends writeAccessHandler_1.default {
36
37
  * main();
37
38
  *
38
39
  */
39
- constructor(config, signer) {
40
- super(config, signer);
40
+ function BrokerTool(config, signer) {
41
+ return _super.call(this, config, signer) || this;
41
42
  }
42
43
  // Fee getters
43
44
  /**
@@ -61,18 +62,28 @@ class BrokerTool extends writeAccessHandler_1.default {
61
62
  *
62
63
  * @returns {number} Exchange fee for this broker, in decimals (i.e. 0.1% is 0.001)
63
64
  */
64
- async getBrokerInducedFee(poolSymbolName, overrides) {
65
- if (this.proxyContract == null || this.signer == null) {
66
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
67
- }
68
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
69
- let feeTbps = await this.proxyContract.getBrokerInducedFee(poolId, this.traderAddr, overrides || {});
70
- let fee = feeTbps / 100000;
71
- if (fee == 0.65535) {
72
- return undefined;
73
- }
74
- return fee;
75
- }
65
+ BrokerTool.prototype.getBrokerInducedFee = function (poolSymbolName, overrides) {
66
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
67
+ var poolId, feeTbps, fee;
68
+ return tslib_1.__generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ if (this.proxyContract == null || this.signer == null) {
72
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
73
+ }
74
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
75
+ return [4 /*yield*/, this.proxyContract.getBrokerInducedFee(poolId, this.traderAddr, overrides || {})];
76
+ case 1:
77
+ feeTbps = _a.sent();
78
+ fee = feeTbps / 100000;
79
+ if (fee == 0.65535) {
80
+ return [2 /*return*/, undefined];
81
+ }
82
+ return [2 /*return*/, fee];
83
+ }
84
+ });
85
+ });
86
+ };
76
87
  /**
77
88
  * Determine the exchange fee based on lots purchased by this broker.
78
89
  * The final exchange fee that this broker can offer to traders that trade through him is equal to
@@ -96,22 +107,32 @@ class BrokerTool extends writeAccessHandler_1.default {
96
107
  *
97
108
  * @returns {number} Fee based solely on this broker's designation, in decimals (i.e. 0.1% is 0.001).
98
109
  */
99
- async getFeeForBrokerDesignation(poolSymbolName, lots, overrides) {
100
- if (this.proxyContract == null || this.signer == null) {
101
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
102
- }
103
- // check if designation should be taken from the caller or as a parameter
104
- let brokerDesignation;
105
- if (typeof lots == "undefined") {
106
- brokerDesignation = await this.getBrokerDesignation(poolSymbolName);
107
- brokerDesignation = brokerDesignation > 0 ? brokerDesignation : 0;
108
- }
109
- else {
110
- brokerDesignation = lots;
111
- }
112
- let feeTbps = await this.proxyContract.getFeeForBrokerDesignation(brokerDesignation, overrides || {});
113
- return feeTbps / 100000;
114
- }
110
+ BrokerTool.prototype.getFeeForBrokerDesignation = function (poolSymbolName, lots, overrides) {
111
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
112
+ var brokerDesignation, feeTbps;
113
+ return tslib_1.__generator(this, function (_a) {
114
+ switch (_a.label) {
115
+ case 0:
116
+ if (this.proxyContract == null || this.signer == null) {
117
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
118
+ }
119
+ if (!(typeof lots == "undefined")) return [3 /*break*/, 2];
120
+ return [4 /*yield*/, this.getBrokerDesignation(poolSymbolName)];
121
+ case 1:
122
+ brokerDesignation = _a.sent();
123
+ brokerDesignation = brokerDesignation > 0 ? brokerDesignation : 0;
124
+ return [3 /*break*/, 3];
125
+ case 2:
126
+ brokerDesignation = lots;
127
+ _a.label = 3;
128
+ case 3: return [4 /*yield*/, this.proxyContract.getFeeForBrokerDesignation(brokerDesignation, overrides || {})];
129
+ case 4:
130
+ feeTbps = _a.sent();
131
+ return [2 /*return*/, feeTbps / 100000];
132
+ }
133
+ });
134
+ });
135
+ };
115
136
  /**
116
137
  * Determine the exchange fee based on volume traded under this broker.
117
138
  * The final exchange fee that this broker can offer to traders that trade through him is equal to
@@ -134,14 +155,24 @@ class BrokerTool extends writeAccessHandler_1.default {
134
155
  *
135
156
  * @returns {number} Fee based solely on a broker's traded volume in the corresponding pool, in decimals (i.e. 0.1% is 0.001).
136
157
  */
137
- async getFeeForBrokerVolume(poolSymbolName, overrides) {
138
- if (this.proxyContract == null || this.signer == null) {
139
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
140
- }
141
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
142
- let feeTbps = await this.proxyContract.getFeeForBrokerVolume(poolId, this.traderAddr, overrides || {});
143
- return feeTbps / 100000;
144
- }
158
+ BrokerTool.prototype.getFeeForBrokerVolume = function (poolSymbolName, overrides) {
159
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
160
+ var poolId, feeTbps;
161
+ return tslib_1.__generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0:
164
+ if (this.proxyContract == null || this.signer == null) {
165
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
166
+ }
167
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
168
+ return [4 /*yield*/, this.proxyContract.getFeeForBrokerVolume(poolId, this.traderAddr, overrides || {})];
169
+ case 1:
170
+ feeTbps = _a.sent();
171
+ return [2 /*return*/, feeTbps / 100000];
172
+ }
173
+ });
174
+ });
175
+ };
145
176
  /**
146
177
  * Determine the exchange fee based on the current D8X balance in a broker's wallet.
147
178
  * The final exchange fee that this broker can offer to traders that trade through him is equal to
@@ -164,16 +195,26 @@ class BrokerTool extends writeAccessHandler_1.default {
164
195
  *
165
196
  * @returns {number} Fee based solely on a broker's D8X balance, in decimals (i.e. 0.1% is 0.001).
166
197
  */
167
- async getFeeForBrokerStake(brokerAddr, overrides) {
168
- if (this.proxyContract == null || this.signer == null) {
169
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
170
- }
171
- if (typeof brokerAddr == "undefined") {
172
- brokerAddr = this.traderAddr;
173
- }
174
- let feeTbps = await this.proxyContract.getFeeForBrokerStake(brokerAddr, overrides || {});
175
- return feeTbps / 100000;
176
- }
198
+ BrokerTool.prototype.getFeeForBrokerStake = function (brokerAddr, overrides) {
199
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
200
+ var feeTbps;
201
+ return tslib_1.__generator(this, function (_a) {
202
+ switch (_a.label) {
203
+ case 0:
204
+ if (this.proxyContract == null || this.signer == null) {
205
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
206
+ }
207
+ if (typeof brokerAddr == "undefined") {
208
+ brokerAddr = this.traderAddr;
209
+ }
210
+ return [4 /*yield*/, this.proxyContract.getFeeForBrokerStake(brokerAddr, overrides || {})];
211
+ case 1:
212
+ feeTbps = _a.sent();
213
+ return [2 /*return*/, feeTbps / 100000];
214
+ }
215
+ });
216
+ });
217
+ };
177
218
  /**
178
219
  * Determine exchange fee based on an order and a trader.
179
220
  * This is the fee charged by the exchange only, excluding the broker fee,
@@ -209,14 +250,24 @@ class BrokerTool extends writeAccessHandler_1.default {
209
250
  *
210
251
  * @returns {number} Fee in decimals (i.e. 0.1% is 0.001).
211
252
  */
212
- async determineExchangeFee(order, traderAddr, overrides) {
213
- if (this.proxyContract == null || this.signer == null) {
214
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
215
- }
216
- let scOrder = accountTrade_1.default.toSmartContractOrder(order, traderAddr, this.symbolToPerpStaticInfo);
217
- let feeTbps = await this.proxyContract.determineExchangeFee(scOrder, overrides || {});
218
- return feeTbps / 100000;
219
- }
253
+ BrokerTool.prototype.determineExchangeFee = function (order, traderAddr, overrides) {
254
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
255
+ var scOrder, feeTbps;
256
+ return tslib_1.__generator(this, function (_a) {
257
+ switch (_a.label) {
258
+ case 0:
259
+ if (this.proxyContract == null || this.signer == null) {
260
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
261
+ }
262
+ scOrder = accountTrade_1.default.toSmartContractOrder(order, traderAddr, this.symbolToPerpStaticInfo);
263
+ return [4 /*yield*/, this.proxyContract.determineExchangeFee(scOrder, overrides || {})];
264
+ case 1:
265
+ feeTbps = _a.sent();
266
+ return [2 /*return*/, feeTbps / 100000];
267
+ }
268
+ });
269
+ });
270
+ };
220
271
  // Volume
221
272
  /**
222
273
  * Exponentially weighted EMA of the total trading volume of all trades performed under this broker.
@@ -239,14 +290,24 @@ class BrokerTool extends writeAccessHandler_1.default {
239
290
  *
240
291
  * @returns {number} Current trading volume for this broker, in USD.
241
292
  */
242
- async getCurrentBrokerVolume(poolSymbolName, overrides) {
243
- if (this.proxyContract == null || this.signer == null) {
244
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
245
- }
246
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
247
- let volume = await this.proxyContract.getCurrentBrokerVolume(poolId, this.traderAddr, overrides || {});
248
- return (0, d8XMath_1.ABK64x64ToFloat)(volume);
249
- }
293
+ BrokerTool.prototype.getCurrentBrokerVolume = function (poolSymbolName, overrides) {
294
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
295
+ var poolId, volume;
296
+ return tslib_1.__generator(this, function (_a) {
297
+ switch (_a.label) {
298
+ case 0:
299
+ if (this.proxyContract == null || this.signer == null) {
300
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
301
+ }
302
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
303
+ return [4 /*yield*/, this.proxyContract.getCurrentBrokerVolume(poolId, this.traderAddr, overrides || {})];
304
+ case 1:
305
+ volume = _a.sent();
306
+ return [2 /*return*/, (0, d8XMath_1.ABK64x64ToFloat)(volume)];
307
+ }
308
+ });
309
+ });
310
+ };
250
311
  // Lots
251
312
  /**
252
313
  * Total amount of collateral currency a broker has to deposit into the default fund to purchase one lot.
@@ -269,15 +330,25 @@ class BrokerTool extends writeAccessHandler_1.default {
269
330
  *
270
331
  * @returns {number} Broker lot size in a given pool's currency, e.g. in MATIC for poolSymbolName MATIC.
271
332
  */
272
- async getLotSize(poolSymbolName, overrides) {
273
- if (this.proxyContract == null) {
274
- throw Error("no proxy contract initialized. Use createProxyInstance().");
275
- }
276
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
277
- let pool = await this.proxyContract.getLiquidityPool(poolId, overrides || {});
278
- let lot = (0, d8XMath_1.ABK64x64ToFloat)(pool.fBrokerCollateralLotSize);
279
- return lot;
280
- }
333
+ BrokerTool.prototype.getLotSize = function (poolSymbolName, overrides) {
334
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
335
+ var poolId, pool, lot;
336
+ return tslib_1.__generator(this, function (_a) {
337
+ switch (_a.label) {
338
+ case 0:
339
+ if (this.proxyContract == null) {
340
+ throw Error("no proxy contract initialized. Use createProxyInstance().");
341
+ }
342
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
343
+ return [4 /*yield*/, this.proxyContract.getLiquidityPool(poolId, overrides || {})];
344
+ case 1:
345
+ pool = _a.sent();
346
+ lot = (0, d8XMath_1.ABK64x64ToFloat)(pool.fBrokerCollateralLotSize);
347
+ return [2 /*return*/, lot];
348
+ }
349
+ });
350
+ });
351
+ };
281
352
  /**
282
353
  * Provides information on how many lots a broker purchased for a given pool.
283
354
  * This is relevant to determine the broker's fee tier.
@@ -299,14 +370,24 @@ class BrokerTool extends writeAccessHandler_1.default {
299
370
  *
300
371
  * @returns {number} Number of lots purchased by this broker.
301
372
  */
302
- async getBrokerDesignation(poolSymbolName, overrides) {
303
- if (this.proxyContract == null || this.signer == null) {
304
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
305
- }
306
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
307
- let designation = await this.proxyContract.getBrokerDesignation(poolId, this.traderAddr, overrides || {});
308
- return designation;
309
- }
373
+ BrokerTool.prototype.getBrokerDesignation = function (poolSymbolName, overrides) {
374
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
375
+ var poolId, designation;
376
+ return tslib_1.__generator(this, function (_a) {
377
+ switch (_a.label) {
378
+ case 0:
379
+ if (this.proxyContract == null || this.signer == null) {
380
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
381
+ }
382
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
383
+ return [4 /*yield*/, this.proxyContract.getBrokerDesignation(poolId, this.traderAddr, overrides || {})];
384
+ case 1:
385
+ designation = _a.sent();
386
+ return [2 /*return*/, designation];
387
+ }
388
+ });
389
+ });
390
+ };
310
391
  /**
311
392
  * Deposit lots to the default fund of a given pool.
312
393
  * @param {string} poolSymbolName Pool symbol name (e.g. MATIC, USDC, etc).
@@ -329,14 +410,24 @@ class BrokerTool extends writeAccessHandler_1.default {
329
410
  *
330
411
  * @returns {ContractTransaction} ContractTransaction object.
331
412
  */
332
- async brokerDepositToDefaultFund(poolSymbolName, lots, overrides) {
333
- if (this.proxyContract == null || this.signer == null) {
334
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
335
- }
336
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
337
- let tx = await this.proxyContract.brokerDepositToDefaultFund(poolId, lots, overrides || {});
338
- return tx;
339
- }
413
+ BrokerTool.prototype.brokerDepositToDefaultFund = function (poolSymbolName, lots, overrides) {
414
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
415
+ var poolId, tx;
416
+ return tslib_1.__generator(this, function (_a) {
417
+ switch (_a.label) {
418
+ case 0:
419
+ if (this.proxyContract == null || this.signer == null) {
420
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
421
+ }
422
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
423
+ return [4 /*yield*/, this.proxyContract.brokerDepositToDefaultFund(poolId, lots, overrides || {})];
424
+ case 1:
425
+ tx = _a.sent();
426
+ return [2 /*return*/, tx];
427
+ }
428
+ });
429
+ });
430
+ };
340
431
  // Signatures
341
432
  /**
342
433
  * Adds this broker's signature to an order. An order signed by a broker is considered
@@ -370,20 +461,38 @@ class BrokerTool extends writeAccessHandler_1.default {
370
461
  *
371
462
  * @returns {Order} An order signed by this broker, which can be submitted directly with AccountTrade.order.
372
463
  */
373
- async signOrder(order, traderAddr) {
374
- if (this.proxyContract == null || this.signer == null) {
375
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
376
- }
377
- order.brokerAddr = this.traderAddr;
378
- if (order.deadline == undefined) {
379
- throw Error("brokerTool::signOrder: deadline not defined");
380
- }
381
- order.brokerSignature = await BrokerTool._signOrder(order.symbol, order.brokerFeeTbps, traderAddr, order.deadline, this.signer, this.chainId, this.proxyAddr, this.symbolToPerpStaticInfo);
382
- return order;
383
- }
384
- async signSCOrder(scOrder) {
385
- return await BrokerTool._signOrderFromRawData(scOrder.iPerpetualId, scOrder.brokerFeeTbps, scOrder.traderAddr, scOrder.iDeadline, this.signer, this.chainId, this.proxyAddr);
386
- }
464
+ BrokerTool.prototype.signOrder = function (order, traderAddr) {
465
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
466
+ var _a;
467
+ return tslib_1.__generator(this, function (_b) {
468
+ switch (_b.label) {
469
+ case 0:
470
+ if (this.proxyContract == null || this.signer == null) {
471
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
472
+ }
473
+ order.brokerAddr = this.traderAddr;
474
+ if (order.deadline == undefined) {
475
+ throw Error("brokerTool::signOrder: deadline not defined");
476
+ }
477
+ _a = order;
478
+ return [4 /*yield*/, BrokerTool._signOrder(order.symbol, order.brokerFeeTbps, traderAddr, order.deadline, this.signer, this.chainId, this.proxyAddr, this.symbolToPerpStaticInfo)];
479
+ case 1:
480
+ _a.brokerSignature = _b.sent();
481
+ return [2 /*return*/, order];
482
+ }
483
+ });
484
+ });
485
+ };
486
+ BrokerTool.prototype.signSCOrder = function (scOrder) {
487
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
488
+ return tslib_1.__generator(this, function (_a) {
489
+ switch (_a.label) {
490
+ case 0: return [4 /*yield*/, BrokerTool._signOrderFromRawData(scOrder.iPerpetualId, scOrder.brokerFeeTbps, scOrder.traderAddr, scOrder.iDeadline, this.signer, this.chainId, this.proxyAddr)];
491
+ case 1: return [2 /*return*/, _a.sent()];
492
+ }
493
+ });
494
+ });
495
+ };
387
496
  /**
388
497
  * Creates a signature that a trader can use to place orders with this broker.
389
498
  * This signature can be used to pass on to a trader who wishes to trade via this SDK or directly on the blockchain.
@@ -394,29 +503,55 @@ class BrokerTool extends writeAccessHandler_1.default {
394
503
  * @returns {string} Broker signature approving this trader's fee, symbol, and deadline.
395
504
  * @ignore
396
505
  */
397
- async createSignatureForTrader(traderAddr, symbol, brokerFee, deadline) {
398
- if (this.proxyContract == null || this.signer == null) {
399
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
400
- }
401
- let brokerFeeTbps = 100000 * brokerFee;
402
- return await BrokerTool._signOrder(symbol, brokerFeeTbps, traderAddr, deadline, this.signer, this.chainId, this.proxyAddr, this.symbolToPerpStaticInfo);
403
- }
404
- static async _signOrderFromRawData(iPerpetualId, brokerFeeTbps, traderAddr, iDeadline, signer, chainId, proxyAddress) {
405
- const NAME = "Perpetual Trade Manager";
406
- const DOMAIN_TYPEHASH = (0, keccak256_1.keccak256)(buffer_1.Buffer.from("EIP712Domain(string name,uint256 chainId,address verifyingContract)"));
407
- let abiCoder = abi_1.defaultAbiCoder;
408
- let domainSeparator = (0, keccak256_1.keccak256)(abiCoder.encode(["bytes32", "bytes32", "uint256", "address"], [DOMAIN_TYPEHASH, (0, keccak256_1.keccak256)(buffer_1.Buffer.from(NAME)), chainId, proxyAddress]));
409
- //
410
- const TRADE_BROKER_TYPEHASH = (0, keccak256_1.keccak256)(buffer_1.Buffer.from("Order(uint24 iPerpetualId,uint16 brokerFeeTbps,address traderAddr,uint32 iDeadline)"));
411
- let structHash = (0, keccak256_1.keccak256)(abiCoder.encode(["bytes32", "uint24", "uint16", "address", "uint32"], [TRADE_BROKER_TYPEHASH, iPerpetualId, brokerFeeTbps, traderAddr, iDeadline]));
412
- let digest = (0, keccak256_1.keccak256)(abiCoder.encode(["bytes32", "bytes32"], [domainSeparator, structHash]));
413
- let digestBuffer = buffer_1.Buffer.from(digest.substring(2, digest.length), "hex");
414
- return await signer.signMessage(digestBuffer);
415
- }
416
- static async _signOrder(symbol, brokerFeeTbps, traderAddr, iDeadline, signer, chainId, proxyAddress, symbolToPerpStaticInfo) {
417
- let iPerpetualId = perpetualDataHandler_1.default.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
418
- return await BrokerTool._signOrderFromRawData(iPerpetualId, brokerFeeTbps, traderAddr, iDeadline, signer, chainId, proxyAddress);
419
- }
506
+ BrokerTool.prototype.createSignatureForTrader = function (traderAddr, symbol, brokerFee, deadline) {
507
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
508
+ var brokerFeeTbps;
509
+ return tslib_1.__generator(this, function (_a) {
510
+ switch (_a.label) {
511
+ case 0:
512
+ if (this.proxyContract == null || this.signer == null) {
513
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
514
+ }
515
+ brokerFeeTbps = 100000 * brokerFee;
516
+ return [4 /*yield*/, BrokerTool._signOrder(symbol, brokerFeeTbps, traderAddr, deadline, this.signer, this.chainId, this.proxyAddr, this.symbolToPerpStaticInfo)];
517
+ case 1: return [2 /*return*/, _a.sent()];
518
+ }
519
+ });
520
+ });
521
+ };
522
+ BrokerTool._signOrderFromRawData = function (iPerpetualId, brokerFeeTbps, traderAddr, iDeadline, signer, chainId, proxyAddress) {
523
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
524
+ var NAME, DOMAIN_TYPEHASH, abiCoder, domainSeparator, TRADE_BROKER_TYPEHASH, structHash, digest, digestBuffer;
525
+ return tslib_1.__generator(this, function (_a) {
526
+ switch (_a.label) {
527
+ case 0:
528
+ NAME = "Perpetual Trade Manager";
529
+ DOMAIN_TYPEHASH = (0, keccak256_1.keccak256)(buffer_1.Buffer.from("EIP712Domain(string name,uint256 chainId,address verifyingContract)"));
530
+ abiCoder = abi_1.defaultAbiCoder;
531
+ domainSeparator = (0, keccak256_1.keccak256)(abiCoder.encode(["bytes32", "bytes32", "uint256", "address"], [DOMAIN_TYPEHASH, (0, keccak256_1.keccak256)(buffer_1.Buffer.from(NAME)), chainId, proxyAddress]));
532
+ TRADE_BROKER_TYPEHASH = (0, keccak256_1.keccak256)(buffer_1.Buffer.from("Order(uint24 iPerpetualId,uint16 brokerFeeTbps,address traderAddr,uint32 iDeadline)"));
533
+ structHash = (0, keccak256_1.keccak256)(abiCoder.encode(["bytes32", "uint24", "uint16", "address", "uint32"], [TRADE_BROKER_TYPEHASH, iPerpetualId, brokerFeeTbps, traderAddr, iDeadline]));
534
+ digest = (0, keccak256_1.keccak256)(abiCoder.encode(["bytes32", "bytes32"], [domainSeparator, structHash]));
535
+ digestBuffer = buffer_1.Buffer.from(digest.substring(2, digest.length), "hex");
536
+ return [4 /*yield*/, signer.signMessage(digestBuffer)];
537
+ case 1: return [2 /*return*/, _a.sent()];
538
+ }
539
+ });
540
+ });
541
+ };
542
+ BrokerTool._signOrder = function (symbol, brokerFeeTbps, traderAddr, iDeadline, signer, chainId, proxyAddress, symbolToPerpStaticInfo) {
543
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
544
+ var iPerpetualId;
545
+ return tslib_1.__generator(this, function (_a) {
546
+ switch (_a.label) {
547
+ case 0:
548
+ iPerpetualId = perpetualDataHandler_1.default.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
549
+ return [4 /*yield*/, BrokerTool._signOrderFromRawData(iPerpetualId, brokerFeeTbps, traderAddr, iDeadline, signer, chainId, proxyAddress)];
550
+ case 1: return [2 /*return*/, _a.sent()];
551
+ }
552
+ });
553
+ });
554
+ };
420
555
  // Transfer ownership
421
556
  /**
422
557
  * Transfer ownership of a broker's status to a new wallet. This function transfers the values related to
@@ -441,14 +576,25 @@ class BrokerTool extends writeAccessHandler_1.default {
441
576
  *
442
577
  * @returns {ContractTransaction} ethers transaction object
443
578
  */
444
- async transferOwnership(poolSymbolName, newAddress, overrides) {
445
- if (this.proxyContract == null) {
446
- throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
447
- }
448
- let poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
449
- let tx = await this.proxyContract.transferBrokerOwnership(poolId, newAddress, overrides || {});
450
- return tx;
451
- }
452
- }
579
+ BrokerTool.prototype.transferOwnership = function (poolSymbolName, newAddress, overrides) {
580
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
581
+ var poolId, tx;
582
+ return tslib_1.__generator(this, function (_a) {
583
+ switch (_a.label) {
584
+ case 0:
585
+ if (this.proxyContract == null) {
586
+ throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
587
+ }
588
+ poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
589
+ return [4 /*yield*/, this.proxyContract.transferBrokerOwnership(poolId, newAddress, overrides || {})];
590
+ case 1:
591
+ tx = _a.sent();
592
+ return [2 /*return*/, tx];
593
+ }
594
+ });
595
+ });
596
+ };
597
+ return BrokerTool;
598
+ }(writeAccessHandler_1.default));
453
599
  exports.default = BrokerTool;
454
600
  //# sourceMappingURL=brokerTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brokerTool.js","sourceRoot":"","sources":["../../src/brokerTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brokerTool.js","sourceRoot":"","sources":["../../src/brokerTool.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@
57
57
  "origin": "FX.USD/JPY"
58
58
  }
59
59
  ],
60
- "endpoints": [{ "type": "pyth", "endpoint": "https://xc-testnet.pyth.network/api" }]
60
+ "endpoints": [{ "type": "pyth", "endpoint": "https://pyth.testnet.quantena.tech/api" }]
61
61
  },
62
62
  {
63
63
  "network": "mainnet",