@dhedge/v2-sdk 1.4.2 → 1.5.1

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 (39) hide show
  1. package/dist/config.d.ts +1 -0
  2. package/dist/entities/dhedge.d.ts +6 -0
  3. package/dist/entities/pool.d.ts +8 -0
  4. package/dist/services/aave/assets.d.ts +2 -0
  5. package/dist/services/aave/incentives.d.ts +2 -0
  6. package/dist/services/chainLink/price.d.ts +2 -0
  7. package/dist/services/oneInch/protocols.d.ts +1 -0
  8. package/dist/services/toros/easySwapper.d.ts +7 -0
  9. package/dist/services/toros/pool.d.ts +3 -0
  10. package/dist/test/constants.d.ts +15 -1
  11. package/dist/types.d.ts +2 -1
  12. package/dist/v2-sdk.cjs.development.js +4558 -115
  13. package/dist/v2-sdk.cjs.development.js.map +1 -1
  14. package/dist/v2-sdk.cjs.production.min.js +1 -1
  15. package/dist/v2-sdk.cjs.production.min.js.map +1 -1
  16. package/dist/v2-sdk.esm.js +4556 -113
  17. package/dist/v2-sdk.esm.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/abi/IAaveV3Incentives.json +614 -0
  20. package/src/abi/IAaveV3LendingPool.json +1241 -0
  21. package/src/abi/IAaveV3PoolAddressProvider.json +468 -0
  22. package/src/abi/IDhedgeEasySwapper.json +443 -0
  23. package/src/abi/IPriceOracle.json +244 -0
  24. package/src/config.ts +18 -4
  25. package/src/entities/dhedge.ts +9 -0
  26. package/src/entities/pool.ts +94 -51
  27. package/src/services/aave/assets.ts +26 -0
  28. package/src/services/aave/incentives.ts +23 -0
  29. package/src/services/chainLink/price.ts +26 -0
  30. package/src/services/oneInch/protocols.ts +18 -0
  31. package/src/services/toros/easySwapper.ts +110 -0
  32. package/src/services/toros/pool.ts +14 -0
  33. package/src/test/1inch.test.ts +3 -3
  34. package/src/test/aave.test.ts +40 -13
  35. package/src/test/arrakis.test.ts +2 -2
  36. package/src/test/constants.ts +17 -10
  37. package/src/test/toros.test.ts +117 -0
  38. package/src/test/wallet.ts +5 -5
  39. package/src/types.ts +2 -1
