@d8x/perpetuals-sdk 1.3.7 → 2.0.1-alpha
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 +9 -9
- package/dist/cjs/accountTrade.js +19 -17
- package/dist/cjs/accountTrade.js.map +1 -1
- package/dist/cjs/brokerTool.d.ts +11 -12
- package/dist/cjs/brokerTool.js +7 -8
- package/dist/cjs/brokerTool.js.map +1 -1
- package/dist/cjs/config/priceFeedConfig.json +16 -2
- package/dist/cjs/config/symbolList.json +2 -1
- package/dist/cjs/constants.d.ts +12 -12
- package/dist/cjs/constants.js +14 -14
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/contracts/ERC20.d.ts +146 -171
- package/dist/cjs/contracts/IPerpetualManager.d.ts +2534 -2225
- package/dist/cjs/contracts/IPyth.d.ts +181 -184
- package/dist/cjs/contracts/LimitOrderBook.d.ts +373 -401
- package/dist/cjs/contracts/LimitOrderBookBeacon.d.ts +53 -104
- package/dist/cjs/contracts/LimitOrderBookFactory.d.ts +129 -185
- package/dist/cjs/contracts/MockTokenSwap.d.ts +109 -169
- package/dist/cjs/contracts/Multicall3.d.ts +147 -211
- package/dist/cjs/contracts/OnDemandOracleUpgradeable.d.ts +342 -399
- package/dist/cjs/contracts/OracleFactory.d.ts +258 -238
- package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +1099 -891
- package/dist/cjs/contracts/RedStoneAbi.d.ts +369 -488
- package/dist/cjs/contracts/ShareToken.d.ts +232 -285
- package/dist/cjs/contracts/common.d.ts +40 -11
- package/dist/cjs/contracts/factories/ERC20__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/ERC20__factory.js +3 -3
- package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +3 -3
- package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/IPyth__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/IPyth__factory.js +3 -3
- package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.js +3 -3
- package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +3 -3
- package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +3 -3
- package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +3 -3
- package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/Multicall3__factory.d.ts +11 -9
- package/dist/cjs/contracts/factories/Multicall3__factory.js +7 -10
- package/dist/cjs/contracts/factories/Multicall3__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.js +3 -3
- package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/OracleFactory__factory.js +3 -3
- package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +3 -3
- package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/RedStoneAbi__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/RedStoneAbi__factory.js +3 -3
- package/dist/cjs/contracts/factories/RedStoneAbi__factory.js.map +1 -1
- package/dist/cjs/contracts/factories/ShareToken__factory.d.ts +2 -3
- package/dist/cjs/contracts/factories/ShareToken__factory.js +3 -3
- package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
- package/dist/cjs/d8XMath.d.ts +28 -16
- package/dist/cjs/d8XMath.js +70 -50
- package/dist/cjs/d8XMath.js.map +1 -1
- package/dist/cjs/liquidatorTool.d.ts +8 -8
- package/dist/cjs/liquidatorTool.js +5 -7
- package/dist/cjs/liquidatorTool.js.map +1 -1
- package/dist/cjs/liquidityProviderTool.d.ts +4 -5
- package/dist/cjs/liquidityProviderTool.js.map +1 -1
- package/dist/cjs/marketData.d.ts +27 -28
- package/dist/cjs/marketData.js +65 -69
- package/dist/cjs/marketData.js.map +1 -1
- package/dist/cjs/nodeSDKTypes.d.ts +35 -37
- package/dist/cjs/onChainPxFeed.d.ts +2 -2
- package/dist/cjs/onChainPxFeed.js +3 -3
- package/dist/cjs/onChainPxFeed.js.map +1 -1
- package/dist/cjs/onChainPxFeedAngle.d.ts +2 -2
- package/dist/cjs/onChainPxFeedAngle.js +4 -5
- package/dist/cjs/onChainPxFeedAngle.js.map +1 -1
- package/dist/cjs/onChainPxFeedRedStone.js +2 -2
- package/dist/cjs/onChainPxFeedRedStone.js.map +1 -1
- package/dist/cjs/orderExecutorTool.d.ts +7 -9
- package/dist/cjs/orderExecutorTool.js +52 -62
- package/dist/cjs/orderExecutorTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +44 -35
- package/dist/cjs/perpetualDataHandler.js +194 -170
- package/dist/cjs/perpetualDataHandler.js.map +1 -1
- package/dist/cjs/perpetualEventHandler.d.ts +4 -5
- package/dist/cjs/perpetualEventHandler.js +2 -2
- package/dist/cjs/perpetualEventHandler.js.map +1 -1
- package/dist/cjs/polyMktsPxFeed.d.ts +14 -0
- package/dist/cjs/polyMktsPxFeed.js +59 -0
- package/dist/cjs/polyMktsPxFeed.js.map +1 -0
- package/dist/cjs/priceFeeds.d.ts +2 -0
- package/dist/cjs/priceFeeds.js +44 -9
- package/dist/cjs/priceFeeds.js.map +1 -1
- package/dist/cjs/referralCodeSigner.d.ts +1 -1
- package/dist/cjs/referralCodeSigner.js +12 -16
- package/dist/cjs/referralCodeSigner.js.map +1 -1
- package/dist/cjs/traderDigests.d.ts +2 -1
- package/dist/cjs/traderDigests.js +9 -11
- package/dist/cjs/traderDigests.js.map +1 -1
- package/dist/cjs/traderInterface.d.ts +8 -9
- package/dist/cjs/traderInterface.js +40 -23
- package/dist/cjs/traderInterface.js.map +1 -1
- package/dist/cjs/utils.d.ts +2 -3
- package/dist/cjs/utils.js +1 -2
- 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/version.js.map +1 -1
- package/dist/cjs/writeAccessHandler.d.ts +7 -9
- package/dist/cjs/writeAccessHandler.js +13 -16
- package/dist/cjs/writeAccessHandler.js.map +1 -1
- package/dist/esm/accountTrade.d.ts +9 -9
- package/dist/esm/accountTrade.js +19 -17
- package/dist/esm/accountTrade.js.map +1 -1
- package/dist/esm/brokerTool.d.ts +11 -12
- package/dist/esm/brokerTool.js +2 -3
- package/dist/esm/brokerTool.js.map +1 -1
- package/dist/esm/config/priceFeedConfig.json +16 -2
- package/dist/esm/config/symbolList.json +2 -1
- package/dist/esm/constants.d.ts +12 -12
- package/dist/esm/constants.js +13 -13
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/contracts/ERC20.d.ts +146 -171
- package/dist/esm/contracts/IPerpetualManager.d.ts +2534 -2225
- package/dist/esm/contracts/IPyth.d.ts +181 -184
- package/dist/esm/contracts/LimitOrderBook.d.ts +373 -401
- package/dist/esm/contracts/LimitOrderBookBeacon.d.ts +53 -104
- package/dist/esm/contracts/LimitOrderBookFactory.d.ts +129 -185
- package/dist/esm/contracts/MockTokenSwap.d.ts +109 -169
- package/dist/esm/contracts/Multicall3.d.ts +147 -211
- package/dist/esm/contracts/OnDemandOracleUpgradeable.d.ts +342 -399
- package/dist/esm/contracts/OracleFactory.d.ts +258 -238
- package/dist/esm/contracts/PerpetualManagerProxy.d.ts +1099 -891
- package/dist/esm/contracts/RedStoneAbi.d.ts +369 -488
- package/dist/esm/contracts/ShareToken.d.ts +232 -285
- package/dist/esm/contracts/common.d.ts +40 -11
- package/dist/esm/contracts/factories/ERC20__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/ERC20__factory.js +4 -4
- package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
- package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js +4 -4
- package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
- package/dist/esm/contracts/factories/IPyth__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/IPyth__factory.js +4 -4
- package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -1
- package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.js +4 -4
- package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.js.map +1 -1
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +4 -4
- package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
- package/dist/esm/contracts/factories/LimitOrderBook__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js +4 -4
- package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
- package/dist/esm/contracts/factories/MockTokenSwap__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js +4 -4
- package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
- package/dist/esm/contracts/factories/Multicall3__factory.d.ts +11 -9
- package/dist/esm/contracts/factories/Multicall3__factory.js +8 -11
- package/dist/esm/contracts/factories/Multicall3__factory.js.map +1 -1
- package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.js +4 -4
- package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.js.map +1 -1
- package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/OracleFactory__factory.js +4 -4
- package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -1
- package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +4 -4
- package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
- package/dist/esm/contracts/factories/RedStoneAbi__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/RedStoneAbi__factory.js +4 -4
- package/dist/esm/contracts/factories/RedStoneAbi__factory.js.map +1 -1
- package/dist/esm/contracts/factories/ShareToken__factory.d.ts +2 -3
- package/dist/esm/contracts/factories/ShareToken__factory.js +4 -4
- package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
- package/dist/esm/d8XMath.d.ts +28 -16
- package/dist/esm/d8XMath.js +67 -49
- package/dist/esm/d8XMath.js.map +1 -1
- package/dist/esm/liquidatorTool.d.ts +8 -8
- package/dist/esm/liquidatorTool.js +5 -7
- package/dist/esm/liquidatorTool.js.map +1 -1
- package/dist/esm/liquidityProviderTool.d.ts +4 -5
- package/dist/esm/liquidityProviderTool.js.map +1 -1
- package/dist/esm/marketData.d.ts +27 -28
- package/dist/esm/marketData.js +55 -59
- package/dist/esm/marketData.js.map +1 -1
- package/dist/esm/nodeSDKTypes.d.ts +35 -37
- package/dist/esm/onChainPxFeed.d.ts +2 -2
- package/dist/esm/onChainPxFeed.js +3 -3
- package/dist/esm/onChainPxFeed.js.map +1 -1
- package/dist/esm/onChainPxFeedAngle.d.ts +2 -2
- package/dist/esm/onChainPxFeedAngle.js +2 -3
- package/dist/esm/onChainPxFeedAngle.js.map +1 -1
- package/dist/esm/onChainPxFeedRedStone.js +1 -1
- package/dist/esm/onChainPxFeedRedStone.js.map +1 -1
- package/dist/esm/orderExecutorTool.d.ts +7 -9
- package/dist/esm/orderExecutorTool.js +38 -48
- package/dist/esm/orderExecutorTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +44 -35
- package/dist/esm/perpetualDataHandler.js +137 -113
- package/dist/esm/perpetualDataHandler.js.map +1 -1
- package/dist/esm/perpetualEventHandler.d.ts +4 -5
- package/dist/esm/perpetualEventHandler.js +2 -2
- package/dist/esm/perpetualEventHandler.js.map +1 -1
- package/dist/esm/polyMktsPxFeed.d.ts +14 -0
- package/dist/esm/polyMktsPxFeed.js +56 -0
- package/dist/esm/polyMktsPxFeed.js.map +1 -0
- package/dist/esm/priceFeeds.d.ts +2 -0
- package/dist/esm/priceFeeds.js +44 -9
- package/dist/esm/priceFeeds.js.map +1 -1
- package/dist/esm/referralCodeSigner.d.ts +1 -1
- package/dist/esm/referralCodeSigner.js +6 -10
- package/dist/esm/referralCodeSigner.js.map +1 -1
- package/dist/esm/traderDigests.d.ts +2 -1
- package/dist/esm/traderDigests.js +2 -4
- package/dist/esm/traderDigests.js.map +1 -1
- package/dist/esm/traderInterface.d.ts +8 -9
- package/dist/esm/traderInterface.js +42 -25
- package/dist/esm/traderInterface.js.map +1 -1
- package/dist/esm/utils.d.ts +2 -3
- package/dist/esm/utils.js +1 -2
- 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.d.ts +7 -9
- package/dist/esm/writeAccessHandler.js +5 -8
- package/dist/esm/writeAccessHandler.js.map +1 -1
- package/package.json +7 -17
- package/src/accountTrade.ts +32 -34
- package/src/brokerTool.ts +17 -20
- package/src/config/priceFeedConfig.json +16 -2
- package/src/config/symbolList.json +2 -1
- package/src/constants.ts +13 -13
- package/src/contracts/ERC20.ts +236 -350
- package/src/contracts/IPerpetualManager.ts +3359 -5050
- package/src/contracts/IPyth.ts +272 -409
- package/src/contracts/LimitOrderBook.ts +503 -779
- package/src/contracts/LimitOrderBookBeacon.ts +123 -171
- package/src/contracts/LimitOrderBookFactory.ts +263 -332
- package/src/contracts/MockTokenSwap.ts +237 -275
- package/src/contracts/Multicall3.ts +208 -374
- package/src/contracts/OnDemandOracleUpgradeable.ts +569 -782
- package/src/contracts/OracleFactory.ts +410 -538
- package/src/contracts/PerpetualManagerProxy.ts +1898 -1426
- package/src/contracts/RedStoneAbi.ts +486 -986
- package/src/contracts/ShareToken.ts +376 -557
- package/src/contracts/common.ts +108 -21
- package/src/contracts/factories/ERC20__factory.ts +4 -5
- package/src/contracts/factories/IPerpetualManager__factory.ts +4 -5
- package/src/contracts/factories/IPyth__factory.ts +4 -5
- package/src/contracts/factories/LimitOrderBookBeacon__factory.ts +5 -6
- package/src/contracts/factories/LimitOrderBookFactory__factory.ts +5 -6
- package/src/contracts/factories/LimitOrderBook__factory.ts +4 -5
- package/src/contracts/factories/MockTokenSwap__factory.ts +4 -5
- package/src/contracts/factories/Multicall3__factory.ts +21 -19
- package/src/contracts/factories/OnDemandOracleUpgradeable__factory.ts +5 -6
- package/src/contracts/factories/OracleFactory__factory.ts +4 -5
- package/src/contracts/factories/PerpetualManagerProxy__factory.ts +5 -6
- package/src/contracts/factories/RedStoneAbi__factory.ts +4 -8
- package/src/contracts/factories/ShareToken__factory.ts +4 -8
- package/src/d8XMath.ts +78 -57
- package/src/liquidatorTool.ts +12 -15
- package/src/liquidityProviderTool.ts +7 -5
- package/src/marketData.ts +110 -121
- package/src/nodeSDKTypes.ts +51 -38
- package/src/onChainPxFeed.ts +4 -4
- package/src/onChainPxFeedAngle.ts +5 -7
- package/src/onChainPxFeedRedStone.ts +1 -3
- package/src/orderExecutorTool.ts +100 -108
- package/src/perpetualDataHandler.ts +209 -172
- package/src/perpetualEventHandler.ts +16 -17
- package/src/polyMktsPxFeed.ts +71 -0
- package/src/priceFeeds.ts +46 -10
- package/src/referralCodeSigner.ts +6 -10
- package/src/traderDigests.ts +8 -5
- package/src/traderInterface.ts +61 -33
- package/src/utils.ts +3 -4
- package/src/version.ts +1 -1
- package/src/writeAccessHandler.ts +26 -17
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d8x/perpetuals-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1-alpha",
|
|
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",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"prebuild": "node -p \"'export const D8X_SDK_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
|
|
31
31
|
"prepublish": "yarn build",
|
|
32
32
|
"prepare": "npm run build",
|
|
33
|
-
"typechain": "typechain --target ethers-
|
|
33
|
+
"typechain": "typechain --target ethers-v6 --out-dir ./src/contracts './src/abi/**/*.json'"
|
|
34
34
|
},
|
|
35
35
|
"main": "./dist/cjs/index.js",
|
|
36
36
|
"module": "./dist/esm/index.js",
|
|
@@ -41,21 +41,11 @@
|
|
|
41
41
|
"doc"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"@ethersproject/keccak256": "^5.7.0",
|
|
50
|
-
"@ethersproject/providers": "^5.7.2",
|
|
51
|
-
"@ethersproject/strings": "^5.7.0",
|
|
52
|
-
"@ethersproject/units": "^5.7.0",
|
|
53
|
-
"@ethersproject/wallet": "^5.7.0",
|
|
54
|
-
"@typechain/ethers-v5": "^11.1.1",
|
|
55
|
-
"buffer": "^6.0.3",
|
|
56
|
-
"ethers": "^5.7.2",
|
|
57
|
-
"process": "^0.11.10",
|
|
58
|
-
"typechain": "^8.2.0"
|
|
44
|
+
"@typechain/ethers-v6": "^0.5.1",
|
|
45
|
+
"buffer": "6.0.3",
|
|
46
|
+
"ethers": "^6.13.1",
|
|
47
|
+
"process": "0.11.10",
|
|
48
|
+
"typechain": "^8.3.2"
|
|
59
49
|
},
|
|
60
50
|
"devDependencies": {
|
|
61
51
|
"@babel/core": "^7.20.2",
|
package/src/accountTrade.ts
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import { Signer } from "@ethersproject/abstract-signer";
|
|
2
|
-
import type {
|
|
3
|
-
CallOverrides,
|
|
4
|
-
Contract,
|
|
5
|
-
ContractTransaction,
|
|
6
|
-
Overrides,
|
|
7
|
-
PayableOverrides,
|
|
8
|
-
} from "@ethersproject/contracts";
|
|
9
1
|
import { Buffer } from "buffer";
|
|
2
|
+
import { BigNumberish, Contract, ContractTransaction, ContractTransactionResponse, Overrides, Signer } from "ethers";
|
|
10
3
|
import { ZERO_ADDRESS } from "./constants";
|
|
11
4
|
import { LimitOrderBook } from "./contracts";
|
|
5
|
+
import { PayableOverrides } from "./contracts/common";
|
|
12
6
|
import { ABK64x64ToFloat, floatToABK64x64 } from "./d8XMath";
|
|
13
7
|
import MarketData from "./marketData";
|
|
14
8
|
import type {
|
|
@@ -83,7 +77,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
83
77
|
orderId: string,
|
|
84
78
|
submission?: PriceFeedSubmission,
|
|
85
79
|
overrides?: Overrides
|
|
86
|
-
): Promise<
|
|
80
|
+
): Promise<ContractTransactionResponse> {
|
|
87
81
|
if (this.proxyContract == null || this.signer == null) {
|
|
88
82
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
89
83
|
}
|
|
@@ -206,7 +200,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
206
200
|
*
|
|
207
201
|
* @returns {number} Current trading volume for this trader, in USD.
|
|
208
202
|
*/
|
|
209
|
-
public async getCurrentTraderVolume(poolSymbolName: string, overrides?:
|
|
203
|
+
public async getCurrentTraderVolume(poolSymbolName: string, overrides?: Overrides): Promise<number> {
|
|
210
204
|
if (this.proxyContract == null || this.signer == null) {
|
|
211
205
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
212
206
|
}
|
|
@@ -235,7 +229,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
235
229
|
*
|
|
236
230
|
* @returns {string[]} Array of Ids for all the orders currently open by this trader.
|
|
237
231
|
*/
|
|
238
|
-
public async getOrderIds(symbol: string, overrides?:
|
|
232
|
+
public async getOrderIds(symbol: string, overrides?: Overrides): Promise<string[]> {
|
|
239
233
|
if (this.proxyContract == null || this.signer == null) {
|
|
240
234
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
241
235
|
}
|
|
@@ -262,7 +256,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
262
256
|
symbolToPerpetualMap: Map<string, PerpetualStaticInfo>,
|
|
263
257
|
proxyContract: Contract,
|
|
264
258
|
orderBookContract: LimitOrderBook,
|
|
265
|
-
chainId:
|
|
259
|
+
chainId: BigNumberish,
|
|
266
260
|
signer: Signer,
|
|
267
261
|
parentChildIds?: [string, string],
|
|
268
262
|
overrides?: Overrides
|
|
@@ -270,24 +264,28 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
270
264
|
let scOrder = AccountTrade.toSmartContractOrder(order, traderAddr, symbolToPerpetualMap);
|
|
271
265
|
let clientOrder = AccountTrade.fromSmartContratOrderToClientOrder(scOrder, parentChildIds);
|
|
272
266
|
// if we are here, we have a clean order
|
|
273
|
-
|
|
274
|
-
|
|
267
|
+
|
|
268
|
+
let [signature, digest] = await this._createSignature(scOrder, chainId, true, signer, this.proxyAddr);
|
|
269
|
+
|
|
270
|
+
if (!overrides) {
|
|
271
|
+
overrides = { gasLimit: this.gasLimit };
|
|
272
|
+
}
|
|
275
273
|
// all orders are sent to the order-book
|
|
276
|
-
|
|
274
|
+
const tx = await orderBookContract.connect(signer).postOrders([clientOrder], [signature], overrides);
|
|
277
275
|
|
|
278
|
-
const txData = orderBookContract.interface.encodeFunctionData("postOrders", [[clientOrder], [signature]]);
|
|
279
|
-
let unsignedTx = {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
};
|
|
290
|
-
let tx = await signer.sendTransaction(unsignedTx);
|
|
276
|
+
// const txData = orderBookContract.interface.encodeFunctionData("postOrders", [[clientOrder], [signature]]);
|
|
277
|
+
// let unsignedTx = {
|
|
278
|
+
// to: orderBookContract.target,
|
|
279
|
+
// from: this.traderAddr,
|
|
280
|
+
// nonce: overrides?.nonce,
|
|
281
|
+
// data: txData,
|
|
282
|
+
// gasLimit: overrides?.gasLimit ?? this.gasLimit,
|
|
283
|
+
// // gas price is populated by the provider if not specified
|
|
284
|
+
// gasPrice: overrides?.gasPrice,
|
|
285
|
+
// // gasPrice: overrides.gasPrice ?? parseUnits(gasPrice.toString(), "gwei"),
|
|
286
|
+
// chainId: chainId,
|
|
287
|
+
// };
|
|
288
|
+
// let tx = await signer.sendTransaction(unsignedTx);
|
|
291
289
|
|
|
292
290
|
let id = this.digestTool.createOrderId(digest);
|
|
293
291
|
return { tx: tx, orderId: id };
|
|
@@ -299,12 +297,12 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
299
297
|
orderBookContract: LimitOrderBook,
|
|
300
298
|
submission?: PriceFeedSubmission,
|
|
301
299
|
overrides?: PayableOverrides
|
|
302
|
-
): Promise<
|
|
300
|
+
): Promise<ContractTransactionResponse> {
|
|
303
301
|
if (orderBookContract == null || this.signer == null) {
|
|
304
302
|
throw Error(`Order Book contract for symbol ${symbol} or signer not defined`);
|
|
305
303
|
}
|
|
306
304
|
|
|
307
|
-
let scOrder
|
|
305
|
+
let scOrder = await orderBookContract.orderOfDigest(orderId);
|
|
308
306
|
let [signature] = await this._createSignature(scOrder, this.chainId, false, this.signer, this.proxyAddr);
|
|
309
307
|
if (submission == undefined) {
|
|
310
308
|
submission = await this.fetchLatestFeedPriceInfo(symbol);
|
|
@@ -339,12 +337,12 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
339
337
|
*/
|
|
340
338
|
private async _createSignature(
|
|
341
339
|
order: SmartContractOrder,
|
|
342
|
-
chainId:
|
|
340
|
+
chainId: BigNumberish,
|
|
343
341
|
isNewOrder: boolean,
|
|
344
342
|
signer: Signer,
|
|
345
343
|
proxyAddress: string
|
|
346
344
|
): Promise<string[]> {
|
|
347
|
-
let digest =
|
|
345
|
+
let digest = this.digestTool.createDigest(order, chainId, isNewOrder, proxyAddress);
|
|
348
346
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
349
347
|
let signature = await signer.signMessage(digestBuffer);
|
|
350
348
|
return [signature, digest];
|
|
@@ -375,7 +373,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
375
373
|
amount: number,
|
|
376
374
|
submission?: PriceFeedSubmission,
|
|
377
375
|
overrides?: PayableOverrides
|
|
378
|
-
): Promise<
|
|
376
|
+
): Promise<ContractTransactionResponse> {
|
|
379
377
|
if (this.proxyContract == null || this.signer == null) {
|
|
380
378
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
381
379
|
}
|
|
@@ -426,7 +424,7 @@ export default class AccountTrade extends WriteAccessHandler {
|
|
|
426
424
|
amount: number,
|
|
427
425
|
submission?: PriceFeedSubmission,
|
|
428
426
|
overrides?: PayableOverrides
|
|
429
|
-
): Promise<
|
|
427
|
+
): Promise<ContractTransactionResponse> {
|
|
430
428
|
if (this.proxyContract == null || this.signer == null) {
|
|
431
429
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
432
430
|
}
|
package/src/brokerTool.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
2
|
-
import { Signer } from "@ethersproject/abstract-signer";
|
|
3
|
-
import { CallOverrides, ContractTransaction, Overrides } from "@ethersproject/contracts";
|
|
4
|
-
import { keccak256 } from "@ethersproject/keccak256";
|
|
5
1
|
import { ABK64x64ToFloat } from "./d8XMath";
|
|
6
2
|
import { NodeSDKConfig, Order, PerpetualStaticInfo, SmartContractOrder } from "./nodeSDKTypes";
|
|
7
3
|
import PerpetualDataHandler from "./perpetualDataHandler";
|
|
@@ -9,6 +5,7 @@ import WriteAccessHandler from "./writeAccessHandler";
|
|
|
9
5
|
|
|
10
6
|
import { Buffer } from "buffer";
|
|
11
7
|
import AccountTrade from "./accountTrade";
|
|
8
|
+
import { AbiCoder, BigNumberish, ContractTransactionResponse, keccak256, Overrides, Signer } from "ethers";
|
|
12
9
|
/**
|
|
13
10
|
* Functions for white-label partners to determine fees, deposit lots, and sign-up traders.
|
|
14
11
|
* This class requires a private key and executes smart-contract interactions that
|
|
@@ -64,7 +61,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
64
61
|
*
|
|
65
62
|
* @returns {number} Exchange fee for this white-label partner, in decimals (i.e. 0.1% is 0.001)
|
|
66
63
|
*/
|
|
67
|
-
public async getBrokerInducedFee(poolSymbolName: string, overrides?:
|
|
64
|
+
public async getBrokerInducedFee(poolSymbolName: string, overrides?: Overrides): Promise<number | undefined> {
|
|
68
65
|
if (this.proxyContract == null || this.signer == null) {
|
|
69
66
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
70
67
|
}
|
|
@@ -103,7 +100,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
103
100
|
public async getFeeForBrokerDesignation(
|
|
104
101
|
poolSymbolName: string,
|
|
105
102
|
lots?: number,
|
|
106
|
-
overrides?:
|
|
103
|
+
overrides?: Overrides
|
|
107
104
|
): Promise<number> {
|
|
108
105
|
if (this.proxyContract == null || this.signer == null) {
|
|
109
106
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
@@ -142,7 +139,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
142
139
|
*
|
|
143
140
|
* @returns {number} Fee based solely on a white-label partner's traded volume in the corresponding pool, in decimals (i.e. 0.1% is 0.001).
|
|
144
141
|
*/
|
|
145
|
-
public async getFeeForBrokerVolume(poolSymbolName: string, overrides?:
|
|
142
|
+
public async getFeeForBrokerVolume(poolSymbolName: string, overrides?: Overrides): Promise<number> {
|
|
146
143
|
if (this.proxyContract == null || this.signer == null) {
|
|
147
144
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
148
145
|
}
|
|
@@ -173,7 +170,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
173
170
|
*
|
|
174
171
|
* @returns {number} Fee based solely on a white-label partner's D8X balance, in decimals (i.e. 0.1% is 0.001).
|
|
175
172
|
*/
|
|
176
|
-
public async getFeeForBrokerStake(brokerAddr?: string, overrides?:
|
|
173
|
+
public async getFeeForBrokerStake(brokerAddr?: string, overrides?: Overrides): Promise<number> {
|
|
177
174
|
if (this.proxyContract == null || this.signer == null) {
|
|
178
175
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
179
176
|
}
|
|
@@ -219,7 +216,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
219
216
|
*
|
|
220
217
|
* @returns {number} Fee in decimals (i.e. 0.1% is 0.001).
|
|
221
218
|
*/
|
|
222
|
-
public async determineExchangeFee(order: Order, traderAddr: string, overrides?:
|
|
219
|
+
public async determineExchangeFee(order: Order, traderAddr: string, overrides?: Overrides): Promise<number> {
|
|
223
220
|
if (this.proxyContract == null || this.signer == null) {
|
|
224
221
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
225
222
|
}
|
|
@@ -251,7 +248,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
251
248
|
*
|
|
252
249
|
* @returns {number} Current trading volume for this white-label partner, in USD.
|
|
253
250
|
*/
|
|
254
|
-
public async getCurrentBrokerVolume(poolSymbolName: string, overrides?:
|
|
251
|
+
public async getCurrentBrokerVolume(poolSymbolName: string, overrides?: Overrides): Promise<number> {
|
|
255
252
|
if (this.proxyContract == null || this.signer == null) {
|
|
256
253
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
257
254
|
}
|
|
@@ -283,7 +280,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
283
280
|
*
|
|
284
281
|
* @returns {number} White-label partner lot size in a given pool's currency, e.g. in MATIC for poolSymbolName MATIC.
|
|
285
282
|
*/
|
|
286
|
-
public async getLotSize(poolSymbolName: string, overrides?:
|
|
283
|
+
public async getLotSize(poolSymbolName: string, overrides?: Overrides): Promise<number> {
|
|
287
284
|
if (this.proxyContract == null) {
|
|
288
285
|
throw Error("no proxy contract initialized. Use createProxyInstance().");
|
|
289
286
|
}
|
|
@@ -314,7 +311,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
314
311
|
*
|
|
315
312
|
* @returns {number} Number of lots purchased by this white-label partner.
|
|
316
313
|
*/
|
|
317
|
-
public async getBrokerDesignation(poolSymbolName: string, overrides?:
|
|
314
|
+
public async getBrokerDesignation(poolSymbolName: string, overrides?: Overrides): Promise<number> {
|
|
318
315
|
if (this.proxyContract == null || this.signer == null) {
|
|
319
316
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
320
317
|
}
|
|
@@ -349,7 +346,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
349
346
|
poolSymbolName: string,
|
|
350
347
|
lots: number,
|
|
351
348
|
overrides?: Overrides
|
|
352
|
-
): Promise<
|
|
349
|
+
): Promise<ContractTransactionResponse> {
|
|
353
350
|
if (this.proxyContract == null || this.signer == null) {
|
|
354
351
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
355
352
|
}
|
|
@@ -490,19 +487,19 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
490
487
|
}
|
|
491
488
|
|
|
492
489
|
private static async _signOrderFromRawData(
|
|
493
|
-
iPerpetualId:
|
|
494
|
-
brokerFeeTbps:
|
|
490
|
+
iPerpetualId: BigNumberish,
|
|
491
|
+
brokerFeeTbps: BigNumberish,
|
|
495
492
|
traderAddr: string,
|
|
496
|
-
iDeadline:
|
|
493
|
+
iDeadline: BigNumberish,
|
|
497
494
|
signer: Signer,
|
|
498
|
-
chainId:
|
|
495
|
+
chainId: BigNumberish,
|
|
499
496
|
proxyAddress: string
|
|
500
497
|
) {
|
|
501
498
|
const NAME = "Perpetual Trade Manager";
|
|
502
499
|
const DOMAIN_TYPEHASH = keccak256(
|
|
503
500
|
Buffer.from("EIP712Domain(string name,uint256 chainId,address verifyingContract)")
|
|
504
501
|
);
|
|
505
|
-
let abiCoder =
|
|
502
|
+
let abiCoder = new AbiCoder();
|
|
506
503
|
let domainSeparator = keccak256(
|
|
507
504
|
abiCoder.encode(
|
|
508
505
|
["bytes32", "bytes32", "uint256", "address"],
|
|
@@ -532,7 +529,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
532
529
|
traderAddr: string,
|
|
533
530
|
iDeadline: number,
|
|
534
531
|
signer: Signer,
|
|
535
|
-
chainId:
|
|
532
|
+
chainId: BigNumberish,
|
|
536
533
|
proxyAddress: string,
|
|
537
534
|
symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>
|
|
538
535
|
): Promise<string> {
|
|
@@ -577,7 +574,7 @@ export default class BrokerTool extends WriteAccessHandler {
|
|
|
577
574
|
poolSymbolName: string,
|
|
578
575
|
newAddress: string,
|
|
579
576
|
overrides?: Overrides
|
|
580
|
-
): Promise<
|
|
577
|
+
): Promise<ContractTransactionResponse> {
|
|
581
578
|
if (this.proxyContract == null) {
|
|
582
579
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
583
580
|
}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
{
|
|
3
3
|
"network": "mainnet",
|
|
4
4
|
"ids": [
|
|
5
|
+
{
|
|
6
|
+
"symbol": "TRUMP24-USD",
|
|
7
|
+
"id": "0x3011e4ede0f6befa0ad3f571001d3e1ffeef3d4af78c3112aaac90416e3a43e7",
|
|
8
|
+
"type": "polymarket",
|
|
9
|
+
"origin": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917"
|
|
10
|
+
},
|
|
5
11
|
{
|
|
6
12
|
"symbol": "USDC-USD",
|
|
7
13
|
"id": "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
@@ -153,12 +159,19 @@
|
|
|
153
159
|
"endpoints": ["https://hermes.pyth.network"],
|
|
154
160
|
"writeEndpoints": ["https://hermes.pyth.network"]
|
|
155
161
|
},
|
|
156
|
-
{ "type": "onchain", "endpoints": [], "writeEndpoints": [] }
|
|
162
|
+
{ "type": "onchain", "endpoints": [], "writeEndpoints": [] },
|
|
163
|
+
{ "type": "polymarket", "endpoints": [], "writeEndpoints": [] }
|
|
157
164
|
]
|
|
158
165
|
},
|
|
159
166
|
{
|
|
160
167
|
"network": "odin",
|
|
161
168
|
"ids": [
|
|
169
|
+
{
|
|
170
|
+
"symbol": "TRUMP24-USD",
|
|
171
|
+
"id": "0x3011e4ede0f6befa0ad3f571001d3e1ffeef3d4af78c3112aaac90416e3a43e7",
|
|
172
|
+
"type": "polymarket",
|
|
173
|
+
"origin": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917"
|
|
174
|
+
},
|
|
162
175
|
{
|
|
163
176
|
"symbol": "USDC-USD",
|
|
164
177
|
"id": "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
@@ -233,7 +246,8 @@
|
|
|
233
246
|
}
|
|
234
247
|
],
|
|
235
248
|
"endpoints": [
|
|
236
|
-
{ "type": "odin", "endpoints": ["https://hermes.pyth.network"], "writeEndpoints": ["https://odin.d8x.xyz"] }
|
|
249
|
+
{ "type": "odin", "endpoints": ["https://hermes.pyth.network"], "writeEndpoints": ["https://odin.d8x.xyz"] },
|
|
250
|
+
{ "type": "polymarket", "endpoints": [""], "writeEndpoints": [] }
|
|
237
251
|
]
|
|
238
252
|
}
|
|
239
253
|
]
|
package/src/constants.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AddressZero, HashZero } from "@ethersproject/constants";
|
|
1
|
+
import { ZeroAddress, ZeroHash } from "ethers";
|
|
3
2
|
import { NodeSDKConfig } from "./nodeSDKTypes";
|
|
4
3
|
|
|
5
4
|
export const ERC20_ABI = require("./abi/ERC20.json");
|
|
@@ -16,21 +15,22 @@ export const COLLATERAL_CURRENCY_QUOTE = 0;
|
|
|
16
15
|
export const COLLATERAL_CURRENCY_BASE = 1;
|
|
17
16
|
export const COLLATERAL_CURRENCY_QUANTO = 2;
|
|
18
17
|
export const PERP_STATE_STR = ["INVALID", "INITIALIZING", "NORMAL", "EMERGENCY", "SETTLE", "CLEARED"];
|
|
19
|
-
export const ZERO_ADDRESS =
|
|
20
|
-
export const ZERO_ORDER_ID =
|
|
18
|
+
export const ZERO_ADDRESS = ZeroAddress;
|
|
19
|
+
export const ZERO_ORDER_ID = ZeroHash;
|
|
21
20
|
export const MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
|
|
22
|
-
export const ONE_64x64 =
|
|
23
|
-
export const MAX_64x64 =
|
|
24
|
-
export const MAX_UINT_256 = BigNumber.from(2).pow(256).sub(BigNumber.from(1));
|
|
25
|
-
export const DECIMALS = BigNumber.from(10).pow(BigNumber.from(18));
|
|
21
|
+
export const ONE_64x64 = BigInt("0x010000000000000000");
|
|
22
|
+
export const MAX_64x64 = BigInt("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
|
|
23
|
+
export const MAX_UINT_256 = 2n ** 256n - 1n; // BigNumber.from(2).pow(256).sub(BigNumber.from(1));
|
|
24
|
+
export const DECIMALS = 10n ** 18n; // BigNumber.from(10).pow(BigNumber.from(18));
|
|
26
25
|
|
|
27
26
|
export const ORDER_MAX_DURATION_SEC = 60 * 60 * 24 * 30 * 4;
|
|
28
27
|
|
|
29
|
-
export const MASK_CLOSE_ONLY =
|
|
30
|
-
export const MASK_LIMIT_ORDER =
|
|
31
|
-
export const MASK_MARKET_ORDER =
|
|
32
|
-
export const MASK_STOP_ORDER =
|
|
33
|
-
export const MASK_KEEP_POS_LEVERAGE =
|
|
28
|
+
export const MASK_CLOSE_ONLY = BigInt("0x80000000");
|
|
29
|
+
export const MASK_LIMIT_ORDER = BigInt("0x04000000");
|
|
30
|
+
export const MASK_MARKET_ORDER = BigInt("0x40000000");
|
|
31
|
+
export const MASK_STOP_ORDER = BigInt("0x20000000");
|
|
32
|
+
export const MASK_KEEP_POS_LEVERAGE = BigInt("0x08000000");
|
|
33
|
+
export const MASK_PREDICTIVE_MARKET = 2n;
|
|
34
34
|
|
|
35
35
|
export const ORDER_TYPE_LIMIT = "LIMIT";
|
|
36
36
|
export const ORDER_TYPE_MARKET = "MARKET";
|