@d8x/perpetuals-sdk 0.6.0 → 0.6.3
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.d.ts +11 -10
- package/dist/cjs/accountTrade.js +51 -45
- package/dist/cjs/accountTrade.js.map +1 -1
- package/dist/cjs/brokerTool.d.ts +14 -12
- package/dist/cjs/brokerTool.js +51 -28
- package/dist/cjs/brokerTool.js.map +1 -1
- package/dist/cjs/config/defaultConfig.json +20 -19
- package/dist/cjs/contracts/ERC20.d.ts +194 -0
- package/dist/cjs/contracts/ERC20.js +3 -0
- package/dist/cjs/contracts/ERC20.js.map +1 -0
- package/dist/cjs/contracts/IPerpetualManager.d.ts +3012 -0
- package/dist/cjs/contracts/IPerpetualManager.js +3 -0
- package/dist/cjs/contracts/IPerpetualManager.js.map +1 -0
- package/dist/cjs/contracts/LimitOrderBook.d.ts +560 -0
- package/dist/cjs/contracts/LimitOrderBook.js +3 -0
- package/dist/cjs/contracts/LimitOrderBook.js.map +1 -0
- package/dist/cjs/contracts/LimitOrderBookFactory.d.ts +152 -0
- package/dist/cjs/contracts/LimitOrderBookFactory.js +3 -0
- package/dist/cjs/contracts/LimitOrderBookFactory.js.map +1 -0
- package/dist/cjs/contracts/MockTokenSwap.d.ts +194 -0
- package/dist/cjs/contracts/MockTokenSwap.js +3 -0
- package/dist/cjs/contracts/MockTokenSwap.js.map +1 -0
- package/dist/cjs/contracts/ShareToken.d.ts +320 -0
- package/dist/cjs/contracts/ShareToken.js +3 -0
- package/dist/cjs/contracts/ShareToken.js.map +1 -0
- package/dist/cjs/contracts/common.d.ts +21 -0
- package/dist/cjs/contracts/common.js +3 -0
- package/dist/cjs/contracts/common.js.map +1 -0
- package/dist/cjs/contracts/factories/ERC20__factory.d.ts +226 -0
- package/dist/cjs/contracts/factories/ERC20__factory.js +309 -0
- package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +4599 -0
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +5909 -0
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.d.ts +131 -0
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +182 -0
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.d.ts +830 -0
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +1083 -0
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.d.ts +153 -0
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +207 -0
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/ShareToken__factory.d.ts +336 -0
- package/dist/cjs/contracts/factories/ShareToken__factory.js +449 -0
- package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -0
- package/dist/cjs/contracts/factories/index.d.ts +6 -0
- package/dist/cjs/contracts/factories/index.js +19 -0
- package/dist/cjs/contracts/factories/index.js.map +1 -0
- package/dist/cjs/contracts/index.d.ts +13 -0
- package/dist/cjs/contracts/index.js +18 -0
- package/dist/cjs/contracts/index.js.map +1 -0
- package/dist/cjs/liquidatorTool.d.ts +7 -7
- package/dist/cjs/liquidatorTool.js +17 -16
- package/dist/cjs/liquidatorTool.js.map +1 -1
- package/dist/cjs/liquidityProviderTool.d.ts +4 -4
- package/dist/cjs/liquidityProviderTool.js +6 -12
- package/dist/cjs/liquidityProviderTool.js.map +1 -1
- package/dist/cjs/marketData.d.ts +30 -22
- package/dist/cjs/marketData.js +86 -76
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/nodeSDKTypes.d.ts +6 -6
- package/dist/cjs/orderReferrerTool.d.ts +10 -10
- package/dist/cjs/orderReferrerTool.js +106 -103
- package/dist/cjs/orderReferrerTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +17 -14
- package/dist/cjs/perpetualDataHandler.js +36 -36
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/traderDigests.d.ts +2 -2
- package/dist/cjs/traderDigests.js +38 -49
- package/dist/cjs/traderDigests.js.map +1 -1
- package/dist/cjs/traderInterface.d.ts +5 -4
- package/dist/cjs/traderInterface.js +12 -24
- package/dist/cjs/traderInterface.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/writeAccessHandler.d.ts +5 -5
- package/dist/cjs/writeAccessHandler.js +13 -12
- package/dist/cjs/writeAccessHandler.js.map +1 -1
- package/dist/esm/accountTrade.d.ts +11 -10
- package/dist/esm/accountTrade.js +52 -46
- package/dist/esm/accountTrade.js.map +1 -1
- package/dist/esm/brokerTool.d.ts +14 -12
- package/dist/esm/brokerTool.js +51 -28
- package/dist/esm/brokerTool.js.map +1 -1
- package/dist/esm/config/defaultConfig.json +20 -19
- package/dist/esm/contracts/ERC20.d.ts +194 -0
- package/dist/esm/contracts/ERC20.js +2 -0
- package/dist/esm/contracts/ERC20.js.map +1 -0
- package/dist/esm/contracts/IPerpetualManager.d.ts +3012 -0
- package/dist/esm/contracts/IPerpetualManager.js +2 -0
- package/dist/esm/contracts/IPerpetualManager.js.map +1 -0
- package/dist/esm/contracts/LimitOrderBook.d.ts +560 -0
- package/dist/esm/contracts/LimitOrderBook.js +2 -0
- package/dist/esm/contracts/LimitOrderBook.js.map +1 -0
- package/dist/esm/contracts/LimitOrderBookFactory.d.ts +152 -0
- package/dist/esm/contracts/LimitOrderBookFactory.js +2 -0
- package/dist/esm/contracts/LimitOrderBookFactory.js.map +1 -0
- package/dist/esm/contracts/MockTokenSwap.d.ts +194 -0
- package/dist/esm/contracts/MockTokenSwap.js +2 -0
- package/dist/esm/contracts/MockTokenSwap.js.map +1 -0
- package/dist/esm/contracts/ShareToken.d.ts +320 -0
- package/dist/esm/contracts/ShareToken.js +2 -0
- package/dist/esm/contracts/ShareToken.js.map +1 -0
- package/dist/esm/contracts/common.d.ts +21 -0
- package/dist/esm/contracts/common.js +2 -0
- package/dist/esm/contracts/common.js.map +1 -0
- package/dist/esm/contracts/factories/ERC20__factory.d.ts +226 -0
- package/dist/esm/contracts/factories/ERC20__factory.js +306 -0
- package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -0
- package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +4599 -0
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js +5906 -0
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -0
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.d.ts +131 -0
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +179 -0
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -0
- package/dist/esm/contracts/factories/LimitOrderBook__factory.d.ts +830 -0
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js +1080 -0
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -0
- package/dist/esm/contracts/factories/MockTokenSwap__factory.d.ts +153 -0
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js +204 -0
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -0
- package/dist/esm/contracts/factories/ShareToken__factory.d.ts +336 -0
- package/dist/esm/contracts/factories/ShareToken__factory.js +446 -0
- package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -0
- package/dist/esm/contracts/factories/index.d.ts +6 -0
- package/dist/esm/contracts/factories/index.js +10 -0
- package/dist/esm/contracts/factories/index.js.map +1 -0
- package/dist/esm/contracts/index.d.ts +13 -0
- package/dist/esm/contracts/index.js +8 -0
- package/dist/esm/contracts/index.js.map +1 -0
- package/dist/esm/liquidatorTool.d.ts +7 -7
- package/dist/esm/liquidatorTool.js +18 -17
- package/dist/esm/liquidatorTool.js.map +1 -1
- package/dist/esm/liquidityProviderTool.d.ts +4 -4
- package/dist/esm/liquidityProviderTool.js +6 -12
- package/dist/esm/liquidityProviderTool.js.map +1 -1
- package/dist/esm/marketData.d.ts +30 -22
- package/dist/esm/marketData.js +87 -77
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/nodeSDKTypes.d.ts +6 -6
- package/dist/esm/orderReferrerTool.d.ts +10 -10
- package/dist/esm/orderReferrerTool.js +107 -104
- package/dist/esm/orderReferrerTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +17 -14
- package/dist/esm/perpetualDataHandler.js +36 -36
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/traderDigests.d.ts +2 -2
- package/dist/esm/traderDigests.js +38 -49
- package/dist/esm/traderDigests.js.map +1 -1
- package/dist/esm/traderInterface.d.ts +5 -4
- package/dist/esm/traderInterface.js +12 -24
- package/dist/esm/traderInterface.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.d.ts +5 -5
- package/dist/esm/writeAccessHandler.js +15 -14
- package/dist/esm/writeAccessHandler.js.map +1 -1
- package/doc/d8x-perpetuals-sdk.md +27 -0
- package/doc/marketData.md +13 -0
- package/package.json +7 -4
- package/dist/cjs/abi/testnet/IPerpetualManager.json +0 -5918
- package/dist/cjs/abi/testnet/v7/IPerpetualManager.json +0 -5918
- package/dist/cjs/abi/testnet/v8/LimitOrderBook.json +0 -1062
- package/dist/cjs/abi/testnet/v8/LimitOrderBookFactory.json +0 -161
- package/dist/cjs/abi/testnet/v8/ShareToken.json +0 -428
- package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +0 -5773
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +0 -1075
- package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +0 -135
- package/dist/cjs/abi/zkevmTestnet/ShareToken.json +0 -428
- package/dist/esm/abi/testnet/IPerpetualManager.json +0 -5918
- package/dist/esm/abi/testnet/LimitOrderBook.json +0 -1062
- package/dist/esm/abi/testnet/LimitOrderBookFactory.json +0 -161
- package/dist/esm/abi/testnet/ShareToken.json +0 -428
- package/dist/esm/abi/testnet/v7/IPerpetualManager.json +0 -5918
- package/dist/esm/abi/testnet/v7/LimitOrderBook.json +0 -1062
- package/dist/esm/abi/testnet/v7/LimitOrderBookFactory.json +0 -161
- package/dist/esm/abi/testnet/v7/ShareToken.json +0 -428
- package/dist/esm/abi/testnet/v8/LimitOrderBook.json +0 -1062
- package/dist/esm/abi/testnet/v8/LimitOrderBookFactory.json +0 -161
- package/dist/esm/abi/testnet/v8/ShareToken.json +0 -428
- package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +0 -5773
- package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +0 -1075
- package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +0 -135
- package/dist/esm/abi/zkevmTestnet/ShareToken.json +0 -428
- /package/dist/cjs/abi/{testnet/v8/IPerpetualManager.json → IPerpetualManager.json} +0 -0
- /package/dist/cjs/abi/{testnet/LimitOrderBook.json → LimitOrderBook.json} +0 -0
- /package/dist/cjs/abi/{testnet/LimitOrderBookFactory.json → LimitOrderBookFactory.json} +0 -0
- /package/dist/cjs/abi/{testnet/ShareToken.json → ShareToken.json} +0 -0
- /package/dist/esm/abi/{testnet/v8/IPerpetualManager.json → IPerpetualManager.json} +0 -0
- /package/dist/{cjs/abi/testnet/v7 → esm/abi}/LimitOrderBook.json +0 -0
- /package/dist/{cjs/abi/testnet/v7 → esm/abi}/LimitOrderBookFactory.json +0 -0
- /package/dist/{cjs/abi/testnet/v7 → esm/abi}/ShareToken.json +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
3
|
var abi_1 = require("@ethersproject/abi");
|
|
5
4
|
var bytes_1 = require("@ethersproject/bytes");
|
|
6
5
|
var keccak256_1 = require("@ethersproject/keccak256");
|
|
@@ -16,16 +15,11 @@ var TraderDigests = /** @class */ (function () {
|
|
|
16
15
|
* @ignore
|
|
17
16
|
*/
|
|
18
17
|
TraderDigests.prototype.createOrderId = function (digest) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
tmp = (0, bytes_1.concat)([(0, strings_1.toUtf8Bytes)(messagePrefix), (0, strings_1.toUtf8Bytes)(String(digestBuffer.length)), digestBuffer]);
|
|
25
|
-
// see: https://github.com/ethers-io/ethers.js/blob/c80fcddf50a9023486e9f9acb1848aba4c19f7b6/packages/hash/src.ts/message.ts#L7
|
|
26
|
-
return [2 /*return*/, (0, keccak256_1.keccak256)(tmp)];
|
|
27
|
-
});
|
|
28
|
-
});
|
|
18
|
+
var digestBuffer = buffer_1.Buffer.from(digest.substring(2, digest.length), "hex");
|
|
19
|
+
var messagePrefix = "\x19Ethereum Signed Message:\n";
|
|
20
|
+
var tmp = (0, bytes_1.concat)([(0, strings_1.toUtf8Bytes)(messagePrefix), (0, strings_1.toUtf8Bytes)(String(digestBuffer.length)), digestBuffer]);
|
|
21
|
+
// see: https://github.com/ethers-io/ethers.js/blob/c80fcddf50a9023486e9f9acb1848aba4c19f7b6/packages/hash/src.ts/message.ts#L7
|
|
22
|
+
return (0, keccak256_1.keccak256)(tmp);
|
|
29
23
|
};
|
|
30
24
|
/**
|
|
31
25
|
* Creates a digest (order-id)
|
|
@@ -38,44 +32,39 @@ var TraderDigests = /** @class */ (function () {
|
|
|
38
32
|
* @ignore
|
|
39
33
|
*/
|
|
40
34
|
TraderDigests.prototype.createDigest = function (order, chainId, isNewOrder, proxyAddress) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
]));
|
|
75
|
-
digest = (0, keccak256_1.keccak256)(abi_1.defaultAbiCoder.encode(["bytes32", "bytes32", "bool"], [domainSeparator, structHash, isNewOrder]));
|
|
76
|
-
return [2 /*return*/, digest];
|
|
77
|
-
});
|
|
78
|
-
});
|
|
35
|
+
var NAME = "Perpetual Trade Manager";
|
|
36
|
+
var DOMAIN_TYPEHASH = (0, keccak256_1.keccak256)(buffer_1.Buffer.from("EIP712Domain(string name,uint256 chainId,address verifyingContract)"));
|
|
37
|
+
var domainSeparator = (0, keccak256_1.keccak256)(abi_1.defaultAbiCoder.encode(["bytes32", "bytes32", "uint256", "address"], [DOMAIN_TYPEHASH, (0, keccak256_1.keccak256)(buffer_1.Buffer.from(NAME)), chainId, proxyAddress]));
|
|
38
|
+
var TRADE_ORDER_TYPEHASH = (0, keccak256_1.keccak256)(buffer_1.Buffer.from("Order(uint24 iPerpetualId,uint16 brokerFeeTbps,address traderAddr,address brokerAddr,int128 fAmount,int128 fLimitPrice,int128 fTriggerPrice,uint32 iDeadline,uint32 flags,uint16 leverageTDR,uint32 executionTimestamp)"));
|
|
39
|
+
var structHash = (0, keccak256_1.keccak256)(abi_1.defaultAbiCoder.encode([
|
|
40
|
+
"bytes32",
|
|
41
|
+
"uint24",
|
|
42
|
+
"uint16",
|
|
43
|
+
"address",
|
|
44
|
+
"address",
|
|
45
|
+
"int128",
|
|
46
|
+
"int128",
|
|
47
|
+
"int128",
|
|
48
|
+
"uint64",
|
|
49
|
+
"uint32",
|
|
50
|
+
"uint16",
|
|
51
|
+
"uint64",
|
|
52
|
+
], [
|
|
53
|
+
TRADE_ORDER_TYPEHASH,
|
|
54
|
+
order.iPerpetualId,
|
|
55
|
+
order.brokerFeeTbps,
|
|
56
|
+
order.traderAddr,
|
|
57
|
+
order.brokerAddr,
|
|
58
|
+
order.fAmount,
|
|
59
|
+
order.fLimitPrice,
|
|
60
|
+
order.fTriggerPrice,
|
|
61
|
+
order.iDeadline,
|
|
62
|
+
order.flags,
|
|
63
|
+
order.leverageTDR,
|
|
64
|
+
order.executionTimestamp,
|
|
65
|
+
]));
|
|
66
|
+
var digest = (0, keccak256_1.keccak256)(abi_1.defaultAbiCoder.encode(["bytes32", "bytes32", "bool"], [domainSeparator, structHash, isNewOrder]));
|
|
67
|
+
return digest;
|
|
79
68
|
};
|
|
80
69
|
return TraderDigests;
|
|
81
70
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traderDigests.js","sourceRoot":"","sources":["../../src/traderDigests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"traderDigests.js","sourceRoot":"","sources":["../../src/traderDigests.ts"],"names":[],"mappings":";;AAAA,0CAAqD;AACrD,8CAA8C;AAC9C,sDAAqD;AACrD,kDAAqD;AACrD,iCAAgC;AAGhC;IAAA;IA8EA,CAAC;IA7EC;;;;;OAKG;IACI,qCAAa,GAApB,UAAqB,MAAc;QACjC,IAAI,YAAY,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAM,aAAa,GAAG,gCAAgC,CAAC;QACvD,IAAI,GAAG,GAAG,IAAA,cAAM,EAAC,CAAC,IAAA,qBAAW,EAAC,aAAa,CAAC,EAAE,IAAA,qBAAW,EAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACvG,+HAA+H;QAC/H,OAAO,IAAA,qBAAS,EAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;OASG;IACI,oCAAY,GAAnB,UAAoB,KAAyB,EAAE,OAAe,EAAE,UAAmB,EAAE,YAAoB;QACvG,IAAM,IAAI,GAAG,yBAAyB,CAAC;QACvC,IAAM,eAAe,GAAG,IAAA,qBAAS,EAC/B,eAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CACnF,CAAC;QACF,IAAI,eAAe,GAAG,IAAA,qBAAS,EAC7B,qBAAe,CAAC,MAAM,CACpB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAC5C,CAAC,eAAe,EAAE,IAAA,qBAAS,EAAC,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CACvE,CACF,CAAC;QACF,IAAM,oBAAoB,GAAG,IAAA,qBAAS,EACpC,eAAM,CAAC,IAAI,CACT,yNAAyN,CAC1N,CACF,CAAC;QACF,IAAI,UAAU,GAAG,IAAA,qBAAS,EACxB,qBAAe,CAAC,MAAM,CACpB;YACE,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,EACD;YACE,oBAAoB;YACpB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,kBAAkB;SACzB,CACF,CACF,CAAC;QACF,IAAI,MAAM,GAAG,IAAA,qBAAS,EACpB,qBAAe,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAClG,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IACH,oBAAC;AAAD,CAAC,AA9ED,IA8EC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CallOverrides } from "@ethersproject/contracts";
|
|
1
2
|
import MarketData from "./marketData";
|
|
2
3
|
import { ClientOrder, NodeSDKConfig, Order, SmartContractOrder } from "./nodeSDKTypes";
|
|
3
4
|
import TraderDigests from "./traderDigests";
|
|
@@ -22,14 +23,14 @@ export default class TraderInterface extends MarketData {
|
|
|
22
23
|
* @param brokerAddr address of broker
|
|
23
24
|
* @returns fee (in decimals) that is charged by exchange (without broker)
|
|
24
25
|
*/
|
|
25
|
-
queryExchangeFee(poolSymbolName: string, traderAddr: string, brokerAddr: string): Promise<number>;
|
|
26
|
+
queryExchangeFee(poolSymbolName: string, traderAddr: string, brokerAddr: string, overrides?: CallOverrides): Promise<number>;
|
|
26
27
|
/**
|
|
27
28
|
*
|
|
28
29
|
* @param poolSymbolName pool symbol, e.g. MATIC
|
|
29
30
|
* @param traderAddr address of the trader
|
|
30
31
|
* @returns volume in USD
|
|
31
32
|
*/
|
|
32
|
-
getCurrentTraderVolume(poolSymbolName: string, traderAddr: string): Promise<number>;
|
|
33
|
+
getCurrentTraderVolume(poolSymbolName: string, traderAddr: string, overrides?: CallOverrides): Promise<number>;
|
|
33
34
|
/**
|
|
34
35
|
* Get digest to cancel an order. Digest needs to be signed and submitted via
|
|
35
36
|
* orderBookContract.cancelOrder(orderId, signature);
|
|
@@ -37,7 +38,7 @@ export default class TraderInterface extends MarketData {
|
|
|
37
38
|
* @param orderId
|
|
38
39
|
* @returns tuple of digest which the trader needs to sign and address of order book contract
|
|
39
40
|
*/
|
|
40
|
-
cancelOrderDigest(symbol: string, orderId: string): Promise<{
|
|
41
|
+
cancelOrderDigest(symbol: string, orderId: string, overrides?: CallOverrides): Promise<{
|
|
41
42
|
digest: string;
|
|
42
43
|
OBContractAddr: string;
|
|
43
44
|
}>;
|
|
@@ -61,7 +62,7 @@ export default class TraderInterface extends MarketData {
|
|
|
61
62
|
* @param scOrder smart contract order struct (get from order via createSCOrder)
|
|
62
63
|
* @returns digest that the trader has to sign
|
|
63
64
|
*/
|
|
64
|
-
orderDigest(scOrder: SmartContractOrder):
|
|
65
|
+
orderDigest(scOrder: SmartContractOrder): string;
|
|
65
66
|
/**
|
|
66
67
|
* Get the ABI of a method in the proxy contract
|
|
67
68
|
* @param method Name of the method
|
|
@@ -35,7 +35,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
35
35
|
* @param brokerAddr address of broker
|
|
36
36
|
* @returns fee (in decimals) that is charged by exchange (without broker)
|
|
37
37
|
*/
|
|
38
|
-
TraderInterface.prototype.queryExchangeFee = function (poolSymbolName, traderAddr, brokerAddr) {
|
|
38
|
+
TraderInterface.prototype.queryExchangeFee = function (poolSymbolName, traderAddr, brokerAddr, overrides) {
|
|
39
39
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
40
40
|
var poolId, feeTbps;
|
|
41
41
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -45,7 +45,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
45
45
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
46
46
|
}
|
|
47
47
|
poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
48
|
-
return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, brokerAddr)];
|
|
48
|
+
return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, brokerAddr, overrides || {})];
|
|
49
49
|
case 1:
|
|
50
50
|
feeTbps = _a.sent();
|
|
51
51
|
return [2 /*return*/, feeTbps / 100000];
|
|
@@ -59,7 +59,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
59
59
|
* @param traderAddr address of the trader
|
|
60
60
|
* @returns volume in USD
|
|
61
61
|
*/
|
|
62
|
-
TraderInterface.prototype.getCurrentTraderVolume = function (poolSymbolName, traderAddr) {
|
|
62
|
+
TraderInterface.prototype.getCurrentTraderVolume = function (poolSymbolName, traderAddr, overrides) {
|
|
63
63
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
64
64
|
var poolId, volume;
|
|
65
65
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -69,7 +69,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
69
69
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
70
70
|
}
|
|
71
71
|
poolId = perpetualDataHandler_1.default._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
72
|
-
return [4 /*yield*/, this.proxyContract.getCurrentTraderVolume(poolId, traderAddr)];
|
|
72
|
+
return [4 /*yield*/, this.proxyContract.getCurrentTraderVolume(poolId, traderAddr, overrides || {})];
|
|
73
73
|
case 1:
|
|
74
74
|
volume = _a.sent();
|
|
75
75
|
return [2 /*return*/, (0, d8XMath_1.ABK64x64ToFloat)(volume)];
|
|
@@ -84,7 +84,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
84
84
|
* @param orderId
|
|
85
85
|
* @returns tuple of digest which the trader needs to sign and address of order book contract
|
|
86
86
|
*/
|
|
87
|
-
TraderInterface.prototype.cancelOrderDigest = function (symbol, orderId) {
|
|
87
|
+
TraderInterface.prototype.cancelOrderDigest = function (symbol, orderId, overrides) {
|
|
88
88
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
89
89
|
var orderBookContract, scOrder, digest;
|
|
90
90
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -94,12 +94,10 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
94
94
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
95
95
|
}
|
|
96
96
|
orderBookContract = this.getOrderBookContract(symbol);
|
|
97
|
-
return [4 /*yield*/, orderBookContract.orderOfDigest(orderId)];
|
|
97
|
+
return [4 /*yield*/, orderBookContract.orderOfDigest(orderId, overrides || {})];
|
|
98
98
|
case 1:
|
|
99
99
|
scOrder = _a.sent();
|
|
100
|
-
|
|
101
|
-
case 2:
|
|
102
|
-
digest = _a.sent();
|
|
100
|
+
digest = this.digestTool.createDigest(scOrder, this.chainId, false, this.proxyAddr);
|
|
103
101
|
return [2 /*return*/, { digest: digest, OBContractAddr: orderBookContract.address }];
|
|
104
102
|
}
|
|
105
103
|
});
|
|
@@ -132,21 +130,11 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
132
130
|
* @returns digest that the trader has to sign
|
|
133
131
|
*/
|
|
134
132
|
TraderInterface.prototype.orderDigest = function (scOrder) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (this.proxyContract == null) {
|
|
141
|
-
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
142
|
-
}
|
|
143
|
-
return [4 /*yield*/, this.digestTool.createDigest(scOrder, this.chainId, true, this.proxyContract.address)];
|
|
144
|
-
case 1:
|
|
145
|
-
digest = _a.sent();
|
|
146
|
-
return [2 /*return*/, digest];
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
});
|
|
133
|
+
if (this.proxyContract == null) {
|
|
134
|
+
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
135
|
+
}
|
|
136
|
+
var digest = this.digestTool.createDigest(scOrder, this.chainId, true, this.proxyContract.address);
|
|
137
|
+
return digest;
|
|
150
138
|
};
|
|
151
139
|
/**
|
|
152
140
|
* Get the ABI of a method in the proxy contract
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traderInterface.js","sourceRoot":"","sources":["../../src/traderInterface.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAC5C,oEAAsC;AACtC,+CAAsG;AACtG,wFAA0D;AAC1D,0EAA4C;AAC5C;;;;GAIG;AACH;IAA6C,2CAAU;IAGrD,wBAAwB;IACxB,+CAA+C;IAC/C,wBAAwB;IACxB,0CAA0C;IAE1C;;;;OAIG;IACH,yBAAY,MAAqB;QAAjC,YACE,kBAAM,MAAM,CAAC,SAEd;QADC,KAAI,CAAC,UAAU,GAAG,IAAI,uBAAa,EAAE,CAAC;;IACxC,CAAC;IAED;;;;;;;OAOG;IACU,0CAAgB,GAA7B,
|
|
1
|
+
{"version":3,"file":"traderInterface.js","sourceRoot":"","sources":["../../src/traderInterface.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const sD8X_SDK_VERSION = "0.6.3";
|
package/dist/cjs/version.js
CHANGED
package/dist/cjs/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,OAAO,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Signer } from "@ethersproject/abstract-signer";
|
|
2
2
|
import { BigNumber } from "@ethersproject/bignumber";
|
|
3
|
-
import { ContractTransaction } from "@ethersproject/contracts";
|
|
3
|
+
import { CallOverrides, ContractTransaction, Overrides, PayableOverrides } from "@ethersproject/contracts";
|
|
4
4
|
import { Provider } from "@ethersproject/providers";
|
|
5
5
|
import { NodeSDKConfig } from "./nodeSDKTypes";
|
|
6
6
|
import PerpetualDataHandler from "./perpetualDataHandler";
|
|
@@ -28,15 +28,15 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
28
28
|
* about perpetual currencies
|
|
29
29
|
* @param provider optional provider
|
|
30
30
|
*/
|
|
31
|
-
createProxyInstance(provider?: Provider): Promise<void>;
|
|
31
|
+
createProxyInstance(provider?: Provider, overrides?: CallOverrides): Promise<void>;
|
|
32
32
|
/**
|
|
33
33
|
* Set allowance for ar margin token (e.g., MATIC, ETH, USDC)
|
|
34
34
|
* @param symbol token in 'long-form' such as MATIC, symbol also fine (ETH-USD-MATIC)
|
|
35
35
|
* @param amount optional, amount to approve if not 'infinity'
|
|
36
36
|
* @returns ContractTransaction
|
|
37
37
|
*/
|
|
38
|
-
setAllowance(symbol: string, amount?: number
|
|
39
|
-
protected static _setAllowance(tokenAddr: string, proxyAddr: string, signer: Signer, amount: BigNumber): Promise<ContractTransaction>;
|
|
38
|
+
setAllowance(symbol: string, amount?: number, overrides?: Overrides): Promise<ContractTransaction>;
|
|
39
|
+
protected static _setAllowance(tokenAddr: string, proxyAddr: string, signer: Signer, amount: BigNumber, overrides?: Overrides): Promise<ContractTransaction>;
|
|
40
40
|
/**
|
|
41
41
|
* Address corresponding to the private key used to instantiate this class.
|
|
42
42
|
* @returns {string} Address of this wallet.
|
|
@@ -49,5 +49,5 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
49
49
|
* @param amountToPay Amount in chain currency, e.g. "0.1" for 0.1 MATIC
|
|
50
50
|
* @returns Transaction object
|
|
51
51
|
*/
|
|
52
|
-
swapForMockToken(symbol: string, amountToPay: string): Promise<ContractTransaction>;
|
|
52
|
+
swapForMockToken(symbol: string, amountToPay: string, overrides?: PayableOverrides): Promise<ContractTransaction>;
|
|
53
53
|
}
|
|
@@ -5,6 +5,7 @@ var contracts_1 = require("@ethersproject/contracts");
|
|
|
5
5
|
var providers_1 = require("@ethersproject/providers");
|
|
6
6
|
var units_1 = require("@ethersproject/units");
|
|
7
7
|
var wallet_1 = require("@ethersproject/wallet");
|
|
8
|
+
var contracts_2 = require("./contracts");
|
|
8
9
|
var d8XMath_1 = require("./d8XMath");
|
|
9
10
|
var nodeSDKTypes_1 = require("./nodeSDKTypes");
|
|
10
11
|
var perpetualDataHandler_1 = tslib_1.__importDefault(require("./perpetualDataHandler"));
|
|
@@ -47,7 +48,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
47
48
|
* about perpetual currencies
|
|
48
49
|
* @param provider optional provider
|
|
49
50
|
*/
|
|
50
|
-
WriteAccessHandler.prototype.createProxyInstance = function (provider) {
|
|
51
|
+
WriteAccessHandler.prototype.createProxyInstance = function (provider, overrides) {
|
|
51
52
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
52
53
|
var wallet, _a;
|
|
53
54
|
return tslib_1.__generator(this, function (_b) {
|
|
@@ -63,7 +64,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
63
64
|
wallet = new wallet_1.Wallet(this.privateKey);
|
|
64
65
|
this.signer = wallet.connect(this.provider);
|
|
65
66
|
}
|
|
66
|
-
return [4 /*yield*/, this.initContractsAndData(this.signer)];
|
|
67
|
+
return [4 /*yield*/, this.initContractsAndData(this.signer, overrides)];
|
|
67
68
|
case 1:
|
|
68
69
|
_b.sent();
|
|
69
70
|
_a = this;
|
|
@@ -81,8 +82,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
81
82
|
* @param amount optional, amount to approve if not 'infinity'
|
|
82
83
|
* @returns ContractTransaction
|
|
83
84
|
*/
|
|
84
|
-
WriteAccessHandler.prototype.setAllowance = function (symbol, amount) {
|
|
85
|
-
if (amount === void 0) { amount = undefined; }
|
|
85
|
+
WriteAccessHandler.prototype.setAllowance = function (symbol, amount, overrides) {
|
|
86
86
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
87
87
|
var symbolarr, marginTokenAddr, amountDec18;
|
|
88
88
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -98,18 +98,18 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
98
98
|
else {
|
|
99
99
|
amountDec18 = (0, d8XMath_1.floatToDec18)(amount);
|
|
100
100
|
}
|
|
101
|
-
return [2 /*return*/, WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18)];
|
|
101
|
+
return [2 /*return*/, WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18, overrides)];
|
|
102
102
|
});
|
|
103
103
|
});
|
|
104
104
|
};
|
|
105
|
-
WriteAccessHandler._setAllowance = function (tokenAddr, proxyAddr, signer, amount) {
|
|
105
|
+
WriteAccessHandler._setAllowance = function (tokenAddr, proxyAddr, signer, amount, overrides) {
|
|
106
106
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
107
107
|
var marginToken;
|
|
108
108
|
return tslib_1.__generator(this, function (_a) {
|
|
109
109
|
switch (_a.label) {
|
|
110
110
|
case 0:
|
|
111
|
-
marginToken =
|
|
112
|
-
return [4 /*yield*/, marginToken.approve(proxyAddr, amount)];
|
|
111
|
+
marginToken = contracts_2.ERC20__factory.connect(tokenAddr, signer);
|
|
112
|
+
return [4 /*yield*/, marginToken.approve(proxyAddr, amount, overrides || {})];
|
|
113
113
|
case 1: return [2 /*return*/, _a.sent()];
|
|
114
114
|
}
|
|
115
115
|
});
|
|
@@ -129,7 +129,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
129
129
|
* @param amountToPay Amount in chain currency, e.g. "0.1" for 0.1 MATIC
|
|
130
130
|
* @returns Transaction object
|
|
131
131
|
*/
|
|
132
|
-
WriteAccessHandler.prototype.swapForMockToken = function (symbol, amountToPay) {
|
|
132
|
+
WriteAccessHandler.prototype.swapForMockToken = function (symbol, amountToPay, overrides) {
|
|
133
133
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
134
134
|
var tokenAddress, tokenToSwap, swapAddress, contract;
|
|
135
135
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -148,9 +148,10 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
148
148
|
throw Error("No swap contract found for symbol.");
|
|
149
149
|
}
|
|
150
150
|
contract = new contracts_1.Contract(swapAddress, nodeSDKTypes_1.MOCK_TOKEN_SWAP_ABI, this.signer);
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
if (overrides && overrides.value !== undefined) {
|
|
152
|
+
throw Error("Pass value to send in function call, not overrides.");
|
|
153
|
+
}
|
|
154
|
+
return [4 /*yield*/, contract.swapToMockToken(tslib_1.__assign({ value: (0, units_1.parseEther)(amountToPay) }, overrides))];
|
|
154
155
|
case 1: return [2 /*return*/, _a.sent()];
|
|
155
156
|
}
|
|
156
157
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":";;;AAEA,sDAAqH;AACrH,sDAA2E;AAC3E,8CAAkD;AAClD,gDAA+C;AAC/C,yCAA6C;AAC7C,qCAAyC;AACzC,+CAA6F;AAC7F,wFAA0D;AAE1D;;;;;;GAMG;AACH;IAAgD,8CAAoB;IAKlE;;;;OAIG;IACH,4BAAmB,MAAqB,EAAE,UAAmB,EAAE,MAAe;QAA9E,YACE,kBAAM,MAAM,CAAC,SAWd;QApBS,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAkB,IAAI,CAAC;QAC7B,cAAQ,GAAW,QAAU,CAAC;QAQtC,IAAI,UAAU,EAAE;YACd,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC9B;aAAM,IAAI,MAAM,EAAE;YACjB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,SAAS,EAAE;YAChC,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;SACjC;;IACH,CAAC;IAED;;;;;OAKG;IACU,gDAAmB,GAAhC,UAAiC,QAAmB,EAAE,SAAyB;;;;;;wBAC7E,IAAI,QAAQ,IAAI,SAAS,EAAE;4BACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACzD;6BAAM;4BACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;yBAC1B;wBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;4BACV,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;4BAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBAC7C;wBACD,qBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA;;wBAAvD,SAAuD,CAAC;wBACxD,KAAA,IAAI,CAAA;wBAAc,qBAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;wBAAhD,GAAK,UAAU,GAAG,SAA8B,CAAC;;;;;KAClD;IAED;;;;;OAKG;IACU,yCAAY,GAAzB,UAA0B,MAAc,EAAE,MAAe,EAAE,SAAqB;;;;gBAE1E,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEtD,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,eAAe,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;oBACvD,MAAM,KAAK,CAAC,6DAA6D,CAAC,CAAC;iBAC5E;gBAED,IAAI,MAAM,IAAI,SAAS,EAAE;oBACvB,WAAW,GAAG,2BAAY,CAAC;iBAC5B;qBAAM;oBACL,WAAW,GAAG,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC;iBACpC;gBACD,sBAAO,kBAAkB,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAC;;;KAC/G;IAEsB,gCAAa,GAApC,UACE,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,MAAiB,EACjB,SAAqB;;;;;;wBAEf,WAAW,GAAG,0BAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBACvD,qBAAM,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,EAAA;4BAApE,sBAAO,SAA6D,EAAC;;;;KACtE;IAED;;;OAGG;IACI,uCAAU,GAAjB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACU,6CAAgB,GAA7B,UACE,MAAc,EACd,WAAmB,EACnB,SAA4B;;;;;;wBAE5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;4BACvB,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAC;yBAClE;wBACG,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;wBACzD,IAAI,YAAY,IAAI,SAAS,EAAE;4BAC7B,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;yBAClC;wBACG,WAAW,GAAG,IAAI,GAAG,CAAiB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;wBACzF,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBAChD,IAAI,WAAW,IAAI,SAAS,EAAE;4BAC5B,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;yBACnD;wBACG,QAAQ,GAAG,IAAI,oBAAQ,CAAC,WAAW,EAAE,kCAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3E,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE;4BAC9C,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;yBACpE;wBACM,qBAAM,QAAQ,CAAC,eAAe,CAAC,mBACpC,KAAK,EAAE,IAAA,kBAAU,EAAC,WAAW,CAAC,IAC3B,SAAS,CACO,CAAC,EAAA;4BAHtB,sBAAO,SAGe,EAAC;;;;KACxB;IACH,yBAAC;AAAD,CAAC,AAxHD,CAAgD,8BAAoB,GAwHnE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Signer } from "@ethersproject/abstract-signer";
|
|
2
|
-
import {
|
|
2
|
+
import { CallOverrides, ContractTransaction, Overrides, PayableOverrides } from "@ethersproject/contracts";
|
|
3
|
+
import { IPerpetualManager, LimitOrderBook } from "./contracts";
|
|
3
4
|
import { NodeSDKConfig, Order, OrderResponse, PerpetualStaticInfo, PriceFeedSubmission } from "./nodeSDKTypes";
|
|
4
5
|
import TraderDigests from "./traderDigests";
|
|
5
6
|
import WriteAccessHandler from "./writeAccessHandler";
|
|
@@ -53,7 +54,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
53
54
|
* main();
|
|
54
55
|
* @returns {ContractTransaction} Contract Transaction (containing events).
|
|
55
56
|
*/
|
|
56
|
-
cancelOrder(symbol: string, orderId: string, submission?: PriceFeedSubmission): Promise<ContractTransaction>;
|
|
57
|
+
cancelOrder(symbol: string, orderId: string, submission?: PriceFeedSubmission, overrides?: Overrides): Promise<ContractTransaction>;
|
|
57
58
|
/**
|
|
58
59
|
* Submits an order to the exchange.
|
|
59
60
|
* @param {Order} order Order structure. As a minimum the structure needs to
|
|
@@ -112,7 +113,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
112
113
|
*
|
|
113
114
|
* @returns {ContractTransaction} Contract Transaction (containing events).
|
|
114
115
|
*/
|
|
115
|
-
order(order: Order, parentChildIds?: [string, string]): Promise<OrderResponse>;
|
|
116
|
+
order(order: Order, parentChildIds?: [string, string], overrides?: Overrides): Promise<OrderResponse>;
|
|
116
117
|
/**
|
|
117
118
|
* Fee charged by the exchange for trading any perpetual on a given pool.
|
|
118
119
|
* It accounts for the current trader's fee tier (based on the trader's D8X balance and trading volume).
|
|
@@ -137,7 +138,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
137
138
|
*
|
|
138
139
|
* @returns Exchange fee, in decimals (i.e. 0.1% is 0.001).
|
|
139
140
|
*/
|
|
140
|
-
queryExchangeFee(poolSymbolName: string, brokerAddr?: string): Promise<number>;
|
|
141
|
+
queryExchangeFee(poolSymbolName: string, brokerAddr?: string, overrides?: Overrides): Promise<number>;
|
|
141
142
|
/**
|
|
142
143
|
* Exponentially weighted EMA of the total USD trading volume of all trades performed by this trader.
|
|
143
144
|
* The weights are chosen so that in average this coincides with the 30 day volume.
|
|
@@ -159,7 +160,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
159
160
|
*
|
|
160
161
|
* @returns {number} Current trading volume for this trader, in USD.
|
|
161
162
|
*/
|
|
162
|
-
getCurrentTraderVolume(poolSymbolName: string): Promise<number>;
|
|
163
|
+
getCurrentTraderVolume(poolSymbolName: string, overrides?: CallOverrides): Promise<number>;
|
|
163
164
|
/**
|
|
164
165
|
*
|
|
165
166
|
* @param symbol Symbol of the form ETH-USD-MATIC.
|
|
@@ -180,7 +181,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
180
181
|
*
|
|
181
182
|
* @returns {string[]} Array of Ids for all the orders currently open by this trader.
|
|
182
183
|
*/
|
|
183
|
-
getOrderIds(symbol: string): Promise<string[]>;
|
|
184
|
+
getOrderIds(symbol: string, overrides?: CallOverrides): Promise<string[]>;
|
|
184
185
|
/**
|
|
185
186
|
* Static order function
|
|
186
187
|
* @param order order type (not SmartContractOrder but Order)
|
|
@@ -194,8 +195,8 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
194
195
|
* @returns [transaction hash, order id]
|
|
195
196
|
* @ignore
|
|
196
197
|
*/
|
|
197
|
-
_order(order: Order, traderAddr: string, symbolToPerpetualMap: Map<string, PerpetualStaticInfo>, proxyContract:
|
|
198
|
-
protected _cancelOrder(symbol: string, orderId: string, orderBookContract:
|
|
198
|
+
_order(order: Order, traderAddr: string, symbolToPerpetualMap: Map<string, PerpetualStaticInfo>, proxyContract: IPerpetualManager, orderBookContract: LimitOrderBook, chainId: number, signer: Signer, parentChildIds?: [string, string], overrides?: Overrides): Promise<OrderResponse>;
|
|
199
|
+
protected _cancelOrder(symbol: string, orderId: string, orderBookContract: LimitOrderBook, submission?: PriceFeedSubmission, overrides?: PayableOverrides): Promise<ContractTransaction>;
|
|
199
200
|
/**
|
|
200
201
|
* Creates a signature
|
|
201
202
|
* @param order smart-contract-type order
|
|
@@ -212,11 +213,11 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
212
213
|
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
213
214
|
* @param {number} amount How much collateral to add, in units of collateral currency, e.g. MATIC
|
|
214
215
|
*/
|
|
215
|
-
addCollateral(symbol: string, amount: number, submission?: PriceFeedSubmission): Promise<ContractTransaction>;
|
|
216
|
+
addCollateral(symbol: string, amount: number, submission?: PriceFeedSubmission, overrides?: PayableOverrides): Promise<ContractTransaction>;
|
|
216
217
|
/**
|
|
217
218
|
*
|
|
218
219
|
* @param {string} symbol Symbol of the form ETH-USD-MATIC.
|
|
219
220
|
* @param {number} amount How much collateral to remove, in units of collateral currency, e.g. MATIC
|
|
220
221
|
*/
|
|
221
|
-
removeCollateral(symbol: string, amount: number, submission?: PriceFeedSubmission): Promise<ContractTransaction>;
|
|
222
|
+
removeCollateral(symbol: string, amount: number, submission?: PriceFeedSubmission, overrides?: PayableOverrides): Promise<ContractTransaction>;
|
|
222
223
|
}
|