@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.
- package/dist/cjs/accountTrade.js +134 -239
- package/dist/cjs/accountTrade.js.map +1 -1
- package/dist/cjs/brokerTool.js +144 -290
- package/dist/cjs/brokerTool.js.map +1 -1
- package/dist/cjs/contracts/factories/ERC20__factory.js +9 -12
- package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +9 -12
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +9 -12
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +9 -12
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +9 -12
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/ShareToken__factory.js +9 -12
- package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +9 -12
- package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +9 -12
- package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +9 -12
- package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js +9 -12
- package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
- package/dist/cjs/contracts/index.js +1 -1
- package/dist/cjs/d8XMath.d.ts +7 -0
- package/dist/cjs/d8XMath.js +81 -61
- package/dist/cjs/d8XMath.js.map +1 -1
- package/dist/cjs/index.js +11 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/liquidatorTool.js +80 -137
- package/dist/cjs/liquidatorTool.js.map +1 -1
- package/dist/cjs/liquidityProviderTool.js +33 -64
- package/dist/cjs/liquidityProviderTool.js.map +1 -1
- package/dist/cjs/marketData.d.ts +8 -1
- package/dist/cjs/marketData.js +641 -949
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/nodeSDKTypes.d.ts +1 -0
- package/dist/cjs/nodeSDKTypes.js +10 -22
- package/dist/cjs/nodeSDKTypes.js.map +1 -1
- package/dist/cjs/orderReferrerTool.js +200 -321
- package/dist/cjs/orderReferrerTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +11 -0
- package/dist/cjs/perpetualDataHandler.js +422 -535
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/perpetualEventHandler.js +129 -190
- package/dist/cjs/perpetualEventHandler.js.map +1 -1
- package/dist/cjs/priceFeeds.js +223 -335
- package/dist/cjs/priceFeeds.js.map +1 -1
- package/dist/cjs/traderDigests.js +20 -23
- package/dist/cjs/traderDigests.js.map +1 -1
- package/dist/cjs/traderInterface.js +54 -87
- package/dist/cjs/traderInterface.js.map +1 -1
- package/dist/cjs/triangulator.js +34 -38
- package/dist/cjs/triangulator.js.map +1 -1
- package/dist/cjs/utils.js +18 -32
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/writeAccessHandler.js +78 -112
- package/dist/cjs/writeAccessHandler.js.map +1 -1
- package/dist/esm/accountTrade.js +126 -233
- package/dist/esm/accountTrade.js.map +1 -1
- package/dist/esm/brokerTool.js +136 -284
- package/dist/esm/brokerTool.js.map +1 -1
- package/dist/esm/contracts/factories/ERC20__factory.js +8 -12
- package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js +8 -12
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +8 -12
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js +8 -12
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js +8 -12
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
- package/dist/esm/contracts/factories/ShareToken__factory.js +8 -12
- package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
- package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +8 -12
- package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
- package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +8 -12
- package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +8 -12
- package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
- package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js +8 -12
- package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
- package/dist/esm/d8XMath.d.ts +7 -0
- package/dist/esm/d8XMath.js +77 -58
- package/dist/esm/d8XMath.js.map +1 -1
- package/dist/esm/liquidatorTool.js +77 -136
- package/dist/esm/liquidatorTool.js.map +1 -1
- package/dist/esm/liquidityProviderTool.js +30 -63
- package/dist/esm/liquidityProviderTool.js.map +1 -1
- package/dist/esm/marketData.d.ts +8 -1
- package/dist/esm/marketData.js +632 -942
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/nodeSDKTypes.d.ts +1 -0
- package/dist/esm/nodeSDKTypes.js +36 -48
- package/dist/esm/nodeSDKTypes.js.map +1 -1
- package/dist/esm/orderReferrerTool.js +194 -317
- package/dist/esm/orderReferrerTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +11 -0
- package/dist/esm/perpetualDataHandler.js +413 -528
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/perpetualEventHandler.js +126 -188
- package/dist/esm/perpetualEventHandler.js.map +1 -1
- package/dist/esm/priceFeeds.js +218 -332
- package/dist/esm/priceFeeds.js.map +1 -1
- package/dist/esm/traderDigests.js +15 -19
- package/dist/esm/traderDigests.js.map +1 -1
- package/dist/esm/traderInterface.js +48 -83
- package/dist/esm/traderInterface.js.map +1 -1
- package/dist/esm/triangulator.js +34 -39
- package/dist/esm/triangulator.js.map +1 -1
- package/dist/esm/utils.js +16 -30
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/writeAccessHandler.js +70 -106
- package/dist/esm/writeAccessHandler.js.map +1 -1
- package/package.json +1 -1
- package/src/d8XMath.ts +21 -0
- package/src/liquidityProviderTool.ts +5 -4
- package/src/marketData.ts +26 -0
- package/src/nodeSDKTypes.ts +1 -0
- package/src/perpetualDataHandler.ts +27 -0
- package/src/version.ts +1 -1
- package/src/writeAccessHandler.ts +3 -3
package/dist/cjs/brokerTool.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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"));
|
|
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
|
-
|
|
18
|
-
tslib_1.__extends(BrokerTool, _super);
|
|
17
|
+
class BrokerTool extends writeAccessHandler_1.default {
|
|
19
18
|
/**
|
|
20
19
|
* Constructor
|
|
21
20
|
* @param {NodeSDKConfig} config Configuration object, see PerpetualDataHandler.
|
|
@@ -37,8 +36,8 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
37
36
|
* main();
|
|
38
37
|
*
|
|
39
38
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
constructor(config, signer) {
|
|
40
|
+
super(config, signer);
|
|
42
41
|
}
|
|
43
42
|
// Fee getters
|
|
44
43
|
/**
|
|
@@ -62,28 +61,18 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
62
61
|
*
|
|
63
62
|
* @returns {number} Exchange fee for this broker, in decimals (i.e. 0.1% is 0.001)
|
|
64
63
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
87
76
|
/**
|
|
88
77
|
* Determine the exchange fee based on lots purchased by this broker.
|
|
89
78
|
* The final exchange fee that this broker can offer to traders that trade through him is equal to
|
|
@@ -107,32 +96,22 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
107
96
|
*
|
|
108
97
|
* @returns {number} Fee based solely on this broker's designation, in decimals (i.e. 0.1% is 0.001).
|
|
109
98
|
*/
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
136
115
|
/**
|
|
137
116
|
* Determine the exchange fee based on volume traded under this broker.
|
|
138
117
|
* The final exchange fee that this broker can offer to traders that trade through him is equal to
|
|
@@ -155,24 +134,14 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
155
134
|
*
|
|
156
135
|
* @returns {number} Fee based solely on a broker's traded volume in the corresponding pool, in decimals (i.e. 0.1% is 0.001).
|
|
157
136
|
*/
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
176
145
|
/**
|
|
177
146
|
* Determine the exchange fee based on the current D8X balance in a broker's wallet.
|
|
178
147
|
* The final exchange fee that this broker can offer to traders that trade through him is equal to
|
|
@@ -195,26 +164,16 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
195
164
|
*
|
|
196
165
|
* @returns {number} Fee based solely on a broker's D8X balance, in decimals (i.e. 0.1% is 0.001).
|
|
197
166
|
*/
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
218
177
|
/**
|
|
219
178
|
* Determine exchange fee based on an order and a trader.
|
|
220
179
|
* This is the fee charged by the exchange only, excluding the broker fee,
|
|
@@ -250,24 +209,14 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
250
209
|
*
|
|
251
210
|
* @returns {number} Fee in decimals (i.e. 0.1% is 0.001).
|
|
252
211
|
*/
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
271
220
|
// Volume
|
|
272
221
|
/**
|
|
273
222
|
* Exponentially weighted EMA of the total trading volume of all trades performed under this broker.
|
|
@@ -290,24 +239,14 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
290
239
|
*
|
|
291
240
|
* @returns {number} Current trading volume for this broker, in USD.
|
|
292
241
|
*/
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
311
250
|
// Lots
|
|
312
251
|
/**
|
|
313
252
|
* Total amount of collateral currency a broker has to deposit into the default fund to purchase one lot.
|
|
@@ -330,25 +269,15 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
330
269
|
*
|
|
331
270
|
* @returns {number} Broker lot size in a given pool's currency, e.g. in MATIC for poolSymbolName MATIC.
|
|
332
271
|
*/
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
352
281
|
/**
|
|
353
282
|
* Provides information on how many lots a broker purchased for a given pool.
|
|
354
283
|
* This is relevant to determine the broker's fee tier.
|
|
@@ -370,24 +299,14 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
370
299
|
*
|
|
371
300
|
* @returns {number} Number of lots purchased by this broker.
|
|
372
301
|
*/
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
391
310
|
/**
|
|
392
311
|
* Deposit lots to the default fund of a given pool.
|
|
393
312
|
* @param {string} poolSymbolName Pool symbol name (e.g. MATIC, USDC, etc).
|
|
@@ -410,24 +329,14 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
410
329
|
*
|
|
411
330
|
* @returns {ContractTransaction} ContractTransaction object.
|
|
412
331
|
*/
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
431
340
|
// Signatures
|
|
432
341
|
/**
|
|
433
342
|
* Adds this broker's signature to an order. An order signed by a broker is considered
|
|
@@ -461,38 +370,20 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
461
370
|
*
|
|
462
371
|
* @returns {Order} An order signed by this broker, which can be submitted directly with AccountTrade.order.
|
|
463
372
|
*/
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
496
387
|
/**
|
|
497
388
|
* Creates a signature that a trader can use to place orders with this broker.
|
|
498
389
|
* This signature can be used to pass on to a trader who wishes to trade via this SDK or directly on the blockchain.
|
|
@@ -503,55 +394,29 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
503
394
|
* @returns {string} Broker signature approving this trader's fee, symbol, and deadline.
|
|
504
395
|
* @ignore
|
|
505
396
|
*/
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
return
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
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
|
-
};
|
|
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
|
+
}
|
|
555
420
|
// Transfer ownership
|
|
556
421
|
/**
|
|
557
422
|
* Transfer ownership of a broker's status to a new wallet. This function transfers the values related to
|
|
@@ -576,25 +441,14 @@ var BrokerTool = /** @class */ (function (_super) {
|
|
|
576
441
|
*
|
|
577
442
|
* @returns {ContractTransaction} ethers transaction object
|
|
578
443
|
*/
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
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));
|
|
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
|
+
}
|
|
599
453
|
exports.default = BrokerTool;
|
|
600
454
|
//# sourceMappingURL=brokerTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brokerTool.js","sourceRoot":"","sources":["../../src/brokerTool.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"brokerTool.js","sourceRoot":"","sources":["../../src/brokerTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
/* eslint-disable */
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ERC20__factory = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
8
|
+
const _abi = [
|
|
9
9
|
{
|
|
10
10
|
inputs: [
|
|
11
11
|
{
|
|
@@ -293,17 +293,14 @@ var _abi = [
|
|
|
293
293
|
type: "function",
|
|
294
294
|
},
|
|
295
295
|
];
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
-
ERC20__factory.createInterface = function () {
|
|
296
|
+
class ERC20__factory {
|
|
297
|
+
static createInterface() {
|
|
300
298
|
return new ethers_1.utils.Interface(_abi);
|
|
301
|
-
}
|
|
302
|
-
|
|
299
|
+
}
|
|
300
|
+
static connect(address, signerOrProvider) {
|
|
303
301
|
return new ethers_1.Contract(address, _abi, signerOrProvider);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
return ERC20__factory;
|
|
307
|
-
}());
|
|
302
|
+
}
|
|
303
|
+
}
|
|
308
304
|
exports.ERC20__factory = ERC20__factory;
|
|
305
|
+
ERC20__factory.abi = _abi;
|
|
309
306
|
//# sourceMappingURL=ERC20__factory.js.map
|