Skip to content

Commit be285b5

Browse files
authored
feat: Add ink, monad, xlayer for ezeth (#7287)
1 parent f4c471b commit be285b5

File tree

5 files changed

+143
-41
lines changed

5 files changed

+143
-41
lines changed

typescript/infra/config/environments/mainnet3/warp/configGetters/getRenzoEZETHSTAGEWarpConfig.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ const ezEthStagingAddresses: Record<
2828
berachain: '0x585afea249031Ea4168A379F664e91dFc5F77E7D',
2929
worldchain: '0xC33DdE0a44e3Bed87cc3Ff0325D3fcbA5279930E',
3030
plasma: '0x49E91677063E71FE521044535Ef58a3B546a23Cf',
31+
ink: '0x06232BC2a4388695a2C5A6C8e1F67743B9e6cc51',
32+
monad: '0x06232BC2a4388695a2C5A6C8e1F67743B9e6cc51',
33+
xlayer: '0x06232BC2a4388695a2C5A6C8e1F67743B9e6cc51',
3134
};
3235

3336
export const ezEthStagingSafes: Record<
@@ -51,6 +54,9 @@ export const ezEthStagingSafes: Record<
5154
berachain: '0xf013c8Be28421b050cca5bD95cc57Af49568e8be',
5255
worldchain: '0x3DA9AE6359Ad3eFFD33Ad334ae12bE55904BE4eA',
5356
plasma: '0xA9421c6F339eC414b7e77449986bE9C2Ae430C25',
57+
ink: '0xA9421c6F339eC414b7e77449986bE9C2Ae430C25',
58+
monad: '0xA9421c6F339eC414b7e77449986bE9C2Ae430C25',
59+
xlayer: '0xA9421c6F339eC414b7e77449986bE9C2Ae430C25',
5460
};
5561

5662
const ezEthStagingLockbox = '0x74c8290836612e6251E49e8f3198fdD80C4DbEB8';

typescript/infra/config/environments/mainnet3/warp/configGetters/getRenzoEZETHWarpConfig.ts

Lines changed: 130 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,34 @@ export const ezEthChainsToDeploy = [
3636
'berachain',
3737
'worldchain',
3838
'plasma',
39+
'ink',
40+
'monad',
41+
'xlayer',
3942
];
4043
export const MAX_PROTOCOL_FEE = parseEther('100').toString(); // Changing this will redeploy the PROTOCOL_FEE hook
4144