@@ -0,0 +1,117 @@
1
+ import { Dhedge, ethers } from "..";
2
+ import {
3
+ getEasySwapperDepositQuote,
4
+ getEasySwapperWithdrawalQuote,
5
+ getPoolDepositAsset
6
+ } from "../services/toros/easySwapper";
7
+ import { Dapp, Network } from "../types";
8
+ import { BTCBEAR2X, ETHBULL3X, TEST_POOL, USDC, WBTC } from "./constants";
9
+ import { getTxOptions } from "./txOptions";
10
+
11
+ import { wallet } from "./wallet";
12
+
13
+ let dhedge: Dhedge;
14
+ let options: any;
15
+
16
+ jest.setTimeout(100000);
17
+
18
+ describe("pool", () => {
19
+ beforeAll(async () => {
20
+ dhedge = new Dhedge(wallet, Network.POLYGON);
21
+ options = await getTxOptions(Network.POLYGON);
22
+ });
23
+
24
+ it("gets Deposit Quote for ETHBULL3X invest with USDC", async () => {
25
+ let result;
26
+ const pool = await dhedge.loadPool(ETHBULL3X);
27
+ try {
28
+ const depositAsset = await getPoolDepositAsset(pool, ETHBULL3X);
29
+ if (!depositAsset) throw new Error("no deposit assets");
30
+
31
+ result = await getEasySwapperDepositQuote(
32
+ pool,
33
+ pool.address,
34
+ USDC,
35
+ depositAsset,
36
+ ethers.BigNumber.from("100000000")
37
+ );
38
+ console.log("deposit quote", result.toString());
39
+ } catch (e) {
40
+ console.log(e);
41
+ }
42
+ expect(result).not.toBe(null);
43
+ });
44
+
45
+ it("gets withdrawal Quote for BTCBEAR2X sell for WBTC", async () => {
46
+ let result;
47
+ const pool = await dhedge.loadPool(BTCBEAR2X);
48
+ try {
49
+ result = await getEasySwapperWithdrawalQuote(
50
+ pool,
51
+ pool.address,
52
+ WBTC,
53
+ ethers.BigNumber.from("9751590099507644982205")
54
+ );
55
+ console.log("withdrawal quote", result.toString());
56
+ } catch (e) {
57
+ console.log(e);
58
+ }
59
+ expect(result).not.toBe(null);
60
+ });
61
+
62
+ it("approves unlimited ETHBULL3X on Easyswapper", async () => {
63
+ let result;
64
+ const pool = await dhedge.loadPool(TEST_POOL);
65
+ try {
66
+ result = await pool.approve(
67
+ Dapp.TOROS,
68
+ ETHBULL3X,
69
+ ethers.constants.MaxInt256,
70
+ options
71
+ );
72
+ console.log(result);
73
+ } catch (e) {
74
+ console.log(e);
75
+ }
76
+ expect(result).not.toBe(null);
77
+ });
78
+
79
+ // it("buys ETHBULL3X for 1 USDC", async () => {
80
+ // let result;
81
+ // const pool = await dhedge.loadPool(TEST_POOL);
82
+ // try {
83
+ // result = await pool.trade(
84
+ // Dapp.TOROS,
85
+ // USDC,
86
+ // ETHBULL3X,
87
+ // "1000000",
88
+ // 0.5,
89
+ // options
90
+ // );
91
+ // console.log(result);
92
+ // } catch (e) {
93
+ // console.log(e);
94
+ // }
95
+ // expect(result).not.toBe(null);
96
+ // });
97
+
98
+ it("sells ETHBULL3X balance for USDC", async () => {
99
+ let result;
100
+ const pool = await dhedge.loadPool(TEST_POOL);
101
+ const balance = await pool.utils.getBalance(ETHBULL3X, pool.address);
102
+ try {
103
+ result = await pool.trade(
104
+ Dapp.TOROS,
105
+ ETHBULL3X,
106
+ USDC,
107
+ balance,
108
+ 3,
109
+ options
110
+ );
111
+ console.log(result);
112
+ } catch (e) {
113
+ console.log(e);
114
+ }
115
+ expect(result).not.toBe(null);
116
+ });
117
+ });
@@ -3,14 +3,14 @@ import { ethers } from "ethers";
3
3
  // eslint-disable-next-line @typescript-eslint/no-var-requires
4
4
  require("dotenv").config();
5
5
 
6
- // const provider = new ethers.providers.JsonRpcProvider(
7
- // `https://opt-mainnet.g.alchemy.com/v2/${process.env.ALCHEMY_PROJECT_ID}`
8
- // );
9
-
10
6
  const provider = new ethers.providers.JsonRpcProvider(
11
- `https://polygon-mainnet.infura.io/v3/${process.env.INFURA_PROJECT_ID}`
7
+ `https://opt-mainnet.g.alchemy.com/v2/${process.env.ALCHEMY_PROJECT_ID}`
12
8
  );
13
9
 
10
+ // const provider = new ethers.providers.JsonRpcProvider(
11
+ // `https://polygon-mainnet.infura.io/v3/${process.env.INFURA_PROJECT_ID}`
12
+ // );
13
+
14
14
  export const wallet = new ethers.Wallet(
15
15
  process.env.PRIVATE_KEY as string,
16
16
  provider
package/src/types.ts CHANGED
@@ -14,7 +14,8 @@ export enum Dapp {
14
14
  UNISWAPV3 = "uniswapV3",
15
15
  SYNTHETIX = "synthetix",
16
16
  AAVEV3 = "aavev3",
17
- ARRAKIS = "arrakis"
17
+ ARRAKIS = "arrakis",
18
+ TOROS = "toros"
18
19
  }
19
20
 
20
21
  export enum Transaction {