fix: ignore some testnet4 contracts to reduce prep queues, update testnet4 images, stop relaying solanatestnet (#4478)

### Description

- Mitosis had previously done some load testing from sepolia to
optimismsepolia | arbitrumsepolia, so there were prep queues of 235k+!
- Ignores the offending contracts whose mailboxes are different from the
ones we deployed, so these messages are forever unprocessable:

```
$ cast call 0x3da95d8d0b98d7428dc2f864511e2650e34f7087 'mailbox()(address)' --rpc-url $(rpc arbitrumsepolia)
0xBA42Ee5864884C77a683E1dda390c6f6aE144167
$ addy arbitrumsepolia mailbox
0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8
```

- Updates the image as a drive-by
- Stops relaying and validating on solantestnet, which is now old
(doesn't include protocol fees) which is incompatible with the agents on
`main`. This is because the account storage layout that the agents read
has changed. Solantestnet isn't used for anything anymore because
eclipsetestnet was also shut down

### 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/4421/merge
Trevor Porter 2 months ago committed by GitHub
parent 73c232b3aa
commit 1a8cc27818
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 55
      typescript/infra/config/environments/testnet4/agent.ts
  2. 3
      typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json

@ -1,6 +1,7 @@
import {
GasPaymentEnforcement,
GasPaymentEnforcementPolicyType,
MatchingList,
RpcConsensusType,
} from '@hyperlane-xyz/sdk';
@ -9,9 +10,13 @@ import {
RootAgentConfig,
getAgentChainNamesFromConfig,
} from '../../../src/config/agent/agent.js';
import { routerMatchingList } from '../../../src/config/agent/relayer.js';
import {
BaseRelayerConfig,
routerMatchingList,
} from '../../../src/config/agent/relayer.js';
import { ALL_KEY_ROLES, Role } from '../../../src/roles.js';
import { Contexts } from '../../contexts.js';
import { getDomainId } from '../../registry.js';
import { environment } from './chains.js';
import { helloWorld } from './helloworld.js';
@ -51,7 +56,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
polygonamoy: true,
scrollsepolia: true,
sepolia: true,
solanatestnet: true,
solanatestnet: false,
superpositiontestnet: true,
},
[Role.Relayer]: {
@ -69,7 +74,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig<
polygonamoy: true,
scrollsepolia: true,
sepolia: true,
solanatestnet: true,
solanatestnet: false,
superpositiontestnet: true,
},
[Role.Scraper]: {
@ -137,6 +142,29 @@ const scraperResources = {
},
};
const relayBlacklist: BaseRelayerConfig['blacklist'] = [
{
// In an effort to reduce some giant retry queues that resulted
// from spam txs to the old TestRecipient before we were charging for
// gas, we blacklist the old TestRecipient address.
recipientAddress: '0xBC3cFeca7Df5A45d61BC60E7898E63670e1654aE',
},
// Ignore load testing done by Mitosis from sepolia when they used a different Mailbox on
// arbitrumsepolia and optimismsepolia.
{
originDomain: getDomainId('sepolia'),
senderAddress: '0xb6f4a8dccac0beab1062212f4665879d9937c83c',
destinationDomain: getDomainId('arbitrumsepolia'),
recipientAddress: '0x3da95d8d0b98d7428dc2f864511e2650e34f7087',
},
{
originDomain: getDomainId('sepolia'),
senderAddress: '0xb6f4a8dccac0beab1062212f4665879d9937c83c',
destinationDomain: getDomainId('optimismsepolia'),
recipientAddress: '0xa49942c908ec50db14652914317518661ec04904',
},
];
const hyperlane: RootAgentConfig = {
...contextBase,
contextChainNames: hyperlaneContextAgentChainNames,
@ -146,17 +174,9 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: 'd0ce062-20240813-215255',
tag: '73c232b-20240912-124300',
},
blacklist: [
...releaseCandidateHelloworldMatchingList,
{
// In an effort to reduce some giant retry queues that resulted
// from spam txs to the old TestRecipient before we were charging for
// gas, we blacklist the old TestRecipient address.
recipientAddress: '0xBC3cFeca7Df5A45d61BC60E7898E63670e1654aE',
},
],
blacklist: [...releaseCandidateHelloworldMatchingList, ...relayBlacklist],
gasPaymentEnforcement,
metricAppContexts: [
{
@ -176,7 +196,7 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: 'd0ce062-20240813-215255',
tag: '73c232b-20240912-124300',
},
chains: validatorChainConfig(Contexts.Hyperlane),
resources: validatorResources,
@ -185,7 +205,7 @@ const hyperlane: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: 'd0ce062-20240813-215255',
tag: '73c232b-20240912-124300',
},
resources: scraperResources,
},
@ -200,9 +220,10 @@ const releaseCandidate: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: '0d12ff3-20240620-173353',
tag: '73c232b-20240912-124300',
},
whitelist: [...releaseCandidateHelloworldMatchingList],
blacklist: relayBlacklist,
gasPaymentEnforcement,
transactionGasLimit: 750000,
resources: relayerResources,
@ -211,7 +232,7 @@ const releaseCandidate: RootAgentConfig = {
rpcConsensusType: RpcConsensusType.Fallback,
docker: {
repo,
tag: '0d12ff3-20240620-173353',
tag: '73c232b-20240912-124300',
},
chains: validatorChainConfig(Contexts.ReleaseCandidate),
resources: validatorResources,

@ -62,9 +62,6 @@
"0xd3c75dcf15056012a4d74c483a0c6ea11d8c2b83"
]
},
"solanatestnet": {
"validators": ["0xd4ce8fa138d4e083fc0e480cca0dbfa4f5f30bd5"]
},
"superpositiontestnet": {
"validators": ["0x1d3168504b23b73cdf9c27f13bb0a595d7f1a96a"]
}

Loading…
Cancel
Save