@dhedge/v2-sdk 2.1.8 → 2.2.0

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.
Files changed (91) hide show
  1. package/README.md +400 -53
  2. package/dist/config.d.ts +13 -2
  3. package/dist/entities/pool.d.ts +25 -86
  4. package/dist/entities/utils.d.ts +15 -0
  5. package/dist/services/hyperliquid/index.d.ts +22 -0
  6. package/dist/services/kyberSwap/index.d.ts +1 -1
  7. package/dist/services/oneInch/index.d.ts +1 -1
  8. package/dist/services/toros/easySwapper.d.ts +14 -0
  9. package/dist/services/toros/swapData.d.ts +5 -5
  10. package/dist/services/uniswap/V3Liquidity.d.ts +2 -2
  11. package/dist/services/velodrome/liquidity.d.ts +3 -0
  12. package/dist/test/constants.d.ts +48 -3
  13. package/dist/test/utils/testingHelper.d.ts +4 -0
  14. package/dist/types.d.ts +19 -4
  15. package/dist/utils/contract.d.ts +20 -0
  16. package/dist/v2-sdk.cjs.development.js +4996 -6742
  17. package/dist/v2-sdk.cjs.development.js.map +1 -1
  18. package/dist/v2-sdk.cjs.production.min.js +1 -1
  19. package/dist/v2-sdk.cjs.production.min.js.map +1 -1
  20. package/dist/v2-sdk.esm.js +5001 -6742
  21. package/dist/v2-sdk.esm.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/abi/PoolFactory.json +414 -204
  24. package/src/abi/PoolLogic.json +160 -134
  25. package/src/config.ts +13 -8
  26. package/src/entities/pool.ts +46 -253
  27. package/src/entities/utils.ts +15 -0
  28. package/src/services/hyperliquid/index.ts +22 -0
  29. package/src/services/kyberSwap/index.ts +5 -3
  30. package/src/services/oneInch/index.ts +5 -4
  31. package/src/services/toros/completeWithdrawal.ts +57 -40
  32. package/src/services/toros/easySwapper.ts +15 -1
  33. package/src/services/toros/initWithdrawal.ts +39 -31
  34. package/src/services/toros/swapData.ts +45 -131
  35. package/src/services/uniswap/V3Liquidity.ts +3 -24
  36. package/src/services/velodrome/liquidity.ts +3 -0
  37. package/src/test/aave.test.ts +99 -70
  38. package/src/test/aerodrome.test.ts +53 -24
  39. package/src/test/aerodromeCL.test.ts +64 -30
  40. package/src/test/arrakis.test.ts +23 -35
  41. package/src/test/balancer.test.ts +114 -106
  42. package/src/test/compoundV3.test.ts +45 -29
  43. package/src/test/constants.ts +56 -11
  44. package/src/test/cowswap.test.ts +33 -35
  45. package/src/test/dhedge.test.ts +45 -12
  46. package/src/test/flatmoney.test.ts +25 -39
  47. package/src/test/fluid.test.ts +33 -24
  48. package/src/test/hyperliquid.onchain.test.ts +131 -0
  49. package/src/test/kyberSwap.test.ts +37 -16
  50. package/src/test/lyra.test.ts +159 -150
  51. package/src/test/odos.test.ts +2 -2
  52. package/src/test/oneInch.test.ts +36 -22
  53. package/src/test/pancakeCL.test.ts +72 -31
  54. package/src/test/pendle.test.ts +94 -54
  55. package/src/test/{pendleMint.test.ts → pendleMint.onchain.test.ts} +22 -8
  56. package/src/test/pool.test.ts +152 -95
  57. package/src/test/toros.onchain.test.ts +92 -0
  58. package/src/test/toros.test.ts +74 -20
  59. package/src/test/torosLimitOrder.test.ts +87 -42
  60. package/src/test/uniswap.test.ts +77 -128
  61. package/src/test/utils/testingHelper.ts +120 -0
  62. package/src/test/velodrome.test.ts +126 -92
  63. package/src/test/velodromeCL.test.ts +43 -31
  64. package/src/test/velodromeV2.test.ts +153 -95
  65. package/src/types.ts +20 -5
  66. package/src/utils/contract.ts +20 -0
  67. package/dist/services/futures/constants.d.ts +0 -1
  68. package/dist/services/futures/index.d.ts +0 -2
  69. package/dist/services/futures/margin.d.ts +0 -2
  70. package/dist/services/futures/trade.d.ts +0 -3
  71. package/dist/services/ramses/vesting.d.ts +0 -4
  72. package/dist/services/uniswap/V3Trade.d.ts +0 -3
  73. package/dist/test/utils/futures.d.ts +0 -2
  74. package/src/abi/IRamsesNonfungiblePositionManager.json +0 -486
  75. package/src/abi/ISynthetiXFuturesMarketV2.json +0 -531
  76. package/src/abi/ISynthetix.json +0 -139
  77. package/src/abi/IUniswapV3Quoter.json +0 -195
  78. package/src/abi/IUniswapV3Router.json +0 -221
  79. package/src/abi/IXRam.json +0 -99
  80. package/src/services/futures/constants.ts +0 -1
  81. package/src/services/futures/index.ts +0 -2
  82. package/src/services/futures/margin.ts +0 -10
  83. package/src/services/futures/trade.ts +0 -32
  84. package/src/services/ramses/vesting.ts +0 -24
  85. package/src/services/uniswap/V3Trade.ts +0 -46
  86. package/src/test/futures.test.ts +0 -51
  87. package/src/test/hyperliquid.test.ts +0 -107
  88. package/src/test/ramses.test.ts +0 -190
  89. package/src/test/ramsesCL.test.ts +0 -155
  90. package/src/test/synthetix.test.ts +0 -36
  91. package/src/test/utils/futures.ts +0 -14
