@d8x/perpetuals-sdk 1.3.6 → 2.0.0-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/constants.d.ts +11 -12
- package/dist/cjs/constants.js +12 -13
- 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 +16 -16
- package/dist/cjs/d8XMath.js +48 -49
- 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 +54 -63
- package/dist/cjs/orderExecutorTool.js.map +1 -1
- package/dist/cjs/perpetualDataHandler.d.ts +38 -35
- package/dist/cjs/perpetualDataHandler.js +173 -167
- 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/priceFeeds.js +2 -3
- 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 +26 -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/constants.d.ts +11 -12
- package/dist/esm/constants.js +12 -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 +16 -16
- package/dist/esm/d8XMath.js +48 -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 +40 -49
- package/dist/esm/orderExecutorTool.js.map +1 -1
- package/dist/esm/perpetualDataHandler.d.ts +38 -35
- package/dist/esm/perpetualDataHandler.js +114 -108
- 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/priceFeeds.js +2 -3
- 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 +26 -23
- 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/constants.ts +12 -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 +57 -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 +102 -109
- package/src/perpetualDataHandler.ts +181 -167
- package/src/perpetualEventHandler.ts +16 -17
- package/src/priceFeeds.ts +2 -3
- package/src/referralCodeSigner.ts +6 -10
- package/src/traderDigests.ts +8 -5
- package/src/traderInterface.ts +45 -31
- package/src/utils.ts +3 -4
- package/src/version.ts +1 -1
- package/src/writeAccessHandler.ts +26 -17
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Signer } from "
|
|
2
|
-
import type { CallOverrides, ContractTransaction, Overrides } from "@ethersproject/contracts";
|
|
1
|
+
import { ContractTransactionResponse, Overrides, Signer } from "ethers";
|
|
3
2
|
import MarketData from "./marketData";
|
|
4
3
|
import type { ClientOrder, NodeSDKConfig, Order, SmartContractOrder } from "./nodeSDKTypes";
|
|
5
4
|
import TraderDigests from "./traderDigests";
|
|
@@ -38,7 +37,7 @@ export default class TraderInterface extends MarketData {
|
|
|
38
37
|
* main();
|
|
39
38
|
*
|
|
40
39
|
*/
|
|
41
|
-
queryExchangeFee(poolSymbolName: string, traderAddr: string, brokerAddr: string, overrides?:
|
|
40
|
+
queryExchangeFee(poolSymbolName: string, traderAddr: string, brokerAddr: string, overrides?: Overrides): Promise<number>;
|
|
42
41
|
/**
|
|
43
42
|
*
|
|
44
43
|
* @param poolSymbolName pool symbol, e.g. MATIC
|
|
@@ -58,7 +57,7 @@ export default class TraderInterface extends MarketData {
|
|
|
58
57
|
* main();
|
|
59
58
|
*
|
|
60
59
|
*/
|
|
61
|
-
getCurrentTraderVolume(poolSymbolName: string, traderAddr: string, overrides?:
|
|
60
|
+
getCurrentTraderVolume(poolSymbolName: string, traderAddr: string, overrides?: Overrides): Promise<number>;
|
|
62
61
|
/**
|
|
63
62
|
* Get digest to cancel an order. Digest needs to be signed and submitted via
|
|
64
63
|
* orderBookContract.cancelOrder(orderId, signature);
|
|
@@ -81,7 +80,7 @@ export default class TraderInterface extends MarketData {
|
|
|
81
80
|
* }
|
|
82
81
|
* main();
|
|
83
82
|
*/
|
|
84
|
-
cancelOrderDigest(symbol: string, orderId: string, overrides?:
|
|
83
|
+
cancelOrderDigest(symbol: string, orderId: string, overrides?: Overrides): Promise<{
|
|
85
84
|
digest: string;
|
|
86
85
|
OBContractAddr: string;
|
|
87
86
|
}>;
|
|
@@ -119,7 +118,7 @@ export default class TraderInterface extends MarketData {
|
|
|
119
118
|
*/
|
|
120
119
|
orderDigest(scOrder: SmartContractOrder): string;
|
|
121
120
|
/**
|
|
122
|
-
* Get the ABI of a method in the proxy contract
|
|
121
|
+
* Get the ABI of a method in the proxy contract. Throws if non-existent
|
|
123
122
|
* @param method Name of the method
|
|
124
123
|
* @returns ABI as a single string
|
|
125
124
|
*/
|
|
@@ -160,7 +159,7 @@ export default class TraderInterface extends MarketData {
|
|
|
160
159
|
* main();
|
|
161
160
|
*
|
|
162
161
|
*/
|
|
163
|
-
addLiquidity(signer: Signer, poolSymbolName: string, amountCC: number, overrides?: Overrides): Promise<
|
|
162
|
+
addLiquidity(signer: Signer, poolSymbolName: string, amountCC: number, overrides?: Overrides): Promise<ContractTransactionResponse>;
|
|
164
163
|
/**
|
|
165
164
|
* Initiates a liquidity withdrawal from the pool
|
|
166
165
|
* It triggers a time-delayed unlocking of the given number of pool shares.
|
|
@@ -185,7 +184,7 @@ export default class TraderInterface extends MarketData {
|
|
|
185
184
|
* main();
|
|
186
185
|
*
|
|
187
186
|
*/
|
|
188
|
-
initiateLiquidityWithdrawal(signer: Signer, poolSymbolName: string, amountPoolShares: number, overrides?: Overrides): Promise<
|
|
187
|
+
initiateLiquidityWithdrawal(signer: Signer, poolSymbolName: string, amountPoolShares: number, overrides?: Overrides): Promise<ContractTransactionResponse>;
|
|
189
188
|
/**
|
|
190
189
|
* Withdraws as much liquidity as there is available after a call to initiateLiquidityWithdrawal.
|
|
191
190
|
* The address loses pool shares in return.
|
|
@@ -208,5 +207,5 @@ export default class TraderInterface extends MarketData {
|
|
|
208
207
|
* main();
|
|
209
208
|
*
|
|
210
209
|
*/
|
|
211
|
-
executeLiquidityWithdrawal(signer: Signer, poolSymbolName: string, overrides?: Overrides): Promise<
|
|
210
|
+
executeLiquidityWithdrawal(signer: Signer, poolSymbolName: string, overrides?: Overrides): Promise<ContractTransactionResponse>;
|
|
212
211
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Contract } from "ethers";
|
|
1
2
|
import { ZERO_ORDER_ID } from "./constants";
|
|
2
3
|
import { ABK64x64ToFloat, floatToDec18, floatToDecN } from "./d8XMath";
|
|
3
4
|
import MarketData from "./marketData";
|
|
@@ -45,8 +46,8 @@ export default class TraderInterface extends MarketData {
|
|
|
45
46
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
46
47
|
}
|
|
47
48
|
let poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
48
|
-
let feeTbps = await this.proxyContract.queryExchangeFee(poolId, traderAddr, brokerAddr, overrides || {});
|
|
49
|
-
return feeTbps / 100000;
|
|
49
|
+
let feeTbps = (await this.proxyContract.queryExchangeFee(poolId, traderAddr, brokerAddr, overrides || {}));
|
|
50
|
+
return Number(feeTbps) / 100000;
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
52
53
|
*
|
|
@@ -104,7 +105,7 @@ export default class TraderInterface extends MarketData {
|
|
|
104
105
|
let orderBookContract = this.getOrderBookContract(symbol);
|
|
105
106
|
let scOrder = await orderBookContract.orderOfDigest(orderId, overrides || {});
|
|
106
107
|
let digest = this.digestTool.createDigest(scOrder, this.chainId, false, this.proxyAddr);
|
|
107
|
-
return { digest: digest, OBContractAddr: orderBookContract.
|
|
108
|
+
return { digest: digest, OBContractAddr: orderBookContract.target.toString() };
|
|
108
109
|
}
|
|
109
110
|
/**
|
|
110
111
|
* Get the order book address for a perpetual
|
|
@@ -125,7 +126,7 @@ export default class TraderInterface extends MarketData {
|
|
|
125
126
|
*/
|
|
126
127
|
getOrderBookAddress(symbol) {
|
|
127
128
|
let orderBookContract = this.getOrderBookContract(symbol);
|
|
128
|
-
return orderBookContract.
|
|
129
|
+
return orderBookContract.target.toString();
|
|
129
130
|
}
|
|
130
131
|
/**
|
|
131
132
|
* createSmartContractOrder from user-friendly order
|
|
@@ -148,19 +149,23 @@ export default class TraderInterface extends MarketData {
|
|
|
148
149
|
if (this.proxyContract == null) {
|
|
149
150
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
150
151
|
}
|
|
151
|
-
let digest = this.digestTool.createDigest(scOrder, this.chainId, true, this.proxyContract.
|
|
152
|
+
let digest = this.digestTool.createDigest(scOrder, this.chainId, true, this.proxyContract.target.toString());
|
|
152
153
|
return digest;
|
|
153
154
|
}
|
|
154
155
|
/**
|
|
155
|
-
* Get the ABI of a method in the proxy contract
|
|
156
|
+
* Get the ABI of a method in the proxy contract. Throws if non-existent
|
|
156
157
|
* @param method Name of the method
|
|
157
158
|
* @returns ABI as a single string
|
|
158
159
|
*/
|
|
159
160
|
getProxyABI(method) {
|
|
160
161
|
if (this.proxyContract == null) {
|
|
161
|
-
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
162
|
+
throw new Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
163
|
+
}
|
|
164
|
+
const res = PerpetualDataHandler._getABIFromContract(this.proxyContract, method);
|
|
165
|
+
if (!res) {
|
|
166
|
+
throw new Error(`no proxy method found with name ${method}`);
|
|
162
167
|
}
|
|
163
|
-
return
|
|
168
|
+
return res;
|
|
164
169
|
}
|
|
165
170
|
/**
|
|
166
171
|
* Get the ABI of a method in the Limit Order Book contract corresponding to a given symbol.
|
|
@@ -173,7 +178,11 @@ export default class TraderInterface extends MarketData {
|
|
|
173
178
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
174
179
|
}
|
|
175
180
|
let orderBookContract = this.getOrderBookContract(symbol);
|
|
176
|
-
|
|
181
|
+
const res = PerpetualDataHandler._getABIFromContract(orderBookContract, method);
|
|
182
|
+
if (!res) {
|
|
183
|
+
throw new Error(`no proxy method found with name ${method}`);
|
|
184
|
+
}
|
|
185
|
+
return res;
|
|
177
186
|
}
|
|
178
187
|
/**
|
|
179
188
|
* Takes up to three orders and designates the first one as "parent" of the others.
|
|
@@ -227,12 +236,10 @@ export default class TraderInterface extends MarketData {
|
|
|
227
236
|
if (this.proxyContract == null) {
|
|
228
237
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
229
238
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
.addLiquidity(poolId, floatToDecN(amountCC, decimals), overrides || { gasLimit: this.gasLimit });
|
|
235
|
-
return tx;
|
|
239
|
+
const poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
240
|
+
const decimals = this.getSettlementTokenDecimalsFromSymbol(poolSymbolName);
|
|
241
|
+
const proxy = new Contract(this.proxyAddr, this.proxyABI, signer);
|
|
242
|
+
return await proxy.addLiquidity(poolId, floatToDecN(amountCC, decimals), overrides || { gasLimit: this.gasLimit });
|
|
236
243
|
}
|
|
237
244
|
/**
|
|
238
245
|
* Initiates a liquidity withdrawal from the pool
|
|
@@ -263,10 +270,8 @@ export default class TraderInterface extends MarketData {
|
|
|
263
270
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
264
271
|
}
|
|
265
272
|
let poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
.withdrawLiquidity(poolId, floatToDec18(amountPoolShares), overrides || { gasLimit: this.gasLimit });
|
|
269
|
-
return tx;
|
|
273
|
+
const proxy = new Contract(this.proxyAddr, this.proxyABI, signer);
|
|
274
|
+
return await proxy.withdrawLiquidity(poolId, floatToDec18(amountPoolShares), overrides || { gasLimit: this.gasLimit });
|
|
270
275
|
}
|
|
271
276
|
/**
|
|
272
277
|
* Withdraws as much liquidity as there is available after a call to initiateLiquidityWithdrawal.
|
|
@@ -295,10 +300,8 @@ export default class TraderInterface extends MarketData {
|
|
|
295
300
|
throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
|
|
296
301
|
}
|
|
297
302
|
let poolId = PerpetualDataHandler._getPoolIdFromSymbol(poolSymbolName, this.poolStaticInfos);
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
.executeLiquidityWithdrawal(poolId, await signer.getAddress(), overrides || { gasLimit: this.gasLimit });
|
|
301
|
-
return tx;
|
|
303
|
+
const proxy = new Contract(this.proxyAddr, this.proxyABI, signer);
|
|
304
|
+
return await proxy.executeLiquidityWithdrawal(poolId, await signer.getAddress(), overrides || { gasLimit: this.gasLimit });
|
|
302
305
|
}
|
|
303
306
|
}
|
|
304
307
|
//# sourceMappingURL=traderInterface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traderInterface.js","sourceRoot":"","sources":["../../src/traderInterface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"traderInterface.js","sourceRoot":"","sources":["../../src/traderInterface.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { BigNumber } from "@ethersproject/bignumber";
|
|
3
2
|
import { Buffer } from "buffer";
|
|
4
3
|
import { NodeSDKConfig } from "./nodeSDKTypes";
|
|
5
4
|
/**
|
|
@@ -56,7 +55,7 @@ export declare function symbolToContractSymbol(s: string, mapping: Map<string, s
|
|
|
56
55
|
* @returns {string} long format e.g. MATIC. if not found the element is ""
|
|
57
56
|
*/
|
|
58
57
|
export declare function symbol4BToLongSymbol(s: string, mapping: Map<string, string>): string;
|
|
59
|
-
export declare function combineFlags(f1:
|
|
60
|
-
export declare function containsFlag(f1:
|
|
58
|
+
export declare function combineFlags(f1: bigint, f2: bigint): bigint;
|
|
59
|
+
export declare function containsFlag(f1: bigint, f2: bigint): boolean;
|
|
61
60
|
export declare function loadConfigAbis(config: NodeSDKConfig): void;
|
|
62
61
|
export declare function sleep(seconds: number): Promise<unknown>;
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { BigNumber } from "@ethersproject/bignumber";
|
|
2
1
|
import { Buffer } from "buffer";
|
|
3
2
|
/**
|
|
4
3
|
* @module utils
|
|
@@ -116,7 +115,7 @@ export function symbol4BToLongSymbol(s, mapping) {
|
|
|
116
115
|
return longCCY.substring(1);
|
|
117
116
|
}
|
|
118
117
|
export function combineFlags(f1, f2) {
|
|
119
|
-
return
|
|
118
|
+
return BigInt((parseInt(f1.toString()) | parseInt(f2.toString())) >>> 0);
|
|
120
119
|
}
|
|
121
120
|
export function containsFlag(f1, f2) {
|
|
122
121
|
return (BigInt(f1.toString()) & BigInt(f2.toString())) > 0;
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "
|
|
1
|
+
export declare const D8X_SDK_VERSION = "2.0.0-alpha";
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "
|
|
1
|
+
export const D8X_SDK_VERSION = "2.0.0-alpha";
|
|
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,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { Signer } from "
|
|
2
|
-
import {
|
|
3
|
-
import { CallOverrides, ContractTransaction, Overrides, PayableOverrides } from "@ethersproject/contracts";
|
|
4
|
-
import { Provider } from "@ethersproject/providers";
|
|
1
|
+
import { ContractTransactionResponse, Overrides, Provider, Signer } from "ethers";
|
|
2
|
+
import { PayableOverrides } from "./contracts/common";
|
|
5
3
|
import MarketData from "./marketData";
|
|
6
4
|
import { type NodeSDKConfig } from "./nodeSDKTypes";
|
|
7
5
|
import PerpetualDataHandler from "./perpetualDataHandler";
|
|
@@ -22,16 +20,16 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
22
20
|
* @param {string | Signer} signer Private key or ethers Signer of the account
|
|
23
21
|
*/
|
|
24
22
|
constructor(config: NodeSDKConfig, signer: string | Signer);
|
|
25
|
-
createProxyInstance(provider?: Provider, overrides?:
|
|
23
|
+
createProxyInstance(provider?: Provider, overrides?: Overrides): Promise<void>;
|
|
26
24
|
createProxyInstance(marketData: MarketData): Promise<void>;
|
|
27
25
|
/**
|
|
28
26
|
* Set allowance for ar margin token (e.g., MATIC, ETH, USDC)
|
|
29
27
|
* @param symbol token in 'long-form' such as MATIC, symbol also fine (ETH-USD-MATIC)
|
|
30
28
|
* @param amount optional, amount to approve if not 'infinity'
|
|
31
|
-
* @returns
|
|
29
|
+
* @returns Contract Transaction
|
|
32
30
|
*/
|
|
33
|
-
setAllowance(symbol: string, amount?: number, overrides?: Overrides): Promise<
|
|
34
|
-
protected static _setAllowance(tokenAddr: string, proxyAddr: string, signer: Signer, amount:
|
|
31
|
+
setAllowance(symbol: string, amount?: number, overrides?: Overrides): Promise<ContractTransactionResponse>;
|
|
32
|
+
protected static _setAllowance(tokenAddr: string, proxyAddr: string, signer: Signer, amount: bigint, overrides?: Overrides): Promise<ContractTransactionResponse>;
|
|
35
33
|
/**
|
|
36
34
|
* Address corresponding to the private key used to instantiate this class.
|
|
37
35
|
* @returns {string} Address of this wallet.
|
|
@@ -44,5 +42,5 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
44
42
|
* @param amountToPay Amount in chain currency, e.g. "0.1" for 0.1 MATIC
|
|
45
43
|
* @returns Transaction object
|
|
46
44
|
*/
|
|
47
|
-
swapForMockToken(symbol: string, amountToPay: string, overrides?: PayableOverrides): Promise<
|
|
45
|
+
swapForMockToken(symbol: string, amountToPay: string, overrides?: PayableOverrides): Promise<ContractTransactionResponse>;
|
|
48
46
|
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import { Contract } from "
|
|
2
|
-
import { Provider, StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
3
|
-
import { parseEther } from "@ethersproject/units";
|
|
4
|
-
import { Wallet } from "@ethersproject/wallet";
|
|
1
|
+
import { Contract, JsonRpcProvider, parseEther, Wallet, } from "ethers";
|
|
5
2
|
import { MAX_UINT_256, MULTICALL_ADDRESS } from "./constants";
|
|
6
3
|
import { ERC20__factory, MockTokenSwap__factory, Multicall3__factory } from "./contracts";
|
|
7
4
|
import { floatToDecN } from "./d8XMath";
|
|
@@ -40,8 +37,8 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
40
37
|
* @param provider optional provider
|
|
41
38
|
*/
|
|
42
39
|
async createProxyInstance(providerOrMarketData, overrides) {
|
|
43
|
-
if (providerOrMarketData == undefined ||
|
|
44
|
-
this.provider = providerOrMarketData ?? new
|
|
40
|
+
if (providerOrMarketData == undefined || !("createProxyInstance" in providerOrMarketData)) {
|
|
41
|
+
this.provider = providerOrMarketData ?? new JsonRpcProvider(this.nodeURL, this.network, { staticNetwork: true });
|
|
45
42
|
if (!this.signer) {
|
|
46
43
|
const wallet = new Wallet(this.privateKey);
|
|
47
44
|
this.signer = wallet.connect(this.provider);
|
|
@@ -51,7 +48,7 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
51
48
|
else {
|
|
52
49
|
const mktData = providerOrMarketData;
|
|
53
50
|
this.nodeURL = mktData.config.nodeURL;
|
|
54
|
-
this.provider = new
|
|
51
|
+
this.provider = new JsonRpcProvider(mktData.config.nodeURL, mktData.network, { staticNetwork: true });
|
|
55
52
|
this.proxyContract = new Contract(mktData.getProxyAddress(), this.config.proxyABI, this.provider);
|
|
56
53
|
this.multicall = Multicall3__factory.connect(this.config.multicall ?? MULTICALL_ADDRESS, this.provider);
|
|
57
54
|
({
|
|
@@ -74,7 +71,7 @@ export default class WriteAccessHandler extends PerpetualDataHandler {
|
|
|
74
71
|
* Set allowance for ar margin token (e.g., MATIC, ETH, USDC)
|
|
75
72
|
* @param symbol token in 'long-form' such as MATIC, symbol also fine (ETH-USD-MATIC)
|
|
76
73
|
* @param amount optional, amount to approve if not 'infinity'
|
|
77
|
-
* @returns
|
|
74
|
+
* @returns Contract Transaction
|
|
78
75
|
*/
|
|
79
76
|
async setAllowance(symbol, amount, overrides) {
|
|
80
77
|
// extract margin-currency name
|
|
@@ -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.0-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
|
}
|