@morpho-org/blue-sdk 6.2.0 → 6.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1685 +1 @@
1
- import { deepFreeze, entries, } from "@morpho-org/morpho-ts";
2
- import isPlainObject from "lodash.isplainobject";
3
- import mergeWith from "lodash.mergewith";
4
- import { ChainId } from "./chain.js";
5
- import { UnsupportedChainIdError } from "./errors.js";
6
- /** Address used to replicate an erc20-behaviour for native token.
7
- *
8
- * NB: data might differ from expected onchain native token data
9
- */
10
- export const NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
11
- const _addressesRegistry = {
12
- [ChainId.EthMainnet]: {
13
- morpho: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",
14
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
15
- bundler3: {
16
- bundler3: "0x6566194141eefa99Af43Bb5Aa71460Ca2Dc90245",
17
- generalAdapter1: "0x4A6c312ec70E8747a587EE860a0353cd42Be0aE0",
18
- paraswapAdapter: "0x03b5259Bd204BfD4A616E5B79b0B786d90c6C38f",
19
- erc20WrapperAdapter: "0xf83D17dFE160597b19e4FdD8ea61A23e9a87F962",
20
- compoundV2MigrationAdapter: "0x9B89c07f480Df1945279031b5fC6fF241b8f1101",
21
- compoundV3MigrationAdapter: "0xdBa5bdE29eA030Bfa6A608592dFcA1D02CB26773",
22
- aaveV2MigrationAdapter: "0x40288815C399709dFC0875A384B637fFe387961B",
23
- aaveV3CoreMigrationAdapter: "0xb09e40EbE31b738fbf20289270a397118707D475",
24
- aaveV3PrimeMigrationAdapter: "0x2CC8d502a65824B4cF9A58DB03490bA024BDB806",
25
- aaveV3EtherFiMigrationAdapter: "0x4011dc6581fA05F9B0c7A12AdCd676e2b1a59ca3",
26
- aaveV3OptimizerMigrationAdapter: "0x9e2ea2d5785598a163D569D795f286F5C55ad972",
27
- },
28
- adaptiveCurveIrm: "0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC",
29
- publicAllocator: "0xfd32fA2ca22c76dD6E550706Ad913FC6CE91c75D",
30
- metaMorphoFactory: "0x1897A8997241C1cD4bD0698647e4EB7213535c24",
31
- vaultV2Factory: "0xA1D94F746dEfa1928926b84fB2596c06926C0405",
32
- morphoMarketV1AdapterFactory: "0xb049465969ac6355127cDf9E88deE63d25204d5D",
33
- morphoMarketV1AdapterV2Factory: "0x32BB1c0D48D8b1B3363e86eeB9A0300BAd61ccc1",
34
- morphoVaultV1AdapterFactory: "0xD1B8E2dee25c2b89DCD2f98448a7ce87d6F63394",
35
- registryList: "0x3696c5eAe4a7Ffd04Ea163564571E9CD8Ed9364e",
36
- chainlinkOracleFactory: "0x3A7bB36Ee3f3eE32A60e9f2b33c1e5f2E83ad766",
37
- preLiquidationFactory: "0x6FF33615e792E35ed1026ea7cACCf42D9BF83476",
38
- wNative: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
39
- morphoToken: "0x9994E35Db50125E0DF82e4c2dde62496CE330999",
40
- // Must implement DAI specific permit (otherwise breaks permit signatures).
41
- dai: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
42
- sDai: "0x83F20F44975D03b1b09e64809B757c47f942BEeA",
43
- mkr: "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2",
44
- stEth: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
45
- wstEth: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
46
- osEth: "0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38",
47
- bIB01: "0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5",
48
- // If we want to change the wbIB01 address, we have to check if the new one has simple permit or not.
49
- // Currently, wbIB01 is considered to have simple permit.
50
- wbIB01: "0xcA2A7068e551d5C4482eb34880b194E4b945712F",
51
- bC3M: "0x2F123cF3F37CE3328CC9B5b8415f9EC5109b45e7",
52
- // If we want to change the wbC3M address, we have to check if the new one has simple permit or not.
53
- // Currently, wbC3M is considered to have simple permit.
54
- wbC3M: "0x95D7337d43340E2721960Dc402D9b9117f0d81a2",
55
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
56
- usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
57
- // Must implement EURC permit version 2 (otherwise breaks permit signatures).
58
- eurc: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",
59
- usdt: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
60
- crvUsd: "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E",
61
- "stkcvxcrvUSDTWBTCWETH-morpho": "0xb0Ce26C88e4e7DCa51968b6047f44646f5064278",
62
- crvUSDTWBTCWETH: "0xf5f5B97624542D72A9E06f04804Bf81baA15e2B4",
63
- "stkcvxcrvUSDCWBTCWETH-morpho": "0x0ea1a65A2c255f24Ee8D81eA6AaC54Decd9d269e",
64
- crvUSDCWBTCWETH: "0x7F86Bf177Dd4F3494b841a37e810A34dD56c829B",
65
- "stkcvxcrvCRVUSDTBTCWSTETH-morpho": "0x3ce8Ec9f3d89aD0A2DdbCC3FDB8991BD241Fc82E",
66
- crvCRVUSDTBTCWSTETH: "0x2889302a794dA87fBF1D6Db415C1492194663D13",
67
- "stkcvxTryLSD-morpho": "0x6BA072F0d22806F2C52e9792AF47f2D59103BEBE",
68
- tryLSD: "0x2570f1bD5D2735314FC102eb12Fc1aFe9e6E7193",
69
- "stkcvxcrvUSDETHCRV-morpho": "0xAc904BAfBb5FB04Deb2b6198FdCEedE75a78Ce5a",
70
- crvUSDETHCRV: "0x4eBdF703948ddCEA3B11f675B4D1Fba9d2414A14",
71
- "stkcvx2BTC-f-morpho": "0x385E12cf4040543Bc8C18e05C1298Be5B04f3f5e",
72
- "2BTC-f": "0xB7ECB2AA52AA64a717180E030241bC75Cd946726",
73
- },
74
- [ChainId.BaseMainnet]: {
75
- morpho: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",
76
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
77
- bundler3: {
78
- bundler3: "0x6BFd8137e702540E7A42B74178A4a49Ba43920C4",
79
- generalAdapter1: "0xb98c948CFA24072e58935BC004a8A7b376AE746A",
80
- paraswapAdapter: "0x6abE8ABd0275E5564ed1336F0243A52C32562F71",
81
- erc20WrapperAdapter: "0xdeEf55F0A7366cC3Baf5E04313269389Fe17E9AE",
82
- compoundV3MigrationAdapter: "0x85D4812Ef92c040d4270eD8547b6835e41FbbB70",
83
- aaveV3CoreMigrationAdapter: "0xb27Aa2a964eAd5ed661D86974b37e4fB995b36f5",
84
- },
85
- adaptiveCurveIrm: "0x46415998764C29aB2a25CbeA6254146D50D22687",
86
- publicAllocator: "0xA090dD1a701408Df1d4d0B85b716c87565f90467",
87
- metaMorphoFactory: "0xFf62A7c278C62eD665133147129245053Bbf5918",
88
- vaultV2Factory: "0x4501125508079A99ebBebCE205DeC9593C2b5857",
89
- morphoMarketV1AdapterFactory: "0x133baC94306B99f6dAD85c381a5be851d8DD717c",
90
- morphoMarketV1AdapterV2Factory: "0x9a1B378C43BA535cDB89934230F0D3890c51C0EB",
91
- morphoVaultV1AdapterFactory: "0xF42D9c36b34c9c2CF3Bc30eD2a52a90eEB604642",
92
- registryList: "0x5C2531Cbd2cf112Cf687da3Cd536708aDd7DB10a",
93
- chainlinkOracleFactory: "0x2DC205F24BCb6B311E5cdf0745B0741648Aebd3d",
94
- preLiquidationFactory: "0x8cd16b62E170Ee0bA83D80e1F80E6085367e2aef",
95
- wNative: "0x4200000000000000000000000000000000000006",
96
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
97
- usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
98
- // Must implement EURC permit version 2 (otherwise breaks permit signatures).
99
- eurc: "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
100
- verUsdc: "0x59aaF835D34b1E3dF2170e4872B785f11E2a964b",
101
- testUsdc: "0xBC77067f829979812d795d516E523C4033b66409",
102
- },
103
- [ChainId.PolygonMainnet]: {
104
- morpho: "0x1bF0c2541F820E775182832f06c0B7Fc27A25f67",
105
- bundler3: {
106
- bundler3: "0x2d9C3A9E67c966C711208cc78b34fB9E9f8db589",
107
- generalAdapter1: "0xB261B51938A9767406ef83bbFbaAFE16691b7047",
108
- paraswapAdapter: "0x5F2617F12D1fDd1e43e72Cb80C92dFcE8124Db8d",
109
- compoundV3MigrationAdapter: "0xB34D2f54139bA12defC315C0822aDf9A5eB9A9b7",
110
- aaveV2MigrationAdapter: "0x43980Ae597f12Ff64690506b2AEEFFb4D8BeAF2a",
111
- aaveV3CoreMigrationAdapter: "0xEcB1662a1dff5C20650CF98c3334d2fddcD50742",
112
- },
113
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
114
- adaptiveCurveIrm: "0xe675A2161D4a6E2de2eeD70ac98EEBf257FBF0B0",
115
- publicAllocator: "0xfac15aff53ADd2ff80C2962127C434E8615Df0d3",
116
- metaMorphoFactory: "0xa9c87daB340631C34BB738625C70499e29ddDC98",
117
- vaultV2Factory: "0xC11a53eE9B1eCc7a068D8e40F8F17926584F97Cf",
118
- morphoMarketV1AdapterFactory: "0xD1A0C86F28ecD1657Ad06415c2B230cC89D9b6dd",
119
- morphoMarketV1AdapterV2Factory: "0xc0006f52B38625C283dd2f972dD9B779A5851Dd0",
120
- morphoVaultV1AdapterFactory: "0xEb174FEA51Da241eB3B516959B216e013de2888a",
121
- registryList: "0xb70a43821d2707fA9d0EDd9511CC499F468Ba564",
122
- chainlinkOracleFactory: "0x1ff7895Eb842794c5d07C4c547b6730e61295215",
123
- preLiquidationFactory: "0xeDadDe37D76c72b98725614d0b41C20Fe612d304",
124
- wNative: "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",
125
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
126
- usdc: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
127
- },
128
- [ChainId.ArbitrumMainnet]: {
129
- morpho: "0x6c247b1F6182318877311737BaC0844bAa518F5e",
130
- bundler3: {
131
- bundler3: "0x1FA4431bC113D308beE1d46B0e98Cb805FB48C13",
132
- generalAdapter1: "0x9954aFB60BB5A222714c478ac86990F221788B88",
133
- paraswapAdapter: "0xAA5c30C1482c189cA0d56057D3ac4dD7Af1e4726",
134
- aaveV3CoreMigrationAdapter: "0x1923670d4F4eB7435d865E7477d28FEAFfA40C93",
135
- compoundV3MigrationAdapter: "0x86Ca77a4a37A9CDBe9bBf4975F6d69531B96444b",
136
- },
137
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
138
- adaptiveCurveIrm: "0x66F30587FB8D4206918deb78ecA7d5eBbafD06DA",
139
- publicAllocator: "0x769583Af5e9D03589F159EbEC31Cc2c23E8C355E",
140
- metaMorphoFactory: "0x878988f5f561081deEa117717052164ea1Ef0c82",
141
- vaultV2Factory: "0x6b46fa3cc9EBF8aB230aBAc664E37F2966Bf7971",
142
- morphoMarketV1AdapterFactory: "0x96456Bf888D4de607Bf3ca0b3C8e4DF9b0d0Ad47",
143
- morphoMarketV1AdapterV2Factory: "0xeF84b1ecEbe43283ec5AF95D7a5c4D7dE0a9859b",
144
- morphoVaultV1AdapterFactory: "0xD8Fc8a85779551e78B516da9f74061cb3b086793",
145
- registryList: "0xc00eb3c7aD1aE986A7f05F5A9d71aCa39c763C65",
146
- chainlinkOracleFactory: "0x98Ce5D183DC0c176f54D37162F87e7eD7f2E41b5",
147
- preLiquidationFactory: "0x635c31B5DF1F7EFbCbC07E302335Ef4230758e3d",
148
- wNative: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
149
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
150
- usdc: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
151
- },
152
- [ChainId.OptimismMainnet]: {
153
- morpho: "0xce95AfbB8EA029495c66020883F87aaE8864AF92",
154
- bundler3: {
155
- bundler3: "0xFBCd3C258feB131D8E038F2A3a670A7bE0507C05",
156
- generalAdapter1: "0x79481C87f24A3C4332442A2E9faaf675e5F141f0",
157
- paraswapAdapter: "0x31F539f4Ed14fA1fd18781e93f6739249692aDC5",
158
- },
159
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
160
- adaptiveCurveIrm: "0x8cD70A8F399428456b29546BC5dBe10ab6a06ef6",
161
- publicAllocator: "0x0d68a97324E602E02799CD83B42D337207B40658",
162
- metaMorphoFactory: "0x3Bb6A6A0Bc85b367EFE0A5bAc81c5E52C892839a",
163
- vaultV2Factory: "0x6128b680b277Bf4Df80DFE9D8c55A498660870ef",
164
- morphoMarketV1AdapterFactory: "0x65956d5Ba4974983ecCe111612FC0A0c22650A11",
165
- morphoMarketV1AdapterV2Factory: "0x71B299bDb52b6396429cd1E11c418324502CB434",
166
- morphoVaultV1AdapterFactory: "0xEe9F7C64dD827ED7b5CAA2272936366FAca00CF3",
167
- registryList: "0xD1346be260cd22Eab9E6163010b0D5CbfAAAD32b",
168
- chainlinkOracleFactory: "0x1ec408D4131686f727F3Fd6245CF85Bc5c9DAD70",
169
- preLiquidationFactory: "0x3d05C01EE8e97361b9E19D172128255eaE5F98B9",
170
- wNative: "0x4200000000000000000000000000000000000006",
171
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
172
- usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
173
- },
174
- [ChainId.WorldChainMainnet]: {
175
- morpho: "0xE741BC7c34758b4caE05062794E8Ae24978AF432",
176
- bundler3: {
177
- bundler3: "0x3D07BF2FFb23248034bF704F3a4786F1ffE2a448",
178
- generalAdapter1: "0x30fa9A3cF56931ACEea42E28D35519a97D90aA67",
179
- },
180
- adaptiveCurveIrm: "0x34E99D604751a72cF8d0CFDf87069292d82De472",
181
- publicAllocator: "0xef9889B4e443DEd35FA0Bd060f2104Cca94e6A43",
182
- metaMorphoFactory: "0x4DBB3a642a2146d5413750Cca3647086D9ba5F12",
183
- vaultV2Factory: "0x6846EA318B6B987Ee6b28eBFd87c3409F1d13108",
184
- morphoMarketV1AdapterFactory: "0xAf93F2d8508053432659d509b0210fdF1472493D",
185
- morphoMarketV1AdapterV2Factory: "0xEd0b06fcdDB6dD0985e2de9D22ad034d313b7dBd",
186
- morphoVaultV1AdapterFactory: "0xbF7DEa3756668C7E396C655D646C039826ba8416",
187
- registryList: "0x06A47994B4890dcA28C076969cedE1151d86EFCF",
188
- chainlinkOracleFactory: "0xd706690BA1Fe26b70c4AD89e60ff62cEB3A2eD02",
189
- preLiquidationFactory: "0xe3cE2051a24e58DBFC0eFBe4c2d9e89c5eAe4695",
190
- wNative: "0x4200000000000000000000000000000000000006",
191
- // Must implement EURC permit version 2 (otherwise breaks permit signatures).
192
- eurc: "0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B",
193
- },
194
- [ChainId.FraxtalMainnet]: {
195
- morpho: "0xa6030627d724bA78a59aCf43Be7550b4C5a0653b",
196
- bundler3: {
197
- bundler3: "0xA7a414823Ef0F8CFb2c4f67f2F445DA940641d91",
198
- generalAdapter1: "0x228dDF333DDf6D1895dA1dE8a846EDD27F1284eD",
199
- },
200
- adaptiveCurveIrm: "0xA0D4D77b5D9933073572E19C172BFE866312673b",
201
- publicAllocator: "0x37a888192165fC39884f87c64E2476BfD2C09675",
202
- metaMorphoFactory: "0x27D4Af0AC9E7FDfA6D0853236f249CC27AE79488",
203
- chainlinkOracleFactory: "0x39d8622C607A691D7705E8842fbB12E3c38dCD41",
204
- preLiquidationFactory: "0x373ccddcd3F09D2e1430B3F2b290B9bF56Ae7336",
205
- wNative: "0xFC00000000000000000000000000000000000006",
206
- },
207
- [ChainId.ScrollMainnet]: {
208
- morpho: "0x2d012EdbAdc37eDc2BC62791B666f9193FDF5a55",
209
- bundler3: {
210
- bundler3: "0x60F9159d4dCd724e743212416FD57d8aC0B60768",
211
- generalAdapter1: "0xD2780fae0869cDc06EE202152304A39653361525",
212
- },
213
- adaptiveCurveIrm: "0xa5EA7500A27C0079961D93366A6e93aafF18CB90",
214
- publicAllocator: "0x8a7f671E45E51dE245649Cf916cA0256FB8a9927",
215
- metaMorphoFactory: "0x56b65742ade55015e6480959808229Ad6dbc9295",
216
- chainlinkOracleFactory: "0xb5961902E60b188b1c665B7b72Ef616656A9e24E",
217
- preLiquidationFactory: "0xeD960178e4aDA0296786Fa79D84e8FDF7bd44B25",
218
- wNative: "0x5300000000000000000000000000000000000004",
219
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
220
- usdc: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
221
- },
222
- [ChainId.InkMainnet]: {
223
- morpho: "0x857f3EefE8cbda3Bc49367C996cd664A880d3042",
224
- bundler3: {
225
- bundler3: "0x7db0F1E2bf1f47ec82220090F388d75D8B9BB6BC",
226
- generalAdapter1: "0xB8B2aDdCDe1cdC94AaE18a0F8A19df03D8683610",
227
- },
228
- adaptiveCurveIrm: "0x9515407b1512F53388ffE699524100e7270Ee57B",
229
- publicAllocator: "0x85416891752a6B81106c1C2999AE1AF5d8Cd3357",
230
- metaMorphoFactory: "0xd3f39505d0c48AFED3549D625982FdC38Ea9904b",
231
- chainlinkOracleFactory: "0x3FFFE273ee348b9E1ef89533025C7f165B17B439",
232
- preLiquidationFactory: "0x30607fEa77168d2c0401B6f60F0B40E32F9339E3",
233
- wNative: "0x4200000000000000000000000000000000000006",
234
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
235
- usdc: "0xF1815bd50389c46847f0Bda824eC8da914045D14",
236
- },
237
- [ChainId.Unichain]: {
238
- morpho: "0x8f5ae9CddB9f68de460C77730b018Ae7E04a140A",
239
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
240
- bundler3: {
241
- bundler3: "0x7DD85759182495AF7F6757DA75036d24A9B58bc3",
242
- generalAdapter1: "0xC11329d19C2275c9E759867e879ECFcEeD7e30A0",
243
- paraswapAdapter: "0xAa870Da2a9F611A3A53d0D2AEe5664B3700a59c9",
244
- compoundV3MigrationAdapter: "0x617f8d7885CCE689115Af04576F7cB6F2534fA9a",
245
- },
246
- adaptiveCurveIrm: "0x9a6061d51743B31D2c3Be75D83781Fa423f53F0E",
247
- publicAllocator: "0xB0c9a107fA17c779B3378210A7a593e88938C7C9",
248
- metaMorphoFactory: "0xe9EdE3929F43a7062a007C3e8652e4ACa610Bdc0",
249
- vaultV2Factory: "0xC9b34c108014B44e5a189A830e7e04c56704a0c9",
250
- morphoMarketV1AdapterFactory: "0x117b92Ab1C025B175ED38a0CDe5A067a745224a0",
251
- morphoMarketV1AdapterV2Factory: "0x9a13bdA35F98811fbAcf097966b2C838f3F9c58C",
252
- morphoVaultV1AdapterFactory: "0xf1Ab9e885C0faa0cbCEd407498BBA895537aD754",
253
- registryList: "0xB9130D2A87d7c60ED7E7e4b25bdA6e3E6841becB",
254
- chainlinkOracleFactory: "0x43269546e1D586a1f7200a0AC07e26f9631f7539",
255
- preLiquidationFactory: "0xb04e4D3D59Ee47Ca9BA192707AF13A7D02969911",
256
- wNative: "0x4200000000000000000000000000000000000006",
257
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
258
- usdc: "0x078D782b760474a361dDA0AF3839290b0EF57AD6",
259
- },
260
- [ChainId.SonicMainnet]: {
261
- morpho: "0xd6c916eB7542D0Ad3f18AEd0FCBD50C582cfa95f",
262
- bundler3: {
263
- bundler3: "0xB06F1Ad8c908b958E596c42973f67F2f1d9a9afF",
264
- generalAdapter1: "0x31D5aee8D75EEab548cfA0d11C4f9843a5201eaf",
265
- },
266
- adaptiveCurveIrm: "0xDEfCf242226425f93d8DD0e314735C28517C473F",
267
- publicAllocator: "0x6Cef2EDC70D87E8f1623f3096efF05d066E59B36",
268
- metaMorphoFactory: "0x0cE9e3512CB4df8ae7e265e62Fb9258dc14f12e8",
269
- chainlinkOracleFactory: "0x7DA59Fa482F1F49fADc486d8e47BADc506fEb86d",
270
- preLiquidationFactory: "0xc72129DA4CC808e955699111b8c22B22Ca8A10b8",
271
- wNative: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38",
272
- },
273
- [ChainId.HemiMainnet]: {
274
- morpho: "0xa4Ca2c2e25b97DA19879201bA49422bc6f181f42",
275
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
276
- bundler3: {
277
- bundler3: "0x8eDa6E01a20E3Cd90B3B2AF6F790cB8FADEf3Ea8",
278
- generalAdapter1: "0x9623090C3943ad63F7d794378273610Dd0deeFD4",
279
- },
280
- adaptiveCurveIrm: "0xdEbdEa31624552DF904A065221cD14088ABDeD70",
281
- publicAllocator: "0x4107Ea1746909028d6212B315dE5fE9538F9eb39",
282
- metaMorphoFactory: "0x8e52179BeB18E882040b01632440d8Ca0f01da82",
283
- chainlinkOracleFactory: "0xB3cb32E6185446a6Bc7A047E4FfA138fA939e133",
284
- preLiquidationFactory: "0x40F2896C551194e364F7C846046C34d8a9FE97e4",
285
- wNative: "0x4200000000000000000000000000000000000006",
286
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
287
- usdc: "0xad11a8BEb98bbf61dbb1aa0F6d6F2ECD87b35afA",
288
- },
289
- [ChainId.ModeMainnet]: {
290
- morpho: "0xd85cE6BD68487E0AaFb0858FDE1Cd18c76840564",
291
- bundler3: {
292
- bundler3: "0xFEA0edFa081C8D5960Ec9Bf6684981dB1834305d",
293
- generalAdapter1: "0xF53925b95Cc409447066cd5c1A7756084b2Ee0a4",
294
- },
295
- adaptiveCurveIrm: "0xE3d46Ae190Cb39ccA3655E966DcEF96b4eAe1d1c",
296
- publicAllocator: "0xEE868Bf3359DA30c10ea472EAEBFC0a06E8F0120",
297
- metaMorphoFactory: "0xae5b0884bfff430493D6C844B9fd052Af7d79278",
298
- chainlinkOracleFactory: "0xf9380f7898423Bd7FDe3C9fDD1b2671A2471f39D",
299
- preLiquidationFactory: "0x249E4808264c545861e43728186a731dE7c7D745",
300
- wNative: "0x4200000000000000000000000000000000000006",
301
- },
302
- [ChainId.CornMainnet]: {
303
- morpho: "0xc2B1E031540e3F3271C5F3819F0cC7479a8DdD90",
304
- bundler3: {
305
- bundler3: "0x086889F9bdE8349512dD77088A7114E6C1c42Af7",
306
- generalAdapter1: "0x464a402244bCDdc0c2091D5193E8ffdb2be54Ca9",
307
- },
308
- adaptiveCurveIrm: "0x58a42117d753a0e69694545DfA19d64c2fB759fB",
309
- publicAllocator: "0xDFde06e2B2A2D718eE5560b73dA4F830E56A2f10",
310
- metaMorphoFactory: "0xe430821595602eA5DD0cD350f86987437c7362fA",
311
- chainlinkOracleFactory: "0x16278156D366fC91536b6b81482ffaC47EEa06D6",
312
- preLiquidationFactory: "0xb9065AC18d3EBdb3263B77B587f9c5CD570545D1",
313
- wNative: "0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2",
314
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
315
- usdc: "0xDF0B24095e15044538866576754F3C964e902Ee6",
316
- },
317
- [ChainId.PlumeMainnet]: {
318
- morpho: "0x42b18785CE0Aed7BF7Ca43a39471ED4C0A3e0bB5",
319
- bundler3: {
320
- bundler3: "0x5437C8788f4CFbaA55be6FBf30379bc7dd7f69C3",
321
- generalAdapter1: "0x65ff368930Cb7eB4CA5C5eBC58bb69E6Ed198BA5",
322
- },
323
- adaptiveCurveIrm: "0x7420302Ddd469031Cd2282cd64225cCd46F581eA",
324
- publicAllocator: "0x58485338D93F4e3b4Bf2Af1C9f9C0aDF087AEf1C",
325
- metaMorphoFactory: "0x2525D453D9BA13921D5aB5D8c12F9202b0e19456",
326
- vaultV2Factory: "0x4f0a370bb367843CFd914c4d9972523aD2f8FCc9",
327
- morphoMarketV1AdapterFactory: "0x1675357fdA9e6784DdAD7AD5b3C3DF1fdD4dc4C9",
328
- morphoMarketV1AdapterV2Factory: "0xB7c243AfACb25870775ADFdAe9D0EAc2324dD152",
329
- morphoVaultV1AdapterFactory: "0x5935fFcD1C5D269840ae7c685bC957A73E04AEDB",
330
- registryList: "0x60d3184BDD31BAE7De973894B3bA0b3B6900B79a",
331
- chainlinkOracleFactory: "0x133F742c0D36864F37e15C33a18bA6fdc950ED0f",
332
- preLiquidationFactory: "0xF184156Cf6Ad4D3dA7F6449D40755A0f9de97ef3",
333
- usdc: "0xc98E8c6cB80AC48E4bbD3B56f5895DD64dA7d10a",
334
- wNative: "0xEa237441c92CAe6FC17Caaf9a7acB3f953be4bd1",
335
- },
336
- [ChainId.CampMainnet]: {
337
- morpho: "0xea4f2979D7A99B40404b447Cf71c008e3805760F",
338
- bundler3: {
339
- bundler3: "0x88A4038BB4A14ecD7301c8Fb1f1e8732c4355D53",
340
- generalAdapter1: "0x29dcA26F9862CFb8064163ddc3401aaB4D4D05c6",
341
- },
342
- adaptiveCurveIrm: "0xd5661D965cc60ed1954d4f6725b766051De3ef97",
343
- publicAllocator: "0x0b7a3A49dafd98363B428cEC966106f29c0eee75",
344
- metaMorphoFactory: "0x3F4b9246b7Cd3F7671c70BeBd5AAFC08e5bb5f16",
345
- chainlinkOracleFactory: "0x391A3fd481743FE48409e2e31eDac8a5f4C7653A",
346
- preLiquidationFactory: "0xD55fA5DF6F1A21C2B93009A702aad3a0891C1B48",
347
- wNative: "0x3bd5C81a8Adf3355078Dc5F73c41d3194B316690",
348
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
349
- usdc: "0x8a2B28364102Bea189D99A475C494330Ef2bDD0B",
350
- },
351
- [ChainId.KatanaMainnet]: {
352
- morpho: "0xD50F2DffFd62f94Ee4AEd9ca05C61d0753268aBc",
353
- bundler3: {
354
- bundler3: "0xA8C5e23C9C0DF2b6fF716486c6bBEBB6661548C8",
355
- generalAdapter1: "0x916Aa175C36E845db45fF6DDB886AE437d403B61",
356
- },
357
- adaptiveCurveIrm: "0x4F708C0ae7deD3d74736594C2109C2E3c065B428",
358
- publicAllocator: "0x39EB6Da5e88194C82B13491Df2e8B3E213eD2412",
359
- metaMorphoFactory: "0x1c8De6889acee12257899BFeAa2b7e534de32E16",
360
- vaultV2Factory: "0xFcb8b57E56787bB29e130Fca67f3c5a1232975D1",
361
- morphoMarketV1AdapterFactory: "0x2e6BE3a3A27fb45c6AbA2D1833eeA48E8788538e",
362
- morphoMarketV1AdapterV2Factory: "0x6d6A3ba62836d6B40277767dCAc8fd390d4BcedC",
363
- morphoVaultV1AdapterFactory: "0xc8D22B1adD3D176600E9952e7876e9249254cAAF",
364
- registryList: "0xA9132a09838fD20304dF2B2892679d06A4cc6371",
365
- chainlinkOracleFactory: "0x7D047fB910Bc187C18C81a69E30Fa164f8c536eC",
366
- preLiquidationFactory: "0x678EB53A3bB79111263f47B84989d16D81c36D85",
367
- wNative: "0xEE7D8BCFb72bC1880D0Cf19822eB0A2e6577aB62",
368
- },
369
- [ChainId.EtherlinkMainnet]: {
370
- morpho: "0xbCE7364E63C3B13C73E9977a83c9704E2aCa876e",
371
- bundler3: {
372
- bundler3: "0x69dc8086191437b55775b79C730BB3876397e7D1",
373
- generalAdapter1: "0xEabdAC78A7f0a9B3dF0e23D69A5a5fF7f580a910",
374
- },
375
- adaptiveCurveIrm: "0xC1523BE776e66ba07b609b1914D0925278f21FE5",
376
- publicAllocator: "0x8b8B1bd41d36c06253203CD21463994aB752c1e6",
377
- metaMorphoFactory: "0x997a79c3C04c5B9eb27d343ae126bcCFb5D74781",
378
- chainlinkOracleFactory: "0x12FA40f687a35611720E1DcB59976B6e51247298",
379
- preLiquidationFactory: "0xd1c37fDd941256FC184eF3A07Be540a90b81Ec21",
380
- wNative: "0xc9B53AB2679f573e480d01e0f49e2B5CFB7a3EAb",
381
- },
382
- [ChainId.TacMainnet]: {
383
- morpho: "0x918B9F2E4B44E20c6423105BB6cCEB71473aD35c",
384
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
385
- bundler3: {
386
- bundler3: "0x84b189823D0f84c36728Bb3335dD8C833564e72f",
387
- generalAdapter1: "0x6D94E7dCA6d8FAE2CF954633C2Cf9c286258E0af",
388
- },
389
- adaptiveCurveIrm: "0x7E82b16496fA8CC04935528dA7F5A2C684A3C7A3",
390
- publicAllocator: "0x414247afcf1fE3b94C617e7E3A7adB81D8D3208F",
391
- metaMorphoFactory: "0xcDA78f4979d17Ec93052A84A12001fe0088AD734",
392
- chainlinkOracleFactory: "0xbf10eD52dD60C60E901BF022c3675303ad4a56b1",
393
- preLiquidationFactory: "0x5851C1e423A2F93aFb821834a63cA052D19ae4Ef",
394
- wNative: "0xB63B9f0eb4A6E6f191529D71d4D88cc8900Df2C9",
395
- },
396
- [ChainId.LiskMainnet]: {
397
- morpho: "0x00cD58DEEbd7A2F1C55dAec715faF8aed5b27BF8",
398
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
399
- bundler3: {
400
- bundler3: "0xD96E5e02580C4EAfE15B5537b25eE3dEe5861e00",
401
- generalAdapter1: "0x76cFE4BF840C7b461772fE7CDE399f58c4173584",
402
- },
403
- adaptiveCurveIrm: "0x5576629f21D528A8c3e06C338dDa907B94563902",
404
- publicAllocator: "0xb1E5B1De2a54ab55C412B5ee1E38e46799588103",
405
- metaMorphoFactory: "0x01dD876130690469F685a65C2B295A90a81BaD91",
406
- chainlinkOracleFactory: "0x2eb4D17C2AAf1EA62Bf83Fb49Dd1128b14AF4D93",
407
- preLiquidationFactory: "0xF2c325F26691b6556e6f66451bb38bDa37FEbaa7",
408
- wNative: "0x4200000000000000000000000000000000000006",
409
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
410
- usdc: "0xF242275d3a6527d877f2c927a82D9b057609cc71",
411
- },
412
- [ChainId.HyperliquidMainnet]: {
413
- morpho: "0x68e37dE8d93d3496ae143F2E900490f6280C57cD",
414
- bundler3: {
415
- bundler3: "0xa3F50477AfA601C771874260A3B34B40e244Fa0e",
416
- generalAdapter1: "0xD7F48aDE56613E8605863832B7B8A1985B934aE4",
417
- },
418
- adaptiveCurveIrm: "0xD4a426F010986dCad727e8dd6eed44cA4A9b7483",
419
- publicAllocator: "0x517505be22D9068687334e69ae7a02fC77edf4Fc",
420
- metaMorphoFactory: "0xec051b19d654C48c357dC974376DeB6272f24e53",
421
- vaultV2Factory: "0xD7217E5687FF1071356C780b5fe4803D9D967da7",
422
- morphoMarketV1AdapterFactory: "0xc6b8B565C715134b0Ca3D6fa3D29B25759D0b9e2",
423
- morphoMarketV1AdapterV2Factory: "0xaEff6Ef4B7bbfbAadB18b634A8F11392CBeB72Be",
424
- morphoVaultV1AdapterFactory: "0xdf5202e29654e02011611A086f15477880580CAc",
425
- registryList: "0x857B55cEb57dA0C2A83EE08a8dB529B931089aee",
426
- chainlinkOracleFactory: "0xeb476f124FaD625178759d13557A72394A6f9aF5",
427
- preLiquidationFactory: "0x1b6782Ac7A859503cE953FBf4736311CC335B8f0",
428
- wNative: "0x5555555555555555555555555555555555555555",
429
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
430
- usdc: "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
431
- },
432
- [ChainId.SeiMainnet]: {
433
- morpho: "0xc9cDAc20FCeAAF616f7EB0bb6Cd2c69dcfa9094c",
434
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
435
- bundler3: {
436
- bundler3: "0xF9457356F18A3349Bb317Ac144c3Bcc62e5761aD",
437
- generalAdapter1: "0x02e0e71e145f254820B9D89c9E6068f08256F601",
438
- },
439
- adaptiveCurveIrm: "0x6eFA8e3Aa8279eB2fd46b6083A9E52dA72EA56c4",
440
- publicAllocator: "0xD878509446bE2C601f0f032F501851001B159D6B",
441
- metaMorphoFactory: "0x8Dea49ec5bd5AeAc8bcf96B3E187F59354118291",
442
- chainlinkOracleFactory: "0x4bD68c2FF3274207EC07ED281C915758b6F23F07",
443
- preLiquidationFactory: "0x65eD61058cEB4895B7d62437BaCEA39b04f6D27B",
444
- wNative: "0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7",
445
- usdc: "0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",
446
- },
447
- [ChainId.ZeroGMainnet]: {
448
- morpho: "0x9CDD13a2212D94C4f12190cA30783B743E83C89e",
449
- bundler3: {
450
- bundler3: "0xbDaFC7ceF85C5fF69164330F521089C9E15DDDae",
451
- generalAdapter1: "0xFaD987d0EedfbAC709EC27ee4a94f36A1300a054",
452
- },
453
- adaptiveCurveIrm: "0xf52e20C42FEc624819D4184226C4777D7cbd767e",
454
- publicAllocator: "0x28a80F3713735CAD44bD9d7E1da9Fa16b0244497",
455
- metaMorphoFactory: "0x41528AadC7314658b07Ca6e7213B9b77289B477f",
456
- chainlinkOracleFactory: "0x5115c1a74ABf096150593EecF3e20F016fc9dB43",
457
- preLiquidationFactory: "0x534858821653467c2ae231dc027aa1F2c8D91802",
458
- wNative: "0x1Cd0690fF9a693f5EF2dD976660a8dAFc81A109c",
459
- },
460
- [ChainId.LineaMainnet]: {
461
- morpho: "0x6B0D716aC0A45536172308e08fC2C40387262c9F",
462
- bundler3: {
463
- bundler3: "0x1Ee8Ec299E8014760D50A4E3CfC3b44Cc2242625",
464
- generalAdapter1: "0x454dAb6ce9891245696b239b4845a1cDC268255d",
465
- },
466
- adaptiveCurveIrm: "0x85C2Ef4Bd69f42D7Da19Fb9dcdD7Fb8d0F59cDeE",
467
- publicAllocator: "0x2d4cf00e18D48fD030d9b1E2FAAE6e0384C7610B",
468
- metaMorphoFactory: "0xA148a8223B622A72dC36472DE1492aBb5c089BA7",
469
- vaultV2Factory: "0x5DC11CF8BA4C39d1194F91218D35008d9F52A5d0",
470
- morphoMarketV1AdapterFactory: "0x3267BbdC94274B4BE081c01ffc6123dA12E8c043",
471
- morphoVaultV1AdapterFactory: "0x6FaF26DD640e22457cA4fd5DA702BA3E169eEd87",
472
- registryList: "0x122Ea8ff8888C29F8736665d576e3fAEF15D27D5",
473
- chainlinkOracleFactory: "0x3FFF726062B03BfD5BC485eeEEcc92CF1d8F0105",
474
- preLiquidationFactory: "0x05a0Ff4E564ED1ba6B42247E19edFf83545C3C40",
475
- wNative: "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",
476
- usdc: "0x176211869cA2b568f2A7D4EE941E073a821EE1ff",
477
- },
478
- [ChainId.MonadMainnet]: {
479
- morpho: "0xD5D960E8C380B724a48AC59E2DfF1b2CB4a1eAee",
480
- bundler3: {
481
- bundler3: "0x82b684483e844422FD339df0b67b3B111F02c66E",
482
- generalAdapter1: "0x725AB8CAd931BCb80Fdbf10955a806765cCe00e5",
483
- },
484
- adaptiveCurveIrm: "0x09475a3D6eA8c314c592b1a3799bDE044E2F400F",
485
- publicAllocator: "0xfd70575B732F9482F4197FE1075492e114E97302",
486
- metaMorphoFactory: "0x33f20973275B2F574488b18929cd7DCBf1AbF275",
487
- vaultV2Factory: "0x8B2F922162FBb60A6a072cC784A2E4168fB0bb0c",
488
- morphoMarketV1AdapterFactory: "0x8Da54fbF89B3D6fC6DCC92F31CF75a211ACF3d46",
489
- morphoMarketV1AdapterV2Factory: "0xa00666E86C7e2FA8d2c78d9481E687e098340180",
490
- morphoVaultV1AdapterFactory: "0x9f3c0999425656fD189C69a8aD68cB64986D644A",
491
- registryList: "0x6a42f8b46224baA4DbBBc2F860F4675eeA7bd52B",
492
- chainlinkOracleFactory: "0xC8659Bcd5279DB664Be973aEFd752a5326653739",
493
- preLiquidationFactory: "0xB5b3e541abD19799E0c65905a5a42BD37d6c94c0",
494
- wNative: "0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A",
495
- usdc: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
496
- },
497
- [ChainId.StableMainnet]: {
498
- morpho: "0xa40103088A899514E3fe474cD3cc5bf811b1102e",
499
- bundler3: {
500
- bundler3: "0xA0bb114F927dF03d9a1a639b9c71F71B0FaFDf1B",
501
- generalAdapter1: "0x59b1F4376a81e39c466A0A218447E4D36f39A96b",
502
- },
503
- adaptiveCurveIrm: "0x41e846FC8108b8527C1D4EDB4c9564E56442940f",
504
- publicAllocator: "0xbCB063D4B6D479b209C186e462828CBACaC82DbE",
505
- metaMorphoFactory: "0xb4ae5673c48621189E2bEfBA96F31912032DD1AE",
506
- vaultV2Factory: "0x7fc35488803D49D00a94b206A223f7661898BE3a",
507
- morphoMarketV1AdapterFactory: "0x2A5F218FE4Dac3b1f4E096e8ae83074bB1713833",
508
- morphoMarketV1AdapterV2Factory: "0x9282DBa3d1788f4f02B5DdFc4fc5985e70197620",
509
- morphoVaultV1AdapterFactory: "0x4EF83ACD552598a1196c1aBDD0bA2EdE6f2237B4",
510
- registryList: "0xCe93fcB2849EB886F1e81d45D2747dF803f843C3",
511
- chainlinkOracleFactory: "0xF24C6eAB91e43EacE18a4e893a48565C09132505",
512
- preLiquidationFactory: "0x741A6604e974FeAF35a5FBb1416B3e01c33e5C0e",
513
- // There is no wrapped native token because the native token USDT0 is already an ERC20.
514
- },
515
- [ChainId.CronosMainnet]: {
516
- morpho: "0xDF9a1DC07e5dEe5ccCCaBeC35e446C70fAF7434e",
517
- bundler3: {
518
- bundler3: "0xb1c59fE6A0DCE25b804F6113C441Bf4F3a4Ab6bC",
519
- generalAdapter1: "0xCa470cBBc3de56FDe336466f2107cC969174d513",
520
- },
521
- adaptiveCurveIrm: "0x1Db002C086439d55B9f33E6c0693Eb850F7c0607",
522
- publicAllocator: "0xFEAbEf95f3C937Ff4d5fD70005CF3392f8Ca02d5",
523
- metaMorphoFactory: "0xEA67e5566Ca2c0176d9db172A7f9A1e1F22E9D3A",
524
- vaultV2Factory: "0x05519a0835a1bFD90f110aA7ca46e9A5F81Ed3b4",
525
- morphoMarketV1AdapterFactory: "0xaCFf4ad3B357F5A43A20570cF3eb9Ba0086d4e9a",
526
- morphoMarketV1AdapterV2Factory: "0xE39f6B5Dd03F4ce8C201b946E662E653d94fA121",
527
- morphoVaultV1AdapterFactory: "0x8840F99Bb2D4f69fb02b2d019384C5c98a11746c",
528
- registryList: "0x295e0aB80f8234398cd0E51C85D873ee69E5F0DD",
529
- chainlinkOracleFactory: "0x44b2c8e4474751EF2BBC57B92928aFB99DA785De",
530
- preLiquidationFactory: "0x8bedC738f5F0D54dF7E003297AAc6692b870F3Ed",
531
- wNative: "0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23",
532
- },
533
- [ChainId.CeloMainnet]: {
534
- morpho: "0xd24ECdD8C1e0E57a4E26B1a7bbeAa3e95466A569",
535
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
536
- bundler3: {
537
- bundler3: "0xbd142f98f847c170D51d8B23e5FEBc51FC9a67D9",
538
- generalAdapter1: "0x3E7544a07157D03a49359eE89f2fCac9a6467230",
539
- },
540
- adaptiveCurveIrm: "0x683CAAADdfA2F42e24880E202676526d501a5dED",
541
- publicAllocator: "0x3Fe12193D178B76BaF4e23a083A64e49ACDE3188",
542
- metaMorphoFactory: "0x6870aA9f66C1e5Efe8Dbe8730e86E9e91f688275",
543
- chainlinkOracleFactory: "0x3a4849b5174Dc6828c6Dc9BBD87e61Ed1ebE9fFA",
544
- preLiquidationFactory: "0x717a3eF7D366F5ce4636011924D0Bd65ea5eCE2f",
545
- // No wrapped native is provided as the native asset CELO is already an ERC20.
546
- usdc: "0xcebA9300f2b948710d2653dD7B07f33A8B32118C",
547
- },
548
- [ChainId.AbstractMainnet]: {
549
- morpho: "0xc85CE8ffdA27b646D269516B8d0Fa6ec2E958B55",
550
- bundler3: {
551
- bundler3: "0xc13A3Ca3B0120EE6121d1E0ca9Da22fDD7ed28Cd",
552
- generalAdapter1: "0x3716AA06304D1bC70f553Da44904d13086A4a791",
553
- },
554
- adaptiveCurveIrm: "0xd334eb112CfD1EB4a50FB871b7D9895EBB955C43",
555
- publicAllocator: "0x609f3DF49806B5617A0Bd3301f04Ac3CB26d9e82",
556
- metaMorphoFactory: "0x83A7f60c9fc57cEf1e8001bda98783AA1A53E4b1",
557
- chainlinkOracleFactory: "0x3585E3fD72F8d1b02250E1F6496b706c6e092884",
558
- preLiquidationFactory: "0x1058DA51242dF63bA3A61c838A61405ea6Edb083",
559
- wNative: "0x3439153EB7AF838Ad19d56E1571FBD09333C2809",
560
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
561
- usdc: "0x84A71ccD554Cc1b02749b35d22F684CC8ec987e1",
562
- },
563
- [ChainId.BitlayerMainnet]: {
564
- morpho: "0xAeA7eFF1bD3c875c18ef50F0387892dF181431C6",
565
- bundler3: {
566
- bundler3: "0x82b3ea7558Fc383b949fa42Db7ee3eB101447B96",
567
- generalAdapter1: "0xa87F1422Df88B5f490203D71e2f8e7244843E62F",
568
- },
569
- adaptiveCurveIrm: "0xefB565442B9Eb740B50Cf928C14d21c0111254F9",
570
- publicAllocator: "0x3A1db0038361528756bED147abe3d41255c7128c",
571
- metaMorphoFactory: "0xb95De4a9C81Ba6240378F383f88592d30937d048",
572
- chainlinkOracleFactory: "0xfDc69d06De855701731D142F28bD401802DA4daF",
573
- preLiquidationFactory: "0x4E28CAE07A008FF2D7D345992C969118eb253CD6",
574
- wNative: "0xfF204e2681A6fA0e2C3FaDe68a1B28fb90E4Fc5F",
575
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
576
- usdc: "0xf8C374CE88A3BE3d374e8888349C7768B607c755",
577
- },
578
- [ChainId.BscMainnet]: {
579
- morpho: "0x01b0Bd309AA75547f7a37Ad7B1219A898E67a83a",
580
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
581
- bundler3: {
582
- bundler3: "0x16D40b9DF1497468195BFAfeb2718e486E15bF91",
583
- generalAdapter1: "0x87c93660ECe6E68C6492EabBbBdbaafA102ae3a3",
584
- },
585
- adaptiveCurveIrm: "0x7112D95cB5f6b13bF5F5B94a373bB3b2B381F979",
586
- publicAllocator: "0x842bEccF8eBC11006c4bE96DEfE09b60326D0495",
587
- metaMorphoFactory: "0x92983687e672cA6d96530f9Dbe11a196cE905d72",
588
- chainlinkOracleFactory: "0xDf2035fC15919588526dBb5560863C812F135236",
589
- preLiquidationFactory: "0xEB8871F0FA8aB787AbCD28d1095f7B486d241D42",
590
- wNative: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
591
- },
592
- [ChainId.SoneiumMainnet]: {
593
- morpho: "0xE75Fc5eA6e74B824954349Ca351eb4e671ADA53a",
594
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
595
- bundler3: {
596
- bundler3: "0x461378B79d400c963F48F57b3a99416bc3C5c6a6",
597
- generalAdapter1: "0xA47EeDE3Aac741B830E394B2e291f6774BD8bb48",
598
- },
599
- adaptiveCurveIrm: "0x68F9b666b984527A7c145Db4103Cc6d3171C797F",
600
- publicAllocator: "0x76f93A21573014Ab7d634D3204818922A234249e",
601
- metaMorphoFactory: "0x7026b436f294e560b3C26E731f5cac5992cA2B33",
602
- chainlinkOracleFactory: "0x669F1A4cE3127740eCdB3E36adFC5Df6Db1EA74b",
603
- preLiquidationFactory: "0xcBD0710425613d666C5Ffb4dE2eE73554F21c34B",
604
- wNative: "0x4200000000000000000000000000000000000006",
605
- // Must implement USDC permit version 2 (otherwise breaks permit signatures).
606
- usdc: "0xbA9986D2381edf1DA03B0B9c1f8b00dc4AacC369",
607
- },
608
- [ChainId.TempoMainnet]: {
609
- morpho: "0x10EE9AAC980A180dd4DcFc96C746d60B0EA88f97",
610
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
611
- bundler3: {
612
- bundler3: "0x5A3B829dcDBE1979cdD9F648Afb6D39dCF805E33",
613
- generalAdapter1: "0x3a2A86bD16629B054f7f3d87F0a7570F3881a43c",
614
- },
615
- adaptiveCurveIrm: "0x112fd4042E442C3C12C67AD23587b0afe36eB74E",
616
- vaultV2Factory: "0x3DE400E3F79113194fa5AF6Ae5C474947E0C82Db",
617
- morphoMarketV1AdapterV2Factory: "0xF85aD5f14cC903533FC409B8098B58b4C2f36697",
618
- morphoVaultV1AdapterFactory: "0x669771F03ab55CebF753E90C3c9D80ad9391cf25",
619
- registryList: "0xB118227C728b5ce52445a5aAee48C8a281C429E0",
620
- chainlinkOracleFactory: "0xc2c167BC5cBD833ce58239e85073258F10aD4DF6",
621
- preLiquidationFactory: "0xB83d2D5CAE5Fc64a408cA82447445442Fe249fe3",
622
- },
623
- [ChainId.EdenMainnet]: {
624
- morpho: "0xF050a2BB0468FF23cF2964AC182196C94D6815C3",
625
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
626
- bundler3: {
627
- bundler3: "0x4D403d6a3D25A865Ed57caef884f076E0fa00eCa",
628
- generalAdapter1: "0x9B05CCA3299E3558a324f72aaB4D404625557B3D",
629
- },
630
- adaptiveCurveIrm: "0x08A7b3a39E5425d616Cc9c046cf96B5eF21a139f",
631
- vaultV2Factory: "0x9aaCAA01F5e6BC876D07f023744E3E0A456a64cf",
632
- morphoMarketV1AdapterV2Factory: "0x59e8C53D383F22b6371b5833504dfAa4136aE6f7",
633
- registryList: "0xB78BA19a8Bf3202DA7036ec1830222FDC5e0297e",
634
- chainlinkOracleFactory: "0xD6202eFF2e869dc473EB13c38Cc787835Bf8B6df",
635
- preLiquidationFactory: "0x83346d9fc31a239Ae1739672AD84A567C7beF529",
636
- wNative: "0x00000000000000000000000000000000ce1E571a",
637
- },
638
- [ChainId.PharosMainnet]: {
639
- morpho: "0x18573fA18fd17dDfD790B4a5B5b2977aad3b4Efb",
640
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
641
- bundler3: {
642
- bundler3: "0x3c90c09F8c5d927a117F681fB924952DbbD99120",
643
- generalAdapter1: "0x0A5819708bCAD9C716dFD58ecB58cF91399A53f8",
644
- },
645
- adaptiveCurveIrm: "0xD5E02889C13230458506CC842347c4E62F8cDF3a",
646
- vaultV2Factory: "0x8E01ed1E1A41029b3137FcE9Aa880c0A54827498",
647
- morphoMarketV1AdapterV2Factory: "0xe510e1fcC429943cA3455A7bfBD79f0307Cd8403",
648
- registryList: "0xbe858d729548eB49BbFA05Acd3674ca8cdaAdD4b",
649
- chainlinkOracleFactory: "0xb8118256d8Aa950ec0B26a0b8Be7C6c1a858f6a3",
650
- preLiquidationFactory: "0x37511F85B0Eff260d429f693247339dC91C76f90",
651
- wNative: "0x52C48d4213107b20bC583832b0d951FB9CA8F0B0",
652
- },
653
- [ChainId.GensynMainnet]: {
654
- morpho: "0x8c45B34999883FF4B47cD3be095D585682cd9227",
655
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
656
- bundler3: {
657
- bundler3: "0xE09314FE5Fc41FEc8f3e6042085dD3CeE24c877c",
658
- generalAdapter1: "0x79e6825ccb881d276f988a5dA8125e1c6BEa07Ae",
659
- },
660
- adaptiveCurveIrm: "0x549EFFAE58F9Db253AAF60fbCeC8B4cB74a952A8",
661
- vaultV2Factory: "0xe2558155AEcEF57cAADB98e39b0538ab0ae95693",
662
- morphoMarketV1AdapterV2Factory: "0x155134544AE2Ec3AB23034BF620538482C5E3c40",
663
- registryList: "0xdaE77f687883D656Aa4dc7fF89c0c891510C61A5",
664
- chainlinkOracleFactory: "0xf9b22d1652ce918CfC5d102269801AFbfEFa85F9",
665
- preLiquidationFactory: "0x57C88ACAbd4Fa19257104ECCF64ccA34e5eB8961",
666
- wNative: "0x4200000000000000000000000000000000000006",
667
- },
668
- [ChainId.FlareMainnet]: {
669
- morpho: "0xF4346F5132e810f80a28487a79c7559d9797E8B0",
670
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
671
- bundler3: {
672
- bundler3: "0xb371CFee69984D1F3447D49217889C7388bA2027",
673
- generalAdapter1: "0x43F4861c9E7f584cFDc9B6BA3F0c2462895BDd67",
674
- },
675
- adaptiveCurveIrm: "0xE5B5627C5973AfAE1928a6b8e5c1D6AABFEC8a7a",
676
- vaultV2Factory: "0x6FC83ECc0e8142635D77200e5052be8A0a9D2f42",
677
- morphoMarketV1AdapterV2Factory: "0xd8237ea1b5974c83C6b0c8942dc2a16F42f789dd",
678
- registryList: "0x9730d0B30d9145B66a8e09D26295e36cb84F64a9",
679
- chainlinkOracleFactory: "0x95cB3625598F9abf6cb8B874AA1EfEEbE7822642",
680
- preLiquidationFactory: "0xf215D05a04b97f98Bb1bF4E0E5Cb97Ef38fa8895",
681
- wNative: "0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d",
682
- },
683
- [ChainId.XdcMainnet]: {
684
- morpho: "0xEa49B0fE898aF913A3826F9f462eE2cDcb854fD9",
685
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
686
- bundler3: {
687
- bundler3: "0xed9bdc3E6081db528b6D5CDDf47EcB05337c62A7",
688
- generalAdapter1: "0xAB2Ab6A8bb1082C5d8400D6206c6A13cE413e0c0",
689
- },
690
- adaptiveCurveIrm: "0x15c7312B0f26aa0AA70B24a0D2AF87B9e7D614A0",
691
- vaultV2Factory: "0x227544d6989cD15c05AAB6dde4F29523dcfdbe2B",
692
- morphoMarketV1AdapterV2Factory: "0x5C00c99F2235439725417E9f037B7D38FfF35d31",
693
- registryList: "0x79A8C4e9E502C1867cAf2E7202f0C6b89aaCd5c1",
694
- chainlinkOracleFactory: "0x6Ad93a3aA829514473D3DF67382894A76c7283B4",
695
- preLiquidationFactory: "0xe3845262d726a827817C7196143CDa9a4404218d",
696
- wNative: "0x951857744785E80e2De051c32EE7b25f9c458C42",
697
- },
698
- [ChainId.KaiaMainnet]: {
699
- morpho: "0xA8BEebdca34d83C697c302A0594f3c41f3994cd2",
700
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
701
- bundler3: {
702
- bundler3: "0x27880B18ae04a05F1D603B87AEb2a27491FfaBA9",
703
- generalAdapter1: "0x8e36C2c6d7771820BF14a75f725f3cf0374a7823",
704
- },
705
- adaptiveCurveIrm: "0xA4E2bA20Fc64D721D95BD5a28FF71844C5bb5cF2",
706
- vaultV2Factory: "0xf2Aecd4a4d4C21d08770e34F392C4C271aBD9144",
707
- morphoMarketV1AdapterV2Factory: "0x4d04C39ca604b560c50F4045c558378FD9AEBCF4",
708
- registryList: "0xfCA12228DA5fba6E9c0B57a8e8322d0eBaCa03Bc",
709
- chainlinkOracleFactory: "0x3e89C1071814b2c4170c90260Fcb60B903AD4602",
710
- preLiquidationFactory: "0xe8eCe452F04117e5Fe1Ea4403097215443225440",
711
- wNative: "0x19Aac5f612f524B754CA7e7c41cbFa2E981A4432",
712
- },
713
- [ChainId.ArcMainnet]: {
714
- morpho: "0x34CD04070dD72b14E241112F6d83812Df5Af7fCD",
715
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
716
- bundler3: {
717
- bundler3: "0x855dbe13C409Df75CAF6a985Cf6993a4D0319Feb",
718
- generalAdapter1: "0x0AF5BE7BD7B615e94e1d9275414482D028952466",
719
- },
720
- adaptiveCurveIrm: "0xF02615d094Fc02fC031C35fe705e175aA4653f20",
721
- vaultV2Factory: "0x3b0eefaBfa22ec7CF2c73877ac16e78D76749f12",
722
- morphoMarketV1AdapterV2Factory: "0x6C2FF5114E45b50bc7195c2F1f87C98cbdad62Cc",
723
- registryList: "0xdEBC92370Cd74d55DA144116138681dbbb528765",
724
- chainlinkOracleFactory: "0xbFc8D6167a02889D5EB08a023d9aB712B44f7dE8",
725
- preLiquidationFactory: "0x8edf6Ac769a7E7D81d571aC0FB8733aD724f6922",
726
- },
727
- [ChainId.MorphMainnet]: {
728
- morpho: "0xAd10d07901Dc3195c3cb5e78E061F4EA8D9B4905",
729
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
730
- bundler3: {
731
- bundler3: "0xDB83A44Bf8f53966f7A4F7dCE7F8CdAaBCf83628",
732
- generalAdapter1: "0xcaeec65c85Fe964c8Bd814cb8E4CaF8B06bde776",
733
- },
734
- adaptiveCurveIrm: "0xfB69467De332E03FF502B85bB2249d2f721F3319",
735
- vaultV2Factory: "0x7D8BF8B276f967F7539c9e91E1a85a33fefE612B",
736
- morphoMarketV1AdapterV2Factory: "0xa01D7c41cf419405d4DF2e5750d26438DCAC28a6",
737
- registryList: "0x553c013d1978CF82EF6b316f5c247B73718ba481",
738
- chainlinkOracleFactory: "0xE91032cE5B8D86bA4Be146c186984F49Af37fbf1",
739
- preLiquidationFactory: "0x41581344ba49B07EFA758a0F2a199b90f05Cc866",
740
- wNative: "0x5300000000000000000000000000000000000011",
741
- },
742
- [ChainId.MegaEthMainnet]: {
743
- morpho: "0x18120312A7cf44DcfEc6dCe5632a431579ED9100",
744
- permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
745
- bundler3: {
746
- bundler3: "0xf53D4c8f0f83F697CD6bB303567400cCf411aA63",
747
- generalAdapter1: "0x74d3cbc721613C8461df92658d0a20dF275Ca31b",
748
- },
749
- adaptiveCurveIrm: "0x56875764185548B0ca72A1877b3aE15E44e8A323",
750
- vaultV2Factory: "0xf133FA5A78C398B31Cc4a180E6Ae84111D6DCF5B",
751
- morphoMarketV1AdapterV2Factory: "0x00a58b7a9B3E86CB21f5F11f29F4A12346457012",
752
- registryList: "0x3aE18af9717C734820137726967bef4fBc5Ec95c",
753
- chainlinkOracleFactory: "0x02522D475E7064E1d1E966e3197db050b19b2FC2",
754
- preLiquidationFactory: "0xF6035B231028E61cd2283651f22ecA45f8e3ADc8",
755
- wNative: "0x4200000000000000000000000000000000000006",
756
- },
757
- };
758
- const _deployments = {
759
- [ChainId.EthMainnet]: {
760
- morpho: 18883124n,
761
- permit2: 15986406n,
762
- bundler3: {
763
- bundler3: 21643807n,
764
- generalAdapter1: 21872136n,
765
- paraswapAdapter: 21643807n,
766
- erc20WrapperAdapter: 21872136n,
767
- compoundV2MigrationAdapter: 21643807n,
768
- compoundV3MigrationAdapter: 21643807n,
769
- aaveV2MigrationAdapter: 21643807n,
770
- aaveV3CoreMigrationAdapter: 21643807n,
771
- aaveV3PrimeMigrationAdapter: 21643807n,
772
- aaveV3EtherFiMigrationAdapter: 21643807n,
773
- aaveV3OptimizerMigrationAdapter: 21643807n,
774
- },
775
- adaptiveCurveIrm: 18883124n,
776
- publicAllocator: 19375099n,
777
- metaMorphoFactory: 21439510n,
778
- vaultV2Factory: 23375073n,
779
- morphoMarketV1AdapterFactory: 23375073n,
780
- morphoMarketV1AdapterV2Factory: 23981459n,
781
- morphoVaultV1AdapterFactory: 23375073n,
782
- registryList: 23375119n,
783
- chainlinkOracleFactory: 19375066n,
784
- preLiquidationFactory: 21414664n,
785
- },
786
- [ChainId.BaseMainnet]: {
787
- morpho: 13977148n,
788
- permit2: 1425180n,
789
- bundler3: {
790
- bundler3: 25161671n,
791
- generalAdapter1: 26539234n,
792
- paraswapAdapter: 25161671n,
793
- erc20WrapperAdapter: 26539234n,
794
- compoundV3MigrationAdapter: 25161671n,
795
- aaveV3CoreMigrationAdapter: 25161671n,
796
- },
797
- adaptiveCurveIrm: 13977152n,
798
- publicAllocator: 13979545n,
799
- metaMorphoFactory: 23928808n,
800
- vaultV2Factory: 35615206n,
801
- morphoMarketV1AdapterFactory: 35615206n,
802
- morphoMarketV1AdapterV2Factory: 39285528n,
803
- morphoVaultV1AdapterFactory: 35615206n,
804
- registryList: 35615358n,
805
- chainlinkOracleFactory: 13978286n,
806
- preLiquidationFactory: 23779056n,
807
- },
808
- [ChainId.PolygonMainnet]: {
809
- morpho: 66931042n,
810
- bundler3: {
811
- bundler3: 68074185n,
812
- generalAdapter1: 68074185n,
813
- paraswapAdapter: 68074185n,
814
- compoundV3MigrationAdapter: 68690465n,
815
- aaveV2MigrationAdapter: 68690465n,
816
- aaveV3CoreMigrationAdapter: 68690465n,
817
- },
818
- permit2: 35701901n,
819
- adaptiveCurveIrm: 66931042n,
820
- publicAllocator: 66931042n,
821
- metaMorphoFactory: 66931042n,
822
- vaultV2Factory: 77371907n,
823
- morphoMarketV1AdapterFactory: 77371907n,
824
- morphoMarketV1AdapterV2Factory: 80128162n,
825
- morphoVaultV1AdapterFactory: 77371907n,
826
- registryList: 77372020n,
827
- chainlinkOracleFactory: 66931042n,
828
- preLiquidationFactory: 68074185n,
829
- },
830
- [ChainId.ArbitrumMainnet]: {
831
- morpho: 296446593n,
832
- bundler3: {
833
- bundler3: 307326238n,
834
- generalAdapter1: 307326238n,
835
- paraswapAdapter: 307326988n,
836
- aaveV3CoreMigrationAdapter: 358694526n,
837
- compoundV3MigrationAdapter: 358693964n,
838
- },
839
- permit2: 38692735n,
840
- adaptiveCurveIrm: 296446593n,
841
- publicAllocator: 296446593n,
842
- metaMorphoFactory: 296447195n,
843
- vaultV2Factory: 387016724n,
844
- morphoMarketV1AdapterFactory: 387016724n,
845
- morphoMarketV1AdapterV2Factory: 409152917n,
846
- morphoVaultV1AdapterFactory: 387016724n,
847
- registryList: 387017701n,
848
- chainlinkOracleFactory: 296447195n,
849
- preLiquidationFactory: 307326238n,
850
- },
851
- [ChainId.OptimismMainnet]: {
852
- morpho: 130770075n,
853
- bundler3: {
854
- bundler3: 132139369n,
855
- generalAdapter1: 132139369n,
856
- paraswapAdapter: 132139438n,
857
- },
858
- permit2: 38854427n,
859
- adaptiveCurveIrm: 130770075n,
860
- publicAllocator: 130770075n,
861
- metaMorphoFactory: 130770189n,
862
- vaultV2Factory: 142122059n,
863
- morphoMarketV1AdapterFactory: 142122059n,
864
- morphoMarketV1AdapterV2Factory: 144881071n,
865
- morphoVaultV1AdapterFactory: 142122059n,
866
- registryList: 142122170n,
867
- chainlinkOracleFactory: 130770189n,
868
- preLiquidationFactory: 132139369n,
869
- },
870
- [ChainId.WorldChainMainnet]: {
871
- morpho: 9025669n,
872
- bundler3: {
873
- bundler3: 10273494n,
874
- generalAdapter1: 10273494n,
875
- },
876
- adaptiveCurveIrm: 9025669n,
877
- publicAllocator: 9025669n,
878
- metaMorphoFactory: 9025733n,
879
- vaultV2Factory: 20253005n,
880
- morphoMarketV1AdapterFactory: 20253005n,
881
- morphoMarketV1AdapterV2Factory: 23013012n,
882
- morphoVaultV1AdapterFactory: 20253005n,
883
- registryList: 20253132n,
884
- chainlinkOracleFactory: 9025733n,
885
- preLiquidationFactory: 10273494n,
886
- },
887
- [ChainId.FraxtalMainnet]: {
888
- morpho: 15317931n,
889
- bundler3: {
890
- bundler3: 16536231n,
891
- generalAdapter1: 16536231n,
892
- },
893
- adaptiveCurveIrm: 15317931n,
894
- publicAllocator: 15317931n,
895
- metaMorphoFactory: 15318007n,
896
- chainlinkOracleFactory: 15318007n,
897
- preLiquidationFactory: 16536231n,
898
- },
899
- [ChainId.ScrollMainnet]: {
900
- morpho: 12842868n,
901
- bundler3: {
902
- bundler3: 13504587n,
903
- generalAdapter1: 13504587n,
904
- },
905
- adaptiveCurveIrm: 12842868n,
906
- publicAllocator: 12842868n,
907
- metaMorphoFactory: 12842903n,
908
- chainlinkOracleFactory: 12842903n,
909
- preLiquidationFactory: 13504587n,
910
- },
911
- [ChainId.InkMainnet]: {
912
- morpho: 4078776n,
913
- bundler3: {
914
- bundler3: 6385077n,
915
- generalAdapter1: 6385077n,
916
- },
917
- adaptiveCurveIrm: 4078776n,
918
- publicAllocator: 4078776n,
919
- metaMorphoFactory: 4078830n,
920
- chainlinkOracleFactory: 4078830n,
921
- preLiquidationFactory: 6385077n,
922
- },
923
- [ChainId.Unichain]: {
924
- morpho: 9139027n,
925
- permit2: 0n,
926
- bundler3: {
927
- bundler3: 9381237n,
928
- generalAdapter1: 9381237n,
929
- paraswapAdapter: 20872902n,
930
- compoundV3MigrationAdapter: 22019479n,
931
- },
932
- adaptiveCurveIrm: 9139027n,
933
- publicAllocator: 9139027n,
934
- metaMorphoFactory: 9316789n,
935
- vaultV2Factory: 29092109n,
936
- morphoMarketV1AdapterFactory: 29092109n,
937
- morphoMarketV1AdapterV2Factory: 34613548n,
938
- morphoVaultV1AdapterFactory: 29092109n,
939
- registryList: 29092328n,
940
- chainlinkOracleFactory: 9316789n,
941
- preLiquidationFactory: 9381237n,
942
- },
943
- [ChainId.SonicMainnet]: {
944
- morpho: 9100931n,
945
- bundler3: {
946
- bundler3: 9102286n,
947
- generalAdapter1: 9102286n,
948
- },
949
- adaptiveCurveIrm: 9100931n,
950
- publicAllocator: 9100931n,
951
- metaMorphoFactory: 9101319n,
952
- chainlinkOracleFactory: 9101319n,
953
- preLiquidationFactory: 9102286n,
954
- },
955
- [ChainId.HemiMainnet]: {
956
- morpho: 1188872n,
957
- bundler3: {
958
- bundler3: 1188907n,
959
- generalAdapter1: 1188907n,
960
- },
961
- adaptiveCurveIrm: 1188872n,
962
- publicAllocator: 1188872n,
963
- metaMorphoFactory: 1188885n,
964
- chainlinkOracleFactory: 1188885n,
965
- preLiquidationFactory: 1188907n,
966
- },
967
- [ChainId.ModeMainnet]: {
968
- morpho: 19983370n,
969
- bundler3: {
970
- bundler3: 19983599n,
971
- generalAdapter1: 19983599n,
972
- },
973
- adaptiveCurveIrm: 19983370n,
974
- publicAllocator: 19983370n,
975
- metaMorphoFactory: 19983443n,
976
- chainlinkOracleFactory: 19983443n,
977
- preLiquidationFactory: 19983599n,
978
- },
979
- [ChainId.CornMainnet]: {
980
- morpho: 251401n,
981
- bundler3: {
982
- bundler3: 253107n,
983
- generalAdapter1: 253107n,
984
- },
985
- adaptiveCurveIrm: 251401n,
986
- publicAllocator: 251401n,
987
- metaMorphoFactory: 253027n,
988
- chainlinkOracleFactory: 253027n,
989
- preLiquidationFactory: 253107n,
990
- },
991
- [ChainId.PlumeMainnet]: {
992
- morpho: 765994n,
993
- bundler3: {
994
- bundler3: 789925n,
995
- generalAdapter1: 789925n,
996
- },
997
- adaptiveCurveIrm: 765994n,
998
- publicAllocator: 765994n,
999
- metaMorphoFactory: 766078n,
1000
- vaultV2Factory: 32235414n,
1001
- morphoMarketV1AdapterFactory: 32235414n,
1002
- morphoMarketV1AdapterV2Factory: 41965167n,
1003
- morphoVaultV1AdapterFactory: 32235414n,
1004
- registryList: 32235782n,
1005
- chainlinkOracleFactory: 766078n,
1006
- preLiquidationFactory: 789925n,
1007
- },
1008
- [ChainId.CampMainnet]: {
1009
- morpho: 2410315n,
1010
- bundler3: {
1011
- bundler3: 2471517n,
1012
- generalAdapter1: 2471517n,
1013
- },
1014
- adaptiveCurveIrm: 2410315n,
1015
- publicAllocator: 2410315n,
1016
- metaMorphoFactory: 2410440n,
1017
- chainlinkOracleFactory: 2410440n,
1018
- preLiquidationFactory: 2471517n,
1019
- },
1020
- [ChainId.KatanaMainnet]: {
1021
- morpho: 2741069n,
1022
- bundler3: {
1023
- bundler3: 2741993n,
1024
- generalAdapter1: 2741993n,
1025
- },
1026
- adaptiveCurveIrm: 2741069n,
1027
- publicAllocator: 2741069n,
1028
- metaMorphoFactory: 2741420n,
1029
- vaultV2Factory: 13096629n,
1030
- morphoMarketV1AdapterFactory: 13096629n,
1031
- morphoMarketV1AdapterV2Factory: 18619527n,
1032
- morphoVaultV1AdapterFactory: 13096629n,
1033
- registryList: 13096853n,
1034
- chainlinkOracleFactory: 2741420n,
1035
- preLiquidationFactory: 2741993n,
1036
- },
1037
- [ChainId.EtherlinkMainnet]: {
1038
- morpho: 21047448n,
1039
- bundler3: {
1040
- bundler3: 21050766n,
1041
- generalAdapter1: 21050766n,
1042
- },
1043
- adaptiveCurveIrm: 21047448n,
1044
- publicAllocator: 21047448n,
1045
- metaMorphoFactory: 21050315n,
1046
- chainlinkOracleFactory: 21050315n,
1047
- preLiquidationFactory: 21050766n,
1048
- },
1049
- [ChainId.TacMainnet]: {
1050
- morpho: 853025n,
1051
- permit2: 553679n,
1052
- bundler3: {
1053
- bundler3: 978967n,
1054
- generalAdapter1: 978967n,
1055
- },
1056
- adaptiveCurveIrm: 853025n,
1057
- publicAllocator: 853025n,
1058
- metaMorphoFactory: 978654n,
1059
- chainlinkOracleFactory: 978654n,
1060
- preLiquidationFactory: 978967n,
1061
- },
1062
- [ChainId.LiskMainnet]: {
1063
- morpho: 15731231n,
1064
- bundler3: {
1065
- bundler3: 15731595n,
1066
- generalAdapter1: 15731595n,
1067
- },
1068
- adaptiveCurveIrm: 15731231n,
1069
- publicAllocator: 15731231n,
1070
- metaMorphoFactory: 15731333n,
1071
- chainlinkOracleFactory: 15731333n,
1072
- preLiquidationFactory: 15731595n,
1073
- },
1074
- [ChainId.HyperliquidMainnet]: {
1075
- morpho: 1988429n,
1076
- bundler3: {
1077
- bundler3: 1988956n,
1078
- generalAdapter1: 1988956n,
1079
- },
1080
- adaptiveCurveIrm: 1988429n,
1081
- publicAllocator: 1988429n,
1082
- metaMorphoFactory: 1988677n,
1083
- vaultV2Factory: 14188393n,
1084
- morphoMarketV1AdapterFactory: 14188393n,
1085
- morphoMarketV1AdapterV2Factory: 21460330n,
1086
- morphoVaultV1AdapterFactory: 14188393n,
1087
- registryList: 14188698n,
1088
- chainlinkOracleFactory: 1988677n,
1089
- preLiquidationFactory: 1988956n,
1090
- },
1091
- [ChainId.SeiMainnet]: {
1092
- morpho: 166036723n,
1093
- bundler3: {
1094
- bundler3: 168897284n,
1095
- generalAdapter1: 168897284n,
1096
- },
1097
- permit2: 118721449n,
1098
- adaptiveCurveIrm: 166036723n,
1099
- publicAllocator: 166036723n,
1100
- metaMorphoFactory: 168896078n,
1101
- chainlinkOracleFactory: 168896078n,
1102
- preLiquidationFactory: 168897284n,
1103
- usdc: 154131168n,
1104
- },
1105
- [ChainId.ZeroGMainnet]: {
1106
- morpho: 7526486n,
1107
- bundler3: {
1108
- bundler3: 7527649n,
1109
- generalAdapter1: 7527649n,
1110
- },
1111
- adaptiveCurveIrm: 7526486n,
1112
- publicAllocator: 7526486n,
1113
- metaMorphoFactory: 7526768n,
1114
- chainlinkOracleFactory: 7526768n,
1115
- preLiquidationFactory: 7527649n,
1116
- },
1117
- [ChainId.LineaMainnet]: {
1118
- morpho: 25072608n,
1119
- bundler3: {
1120
- bundler3: 25072853n,
1121
- generalAdapter1: 25072853n,
1122
- },
1123
- adaptiveCurveIrm: 25072608n,
1124
- publicAllocator: 25072608n,
1125
- metaMorphoFactory: 25072665n,
1126
- vaultV2Factory: 25072951n,
1127
- morphoMarketV1AdapterFactory: 25072951n,
1128
- morphoVaultV1AdapterFactory: 25072951n,
1129
- registryList: 25073088n,
1130
- chainlinkOracleFactory: 25072665n,
1131
- preLiquidationFactory: 25072853n,
1132
- },
1133
- [ChainId.MonadMainnet]: {
1134
- morpho: 31907457n,
1135
- bundler3: {
1136
- bundler3: 32321504n,
1137
- generalAdapter1: 32321504n,
1138
- },
1139
- adaptiveCurveIrm: 31907457n,
1140
- publicAllocator: 31907457n,
1141
- metaMorphoFactory: 32320327n,
1142
- vaultV2Factory: 32321811n,
1143
- morphoMarketV1AdapterFactory: 32321811n,
1144
- morphoMarketV1AdapterV2Factory: 41103883n,
1145
- morphoVaultV1AdapterFactory: 32321811n,
1146
- registryList: 32322465n,
1147
- chainlinkOracleFactory: 32320327n,
1148
- preLiquidationFactory: 32321504n,
1149
- usdc: 22909616n,
1150
- },
1151
- [ChainId.StableMainnet]: {
1152
- morpho: 1504506n,
1153
- bundler3: {
1154
- bundler3: 1741861n,
1155
- generalAdapter1: 1741861n,
1156
- },
1157
- adaptiveCurveIrm: 1504506n,
1158
- publicAllocator: 1504506n,
1159
- metaMorphoFactory: 1504774n,
1160
- vaultV2Factory: 1506182n,
1161
- morphoMarketV1AdapterFactory: 1506182n,
1162
- morphoVaultV1AdapterFactory: 1506182n,
1163
- morphoMarketV1AdapterV2Factory: 5110812n,
1164
- registryList: 1506877n,
1165
- chainlinkOracleFactory: 1504774n,
1166
- preLiquidationFactory: 1741861n,
1167
- },
1168
- [ChainId.CronosMainnet]: {
1169
- morpho: 38459435n,
1170
- bundler3: {
1171
- bundler3: 38460388n,
1172
- generalAdapter1: 38460388n,
1173
- },
1174
- adaptiveCurveIrm: 38459435n,
1175
- publicAllocator: 38459435n,
1176
- metaMorphoFactory: 38459727n,
1177
- vaultV2Factory: 38461643n,
1178
- morphoMarketV1AdapterFactory: 38461643n,
1179
- morphoMarketV1AdapterV2Factory: 44236918n,
1180
- morphoVaultV1AdapterFactory: 38461643n,
1181
- registryList: 38461812n,
1182
- chainlinkOracleFactory: 38459727n,
1183
- preLiquidationFactory: 38460388n,
1184
- },
1185
- [ChainId.CeloMainnet]: {
1186
- morpho: 40249329n,
1187
- bundler3: {
1188
- bundler3: 41808392n,
1189
- generalAdapter1: 41808392n,
1190
- },
1191
- adaptiveCurveIrm: 40249329n,
1192
- publicAllocator: 40249329n,
1193
- metaMorphoFactory: 40259931n,
1194
- chainlinkOracleFactory: 40259931n,
1195
- preLiquidationFactory: 41808392n,
1196
- usdc: 23412006n,
1197
- },
1198
- [ChainId.AbstractMainnet]: {
1199
- morpho: 13947713n,
1200
- bundler3: {
1201
- bundler3: 13949482n,
1202
- generalAdapter1: 13949482n,
1203
- },
1204
- adaptiveCurveIrm: 13947713n,
1205
- publicAllocator: 13947713n,
1206
- metaMorphoFactory: 13949369n,
1207
- chainlinkOracleFactory: 13949369n,
1208
- preLiquidationFactory: 13949482n,
1209
- usdc: 53247n,
1210
- },
1211
- [ChainId.BitlayerMainnet]: {
1212
- morpho: 13516997n,
1213
- bundler3: {
1214
- bundler3: 13638316n,
1215
- generalAdapter1: 13638316n,
1216
- },
1217
- adaptiveCurveIrm: 13516997n,
1218
- publicAllocator: 13516997n,
1219
- metaMorphoFactory: 13638155n,
1220
- chainlinkOracleFactory: 13638155n,
1221
- preLiquidationFactory: 13638316n,
1222
- usdc: 4041175n,
1223
- },
1224
- [ChainId.BscMainnet]: {
1225
- morpho: 54344680n,
1226
- permit2: 25343783n,
1227
- bundler3: {
1228
- bundler3: 54346080n,
1229
- generalAdapter1: 54346080n,
1230
- },
1231
- adaptiveCurveIrm: 54344680n,
1232
- publicAllocator: 54344680n,
1233
- metaMorphoFactory: 54344985n,
1234
- chainlinkOracleFactory: 54344985n,
1235
- preLiquidationFactory: 54346080n,
1236
- },
1237
- [ChainId.SoneiumMainnet]: {
1238
- morpho: 6440817n,
1239
- bundler3: {
1240
- bundler3: 6443359n,
1241
- generalAdapter1: 6443359n,
1242
- },
1243
- adaptiveCurveIrm: 6440817n,
1244
- publicAllocator: 6440817n,
1245
- metaMorphoFactory: 6440899n,
1246
- chainlinkOracleFactory: 6440899n,
1247
- preLiquidationFactory: 6443359n,
1248
- },
1249
- [ChainId.TempoMainnet]: {
1250
- morpho: 2375189n,
1251
- bundler3: {
1252
- bundler3: 2375313n,
1253
- generalAdapter1: 2375301n,
1254
- },
1255
- adaptiveCurveIrm: 2375313n,
1256
- vaultV2Factory: 2375650n,
1257
- morphoMarketV1AdapterV2Factory: 2375701n,
1258
- morphoVaultV1AdapterFactory: 16475630n,
1259
- registryList: 2375601n,
1260
- chainlinkOracleFactory: 2375626n,
1261
- preLiquidationFactory: 2375010n,
1262
- },
1263
- [ChainId.EdenMainnet]: {
1264
- morpho: 53363569n,
1265
- permit2: 52269150n,
1266
- bundler3: {
1267
- bundler3: 53363569n,
1268
- generalAdapter1: 53363569n,
1269
- },
1270
- adaptiveCurveIrm: 53363569n,
1271
- vaultV2Factory: 53366326n,
1272
- morphoMarketV1AdapterV2Factory: 53367797n,
1273
- registryList: 53367797n,
1274
- chainlinkOracleFactory: 53364880n,
1275
- preLiquidationFactory: 53364880n,
1276
- wNative: 0n,
1277
- },
1278
- [ChainId.PharosMainnet]: {
1279
- morpho: 4202147n,
1280
- permit2: 0n,
1281
- bundler3: {
1282
- bundler3: 4202147n,
1283
- generalAdapter1: 4202147n,
1284
- },
1285
- adaptiveCurveIrm: 4202147n,
1286
- vaultV2Factory: 4240410n,
1287
- morphoMarketV1AdapterV2Factory: 4240521n,
1288
- registryList: 4240521n,
1289
- chainlinkOracleFactory: 4202252n,
1290
- preLiquidationFactory: 4202252n,
1291
- wNative: 1617294n,
1292
- },
1293
- [ChainId.GensynMainnet]: {
1294
- morpho: 7520470n,
1295
- permit2: 0n,
1296
- bundler3: {
1297
- bundler3: 7520470n,
1298
- generalAdapter1: 7520470n,
1299
- },
1300
- adaptiveCurveIrm: 7520470n,
1301
- vaultV2Factory: 7520624n,
1302
- morphoMarketV1AdapterV2Factory: 7520701n,
1303
- registryList: 7520701n,
1304
- chainlinkOracleFactory: 7520548n,
1305
- preLiquidationFactory: 7520548n,
1306
- wNative: 0n,
1307
- },
1308
- [ChainId.FlareMainnet]: {
1309
- morpho: 52378788n,
1310
- permit2: 58377404n,
1311
- bundler3: {
1312
- bundler3: 52378788n,
1313
- generalAdapter1: 52378788n,
1314
- },
1315
- adaptiveCurveIrm: 52378788n,
1316
- vaultV2Factory: 52383002n,
1317
- morphoMarketV1AdapterV2Factory: 52383110n,
1318
- registryList: 52383110n,
1319
- chainlinkOracleFactory: 52378931n,
1320
- preLiquidationFactory: 52378931n,
1321
- wNative: 39n,
1322
- },
1323
- [ChainId.XdcMainnet]: {
1324
- morpho: 101757515n,
1325
- permit2: 92945178n,
1326
- bundler3: {
1327
- bundler3: 101757515n,
1328
- generalAdapter1: 101757515n,
1329
- },
1330
- adaptiveCurveIrm: 101757515n,
1331
- vaultV2Factory: 101757669n,
1332
- morphoMarketV1AdapterV2Factory: 101757823n,
1333
- registryList: 101757823n,
1334
- chainlinkOracleFactory: 101757578n,
1335
- preLiquidationFactory: 101757578n,
1336
- wNative: 42776215n,
1337
- },
1338
- [ChainId.KaiaMainnet]: {
1339
- morpho: 208021118n,
1340
- permit2: 188994815n,
1341
- bundler3: {
1342
- bundler3: 208021118n,
1343
- generalAdapter1: 208021118n,
1344
- },
1345
- adaptiveCurveIrm: 208021118n,
1346
- vaultV2Factory: 213463014n,
1347
- morphoMarketV1AdapterV2Factory: 213463079n,
1348
- registryList: 213463079n,
1349
- chainlinkOracleFactory: 213462907n,
1350
- preLiquidationFactory: 213462907n,
1351
- wNative: 104802159n,
1352
- },
1353
- [ChainId.ArcMainnet]: {
1354
- morpho: 1208685n,
1355
- permit2: 0n,
1356
- bundler3: {
1357
- bundler3: 1208685n,
1358
- generalAdapter1: 1208685n,
1359
- },
1360
- adaptiveCurveIrm: 1208685n,
1361
- vaultV2Factory: 1208931n,
1362
- morphoMarketV1AdapterV2Factory: 1208978n,
1363
- registryList: 1208978n,
1364
- chainlinkOracleFactory: 1208882n,
1365
- preLiquidationFactory: 1208882n,
1366
- },
1367
- [ChainId.MorphMainnet]: {
1368
- morpho: 23180020n,
1369
- permit2: 5081244n,
1370
- bundler3: {
1371
- bundler3: 23180020n,
1372
- generalAdapter1: 23180020n,
1373
- },
1374
- adaptiveCurveIrm: 23180020n,
1375
- vaultV2Factory: 23180183n,
1376
- morphoMarketV1AdapterV2Factory: 23180228n,
1377
- registryList: 23180228n,
1378
- chainlinkOracleFactory: 23180111n,
1379
- preLiquidationFactory: 23180111n,
1380
- wNative: 0n,
1381
- },
1382
- [ChainId.MegaEthMainnet]: {
1383
- morpho: 16408957n,
1384
- permit2: 0n,
1385
- bundler3: {
1386
- bundler3: 16408957n,
1387
- generalAdapter1: 16408957n,
1388
- },
1389
- adaptiveCurveIrm: 16408957n,
1390
- vaultV2Factory: 16409067n,
1391
- morphoMarketV1AdapterV2Factory: 16409115n,
1392
- registryList: 16409115n,
1393
- chainlinkOracleFactory: 16409024n,
1394
- preLiquidationFactory: 16409024n,
1395
- wNative: 0n,
1396
- },
1397
- };
1398
- /**
1399
- * Returns the protocol address registry for a chain.
1400
- *
1401
- * @param chainId - The EIP-155 chain id.
1402
- * @returns The configured protocol, adapter, factory, and token addresses for `chainId`.
1403
- * @throws {UnsupportedChainIdError} when no address registry exists for `chainId`.
1404
- * @example
1405
- * ```ts
1406
- * import { ChainId, getChainAddresses } from "@morpho-org/blue-sdk";
1407
- *
1408
- * const chainAddresses = getChainAddresses(ChainId.EthMainnet);
1409
- * // chainAddresses satisfies ChainAddresses
1410
- * ```
1411
- */
1412
- export const getChainAddresses = (chainId) => {
1413
- const chainAddresses = addresses[chainId];
1414
- if (chainAddresses == null)
1415
- throw new UnsupportedChainIdError(chainId);
1416
- return chainAddresses;
1417
- };
1418
- /**
1419
- * Assumptions:
1420
- * - unwrapped token has same number of decimals than wrapped tokens.
1421
- */
1422
- const _unwrappedTokensMapping = {
1423
- [ChainId.EthMainnet]: {
1424
- [_addressesRegistry[ChainId.EthMainnet].wbIB01]: _addressesRegistry[ChainId.EthMainnet].bIB01,
1425
- [_addressesRegistry[ChainId.EthMainnet].wbC3M]: _addressesRegistry[ChainId.EthMainnet].bC3M,
1426
- [_addressesRegistry[ChainId.EthMainnet].wNative]: NATIVE_ADDRESS,
1427
- [_addressesRegistry[ChainId.EthMainnet].stEth]: NATIVE_ADDRESS,
1428
- [_addressesRegistry[ChainId.EthMainnet].wstEth]: _addressesRegistry[ChainId.EthMainnet].stEth,
1429
- [_addressesRegistry[ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"]]: _addressesRegistry[ChainId.EthMainnet].crvUSDTWBTCWETH,
1430
- [_addressesRegistry[ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"]]: _addressesRegistry[ChainId.EthMainnet].crvUSDCWBTCWETH,
1431
- [_addressesRegistry[ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"]]: _addressesRegistry[ChainId.EthMainnet].crvCRVUSDTBTCWSTETH,
1432
- [_addressesRegistry[ChainId.EthMainnet]["stkcvxTryLSD-morpho"]]: _addressesRegistry[ChainId.EthMainnet].tryLSD,
1433
- [_addressesRegistry[ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"]]: _addressesRegistry[ChainId.EthMainnet].crvUSDETHCRV,
1434
- [_addressesRegistry[ChainId.EthMainnet]["stkcvx2BTC-f-morpho"]]: _addressesRegistry[ChainId.EthMainnet]["2BTC-f"],
1435
- },
1436
- [ChainId.BaseMainnet]: {
1437
- [_addressesRegistry[ChainId.BaseMainnet].wNative]: NATIVE_ADDRESS,
1438
- [_addressesRegistry[ChainId.BaseMainnet].verUsdc]: _addressesRegistry[ChainId.BaseMainnet].usdc,
1439
- [_addressesRegistry[ChainId.BaseMainnet].testUsdc]: _addressesRegistry[ChainId.BaseMainnet].usdc,
1440
- },
1441
- [ChainId.PolygonMainnet]: {
1442
- [_addressesRegistry[ChainId.PolygonMainnet].wNative]: NATIVE_ADDRESS,
1443
- },
1444
- [ChainId.OptimismMainnet]: {
1445
- [_addressesRegistry[ChainId.OptimismMainnet].wNative]: NATIVE_ADDRESS,
1446
- },
1447
- [ChainId.WorldChainMainnet]: {
1448
- [_addressesRegistry[ChainId.WorldChainMainnet].wNative]: NATIVE_ADDRESS,
1449
- },
1450
- [ChainId.ScrollMainnet]: {
1451
- [_addressesRegistry[ChainId.ScrollMainnet].wNative]: NATIVE_ADDRESS,
1452
- },
1453
- [ChainId.InkMainnet]: {
1454
- [_addressesRegistry[ChainId.InkMainnet].wNative]: NATIVE_ADDRESS,
1455
- },
1456
- [ChainId.Unichain]: {
1457
- [_addressesRegistry[ChainId.Unichain].wNative]: NATIVE_ADDRESS,
1458
- },
1459
- [ChainId.SonicMainnet]: {
1460
- [_addressesRegistry[ChainId.SonicMainnet].wNative]: NATIVE_ADDRESS,
1461
- },
1462
- [ChainId.HemiMainnet]: {
1463
- [_addressesRegistry[ChainId.HemiMainnet].wNative]: NATIVE_ADDRESS,
1464
- },
1465
- [ChainId.ModeMainnet]: {
1466
- [_addressesRegistry[ChainId.ModeMainnet].wNative]: NATIVE_ADDRESS,
1467
- },
1468
- [ChainId.CornMainnet]: {
1469
- [_addressesRegistry[ChainId.CornMainnet].wNative]: NATIVE_ADDRESS,
1470
- },
1471
- [ChainId.PlumeMainnet]: {
1472
- [_addressesRegistry[ChainId.PlumeMainnet].wNative]: NATIVE_ADDRESS,
1473
- },
1474
- [ChainId.CampMainnet]: {
1475
- [_addressesRegistry[ChainId.CampMainnet].wNative]: NATIVE_ADDRESS,
1476
- },
1477
- [ChainId.KatanaMainnet]: {
1478
- [_addressesRegistry[ChainId.KatanaMainnet].wNative]: NATIVE_ADDRESS,
1479
- },
1480
- [ChainId.ArbitrumMainnet]: {
1481
- [_addressesRegistry[ChainId.ArbitrumMainnet].wNative]: NATIVE_ADDRESS,
1482
- },
1483
- [ChainId.EtherlinkMainnet]: {
1484
- [_addressesRegistry[ChainId.EtherlinkMainnet].wNative]: NATIVE_ADDRESS,
1485
- },
1486
- [ChainId.TacMainnet]: {
1487
- [_addressesRegistry[ChainId.TacMainnet].wNative]: NATIVE_ADDRESS,
1488
- },
1489
- [ChainId.LiskMainnet]: {
1490
- [_addressesRegistry[ChainId.LiskMainnet].wNative]: NATIVE_ADDRESS,
1491
- },
1492
- [ChainId.HyperliquidMainnet]: {
1493
- [_addressesRegistry[ChainId.HyperliquidMainnet].wNative]: NATIVE_ADDRESS,
1494
- },
1495
- [ChainId.SeiMainnet]: {
1496
- [_addressesRegistry[ChainId.SeiMainnet].wNative]: NATIVE_ADDRESS,
1497
- },
1498
- [ChainId.ZeroGMainnet]: {
1499
- [_addressesRegistry[ChainId.ZeroGMainnet].wNative]: NATIVE_ADDRESS,
1500
- },
1501
- [ChainId.LineaMainnet]: {
1502
- [_addressesRegistry[ChainId.LineaMainnet].wNative]: NATIVE_ADDRESS,
1503
- },
1504
- [ChainId.MonadMainnet]: {
1505
- [_addressesRegistry[ChainId.MonadMainnet].wNative]: NATIVE_ADDRESS,
1506
- },
1507
- [ChainId.CronosMainnet]: {
1508
- [_addressesRegistry[ChainId.CronosMainnet].wNative]: NATIVE_ADDRESS,
1509
- },
1510
- [ChainId.AbstractMainnet]: {
1511
- [_addressesRegistry[ChainId.AbstractMainnet].wNative]: NATIVE_ADDRESS,
1512
- },
1513
- [ChainId.BitlayerMainnet]: {
1514
- [_addressesRegistry[ChainId.BitlayerMainnet].wNative]: NATIVE_ADDRESS,
1515
- },
1516
- [ChainId.BscMainnet]: {
1517
- [_addressesRegistry[ChainId.BscMainnet].wNative]: NATIVE_ADDRESS,
1518
- },
1519
- [ChainId.SoneiumMainnet]: {
1520
- [_addressesRegistry[ChainId.SoneiumMainnet].wNative]: NATIVE_ADDRESS,
1521
- },
1522
- [ChainId.EdenMainnet]: {
1523
- [_addressesRegistry[ChainId.EdenMainnet].wNative]: NATIVE_ADDRESS,
1524
- },
1525
- [ChainId.PharosMainnet]: {
1526
- [_addressesRegistry[ChainId.PharosMainnet].wNative]: NATIVE_ADDRESS,
1527
- },
1528
- [ChainId.GensynMainnet]: {
1529
- [_addressesRegistry[ChainId.GensynMainnet].wNative]: NATIVE_ADDRESS,
1530
- },
1531
- [ChainId.FlareMainnet]: {
1532
- [_addressesRegistry[ChainId.FlareMainnet].wNative]: NATIVE_ADDRESS,
1533
- },
1534
- [ChainId.XdcMainnet]: {
1535
- [_addressesRegistry[ChainId.XdcMainnet].wNative]: NATIVE_ADDRESS,
1536
- },
1537
- [ChainId.KaiaMainnet]: {
1538
- [_addressesRegistry[ChainId.KaiaMainnet].wNative]: NATIVE_ADDRESS,
1539
- },
1540
- [ChainId.MorphMainnet]: {
1541
- [_addressesRegistry[ChainId.MorphMainnet].wNative]: NATIVE_ADDRESS,
1542
- },
1543
- [ChainId.MegaEthMainnet]: {
1544
- [_addressesRegistry[ChainId.MegaEthMainnet].wNative]: NATIVE_ADDRESS,
1545
- },
1546
- };
1547
- /**
1548
- * Returns the unwrapped token mapped to a wrapped token on a chain.
1549
- *
1550
- * @param wrappedToken - The wrapped token address to resolve.
1551
- * @param chainId - The EIP-155 chain id.
1552
- * @returns The unwrapped token address, or `undefined` when no mapping is registered.
1553
- * @example
1554
- * ```ts
1555
- * import { ChainId, getUnwrappedToken, NATIVE_ADDRESS, addresses } from "@morpho-org/blue-sdk";
1556
- *
1557
- * const unwrapped = getUnwrappedToken(addresses[ChainId.EthMainnet].wNative!, ChainId.EthMainnet);
1558
- * // unwrapped === NATIVE_ADDRESS
1559
- * ```
1560
- */
1561
- export function getUnwrappedToken(wrappedToken, chainId) {
1562
- return unwrappedTokensMapping[chainId]?.[wrappedToken];
1563
- }
1564
- /**
1565
- * The registry of all known ERC20Wrapper tokens.
1566
- */
1567
- export const erc20WrapperTokens = {};
1568
- /**
1569
- * The registry of all known PermissionedERC20Wrapper with a `hasPermission` getter.
1570
- * All permissioned wrapper tokens are considered ERC20Wrapper and automatically added to the erc20WrapperTokens registry.
1571
- */
1572
- export const permissionedWrapperTokens = {
1573
- [ChainId.BaseMainnet]: new Set([
1574
- _addressesRegistry[ChainId.BaseMainnet].testUsdc,
1575
- ]),
1576
- };
1577
- /**
1578
- * The registry of all known permissioned wrapped Backed tokens.
1579
- * All permissioned Backed tokens are considered ERC20Wrapper and automatically added to the erc20WrapperTokens registry.
1580
- */
1581
- export const permissionedBackedTokens = {
1582
- [ChainId.EthMainnet]: new Set([
1583
- _addressesRegistry[ChainId.EthMainnet].wbIB01,
1584
- _addressesRegistry[ChainId.EthMainnet].wbC3M,
1585
- ]),
1586
- };
1587
- /**
1588
- * The registry of all known permissioned wrapped tokens that require a Coinbase attestation.
1589
- * All permissioned Coinbase tokens are considered PermissionedERC20Wrapper and automatically added to the permissionedWrapperTokens registry.
1590
- */
1591
- export const permissionedCoinbaseTokens = {
1592
- [ChainId.BaseMainnet]: new Set([
1593
- _addressesRegistry[ChainId.BaseMainnet].verUsdc,
1594
- ]),
1595
- };
1596
- /**
1597
- * Returns the known Coinbase-attested wrapped tokens for a chain.
1598
- *
1599
- * @param chainId - The EIP-155 chain id.
1600
- * @returns A set of permissioned wrapped token addresses, or an empty set when none are registered.
1601
- * @example
1602
- * ```ts
1603
- * import { ChainId, getPermissionedCoinbaseTokens } from "@morpho-org/blue-sdk";
1604
- *
1605
- * const tokens = getPermissionedCoinbaseTokens(ChainId.BaseMainnet);
1606
- * // tokens satisfies Set<Address>
1607
- * ```
1608
- */
1609
- export const getPermissionedCoinbaseTokens = (chainId) => permissionedCoinbaseTokens[chainId] ?? new Set();
1610
- entries(permissionedBackedTokens).forEach(([chainId, tokens]) => {
1611
- tokens.forEach((token) => (erc20WrapperTokens[chainId] ??= new Set()).add(token));
1612
- });
1613
- entries(permissionedCoinbaseTokens).forEach(([chainId, tokens]) => {
1614
- tokens.forEach((token) => (permissionedWrapperTokens[chainId] ??= new Set()).add(token));
1615
- });
1616
- entries(permissionedWrapperTokens).forEach(([chainId, tokens]) => {
1617
- tokens.forEach((token) => (erc20WrapperTokens[chainId] ??= new Set()).add(token));
1618
- });
1619
- /** /!\ These tokens can not be listed in `erc20WrapperTokens` because the following specs are different:
1620
- * - calling `depositFor` supplies on blue instead of minting wrapped token to the user
1621
- */
1622
- export const convexWrapperTokens = {
1623
- [ChainId.EthMainnet]: new Set([
1624
- _addressesRegistry[ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"],
1625
- _addressesRegistry[ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"],
1626
- _addressesRegistry[ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"],
1627
- _addressesRegistry[ChainId.EthMainnet]["stkcvxTryLSD-morpho"],
1628
- _addressesRegistry[ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"],
1629
- _addressesRegistry[ChainId.EthMainnet]["stkcvx2BTC-f-morpho"],
1630
- ]),
1631
- };
1632
- /** Deep-frozen registry of known chain addresses, keyed by chain id. */
1633
- export let addressesRegistry = deepFreeze(_addressesRegistry);
1634
- /** Address registry keyed by numeric chain id. */
1635
- export let addresses = addressesRegistry;
1636
- /** Deep-frozen registry of deployment blocks, keyed by chain id. */
1637
- export let deployments = deepFreeze(_deployments);
1638
- /** Deep-frozen registry of wrapped token to unwrapped token mappings. */
1639
- export let unwrappedTokensMapping = deepFreeze(_unwrappedTokensMapping);
1640
- /**
1641
- * Registers custom addresses and unwrapped token mappings to extend
1642
- * the default address registry (on ewisting or unknown chains).
1643
- *
1644
- * @param options - Optional configuration object
1645
- * @param options.unwrappedTokens - A mapping of chain IDs to token address maps,
1646
- * where each entry maps wrapped tokens to their unwrapped equivalents.
1647
- * @param options.addresses - Custom address entries to merge into the default registry.
1648
- * Can be a subset of `ChainAddresses` if chain is already known.
1649
- * Must provide all required addresses if chain is unknown.
1650
- * @param options.deployments - Custom deployment entries to merge into the default registry.
1651
- * Can be a subset of `ChainDeployments` if chain is already known.
1652
- * Must provide all required deployments if chain is unknown.
1653
- *
1654
- * @throws {Error} If attempting to override an existing address.
1655
- * @returns Nothing.
1656
- *
1657
- * @example
1658
- * ```ts
1659
- * registerCustomAddresses({
1660
- * addresses: {
1661
- * 1: { contract: "0xabc..." }
1662
- * },
1663
- * unwrappedTokens: {
1664
- * 1: { "0xWrapped": "0xUnwrapped" }
1665
- * }
1666
- * });
1667
- * ```
1668
- */
1669
- export function registerCustomAddresses({ unwrappedTokens, addresses: customAddresses, deployments: customDeployments, } = {}) {
1670
- const customizer = (type) =>
1671
- // biome-ignore lint/suspicious/noExplicitAny: type is not trivial and not important here
1672
- // biome-ignore lint/complexity/useMaxParams: TODO refactor to ≤2 params
1673
- (objValue, srcValue, key) => {
1674
- if (objValue !== undefined &&
1675
- !isPlainObject(objValue) &&
1676
- objValue !== srcValue)
1677
- throw new Error(`Cannot override existing ${type}: ${key}`);
1678
- };
1679
- if (customAddresses)
1680
- addresses = addressesRegistry = deepFreeze(mergeWith({}, addressesRegistry, customAddresses, customizer("address")));
1681
- if (customDeployments)
1682
- deployments = deepFreeze(mergeWith({}, deployments, customDeployments, customizer("deployment")));
1683
- if (unwrappedTokens)
1684
- unwrappedTokensMapping = deepFreeze(mergeWith({}, unwrappedTokensMapping, unwrappedTokens, customizer("unwrapped token")));
1685
- }
1
+ export { addresses, addressesRegistry, convexWrapperTokens, deployments, erc20WrapperTokens, getChainAddress, getChainAddresses, getPermissionedCoinbaseTokens, getUnwrappedToken, NATIVE_ADDRESS, permissionedBackedTokens, permissionedCoinbaseTokens, permissionedWrapperTokens, registerCustomAddresses, unwrappedTokensMapping, } from "@morpho-org/morpho-ts";