@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,4 +1,3 @@
|
|
|
1
|
-
import { __awaiter, __generator } from "tslib";
|
|
2
1
|
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
3
2
|
import { concat } from "@ethersproject/bytes";
|
|
4
3
|
import { keccak256 } from "@ethersproject/keccak256";
|
|
@@ -14,16 +13,11 @@ var TraderDigests = /** @class */ (function () {
|
|
|
14
13
|
* @ignore
|
|
15
14
|
*/
|
|
16
15
|
TraderDigests.prototype.createOrderId = function (digest) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
tmp = concat([toUtf8Bytes(messagePrefix), toUtf8Bytes(String(digestBuffer.length)), digestBuffer]);
|
|
23
|
-
// see: https://github.com/ethers-io/ethers.js/blob/c80fcddf50a9023486e9f9acb1848aba4c19f7b6/packages/hash/src.ts/message.ts#L7
|
|
24
|
-
return [2 /*return*/, keccak256(tmp)];
|
|
25
|
-
});
|
|
26
|
-
});
|
|
16
|
+
var digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
17
|
+
var messagePrefix = "\x19Ethereum Signed Message:\n";
|
|
18
|
+
var tmp = concat([toUtf8Bytes(messagePrefix), toUtf8Bytes(String(digestBuffer.length)), digestBuffer]);
|
|
19
|
+
// see: https://github.com/ethers-io/ethers.js/blob/c80fcddf50a9023486e9f9acb1848aba4c19f7b6/packages/hash/src.ts/message.ts#L7
|
|
20
|
+
return keccak256(tmp);
|
|
27
21
|
};
|
|
28
22
|
/**
|
|
29
23
|
* Creates a digest (order-id)
|
|
@@ -36,44 +30,39 @@ var TraderDigests = /** @class */ (function () {
|
|
|
36
30
|
* @ignore
|
|
37
31
|
*/
|
|
38
32
|
TraderDigests.prototype.createDigest = function (order, chainId, isNewOrder, proxyAddress) {
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
digest = keccak256(defaultAbiCoder.encode(["bytes32", "bytes32", "bool"], [domainSeparator, structHash, isNewOrder]));
|
|
74
|
-
return [2 /*return*/, digest];
|
|
75
|
-
});
|
|
76
|
-
});
|
|
33
|
+
var NAME = "Perpetual Trade Manager";
|
|
34
|
+
var DOMAIN_TYPEHASH = keccak256(Buffer.from("EIP712Domain(string name,uint256 chainId,address verifyingContract)"));
|
|
35
|
+
var domainSeparator = keccak256(defaultAbiCoder.encode(["bytes32", "bytes32", "uint256", "address"], [DOMAIN_TYPEHASH, keccak256(Buffer.from(NAME)), chainId, proxyAddress]));
|
|
36
|
+
var TRADE_ORDER_TYPEHASH = keccak256(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)"));
|
|
37
|
+
var structHash = keccak256(defaultAbiCoder.encode([
|
|
38
|
+
"bytes32",
|
|
39
|
+
"uint24",
|
|
40
|
+
"uint16",
|
|
41
|
+
"address",
|
|
42
|
+
"address",
|
|
43
|
+
"int128",
|
|
44
|
+
"int128",
|
|
45
|
+
"int128",
|
|
46
|
+
"uint64",
|
|
47
|
+
"uint32",
|
|
48
|
+
"uint16",
|
|
49
|
+
"uint64",
|
|
50
|
+
], [
|
|
51
|
+
TRADE_ORDER_TYPEHASH,
|
|
52
|
+
order.iPerpetualId,
|
|
53
|
+
order.brokerFeeTbps,
|
|
54
|
+
order.traderAddr,
|
|
55
|
+
order.brokerAddr,
|
|
56
|
+
order.fAmount,
|
|
57
|
+
order.fLimitPrice,
|
|
58
|
+
order.fTriggerPrice,
|
|
59
|
+
order.iDeadline,
|
|
60
|
+
order.flags,
|
|
61
|
+
order.leverageTDR,
|
|
62
|
+
order.executionTimestamp,
|
|
63
|
+
]));
|
|
64
|
+
var digest = keccak256(defaultAbiCoder.encode(["bytes32", "bytes32", "bool"], [domainSeparator, structHash, isNewOrder]));
|
|
65
|
+
return digest;
|
|
77
66
|
};
|
|
78
67
|
return TraderDigests;
|
|
79
68
|
}());
|
|
@@ -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,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC;IAAA;IA8EA,CAAC;IA7EC;;;;;OAKG;IACI,qCAAa,GAApB,UAAqB,MAAc;QACjC,IAAI,YAAY,GAAG,MAAM,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,MAAM,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACvG,+HAA+H;QAC/H,OAAO,SAAS,CAAC,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,SAAS,CAC/B,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CACnF,CAAC;QACF,IAAI,eAAe,GAAG,SAAS,CAC7B,eAAe,CAAC,MAAM,CACpB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAC5C,CAAC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CACvE,CACF,CAAC;QACF,IAAM,oBAAoB,GAAG,SAAS,CACpC,MAAM,CAAC,IAAI,CACT,yNAAyN,CAC1N,CACF,CAAC;QACF,IAAI,UAAU,GAAG,SAAS,CACxB,eAAe,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,SAAS,CACpB,eAAe,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
|
|
@@ -33,7 +33,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
33
33
|
* @param brokerAddr address of broker
|
|
34
34
|
* @returns fee (in decimals) that is charged by exchange (without broker)
|
|
35
35
|
*/
|
|
36
|
-
TraderInterface.prototype.queryExchangeFee = function (poolSymbolName, traderAddr, brokerAddr) {
|
|
36
|
+
TraderInterface.prototype.queryExchangeFee = function (poolSymbolName, traderAddr, brokerAddr, overrides) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function () {
|
|
38
38
|
var poolId, feeTbps;
|
|
39
39
|
return __generator(this, function (_a) {
|
|
@@ -43,7 +43,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
43
43
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
44
44
|
}
|
|
45
45
|
poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
46
|
-
return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, brokerAddr)];
|
|
46
|
+
return [4 /*yield*/, this.proxyContract.queryExchangeFee(poolId, traderAddr, brokerAddr, overrides || {})];
|
|
47
47
|
case 1:
|
|
48
48
|
feeTbps = _a.sent();
|
|
49
49
|
return [2 /*return*/, feeTbps / 100000];
|
|
@@ -57,7 +57,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
57
57
|
* @param traderAddr address of the trader
|
|
58
58
|
* @returns volume in USD
|
|
59
59
|
*/
|
|
60
|
-
TraderInterface.prototype.getCurrentTraderVolume = function (poolSymbolName, traderAddr) {
|
|
60
|
+
TraderInterface.prototype.getCurrentTraderVolume = function (poolSymbolName, traderAddr, overrides) {
|
|
61
61
|
return __awaiter(this, void 0, void 0, function () {
|
|
62
62
|
var poolId, volume;
|
|
63
63
|
return __generator(this, function (_a) {
|
|
@@ -67,7 +67,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
67
67
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
68
68
|
}
|
|
69
69
|
poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
70
|
-
return [4 /*yield*/, this.proxyContract.getCurrentTraderVolume(poolId, traderAddr)];
|
|
70
|
+
return [4 /*yield*/, this.proxyContract.getCurrentTraderVolume(poolId, traderAddr, overrides || {})];
|
|
71
71
|
case 1:
|
|
72
72
|
volume = _a.sent();
|
|
73
73
|
return [2 /*return*/, ABK64x64ToFloat(volume)];
|
|
@@ -82,7 +82,7 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
82
82
|
* @param orderId
|
|
83
83
|
* @returns tuple of digest which the trader needs to sign and address of order book contract
|
|
84
84
|
*/
|
|
85
|
-
TraderInterface.prototype.cancelOrderDigest = function (symbol, orderId) {
|
|
85
|
+
TraderInterface.prototype.cancelOrderDigest = function (symbol, orderId, overrides) {
|
|
86
86
|
return __awaiter(this, void 0, void 0, function () {
|
|
87
87
|
var orderBookContract, scOrder, digest;
|
|
88
88
|
return __generator(this, function (_a) {
|
|
@@ -92,12 +92,10 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
92
92
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
93
93
|
}
|
|
94
94
|
orderBookContract = this.getOrderBookContract(symbol);
|
|
95
|
-
return [4 /*yield*/, orderBookContract.orderOfDigest(orderId)];
|
|
95
|
+
return [4 /*yield*/, orderBookContract.orderOfDigest(orderId, overrides || {})];
|
|
96
96
|
case 1:
|
|
97
97
|
scOrder = _a.sent();
|
|
98
|
-
|
|
99
|
-
case 2:
|
|
100
|
-
digest = _a.sent();
|
|
98
|
+
digest = this.digestTool.createDigest(scOrder, this.chainId, false, this.proxyAddr);
|
|
101
99
|
return [2 /*return*/, { digest: digest, OBContractAddr: orderBookContract.address }];
|
|
102
100
|
}
|
|
103
101
|
});
|
|
@@ -130,21 +128,11 @@ var TraderInterface = /** @class */ (function (_super) {
|
|
|
130
128
|
* @returns digest that the trader has to sign
|
|
131
129
|
*/
|
|
132
130
|
TraderInterface.prototype.orderDigest = function (scOrder) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
if (this.proxyContract == null) {
|
|
139
|
-
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
140
|
-
}
|
|
141
|
-
return [4 /*yield*/, this.digestTool.createDigest(scOrder, this.chainId, true, this.proxyContract.address)];
|
|
142
|
-
case 1:
|
|
143
|
-
digest = _a.sent();
|
|
144
|
-
return [2 /*return*/, digest];
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
});
|
|
131
|
+
if (this.proxyContract == null) {
|
|
132
|
+
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
133
|
+
}
|
|
134
|
+
var digest = this.digestTool.createDigest(scOrder, this.chainId, true, this.proxyContract.address);
|
|
135
|
+
return digest;
|
|
148
136
|
};
|
|
149
137
|
/**
|
|
150
138
|
* 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,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAyD,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C;;;;GAIG;AACH;IAA6C,mCAAU;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,aAAa,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/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const sD8X_SDK_VERSION = "0.6.3";
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var
|
|
1
|
+
export var sD8X_SDK_VERSION = "0.6.3";
|
|
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,IAAM,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,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
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { __awaiter, __extends, __generator } from "tslib";
|
|
1
|
+
import { __assign, __awaiter, __extends, __generator } from "tslib";
|
|
2
2
|
import { Contract } from "@ethersproject/contracts";
|
|
3
3
|
import { StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
4
4
|
import { parseEther } from "@ethersproject/units";
|
|
5
5
|
import { Wallet } from "@ethersproject/wallet";
|
|
6
|
+
import { ERC20__factory } from "./contracts";
|
|
6
7
|
import { floatToDec18 } from "./d8XMath";
|
|
7
|
-
import {
|
|
8
|
+
import { MAX_UINT_256, MOCK_TOKEN_SWAP_ABI } from "./nodeSDKTypes";
|
|
8
9
|
import PerpetualDataHandler from "./perpetualDataHandler";
|
|
9
10
|
/**
|
|
10
11
|
* This is a parent class for the classes that require
|
|
@@ -45,7 +46,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
45
46
|
* about perpetual currencies
|
|
46
47
|
* @param provider optional provider
|
|
47
48
|
*/
|
|
48
|
-
WriteAccessHandler.prototype.createProxyInstance = function (provider) {
|
|
49
|
+
WriteAccessHandler.prototype.createProxyInstance = function (provider, overrides) {
|
|
49
50
|
return __awaiter(this, void 0, void 0, function () {
|
|
50
51
|
var wallet, _a;
|
|
51
52
|
return __generator(this, function (_b) {
|
|
@@ -61,7 +62,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
61
62
|
wallet = new Wallet(this.privateKey);
|
|
62
63
|
this.signer = wallet.connect(this.provider);
|
|
63
64
|
}
|
|
64
|
-
return [4 /*yield*/, this.initContractsAndData(this.signer)];
|
|
65
|
+
return [4 /*yield*/, this.initContractsAndData(this.signer, overrides)];
|
|
65
66
|
case 1:
|
|
66
67
|
_b.sent();
|
|
67
68
|
_a = this;
|
|
@@ -79,8 +80,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
79
80
|
* @param amount optional, amount to approve if not 'infinity'
|
|
80
81
|
* @returns ContractTransaction
|
|
81
82
|
*/
|
|
82
|
-
WriteAccessHandler.prototype.setAllowance = function (symbol, amount) {
|
|
83
|
-
if (amount === void 0) { amount = undefined; }
|
|
83
|
+
WriteAccessHandler.prototype.setAllowance = function (symbol, amount, overrides) {
|
|
84
84
|
return __awaiter(this, void 0, void 0, function () {
|
|
85
85
|
var symbolarr, marginTokenAddr, amountDec18;
|
|
86
86
|
return __generator(this, function (_a) {
|
|
@@ -96,18 +96,18 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
96
96
|
else {
|
|
97
97
|
amountDec18 = floatToDec18(amount);
|
|
98
98
|
}
|
|
99
|
-
return [2 /*return*/, WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18)];
|
|
99
|
+
return [2 /*return*/, WriteAccessHandler._setAllowance(marginTokenAddr, this.proxyAddr, this.signer, amountDec18, overrides)];
|
|
100
100
|
});
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
|
-
WriteAccessHandler._setAllowance = function (tokenAddr, proxyAddr, signer, amount) {
|
|
103
|
+
WriteAccessHandler._setAllowance = function (tokenAddr, proxyAddr, signer, amount, overrides) {
|
|
104
104
|
return __awaiter(this, void 0, void 0, function () {
|
|
105
105
|
var marginToken;
|
|
106
106
|
return __generator(this, function (_a) {
|
|
107
107
|
switch (_a.label) {
|
|
108
108
|
case 0:
|
|
109
|
-
marginToken =
|
|
110
|
-
return [4 /*yield*/, marginToken.approve(proxyAddr, amount)];
|
|
109
|
+
marginToken = ERC20__factory.connect(tokenAddr, signer);
|
|
110
|
+
return [4 /*yield*/, marginToken.approve(proxyAddr, amount, overrides || {})];
|
|
111
111
|
case 1: return [2 /*return*/, _a.sent()];
|
|
112
112
|
}
|
|
113
113
|
});
|
|
@@ -127,7 +127,7 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
127
127
|
* @param amountToPay Amount in chain currency, e.g. "0.1" for 0.1 MATIC
|
|
128
128
|
* @returns Transaction object
|
|
129
129
|
*/
|
|
130
|
-
WriteAccessHandler.prototype.swapForMockToken = function (symbol, amountToPay) {
|
|
130
|
+
WriteAccessHandler.prototype.swapForMockToken = function (symbol, amountToPay, overrides) {
|
|
131
131
|
return __awaiter(this, void 0, void 0, function () {
|
|
132
132
|
var tokenAddress, tokenToSwap, swapAddress, contract;
|
|
133
133
|
return __generator(this, function (_a) {
|
|
@@ -146,9 +146,10 @@ var WriteAccessHandler = /** @class */ (function (_super) {
|
|
|
146
146
|
throw Error("No swap contract found for symbol.");
|
|
147
147
|
}
|
|
148
148
|
contract = new Contract(swapAddress, MOCK_TOKEN_SWAP_ABI, this.signer);
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
if (overrides && overrides.value !== undefined) {
|
|
150
|
+
throw Error("Pass value to send in function call, not overrides.");
|
|
151
|
+
}
|
|
152
|
+
return [4 /*yield*/, contract.swapToMockToken(__assign({ value: parseEther(amountToPay) }, overrides))];
|
|
152
153
|
case 1: return [2 /*return*/, _a.sent()];
|
|
153
154
|
}
|
|
154
155
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":";AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2400,6 +2400,7 @@ No gas required for the queries here.</p>
|
|
|
2400
2400
|
* [.maxOrderSizeForTrader(side, positionRisk)](#MarketData+maxOrderSizeForTrader) ⇒
|
|
2401
2401
|
* [.maxSignedPosition(side, symbol)](#MarketData+maxSignedPosition) ⇒
|
|
2402
2402
|
* [.getOraclePrice(base, quote)](#MarketData+getOraclePrice) ⇒ <code>number</code>
|
|
2403
|
+
* [.getOrderStatus(symbol, orderId, overrides)](#MarketData+getOrderStatus) ⇒
|
|
2403
2404
|
* [.getMarkPrice(symbol)](#MarketData+getMarkPrice) ⇒
|
|
2404
2405
|
* [.getPerpetualPrice(symbol, quantity)](#MarketData+getPerpetualPrice) ⇒
|
|
2405
2406
|
* [.getPerpetualState(symbol, indexPrices)](#MarketData+getPerpetualState) ⇒
|
|
@@ -2772,6 +2773,18 @@ async function main() {
|
|
|
2772
2773
|
}
|
|
2773
2774
|
main();
|
|
2774
2775
|
```
|
|
2776
|
+
<a name="MarketData+getOrderStatus"></a>
|
|
2777
|
+
|
|
2778
|
+
### marketData.getOrderStatus(symbol, orderId, overrides) ⇒
|
|
2779
|
+
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
2780
|
+
**Returns**: <p>Order status ()</p>
|
|
2781
|
+
|
|
2782
|
+
| Param | Description |
|
|
2783
|
+
| --- | --- |
|
|
2784
|
+
| symbol | <p>Symbol of the form ETH-USD-MATIC</p> |
|
|
2785
|
+
| orderId | <p>Order Id</p> |
|
|
2786
|
+
| overrides | |
|
|
2787
|
+
|
|
2775
2788
|
<a name="MarketData+getMarkPrice"></a>
|
|
2776
2789
|
|
|
2777
2790
|
### marketData.getMarkPrice(symbol) ⇒
|
|
@@ -4525,6 +4538,7 @@ so that signatures can be handled in frontend via wallet</p>
|
|
|
4525
4538
|
* [.maxOrderSizeForTrader(side, positionRisk)](#MarketData+maxOrderSizeForTrader) ⇒
|
|
4526
4539
|
* [.maxSignedPosition(side, symbol)](#MarketData+maxSignedPosition) ⇒
|
|
4527
4540
|
* [.getOraclePrice(base, quote)](#MarketData+getOraclePrice) ⇒ <code>number</code>
|
|
4541
|
+
* [.getOrderStatus(symbol, orderId, overrides)](#MarketData+getOrderStatus) ⇒
|
|
4528
4542
|
* [.getMarkPrice(symbol)](#MarketData+getMarkPrice) ⇒
|
|
4529
4543
|
* [.getPerpetualPrice(symbol, quantity)](#MarketData+getPerpetualPrice) ⇒
|
|
4530
4544
|
* [.getPerpetualState(symbol, indexPrices)](#MarketData+getPerpetualState) ⇒
|
|
@@ -5003,6 +5017,19 @@ async function main() {
|
|
|
5003
5017
|
}
|
|
5004
5018
|
main();
|
|
5005
5019
|
```
|
|
5020
|
+
<a name="MarketData+getOrderStatus"></a>
|
|
5021
|
+
|
|
5022
|
+
### traderInterface.getOrderStatus(symbol, orderId, overrides) ⇒
|
|
5023
|
+
**Kind**: instance method of [<code>TraderInterface</code>](#TraderInterface)
|
|
5024
|
+
**Overrides**: [<code>getOrderStatus</code>](#MarketData+getOrderStatus)
|
|
5025
|
+
**Returns**: <p>Order status ()</p>
|
|
5026
|
+
|
|
5027
|
+
| Param | Description |
|
|
5028
|
+
| --- | --- |
|
|
5029
|
+
| symbol | <p>Symbol of the form ETH-USD-MATIC</p> |
|
|
5030
|
+
| orderId | <p>Order Id</p> |
|
|
5031
|
+
| overrides | |
|
|
5032
|
+
|
|
5006
5033
|
<a name="MarketData+getMarkPrice"></a>
|
|
5007
5034
|
|
|
5008
5035
|
### traderInterface.getMarkPrice(symbol) ⇒
|
package/doc/marketData.md
CHANGED
|
@@ -30,6 +30,7 @@ No gas required for the queries here.</p>
|
|
|
30
30
|
* [.maxOrderSizeForTrader(side, positionRisk)](#MarketData+maxOrderSizeForTrader) ⇒
|
|
31
31
|
* [.maxSignedPosition(side, symbol)](#MarketData+maxSignedPosition) ⇒
|
|
32
32
|
* [.getOraclePrice(base, quote)](#MarketData+getOraclePrice) ⇒ <code>number</code>
|
|
33
|
+
* [.getOrderStatus(symbol, orderId, overrides)](#MarketData+getOrderStatus) ⇒
|
|
33
34
|
* [.getMarkPrice(symbol)](#MarketData+getMarkPrice) ⇒
|
|
34
35
|
* [.getPerpetualPrice(symbol, quantity)](#MarketData+getPerpetualPrice) ⇒
|
|
35
36
|
* [.getPerpetualState(symbol, indexPrices)](#MarketData+getPerpetualState) ⇒
|
|
@@ -389,6 +390,18 @@ async function main() {
|
|
|
389
390
|
}
|
|
390
391
|
main();
|
|
391
392
|
```
|
|
393
|
+
<a name="MarketData+getOrderStatus"></a>
|
|
394
|
+
|
|
395
|
+
### marketData.getOrderStatus(symbol, orderId, overrides) ⇒
|
|
396
|
+
**Kind**: instance method of [<code>MarketData</code>](#MarketData)
|
|
397
|
+
**Returns**: <p>Order status ()</p>
|
|
398
|
+
|
|
399
|
+
| Param | Description |
|
|
400
|
+
| --- | --- |
|
|
401
|
+
| symbol | <p>Symbol of the form ETH-USD-MATIC</p> |
|
|
402
|
+
| orderId | <p>Order Id</p> |
|
|
403
|
+
| overrides | |
|
|
404
|
+
|
|
392
405
|
<a name="MarketData+getMarkPrice"></a>
|
|
393
406
|
|
|
394
407
|
### marketData.getMarkPrice(symbol) ⇒
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d8x/perpetuals-sdk",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"description": "Node TypeScript SDK for D8X Perpetual Futures",
|
|
5
5
|
"author": "D8X",
|
|
6
6
|
"homepage": "https://github.com/D8-X/d8x-futures-node-sdk#readme",
|
|
@@ -24,11 +24,12 @@
|
|
|
24
24
|
"build:esm": "tsc",
|
|
25
25
|
"build:cjs": "tsc --module commonjs --outDir dist/cjs",
|
|
26
26
|
"build:doc": "jsdoc2md --files ./src/accountTrade.ts --configure ./jsdoc2md.json > ./doc/accountTrade.md && jsdoc2md --files ./src/marketData.ts --configure ./jsdoc2md.json > ./doc/marketData.md && jsdoc2md --files ./src/liquidatorTool.ts --configure ./jsdoc2md.json > ./doc/liquidatorTool.md && jsdoc2md --files ./src/liquidityProviderTool.ts --configure ./jsdoc2md.json > ./doc/liquidityProviderTool.md && jsdoc2md --files ./src/brokerTool.ts --configure ./jsdoc2md.json > ./doc/brokerTool.md && jsdoc2md --files ./src/orderReferrerTool.ts --configure ./jsdoc2md.json > ./doc/orderReferrerTool.md && jsdoc2md --files ./src/*.ts --configure ./jsdoc2md.json > ./doc/d8x-perpetuals-sdk.md",
|
|
27
|
-
"test": "jest",
|
|
27
|
+
"test": "yarn jest",
|
|
28
28
|
"coverage": "nyc -r lcov -e .ts -x \"*.test.ts\" npm run test",
|
|
29
|
-
"prebuild": "node -p \"'export const
|
|
29
|
+
"prebuild": "node -p \"'export const sD8X_SDK_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
|
|
30
30
|
"prepublish": "yarn build",
|
|
31
|
-
"prepare": "npm run build"
|
|
31
|
+
"prepare": "npm run build",
|
|
32
|
+
"postinstall": "typechain --target ethers-v5 --out-dir ./src/contracts './src/abi/**/*.json'"
|
|
32
33
|
},
|
|
33
34
|
"main": "./dist/cjs/index.js",
|
|
34
35
|
"module": "./dist/esm/index.js",
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
"@babel/plugin-proposal-object-rest-spread": "^7.20.2",
|
|
58
59
|
"@babel/preset-env": "^7.20.2",
|
|
59
60
|
"@babel/preset-typescript": "^7.18.6",
|
|
61
|
+
"@typechain/ethers-v5": "^11.0.0",
|
|
60
62
|
"@types/jest": "^29.2.3",
|
|
61
63
|
"@types/node": "^18.11.9",
|
|
62
64
|
"babel-jest": "^29.3.1",
|
|
@@ -70,6 +72,7 @@
|
|
|
70
72
|
"ts-jest": "^29.0.3",
|
|
71
73
|
"ts-node": "^10.9.1",
|
|
72
74
|
"tslib": "^2.5.0",
|
|
75
|
+
"typechain": "^8.2.0",
|
|
73
76
|
"typescript": "^4.9.3"
|
|
74
77
|
}
|
|
75
78
|
}
|