@@ -1,107 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
-
3
- import { Dhedge, Pool } from "..";
4
-
5
- import { Network } from "../types";
6
- import { TEST_POOL } from "./constants";
7
-
8
- import { TestingRunParams, testingHelper } from "./utils/testingHelper";
9
-
10
- // import { balanceDelta } from "./utils/token";
11
-
12
- const testHyperliquid = ({ wallet, network }: TestingRunParams) => {
13
- let dhedge: Dhedge;
14
- let pool: Pool;
15
- jest.setTimeout(100000);
16
-
17
- describe(`pool on ${network}`, () => {
18
- beforeAll(async () => {
19
- dhedge = new Dhedge(wallet, network);
20
- pool = await dhedge.loadPool(TEST_POOL[network]);
21
- // // top up gas
22
- // await provider.send("hardhat_setBalance", [
23
- // wallet.address,
24
- // "0x10000000000000000"
25
- // ]);
26
- // await provider.send("evm
27
- // _mine", []);
28
- // // top up USDC
29
- // await setUSDCAmount({
30
- // amount: new BigNumber(2).times(1e6).toFixed(0),
31
- // userAddress: pool.address,
32
- // network,
33
- // provider
34
- // });
35
- });
36
-
37
- // it("approves unlimited USDC on Hyperliquid Core Wallet", async () => {
38
- // await pool.approve(
39
- // Dapp.HYPERLIQUID,
40
- // USDC,
41
- // MAX_AMOUNT,
42
- // await getTxOptions(network)
43
- // );
44
- // const usdcAllowanceDelta = await allowanceDelta(
45
- // pool.address,
46
- // USDC,
47
- // routerAddress[network][Dapp.HYPERLIQUID]!,
48
- // pool.signer
49
- // );
50
- // await expect(usdcAllowanceDelta.gt(0));
51
- // });
52
-
53
- // it("deposits USDC into Hyperliquid Core Wallet", async () => {
54
- // await pool.depositHyperliquid(
55
- // "30000000", // 5 USDC with 6 decimals,
56
- // 4294967295
57
- // );
58
- // expect(
59
- // (await balanceDelta(pool.address, USDC, pool.signer)).eq("-20000000")
60
- // ).toBe(true);
61
- // });
62
-
63
- // it("move 5 USDC from Perp to Spot Wallet", async () => {
64
- // const tx = await pool.perpToSpotHyperliquid(
65
- // 0,
66
- // "5000000" // 5 USDC with 6 decimals
67
- // );
68
- // expect(tx).toBeDefined();
69
- // });
70
-
71
- // it("withdraws USDC from Hyperliquid Spot Wallet", async () => {
72
- // const tx = await pool.withdrawHyperliquid(
73
- // "784577548" // 5 USDC with 6 decimals
74
- // );
75
- // expect(tx).toBeDefined();
76
- // });
77
-
78
- // it("sets up a BTC_USDC buy order", async () => {
79
- // const tx = await pool.openMarketOrderHyperliquid(
80
- // 10182, // HYPE SPOT
81
- // true, // is long
82
- // 25, // 25 USD value of BTC,
83
- // 1, // 0.5% slippage,
84
- // null,
85
- // true
86
- // );
87
- // expect(tx).toBeDefined();
88
- // });
89
-
90
- it("closes a position on Hyperliquid", async () => {
91
- const tx = await pool.closePositionHyperliquid(
92
- 1, // ETH Perp,
93
- 50, // percentage to close
94
- 1, // 0.5% slippage,
95
- null,
96
- true
97
- );
98
- expect(tx).toBeDefined();
99
- });
100
- });
101
- };
102
-
103
- testingHelper({
104
- network: Network.HYPERLIQUID,
105
- testingRun: testHyperliquid,
106
- onFork: false
107
- });
@@ -1,190 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { Dhedge, Pool } from "..";
4
- import { routerAddress } from "../config";
5
- import { Dapp, Network } from "../types";
6
- import { CONTRACT_ADDRESS, MAX_AMOUNT, TEST_POOL } from "./constants";
7
- import {
8
- TestingRunParams,
9
- beforeAfterReset,
10
- testingHelper
11
- } from "./utils/testingHelper";
12
- import { allowanceDelta, balanceDelta } from "./utils/token";
13
- import { getWalletData } from "./wallet";
14
-
15
- const testRamses = ({ network, provider }: TestingRunParams) => {
16
- const USDC_swETH_Lp = "0xf1a5444a7ed5f24962a118512b076a015b0e6c0b";
17
- const USDC_swETH_Gauge = "0x9765cdaec6395b04737edc22c5b3e7d85677328a";
18
- const RAM = "0xaaa6c1e32c55a7bfa8066a6fae9b42650f262418";
19
- const xoRAM = "0xaaa1ee8dc1864ae49185c368e8c64dd780a50fb7";
20
-
21
- const USDC = CONTRACT_ADDRESS[network].USDC;
22
- const SWETH = CONTRACT_ADDRESS[network].SWETH;
23
-
24
- let dhedge: Dhedge;
25
- let pool: Pool;
26
- jest.setTimeout(100000);
27
-
28
- describe(`[${network}] ramses tests`, () => {
29
- beforeAll(async () => {
30
- const { wallet } = getWalletData(network);
31
- // top up ETH (gas)
32
- await provider.send("hardhat_setBalance", [
33
- wallet.address,
34
- "0x100000000000000"
35
- ]);
36
- dhedge = new Dhedge(wallet, network);
37
- pool = await dhedge.loadPool(TEST_POOL[network]);
38
- await pool.trade(Dapp.ONEINCH, USDC, SWETH, (5 * 1e6).toString());
39
- });
40
- beforeAfterReset({ beforeAll, afterAll, provider });
41
-
42
- it("approves unlimited USDC and swETH on for Ramses", async () => {
43
- await pool.approve(Dapp.RAMSES, USDC, MAX_AMOUNT);
44
- await pool.approve(Dapp.RAMSES, SWETH, MAX_AMOUNT);
45
- const UsdcAllowanceDelta = await allowanceDelta(
46
- pool.address,
47
- USDC,
48
- routerAddress[network].ramses!,
49
- pool.signer
50
- );
51
- await expect(UsdcAllowanceDelta.gt(0));
52
- });
53
-
54
- it("adds USDC and swETH to a Ramses volatile pool", async () => {
55
- const usdcBalance = await pool.utils.getBalance(USDC, pool.address);
56
- const swethBalance = await pool.utils.getBalance(SWETH, pool.address);
57
- await pool.addLiquidityV2(
58
- Dapp.RAMSES,
59
- USDC,
60
- SWETH,
61
- usdcBalance,
62
- swethBalance,
63
- false
64
- );
65
-
66
- const lpTokenDelta = await balanceDelta(
67
- pool.address,
68
- USDC_swETH_Lp,
69
- pool.signer
70
- );
71
- expect(lpTokenDelta.gt(0));
72
- });
73
-
74
- it("should stake USDC-swETH LP in a gauge", async () => {
75
- const balance = await dhedge.utils.getBalance(
76
- USDC_swETH_Lp,
77
- pool.address
78
- );
79
- await pool.approveSpender(USDC_swETH_Gauge, USDC_swETH_Lp, MAX_AMOUNT);
80
- await pool.stakeInGauge(Dapp.RAMSES, USDC_swETH_Gauge, balance);
81
- const gaugeBalance = await balanceDelta(
82
- pool.address,
83
- USDC_swETH_Gauge,
84
- pool.signer
85
- );
86
- expect(gaugeBalance.gt(0));
87
- });
88
-
89
- it("should claim rewards from Gauge", async () => {
90
- await provider.send("evm_increaseTime", [24 * 60 * 60]); // 1 day
91
- await provider.send("evm_mine", []);
92
- const claimTx = await pool.claimFees(Dapp.RAMSES, USDC_swETH_Gauge);
93
- expect(claimTx).not.toBe(null);
94
- const ramBalanceDelta = await balanceDelta(
95
- pool.address,
96
- RAM,
97
- pool.signer
98
- );
99
- const xoRamBalanceDelta = await balanceDelta(
100
- pool.address,
101
- xoRAM,
102
- pool.signer
103
- );
104
- expect(ramBalanceDelta.gt(0));
105
- expect(xoRamBalanceDelta.gt(0));
106
- });
107
-
108
- it("createVest for xoRAM", async () => {
109
- const xoRAMBalanceBefore = await dhedge.utils.getBalance(
110
- xoRAM,
111
- pool.address
112
- );
113
- expect(xoRAMBalanceBefore.gt(0));
114
- const vestTx = await pool.vestTokens(xoRAM, xoRAMBalanceBefore);
115
- expect(vestTx).not.toBe(null);
116
- const xoRAMBalanceAfter = await dhedge.utils.getBalance(
117
- xoRAM,
118
- pool.address
119
- );
120
- expect(xoRAMBalanceAfter.eq(0));
121
- });
122
-
123
- it("exitVest for xoRAM", async () => {
124
- await provider.send("evm_increaseTime", [3600 * 24 * 90]); // 90 days
125
- await provider.send("evm_mine", []);
126
-
127
- const ramBalanceBefore = await dhedge.utils.getBalance(RAM, pool.address);
128
-
129
- const exitvestTx = await pool.exitVestedToken(xoRAM, 0);
130
- const xoRAMBalanceAfter = await dhedge.utils.getBalance(
131
- USDC_swETH_Gauge,
132
- pool.address
133
- );
134
- expect(exitvestTx).not.toBe(null);
135
- const ramBalanceAfter = await dhedge.utils.getBalance(RAM, pool.address);
136
- expect(xoRAMBalanceAfter.eq(0));
137
- expect(ramBalanceAfter.gt(ramBalanceBefore));
138
- });
139
-
140
- it("should unStake USDC-swETH LP from a gauge", async () => {
141
- const gaugeBalance = await dhedge.utils.getBalance(
142
- USDC_swETH_Gauge,
143
- pool.address
144
- );
145
- await pool.unstakeFromGauge(USDC_swETH_Gauge, gaugeBalance);
146
- const lpTokenDelta = await balanceDelta(
147
- pool.address,
148
- USDC_swETH_Lp,
149
- pool.signer
150
- );
151
- expect(lpTokenDelta.gt(0));
152
- });
153
-
154
- it("approves unlimited USDC/swETH LP for Ramses", async () => {
155
- await pool.approve(Dapp.RAMSES, USDC_swETH_Lp, MAX_AMOUNT);
156
- const lpAllowanceDelta = await allowanceDelta(
157
- pool.address,
158
- USDC_swETH_Lp,
159
- routerAddress[network].ramses!,
160
- pool.signer
161
- );
162
- expect(lpAllowanceDelta.gt(0));
163
- });
164
-
165
- it("should remove all liquidity from an existing pool ", async () => {
166
- const balance = await dhedge.utils.getBalance(
167
- USDC_swETH_Lp,
168
- pool.address
169
- );
170
- await pool.removeLiquidityV2(Dapp.RAMSES, USDC, SWETH, balance, false);
171
- const usdcBalanceDelta = await balanceDelta(
172
- pool.address,
173
- USDC,
174
- pool.signer
175
- );
176
- const swETHBalanceDelta = await balanceDelta(
177
- pool.address,
178
- SWETH,
179
- pool.signer
180
- );
181
- expect(usdcBalanceDelta.gt(0));
182
- expect(swETHBalanceDelta.gt(0));
183
- });
184
- });
185
- };
186
-
187
- testingHelper({
188
- network: Network.ARBITRUM,
189
- testingRun: testRamses
190
- });
@@ -1,155 +0,0 @@
1
- import { Dhedge, Pool, ethers } from "..";
2
-
3
- import { nonfungiblePositionManagerAddress } from "../config";
4
- import { AssetEnabled, Dapp, Network } from "../types";
5
- import { CONTRACT_ADDRESS, MAX_AMOUNT, TEST_POOL } from "./constants";
6
- import {
7
- TestingRunParams,
8
- beforeAfterReset,
9
- setChainlinkTimeout,
10
- testingHelper
11
- } from "./utils/testingHelper";
12
- import { allowanceDelta, balanceDelta } from "./utils/token";
13
- import INonfungiblePositionManager from "../abi/INonfungiblePositionManager.json";
14
-
15
- const testRamsesCL = ({ wallet, network, provider }: TestingRunParams) => {
16
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
17
- const RAMSES_POSITION_MANGER = nonfungiblePositionManagerAddress[network][
18
- Dapp.RAMSESCL
19
- ]!;
20
-
21
- const USDC = CONTRACT_ADDRESS[network].USDC;
22
- const WETH = CONTRACT_ADDRESS[network].WETH;
23
- //if other chains then define per network
24
- const RAM = "0xaaa6c1e32c55a7bfa8066a6fae9b42650f262418";
25
- const ARB = "0x912ce59144191c1204e64559fe8253a0e49e6548";
26
-
27
- let dhedge: Dhedge;
28
- let pool: Pool;
29
- let ramsesPositionManager: ethers.Contract;
30
- let tokenId: string;
31
- jest.setTimeout(100000);
32
-
33
- describe(`[${network}] Ramses CL tests`, () => {
34
- beforeAll(async () => {
35
- // top up ETH (gas)
36
- await provider.send("hardhat_setBalance", [
37
- wallet.address,
38
- "0x100000000000000"
39
- ]);
40
- dhedge = new Dhedge(wallet, network);
41
- pool = await dhedge.loadPool(TEST_POOL[network]);
42
-
43
- // setChainlinkTimeout
44
- await setChainlinkTimeout({ pool, provider }, 86400 * 365);
45
-
46
- const newAssets: AssetEnabled[] = [
47
- { asset: USDC, isDeposit: true },
48
- { asset: WETH, isDeposit: true },
49
- {
50
- asset: RAMSES_POSITION_MANGER,
51
- isDeposit: false
52
- },
53
- {
54
- asset: ARB,
55
- isDeposit: false
56
- }
57
- ];
58
- await pool.changeAssets(newAssets);
59
- await pool.approve(Dapp.ONEINCH, USDC, MAX_AMOUNT);
60
- await pool.trade(Dapp.ONEINCH, USDC, WETH, (2.5 * 1e6).toString());
61
-
62
- ramsesPositionManager = new ethers.Contract(
63
- RAMSES_POSITION_MANGER,
64
- INonfungiblePositionManager.abi,
65
- pool.signer
66
- );
67
- });
68
-
69
- beforeAfterReset({ beforeAll, afterAll, provider });
70
-
71
- describe("Liquidity", () => {
72
- it("approves unlimited USDC and WETH on for Velodrome CL", async () => {
73
- await pool.approveSpender(RAMSES_POSITION_MANGER, USDC, MAX_AMOUNT);
74
- await pool.approveSpender(RAMSES_POSITION_MANGER, WETH, MAX_AMOUNT);
75
- const UsdcAllowanceDelta = await allowanceDelta(
76
- pool.address,
77
- USDC,
78
- RAMSES_POSITION_MANGER,
79
- pool.signer
80
- );
81
- await expect(UsdcAllowanceDelta.gt(0));
82
- });
83
-
84
- it("adds USDC and WETH to a Velodrome CL (mint position)", async () => {
85
- const usdcBalance = await pool.utils.getBalance(USDC, pool.address);
86
- const wethBalance = await pool.utils.getBalance(WETH, pool.address);
87
- await pool.addLiquidityUniswapV3(
88
- Dapp.RAMSESCL,
89
- WETH,
90
- USDC,
91
- usdcBalance.div(2),
92
- wethBalance.div(2),
93
- null,
94
- null,
95
- -204460,
96
- -193470,
97
- 500
98
- );
99
-
100
- tokenId = (
101
- await ramsesPositionManager.tokenOfOwnerByIndex(pool.address, 0)
102
- ).toString();
103
- expect(tokenId).not.toBe(null);
104
- });
105
-
106
- it("increases liquidity in a CL position", async () => {
107
- const usdcBalance = await pool.utils.getBalance(USDC, pool.address);
108
- const wethBalance = await pool.utils.getBalance(WETH, pool.address);
109
- const positionBefore = await ramsesPositionManager.positions(tokenId);
110
- await pool.increaseLiquidity(
111
- Dapp.RAMSESCL,
112
- tokenId,
113
- usdcBalance.div(2),
114
- wethBalance.div(2)
115
- );
116
- const positionAfter = await ramsesPositionManager.positions(tokenId);
117
- expect(positionAfter.liquidity.gt(positionBefore.liquidity));
118
- });
119
-
120
- it("decreases liquidity from a CL position", async () => {
121
- const positionBefore = await ramsesPositionManager.positions(tokenId);
122
- await pool.decreaseLiquidity(Dapp.RAMSESCL, tokenId, 50);
123
- const positionAfter = await ramsesPositionManager.positions(tokenId);
124
- expect(positionAfter.liquidity.lt(positionBefore.liquidity));
125
- });
126
-
127
- it("collects fess of a CL position", async () => {
128
- await provider.send("evm_increaseTime", [24 * 3600 * 3]); // 1 day
129
- await provider.send("evm_mine", []);
130
- await pool.claimFees(Dapp.RAMSESCL, tokenId);
131
- expect((await balanceDelta(pool.address, USDC, pool.signer)).gt(0));
132
- });
133
-
134
- it("get rewards of a CL position", async () => {
135
- await provider.send("evm_increaseTime", [24 * 3600 * 3]); // 1 day
136
- await provider.send("evm_mine", []);
137
- await pool.getRewards(Dapp.RAMSESCL, tokenId, [RAM]);
138
- expect((await balanceDelta(pool.address, RAM, pool.signer)).gt(0));
139
- });
140
-
141
- it("decreases 100% liquidity and burns a CL position", async () => {
142
- await pool.decreaseLiquidity(Dapp.RAMSESCL, tokenId, 100);
143
- const positionAfter = await ramsesPositionManager.balanceOf(
144
- pool.address
145
- );
146
- expect(positionAfter.eq(0));
147
- });
148
- });
149
- });
150
- };
151
-
152
- testingHelper({
153
- network: Network.ARBITRUM,
154
- testingRun: testRamsesCL
155
- });
@@ -1,36 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Dhedge } from "..";
3
- import { Dapp, Network } from "../types";
4
- import { TEST_POOL } from "./constants";
5
- //import { getTxOptions } from "./txOptions";
6
-
7
- import { wallet } from "./wallet";
8
-
9
- const TEST_POOL_OP = TEST_POOL.optimism;
10
-
11
- let dhedge: Dhedge;
12
- let options: any;
13
- jest.setTimeout(100000);
14
-
15
- describe("pool", () => {
16
- beforeAll(async () => {
17
- dhedge = new Dhedge(wallet, Network.OPTIMISM);
18
- //options = await getTxOptions();
19
- options = { gasLimit: "3000000" };
20
- });
21
-
22
- it("should swap sETH into sUSD on Synthetix", async () => {
23
- const pool = await dhedge.loadPool(TEST_POOL_OP);
24
- const result = await pool.trade(
25
- Dapp.SYNTHETIX,
26
- "sETH",
27
- "sUSD",
28
- "1000000000000000",
29
- undefined,
30
- options
31
- );
32
-
33
- console.log(result);
34
- expect(result).not.toBe(null);
35
- });
36
- });
@@ -1,14 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Pool, ethers } from "../..";
3
- import ISynthetixFuturesMarketV2 from "../../abi/ISynthetixFuturesMarketV2.json";
4
- export async function getDelayedOrders(
5
- market: string,
6
- pool: Pool
7
- ): Promise<any> {
8
- const futuresMarket = new ethers.Contract(
9
- market,
10
- ISynthetixFuturesMarketV2.abi,
11
- pool.signer
12
- );
13
- return await futuresMarket.delayedOrders(pool.address);
14
- }