feat: Stride <> Eclipse TIA and stTIA (#4749)

### Description

<!--
What's included in this PR?
-->

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
pull/4751/head
Daniel Savu 4 weeks ago committed by GitHub
parent 14e4719f00
commit 1bd8e3e384
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 43
      rust/sealevel/environments/mainnet3/eclipsemainnet/gas-oracle-configs-eclipsemainnet.json
  2. 10
      rust/sealevel/environments/mainnet3/warp-routes/TIA-stride-eclipse/program-ids.json
  3. 17
      rust/sealevel/environments/mainnet3/warp-routes/TIA-stride-eclipse/token-config.json
  4. 10
      rust/sealevel/environments/mainnet3/warp-routes/stTIA-stride-eclipse/program-ids.json
  5. 17
      rust/sealevel/environments/mainnet3/warp-routes/stTIA-stride-eclipse/token-config.json
  6. 24
      typescript/infra/config/environments/mainnet3/warp/STTIA-eclipsestride-deployments.yaml
  7. 23
      typescript/infra/config/environments/mainnet3/warp/TIA-eclipsestride-deployments.yaml
  8. 29
      typescript/infra/config/environments/mainnet3/warp/configGetters/getEclipseStrideSTTIAWarpConfig.ts
  9. 29
      typescript/infra/config/environments/mainnet3/warp/configGetters/getEclipseStrideTIAWarpConfig.ts
  10. 2
      typescript/infra/config/environments/mainnet3/warp/warpIds.ts
  11. 4
      typescript/infra/config/warp.ts
  12. 2
      typescript/infra/src/warp/helm.ts

@ -1,20 +1,29 @@
[
{
"domain": 1,
"gasOracle": {
"type": "remoteGasData",
"tokenExchangeRate": "15000000000000000000",
"gasPrice": "10000000000",
"tokenDecimals": 18
}
},
{
"domain": 1399811149,
"gasOracle": {
"type": "remoteGasData",
"tokenExchangeRate": "887000000000000000",
"gasPrice": "15",
"tokenDecimals": 9
}
{
"domain": 1,
"gasOracle": {
"type": "remoteGasData",
"tokenExchangeRate": "15000000000000000000",
"gasPrice": "10000000000",
"tokenDecimals": 18
}
},
{
"domain": 1399811149,
"gasOracle": {
"type": "remoteGasData",
"tokenExchangeRate": "887000000000000000",
"gasPrice": "15",
"tokenDecimals": 9
}
},
{
"domain": 745,
"gasOracle": {
"type": "remoteGasData",
"tokenExchangeRate": "435246388284187",
"gasPrice": "7",
"tokenDecimals": 6
}
}
]

@ -0,0 +1,10 @@
{
"stride": {
"hex": "0x0b1798722ccf813f617ffa8d52d36302544807497434740d98e693e9abb245d1",
"base58": "kJMTJuh4tzhzfTV261wh2cisqb7NNev6ZE6czwB3ss6"
},
"eclipsemainnet": {
"hex": "0xa0c167513f4d025217a48891973c3dbe41e10e76230033ef5d676299a18ca7f5",
"base58": "BpXHAiktwjx7fN6M9ST9wr6qKAsH27wZFhdHEhReJsR6"
}
}

@ -0,0 +1,17 @@
{
"eclipsemainnet": {
"type": "synthetic",
"decimals": 6,
"remoteDecimals": 6,
"name": "Celestia",
"symbol": "TIA",
"uri": "https://raw.githubusercontent.com/hyperlane-xyz/hyperlane-registry/b21b78514a42e8c050b36472c8325fd4b5177366/deployments/warp_routes/TIA/metadata.json",
"interchainGasPaymaster": "3Wp4qKkgf4tjXz1soGyTSndCgBPLZFSrZkiDZ8Qp9EEj"
},
"stride": {
"type": "collateral",
"decimals": 6,
"token": "ibc/BF3B4F53F3694B66E13C23107C84B6485BD2B96296BB7EC680EA77BBA75B4801",
"foreignDeployment": "0x0b1798722ccf813f617ffa8d52d36302544807497434740d98e693e9abb245d1"
}
}

@ -0,0 +1,10 @@
{
"stride": {
"hex": "0x8d7a6737fdd9545dc77d1c5cc2d26cb1321f6c67f0facb030149da9cc58f0cbe",
"base58": "AXGjtKVpzYdXYX155z6qYQC4Up7fi5LPKNXAK32gi3x9"
},
"eclipsemainnet": {
"hex": "0x0d258188d0761163da174da890d0c1becdee51a01dbc9e2a6bfcb342140eb509",
"base58": "tKUHyJ5NxhnwU94JUmzh1ekukDcHHX8mZF6fqxbMwX6"
}
}

@ -0,0 +1,17 @@
{
"eclipsemainnet": {
"type": "synthetic",
"decimals": 6,
"remoteDecimals": 6,
"name": "Stride Staked TIA",
"symbol": "stTIA",
"uri": "https://raw.githubusercontent.com/hyperlane-xyz/hyperlane-registry/dee58183e51f4eb43e84dbac0e595a4b389dbe80/deployments/warp_routes/stTIA/metadata.json",
"interchainGasPaymaster": "3Wp4qKkgf4tjXz1soGyTSndCgBPLZFSrZkiDZ8Qp9EEj"
},
"stride": {
"type": "collateral",
"decimals": 6,
"token": "stutia",
"foreignDeployment": "0x8d7a6737fdd9545dc77d1c5cc2d26cb1321f6c67f0facb030149da9cc58f0cbe"
}
}

@ -0,0 +1,24 @@
# Configs and artifacts for the deployment of Hyperlane Warp Routes
description: Hyperlane Warp Route artifacts
timestamp: '2024-10-18T14:00:00.000Z'
deployer: Abacus Works (Hyperlane)
data:
config:
stride:
protocolType: cosmos
type: collateral
hypAddress: stride134axwdlam929m3mar3wv95nvkyep7mr87ravkqcpf8dfe3v0pjlqwrw6ee
# dummy tokenAddress since stTIA is native
tokenAddress: 'stride134axwdlam929m3mar3wv95nvkyep7mr87ravkqcpf8dfe3v0pjlqwrw6ee'
name: Stride Staked TIA
symbol: stTIA
decimals: 6
eclipsemainnet:
protocolType: sealevel
type: synthetic
hypAddress: 'tKUHyJ5NxhnwU94JUmzh1ekukDcHHX8mZF6fqxbMwX6'
tokenAddress: 'V5m1Cc9VK61mKL8xVYrjR7bjD2BC5VpADLa6ws3G8KM'
isSpl2022: true
name: Turbo Eth
symbol: tETH
decimals: 6

@ -0,0 +1,23 @@
# Configs and artifacts for the deployment of Hyperlane Warp Routes
description: Hyperlane Warp Route artifacts
timestamp: '2024-10-18T14:00:00.000Z'
deployer: Abacus Works (Hyperlane)
data:
config:
stride:
protocolType: cosmos
type: collateral
hypAddress: stride1pvtesu3ve7qn7ctll2x495mrqf2ysp6fws68grvcu6f7n2ajghgsh2jdj6
tokenAddress: ibc/BF3B4F53F3694B66E13C23107C84B6485BD2B96296BB7EC680EA77BBA75B4801
name: Celestia
symbol: TIA
decimals: 6
eclipsemainnet:
protocolType: sealevel
type: synthetic
hypAddress: 'BpXHAiktwjx7fN6M9ST9wr6qKAsH27wZFhdHEhReJsR6'
tokenAddress: '9RryNMhAVJpAwAGjCAMKbbTFwgjapqPkzpGMfTQhEjf8'
isSpl2022: true
name: Turbo Eth
symbol: tETH
decimals: 6

@ -0,0 +1,29 @@
import {
ChainMap,
RouterConfig,
TokenRouterConfig,
TokenType,
} from '@hyperlane-xyz/sdk';
export const getEclipseStrideTiaWarpConfig = async (
_routerConfig: ChainMap<RouterConfig>,
): Promise<ChainMap<TokenRouterConfig>> => {
// @ts-ignore - foreignDeployment configs don't conform to the TokenRouterConfig
const eclipsemainnet: TokenRouterConfig = {
type: TokenType.synthetic,
foreignDeployment: 'BpXHAiktwjx7fN6M9ST9wr6qKAsH27wZFhdHEhReJsR6',
gas: 300_000,
};
// @ts-ignore - foreignDeployment configs don't conform to the TokenRouterConfig
const stride: TokenRouterConfig = {
type: TokenType.collateral,
foreignDeployment:
'stride1pvtesu3ve7qn7ctll2x495mrqf2ysp6fws68grvcu6f7n2ajghgsh2jdj6',
};
return {
eclipsemainnet,
stride,
};
};

@ -0,0 +1,29 @@
import {
ChainMap,
RouterConfig,
TokenRouterConfig,
TokenType,
} from '@hyperlane-xyz/sdk';
export const getEclipseStrideStTiaWarpConfig = async (
_routerConfig: ChainMap<RouterConfig>,
): Promise<ChainMap<TokenRouterConfig>> => {
// @ts-ignore - foreignDeployment configs don't conform to the TokenRouterConfig
const eclipsemainnet: TokenRouterConfig = {
type: TokenType.synthetic,
foreignDeployment: 'tKUHyJ5NxhnwU94JUmzh1ekukDcHHX8mZF6fqxbMwX6',
gas: 300_000,
};
// @ts-ignore - foreignDeployment configs don't conform to the TokenRouterConfig
const stride: TokenRouterConfig = {
type: TokenType.collateral,
foreignDeployment:
'stride134axwdlam929m3mar3wv95nvkyep7mr87ravkqcpf8dfe3v0pjlqwrw6ee',
};
return {
eclipsemainnet,
stride,
};
};

@ -6,6 +6,8 @@ export enum WarpRouteIds {
ArbitrumNeutronTIA = 'TIA/arbitrum-neutron',
EclipseSolanaSOL = 'SOL/eclipsemainnet-solanamainnet',
EclipseSolanaWIF = 'WIF/eclipsemainnet-solanamainnet',
EclipseStrideSTTIA = 'stTIA/eclipse-stride',
EclipseStrideTIA = 'TIA/eclipse-stride',
EthereumInevmUSDC = 'USDC/ethereum-inevm',
EthereumInevmUSDT = 'USDT/ethereum-inevm',
EthereumEclipseTETH = 'tETH/eclipsemainnet-ethereum',

@ -12,6 +12,8 @@ import { getAncient8EthereumUSDCWarpConfig } from './environments/mainnet3/warp/
import { getArbitrumEthereumZircuitAmphrETHWarpConfig } from './environments/mainnet3/warp/configGetters/getArbitrumEthereumZircuitAmphrETHWarpConfig.js';
import { getArbitrumNeutronEclipWarpConfig } from './environments/mainnet3/warp/configGetters/getArbitrumNeutronEclipWarpConfig.js';
import { getArbitrumNeutronTiaWarpConfig } from './environments/mainnet3/warp/configGetters/getArbitrumNeutronTiaWarpConfig.js';
import { getEclipseStrideTiaWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseStrideSTTIAWarpConfig.js';
import { getEclipseStrideStTiaWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseStrideTIAWarpConfig.js';
import { getEthereumInevmUSDCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumInevmUSDCWarpConfig.js';
import { getEthereumInevmUSDTWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumInevmUSDTWarpConfig.js';
import { getEthereumSeiFastUSDWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumSeiFastUSDWarpConfig.js';
@ -50,6 +52,8 @@ export const warpConfigGetterMap: Record<
[WarpRouteIds.EthereumVictionUSDT]: getEthereumVictionUSDTWarpConfig,
[WarpRouteIds.EthereumZircuitPZETH]: getRenzoPZETHWarpConfig,
[WarpRouteIds.MantapacificNeutronTIA]: getMantapacificNeutronTiaWarpConfig,
[WarpRouteIds.EclipseStrideTIA]: getEclipseStrideTiaWarpConfig,
[WarpRouteIds.EclipseStrideSTTIA]: getEclipseStrideStTiaWarpConfig,
};
export async function getWarpConfig(

@ -27,7 +27,7 @@ export class WarpRouteMonitorHelmManager extends HelmManager {
return {
image: {
repository: 'gcr.io/abacus-labs-dev/hyperlane-monorepo',
tag: '6945b20-20241022-155935',
tag: 'ee5ec6b-20241025-133236',
},
configFilePath: pathRelativeToMonorepoRoot,
fullnameOverride: this.helmReleaseName,

Loading…
Cancel
Save