@gearbox-protocol/sdk 2.1.34 → 3.0.0-next.2

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 (123) hide show
  1. package/lib/apy/convexAPY.d.ts +4 -6
  2. package/lib/apy/convexAPY.js +15 -16
  3. package/lib/apy/curveAPY.d.ts +2 -2
  4. package/lib/apy/curveAPY.js +3 -4
  5. package/lib/apy/index.d.ts +1 -1
  6. package/lib/apy/index.js +2 -2
  7. package/lib/apy/lidoAPY.js +2 -2
  8. package/lib/apy/yearnAPY.d.ts +1 -1
  9. package/lib/apy/yearnAPY.js +3 -5
  10. package/lib/contracts/contractsRegister.d.ts +1 -1
  11. package/lib/contracts/contractsRegister.js +6 -7
  12. package/lib/core/creditAccount.js +20 -22
  13. package/lib/core/creditAccount.spec.js +32 -34
  14. package/lib/core/creditManager.js +16 -17
  15. package/lib/core/creditSession.js +12 -13
  16. package/lib/core/events.js +34 -35
  17. package/lib/core/pool/data.js +22 -23
  18. package/lib/core/priceOracle.js +3 -3
  19. package/lib/core/rewardClaimer.d.ts +1 -3
  20. package/lib/core/rewardConvex.d.ts +1 -4
  21. package/lib/core/rewardConvex.js +7 -10
  22. package/lib/core/rewardConvex.spec.js +15 -16
  23. package/lib/core/strategy.js +14 -16
  24. package/lib/core/strategy.spec.js +20 -22
  25. package/lib/core/trade.d.ts +1 -1
  26. package/lib/core/trade.js +12 -15
  27. package/lib/core/transactions.d.ts +1 -1
  28. package/lib/core/transactions.js +18 -20
  29. package/lib/index.d.ts +2 -20
  30. package/lib/index.js +27 -24
  31. package/lib/parsers/ERC20Parser.d.ts +1 -1
  32. package/lib/parsers/abstractParser.d.ts +1 -1
  33. package/lib/parsers/abstractParser.js +3 -4
  34. package/lib/parsers/convexBaseRewardPoolAdapterParser.d.ts +1 -1
  35. package/lib/parsers/convexBaseRewardPoolAdapterParser.js +2 -2
  36. package/lib/parsers/convexBaseRewardPoolAdapterParser.spec.js +4 -4
  37. package/lib/parsers/convexBoosterAdapterParser.d.ts +1 -1
  38. package/lib/parsers/convexBoosterAdapterParser.js +3 -3
  39. package/lib/parsers/convexBoosterAdapterParser.spec.js +3 -3
  40. package/lib/parsers/convextRewardPoolParser.d.ts +1 -1
  41. package/lib/parsers/creditFacadeParser.d.ts +1 -1
  42. package/lib/parsers/creditFacadeParser.spec.js +8 -9
  43. package/lib/parsers/curveAdapterParser.d.ts +1 -2
  44. package/lib/parsers/curveAdapterParser.js +5 -5
  45. package/lib/parsers/curveAdapterParser.spec.js +13 -13
  46. package/lib/parsers/lidoAdapterParser.d.ts +1 -1
  47. package/lib/parsers/lidoAdapterParser.spec.js +2 -2
  48. package/lib/parsers/lidoSTETHParser.d.ts +1 -1
  49. package/lib/parsers/txParser.d.ts +1 -3
  50. package/lib/parsers/txParser.js +12 -15
  51. package/lib/parsers/uniV2AdapterParser.d.ts +1 -1
  52. package/lib/parsers/uniV2AdapterParser.spec.js +15 -16
  53. package/lib/parsers/uniV3AdapterParser.d.ts +1 -1
  54. package/lib/parsers/uniV3AdapterParser.spec.js +15 -16
  55. package/lib/parsers/wstETHAdapterParser.d.ts +1 -1
  56. package/lib/parsers/wstETHAdapterParser.spec.js +3 -3
  57. package/lib/parsers/yearnAdapterParser.spec.js +12 -12
  58. package/lib/parsers/yearnV2AdapterParser.d.ts +1 -1
  59. package/lib/parsers/yearnV2AdapterParser.js +2 -2
  60. package/lib/pathfinder/pathOptions.d.ts +1 -2
  61. package/lib/pathfinder/pathOptions.js +12 -16
  62. package/lib/pathfinder/pathOptions.spec.js +36 -36
  63. package/lib/pathfinder/pathfinder.d.ts +1 -2
  64. package/lib/pathfinder/pathfinder.js +9 -10
  65. package/lib/pathfinder/pathfinder.spec.js +11 -12
  66. package/lib/payload/creditAccount.d.ts +1 -1
  67. package/lib/payload/creditManager.d.ts +1 -1
  68. package/lib/payload/pool.d.ts +1 -1
  69. package/lib/tokens/tokenData.d.ts +0 -4
  70. package/lib/tokens/tokenData.js +1 -16
  71. package/lib/utils/formatter.js +3 -3
  72. package/lib/utils/math.js +5 -5
  73. package/lib/utils/price.js +4 -4
  74. package/lib/watchers/creditAccountWatcher.js +2 -2
  75. package/lib/watchers/creditAccountWatcher.spec.js +18 -18
  76. package/lib/watchers/creditManagerWatcher.spec.js +19 -19
  77. package/package.json +2 -1
  78. package/lib/contracts/adapters.d.ts +0 -24
  79. package/lib/contracts/adapters.js +0 -28
  80. package/lib/contracts/contracts.d.ts +0 -112
  81. package/lib/contracts/contracts.js +0 -654
  82. package/lib/contracts/protocols.d.ts +0 -12
  83. package/lib/contracts/protocols.js +0 -16
  84. package/lib/contracts/utilsContracts.d.ts +0 -7
  85. package/lib/contracts/utilsContracts.js +0 -28
  86. package/lib/core/chains.d.ts +0 -23
  87. package/lib/core/chains.js +0 -63
  88. package/lib/core/constants.d.ts +0 -21
  89. package/lib/core/constants.js +0 -31
  90. package/lib/tokens/aave.d.ts +0 -20
  91. package/lib/tokens/aave.js +0 -62
  92. package/lib/tokens/balancer.d.ts +0 -12
  93. package/lib/tokens/balancer.js +0 -36
  94. package/lib/tokens/compound.d.ts +0 -11
  95. package/lib/tokens/compound.js +0 -38
  96. package/lib/tokens/convex.d.ts +0 -30
  97. package/lib/tokens/convex.js +0 -262
  98. package/lib/tokens/curveLP.d.ts +0 -27
  99. package/lib/tokens/curveLP.js +0 -141
  100. package/lib/tokens/decimals.d.ts +0 -2
  101. package/lib/tokens/decimals.js +0 -115
  102. package/lib/tokens/gear.d.ts +0 -14
  103. package/lib/tokens/gear.js +0 -47
  104. package/lib/tokens/normal.d.ts +0 -9
  105. package/lib/tokens/normal.js +0 -194
  106. package/lib/tokens/quoted.d.ts +0 -3
  107. package/lib/tokens/quoted.js +0 -7
  108. package/lib/tokens/token.d.ts +0 -25
  109. package/lib/tokens/token.js +0 -305
  110. package/lib/tokens/tokenType.d.ts +0 -15
  111. package/lib/tokens/tokenType.js +0 -19
  112. package/lib/tokens/tokens.spec.d.ts +0 -1
  113. package/lib/tokens/tokens.spec.js +0 -151
  114. package/lib/tokens/yearn.d.ts +0 -26
  115. package/lib/tokens/yearn.js +0 -52
  116. package/lib/utils/mappers.d.ts +0 -8
  117. package/lib/utils/mappers.js +0 -13
  118. package/lib/utils/multicall.d.ts +0 -36
  119. package/lib/utils/multicall.js +0 -90
  120. package/lib/utils/safeEnum.d.ts +0 -1
  121. package/lib/utils/safeEnum.js +0 -10
  122. package/lib/utils/types.d.ts +0 -10
  123. package/lib/utils/types.js +0 -2
