diff --git a/.changeset/rare-windows-deny.md b/.changeset/rare-windows-deny.md new file mode 100644 index 0000000000..c744963c9c --- /dev/null +++ b/.changeset/rare-windows-deny.md @@ -0,0 +1,5 @@ +--- +'@hyperlane-xyz/infra': minor +--- + +Add rstETH/ethereum-zircuit warp config diff --git a/.registryrc b/.registryrc index c80c30c543..4756701fec 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -62ccc4da05f48d62a5a0fd5d1498b68b596c627b +c04a9488dbfb01613446568fd8dda47edc62e956 diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000000..feb0260b65 --- /dev/null +++ b/config.yaml @@ -0,0 +1,12 @@ +ethereum: + type: collateral + token: "0x7a4EffD87C2f3C55CA251080b1343b605f327E3a" + owner: "0xDA0d054265bB30F4f32C92066428FE57513E7ee1" + mailbox: "0xc005dc82818d67AF737725bD4bf75435d065D239" + interchainSecurityModule: "0x0000000000000000000000000000000000000000" +zircuit: + type: synthetic + owner: "0xA1895dF8AE7b7678E82E76b167A24c82Fb83ec9A" + mailbox: "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c" + interchainSecurityModule: "0x0000000000000000000000000000000000000000" + diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumZircuitRstETHWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumZircuitRstETHWarpConfig.ts new file mode 100644 index 0000000000..755714c719 --- /dev/null +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumZircuitRstETHWarpConfig.ts @@ -0,0 +1,39 @@ +import { ethers } from 'ethers'; + +import { ChainMap, HypTokenRouterConfig, TokenType } from '@hyperlane-xyz/sdk'; + +import { + RouterConfigWithoutOwner, + tokens, +} from '../../../../../src/config/warp.js'; + +const RstETHSafes = { + ethereum: '0xDA0d054265bB30F4f32C92066428FE57513E7ee1', + zircuit: '0xA1895dF8AE7b7678E82E76b167A24c82Fb83ec9A', +}; + +const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM + +export const getEthereumZircuitRstETHWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const ethereum: HypTokenRouterConfig = { + ...routerConfig.ethereum, + owner: RstETHSafes.ethereum, + type: TokenType.collateral, + token: tokens.ethereum.rstETH, + interchainSecurityModule: ISM_CONFIG, + }; + + const zircuit: HypTokenRouterConfig = { + ...routerConfig.zircuit, + owner: RstETHSafes.zircuit, + type: TokenType.synthetic, + interchainSecurityModule: ISM_CONFIG, + }; + + return { + ethereum, + zircuit, + }; +}; diff --git a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts index aa48bea0cf..1685b5b5b3 100644 --- a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts +++ b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts @@ -42,4 +42,5 @@ export enum WarpRouteIds { ArbitrumBaseBlastBscEthereumGnosisLiskMantleModeOptimismPolygonScrollZeroNetworkZoraMainnet = 'ETH/arbitrum-base-blast-bsc-ethereum-gnosis-lisk-mantle-mode-optimism-polygon-scroll-zeronetwork-zoramainnet', AppchainBaseUSDC = 'USDC/appchain-base', BobaBsquaredSwellUBTC = 'UBTC/boba-bsquared-swell', + EthereumZircuitRstETH = 'rstETH/ethereum-zircuit', } diff --git a/typescript/infra/config/warp.ts b/typescript/infra/config/warp.ts index cb5c2d72e9..016354dbc1 100644 --- a/typescript/infra/config/warp.ts +++ b/typescript/infra/config/warp.ts @@ -39,6 +39,7 @@ import { getEthereumVictionETHWarpConfig } from './environments/mainnet3/warp/co import { getEthereumVictionUSDCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumVictionUSDCWarpConfig.js'; import { getEthereumVictionUSDTWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumVictionUSDTWarpConfig.js'; import { getEthereumZircuitRe7LRTWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumZircuitRe7LRTWarpConfig.js'; +import { getEthereumZircuitRstETHWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumZircuitRstETHWarpConfig.js'; import { getInevmInjectiveINJWarpConfig } from './environments/mainnet3/warp/configGetters/getInevmInjectiveINJWarpConfig.js'; import { getMantapacificNeutronTiaWarpConfig } from './environments/mainnet3/warp/configGetters/getMantapacificNeutronTiaWarpConfig.js'; import { getRenzoEZETHWarpConfig } from './environments/mainnet3/warp/configGetters/getRenzoEZETHWarpConfig.js'; @@ -88,6 +89,7 @@ export const warpConfigGetterMap: Record = { [WarpRouteIds.AppchainBaseUSDC]: getAppChainBaseUSDCWarpConfig, [WarpRouteIds.BobaBsquaredSwellUBTC]: getBobaBsquaredSwellUBTCWarpConfig, [WarpRouteIds.EthereumZircuitRe7LRT]: getEthereumZircuitRe7LRTWarpConfig, + [WarpRouteIds.EthereumZircuitRstETH]: getEthereumZircuitRstETHWarpConfig, }; export async function getWarpConfig( diff --git a/typescript/infra/src/config/warp.ts b/typescript/infra/src/config/warp.ts index 3a0ddb4110..5c32de05ce 100644 --- a/typescript/infra/src/config/warp.ts +++ b/typescript/infra/src/config/warp.ts @@ -14,6 +14,7 @@ export const tokens: ChainMap> = { weETHs: '0x917cee801a67f933f2e6b33fc0cd1ed2d5909d88', pumpBTCsei: '0xe9ebd666954B7F0B5B044704c86B126651f6235d', Re7LRT: '0x84631c0d0081FDe56DeB72F6DE77abBbF6A9f93a', + rstETH: '0x7a4EffD87C2f3C55CA251080b1343b605f327E3a', }, sei: { fastUSD: '0x37a4dD9CED2b19Cfe8FAC251cd727b5787E45269',