@morpho-org/blue-sdk 3.0.0-next.4 → 3.0.0-next.6
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/addresses.d.ts +123 -51
- package/lib/addresses.js +129 -78
- package/lib/chain.d.ts +6 -3
- package/lib/chain.js +40 -12
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/vault/VaultMarketConfig.d.ts +2 -2
- package/package.json +2 -2
package/lib/addresses.d.ts
CHANGED
|
@@ -6,7 +6,49 @@ import type { Address } from "./types.js";
|
|
|
6
6
|
* NB: data might differ from expected onchain native token data
|
|
7
7
|
*/
|
|
8
8
|
export declare const NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
9
|
-
export
|
|
9
|
+
export interface ChainAddresses {
|
|
10
|
+
morpho: Address;
|
|
11
|
+
permit2?: Address;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated All bundles should use Bundler3 instead.
|
|
14
|
+
*/
|
|
15
|
+
bundler?: Address;
|
|
16
|
+
aaveV3OptimizerBundler?: Address;
|
|
17
|
+
aaveV2Bundler?: Address;
|
|
18
|
+
aaveV3Bundler?: Address;
|
|
19
|
+
compoundV3Bundler?: Address;
|
|
20
|
+
compoundV2Bundler?: Address;
|
|
21
|
+
bundler3: {
|
|
22
|
+
bundler3: Address;
|
|
23
|
+
generalAdapter1: Address;
|
|
24
|
+
paraswapAdapter?: Address;
|
|
25
|
+
erc20WrapperAdapter?: Address;
|
|
26
|
+
compoundV2MigrationAdapter?: Address;
|
|
27
|
+
compoundV3MigrationAdapter?: Address;
|
|
28
|
+
aaveV2MigrationAdapter?: Address;
|
|
29
|
+
aaveV3CoreMigrationAdapter?: Address;
|
|
30
|
+
aaveV3PrimeMigrationAdapter?: Address;
|
|
31
|
+
aaveV3EtherFiMigrationAdapter?: Address;
|
|
32
|
+
aaveV3OptimizerMigrationAdapter?: Address;
|
|
33
|
+
};
|
|
34
|
+
adaptiveCurveIrm: Address;
|
|
35
|
+
publicAllocator?: Address;
|
|
36
|
+
metaMorphoFactory?: Address;
|
|
37
|
+
chainlinkOracleFactory?: Address;
|
|
38
|
+
wNative?: Address;
|
|
39
|
+
morphoToken?: Address;
|
|
40
|
+
/**
|
|
41
|
+
* Must implement DAI specific permit (otherwise breaks permit signatures).
|
|
42
|
+
*/
|
|
43
|
+
dai?: Address;
|
|
44
|
+
/**
|
|
45
|
+
* Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
46
|
+
*/
|
|
47
|
+
usdc?: Address;
|
|
48
|
+
stEth?: Address;
|
|
49
|
+
wstEth?: Address;
|
|
50
|
+
}
|
|
51
|
+
export declare const addressesRegistry: {
|
|
10
52
|
readonly 1: {
|
|
11
53
|
readonly morpho: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb";
|
|
12
54
|
readonly permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
|
|
@@ -35,15 +77,14 @@ export declare const addresses: {
|
|
|
35
77
|
readonly adaptiveCurveIrm: "0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC";
|
|
36
78
|
readonly publicAllocator: "0xfd32fA2ca22c76dD6E550706Ad913FC6CE91c75D";
|
|
37
79
|
readonly metaMorphoFactory: "0x1897A8997241C1cD4bD0698647e4EB7213535c24";
|
|
80
|
+
readonly chainlinkOracleFactory: "0x3A7bB36Ee3f3eE32A60e9f2b33c1e5f2E83ad766";
|
|
38
81
|
readonly wNative: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
|
|
39
82
|
readonly morphoToken: "0x9994E35Db50125E0DF82e4c2dde62496CE330999";
|
|
40
|
-
readonly aaveV3Optimizer: "0x33333aea097c193e66081E930c33020272b33333";
|
|
41
83
|
readonly dai: "0x6B175474E89094C44Da98b954EedeAC495271d0F";
|
|
42
84
|
readonly sDai: "0x83F20F44975D03b1b09e64809B757c47f942BEeA";
|
|
43
85
|
readonly mkr: "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2";
|
|
44
86
|
readonly stEth: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84";
|
|
45
87
|
readonly wstEth: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0";
|
|
46
|
-
readonly cEth: "0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5";
|
|
47
88
|
readonly osEth: "0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38";
|
|
48
89
|
readonly bIB01: "0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5";
|
|
49
90
|
readonly wbIB01: "0xcA2A7068e551d5C4482eb34880b194E4b945712F";
|
|
@@ -86,6 +127,7 @@ export declare const addresses: {
|
|
|
86
127
|
readonly adaptiveCurveIrm: "0x46415998764C29aB2a25CbeA6254146D50D22687";
|
|
87
128
|
readonly publicAllocator: "0xA090dD1a701408Df1d4d0B85b716c87565f90467";
|
|
88
129
|
readonly metaMorphoFactory: "0xFf62A7c278C62eD665133147129245053Bbf5918";
|
|
130
|
+
readonly chainlinkOracleFactory: "0x2DC205F24BCb6B311E5cdf0745B0741648Aebd3d";
|
|
89
131
|
readonly wNative: "0x4200000000000000000000000000000000000006";
|
|
90
132
|
readonly usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
91
133
|
readonly verUsdc: "0x59aaF835D34b1E3dF2170e4872B785f11E2a964b";
|
|
@@ -102,6 +144,7 @@ export declare const addresses: {
|
|
|
102
144
|
readonly adaptiveCurveIrm: "0xe675A2161D4a6E2de2eeD70ac98EEBf257FBF0B0";
|
|
103
145
|
readonly publicAllocator: "0xfac15aff53ADd2ff80C2962127C434E8615Df0d3";
|
|
104
146
|
readonly metaMorphoFactory: "0xa9c87daB340631C34BB738625C70499e29ddDC98";
|
|
147
|
+
readonly chainlinkOracleFactory: "0x1ff7895Eb842794c5d07C4c547b6730e61295215";
|
|
105
148
|
readonly wNative: "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270";
|
|
106
149
|
};
|
|
107
150
|
readonly 42161: {
|
|
@@ -115,6 +158,7 @@ export declare const addresses: {
|
|
|
115
158
|
readonly adaptiveCurveIrm: "0x66F30587FB8D4206918deb78ecA7d5eBbafD06DA";
|
|
116
159
|
readonly publicAllocator: "0x769583Af5e9D03589F159EbEC31Cc2c23E8C355E";
|
|
117
160
|
readonly metaMorphoFactory: "0x878988f5f561081deEa117717052164ea1Ef0c82";
|
|
161
|
+
readonly chainlinkOracleFactory: "0x98Ce5D183DC0c176f54D37162F87e7eD7f2E41b5";
|
|
118
162
|
readonly wNative: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1";
|
|
119
163
|
readonly usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
|
|
120
164
|
};
|
|
@@ -129,6 +173,7 @@ export declare const addresses: {
|
|
|
129
173
|
readonly adaptiveCurveIrm: "0x8cD70A8F399428456b29546BC5dBe10ab6a06ef6";
|
|
130
174
|
readonly publicAllocator: "0x0d68a97324E602E02799CD83B42D337207B40658";
|
|
131
175
|
readonly metaMorphoFactory: "0x3Bb6A6A0Bc85b367EFE0A5bAc81c5E52C892839a";
|
|
176
|
+
readonly chainlinkOracleFactory: "0x1ec408D4131686f727F3Fd6245CF85Bc5c9DAD70";
|
|
132
177
|
readonly wNative: "0x4200000000000000000000000000000000000006";
|
|
133
178
|
readonly usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85";
|
|
134
179
|
};
|
|
@@ -141,8 +186,8 @@ export declare const addresses: {
|
|
|
141
186
|
readonly adaptiveCurveIrm: "0x34E99D604751a72cF8d0CFDf87069292d82De472";
|
|
142
187
|
readonly publicAllocator: "0xef9889B4e443DEd35FA0Bd060f2104Cca94e6A43";
|
|
143
188
|
readonly metaMorphoFactory: "0x4DBB3a642a2146d5413750Cca3647086D9ba5F12";
|
|
189
|
+
readonly chainlinkOracleFactory: "0xd706690BA1Fe26b70c4AD89e60ff62cEB3A2eD02";
|
|
144
190
|
readonly wNative: "0x4200000000000000000000000000000000000006";
|
|
145
|
-
readonly usdc: "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1";
|
|
146
191
|
};
|
|
147
192
|
readonly 252: {
|
|
148
193
|
readonly morpho: "0xa6030627d724bA78a59aCf43Be7550b4C5a0653b";
|
|
@@ -153,8 +198,8 @@ export declare const addresses: {
|
|
|
153
198
|
readonly adaptiveCurveIrm: "0xA0D4D77b5D9933073572E19C172BFE866312673b";
|
|
154
199
|
readonly publicAllocator: "0x37a888192165fC39884f87c64E2476BfD2C09675";
|
|
155
200
|
readonly metaMorphoFactory: "0x27D4Af0AC9E7FDfA6D0853236f249CC27AE79488";
|
|
201
|
+
readonly chainlinkOracleFactory: "0x39d8622C607A691D7705E8842fbB12E3c38dCD41";
|
|
156
202
|
readonly wNative: "0xfc00000000000000000000000000000000000006";
|
|
157
|
-
readonly usdc: "0xDcc0F2D8F90FDe85b10aC1c8Ab57dc0AE946A543";
|
|
158
203
|
};
|
|
159
204
|
readonly 534352: {
|
|
160
205
|
readonly morpho: "0x2d012EdbAdc37eDc2BC62791B666f9193FDF5a55";
|
|
@@ -165,6 +210,7 @@ export declare const addresses: {
|
|
|
165
210
|
readonly adaptiveCurveIrm: "0xa5EA7500A27C0079961D93366A6e93aafF18CB90";
|
|
166
211
|
readonly publicAllocator: "0x8a7f671E45E51dE245649Cf916cA0256FB8a9927";
|
|
167
212
|
readonly metaMorphoFactory: "0x56b65742ade55015e6480959808229Ad6dbc9295";
|
|
213
|
+
readonly chainlinkOracleFactory: "0xb5961902E60b188b1c665B7b72Ef616656A9e24E";
|
|
168
214
|
readonly wNative: "0x5300000000000000000000000000000000000004";
|
|
169
215
|
readonly usdc: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4";
|
|
170
216
|
};
|
|
@@ -177,51 +223,76 @@ export declare const addresses: {
|
|
|
177
223
|
readonly adaptiveCurveIrm: "0x9515407b1512F53388ffE699524100e7270Ee57B";
|
|
178
224
|
readonly publicAllocator: "0x85416891752a6B81106c1C2999AE1AF5d8Cd3357";
|
|
179
225
|
readonly metaMorphoFactory: "0xd3f39505d0c48AFED3549D625982FdC38Ea9904b";
|
|
226
|
+
readonly chainlinkOracleFactory: "0x3FFFE273ee348b9E1ef89533025C7f165B17B439";
|
|
180
227
|
readonly wNative: "0x4200000000000000000000000000000000000006";
|
|
181
228
|
readonly usdc: "0xF1815bd50389c46847f0Bda824eC8da914045D14";
|
|
182
229
|
};
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
compoundV2Bundler?: Address;
|
|
196
|
-
bundler3: {
|
|
197
|
-
bundler3: Address;
|
|
198
|
-
generalAdapter1: Address;
|
|
199
|
-
paraswapAdapter?: Address;
|
|
200
|
-
erc20WrapperAdapter?: Address;
|
|
201
|
-
compoundV2MigrationAdapter?: Address;
|
|
202
|
-
compoundV3MigrationAdapter?: Address;
|
|
203
|
-
aaveV2MigrationAdapter?: Address;
|
|
204
|
-
aaveV3CoreMigrationAdapter?: Address;
|
|
205
|
-
aaveV3PrimeMigrationAdapter?: Address;
|
|
206
|
-
aaveV3EtherFiMigrationAdapter?: Address;
|
|
207
|
-
aaveV3OptimizerMigrationAdapter?: Address;
|
|
230
|
+
readonly 130: {
|
|
231
|
+
readonly morpho: "0x8f5ae9CddB9f68de460C77730b018Ae7E04a140A";
|
|
232
|
+
readonly bundler3: {
|
|
233
|
+
readonly bundler3: "0x7DD85759182495AF7F6757DA75036d24A9B58bc3";
|
|
234
|
+
readonly generalAdapter1: "0xC11329d19C2275c9E759867e879ECFcEeD7e30A0";
|
|
235
|
+
};
|
|
236
|
+
readonly adaptiveCurveIrm: "0x9a6061d51743B31D2c3Be75D83781Fa423f53F0E";
|
|
237
|
+
readonly publicAllocator: "0xB0c9a107fA17c779B3378210A7a593e88938C7C9";
|
|
238
|
+
readonly metaMorphoFactory: "0xe9EdE3929F43a7062a007C3e8652e4ACa610Bdc0";
|
|
239
|
+
readonly chainlinkOracleFactory: "0x43269546e1D586a1f7200a0AC07e26f9631f7539";
|
|
240
|
+
readonly wNative: "0x4200000000000000000000000000000000000006";
|
|
241
|
+
readonly usdc: "0x078D782b760474a361dDA0AF3839290b0EF57AD6";
|
|
208
242
|
};
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
243
|
+
readonly 146: {
|
|
244
|
+
readonly morpho: "0xd6c916eB7542D0Ad3f18AEd0FCBD50C582cfa95f";
|
|
245
|
+
readonly bundler3: {
|
|
246
|
+
readonly bundler3: "0xB06F1Ad8c908b958E596c42973f67F2f1d9a9afF";
|
|
247
|
+
readonly generalAdapter1: "0x31D5aee8D75EEab548cfA0d11C4f9843a5201eaf";
|
|
248
|
+
};
|
|
249
|
+
readonly adaptiveCurveIrm: "0xDEfCf242226425f93d8DD0e314735C28517C473F";
|
|
250
|
+
readonly publicAllocator: "0x6Cef2EDC70D87E8f1623f3096efF05d066E59B36";
|
|
251
|
+
readonly metaMorphoFactory: "0x0cE9e3512CB4df8ae7e265e62Fb9258dc14f12e8";
|
|
252
|
+
readonly chainlinkOracleFactory: "0x7DA59Fa482F1F49fADc486d8e47BADc506fEb86d";
|
|
253
|
+
readonly wNative: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38";
|
|
254
|
+
};
|
|
255
|
+
readonly 43111: {
|
|
256
|
+
readonly morpho: "0xa4Ca2c2e25b97DA19879201bA49422bc6f181f42";
|
|
257
|
+
readonly bundler3: {
|
|
258
|
+
readonly bundler3: "0x8eDa6E01a20E3Cd90B3B2AF6F790cB8FADEf3Ea8";
|
|
259
|
+
readonly generalAdapter1: "0x9623090C3943ad63F7d794378273610Dd0deeFD4";
|
|
260
|
+
};
|
|
261
|
+
readonly adaptiveCurveIrm: "0xdEbdEa31624552DF904A065221cD14088ABDeD70";
|
|
262
|
+
readonly publicAllocator: "0x4107Ea1746909028d6212B315dE5fE9538F9eb39";
|
|
263
|
+
readonly metaMorphoFactory: "0x8e52179BeB18E882040b01632440d8Ca0f01da82";
|
|
264
|
+
readonly chainlinkOracleFactory: "0xB3cb32E6185446a6Bc7A047E4FfA138fA939e133";
|
|
265
|
+
readonly wNative: "0x4200000000000000000000000000000000000006";
|
|
266
|
+
readonly usdc: "0xad11a8BEb98bbf61dbb1aa0F6d6F2ECD87b35afA";
|
|
267
|
+
};
|
|
268
|
+
readonly 34443: {
|
|
269
|
+
readonly morpho: "0xd85cE6BD68487E0AaFb0858FDE1Cd18c76840564";
|
|
270
|
+
readonly bundler3: {
|
|
271
|
+
readonly bundler3: "0xFEA0edFa081C8D5960Ec9Bf6684981dB1834305d";
|
|
272
|
+
readonly generalAdapter1: "0xF53925b95Cc409447066cd5c1A7756084b2Ee0a4";
|
|
273
|
+
};
|
|
274
|
+
readonly adaptiveCurveIrm: "0xE3d46Ae190Cb39ccA3655E966DcEF96b4eAe1d1c";
|
|
275
|
+
readonly publicAllocator: "0xEE868Bf3359DA30c10ea472EAEBFC0a06E8F0120";
|
|
276
|
+
readonly metaMorphoFactory: "0xae5b0884bfff430493D6C844B9fd052Af7d79278";
|
|
277
|
+
readonly chainlinkOracleFactory: "0xf9380f7898423Bd7FDe3C9fDD1b2671A2471f39D";
|
|
278
|
+
readonly wNative: "0x4200000000000000000000000000000000000006";
|
|
279
|
+
};
|
|
280
|
+
readonly 21000000: {
|
|
281
|
+
readonly morpho: "0xc2B1E031540e3F3271C5F3819F0cC7479a8DdD90";
|
|
282
|
+
readonly bundler3: {
|
|
283
|
+
readonly bundler3: "0x086889F9bdE8349512dD77088A7114E6C1c42Af7";
|
|
284
|
+
readonly generalAdapter1: "0x464a402244bCDdc0c2091D5193E8ffdb2be54Ca9";
|
|
285
|
+
};
|
|
286
|
+
readonly adaptiveCurveIrm: "0x58a42117d753a0e69694545DfA19d64c2fB759fB";
|
|
287
|
+
readonly publicAllocator: "0xDFde06e2B2A2D718eE5560b73dA4F830E56A2f10";
|
|
288
|
+
readonly metaMorphoFactory: "0xe430821595602eA5DD0cD350f86987437c7362fA";
|
|
289
|
+
readonly chainlinkOracleFactory: "0x16278156D366fC91536b6b81482ffaC47EEa06D6";
|
|
290
|
+
readonly wNative: "0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2";
|
|
291
|
+
readonly usdc: "0xDF0B24095e15044538866576754F3C964e902Ee6";
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
export declare const addresses: Record<number, ChainAddresses>;
|
|
295
|
+
export type AddressLabel = DottedKeys<(typeof addressesRegistry)[ChainId]>;
|
|
225
296
|
export declare const getChainAddresses: (chainId: number) => ChainAddresses;
|
|
226
297
|
/**
|
|
227
298
|
* Assumptions:
|
|
@@ -232,23 +303,24 @@ export declare function getUnwrappedToken(wrappedToken: Address, chainId: ChainI
|
|
|
232
303
|
/**
|
|
233
304
|
* The registry of all known ERC20Wrapper tokens.
|
|
234
305
|
*/
|
|
235
|
-
export declare const erc20WrapperTokens: Record<
|
|
306
|
+
export declare const erc20WrapperTokens: Record<number, Set<Address>>;
|
|
236
307
|
/**
|
|
237
308
|
* The registry of all known PermissionedERC20Wrapper with a `hasPermission` getter.
|
|
238
309
|
* All permissioned wrapper tokens are considered ERC20Wrapper and automatically added to the erc20WrapperTokens registry.
|
|
239
310
|
*/
|
|
240
|
-
export declare const permissionedWrapperTokens: Record<
|
|
311
|
+
export declare const permissionedWrapperTokens: Record<number, Set<Address>>;
|
|
241
312
|
/**
|
|
242
313
|
* The registry of all known permissioned wrapped Backed tokens.
|
|
243
314
|
* All permissioned Backed tokens are considered ERC20Wrapper and automatically added to the erc20WrapperTokens registry.
|
|
244
315
|
*/
|
|
245
|
-
export declare const permissionedBackedTokens: Record<
|
|
316
|
+
export declare const permissionedBackedTokens: Record<number, Set<Address>>;
|
|
246
317
|
/**
|
|
247
318
|
* The registry of all known permissioned wrapped tokens that require a Coinbase attestation.
|
|
248
319
|
* All permissioned Coinbase tokens are considered PermissionedERC20Wrapper and automatically added to the permissionedWrapperTokens registry.
|
|
249
320
|
*/
|
|
250
|
-
export declare const permissionedCoinbaseTokens: Record<
|
|
321
|
+
export declare const permissionedCoinbaseTokens: Record<number, Set<Address>>;
|
|
322
|
+
export declare const getPermissionedCoinbaseTokens: (chainId: number) => Set<`0x${string}`>;
|
|
251
323
|
/** /!\ These tokens can not be listed in `erc20WrapperTokens` because the following specs are different:
|
|
252
324
|
* - calling `depositFor` supplies on blue instead of minting wrapped token to the user
|
|
253
325
|
*/
|
|
254
|
-
export declare const convexWrapperTokens: Record<
|
|
326
|
+
export declare const convexWrapperTokens: Record<number, Set<Address>>;
|
package/lib/addresses.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convexWrapperTokens = exports.permissionedCoinbaseTokens = exports.permissionedBackedTokens = exports.permissionedWrapperTokens = exports.erc20WrapperTokens = exports.unwrappedTokensMapping = exports.getChainAddresses = exports.addresses = exports.NATIVE_ADDRESS = void 0;
|
|
3
|
+
exports.convexWrapperTokens = exports.getPermissionedCoinbaseTokens = exports.permissionedCoinbaseTokens = exports.permissionedBackedTokens = exports.permissionedWrapperTokens = exports.erc20WrapperTokens = exports.unwrappedTokensMapping = exports.getChainAddresses = exports.addresses = exports.addressesRegistry = exports.NATIVE_ADDRESS = void 0;
|
|
4
4
|
exports.getUnwrappedToken = getUnwrappedToken;
|
|
5
5
|
const morpho_ts_1 = require("@morpho-org/morpho-ts");
|
|
6
6
|
const chain_js_1 = require("./chain.js");
|
|
7
|
+
const errors_js_1 = require("./errors.js");
|
|
7
8
|
/** Address used to replicate an erc20-behaviour for native token.
|
|
8
9
|
*
|
|
9
10
|
* NB: data might differ from expected onchain native token data
|
|
10
11
|
*/
|
|
11
12
|
exports.NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
12
|
-
exports.
|
|
13
|
+
exports.addressesRegistry = {
|
|
13
14
|
[chain_js_1.ChainId.EthMainnet]: {
|
|
14
15
|
morpho: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",
|
|
15
16
|
permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
|
|
@@ -38,15 +39,15 @@ exports.addresses = {
|
|
|
38
39
|
adaptiveCurveIrm: "0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC",
|
|
39
40
|
publicAllocator: "0xfd32fA2ca22c76dD6E550706Ad913FC6CE91c75D",
|
|
40
41
|
metaMorphoFactory: "0x1897A8997241C1cD4bD0698647e4EB7213535c24",
|
|
42
|
+
chainlinkOracleFactory: "0x3A7bB36Ee3f3eE32A60e9f2b33c1e5f2E83ad766",
|
|
41
43
|
wNative: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
|
42
44
|
morphoToken: "0x9994E35Db50125E0DF82e4c2dde62496CE330999",
|
|
43
|
-
|
|
45
|
+
// Must implement DAI specific permit (otherwise breaks permit signatures).
|
|
44
46
|
dai: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
|
|
45
47
|
sDai: "0x83F20F44975D03b1b09e64809B757c47f942BEeA",
|
|
46
48
|
mkr: "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2",
|
|
47
49
|
stEth: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
|
|
48
50
|
wstEth: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
|
|
49
|
-
cEth: "0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5",
|
|
50
51
|
osEth: "0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38",
|
|
51
52
|
bIB01: "0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5",
|
|
52
53
|
// If we want to change the wbIB01 address, we have to check if the new one has simple permit or not.
|
|
@@ -56,6 +57,7 @@ exports.addresses = {
|
|
|
56
57
|
// If we want to change the wbC3M address, we have to check if the new one has simple permit or not.
|
|
57
58
|
// Currently, wbC3M is considered to have simple permit.
|
|
58
59
|
wbC3M: "0x95D7337d43340E2721960Dc402D9b9117f0d81a2",
|
|
60
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
59
61
|
usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
60
62
|
usdt: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
61
63
|
crvUsd: "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E",
|
|
@@ -93,7 +95,9 @@ exports.addresses = {
|
|
|
93
95
|
adaptiveCurveIrm: "0x46415998764C29aB2a25CbeA6254146D50D22687",
|
|
94
96
|
publicAllocator: "0xA090dD1a701408Df1d4d0B85b716c87565f90467",
|
|
95
97
|
metaMorphoFactory: "0xFf62A7c278C62eD665133147129245053Bbf5918",
|
|
98
|
+
chainlinkOracleFactory: "0x2DC205F24BCb6B311E5cdf0745B0741648Aebd3d",
|
|
96
99
|
wNative: "0x4200000000000000000000000000000000000006",
|
|
100
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
97
101
|
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
98
102
|
verUsdc: "0x59aaF835D34b1E3dF2170e4872B785f11E2a964b",
|
|
99
103
|
testUsdc: "0xBC77067f829979812d795d516E523C4033b66409",
|
|
@@ -109,6 +113,7 @@ exports.addresses = {
|
|
|
109
113
|
adaptiveCurveIrm: "0xe675A2161D4a6E2de2eeD70ac98EEBf257FBF0B0",
|
|
110
114
|
publicAllocator: "0xfac15aff53ADd2ff80C2962127C434E8615Df0d3",
|
|
111
115
|
metaMorphoFactory: "0xa9c87daB340631C34BB738625C70499e29ddDC98",
|
|
116
|
+
chainlinkOracleFactory: "0x1ff7895Eb842794c5d07C4c547b6730e61295215",
|
|
112
117
|
wNative: "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",
|
|
113
118
|
},
|
|
114
119
|
[chain_js_1.ChainId.ArbitrumMainnet]: {
|
|
@@ -122,7 +127,9 @@ exports.addresses = {
|
|
|
122
127
|
adaptiveCurveIrm: "0x66F30587FB8D4206918deb78ecA7d5eBbafD06DA",
|
|
123
128
|
publicAllocator: "0x769583Af5e9D03589F159EbEC31Cc2c23E8C355E",
|
|
124
129
|
metaMorphoFactory: "0x878988f5f561081deEa117717052164ea1Ef0c82",
|
|
130
|
+
chainlinkOracleFactory: "0x98Ce5D183DC0c176f54D37162F87e7eD7f2E41b5",
|
|
125
131
|
wNative: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
|
|
132
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
126
133
|
usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
127
134
|
},
|
|
128
135
|
[chain_js_1.ChainId.OptimismMainnet]: {
|
|
@@ -136,7 +143,9 @@ exports.addresses = {
|
|
|
136
143
|
adaptiveCurveIrm: "0x8cD70A8F399428456b29546BC5dBe10ab6a06ef6",
|
|
137
144
|
publicAllocator: "0x0d68a97324E602E02799CD83B42D337207B40658",
|
|
138
145
|
metaMorphoFactory: "0x3Bb6A6A0Bc85b367EFE0A5bAc81c5E52C892839a",
|
|
146
|
+
chainlinkOracleFactory: "0x1ec408D4131686f727F3Fd6245CF85Bc5c9DAD70",
|
|
139
147
|
wNative: "0x4200000000000000000000000000000000000006",
|
|
148
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
140
149
|
usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
|
|
141
150
|
},
|
|
142
151
|
[chain_js_1.ChainId.WorldChainMainnet]: {
|
|
@@ -148,8 +157,8 @@ exports.addresses = {
|
|
|
148
157
|
adaptiveCurveIrm: "0x34E99D604751a72cF8d0CFDf87069292d82De472",
|
|
149
158
|
publicAllocator: "0xef9889B4e443DEd35FA0Bd060f2104Cca94e6A43",
|
|
150
159
|
metaMorphoFactory: "0x4DBB3a642a2146d5413750Cca3647086D9ba5F12",
|
|
160
|
+
chainlinkOracleFactory: "0xd706690BA1Fe26b70c4AD89e60ff62cEB3A2eD02",
|
|
151
161
|
wNative: "0x4200000000000000000000000000000000000006",
|
|
152
|
-
usdc: "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1",
|
|
153
162
|
},
|
|
154
163
|
[chain_js_1.ChainId.FraxtalMainnet]: {
|
|
155
164
|
morpho: "0xa6030627d724bA78a59aCf43Be7550b4C5a0653b",
|
|
@@ -160,8 +169,8 @@ exports.addresses = {
|
|
|
160
169
|
adaptiveCurveIrm: "0xA0D4D77b5D9933073572E19C172BFE866312673b",
|
|
161
170
|
publicAllocator: "0x37a888192165fC39884f87c64E2476BfD2C09675",
|
|
162
171
|
metaMorphoFactory: "0x27D4Af0AC9E7FDfA6D0853236f249CC27AE79488",
|
|
172
|
+
chainlinkOracleFactory: "0x39d8622C607A691D7705E8842fbB12E3c38dCD41",
|
|
163
173
|
wNative: "0xfc00000000000000000000000000000000000006",
|
|
164
|
-
usdc: "0xDcc0F2D8F90FDe85b10aC1c8Ab57dc0AE946A543",
|
|
165
174
|
},
|
|
166
175
|
[chain_js_1.ChainId.ScrollMainnet]: {
|
|
167
176
|
morpho: "0x2d012EdbAdc37eDc2BC62791B666f9193FDF5a55",
|
|
@@ -172,7 +181,9 @@ exports.addresses = {
|
|
|
172
181
|
adaptiveCurveIrm: "0xa5EA7500A27C0079961D93366A6e93aafF18CB90",
|
|
173
182
|
publicAllocator: "0x8a7f671E45E51dE245649Cf916cA0256FB8a9927",
|
|
174
183
|
metaMorphoFactory: "0x56b65742ade55015e6480959808229Ad6dbc9295",
|
|
184
|
+
chainlinkOracleFactory: "0xb5961902E60b188b1c665B7b72Ef616656A9e24E",
|
|
175
185
|
wNative: "0x5300000000000000000000000000000000000004",
|
|
186
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
176
187
|
usdc: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
|
|
177
188
|
},
|
|
178
189
|
[chain_js_1.ChainId.InkMainnet]: {
|
|
@@ -184,13 +195,84 @@ exports.addresses = {
|
|
|
184
195
|
adaptiveCurveIrm: "0x9515407b1512F53388ffE699524100e7270Ee57B",
|
|
185
196
|
publicAllocator: "0x85416891752a6B81106c1C2999AE1AF5d8Cd3357",
|
|
186
197
|
metaMorphoFactory: "0xd3f39505d0c48AFED3549D625982FdC38Ea9904b",
|
|
198
|
+
chainlinkOracleFactory: "0x3FFFE273ee348b9E1ef89533025C7f165B17B439",
|
|
187
199
|
wNative: "0x4200000000000000000000000000000000000006",
|
|
200
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
188
201
|
usdc: "0xF1815bd50389c46847f0Bda824eC8da914045D14",
|
|
189
202
|
},
|
|
203
|
+
[chain_js_1.ChainId.Unichain]: {
|
|
204
|
+
morpho: "0x8f5ae9CddB9f68de460C77730b018Ae7E04a140A",
|
|
205
|
+
bundler3: {
|
|
206
|
+
bundler3: "0x7DD85759182495AF7F6757DA75036d24A9B58bc3",
|
|
207
|
+
generalAdapter1: "0xC11329d19C2275c9E759867e879ECFcEeD7e30A0",
|
|
208
|
+
},
|
|
209
|
+
adaptiveCurveIrm: "0x9a6061d51743B31D2c3Be75D83781Fa423f53F0E",
|
|
210
|
+
publicAllocator: "0xB0c9a107fA17c779B3378210A7a593e88938C7C9",
|
|
211
|
+
metaMorphoFactory: "0xe9EdE3929F43a7062a007C3e8652e4ACa610Bdc0",
|
|
212
|
+
chainlinkOracleFactory: "0x43269546e1D586a1f7200a0AC07e26f9631f7539",
|
|
213
|
+
wNative: "0x4200000000000000000000000000000000000006",
|
|
214
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
215
|
+
usdc: "0x078D782b760474a361dDA0AF3839290b0EF57AD6",
|
|
216
|
+
},
|
|
217
|
+
[chain_js_1.ChainId.SonicMainnet]: {
|
|
218
|
+
morpho: "0xd6c916eB7542D0Ad3f18AEd0FCBD50C582cfa95f",
|
|
219
|
+
bundler3: {
|
|
220
|
+
bundler3: "0xB06F1Ad8c908b958E596c42973f67F2f1d9a9afF",
|
|
221
|
+
generalAdapter1: "0x31D5aee8D75EEab548cfA0d11C4f9843a5201eaf",
|
|
222
|
+
},
|
|
223
|
+
adaptiveCurveIrm: "0xDEfCf242226425f93d8DD0e314735C28517C473F",
|
|
224
|
+
publicAllocator: "0x6Cef2EDC70D87E8f1623f3096efF05d066E59B36",
|
|
225
|
+
metaMorphoFactory: "0x0cE9e3512CB4df8ae7e265e62Fb9258dc14f12e8",
|
|
226
|
+
chainlinkOracleFactory: "0x7DA59Fa482F1F49fADc486d8e47BADc506fEb86d",
|
|
227
|
+
wNative: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38",
|
|
228
|
+
},
|
|
229
|
+
[chain_js_1.ChainId.HemiMainnet]: {
|
|
230
|
+
morpho: "0xa4Ca2c2e25b97DA19879201bA49422bc6f181f42",
|
|
231
|
+
bundler3: {
|
|
232
|
+
bundler3: "0x8eDa6E01a20E3Cd90B3B2AF6F790cB8FADEf3Ea8",
|
|
233
|
+
generalAdapter1: "0x9623090C3943ad63F7d794378273610Dd0deeFD4",
|
|
234
|
+
},
|
|
235
|
+
adaptiveCurveIrm: "0xdEbdEa31624552DF904A065221cD14088ABDeD70",
|
|
236
|
+
publicAllocator: "0x4107Ea1746909028d6212B315dE5fE9538F9eb39",
|
|
237
|
+
metaMorphoFactory: "0x8e52179BeB18E882040b01632440d8Ca0f01da82",
|
|
238
|
+
chainlinkOracleFactory: "0xB3cb32E6185446a6Bc7A047E4FfA138fA939e133",
|
|
239
|
+
wNative: "0x4200000000000000000000000000000000000006",
|
|
240
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
241
|
+
usdc: "0xad11a8BEb98bbf61dbb1aa0F6d6F2ECD87b35afA",
|
|
242
|
+
},
|
|
243
|
+
[chain_js_1.ChainId.ModeMainnet]: {
|
|
244
|
+
morpho: "0xd85cE6BD68487E0AaFb0858FDE1Cd18c76840564",
|
|
245
|
+
bundler3: {
|
|
246
|
+
bundler3: "0xFEA0edFa081C8D5960Ec9Bf6684981dB1834305d",
|
|
247
|
+
generalAdapter1: "0xF53925b95Cc409447066cd5c1A7756084b2Ee0a4",
|
|
248
|
+
},
|
|
249
|
+
adaptiveCurveIrm: "0xE3d46Ae190Cb39ccA3655E966DcEF96b4eAe1d1c",
|
|
250
|
+
publicAllocator: "0xEE868Bf3359DA30c10ea472EAEBFC0a06E8F0120",
|
|
251
|
+
metaMorphoFactory: "0xae5b0884bfff430493D6C844B9fd052Af7d79278",
|
|
252
|
+
chainlinkOracleFactory: "0xf9380f7898423Bd7FDe3C9fDD1b2671A2471f39D",
|
|
253
|
+
wNative: "0x4200000000000000000000000000000000000006",
|
|
254
|
+
},
|
|
255
|
+
[chain_js_1.ChainId.CornMainnet]: {
|
|
256
|
+
morpho: "0xc2B1E031540e3F3271C5F3819F0cC7479a8DdD90",
|
|
257
|
+
bundler3: {
|
|
258
|
+
bundler3: "0x086889F9bdE8349512dD77088A7114E6C1c42Af7",
|
|
259
|
+
generalAdapter1: "0x464a402244bCDdc0c2091D5193E8ffdb2be54Ca9",
|
|
260
|
+
},
|
|
261
|
+
adaptiveCurveIrm: "0x58a42117d753a0e69694545DfA19d64c2fB759fB",
|
|
262
|
+
publicAllocator: "0xDFde06e2B2A2D718eE5560b73dA4F830E56A2f10",
|
|
263
|
+
metaMorphoFactory: "0xe430821595602eA5DD0cD350f86987437c7362fA",
|
|
264
|
+
chainlinkOracleFactory: "0x16278156D366fC91536b6b81482ffaC47EEa06D6",
|
|
265
|
+
wNative: "0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2",
|
|
266
|
+
// Must implement USDC permit version 2 (otherwise breaks permit signatures).
|
|
267
|
+
usdc: "0xDF0B24095e15044538866576754F3C964e902Ee6",
|
|
268
|
+
},
|
|
190
269
|
};
|
|
191
|
-
exports.
|
|
270
|
+
exports.addresses = exports.addressesRegistry;
|
|
192
271
|
const getChainAddresses = (chainId) => {
|
|
193
|
-
|
|
272
|
+
const chainAddresses = exports.addresses[chainId];
|
|
273
|
+
if (chainAddresses == null)
|
|
274
|
+
throw new errors_js_1.UnsupportedChainIdError(chainId);
|
|
275
|
+
return chainAddresses;
|
|
194
276
|
};
|
|
195
277
|
exports.getChainAddresses = getChainAddresses;
|
|
196
278
|
/**
|
|
@@ -199,22 +281,22 @@ exports.getChainAddresses = getChainAddresses;
|
|
|
199
281
|
*/
|
|
200
282
|
exports.unwrappedTokensMapping = {
|
|
201
283
|
[chain_js_1.ChainId.EthMainnet]: {
|
|
202
|
-
[exports.
|
|
203
|
-
[exports.
|
|
204
|
-
[exports.
|
|
205
|
-
[exports.
|
|
206
|
-
[exports.
|
|
207
|
-
[exports.
|
|
208
|
-
[exports.
|
|
209
|
-
[exports.
|
|
210
|
-
[exports.
|
|
211
|
-
[exports.
|
|
212
|
-
[exports.
|
|
284
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].wbIB01]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].bIB01,
|
|
285
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].wbC3M]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].bC3M,
|
|
286
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].wNative]: exports.NATIVE_ADDRESS,
|
|
287
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].stEth]: exports.NATIVE_ADDRESS,
|
|
288
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].wstEth]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].stEth,
|
|
289
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"]]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].crvUSDTWBTCWETH,
|
|
290
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"]]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].crvUSDCWBTCWETH,
|
|
291
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"]]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].crvCRVUSDTBTCWSTETH,
|
|
292
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxTryLSD-morpho"]]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].tryLSD,
|
|
293
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"]]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].crvUSDETHCRV,
|
|
294
|
+
[exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvx2BTC-f-morpho"]]: exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["2BTC-f"],
|
|
213
295
|
},
|
|
214
296
|
[chain_js_1.ChainId.BaseMainnet]: {
|
|
215
|
-
[exports.
|
|
216
|
-
[exports.
|
|
217
|
-
[exports.
|
|
297
|
+
[exports.addressesRegistry[chain_js_1.ChainId.BaseMainnet].wNative]: exports.NATIVE_ADDRESS,
|
|
298
|
+
[exports.addressesRegistry[chain_js_1.ChainId.BaseMainnet].verUsdc]: exports.addressesRegistry[chain_js_1.ChainId.BaseMainnet].usdc,
|
|
299
|
+
[exports.addressesRegistry[chain_js_1.ChainId.BaseMainnet].testUsdc]: exports.addressesRegistry[chain_js_1.ChainId.BaseMainnet].usdc,
|
|
218
300
|
},
|
|
219
301
|
[chain_js_1.ChainId.PolygonMainnet]: {},
|
|
220
302
|
[chain_js_1.ChainId.ArbitrumMainnet]: {},
|
|
@@ -223,6 +305,11 @@ exports.unwrappedTokensMapping = {
|
|
|
223
305
|
[chain_js_1.ChainId.FraxtalMainnet]: {},
|
|
224
306
|
[chain_js_1.ChainId.ScrollMainnet]: {},
|
|
225
307
|
[chain_js_1.ChainId.InkMainnet]: {},
|
|
308
|
+
[chain_js_1.ChainId.Unichain]: {},
|
|
309
|
+
[chain_js_1.ChainId.SonicMainnet]: {},
|
|
310
|
+
[chain_js_1.ChainId.HemiMainnet]: {},
|
|
311
|
+
[chain_js_1.ChainId.ModeMainnet]: {},
|
|
312
|
+
[chain_js_1.ChainId.CornMainnet]: {},
|
|
226
313
|
};
|
|
227
314
|
function getUnwrappedToken(wrappedToken, chainId) {
|
|
228
315
|
return exports.unwrappedTokensMapping[chainId][wrappedToken];
|
|
@@ -230,31 +317,15 @@ function getUnwrappedToken(wrappedToken, chainId) {
|
|
|
230
317
|
/**
|
|
231
318
|
* The registry of all known ERC20Wrapper tokens.
|
|
232
319
|
*/
|
|
233
|
-
exports.erc20WrapperTokens = {
|
|
234
|
-
[chain_js_1.ChainId.EthMainnet]: new Set(),
|
|
235
|
-
[chain_js_1.ChainId.BaseMainnet]: new Set(),
|
|
236
|
-
[chain_js_1.ChainId.PolygonMainnet]: new Set(),
|
|
237
|
-
[chain_js_1.ChainId.ArbitrumMainnet]: new Set(),
|
|
238
|
-
[chain_js_1.ChainId.OptimismMainnet]: new Set(),
|
|
239
|
-
[chain_js_1.ChainId.WorldChainMainnet]: new Set(),
|
|
240
|
-
[chain_js_1.ChainId.FraxtalMainnet]: new Set(),
|
|
241
|
-
[chain_js_1.ChainId.ScrollMainnet]: new Set(),
|
|
242
|
-
[chain_js_1.ChainId.InkMainnet]: new Set(),
|
|
243
|
-
};
|
|
320
|
+
exports.erc20WrapperTokens = {};
|
|
244
321
|
/**
|
|
245
322
|
* The registry of all known PermissionedERC20Wrapper with a `hasPermission` getter.
|
|
246
323
|
* All permissioned wrapper tokens are considered ERC20Wrapper and automatically added to the erc20WrapperTokens registry.
|
|
247
324
|
*/
|
|
248
325
|
exports.permissionedWrapperTokens = {
|
|
249
|
-
[chain_js_1.ChainId.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
[chain_js_1.ChainId.ArbitrumMainnet]: new Set(),
|
|
253
|
-
[chain_js_1.ChainId.OptimismMainnet]: new Set(),
|
|
254
|
-
[chain_js_1.ChainId.WorldChainMainnet]: new Set(),
|
|
255
|
-
[chain_js_1.ChainId.FraxtalMainnet]: new Set(),
|
|
256
|
-
[chain_js_1.ChainId.ScrollMainnet]: new Set(),
|
|
257
|
-
[chain_js_1.ChainId.InkMainnet]: new Set(),
|
|
326
|
+
[chain_js_1.ChainId.BaseMainnet]: new Set([
|
|
327
|
+
exports.addressesRegistry[chain_js_1.ChainId.BaseMainnet].testUsdc,
|
|
328
|
+
]),
|
|
258
329
|
};
|
|
259
330
|
/**
|
|
260
331
|
* The registry of all known permissioned wrapped Backed tokens.
|
|
@@ -262,60 +333,40 @@ exports.permissionedWrapperTokens = {
|
|
|
262
333
|
*/
|
|
263
334
|
exports.permissionedBackedTokens = {
|
|
264
335
|
[chain_js_1.ChainId.EthMainnet]: new Set([
|
|
265
|
-
exports.
|
|
266
|
-
exports.
|
|
336
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].wbIB01,
|
|
337
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet].wbC3M,
|
|
267
338
|
]),
|
|
268
|
-
[chain_js_1.ChainId.BaseMainnet]: new Set(),
|
|
269
|
-
[chain_js_1.ChainId.PolygonMainnet]: new Set(),
|
|
270
|
-
[chain_js_1.ChainId.ArbitrumMainnet]: new Set(),
|
|
271
|
-
[chain_js_1.ChainId.OptimismMainnet]: new Set(),
|
|
272
|
-
[chain_js_1.ChainId.WorldChainMainnet]: new Set(),
|
|
273
|
-
[chain_js_1.ChainId.FraxtalMainnet]: new Set(),
|
|
274
|
-
[chain_js_1.ChainId.ScrollMainnet]: new Set(),
|
|
275
|
-
[chain_js_1.ChainId.InkMainnet]: new Set(),
|
|
276
339
|
};
|
|
277
340
|
/**
|
|
278
341
|
* The registry of all known permissioned wrapped tokens that require a Coinbase attestation.
|
|
279
342
|
* All permissioned Coinbase tokens are considered PermissionedERC20Wrapper and automatically added to the permissionedWrapperTokens registry.
|
|
280
343
|
*/
|
|
281
344
|
exports.permissionedCoinbaseTokens = {
|
|
282
|
-
[chain_js_1.ChainId.
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
[chain_js_1.ChainId.ArbitrumMainnet]: new Set(),
|
|
286
|
-
[chain_js_1.ChainId.OptimismMainnet]: new Set(),
|
|
287
|
-
[chain_js_1.ChainId.WorldChainMainnet]: new Set(),
|
|
288
|
-
[chain_js_1.ChainId.FraxtalMainnet]: new Set(),
|
|
289
|
-
[chain_js_1.ChainId.ScrollMainnet]: new Set(),
|
|
290
|
-
[chain_js_1.ChainId.InkMainnet]: new Set(),
|
|
345
|
+
[chain_js_1.ChainId.BaseMainnet]: new Set([
|
|
346
|
+
exports.addressesRegistry[chain_js_1.ChainId.BaseMainnet].verUsdc,
|
|
347
|
+
]),
|
|
291
348
|
};
|
|
349
|
+
const getPermissionedCoinbaseTokens = (chainId) => exports.permissionedCoinbaseTokens[chainId] ?? new Set();
|
|
350
|
+
exports.getPermissionedCoinbaseTokens = getPermissionedCoinbaseTokens;
|
|
292
351
|
(0, morpho_ts_1.entries)(exports.permissionedBackedTokens).forEach(([chainId, tokens]) => {
|
|
293
|
-
tokens.forEach((token) => exports.erc20WrapperTokens[chainId].add(token));
|
|
352
|
+
tokens.forEach((token) => (exports.erc20WrapperTokens[chainId] ??= new Set()).add(token));
|
|
294
353
|
});
|
|
295
354
|
(0, morpho_ts_1.entries)(exports.permissionedCoinbaseTokens).forEach(([chainId, tokens]) => {
|
|
296
|
-
tokens.forEach((token) => exports.permissionedWrapperTokens[chainId].add(token));
|
|
355
|
+
tokens.forEach((token) => (exports.permissionedWrapperTokens[chainId] ??= new Set()).add(token));
|
|
297
356
|
});
|
|
298
357
|
(0, morpho_ts_1.entries)(exports.permissionedWrapperTokens).forEach(([chainId, tokens]) => {
|
|
299
|
-
tokens.forEach((token) => exports.erc20WrapperTokens[chainId].add(token));
|
|
358
|
+
tokens.forEach((token) => (exports.erc20WrapperTokens[chainId] ??= new Set()).add(token));
|
|
300
359
|
});
|
|
301
360
|
/** /!\ These tokens can not be listed in `erc20WrapperTokens` because the following specs are different:
|
|
302
361
|
* - calling `depositFor` supplies on blue instead of minting wrapped token to the user
|
|
303
362
|
*/
|
|
304
363
|
exports.convexWrapperTokens = {
|
|
305
364
|
[chain_js_1.ChainId.EthMainnet]: new Set([
|
|
306
|
-
exports.
|
|
307
|
-
exports.
|
|
308
|
-
exports.
|
|
309
|
-
exports.
|
|
310
|
-
exports.
|
|
311
|
-
exports.
|
|
365
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"],
|
|
366
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"],
|
|
367
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"],
|
|
368
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxTryLSD-morpho"],
|
|
369
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"],
|
|
370
|
+
exports.addressesRegistry[chain_js_1.ChainId.EthMainnet]["stkcvx2BTC-f-morpho"],
|
|
312
371
|
]),
|
|
313
|
-
[chain_js_1.ChainId.BaseMainnet]: new Set(),
|
|
314
|
-
[chain_js_1.ChainId.PolygonMainnet]: new Set(),
|
|
315
|
-
[chain_js_1.ChainId.ArbitrumMainnet]: new Set(),
|
|
316
|
-
[chain_js_1.ChainId.OptimismMainnet]: new Set(),
|
|
317
|
-
[chain_js_1.ChainId.WorldChainMainnet]: new Set(),
|
|
318
|
-
[chain_js_1.ChainId.FraxtalMainnet]: new Set(),
|
|
319
|
-
[chain_js_1.ChainId.ScrollMainnet]: new Set(),
|
|
320
|
-
[chain_js_1.ChainId.InkMainnet]: new Set(),
|
|
321
372
|
};
|