@gearbox-protocol/sdk 0.0.81 → 0.0.84
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/lib/contracts/contracts.js +20 -15
- package/lib/tokens/token.js +39 -40
- package/package.json +1 -1
- package/src/contracts/contracts.ts +21 -15
- package/src/tokens/token.ts +40 -42
- package/src/utils/multicall.ts +62 -62
|
@@ -52,18 +52,23 @@ exports.contractsByNetwork = {
|
|
|
52
52
|
// LIDO
|
|
53
53
|
LIDO_STETH_GATEWAY: "0x55045Eaae19d92680E02231e4Ce7bBEB4814ca64"
|
|
54
54
|
},
|
|
55
|
+
///
|
|
56
|
+
///
|
|
57
|
+
/// KOVAN
|
|
58
|
+
///
|
|
59
|
+
///
|
|
55
60
|
Kovan: {
|
|
56
61
|
UNISWAP_V2_ROUTER: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
|
|
57
62
|
UNISWAP_V3_ROUTER: "0xE592427A0AEce92De3Edee1F18E0157C05861564",
|
|
58
63
|
SUSHISWAP_ROUTER: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",
|
|
59
64
|
// CURVE
|
|
60
|
-
CURVE_3CRV_POOL: "
|
|
61
|
-
CURVE_STETH_GATEWAY: "
|
|
65
|
+
CURVE_3CRV_POOL: "0x5C07cB1e8510DCC0DA262A71bb532B0e85368250",
|
|
66
|
+
CURVE_STETH_GATEWAY: "0xed4439dc6D555b5712E1B3815848B7a80E0bd8a2",
|
|
62
67
|
CURVE_FRAX_POOL: token_1.tokenDataByNetwork.Kovan.FRAX3CRV,
|
|
63
68
|
CURVE_LUSD_POOL: token_1.tokenDataByNetwork.Kovan.LUSD3CRV,
|
|
64
|
-
CURVE_SUSD_POOL: "
|
|
65
|
-
CURVE_SUSD_DEPOSIT: "
|
|
66
|
-
CURVE_GUSD_POOL: "
|
|
69
|
+
CURVE_SUSD_POOL: "0xcD0d789E7b0BCCa84ea23F309f9154B186606f4F",
|
|
70
|
+
CURVE_SUSD_DEPOSIT: "0x1F447F916649248cF091723e58c695F619d27BFf",
|
|
71
|
+
CURVE_GUSD_POOL: "0x08543E4CbE76C3461871A83C63E1d59684A66d7b",
|
|
67
72
|
// YEARN
|
|
68
73
|
YEARN_DAI_VAULT: token_1.tokenDataByNetwork.Kovan.yvDAI,
|
|
69
74
|
YEARN_USDC_VAULT: token_1.tokenDataByNetwork.Kovan.yvUSDC,
|
|
@@ -72,15 +77,15 @@ exports.contractsByNetwork = {
|
|
|
72
77
|
YEARN_CURVE_FRAX_VAULT: token_1.tokenDataByNetwork.Kovan.yvCurve_FRAX,
|
|
73
78
|
YEARN_CURVE_STETH_VAULT: token_1.tokenDataByNetwork.Kovan.yvCurve_stETH,
|
|
74
79
|
// CONVEX
|
|
75
|
-
CONVEX_BOOSTER: "
|
|
76
|
-
CONVEX_3CRV_POOL: "
|
|
77
|
-
|
|
78
|
-
CONVEX_SUSD_POOL: "
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
CONVEX_CLAIM_ZAP: "",
|
|
80
|
+
CONVEX_BOOSTER: "0x56E507256808FB2692476181aA978e00Ca24d40f",
|
|
81
|
+
CONVEX_3CRV_POOL: "0xc2c705a619CF48241A9339763c6Cfd32Ca8C9deB",
|
|
82
|
+
CONVEX_STECRV_POOL: "0x25edfea00131DAF9b23a8E07720Eea2382d58E71",
|
|
83
|
+
CONVEX_SUSD_POOL: "0xE9998a1c357dc62550f2ED72b736a7CaEB262823",
|
|
84
|
+
CONVEX_FRAX3CRV_POOL: "0xEBE0A1B948eB83333906EB80eE4b87Ee0b5CC84f",
|
|
85
|
+
CONVEX_GUSD_POOL: "0xE7370DA7FD3d511dAB095Dd7d10388653d5cDE21",
|
|
86
|
+
CONVEX_CLAIM_ZAP: "0x1330C2E5Cd8c333683aE511550f82d25918FFdd5",
|
|
82
87
|
// LIDO
|
|
83
|
-
LIDO_STETH_GATEWAY: "
|
|
88
|
+
LIDO_STETH_GATEWAY: "0x7C1C4eC1f1510E3978a96a1d024D7689F05a7Ca1"
|
|
84
89
|
}
|
|
85
90
|
};
|
|
86
91
|
exports.UNISWAP_V3_QUOTER = "0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6";
|
|
@@ -114,7 +119,7 @@ exports.contractParams = {
|
|
|
114
119
|
type: adapters_1.AdapterInterface.CURVE_V1_STECRV_POOL,
|
|
115
120
|
pool: {
|
|
116
121
|
Mainnet: "0xDC24316b9AE028F1497c275EB9192a3Ea0f67022",
|
|
117
|
-
Kovan: "
|
|
122
|
+
Kovan: "0xF5C73b58B70709e89aA1D322d48b0D0C71123cB4"
|
|
118
123
|
},
|
|
119
124
|
lpToken: "steCRV"
|
|
120
125
|
},
|
|
@@ -231,7 +236,7 @@ exports.contractParams = {
|
|
|
231
236
|
type: adapters_1.AdapterInterface.LIDO_V1,
|
|
232
237
|
oracle: {
|
|
233
238
|
Mainnet: "0x442af784A788A5bd6F42A01Ebe9F287a871243fb",
|
|
234
|
-
Kovan: ""
|
|
239
|
+
Kovan: "0x65EBFF1D5C02418AaeCd0f953da518cF6a6c68A0"
|
|
235
240
|
},
|
|
236
241
|
lpToken: "steCRV"
|
|
237
242
|
}
|
package/lib/tokens/token.js
CHANGED
|
@@ -52,11 +52,6 @@ exports.tokenDataByNetwork = {
|
|
|
52
52
|
GUSD: "0x056fd409e1d7a124bd7017459dfea2f387b6d5cd",
|
|
53
53
|
LUNA: "0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9",
|
|
54
54
|
LQTY: "0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D",
|
|
55
|
-
// YEARN TOKENS
|
|
56
|
-
yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
|
|
57
|
-
yvUSDC: "0xa354f35829ae975e850e23e9615b11da1b3dc4de",
|
|
58
|
-
yvWETH: "0xa258C4606Ca8206D8aA700cE2143D7db854D168c",
|
|
59
|
-
yvWBTC: "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E",
|
|
60
55
|
// CURVE LP TOKENS
|
|
61
56
|
"3Crv": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490",
|
|
62
57
|
steCRV: "0x06325440d014e39736583c165c2963ba99faf14e",
|
|
@@ -71,12 +66,16 @@ exports.tokenDataByNetwork = {
|
|
|
71
66
|
cvxcrvPlain3andSUSD: "0x11D200ef1409cecA8D6d23e6496550f707772F11",
|
|
72
67
|
cvxgusd3CRV: "0x15c2471ef46Fa721990730cfa526BcFb45574576",
|
|
73
68
|
// CONVEX PHANTOM TOKEN ADDRESSES
|
|
74
|
-
stkcvx3Crv: "
|
|
75
|
-
stkcvxsteCRV: "
|
|
76
|
-
stkcvxFRAX3CRV: "
|
|
77
|
-
stkcvxcrvPlain3andSUSD: "
|
|
78
|
-
stkcvxgusd3CRV: "
|
|
79
|
-
// YEARN
|
|
69
|
+
stkcvx3Crv: "",
|
|
70
|
+
stkcvxsteCRV: "",
|
|
71
|
+
stkcvxFRAX3CRV: "",
|
|
72
|
+
stkcvxcrvPlain3andSUSD: "",
|
|
73
|
+
stkcvxgusd3CRV: "",
|
|
74
|
+
// YEARN TOKENS
|
|
75
|
+
yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
|
|
76
|
+
yvUSDC: "0xa354f35829ae975e850e23e9615b11da1b3dc4de",
|
|
77
|
+
yvWETH: "0xa258C4606Ca8206D8aA700cE2143D7db854D168c",
|
|
78
|
+
yvWBTC: "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E",
|
|
80
79
|
yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
|
|
81
80
|
yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
|
|
82
81
|
//GEARBOX
|
|
@@ -86,10 +85,11 @@ exports.tokenDataByNetwork = {
|
|
|
86
85
|
dWETH: "0xF21fc650C1B34eb0FDE786D52d23dA99Db3D6278",
|
|
87
86
|
GEAR: "0xBa3335588D9403515223F109EdC4eB7269a9Ab5D"
|
|
88
87
|
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
///
|
|
89
|
+
///
|
|
90
|
+
/// KOVAN NETWORK
|
|
91
|
+
///
|
|
92
|
+
///
|
|
93
93
|
Kovan: {
|
|
94
94
|
"1INCH": "0x6601ce61E41cd6760E763555A806AB5578EB2a9E",
|
|
95
95
|
AAVE: "0xed2eAe2533bc70dB9030174a7F085e0853289726",
|
|
@@ -108,9 +108,9 @@ exports.tokenDataByNetwork = {
|
|
|
108
108
|
WETH: "0xd0A1E359811322d97991E03f863a0C30C2cF029C",
|
|
109
109
|
YFI: "0x1df5DF6d0196bE6AE6A2EED915a0Cc6cAEA84C2D",
|
|
110
110
|
/// UPDATE
|
|
111
|
-
STETH: "
|
|
111
|
+
STETH: "0x77c742b2e83367Ece64FC5f4440a796D08d82422",
|
|
112
112
|
FTM: "0x5DE02cFf707eBC43f58DFB022518c18C66147b1E",
|
|
113
|
-
CVX: "
|
|
113
|
+
CVX: "0xd3276d0549996fB6598df321dd6C4175f865A966",
|
|
114
114
|
FRAX: "0x301b0B83E5F5deC5233075368B8b459CEedc0948",
|
|
115
115
|
FXS: "0x25eb8A9B30981d1F04C306829FEBc855FA86695A",
|
|
116
116
|
LDO: "0x99bB41898474aDb38e098fFdB0cD17d2619cA3ef",
|
|
@@ -121,32 +121,31 @@ exports.tokenDataByNetwork = {
|
|
|
121
121
|
LUNA: "0x9dc1D71fAeE18bF77C6166aBC8b218D3336919F1",
|
|
122
122
|
LQTY: "0xC948BB323d753B37eA8195DeAFE904138Df11fbC",
|
|
123
123
|
// YEARN TOKENS
|
|
124
|
-
yvDAI: "
|
|
125
|
-
yvUSDC: "
|
|
126
|
-
yvWETH: "
|
|
127
|
-
yvWBTC: "
|
|
124
|
+
yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
|
|
125
|
+
yvUSDC: "0xa354f35829ae975e850e23e9615b11da1b3dc4de",
|
|
126
|
+
yvWETH: "0xa258C4606Ca8206D8aA700cE2143D7db854D168c",
|
|
127
|
+
yvWBTC: "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E",
|
|
128
|
+
yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
|
|
129
|
+
yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
|
|
128
130
|
// CURVE LP TOKENS
|
|
129
|
-
"3Crv": "
|
|
130
|
-
steCRV: "
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
"3Crv": "0x5640391D2423e9349061DC045B5126A78ddE8CAc",
|
|
132
|
+
steCRV: "0x90F4D460B53F8650413539caB91c397e7b9fbc39",
|
|
133
|
+
crvPlain3andSUSD: "0x77082DC151f2D579f81BcC9cEF3e46DfF42B3474",
|
|
134
|
+
gusd3CRV: "0x289551b36f13A5AB838f912a83a32Deeda073a7b",
|
|
135
|
+
FRAX3CRV: "0xdBE4223fF10C4e6AdA4287249044Ead24fb7b135",
|
|
136
|
+
LUSD3CRV: "0x8835B68cC43bf249E22CB98FF32d025375f2513F",
|
|
135
137
|
// CONVEX LP TOKENS
|
|
136
|
-
cvx3Crv: "
|
|
137
|
-
cvxsteCRV: "
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
cvxgusd3CRV: "
|
|
138
|
+
cvx3Crv: "0xaC073A1756050c3170559Ae8997F251B2Db4D1A3",
|
|
139
|
+
cvxsteCRV: "0xb22c2015327cfbeD480eF45B6382d4bC963a4595",
|
|
140
|
+
cvxcrvPlain3andSUSD: "0xBBeAdEA3C648cF4026d0422EAF2463050202700b",
|
|
141
|
+
cvxFRAX3CRV: "0xBC523005975D86de9226785DD83e4f8d2A87fA73",
|
|
142
|
+
cvxgusd3CRV: "0xa3aDFDf18d166e26bF1Bc0ee63D26d0d1064b056",
|
|
141
143
|
// CONVEX PHANTOM TOKEN ADDRESSES
|
|
142
|
-
stkcvx3Crv: "
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
// YEARN- CURVE TOKENS
|
|
148
|
-
yvCurve_stETH: "",
|
|
149
|
-
yvCurve_FRAX: "",
|
|
144
|
+
stkcvx3Crv: "0xf4FC4Aa052346fEa87f1e864f10de0f7383e9502",
|
|
145
|
+
stkcvxFRAX3CRV: "0xd726f9684245065B120E1ac18de389f6b05351Ba",
|
|
146
|
+
stkcvxgusd3CRV: "0x9A74e8106f6c28b21b1B6a0F985cf1227BE05F04",
|
|
147
|
+
stkcvxsteCRV: "0xd8bAbB7EfBF7F931a69B209f71b27421F8b18516",
|
|
148
|
+
stkcvxcrvPlain3andSUSD: "0x6b45Cab756B41a7204973b71362ef5F73E67F6DA",
|
|
150
149
|
//GEARBOX
|
|
151
150
|
dDAI: "0x6CFaF95457d7688022FC53e7AbE052ef8DFBbdBA",
|
|
152
151
|
dUSDC: "0xc411dB5f5Eb3f7d552F9B8454B2D74097ccdE6E3",
|
package/package.json
CHANGED
|
@@ -86,19 +86,25 @@ export const contractsByNetwork: Record<
|
|
|
86
86
|
// LIDO
|
|
87
87
|
LIDO_STETH_GATEWAY: "0x55045Eaae19d92680E02231e4Ce7bBEB4814ca64"
|
|
88
88
|
},
|
|
89
|
+
|
|
90
|
+
///
|
|
91
|
+
///
|
|
92
|
+
/// KOVAN
|
|
93
|
+
///
|
|
94
|
+
///
|
|
89
95
|
Kovan: {
|
|
90
96
|
UNISWAP_V2_ROUTER: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
|
|
91
97
|
UNISWAP_V3_ROUTER: "0xE592427A0AEce92De3Edee1F18E0157C05861564",
|
|
92
98
|
SUSHISWAP_ROUTER: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",
|
|
93
99
|
|
|
94
100
|
// CURVE
|
|
95
|
-
CURVE_3CRV_POOL: "
|
|
96
|
-
CURVE_STETH_GATEWAY: "
|
|
101
|
+
CURVE_3CRV_POOL: "0x5C07cB1e8510DCC0DA262A71bb532B0e85368250",
|
|
102
|
+
CURVE_STETH_GATEWAY: "0xed4439dc6D555b5712E1B3815848B7a80E0bd8a2",
|
|
97
103
|
CURVE_FRAX_POOL: tokenDataByNetwork.Kovan.FRAX3CRV,
|
|
98
104
|
CURVE_LUSD_POOL: tokenDataByNetwork.Kovan.LUSD3CRV,
|
|
99
|
-
CURVE_SUSD_POOL: "
|
|
100
|
-
CURVE_SUSD_DEPOSIT: "
|
|
101
|
-
CURVE_GUSD_POOL: "
|
|
105
|
+
CURVE_SUSD_POOL: "0xcD0d789E7b0BCCa84ea23F309f9154B186606f4F",
|
|
106
|
+
CURVE_SUSD_DEPOSIT: "0x1F447F916649248cF091723e58c695F619d27BFf",
|
|
107
|
+
CURVE_GUSD_POOL: "0x08543E4CbE76C3461871A83C63E1d59684A66d7b",
|
|
102
108
|
|
|
103
109
|
// YEARN
|
|
104
110
|
YEARN_DAI_VAULT: tokenDataByNetwork.Kovan.yvDAI,
|
|
@@ -109,16 +115,16 @@ export const contractsByNetwork: Record<
|
|
|
109
115
|
YEARN_CURVE_STETH_VAULT: tokenDataByNetwork.Kovan.yvCurve_stETH,
|
|
110
116
|
|
|
111
117
|
// CONVEX
|
|
112
|
-
CONVEX_BOOSTER: "
|
|
113
|
-
CONVEX_3CRV_POOL: "
|
|
114
|
-
|
|
115
|
-
CONVEX_SUSD_POOL: "
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
CONVEX_CLAIM_ZAP: "",
|
|
118
|
+
CONVEX_BOOSTER: "0x56E507256808FB2692476181aA978e00Ca24d40f",
|
|
119
|
+
CONVEX_3CRV_POOL: "0xc2c705a619CF48241A9339763c6Cfd32Ca8C9deB",
|
|
120
|
+
CONVEX_STECRV_POOL: "0x25edfea00131DAF9b23a8E07720Eea2382d58E71",
|
|
121
|
+
CONVEX_SUSD_POOL: "0xE9998a1c357dc62550f2ED72b736a7CaEB262823",
|
|
122
|
+
CONVEX_FRAX3CRV_POOL: "0xEBE0A1B948eB83333906EB80eE4b87Ee0b5CC84f",
|
|
123
|
+
CONVEX_GUSD_POOL: "0xE7370DA7FD3d511dAB095Dd7d10388653d5cDE21",
|
|
124
|
+
CONVEX_CLAIM_ZAP: "0x1330C2E5Cd8c333683aE511550f82d25918FFdd5",
|
|
119
125
|
|
|
120
126
|
// LIDO
|
|
121
|
-
LIDO_STETH_GATEWAY: "
|
|
127
|
+
LIDO_STETH_GATEWAY: "0x7C1C4eC1f1510E3978a96a1d024D7689F05a7Ca1"
|
|
122
128
|
}
|
|
123
129
|
};
|
|
124
130
|
|
|
@@ -225,7 +231,7 @@ export const contractParams: Record<SupportedContract, ContractParams> = {
|
|
|
225
231
|
type: AdapterInterface.CURVE_V1_STECRV_POOL,
|
|
226
232
|
pool: {
|
|
227
233
|
Mainnet: "0xDC24316b9AE028F1497c275EB9192a3Ea0f67022",
|
|
228
|
-
Kovan: "
|
|
234
|
+
Kovan: "0xF5C73b58B70709e89aA1D322d48b0D0C71123cB4"
|
|
229
235
|
},
|
|
230
236
|
lpToken: "steCRV"
|
|
231
237
|
},
|
|
@@ -347,7 +353,7 @@ export const contractParams: Record<SupportedContract, ContractParams> = {
|
|
|
347
353
|
type: AdapterInterface.LIDO_V1,
|
|
348
354
|
oracle: {
|
|
349
355
|
Mainnet: "0x442af784A788A5bd6F42A01Ebe9F287a871243fb",
|
|
350
|
-
Kovan: ""
|
|
356
|
+
Kovan: "0x65EBFF1D5C02418AaeCd0f953da518cF6a6c68A0"
|
|
351
357
|
},
|
|
352
358
|
lpToken: "steCRV"
|
|
353
359
|
}
|
package/src/tokens/token.ts
CHANGED
|
@@ -102,12 +102,6 @@ export const tokenDataByNetwork: Record<
|
|
|
102
102
|
LUNA: "0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9",
|
|
103
103
|
LQTY: "0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D",
|
|
104
104
|
|
|
105
|
-
// YEARN TOKENS
|
|
106
|
-
yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
|
|
107
|
-
yvUSDC: "0xa354f35829ae975e850e23e9615b11da1b3dc4de",
|
|
108
|
-
yvWETH: "0xa258C4606Ca8206D8aA700cE2143D7db854D168c",
|
|
109
|
-
yvWBTC: "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E",
|
|
110
|
-
|
|
111
105
|
// CURVE LP TOKENS
|
|
112
106
|
"3Crv": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490",
|
|
113
107
|
steCRV: "0x06325440d014e39736583c165c2963ba99faf14e",
|
|
@@ -124,13 +118,17 @@ export const tokenDataByNetwork: Record<
|
|
|
124
118
|
cvxgusd3CRV: "0x15c2471ef46Fa721990730cfa526BcFb45574576",
|
|
125
119
|
|
|
126
120
|
// CONVEX PHANTOM TOKEN ADDRESSES
|
|
127
|
-
stkcvx3Crv: "
|
|
128
|
-
stkcvxsteCRV: "
|
|
129
|
-
stkcvxFRAX3CRV: "
|
|
130
|
-
stkcvxcrvPlain3andSUSD: "
|
|
131
|
-
stkcvxgusd3CRV: "
|
|
121
|
+
stkcvx3Crv: "",
|
|
122
|
+
stkcvxsteCRV: "",
|
|
123
|
+
stkcvxFRAX3CRV: "",
|
|
124
|
+
stkcvxcrvPlain3andSUSD: "",
|
|
125
|
+
stkcvxgusd3CRV: "",
|
|
132
126
|
|
|
133
|
-
// YEARN
|
|
127
|
+
// YEARN TOKENS
|
|
128
|
+
yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
|
|
129
|
+
yvUSDC: "0xa354f35829ae975e850e23e9615b11da1b3dc4de",
|
|
130
|
+
yvWETH: "0xa258C4606Ca8206D8aA700cE2143D7db854D168c",
|
|
131
|
+
yvWBTC: "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E",
|
|
134
132
|
yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
|
|
135
133
|
yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
|
|
136
134
|
|
|
@@ -143,10 +141,11 @@ export const tokenDataByNetwork: Record<
|
|
|
143
141
|
GEAR: "0xBa3335588D9403515223F109EdC4eB7269a9Ab5D"
|
|
144
142
|
},
|
|
145
143
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
144
|
+
///
|
|
145
|
+
///
|
|
146
|
+
/// KOVAN NETWORK
|
|
147
|
+
///
|
|
148
|
+
///
|
|
150
149
|
Kovan: {
|
|
151
150
|
"1INCH": "0x6601ce61E41cd6760E763555A806AB5578EB2a9E",
|
|
152
151
|
AAVE: "0xed2eAe2533bc70dB9030174a7F085e0853289726",
|
|
@@ -166,9 +165,9 @@ export const tokenDataByNetwork: Record<
|
|
|
166
165
|
YFI: "0x1df5DF6d0196bE6AE6A2EED915a0Cc6cAEA84C2D",
|
|
167
166
|
|
|
168
167
|
/// UPDATE
|
|
169
|
-
STETH: "
|
|
168
|
+
STETH: "0x77c742b2e83367Ece64FC5f4440a796D08d82422",
|
|
170
169
|
FTM: "0x5DE02cFf707eBC43f58DFB022518c18C66147b1E",
|
|
171
|
-
CVX: "
|
|
170
|
+
CVX: "0xd3276d0549996fB6598df321dd6C4175f865A966",
|
|
172
171
|
FRAX: "0x301b0B83E5F5deC5233075368B8b459CEedc0948",
|
|
173
172
|
FXS: "0x25eb8A9B30981d1F04C306829FEBc855FA86695A",
|
|
174
173
|
LDO: "0x99bB41898474aDb38e098fFdB0cD17d2619cA3ef",
|
|
@@ -180,36 +179,35 @@ export const tokenDataByNetwork: Record<
|
|
|
180
179
|
LQTY: "0xC948BB323d753B37eA8195DeAFE904138Df11fbC",
|
|
181
180
|
|
|
182
181
|
// YEARN TOKENS
|
|
183
|
-
yvDAI: "
|
|
184
|
-
yvUSDC: "
|
|
185
|
-
yvWETH: "
|
|
186
|
-
yvWBTC: "
|
|
182
|
+
yvDAI: "0xdA816459F1AB5631232FE5e97a05BBBb94970c95",
|
|
183
|
+
yvUSDC: "0xa354f35829ae975e850e23e9615b11da1b3dc4de",
|
|
184
|
+
yvWETH: "0xa258C4606Ca8206D8aA700cE2143D7db854D168c",
|
|
185
|
+
yvWBTC: "0xA696a63cc78DfFa1a63E9E50587C197387FF6C7E",
|
|
186
|
+
|
|
187
|
+
yvCurve_stETH: "0xdCD90C7f6324cfa40d7169ef80b12031770B4325",
|
|
188
|
+
yvCurve_FRAX: "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139",
|
|
187
189
|
|
|
188
190
|
// CURVE LP TOKENS
|
|
189
|
-
"3Crv": "
|
|
190
|
-
steCRV: "
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
"3Crv": "0x5640391D2423e9349061DC045B5126A78ddE8CAc",
|
|
192
|
+
steCRV: "0x90F4D460B53F8650413539caB91c397e7b9fbc39",
|
|
193
|
+
crvPlain3andSUSD: "0x77082DC151f2D579f81BcC9cEF3e46DfF42B3474",
|
|
194
|
+
gusd3CRV: "0x289551b36f13A5AB838f912a83a32Deeda073a7b",
|
|
195
|
+
FRAX3CRV: "0xdBE4223fF10C4e6AdA4287249044Ead24fb7b135",
|
|
196
|
+
LUSD3CRV: "0x8835B68cC43bf249E22CB98FF32d025375f2513F",
|
|
195
197
|
|
|
196
198
|
// CONVEX LP TOKENS
|
|
197
|
-
cvx3Crv: "
|
|
198
|
-
cvxsteCRV: "
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
cvxgusd3CRV: "
|
|
199
|
+
cvx3Crv: "0xaC073A1756050c3170559Ae8997F251B2Db4D1A3",
|
|
200
|
+
cvxsteCRV: "0xb22c2015327cfbeD480eF45B6382d4bC963a4595",
|
|
201
|
+
cvxcrvPlain3andSUSD: "0xBBeAdEA3C648cF4026d0422EAF2463050202700b",
|
|
202
|
+
cvxFRAX3CRV: "0xBC523005975D86de9226785DD83e4f8d2A87fA73",
|
|
203
|
+
cvxgusd3CRV: "0xa3aDFDf18d166e26bF1Bc0ee63D26d0d1064b056",
|
|
202
204
|
|
|
203
205
|
// CONVEX PHANTOM TOKEN ADDRESSES
|
|
204
|
-
stkcvx3Crv: "
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
// YEARN- CURVE TOKENS
|
|
211
|
-
yvCurve_stETH: "",
|
|
212
|
-
yvCurve_FRAX: "",
|
|
206
|
+
stkcvx3Crv: "0xf4FC4Aa052346fEa87f1e864f10de0f7383e9502",
|
|
207
|
+
stkcvxFRAX3CRV: "0xd726f9684245065B120E1ac18de389f6b05351Ba",
|
|
208
|
+
stkcvxgusd3CRV: "0x9A74e8106f6c28b21b1B6a0F985cf1227BE05F04",
|
|
209
|
+
stkcvxsteCRV: "0xd8bAbB7EfBF7F931a69B209f71b27421F8b18516",
|
|
210
|
+
stkcvxcrvPlain3andSUSD: "0x6b45Cab756B41a7204973b71362ef5F73E67F6DA",
|
|
213
211
|
|
|
214
212
|
//GEARBOX
|
|
215
213
|
dDAI: "0x6CFaF95457d7688022FC53e7AbE052ef8DFBbdBA",
|
package/src/utils/multicall.ts
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import {ethers} from "ethers";
|
|
2
|
-
import {Multicall2, Multicall2__factory} from "../types";
|
|
1
|
+
import { ethers } from "ethers";
|
|
2
|
+
import { Multicall2, Multicall2__factory } from "../types";
|
|
3
3
|
|
|
4
4
|
export interface CallData<T extends ethers.utils.Interface> {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
method: keyof T["functions"];
|
|
6
|
+
params?: any;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export interface MCall<T extends ethers.utils.Interface> {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
address: string;
|
|
11
|
+
interface: T;
|
|
12
|
+
method: keyof T["functions"];
|
|
13
|
+
params?: any;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export async function multicall<R extends Array<any>>(
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
calls: Array<MCall<any>>,
|
|
18
|
+
p: ethers.providers.Provider
|
|
19
19
|
): Promise<R> {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const multiCallContract = Multicall2__factory.connect(
|
|
21
|
+
"0x5ba1e12693dc8f9c48aad8770482f4739beed696",
|
|
22
|
+
p
|
|
23
|
+
);
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
const { returnData } = await multiCallContract.callStatic.aggregate(
|
|
26
|
+
calls.map(c => ({
|
|
27
|
+
target: c.address,
|
|
28
|
+
callData: c.interface.encodeFunctionData(c.method as string, c.params)
|
|
29
|
+
}))
|
|
30
|
+
);
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
return returnData
|
|
33
|
+
.map((d, num) =>
|
|
34
|
+
calls[num].interface.decodeFunctionResult(calls[num].method as string, d)
|
|
35
|
+
)
|
|
36
|
+
.map(r => r[0]) as R;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export class MultiCallContract<T extends ethers.utils.Interface> {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
private readonly _address: string;
|
|
41
|
+
private readonly _interface: T;
|
|
42
|
+
protected _multiCall: Multicall2;
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
constructor(
|
|
45
|
+
address: string,
|
|
46
|
+
intrerface: T,
|
|
47
|
+
provider: ethers.providers.Provider
|
|
48
|
+
) {
|
|
49
|
+
this._address = address;
|
|
50
|
+
this._interface = intrerface;
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
this._multiCall = Multicall2__factory.connect(
|
|
53
|
+
"0x5ba1e12693dc8f9c48aad8770482f4739beed696",
|
|
54
|
+
provider
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
async call<R extends Array<any>>(data: Array<CallData<T>>): Promise<R> {
|
|
59
|
+
const { returnData } = await this._multiCall.callStatic.aggregate(
|
|
60
|
+
data.map(c => ({
|
|
61
|
+
target: this._address,
|
|
62
|
+
callData: this._interface.encodeFunctionData(
|
|
63
|
+
c.method as string,
|
|
64
|
+
c.params
|
|
65
|
+
)
|
|
66
|
+
}))
|
|
67
|
+
);
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
return returnData
|
|
70
|
+
.map((d, num) =>
|
|
71
|
+
this._interface.decodeFunctionResult(data[num].method as string, d)
|
|
72
|
+
)
|
|
73
|
+
.map(r => r[0]) as R;
|
|
74
|
+
}
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
get address(): string {
|
|
77
|
+
return this._address;
|
|
78
|
+
}
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
get interface(): T {
|
|
81
|
+
return this._interface;
|
|
82
|
+
}
|
|
83
83
|
}
|