@d8x/perpetuals-sdk 0.7.7 → 0.7.8
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/abi/IPyth.json +471 -0
- package/dist/cjs/abi/OracleFactory.json +457 -0
- package/dist/cjs/accountTrade.js +134 -243
- 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/config/priceFeedConfig.json +1 -1
- package/dist/cjs/contracts/IPyth.d.ts +234 -0
- package/dist/cjs/contracts/IPyth.js +3 -0
- package/dist/cjs/contracts/IPyth.js.map +1 -0
- package/dist/cjs/contracts/OracleFactory.d.ts +288 -0
- package/dist/cjs/contracts/OracleFactory.js +3 -0
- package/dist/cjs/contracts/OracleFactory.js.map +1 -0
- 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/IPyth__factory.d.ts +367 -0
- package/dist/cjs/contracts/factories/IPyth__factory.js +489 -0
- package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -0
- 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/OracleFactory__factory.d.ts +361 -0
- package/dist/cjs/contracts/factories/OracleFactory__factory.js +475 -0
- package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/cjs/contracts/factories/index.js +5 -1
- package/dist/cjs/contracts/factories/index.js.map +1 -1
- package/dist/cjs/contracts/index.d.ts +4 -0
- package/dist/cjs/contracts/index.js +6 -2
- package/dist/cjs/contracts/index.js.map +1 -1
- package/dist/cjs/d8XMath.js +65 -66
- package/dist/cjs/d8XMath.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +14 -12
- 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 -65
- package/dist/cjs/liquidityProviderTool.js.map +1 -1
- package/dist/cjs/marketData.js +635 -978
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/nodeSDKTypes.js +10 -22
- package/dist/cjs/nodeSDKTypes.js.map +1 -1
- package/dist/cjs/orderReferrerTool.js +200 -323
- package/dist/cjs/orderReferrerTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.js +404 -550
- 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/abi/IPyth.json +471 -0
- package/dist/esm/abi/OracleFactory.json +457 -0
- package/dist/esm/accountTrade.js +126 -237
- 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/config/priceFeedConfig.json +1 -1
- package/dist/esm/contracts/IPyth.d.ts +234 -0
- package/dist/esm/contracts/IPyth.js +2 -0
- package/dist/esm/contracts/IPyth.js.map +1 -0
- package/dist/esm/contracts/OracleFactory.d.ts +288 -0
- package/dist/esm/contracts/OracleFactory.js +2 -0
- package/dist/esm/contracts/OracleFactory.js.map +1 -0
- 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/IPyth__factory.d.ts +367 -0
- package/dist/esm/contracts/factories/IPyth__factory.js +485 -0
- package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -0
- 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/OracleFactory__factory.d.ts +361 -0
- package/dist/esm/contracts/factories/OracleFactory__factory.js +471 -0
- package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/esm/contracts/factories/index.js +2 -0
- package/dist/esm/contracts/factories/index.js.map +1 -1
- package/dist/esm/contracts/index.d.ts +4 -0
- package/dist/esm/contracts/index.js +2 -0
- package/dist/esm/contracts/index.js.map +1 -1
- package/dist/esm/d8XMath.js +63 -64
- package/dist/esm/d8XMath.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/liquidatorTool.js +77 -136
- package/dist/esm/liquidatorTool.js.map +1 -1
- package/dist/esm/liquidityProviderTool.js +29 -63
- package/dist/esm/liquidityProviderTool.js.map +1 -1
- package/dist/esm/marketData.js +626 -971
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/nodeSDKTypes.js +36 -48
- package/dist/esm/nodeSDKTypes.js.map +1 -1
- package/dist/esm/orderReferrerTool.js +194 -319
- package/dist/esm/orderReferrerTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.js +394 -542
- 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 +69 -105
- package/dist/esm/writeAccessHandler.js.map +1 -1
- package/package.json +1 -1
- package/src/abi/IPyth.json +471 -0
- package/src/abi/OracleFactory.json +457 -0
- package/src/accountTrade.ts +1 -6
- package/src/config/priceFeedConfig.json +1 -1
- package/src/contracts/IPyth.ts +571 -0
- package/src/contracts/OracleFactory.ts +708 -0
- package/src/contracts/factories/IPyth__factory.ts +489 -0
- package/src/contracts/factories/{zkevmTestnet/ShareToken__factory.ts → OracleFactory__factory.ts} +222 -206
- package/src/contracts/factories/index.ts +2 -0
- package/src/contracts/index.ts +4 -0
- package/src/index.ts +2 -0
- package/src/orderReferrerTool.ts +1 -3
- package/src/priceFeeds.ts +1 -1
- package/src/version.ts +1 -1
- package/src/contracts/factories/zkevmTestnet/IPerpetualManager__factory.ts +0 -5804
- package/src/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.ts +0 -263
- package/src/contracts/factories/zkevmTestnet/LimitOrderBook__factory.ts +0 -1131
- package/src/contracts/factories/zkevmTestnet/index.ts +0 -7
- package/src/contracts/zkevmTestnet/IPerpetualManager.ts +0 -7109
- package/src/contracts/zkevmTestnet/LimitOrderBook.ts +0 -1341
- package/src/contracts/zkevmTestnet/LimitOrderBookFactory.ts +0 -472
- package/src/contracts/zkevmTestnet/ShareToken.ts +0 -695
- package/src/contracts/zkevmTestnet/index.ts +0 -7
package/dist/esm/utils.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __read, __values } from "tslib";
|
|
2
1
|
import { BigNumber } from "@ethersproject/bignumber";
|
|
3
2
|
import { Buffer } from "buffer";
|
|
4
3
|
/**
|
|
@@ -17,7 +16,7 @@ export function to4Chars(s) {
|
|
|
17
16
|
while (s.length < 4) {
|
|
18
17
|
s = s + "\0";
|
|
19
18
|
}
|
|
20
|
-
|
|
19
|
+
let k = s.length - 1;
|
|
21
20
|
while (s.length > 4 && k >= 0) {
|
|
22
21
|
// chop off vocals from the end of string
|
|
23
22
|
// e.g. MATIC -> MATC
|
|
@@ -40,7 +39,7 @@ export function to4Chars(s) {
|
|
|
40
39
|
*/
|
|
41
40
|
export function toBytes4(s) {
|
|
42
41
|
s = to4Chars(s);
|
|
43
|
-
|
|
42
|
+
let valBuff = Buffer.from(s, "ascii");
|
|
44
43
|
return valBuff;
|
|
45
44
|
}
|
|
46
45
|
/**
|
|
@@ -51,7 +50,7 @@ export function toBytes4(s) {
|
|
|
51
50
|
* @returns {string} String decoded into to4Chars-type string without null characters
|
|
52
51
|
*/
|
|
53
52
|
export function fromBytes4(b) {
|
|
54
|
-
|
|
53
|
+
let val = b.toString("ascii");
|
|
55
54
|
val = val.replace(/\0/g, "");
|
|
56
55
|
return val;
|
|
57
56
|
}
|
|
@@ -64,8 +63,8 @@ export function fromBytes4(b) {
|
|
|
64
63
|
* returned by the smart contract as bytes4
|
|
65
64
|
*/
|
|
66
65
|
export function fromBytes4HexString(s) {
|
|
67
|
-
|
|
68
|
-
for (
|
|
66
|
+
let res = "";
|
|
67
|
+
for (let k = 2; k < s.length; k = k + 2) {
|
|
69
68
|
res = res + String.fromCharCode(parseInt(s.substring(k, k + 2), 16));
|
|
70
69
|
}
|
|
71
70
|
res = res.replace(/\0/g, "");
|
|
@@ -78,10 +77,9 @@ export function fromBytes4HexString(s) {
|
|
|
78
77
|
* @returns {string} User friendly currency symbol, e.g. "MATIC"
|
|
79
78
|
*/
|
|
80
79
|
export function contractSymbolToSymbol(s, mapping) {
|
|
81
|
-
|
|
82
|
-
var shortCCY = fromBytes4HexString(s);
|
|
80
|
+
let shortCCY = fromBytes4HexString(s);
|
|
83
81
|
// assume CCY is already short if not in the mapping file
|
|
84
|
-
|
|
82
|
+
let longCCY = mapping.get(shortCCY) ?? shortCCY;
|
|
85
83
|
return longCCY;
|
|
86
84
|
}
|
|
87
85
|
/**
|
|
@@ -91,25 +89,14 @@ export function contractSymbolToSymbol(s, mapping) {
|
|
|
91
89
|
* @returns {Buffer} Buffer that can be used with smart contract to identify tokens
|
|
92
90
|
*/
|
|
93
91
|
export function symbolToContractSymbol(s, mapping) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var _b = __read(mapping_1_1.value, 2), k = _b[0], v = _b[1];
|
|
99
|
-
if (v == s) {
|
|
100
|
-
shortCCY = k;
|
|
101
|
-
}
|
|
92
|
+
let shortCCY = undefined;
|
|
93
|
+
for (let [k, v] of mapping) {
|
|
94
|
+
if (v == s) {
|
|
95
|
+
shortCCY = k;
|
|
102
96
|
}
|
|
103
97
|
}
|
|
104
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
105
|
-
finally {
|
|
106
|
-
try {
|
|
107
|
-
if (mapping_1_1 && !mapping_1_1.done && (_a = mapping_1.return)) _a.call(mapping_1);
|
|
108
|
-
}
|
|
109
|
-
finally { if (e_1) throw e_1.error; }
|
|
110
|
-
}
|
|
111
98
|
// if not in the mapping file, assume ccy is already valid
|
|
112
|
-
shortCCY = shortCCY
|
|
99
|
+
shortCCY = shortCCY ?? s;
|
|
113
100
|
return toBytes4(shortCCY);
|
|
114
101
|
}
|
|
115
102
|
/**
|
|
@@ -119,11 +106,10 @@ export function symbolToContractSymbol(s, mapping) {
|
|
|
119
106
|
* @returns {string} long format e.g. MATIC. if not found the element is ""
|
|
120
107
|
*/
|
|
121
108
|
export function symbol4BToLongSymbol(s, mapping) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var sym = (_a = mapping.get(ccy[k])) !== null && _a !== void 0 ? _a : to4Chars(ccy[k]);
|
|
109
|
+
let ccy = s.split("-");
|
|
110
|
+
let longCCY = "";
|
|
111
|
+
for (let k = 0; k < ccy.length; k++) {
|
|
112
|
+
let sym = mapping.get(ccy[k]) ?? to4Chars(ccy[k]);
|
|
127
113
|
sym = sym.replace(/\0/g, "");
|
|
128
114
|
longCCY = longCCY + "-" + sym;
|
|
129
115
|
}
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "0.7.
|
|
1
|
+
export declare const D8X_SDK_VERSION = "0.7.8";
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const D8X_SDK_VERSION = "0.7.8";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __assign, __awaiter, __extends, __generator } from "tslib";
|
|
2
1
|
import { Contract } from "@ethersproject/contracts";
|
|
3
2
|
import { StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
4
3
|
import { parseEther } from "@ethersproject/units";
|
|
@@ -14,27 +13,25 @@ import PerpetualDataHandler from "./perpetualDataHandler";
|
|
|
14
13
|
* require gas-payments.
|
|
15
14
|
* @extends PerpetualDataHandler
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
__extends(WriteAccessHandler, _super);
|
|
16
|
+
export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
19
17
|
/**
|
|
20
18
|
* Constructor
|
|
21
19
|
* @param {string | Signer} signer Private key or ethers Signer of the account
|
|
22
20
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
constructor(config, signer) {
|
|
22
|
+
super(config);
|
|
23
|
+
this.traderAddr = "";
|
|
24
|
+
this.signer = null;
|
|
25
|
+
this.gasLimit = 15000000;
|
|
28
26
|
if (typeof signer == "string") {
|
|
29
|
-
|
|
27
|
+
this.privateKey = signer;
|
|
30
28
|
}
|
|
31
29
|
else {
|
|
32
|
-
|
|
30
|
+
this.signer = signer;
|
|
33
31
|
}
|
|
34
32
|
if (config.gasLimit != undefined) {
|
|
35
|
-
|
|
33
|
+
this.gasLimit = config.gasLimit;
|
|
36
34
|
}
|
|
37
|
-
return _this;
|
|
38
35
|
}
|
|
39
36
|
/**
|
|
40
37
|
* Initialize the writeAccessHandler-Class with this function
|
|
@@ -42,80 +39,55 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
42
39
|
* about perpetual currencies
|
|
43
40
|
* @param provider optional provider
|
|
44
41
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this.signer = wallet.connect(this.provider);
|
|
60
|
-
}
|
|
61
|
-
return [4 /*yield*/, this.initContractsAndData(this.signer, overrides)];
|
|
62
|
-
case 1:
|
|
63
|
-
_b.sent();
|
|
64
|
-
_a = this;
|
|
65
|
-
return [4 /*yield*/, this.signer.getAddress()];
|
|
66
|
-
case 2:
|
|
67
|
-
_a.traderAddr = _b.sent();
|
|
68
|
-
return [2 /*return*/];
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
};
|
|
42
|
+
async createProxyInstance(provider, overrides) {
|
|
43
|
+
if (provider == undefined) {
|
|
44
|
+
this.provider = new StaticJsonRpcProvider(this.nodeURL);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.provider = provider;
|
|
48
|
+
}
|
|
49
|
+
if (!this.signer) {
|
|
50
|
+
const wallet = new Wallet(this.privateKey);
|
|
51
|
+
this.signer = wallet.connect(this.provider);
|
|
52
|
+
}
|
|
53
|
+
await this.initContractsAndData(this.signer, overrides);
|
|
54
|
+
this.traderAddr = await this.signer.getAddress();
|
|
55
|
+
}
|
|
73
56
|
/**
|
|
74
57
|
* Set allowance for ar margin token (e.g., MATIC, ETH, USDC)
|
|
75
58
|
* @param symbol token in 'long-form' such as MATIC, symbol also fine (ETH-USD-MATIC)
|
|
76
59
|
* @param amount optional, amount to approve if not 'infinity'
|
|
77
60
|
* @returns ContractTransaction
|
|
78
61
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
var marginToken;
|
|
102
|
-
return __generator(this, function (_a) {
|
|
103
|
-
switch (_a.label) {
|
|
104
|
-
case 0:
|
|
105
|
-
marginToken = ERC20__factory.connect(tokenAddr, signer);
|
|
106
|
-
return [4 /*yield*/, marginToken.approve(proxyAddr, amount, overrides || {})];
|
|
107
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
};
|
|
62
|
+
async setAllowance(symbol, amount, overrides) {
|
|
63
|
+
//extract margin-currency name
|
|
64
|
+
let symbolarr = symbol.split("-");
|
|
65
|
+
symbol = symbol.length == 3 ? symbolarr[2] : symbolarr[0];
|
|
66
|
+
//note: symbol is in long format
|
|
67
|
+
let marginTokenAddr = this.symbolToTokenAddrMap.get(symbol);
|
|
68
|
+
if (marginTokenAddr == undefined || this.signer == null) {
|
|
69
|
+
throw Error("No margin token or signer defined, call createProxyInstance");
|
|
70
|
+
}
|
|
71
|
+
let amountDec18;
|
|
72
|
+
if (amount == undefined) {
|
|
73
|
+
amountDec18 = MAX_UINT_256;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
amountDec18 = floatToDecN(amount, this.getMarginTokenDecimalsFromSymbol(symbol));
|
|
77
|
+
}
|
|
78
|
+
return WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18, overrides);
|
|
79
|
+
}
|
|
80
|
+
static async _setAllowance(tokenAddr, proxyAddr, signer, amount, overrides) {
|
|
81
|
+
const marginToken = ERC20__factory.connect(tokenAddr, signer);
|
|
82
|
+
return await marginToken.approve(proxyAddr, amount, overrides || {});
|
|
83
|
+
}
|
|
112
84
|
/**
|
|
113
85
|
* Address corresponding to the private key used to instantiate this class.
|
|
114
86
|
* @returns {string} Address of this wallet.
|
|
115
87
|
*/
|
|
116
|
-
|
|
88
|
+
getAddress() {
|
|
117
89
|
return this.traderAddr;
|
|
118
|
-
}
|
|
90
|
+
}
|
|
119
91
|
/**
|
|
120
92
|
* Converts a given amount of chain native currency (test MATIC)
|
|
121
93
|
* into a mock token used for trading on testnet, with a rate of 1:100_000
|
|
@@ -123,35 +95,27 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
123
95
|
* @param amountToPay Amount in chain currency, e.g. "0.1" for 0.1 MATIC
|
|
124
96
|
* @returns Transaction object
|
|
125
97
|
*/
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
throw Error("Pass value to send in function call, not overrides.");
|
|
147
|
-
}
|
|
148
|
-
return [4 /*yield*/, contract.swapToMockToken(__assign({ value: parseEther(amountToPay) }, overrides))];
|
|
149
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
150
|
-
}
|
|
151
|
-
});
|
|
98
|
+
async swapForMockToken(symbol, amountToPay, overrides) {
|
|
99
|
+
if (this.signer == null) {
|
|
100
|
+
throw Error("no wallet initialized. Use createProxyInstance().");
|
|
101
|
+
}
|
|
102
|
+
let tokenAddress = this.getMarginTokenFromSymbol(symbol);
|
|
103
|
+
if (tokenAddress == undefined) {
|
|
104
|
+
throw Error("symbols not found");
|
|
105
|
+
}
|
|
106
|
+
let tokenToSwap = new Map(Object.entries(require("./config/mockSwap.json")));
|
|
107
|
+
let swapAddress = tokenToSwap.get(tokenAddress);
|
|
108
|
+
if (swapAddress == undefined) {
|
|
109
|
+
throw Error("No swap contract found for symbol.");
|
|
110
|
+
}
|
|
111
|
+
let contract = new Contract(swapAddress, MOCK_TOKEN_SWAP_ABI, this.signer);
|
|
112
|
+
if (overrides && overrides.value !== undefined) {
|
|
113
|
+
throw Error("Pass value to send in function call, not overrides.");
|
|
114
|
+
}
|
|
115
|
+
return await contract.swapToMockToken({
|
|
116
|
+
value: parseEther(amountToPay),
|
|
117
|
+
...overrides,
|
|
152
118
|
});
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
}(PerpetualDataHandler));
|
|
156
|
-
export default WriteAccessHandler;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
157
121
|
//# sourceMappingURL=writeAccessHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"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"}
|