@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.
@@ -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 declare const addresses: {
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
- export interface ChainAddresses {
185
- morpho: Address;
186
- permit2?: Address;
187
- /**
188
- * @deprecated All bundles should use Bundler3 instead.
189
- */
190
- bundler?: Address;
191
- aaveV3OptimizerBundler?: Address;
192
- aaveV2Bundler?: Address;
193
- aaveV3Bundler?: Address;
194
- compoundV3Bundler?: Address;
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
- adaptiveCurveIrm: Address;
210
- publicAllocator: Address;
211
- metaMorphoFactory: Address;
212
- wNative: Address;
213
- morphoToken?: Address;
214
- aaveV3Optimizer?: Address;
215
- dai?: Address;
216
- mkr?: Address;
217
- usdc?: Address;
218
- stEth?: Address;
219
- wstEth?: Address;
220
- cEth?: Address;
221
- }
222
- export type AddressLabel = DottedKeys<(typeof addresses)[ChainId]>;
223
- declare const _default: { [n in ChainId]: ChainAddresses; };
224
- export default _default;
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<ChainId, Set<Address>>;
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<ChainId, Set<Address>>;
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<ChainId, Set<Address>>;
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<ChainId, Set<Address>>;
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<ChainId, Set<Address>>;
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.addresses = {
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
- aaveV3Optimizer: "0x33333aea097c193e66081E930c33020272b33333",
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.default = exports.addresses;
270
+ exports.addresses = exports.addressesRegistry;
192
271
  const getChainAddresses = (chainId) => {
193
- return exports.addresses[chain_js_1.ChainUtils.parseSupportedChainId(chainId)];
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.addresses[chain_js_1.ChainId.EthMainnet].wbIB01]: exports.addresses[chain_js_1.ChainId.EthMainnet].bIB01,
203
- [exports.addresses[chain_js_1.ChainId.EthMainnet].wbC3M]: exports.addresses[chain_js_1.ChainId.EthMainnet].bC3M,
204
- [exports.addresses[chain_js_1.ChainId.EthMainnet].wNative]: exports.NATIVE_ADDRESS,
205
- [exports.addresses[chain_js_1.ChainId.EthMainnet].stEth]: exports.NATIVE_ADDRESS,
206
- [exports.addresses[chain_js_1.ChainId.EthMainnet].wstEth]: exports.addresses[chain_js_1.ChainId.EthMainnet].stEth,
207
- [exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"]]: exports.addresses[chain_js_1.ChainId.EthMainnet].crvUSDTWBTCWETH,
208
- [exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"]]: exports.addresses[chain_js_1.ChainId.EthMainnet].crvUSDCWBTCWETH,
209
- [exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"]]: exports.addresses[chain_js_1.ChainId.EthMainnet].crvCRVUSDTBTCWSTETH,
210
- [exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxTryLSD-morpho"]]: exports.addresses[chain_js_1.ChainId.EthMainnet].tryLSD,
211
- [exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"]]: exports.addresses[chain_js_1.ChainId.EthMainnet].crvUSDETHCRV,
212
- [exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvx2BTC-f-morpho"]]: exports.addresses[chain_js_1.ChainId.EthMainnet]["2BTC-f"],
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.addresses[chain_js_1.ChainId.BaseMainnet].wNative]: exports.NATIVE_ADDRESS,
216
- [exports.addresses[chain_js_1.ChainId.BaseMainnet].verUsdc]: exports.addresses[chain_js_1.ChainId.BaseMainnet].usdc,
217
- [exports.addresses[chain_js_1.ChainId.BaseMainnet].testUsdc]: exports.addresses[chain_js_1.ChainId.BaseMainnet].usdc,
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.EthMainnet]: new Set(),
250
- [chain_js_1.ChainId.BaseMainnet]: new Set([exports.addresses[chain_js_1.ChainId.BaseMainnet].testUsdc]),
251
- [chain_js_1.ChainId.PolygonMainnet]: new Set(),
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.addresses[chain_js_1.ChainId.EthMainnet].wbIB01,
266
- exports.addresses[chain_js_1.ChainId.EthMainnet].wbC3M,
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.EthMainnet]: new Set(),
283
- [chain_js_1.ChainId.BaseMainnet]: new Set([exports.addresses[chain_js_1.ChainId.BaseMainnet].verUsdc]),
284
- [chain_js_1.ChainId.PolygonMainnet]: new Set(),
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.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"],
307
- exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"],
308
- exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"],
309
- exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxTryLSD-morpho"],
310
- exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"],
311
- exports.addresses[chain_js_1.ChainId.EthMainnet]["stkcvx2BTC-f-morpho"],
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
  };