chore: update app contexts (#4136)

### Description

- updating the ezETH metric app context on the relayer
- adding merkly addresses to the app contexts
- temporarily changing the gas payment enforcement for merkly ETH
contracts to just require that some payment was made, this way we won't
run into issues with https://github.com/hyperlane-xyz/issues/issues/1294
over the weekend. In practice it's just been the merkly eth contracts
that cause this problem when they run out of liquidity
- removed some warp route gas payment non-enforcement after we have hook
indexing

### 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/4131/merge
Trevor Porter 4 months ago committed by GitHub
parent dcd6dc502e
commit 857338e2af
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 59
      typescript/infra/config/environments/mainnet3/agent.ts
  2. 77
      typescript/infra/config/environments/mainnet3/warp/merkly-erc20-addresses.json
  3. 53
      typescript/infra/config/environments/mainnet3/warp/merkly-eth-addresses.json
  4. 77
      typescript/infra/config/environments/mainnet3/warp/merkly-nft-addresses.json
  5. 17
      typescript/infra/config/environments/mainnet3/warp/renzo-ezETH-addresses.json

@ -3,6 +3,7 @@ import {
GasPaymentEnforcementPolicyType,
RpcConsensusType,
} from '@hyperlane-xyz/sdk';
import { addressToBytes32 } from '@hyperlane-xyz/utils';
import {
AgentChainConfig,
@ -31,6 +32,9 @@ import inevmEthereumUsdcAddresses from './warp/inevm-USDC-addresses.json';
import inevmEthereumUsdtAddresses from './warp/inevm-USDT-addresses.json';
import injectiveInevmInjAddresses from './warp/injective-inevm-addresses.json';
import mantaTIAAddresses from './warp/manta-TIA-addresses.json';
import merklyErc20Addresses from './warp/merkly-erc20-addresses.json';
import merklyEthAddresses from './warp/merkly-eth-addresses.json';
import merklyNftAddresses from './warp/merkly-nft-addresses.json';
import renzoEzEthAddresses from './warp/renzo-ezETH-addresses.json';
import victionEthereumEthAddresses from './warp/viction-ETH-addresses.json';
import victionEthereumUsdcAddresses from './warp/viction-USDC-addresses.json';
@ -171,30 +175,19 @@ const gasPaymentEnforcement: GasPaymentEnforcement[] = [
{
type: GasPaymentEnforcementPolicyType.Minimum,
payment: '1',
matchingList: [{ destinationDomain: getDomainId('mantle') }],
matchingList: [
// Temporarily allow Merkly ETH messages to just require some payment
// as a workaround to https://github.com/hyperlane-xyz/issues/issues/1294
...routerMatchingList(merklyEthAddresses),
{ destinationDomain: getDomainId('mantle') },
],
},
// To cover ourselves against IGP indexing issues and to ensure Nexus
// users have the best possible experience, we whitelist messages between
// warp routes that we know are certainly paying for gas.
{
type: GasPaymentEnforcementPolicyType.None,
matchingList: [
...routerMatchingList(injectiveInevmInjAddresses),
...matchingList(inevmEthereumUsdcAddresses),
...matchingList(inevmEthereumUsdtAddresses),
...routerMatchingList(victionEthereumEthAddresses),
...routerMatchingList(victionEthereumUsdcAddresses),
...routerMatchingList(victionEthereumUsdtAddresses),
...routerMatchingList(ancient8EthereumUsdcAddresses),
],
},
{
type: GasPaymentEnforcementPolicyType.None,
matchingList: matchingList(inevmEthereumUsdcAddresses),
},
{
type: GasPaymentEnforcementPolicyType.None,
matchingList: matchingList(inevmEthereumUsdtAddresses),
matchingList: [...routerMatchingList(injectiveInevmInjAddresses)],
},
{
type: GasPaymentEnforcementPolicyType.OnChainFeeQuoting,
@ -238,6 +231,32 @@ const metricAppContexts = [
name: 'renzo_ezeth',
matchingList: routerMatchingList(renzoEzEthAddresses),
},
{
name: 'renzo_ezeth_old',
// There's an old message to Base that's stuck around, we
// just care about this one for now.
matchingList: [
{
recipientAddress: addressToBytes32(
'0x584BA77ec804f8B6A559D196661C0242C6844F49',
),
destinationDomain: getDomainId('base'),
},
],
},
// Hitting max env var size limits, see https://stackoverflow.com/questions/28865473/setting-environment-variable-to-a-large-value-argument-list-too-long#answer-28865503
// {
// name: 'merkly_erc20',
// matchingList: routerMatchingList(merklyErc20Addresses),
// },
// {
// name: 'merkly_eth',
// matchingList: routerMatchingList(merklyErc20Addresses),
// },
// {
// name: 'merkly_nft',
// matchingList: routerMatchingList(merklyErc20Addresses),
// },
];
// Resource requests are based on observed usage found in https://abacusworks.grafana.net/d/FSR9YWr7k
@ -271,7 +290,7 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: '7a8478b-20240703-113821',
tag: 'bb470ae-20240710-155957',
},
gasPaymentEnforcement: gasPaymentEnforcement,
metricAppContexts,
@ -305,7 +324,7 @@ const releaseCandidate: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: '4cc9327-20240701-214057',
tag: 'bb470ae-20240710-155957',
},
// We're temporarily (ab)using the RC relayer as a way to increase
// message throughput.

@ -0,0 +1,77 @@
{
"optimism": {
"router": "0x32F05f390217990404392a4DdAF39D31Db4aFf77"
},
"celo": {
"router": "0xad8676147360dBc010504aB69C7f1b1877109527"
},
"avalanche": {
"router": "0x904550e0D182cd4aEe0D305891c666a212EC8F01"
},
"polygonzkevm": {
"router": "0x46B4eDaA761eF8d2934e9F7AAf32B5Bf2C9C9F67"
},
"bsc": {
"router": "0x7b4f475d32f9c65de1834A578859F9823bE3c5Cf"
},
"moonbeam": {
"router": "0xf3D41b377c93fA5C3b0071966f1811c5063fAD40"
},
"gnosis": {
"router": "0xFD34afDFbaC1E47aFC539235420e4bE4A206f26D"
},
"arbitrum": {
"router": "0xFD34afDFbaC1E47aFC539235420e4bE4A206f26D"
},
"polygon": {
"router": "0x574E69C50e7D13B3d1B364BF0D48285A5aE2dF56"
},
"base": {
"router": "0x5454cF5584939f7f884e95DBA33FECd6D40B8fE2"
},
"linea": {
"router": "0xc92A74918Ebb35CA91d7029b7528e0b49fA60B47"
},
"mantle": {
"router": "0x261e36AF8C6Cb974a468025E58f3bd39b0419275"
},
"viction": {
"router": "0xb00300fCe618E049d284eb92E57582A5d15295F4"
},
"scroll": {
"router": "0x904550e0D182cd4aEe0D305891c666a212EC8F01"
},
"ethereum": {
"router": "0xf3D41b377c93fA5C3b0071966f1811c5063fAD40"
},
"mantapacific": {
"router": "0xb1d2B9446A9d1550e8d409C0F9745c5A2f10D332"
},
"fraxtal": {
"router": "0xDE5E2bf75005422dc408ea96F22467E02cBA8c93"
},
"mode": {
"router": "0xfD7c029D1F1198826302F5F6c9CD482c06F0D72f"
},
"blast": {
"router": "0xd9371FFFd58D57bfC65e897e18DAF88C88ec273E"
},
"ancient8": {
"router": "0xAFa5f9313F1F2b599173f24807a882F498Be118c"
},
"zetachain": {
"router": "0x4fc0D96f3d70b4D9b75671Ab92e7Be01CaBE3863"
},
"redstone": {
"router": "0xc072c3EbAf165955C5aAd2DbB4293f771de6dbd3"
},
"sei": {
"router": "0x47470579B0f2fD91a6Ed1b13bBAd0d723Eec7512"
},
"taiko": {
"router": "0x5C5c31edD52Bc662d9A396Ffc1CA96938DA1764C"
},
"bob": {
"router": "0x6f6aE8851a460406bBB3c929a415d2Df9305AcD5"
}
}

@ -0,0 +1,53 @@
{
"optimism": {
"router": "0xc110e7faa95680c79937ccaca3d1cab7902be25e"
},
"bsc": {
"router": "0xae4789D7C596fdED0e135Bca007152c87a0756f5"
},
"gnosis": {
"router": "0x98Ee7E8f0A0D18F393805cf99A56ce6B33ea1B21"
},
"arbitrum": {
"router": "0x233888F5Dc1d3C0360b559aBc029675290DAFa70"
},
"polygon": {
"router": "0x0cb0354E9C51960a7875724343dfC37B93d32609"
},
"base": {
"router": "0x0cb0354E9C51960a7875724343dfC37B93d32609"
},
"linea": {
"router": "0x8F2161c83F46B46628cb591358dE4a89A63eEABf"
},
"scroll": {
"router": "0xc0faBF14f8ad908b2dCE4C8aA2e7c1a6bD069957"
},
"ethereum": {
"router": "0x64D9b639aE85a1e436c1752889c5C40699f3887C"
},
"mantapacific": {
"router": "0x75DAa6Eb3748C33b5fB3716465DAD9658BE42A8D"
},
"mode": {
"router": "0x9970cB23f10dBd95B8A3E643f3A6A6ABB6f3cB9b"
},
"ancient8": {
"router": "0x7dFb5E7808B5eb4fB8b9e7169537575f6fF1a218"
},
"zetachain": {
"router": "0xe35030B407C96C037190B63646AC1Eb34F43Cc2b"
},
"redstone": {
"router": "0x49bF21531991742b0c1797230758992769771CcD"
},
"sei": {
"router": "0x97aa7b7501FA0fe66649DE7394b9794fa40aEF02"
},
"taiko": {
"router": "0xb08ab8cBd0226D8335fB0Cb88ce47FAfC9C47096"
},
"bob": {
"router": "0xEF62b433Ca3AC8b151c4a255de3eD3dA4e60AdD2"
}
}

@ -0,0 +1,77 @@
{
"optimism": {
"router": "0x2a5c54c625220cb2166C94DD9329be1F8785977D"
},
"celo": {
"router": "0x7f4CFDf669d7a5d4Adb05917081634875E21Df47"
},
"avalanche": {
"router": "0x7daC480d20f322D2ef108A59A465CCb5749371c4"
},
"polygonzkevm": {
"router": "0x7daC480d20f322D2ef108A59A465CCb5749371c4"
},
"bsc": {
"router": "0xf3D41b377c93fA5C3b0071966f1811c5063fAD40"
},
"moonbeam": {
"router": "0x7daC480d20f322D2ef108A59A465CCb5749371c4"
},
"gnosis": {
"router": "0x7dac480d20f322d2ef108a59a465ccb5749371c4"
},
"arbitrum": {
"router": "0x7daC480d20f322D2ef108A59A465CCb5749371c4"
},
"polygon": {
"router": "0x7daC480d20f322D2ef108A59A465CCb5749371c4"
},
"base": {
"router": "0x7dac480d20f322d2ef108a59a465ccb5749371c4"
},
"linea": {
"router": "0xC6EDe374Df7763ad70166C4d85d8066A8fb8D272"
},
"mantle": {
"router": "0x2F1562Cc3044B95cb969D1684a1f4E43A207476E"
},
"viction": {
"router": "0x80Abe17c3Ca312f63a96D31DdE1F829e90Ee05b7"
},
"scroll": {
"router": "0x7daC480d20f322D2ef108A59A465CCb5749371c4"
},
"ethereum": {
"router": "0x7daC480d20f322D2ef108A59A465CCb5749371c4"
},
"mantapacific": {
"router": "0xc7a66e3A9d1a84dC60f8a630C3eC3D84aCFBE5EC"
},
"fraxtal": {
"router": "0x49e6d51a220acab3b44d325edcab0f164cf48111"
},
"mode": {
"router": "0x814490128eB60e6FCB56a38B46FC9FC37726414a"
},
"blast": {
"router": "0xDc09f06D11dFC7703BF8f3049E2CcF4507bEA1ab"
},
"ancient8": {
"router": "0x6E55472109E6aBE4054a8E8b8d9EdFfCb31032C5"
},
"zetachain": {
"router": "0x6Ca118bdF9BD900Da5D3d85094D92C5B3b9c0DA5"
},
"redstone": {
"router": "0x6f6aE8851a460406bBB3c929a415d2Df9305AcD5"
},
"sei": {
"router": "0x4b56f191b7F396dec4268b836845C3F63F5e2121"
},
"taiko": {
"router": "0x6293432E8731d8267F76B90Fa82650552e7811F2"
},
"bob": {
"router": "0xc072c3EbAf165955C5aAd2DbB4293f771de6dbd3"
}
}

@ -1,26 +1,29 @@
{
"bsc": {
"router": "0x6266e803057fa68C35018C3FB0B59db7129C23BB"
"router": "0x9Ff085A556A498395B9edA690666E3BD34751024"
},
"arbitrum": {
"router": "0xC8F280d3eC30746f77c28695827d309d16939BF1"
"router": "0x1217441e6E8E960D065698317FE13594a5704f69"
},
"optimism": {
"router": "0x1d1a210E71398c17FD7987eDF1dc347539bB541F"
"router": "0xEF90AF9FCC831c5E2266285C4A1787201f96736a"
},
"base": {
"router": "0x584BA77ec804f8B6A559D196661C0242C6844F49"
"router": "0x4b36617B3D2cAb714a056090306A88Dd6DD4cCcf"
},
"blast": {
"router": "0x8C603c6BDf8a9d548fC5D2995750Cc25eF59183b"
"router": "0xB951c9b16603825C285bf59b14e983047d421Af5"
},
"mode": {
"router": "0xcd95B8dF351400BF4cbAb340b6EfF2454aDB299E"
"router": "0x477614191C3ccF8e10a6D1291dBAf098D17497BE"
},
"linea": {
"router": "0xcd95B8dF351400BF4cbAb340b6EfF2454aDB299E"
"router": "0x477614191C3ccF8e10a6D1291dBAf098D17497BE"
},
"ethereum": {
"router": "0x0B386cAe2851E954b52D10Aee4ba8CCDC11463E1"
},
"fraxtal": {
"router": "0xdFf621F952c23972dFD3A9E5d7B9f6339e9c078B"
}
}

Loading…
Cancel
Save