@@ -1,305 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractTokenData = exports.getDecimals = exports.isLPToken = exports.isSupportedToken = exports.tokenSymbolByAddress = exports.tokenDataByNetwork = exports.supportedTokens = exports.lpTokens = void 0;
4
- const constants_1 = require("../core/constants");
5
- const mappers_1 = require("../utils/mappers");
6
- const aave_1 = require("./aave");
7
- const balancer_1 = require("./balancer");
8
- const compound_1 = require("./compound");
9
- const convex_1 = require("./convex");
10
- const curveLP_1 = require("./curveLP");
11
- const decimals_1 = require("./decimals");
12
- const gear_1 = require("./gear");
13
- const normal_1 = require("./normal");
14
- const yearn_1 = require("./yearn");
15
- exports.lpTokens = {
16
- ...curveLP_1.curveTokens,
17
- ...convex_1.convexTokens,
18
- ...yearn_1.yearnTokens,
19
- ...balancer_1.balancerLpTokens,
20
- ...aave_1.aaveV2Tokens,
21
- ...aave_1.wrappedAaveV2Tokens,
22
- ...compound_1.compoundV2Tokens,
23
- };
24
- exports.supportedTokens = {
25
- ...normal_1.normalTokens,
26
- ...exports.lpTokens,
27
- ...gear_1.gearTokens,
28
- };
29
- exports.tokenDataByNetwork = {
30
- //
31
- // MAINNET NETWORK
32
- Mainnet: {
33
- "1INCH": "0x111111111117dC0aa78b770fA6A738034120C302",
34
- AAVE: "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
35
- COMP: "0xc00e94Cb662C3520282E6f5717214004A7f26888",
36
- CRV: "0xD533a949740bb3306d119CC777fa900bA034cd52",
37
- DAI: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
38
- DPI: "0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b",
39
- FEI: "0x956F47F50A910163D8BF957Cf5846D573E7f87CA",
40
- LINK: "0x514910771AF9Ca656af840dff83E8264EcF986CA",
41
- SNX: "0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F",
42
- UNI: "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
43
- USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
44
- USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
45
- WBTC: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
46
- WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
47
- YFI: "0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e",
48
- OHM: "0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5",
49
- MIM: "0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3",
50
- SPELL: "0x090185f2135308BaD17527004364eBcC2D37e5F6",
51
- GMX: constants_1.NOT_DEPLOYED,
52
- ARB: "0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1",
53
- RDNT: constants_1.NOT_DEPLOYED,
54
- BAL: "0xba100000625a3754423978a60c9317c58a424e3D",
55
- SHIB: "0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE",
56
- /// UPDATE
57
- STETH: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
58
- wstETH: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
59
- CVX: "0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B",
60
- FRAX: "0x853d955aCEf822Db058eb8505911ED77F175b99e",
61
- FXS: "0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0",
62
- LDO: "0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32",
63
- LUSD: "0x5f98805A4E8be255a32880FDeC7F6728C6568bA0",
64
- sUSD: "0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
65
- GUSD: "0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd",
66
- LQTY: "0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D",
67
- MKR: "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2",
68
- RPL: "0xB4EFd85c19999D84251304bDA99E90B92300Bd93",
69
- APE: "0x4d224452801ACEd8B2F0aebE155379bb5D594381",
70
- // CURVE LP TOKENS
71
- "3Crv": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490",
72
- crvFRAX: "0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC",
73
- steCRV: "0x06325440D014e39736583c165C2963BA99fAf14E",
74
- FRAX3CRV: "0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B",
75
- LUSD3CRV: "0xEd279fDD11cA84bEef15AF5D39BB4d4bEE23F0cA",
76
- crvPlain3andSUSD: "0xC25a3A3b969415c80451098fa907EC722572917F",
77
- gusd3CRV: "0xD2967f45c4f384DEEa880F807Be904762a3DeA07",
78
- OHMFRAXBP: "0x5271045F7B73c17825A7A7aee6917eE46b0B7520",
79
- MIM_3LP3CRV: "0x5a6A4D54456819380173272A5E8E9B9904BdF41B",
80
- crvCRVETH: "0xEd4064f376cB8d68F770FB1Ff088a3d0F3FF5c4d",
81
- crvCVXETH: "0x3A283D9c08E8b55966afb64C515f5143cf907611",
82
- crvUSDTWBTCWETH: "0xf5f5B97624542D72A9E06f04804Bf81baA15e2B4",
83
- LDOETH: "0xb79565c01b7Ae53618d9B847b9443aAf4f9011e7",
84
- crvUSD: "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E",
85
- crvUSDUSDC: "0x4DEcE678ceceb27446b35C672dC7d61F30bAD69E",
86
- crvUSDUSDT: "0x390f3595bCa2Df7d23783dFd126427CCeb997BF4",
87
- crvUSDFRAX: "0x0CD6f267b2086bea681E922E19D40512511BE538",
88
- crvUSDETHCRV: "0x4eBdF703948ddCEA3B11f675B4D1Fba9d2414A14",
89
- // CONVEX LP TOKENS
90
- cvx3Crv: "0x30D9410ED1D5DA1F6C8391af5338C93ab8d4035C",
91
- cvxcrvFRAX: "0x117A0bab81F25e60900787d98061cCFae023560c",
92
- cvxsteCRV: "0x9518c9063eB0262D791f38d8d6Eb0aca33c63ed0",
93
- cvxFRAX3CRV: "0xbE0F6478E0E4894CFb14f32855603A083A57c7dA",
94
- cvxLUSD3CRV: "0xFB9B2f06FDb404Fd3E2278E9A9edc8f252F273d0",
95
- cvxcrvPlain3andSUSD: "0x11D200ef1409cecA8D6d23e6496550f707772F11",
96
- cvxgusd3CRV: "0x15c2471ef46Fa721990730cfa526BcFb45574576",
97
- cvxOHMFRAXBP: "0xd8F1B275c320819c7D752ef79988d0780bf00446",
98
- cvxMIM_3LP3CRV: "0xabB54222c2b77158CC975a2b715a3d703c256F05",
99
- cvxcrvCRVETH: "0x0Fb8dcdD95e4C48D3dD0eFA4086512f6F8FD4565",
100
- cvxcrvCVXETH: "0x0bC857f97c0554d1d0D602b56F2EEcE682016fBA",
101
- cvxcrvUSDTWBTCWETH: "0xB77BA8B4b9d981269466eE95796A9Af57d4E82DB",
102
- cvxLDOETH: "0x4eBE557ae39F87D2a014719777FD4cF4d01Dc8Ee",
103
- // CONVEX PHANTOM TOKEN ADDRESSES
104
- stkcvx3Crv: "0xbAc7a431146aeAf3F57A16b9954f332Fd292F270",
105
- stkcvxFRAX3CRV: "0xaF314b088B53835d5cF4e4CB81beABa5934a61fe",
106
- stkcvxgusd3CRV: "0x34fB99abBAFb4e87e256960D572664c6ADc301B8",
107
- stkcvxsteCRV: "0xe15B7D80a51e1fe54aC355CaBE848Efce5289BDB",
108
- stkcvxcrvPlain3andSUSD: "0x7e1992A7F28dAA5f6a2d34e2cd40f962f37B172C",
109
- stkcvxLUSD3CRV: "0x0A1D4A25d0390899b90bCD22E1Ef155003EA76d7",
110
- stkcvxcrvFRAX: "0x276187f24D41745513cbE2Bd5dFC33a4d8CDc9ed",
111
- stkcvxOHMFRAXBP: "0x888407AabAfa936B90acF65C4Db19370A01d9bd8",
112
- stkcvxMIM_3LP3CRV: "0x1aAbe1B22a290cCB39FD77440D5eb96Cf40079f4",
113
- stkcvxcrvCRVETH: "0xfC4b109D46e12170DF31AF8ba39403fAC2b8c0cf",
114
- stkcvxcrvCVXETH: "0x948bEd0211076b05d22e98929217d0f04D068C5c",
115
- stkcvxcrvUSDTWBTCWETH: "0xEE3EE8373384BBfea3227E527C1B9b4e7821273E",
116
- stkcvxLDOETH: "0x2Fd6bD5b81c1060039D619E76e4e1f924B173006",
117
- // YEARN TOKENS
118
- yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
119
- yvUSDC: "0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE",
120
- yvWETH: "0xa258C4606Ca8206D8aA700cE2143D7db854D168c",
121
- yvWBTC: "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E",
122
- yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
123
- yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
124
- // BALANCER TOKENS
125
- "50OHM_50DAI": "0x76FCf0e8C7Ff37A47a799FA2cd4c13cDe0D981C9",
126
- "50OHM_50WETH": "0xD1eC5e215E8148D76F4460e4097FD3d5ae0A3558",
127
- OHM_wstETH: "0xd4f79CA0Ac83192693bce4699d0c10C66Aa6Cf0F",
128
- USDC_DAI_USDT: "0x79c58f70905F734641735BC61e45c19dD9Ad60bC",
129
- // GEARBOX
130
- dDAI: "0x6CFaF95457d7688022FC53e7AbE052ef8DFBbdBA",
131
- dUSDC: "0xc411dB5f5Eb3f7d552F9B8454B2D74097ccdE6E3",
132
- dWBTC: "0xe753260F1955e8678DCeA8887759e07aa57E8c54",
133
- dWETH: "0xF21fc650C1B34eb0FDE786D52d23dA99Db3D6278",
134
- dwstETH: "0x2158034dB06f06dcB9A786D2F1F8c38781bA779d",
135
- dFRAX: "0x8A1112AFef7F4FC7c066a77AABBc01b3Fff31D47",
136
- GEAR: "0xBa3335588D9403515223F109EdC4eB7269a9Ab5D",
137
- // AAVE
138
- aUSDC: "0xBcca60bB61934080951369a648Fb03DF4F96263C",
139
- aDAI: "0x028171bCA77440897B824Ca71D1c56caC55b68A3",
140
- aUSDT: "0x3Ed3B47Dd13EC9a98b44e6204A523E766B225811",
141
- aWETH: "0x030bA81f1c18d280636F32af80b9AAd02Cf0854e",
142
- waDAI: constants_1.NOT_DEPLOYED,
143
- waUSDC: constants_1.NOT_DEPLOYED,
144
- waUSDT: constants_1.NOT_DEPLOYED,
145
- waWETH: constants_1.NOT_DEPLOYED,
146
- cDAI: "0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643",
147
- cUSDC: "0x39AA39c021dfbaE8faC545936693aC917d5E7563",
148
- cUSDT: "0xf650C3d88D12dB855b8bf7D11Be6C55A4e07dCC9",
149
- cETH: "0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5",
150
- cLINK: "0xFAce851a4921ce59e912d19329929CE6da6EB0c7",
151
- },
152
- ///
153
- ///
154
- /// A R B I T R U M N E T W O R K
155
- ///
156
- ///
157
- Arbitrum: {
158
- "1INCH": constants_1.NOT_DEPLOYED,
159
- AAVE: "0xba5DdD1f9d7F570dc94a51479a000E3BCE967196",
160
- COMP: "0x354A6dA3fcde098F8389cad84b0182725c6C91dE",
161
- CRV: "0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978",
162
- DAI: "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",
163
- DPI: constants_1.NOT_DEPLOYED,
164
- FEI: constants_1.NOT_DEPLOYED,
165
- LINK: "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4",
166
- SNX: "0xcBA56Cd8216FCBBF3fA6DF6137F3147cBcA37D60",
167
- UNI: "0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0",
168
- USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
169
- USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
170
- WBTC: "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",
171
- WETH: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
172
- YFI: "0x82e3A8F066a6989666b031d916c43672085b1582",
173
- OHM: "0x6E6a3D8F1AfFAc703B1aEF1F43B8D2321bE40043",
174
- MIM: "0xFEa7a6a0B346362BF88A9e4A88416B77a57D6c2A",
175
- SPELL: "0x3E6648C5a70A150A88bCE65F4aD4d506Fe15d2AF",
176
- GMX: "0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a",
177
- ARB: "0x912CE59144191C1204E64559FE8253a0e49E6548",
178
- RDNT: "0x3082CC23568eA640225c2467653dB90e9250AaA0",
179
- BAL: "0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8",
180
- /// UPDATE
181
- STETH: constants_1.NOT_DEPLOYED,
182
- wstETH: "0x5979D7b546E38E414F7E9822514be443A4800529",
183
- CVX: "0xb952A807345991BD529FDded05009F5e80Fe8F45",
184
- FRAX: "0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F",
185
- FXS: "0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7",
186
- LDO: "0x13Ad51ed4F1B7e9Dc168d8a00cB3f4dDD85EfA60",
187
- LUSD: "0x93b346b6BC2548dA6A1E7d98E9a421B42541425b",
188
- sUSD: "0xA970AF1a584579B618be4d69aD6F73459D112F95",
189
- GUSD: constants_1.NOT_DEPLOYED,
190
- LQTY: "0xfb9E5D956D889D91a82737B9bFCDaC1DCE3e1449",
191
- MKR: constants_1.NOT_DEPLOYED,
192
- RPL: constants_1.NOT_DEPLOYED,
193
- APE: constants_1.NOT_DEPLOYED,
194
- // REDSTONE
195
- SHIB: constants_1.NOT_DEPLOYED,
196
- // YEARN TOKENS
197
- yvDAI: constants_1.NOT_DEPLOYED,
198
- yvUSDC: constants_1.NOT_DEPLOYED,
199
- yvWETH: constants_1.NOT_DEPLOYED,
200
- yvWBTC: constants_1.NOT_DEPLOYED,
201
- yvCurve_stETH: constants_1.NOT_DEPLOYED,
202
- yvCurve_FRAX: constants_1.NOT_DEPLOYED,
203
- // CURVE LP TOKENS
204
- "3Crv": constants_1.NOT_DEPLOYED,
205
- crvFRAX: constants_1.NOT_DEPLOYED,
206
- steCRV: constants_1.NOT_DEPLOYED,
207
- FRAX3CRV: constants_1.NOT_DEPLOYED,
208
- LUSD3CRV: constants_1.NOT_DEPLOYED,
209
- crvPlain3andSUSD: constants_1.NOT_DEPLOYED,
210
- gusd3CRV: constants_1.NOT_DEPLOYED,
211
- OHMFRAXBP: constants_1.NOT_DEPLOYED,
212
- MIM_3LP3CRV: constants_1.NOT_DEPLOYED,
213
- crvCRVETH: constants_1.NOT_DEPLOYED,
214
- crvCVXETH: constants_1.NOT_DEPLOYED,
215
- crvUSDTWBTCWETH: constants_1.NOT_DEPLOYED,
216
- LDOETH: constants_1.NOT_DEPLOYED,
217
- crvUSDUSDC: constants_1.NOT_DEPLOYED,
218
- crvUSDUSDT: constants_1.NOT_DEPLOYED,
219
- crvUSDFRAX: constants_1.NOT_DEPLOYED,
220
- crvUSDETHCRV: constants_1.NOT_DEPLOYED,
221
- // CONVEX LP TOKENS
222
- cvx3Crv: constants_1.NOT_DEPLOYED,
223
- cvxcrvFRAX: constants_1.NOT_DEPLOYED,
224
- cvxsteCRV: constants_1.NOT_DEPLOYED,
225
- cvxcrvPlain3andSUSD: constants_1.NOT_DEPLOYED,
226
- cvxFRAX3CRV: constants_1.NOT_DEPLOYED,
227
- cvxLUSD3CRV: constants_1.NOT_DEPLOYED,
228
- cvxgusd3CRV: constants_1.NOT_DEPLOYED,
229
- cvxOHMFRAXBP: constants_1.NOT_DEPLOYED,
230
- cvxMIM_3LP3CRV: constants_1.NOT_DEPLOYED,
231
- cvxcrvCRVETH: constants_1.NOT_DEPLOYED,
232
- cvxcrvCVXETH: constants_1.NOT_DEPLOYED,
233
- cvxcrvUSDTWBTCWETH: constants_1.NOT_DEPLOYED,
234
- cvxLDOETH: constants_1.NOT_DEPLOYED,
235
- crvUSD: constants_1.NOT_DEPLOYED,
236
- // CONVEX PHANTOM TOKEN ADDRESSES
237
- stkcvx3Crv: constants_1.NOT_DEPLOYED,
238
- stkcvxcrvFRAX: constants_1.NOT_DEPLOYED,
239
- stkcvxFRAX3CRV: constants_1.NOT_DEPLOYED,
240
- stkcvxgusd3CRV: constants_1.NOT_DEPLOYED,
241
- stkcvxsteCRV: constants_1.NOT_DEPLOYED,
242
- stkcvxcrvPlain3andSUSD: constants_1.NOT_DEPLOYED,
243
- stkcvxLUSD3CRV: constants_1.NOT_DEPLOYED,
244
- stkcvxOHMFRAXBP: constants_1.NOT_DEPLOYED,
245
- stkcvxMIM_3LP3CRV: constants_1.NOT_DEPLOYED,
246
- stkcvxcrvCRVETH: constants_1.NOT_DEPLOYED,
247
- stkcvxcrvCVXETH: constants_1.NOT_DEPLOYED,
248
- stkcvxcrvUSDTWBTCWETH: constants_1.NOT_DEPLOYED,
249
- stkcvxLDOETH: constants_1.NOT_DEPLOYED,
250
- // BALANCER TOKENS
251
- "50OHM_50DAI": constants_1.NOT_DEPLOYED,
252
- "50OHM_50WETH": "0x89dc7e71e362faF88D92288fE2311D25c6a1B5E0",
253
- OHM_wstETH: constants_1.NOT_DEPLOYED,
254
- USDC_DAI_USDT: constants_1.NOT_DEPLOYED,
255
- // GEARBOX
256
- dDAI: constants_1.NOT_DEPLOYED,
257
- dUSDC: constants_1.NOT_DEPLOYED,
258
- dWBTC: constants_1.NOT_DEPLOYED,
259
- dWETH: constants_1.NOT_DEPLOYED,
260
- dwstETH: constants_1.NOT_DEPLOYED,
261
- dFRAX: constants_1.NOT_DEPLOYED,
262
- GEAR: constants_1.NOT_DEPLOYED,
263
- // AAVE
264
- aUSDC: "0x724dc807b04555b71ed48a6896b6F41593b8C637",
265
- aDAI: "0x82E64f49Ed5EC1bC6e43DAD4FC8Af9bb3A2312EE",
266
- aUSDT: "0x6ab707Aca953eDAeFBc4fD23bA73294241490620",
267
- aWETH: "0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8",
268
- waDAI: constants_1.NOT_DEPLOYED,
269
- waUSDC: constants_1.NOT_DEPLOYED,
270
- waUSDT: constants_1.NOT_DEPLOYED,
271
- waWETH: constants_1.NOT_DEPLOYED,
272
- cDAI: constants_1.NOT_DEPLOYED,
273
- cUSDC: constants_1.NOT_DEPLOYED,
274
- cUSDT: constants_1.NOT_DEPLOYED,
275
- cETH: constants_1.NOT_DEPLOYED,
276
- cLINK: constants_1.NOT_DEPLOYED,
277
- },
278
- };
279
- exports.tokenSymbolByAddress = mappers_1.TypedObjectUtils.entries(exports.tokenDataByNetwork).reduce((acc, [, tokens]) => ({
280
- ...acc,
281
- ...mappers_1.TypedObjectUtils.fromEntries(mappers_1.TypedObjectUtils.entries(tokens)
282
- .map(([k, v]) => [v.toLowerCase(), k])
283
- .filter(k => !!k)),
284
- }), {});
285
- const isSupportedToken = (t) => typeof t === "string" && !!exports.supportedTokens[t];
286
- exports.isSupportedToken = isSupportedToken;
287
- const isLPToken = (t) => typeof t === "string" && !!exports.lpTokens[t];
288
- exports.isLPToken = isLPToken;
289
- function getDecimals(token) {
290
- let dec = decimals_1.decimals[token];
291
- if (dec)
292
- return dec;
293
- dec = decimals_1.decimals[exports.tokenSymbolByAddress[token.toLowerCase()]];
294
- if (!dec) {
295
- throw new Error(`Decimals for ${token} not found`);
296
- }
297
- return dec;
298
- }
299
- exports.getDecimals = getDecimals;
300
- function extractTokenData(tokenAddress) {
301
- const underlyingSymbol = exports.tokenSymbolByAddress[tokenAddress.toLowerCase()];
302
- const underlyingDecimals = decimals_1.decimals[underlyingSymbol || ""];
303
- return [underlyingSymbol, underlyingDecimals];
304
- }
305
- exports.extractTokenData = extractTokenData;
@@ -1,15 +0,0 @@
1
- export declare enum TokenType {
2
- NO_TOKEN = 0,
3
- NORMAL_TOKEN = 1,
4
- CURVE_LP_TOKEN = 2,
5
- YEARN_ON_NORMAL_TOKEN = 3,
6
- YEARN_ON_CURVE_TOKEN = 4,
7
- CONVEX_LP_TOKEN = 5,
8
- CONVEX_STAKED_TOKEN = 6,
9
- DIESEL_LP_TOKEN = 7,
10
- GEAR_TOKEN = 8,
11
- COMPOUND_V2_C_TOKEN = 9,
12
- BALANCER_LP_TOKEN = 10,
13
- AAVE_V2_A_TOKEN = 11,
14
- WRAPPED_AAVE_V2_TOKEN = 12
15
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenType = void 0;
4
- var TokenType;
5
- (function (TokenType) {
6
- TokenType[TokenType["NO_TOKEN"] = 0] = "NO_TOKEN";
7
- TokenType[TokenType["NORMAL_TOKEN"] = 1] = "NORMAL_TOKEN";
8
- TokenType[TokenType["CURVE_LP_TOKEN"] = 2] = "CURVE_LP_TOKEN";
9
- TokenType[TokenType["YEARN_ON_NORMAL_TOKEN"] = 3] = "YEARN_ON_NORMAL_TOKEN";
10
- TokenType[TokenType["YEARN_ON_CURVE_TOKEN"] = 4] = "YEARN_ON_CURVE_TOKEN";
11
- TokenType[TokenType["CONVEX_LP_TOKEN"] = 5] = "CONVEX_LP_TOKEN";
12
- TokenType[TokenType["CONVEX_STAKED_TOKEN"] = 6] = "CONVEX_STAKED_TOKEN";
13
- TokenType[TokenType["DIESEL_LP_TOKEN"] = 7] = "DIESEL_LP_TOKEN";
14
- TokenType[TokenType["GEAR_TOKEN"] = 8] = "GEAR_TOKEN";
15
- TokenType[TokenType["COMPOUND_V2_C_TOKEN"] = 9] = "COMPOUND_V2_C_TOKEN";
16
- TokenType[TokenType["BALANCER_LP_TOKEN"] = 10] = "BALANCER_LP_TOKEN";
17
- TokenType[TokenType["AAVE_V2_A_TOKEN"] = 11] = "AAVE_V2_A_TOKEN";
18
- TokenType[TokenType["WRAPPED_AAVE_V2_TOKEN"] = 12] = "WRAPPED_AAVE_V2_TOKEN";
19
- })(TokenType = exports.TokenType || (exports.TokenType = {}));
@@ -1 +0,0 @@
1
- export {};
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* eslint-disable max-nested-callbacks */
4
- const ethers_1 = require("ethers");
5
- const chains_1 = require("../core/chains");
6
- const types_1 = require("../types");
7
- const multicall_1 = require("../utils/multicall");
8
- const token_1 = require("./token");
9
- const erc20 = types_1.IERC20Metadata__factory.createInterface();
10
- // Some contracts return something other than string for symbol
11
- const NON_ERC20_SYMBOLS = {
12
- [token_1.tokenDataByNetwork.Mainnet.MKR]: {
13
- interface: new ethers_1.ethers.utils.Interface([
14
- "function symbol() view returns (bytes32)",
15
- ]),
16
- // convert bytes32 to string
17
- stringifySymbol: (result) => ethers_1.ethers.utils
18
- .toUtf8String(ethers_1.ethers.utils.arrayify(result))
19
- .replaceAll(String.fromCharCode(0), ""), // trim tail of zeroes
20
- },
21
- };
22
- function identity(value) {
23
- return value;
24
- }
25
- const EXCEPTIONS_IN_SYMBOLS = {
26
- Mainnet: {
27
- // Our Symbol <-> On-chain Symbol
28
- [token_1.tokenDataByNetwork.Mainnet.STETH]: "stETH",
29
- },
30
- Arbitrum: {
31
- // Our Symbol <-> On-chain Symbol
32
- [token_1.tokenDataByNetwork.Arbitrum.crvUSDTWBTCWETH]: "crv3crypto",
33
- [token_1.tokenDataByNetwork.Arbitrum["50OHM_50WETH"]]: "50WETH_50OHM",
34
- [token_1.tokenDataByNetwork.Arbitrum.aDAI]: "aArbDAI",
35
- [token_1.tokenDataByNetwork.Arbitrum.aUSDC]: "aArbUSDCn",
36
- [token_1.tokenDataByNetwork.Arbitrum.aUSDT]: "aArbUSDT",
37
- [token_1.tokenDataByNetwork.Arbitrum.aWETH]: "aArbWETH",
38
- },
39
- };
40
- class TokenSuite {
41
- provider;
42
- network;
43
- calls;
44
- responses = {};
45
- constructor(network) {
46
- this.network = network;
47
- const url = process.env[`${network.toUpperCase()}_TESTS_FORK`];
48
- if (!url) {
49
- throw new Error(`${network} provder not found in env`);
50
- }
51
- this.provider = new ethers_1.ethers.providers.StaticJsonRpcProvider(url, chains_1.CHAINS[network]);
52
- // Omit NOT DEPLOYED
53
- const entries = Object.entries(token_1.tokenDataByNetwork[network]).filter(([_, addr]) => addr?.startsWith("0x"));
54
- this.calls = entries.map(([symbol, address]) => ({
55
- address,
56
- interface: NON_ERC20_SYMBOLS[address]?.interface ?? erc20,
57
- method: "symbol()",
58
- key: symbol,
59
- }));
60
- }
61
- async fetchSymbols() {
62
- // even safe multicall fails when one of addresses is an EOA and not contract address
63
- if (this.network === "Arbitrum") {
64
- // if (true) {
65
- for (const call of this.calls) {
66
- const c = types_1.IERC20Metadata__factory.connect(call.address, this.provider);
67
- try {
68
- const s = await c.symbol();
69
- this.responses[call.key] = {
70
- address: call.address,
71
- symbol: this.sanitize(s),
72
- };
73
- }
74
- catch (e) {
75
- this.responses[call.key] = {
76
- address: call.address,
77
- error: e,
78
- };
79
- }
80
- }
81
- }
82
- else {
83
- const resps = await (0, multicall_1.safeMulticall)(this.calls, this.provider);
84
- for (let i = 0; i < resps.length; i++) {
85
- const call = this.calls[i];
86
- const resp = resps[i];
87
- // most symbols are ok, but some return non-string value for symbol.
88
- // stringifySymbol makes sure that we get symbol as string
89
- const stringifySymbol = NON_ERC20_SYMBOLS[call.address]?.stringifySymbol ?? identity;
90
- this.responses[call.key] = {
91
- address: call.address,
92
- symbol: resp.error
93
- ? undefined
94
- : this.sanitize(stringifySymbol(resp.value ?? "")),
95
- error: resp.error,
96
- };
97
- }
98
- }
99
- }
100
- /**
101
- * Given <symbol, address> token map on our sdk, asserts that symbol found on chain for this address is the same
102
- * Takes into account some exceptions
103
- * @param sdkSymbol Symbol of token in SDK
104
- */
105
- assertSymbol(sdkSymbol) {
106
- const r = this.responses[sdkSymbol];
107
- if (r.error) {
108
- throw new Error(`failed to verify ${sdkSymbol} on address ${r.address}: ${r.error}`);
109
- }
110
- const expectedSymbol = EXCEPTIONS_IN_SYMBOLS[this.network][r.address] ?? sdkSymbol;
111
- if (r.symbol !== expectedSymbol) {
112
- throw new Error(`Expected ${expectedSymbol} but found ${r.symbol} at ${r.address}`);
113
- }
114
- }
115
- assertChecksum(sdkSymbol) {
116
- const sdkAddress = token_1.tokenDataByNetwork[this.network][sdkSymbol];
117
- let err;
118
- try {
119
- const addr = ethers_1.ethers.utils.getAddress(sdkAddress);
120
- if (addr !== sdkAddress) {
121
- err = new Error(`sdk address for token ${sdkSymbol} is not checksummed: expected ${addr}, got ${sdkAddress}`);
122
- }
123
- }
124
- catch (e) {
125
- err = new Error(`sdk address ${sdkAddress} for token ${sdkSymbol} has bad checksum: ${e}`);
126
- }
127
- if (err) {
128
- throw err;
129
- }
130
- }
131
- sanitize(symbol) {
132
- return symbol.replace(/\-f$/, "").replaceAll("-", "_");
133
- }
134
- }
135
- describe("Tokens", () => {
136
- const suites = chains_1.supportedChains.map(n => new TokenSuite(n));
137
- before(async function () {
138
- this.timeout(120000);
139
- await Promise.all(suites.map(s => s.fetchSymbols()));
140
- });
141
- suites.forEach(suite => {
142
- suite.calls.forEach(call => {
143
- it(`symbol for ${call.key} on ${suite.network}`, () => {
144
- suite.assertSymbol(call.key);
145
- });
146
- it(`address checksum for ${call.key} on ${suite.network}`, () => {
147
- suite.assertChecksum(call.key);
148
- });
149
- });
150
- });
151
- });
@@ -1,26 +0,0 @@
1
- import type { YearnVaultContract } from "../contracts/contracts";
2
- import type { CurveLPToken } from "./curveLP";
3
- import { NormalToken } from "./normal";
4
- import type { TokenBase } from "./token";
5
- import { TokenType } from "./tokenType";
6
- export type YearnLPToken = "yvDAI" | "yvUSDC" | "yvWETH" | "yvWBTC" | "yvCurve_stETH" | "yvCurve_FRAX";
7
- export type YearnVaultTokenData = {
8
- symbol: YearnLPToken;
9
- type: TokenType.YEARN_ON_NORMAL_TOKEN;
10
- underlying: NormalToken;
11
- vault: YearnVaultContract;
12
- } & TokenBase;
13
- export type YearnVaultOfCurveLPTokenData = {
14
- symbol: YearnLPToken;
15
- type: TokenType.YEARN_ON_CURVE_TOKEN;
16
- underlying: CurveLPToken;
17
- vault: YearnVaultContract;
18
- } & TokenBase;
19
- export type YearnVaultOfMetaCurveLPTokenData = {
20
- symbol: YearnLPToken;
21
- type: TokenType.YEARN_ON_CURVE_TOKEN;
22
- underlying: CurveLPToken;
23
- vault: YearnVaultContract;
24
- } & TokenBase;
25
- export declare const yearnTokens: Record<YearnLPToken, YearnVaultTokenData | YearnVaultOfCurveLPTokenData | YearnVaultOfMetaCurveLPTokenData>;
26
- export declare const isYearnLPToken: (t: unknown) => t is YearnLPToken;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isYearnLPToken = exports.yearnTokens = void 0;
4
- const tokenType_1 = require("./tokenType");
5
- exports.yearnTokens = {
6
- // YEARN TOKENS
7
- yvDAI: {
8
- name: "Yearn yvDAI",
9
- symbol: "yvDAI",
10
- type: tokenType_1.TokenType.YEARN_ON_NORMAL_TOKEN,
11
- underlying: "DAI",
12
- vault: "YEARN_DAI_VAULT",
13
- },
14
- yvUSDC: {
15
- name: "Yearn yvUSDC",
16
- symbol: "yvUSDC",
17
- type: tokenType_1.TokenType.YEARN_ON_NORMAL_TOKEN,
18
- underlying: "USDC",
19
- vault: "YEARN_USDC_VAULT",
20
- },
21
- yvWETH: {
22
- name: "Yearn yvWETH",
23
- symbol: "yvWETH",
24
- type: tokenType_1.TokenType.YEARN_ON_NORMAL_TOKEN,
25
- underlying: "WETH",
26
- vault: "YEARN_WETH_VAULT",
27
- },
28
- yvWBTC: {
29
- name: "Yearn yvWBTC",
30
- symbol: "yvWBTC",
31
- type: tokenType_1.TokenType.YEARN_ON_NORMAL_TOKEN,
32
- underlying: "WBTC",
33
- vault: "YEARN_WBTC_VAULT",
34
- },
35
- // YEARN- CURVE TOKENS
36
- yvCurve_stETH: {
37
- name: "Yearn yvCurve-stETH",
38
- symbol: "yvCurve_stETH",
39
- type: tokenType_1.TokenType.YEARN_ON_CURVE_TOKEN,
40
- underlying: "steCRV",
41
- vault: "YEARN_CURVE_STETH_VAULT",
42
- },
43
- yvCurve_FRAX: {
44
- name: "Yearn yvCurve-FRAX",
45
- symbol: "yvCurve_FRAX",
46
- type: tokenType_1.TokenType.YEARN_ON_CURVE_TOKEN,
47
- underlying: "FRAX3CRV",
48
- vault: "YEARN_CURVE_FRAX_VAULT",
49
- },
50
- };
51
- const isYearnLPToken = (t) => typeof t === "string" && !!exports.yearnTokens[t];
52
- exports.isYearnLPToken = isYearnLPToken;
@@ -1,8 +0,0 @@
1
- type SupportedValue = string | number;
2
- export declare class TypedObjectUtils {
3
- static entries: <K extends SupportedValue, T>(o: Record<K, T>) => [K, T][];
4
- static fromEntries: <K extends SupportedValue, T>(o: [K, T][]) => Record<K, T>;
5
- static swapKeyValue: <K extends SupportedValue, T extends SupportedValue>(o: Record<K, T>) => Record<T, K>;
6
- static keyToLowercase: <K extends SupportedValue, T>(o: Record<K, T>) => Record<K, T>;
7
- }
8
- export type { SupportedValue };
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypedObjectUtils = void 0;
4
- class TypedObjectUtils {
5
- static entries = (o) => Object.entries(o);
6
- static fromEntries = (o) => Object.fromEntries(o);
7
- static swapKeyValue = (o) => TypedObjectUtils.entries(o).reduce((acc, [key, value]) => ({ ...acc, [value]: key }), {});
8
- static keyToLowercase = (o) => TypedObjectUtils.entries(o).reduce((acc, [key, value]) => {
9
- const keyTransformed = typeof key === "string" ? key.toLowerCase() : key;
10
- return { ...acc, [keyTransformed]: value };
11
- }, {});
12
- }
13
- exports.TypedObjectUtils = TypedObjectUtils;
@@ -1,36 +0,0 @@
1
- import { CallOverrides, ethers, Signer } from "ethers";
2
- import { Multicall2 } from "../types";
3
- export interface CallData<T extends ethers.utils.Interface> {
4
- method: keyof T["functions"];
5
- params?: any;
6
- }
7
- export interface MCall<T extends ethers.utils.Interface> {
8
- address: string;
9
- interface: T;
10
- method: keyof T["functions"];
11
- params?: any;
12
- }
13
- export interface KeyedCall<T extends ethers.utils.Interface, K = string> extends MCall<T> {
14
- key: K;
15
- }
16
- export declare function multicall<R extends Array<any>>(calls: Array<MCall<any>>, p: Signer | ethers.providers.Provider, overrides?: CallOverrides): Promise<R>;
17
- /**
18
- * Like multicall from sdk, but uses tryAggregate instead of aggregate
19
- * @param calls
20
- * @param p
21
- * @param overrides
22
- * @returns
23
- */
24
- export declare function safeMulticall<V = any, T extends MCall<any> = MCall<any>>(calls: T[], p: Signer | ethers.providers.Provider, overrides?: CallOverrides): Promise<Array<{
25
- error?: Error;
26
- value?: V;
27
- }>>;
28
- export declare class MultiCallContract<T extends ethers.utils.Interface> {
29
- private readonly _address;
30
- private readonly _interface;
31
- protected _multiCall: Multicall2;
32
- constructor(address: string, intrerface: T, provider: ethers.providers.Provider | Signer);
33
- call<R extends Array<any>>(data: Array<CallData<T>>, overrides?: CallOverrides): Promise<R>;
34
- get address(): string;
35
- get interface(): T;
36
- }