42-
// Used to stabilize the protocolFee of ProtocolHook such that we don't get diffs every time tokenPrices.json is updated
45+
// Used to stabilize the protocolFee of ProtocolHook upon deployment such that we don't get diffs every time tokenPrices.json is updated
4346
export const renzoTokenPrices: ChainMap<string> = {
44-
arbitrum: '3157.26',
45-
optimism: '3157.26',
46-
base: '3157.26',
47-
blast: '3157.26',
48-
bsc: '673.59',
49-
mode: '3157.26',
50-
linea: '3157.26',
51-
ethereum: '3157.26',
52-
fraxtal: '3168.75',
53-
zircuit: '3157.26',
54-
taiko: '3157.26',
55-
sei: '0.354988',
56-
swell: '3157.26',
57-
unichain: '2602.66',
58-
berachain: '10',
59-
worldchain: '1599.53',
60-
plasma: '0.90',
47+
arbitrum: '3157.26', // ETH
48+
optimism: '3157.26', // ETH
49+
base: '3157.26', // ETH
50+
blast: '3157.26', // ETH
51+
bsc: '673.59', // BNB
52+
mode: '3157.26', // ETH
53+
linea: '3157.26', // ETH
54+
ethereum: '3157.26', // ETH
55+
fraxtal: '3168.75', // ETH
56+
zircuit: '3157.26', // ETH
57+
taiko: '3157.26', // ETH
58+
sei: '0.354988', // SEI
59+
swell: '3157.26', // ETH
60+
unichain: '2602.66', // ETH
61+
berachain: '10', // BERA
62+
worldchain: '1599.53', // ETH
63+
plasma: '0.90', // XPL
64+
ink: '3900', // ETH
65+
monad: '1', // MON placeholder price to avoid division by zero
66+
xlayer: '165', // OKB
6167
};
6268
export function getProtocolFee(chain: ChainName) {
6369
const price = renzoTokenPrices[chain];
@@ -66,6 +72,7 @@ export function getProtocolFee(chain: ChainName) {
6672
}
6773

6874
// Fetched using: hyperlane warp check --warpRouteId EZETH/renzo-prod
75+
// Set After deployment
6976
const chainProtocolFee: Record<ChainName, string> = {
7077
arbitrum: '400000000000000',
7178
base: '400000000000000',
@@ -130,15 +137,18 @@ const ezEthAddresses: Record<(typeof ezEthChainsToDeploy)[number], string> = {
130137
berachain: '0x2416092f143378750bb29b79eD961ab195CcEea5',
131138
worldchain: '0x2416092f143378750bb29b79eD961ab195CcEea5',
132139
plasma: '0x2416092f143378750bb29b79eD961ab195CcEea5',
140+
ink: '0x2416092f143378750bb29b79eD961ab195CcEea5',
141+
monad: '0x2416092f143378750bb29b79eD961ab195CcEea5',
142+
xlayer: '0x2416092f143378750bb29b79eD961ab195CcEea5',
133143
};
134144

135145
export const ezEthValidators: ChainMap<MultisigConfig> = {
136146
arbitrum: {
137147
threshold: 1,
138148
validators: [
139149
{
140-
address: '0x9bccfad3bd12ef0ee8ae839dd9ed7835bccadc9d',
141-
alias: 'Everclear',
150+
address: '0x57ddf0cd46f31ead8084069ce481507f4305c716',
151+
alias: 'Luganodes',
142152
},
143153
{ address: '0xc27032c6bbd48c20005f552af3aaa0dbf14260f3', alias: 'Renzo' },
144154
],
@@ -147,8 +157,8 @@ export const ezEthValidators: ChainMap<MultisigConfig> = {
147157
threshold: 1,
148158
validators: [
149159
{
150-
address: '0x6f4cb8e96db5d44422a4495faa73fffb9d30e9e2',
151-
alias: 'Everclear',
160+
address: '0xf9dfaa5c20ae1d84da4b2696b8dc80c919e48b12',
161+
alias: 'Luganodes',
152162
},
153163
{ address: '0xe2593d205f5e7f74a50fa900824501084e092ebd', alias: 'Renzo' },
154164
],
@@ -158,8 +168,8 @@ export const ezEthValidators: ChainMap<MultisigConfig> = {
158168
validators: [
159169
{ address: '0x25ba4ee5268cbfb8d69bac531aa10368778702bd', alias: 'Renzo' },
160170
{
161-
address: '0x9ec803b503e9c7d2611e231521ef3fde73f7a21c',
162-
alias: 'Everclear',
171+
address: '0xe957310e17730f29862e896709cce62d24e4b773',
172+
alias: 'Luganodes',
163173
},
164174
],
165175
},
@@ -178,17 +188,17 @@ export const ezEthValidators: ChainMap<MultisigConfig> = {
178188
validators: [
179189
{ address: '0x3156db97a3b3e2dcc3d69fddfd3e12dc7c937b6d', alias: 'Renzo' },
180190
{
181-
address: '0x9a0326c43e4713ae2477f09e0f28ffedc24d8266',
182-
alias: 'Everclear',
191+
address: '0xc67789546a7a983bf06453425231ab71c119153f',
192+
alias: 'Luganodes',
183193
},
184194
],
185195
},
186196
mode: {
187197
threshold: 1,
188198
validators: [
189199
{
190-
address: '0x456fbbe05484fc9f2f38ea09648424f54d6872be',
191-
alias: 'Everclear',
200+
address: '0x485a4f0009d9afbbf44521016f9b8cdd718e36ea',
201+
alias: 'Luganodes',
192202
},
193203
{ address: '0x7e29608c6e5792bbf9128599ca309be0728af7b4', alias: 'Renzo' },
194204
],
@@ -197,8 +207,8 @@ export const ezEthValidators: ChainMap<MultisigConfig> = {
197207
threshold: 1,
198208
validators: [
199209
{
200-
address: '0x06a5a2a429560034d38bf62ca6d470942535947e',
201-
alias: 'Everclear',
210+
address: '0x0c760f4bcb508db9144b0579e26f5ff8d94daf4d',
211+
alias: 'Luganodes',
202212
},
203213
{ address: '0xcb3e44edd2229860bdbaa58ba2c3817d111bee9a', alias: 'Renzo' },
204214
],
@@ -207,8 +217,8 @@ export const ezEthValidators: ChainMap<MultisigConfig> = {
207217
threshold: 1,
208218
validators: [
209219
{
210-
address: '0x1fd889337f60986aa57166bc5ac121efd13e4fdd',
211-
alias: 'Everclear',
220+
address: '0xb683b742b378632a5f73a2a5a45801b3489bba44',
221+
alias: 'AVS: Luganodes',
212222
},
213223
{ address: '0xc7f7b94a6baf2fffa54dfe1dde6e5fcbb749e04f', alias: 'Renzo' },
214224
],
@@ -303,8 +313,62 @@ export const ezEthValidators: ChainMap<MultisigConfig> = {
303313
{ address: '0x9A336232b3cc7399b500D09821AB14Caed008b7e', alias: 'Renzo' },
304314
],
305315
},
316+
ink: {
317+
threshold: 1,
318+
validators: [
319+
{
320+
address: '0x4d3d970a2468c25d4b5c6af860d11b48223ca94b',
321+
alias: 'Luganodes',
322+
},
323+
{ address: '0xe42562c4b4d72f28a11e6d02e5a641706f5815b3', alias: 'Renzo' },
324+
],
325+
},
326+
monad: {
327+
threshold: 1,
328+
validators: [
329+
{
330+
address: '0x552d5a478d78a558eb473d844e4524de36d79cd9',
331+
alias: 'Luganodes',
332+
},
333+
{ address: '0x59f6f0beb754f74a6d6b95d37f70066a474f2de7', alias: 'Renzo' },
334+
],
335+
},
336+
xlayer: {
337+
threshold: 1,
338+
validators: [
339+
{
340+
address: '0xfcbd33064565403c9d8f038abf7d931140f3fd7d',
341+
alias: 'Luganodes',
342+
},
343+
{ address: '0xecbe0864d34b215964c1abc21623aa8d0d75c723', alias: 'Renzo' },
344+
],
345+
},
306346
};
307347

348+
export const ezEthOwners: Record<(typeof ezEthChainsToDeploy)[number], string> =
349+
{
350+
arbitrum: '0xE5219Cf568D366ae4b96Efb04d826E6f2e72DaA0',
351+
optimism: '0x365DC37679F21B3Ef629158CA962f05Bac7f0236',
352+
base: '0xa87C18C9865e47f507e0C739d16C336aD764Fd95',
353+
blast: '0xa3A3488613A3e8C578e6AD466a5000Fb1c0897FB',
354+
bsc: '0x1bD739c88Cb90f88264488B914b6A1398840D426',
355+
mode: '0x0683c3cc018Fb76874FdCC8620d15c4E467e34CA',
356+
linea: '0xBAACd5f849024dcC80520BAA952f11aDFc59F9D0',
357+
ethereum: '0xD1e6626310fD54Eceb5b9a51dA2eC329D6D4B68A',
358+
fraxtal: '0x365DC37679F21B3Ef629158CA962f05Bac7f0236',
359+
zircuit: '0xc1036D6bBa2FE24c65823110B348Ee80D3386ACd',
360+
taiko: '0xE5219Cf568D366ae4b96Efb04d826E6f2e72DaA0',
361+
sei: '0x5247eCbF210f289C244813e89212bC3aEd75aAC1',
362+
swell: '0x672fb1C0F35DBD2074742765d23d18b80cbAAf22',
363+
unichain: '0xfC67503Ab4DF366C19858A13c3f8a68781c64DD5',
364+
berachain: '0xc1036D6bBa2FE24c65823110B348Ee80D3386ACd',
365+
worldchain: '0x672fb1C0F35DBD2074742765d23d18b80cbAAf22',
366+
plasma: '0x3eA4D0467C976e9877Adb96869Fdeb0551fd0930',
367+
ink: '0x42A4E564836AE98C2522368Be2faA6e96Ff7a07f',
368+
monad: '0xf2a0775ED23887F3C47Bf1f0D01cc580281dA2E4',
369+
xlayer: '0x8410927C286A38883BC23721e640F31D3E3E79F8',
370+
};
371+
308372
export const ezEthSafes: Record<(typeof ezEthChainsToDeploy)[number], string> =
309373
{
310374
arbitrum: '0x0e60fd361fF5b90088e1782e6b21A7D177d462C5',
@@ -375,6 +439,38 @@ const existingProxyAdmins: ChainMap<{ address: string; owner: string }> = {
375439
address: '0xA3666f8a327AADB666F1906A38B17937e5F11f92',
376440
owner: ezEthSafes.taiko,
377441
},
442+
swell: {
443+
address: '0xc4D0b4ef01eD7091792fe3D4c039457719e2DC68',
444+
owner: ezEthSafes.swell,
445+
},
446+
unichain: {
447+
address: '0xa92a7036fd5b2a8C2A6BB24bE2d9Cf66a1a0849F',
448+
owner: ezEthSafes.unichain,
449+
},
450+
berachain: {
451+
address: '0xfc5c1d5Ac3655668F2545668938a52D7810DB86d',
452+
owner: ezEthSafes.berachain,
453+
},
454+
worldchain: {
455+
address: '0xA4b2951bCd4B0ec43f2B4Deecd639551dC165E23',
456+
owner: ezEthSafes.worldchain,
457+
},
458+
plasma: {
459+
address: '0xf6fB78dc009C1A4286c0E7d90C10c9E8906a62Ea',
460+
owner: ezEthSafes.plasma,
461+
},
462+
ink: {
463+
address: '0xF2Dd52FBCEf6A763C63B29091B7a327d6a698ca8',
464+
owner: ezEthOwners.ink,
465+
},
466+
monad: {
467+
address: '0x01e6b0f2937DC6Df7452dd689dC2AC7ABBc00107',
468+
owner: ezEthOwners.monad,
469+
},
470+
xlayer: {
471+
address: '0xf8867113af2676B5d157E2C10C2924fB40f14cfd',
472+
owner: ezEthOwners.xlayer,
473+
},
378474
};
379475

380476
export function getRenzoWarpConfigGenerator(params: {
@@ -514,12 +610,12 @@ export function getRenzoWarpConfigGenerator(params: {
514610
export const getRenzoEZETHWarpConfig = getRenzoWarpConfigGenerator({
515611
chainsToDeploy: ezEthChainsToDeploy,
516612
validators: ezEthValidators,
517-
safes: ezEthSafes,
613+
safes: ezEthOwners,
518614
xERC20Addresses: ezEthAddresses,
519615
xERC20Lockbox: ezEthProductionLockbox,
520616
tokenPrices: renzoTokenPrices,
521617
existingProxyAdmins: existingProxyAdmins,
522618
});
523619

524620
export const getEZETHGnosisSafeBuilderStrategyConfig =
525-
getGnosisSafeBuilderStrategyConfigGenerator(ezEthSafes);
621+
getGnosisSafeBuilderStrategyConfigGenerator(ezEthOwners);

typescript/infra/config/environments/mainnet3/warp/configGetters/getRenzoPZETHWarpConfig.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ChainMap } from '@hyperlane-xyz/sdk';
22
import { pick } from '@hyperlane-xyz/utils';
33

44
import {
5-
ezEthSafes,
5+
ezEthOwners,
66
ezEthValidators,
77
getRenzoWarpConfigGenerator,
88
renzoTokenPrices,
@@ -26,7 +26,7 @@ export const pzEthChainsToDeploy = [
2626
];
2727

2828
const pzEthValidators = pick(ezEthValidators, pzEthChainsToDeploy);
29-
const pzEthSafes = pick(ezEthSafes, pzEthChainsToDeploy);
29+
const pzEthSafes = pick(ezEthOwners, pzEthChainsToDeploy);
3030
export const pzEthTokenPrices = pick(renzoTokenPrices, pzEthChainsToDeploy);
3131
const existingProxyAdmins: ChainMap<{ address: string; owner: string }> = {
3232
ethereum: {

typescript/infra/config/environments/mainnet3/warp/configGetters/getRenzoREZBaseEthereum.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { pick } from '@hyperlane-xyz/utils';
22

33
import {
4-
ezEthSafes,
4+
ezEthOwners,
55
ezEthValidators,
66
getRenzoWarpConfigGenerator,
77
renzoTokenPrices,
@@ -16,13 +16,13 @@ const rezEthAddresses = {
1616
};
1717

1818
const rezEthValidators = pick(ezEthValidators, rezEthChainsToDeploy);
19-
const rezEthSafes = pick(ezEthSafes, rezEthChainsToDeploy);
19+
const rezEthOwners = pick(ezEthOwners, rezEthChainsToDeploy);
2020
const rezEthTokenPrices = pick(renzoTokenPrices, rezEthChainsToDeploy);
2121

2222
export const getREZBaseEthereumWarpConfig = getRenzoWarpConfigGenerator({
2323
chainsToDeploy: rezEthChainsToDeploy,
2424
validators: rezEthValidators,
25-
safes: rezEthSafes,
25+
safes: rezEthOwners,
2626
xERC20Addresses: rezEthAddresses,
2727
xERC20Lockbox: rezProductionLockbox,
2828
tokenPrices: rezEthTokenPrices,

typescript/infra/config/environments/mainnet3/warp/configGetters/getRenzoREZStaging.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ const rezStagingAddresses = {
2525
};
2626

2727
const rezEthValidators = pick(ezEthValidators, rezEthChainsToDeploy);
28-
const rezEthSafes = pick(rezStagingSafes, rezEthChainsToDeploy);
28+
const rezEthOwners = pick(rezStagingSafes, rezEthChainsToDeploy);
2929
const rezEthTokenPrices = pick(renzoTokenPrices, rezEthChainsToDeploy);
3030

3131
export const getRezStagingWarpConfig = getRenzoWarpConfigGenerator({
3232
chainsToDeploy: rezEthChainsToDeploy,
3333
validators: rezEthValidators,
34-
safes: rezEthSafes,
34+
safes: rezEthOwners,
3535
xERC20Addresses: rezStagingAddresses,
3636
xERC20Lockbox: rezStagingLockbox,
3737
tokenPrices: rezEthTokenPrices,

0 commit comments

Comments
 (0)