Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: hevm deploy #5514

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
2 changes: 1 addition & 1 deletion .registryrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
a1758eeded721918286f0f95d9c0eb80aafb3b34
11be515294e523a628c1f125969a5f23678b5bbf
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import { ethers } from 'ethers';

import {
ChainMap,
HypTokenRouterConfig,
OwnableConfig,
TokenType,
} from '@hyperlane-xyz/sdk';

import { RouterConfigWithoutOwner } from '../../../../../src/config/warp.js';

const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM

export const getEthereumHyperevmETHWarpConfig = async (
routerConfig: ChainMap<RouterConfigWithoutOwner>,
abacusWorksEnvOwnerConfig: ChainMap<OwnableConfig>,
): Promise<ChainMap<HypTokenRouterConfig>> => {
const ethereum: HypTokenRouterConfig = {
...routerConfig.ethereum,
owner: abacusWorksEnvOwnerConfig.ethereum.owner,
type: TokenType.native,
proxyAdmin: {
owner: abacusWorksEnvOwnerConfig.ethereum.owner,
address: '0x98C67C12e1DAA770AE6bcc6839E2A05315447FFF',
},
interchainSecurityModule: ISM_CONFIG,
};

const hyperevm: HypTokenRouterConfig = {
...routerConfig.hyperevm,
owner: abacusWorksEnvOwnerConfig.hyperevm.owner,
type: TokenType.synthetic,
interchainSecurityModule: ISM_CONFIG,
proxyAdmin: {
owner: abacusWorksEnvOwnerConfig.hyperevm.owner,
address: '0xe6fC77B08b457A29747682aB1dBfb32AF4A1A999',
},
};

return {
ethereum,
hyperevm,
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { ethers } from 'ethers';

import {
ChainMap,
HypTokenRouterConfig,
OwnableConfig,
TokenType,
} from '@hyperlane-xyz/sdk';

import {
RouterConfigWithoutOwner,
tokens,
} from '../../../../../src/config/warp.js';

const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM

export const getEthereumHyperevmUSDTWarpConfig = async (
routerConfig: ChainMap<RouterConfigWithoutOwner>,
abacusWorksEnvOwnerConfig: ChainMap<OwnableConfig>,
): Promise<ChainMap<HypTokenRouterConfig>> => {
const ethereum: HypTokenRouterConfig = {
...routerConfig.ethereum,
owner: abacusWorksEnvOwnerConfig.ethereum.owner,
type: TokenType.collateral,
token: tokens.ethereum.USDT,
proxyAdmin: {
owner: abacusWorksEnvOwnerConfig.ethereum.owner,
address: '0x55A426088c37104169F5fB923BdAe17CDF0D6765',
},
interchainSecurityModule: ISM_CONFIG,
};

const hyperevm: HypTokenRouterConfig = {
...routerConfig.hyperevm,
owner: abacusWorksEnvOwnerConfig.hyperevm.owner,
type: TokenType.synthetic,
interchainSecurityModule: ISM_CONFIG,
proxyAdmin: {
owner: abacusWorksEnvOwnerConfig.hyperevm.owner,
address: '0xDd2059c375C81638DaB52AF4145d2671C446c5e9',
},
};

return {
ethereum,
hyperevm,
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { ethers } from 'ethers';

import {
ChainMap,
HypTokenRouterConfig,
OwnableConfig,
TokenType,
} from '@hyperlane-xyz/sdk';

import {
RouterConfigWithoutOwner,
tokens,
} from '../../../../../src/config/warp.js';

const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM

export const getEthereumHyperevmWBTCWarpConfig = async (
routerConfig: ChainMap<RouterConfigWithoutOwner>,
abacusWorksEnvOwnerConfig: ChainMap<OwnableConfig>,
): Promise<ChainMap<HypTokenRouterConfig>> => {
const ethereum: HypTokenRouterConfig = {
...routerConfig.ethereum,
owner: abacusWorksEnvOwnerConfig.ethereum.owner,
type: TokenType.collateral,
token: tokens.ethereum.WBTC,
proxyAdmin: {
owner: abacusWorksEnvOwnerConfig.ethereum.owner,
address: '0x9CBc9Ac08EDadA05Eb533135d8a76E402a867C46',
},
interchainSecurityModule: ISM_CONFIG,
};

const hyperevm: HypTokenRouterConfig = {
...routerConfig.hyperevm,
owner: abacusWorksEnvOwnerConfig.hyperevm.owner,
type: TokenType.synthetic,
interchainSecurityModule: ISM_CONFIG,
proxyAdmin: {
owner: abacusWorksEnvOwnerConfig.hyperevm.owner,
address: '0xa3D9cfa4220d6a5ba7b9067D33ebEdbF2DE6F1CF',
},
};

return {
ethereum,
hyperevm,
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ export enum WarpRouteIds {
EclipseStrideSTTIA = 'stTIA/eclipsemainnet-stride',
EclipseStrideTIA = 'TIA/eclipsemainnet-stride',
EthereumFlowCbBTC = 'CBBTC/ethereum-flowmainnet',
EthereumHyperevmETH = 'ETH/ethereum-hyperevm',
EthereumHyperevmUSDT = 'USDT/ethereum-hyperevm',
EthereumHyperevmWBTC = 'WBTC/ethereum-hyperevm',
EthereumFormFORM = 'FORM/ethereum-form',
EthereumInevmUSDC = 'USDC/ethereum-inevm',
EthereumInevmUSDT = 'USDT/ethereum-inevm',
Expand Down
6 changes: 6 additions & 0 deletions typescript/infra/config/warp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ import { getEclipseEthereumSolanaUSDTWarpConfig } from './environments/mainnet3/
import { getEclipseEthereumWBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseEthereumWBTCWarpConfig.js';
import { getEclipseStrideTiaWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseStrideSTTIAWarpConfig.js';
import { getEclipseStrideStTiaWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseStrideTIAWarpConfig.js';
import { getEthereumHyperevmETHWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumHyperevmETHWarpConfig.js';
import { getEthereumHyperevmUSDTWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumHyperevmUSDTWarpConfig.js';
import { getEthereumHyperevmWBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumHyperevmWBTCWarpConfig.js';
import { getEthereumFormFORMWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumFormFORMWarpConfig.js';
import { getEthereumInevmUSDCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumInevmUSDCWarpConfig.js';
import { getEthereumInevmUSDTWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumInevmUSDTWarpConfig.js';
Expand Down Expand Up @@ -78,6 +81,9 @@ export const warpConfigGetterMap: Record<string, WarpConfigGetter> = {
[WarpRouteIds.SolanamainnetTrumpchainTRUMP]: getTrumpchainTRUMPWarpConfig,
[WarpRouteIds.EthereumFormFORM]: getEthereumFormFORMWarpConfig,
[WarpRouteIds.EthereumInkUSDC]: getEthereumInkUSDCConfig,
[WarpRouteIds.EthereumHyperevmETH]: getEthereumHyperevmETHWarpConfig,
[WarpRouteIds.EthereumHyperevmUSDT]: getEthereumHyperevmUSDTWarpConfig,
[WarpRouteIds.EthereumHyperevmWBTC]: getEthereumHyperevmWBTCWarpConfig,
[WarpRouteIds.EthereumVictionETH]: getEthereumVictionETHWarpConfig,
[WarpRouteIds.EthereumVictionUSDC]: getEthereumVictionUSDCWarpConfig,
[WarpRouteIds.EthereumVictionUSDT]: getEthereumVictionUSDTWarpConfig,
Expand Down
2 changes: 1 addition & 1 deletion typescript/infra/src/warp/helm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export class WarpRouteMonitorHelmManager extends HelmManager {
return {
image: {
repository: 'gcr.io/abacus-labs-dev/hyperlane-monorepo',
tag: '6d92627-20250217-142059',
tag: '1efa32a-20250219-024133',
},
warpRouteId: this.warpRouteId,
fullnameOverride: this.helmReleaseName,
Expand Down
Loading