More Nautilus warps (#2706)

### Description

Includes newly deployed Nautilus warps to not enforce gas payments
between

### Drive-by changes

n/a

### Related issues

Related https://github.com/hyperlane-xyz/issues/issues/566

### Backward compatibility

yes

### Testing

Deployed
pull/2732/head
Trevor Porter 1 year ago committed by GitHub
parent 7a5dce222d
commit 5299b77e4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 80
      typescript/infra/config/environments/mainnet2/agent.ts
  2. 65
      typescript/infra/config/environments/testnet3/agent.ts

@ -1,5 +1,6 @@
import {
AgentConnectionType,
ChainMap,
chainMetadata,
hyperlaneEnvironments,
} from '@hyperlane-xyz/sdk';
@ -11,7 +12,10 @@ import {
allAgentChainNames,
routerMatchingList,
} from '../../../src/config';
import { GasPaymentEnforcementConfig } from '../../../src/config/agent/relayer';
import {
GasPaymentEnforcementConfig,
MatchingList,
} from '../../../src/config/agent/relayer';
import { ALL_KEY_ROLES, Role } from '../../../src/roles';
import { Contexts } from '../../contexts';
@ -62,18 +66,70 @@ const gasPaymentEnforcement: GasPaymentEnforcementConfig[] = [
},
];
const nautilusZbcWarpRouteMatchingList = routerMatchingList({
bsc: {
router: '0xC27980812E2E66491FD457D488509b7E04144b98',
const nautilusWarpRoutes: Array<ChainMap<{ router: string }>> = [
{
bsc: {
router: '0xC27980812E2E66491FD457D488509b7E04144b98',
},
nautilus: {
router: '0x4501bBE6e731A4bC5c60C03A77435b2f6d5e9Fe7',
},
solana: {
router:
'0xc5ba229fa2822fe65ac2bd0a93d8371d75292c3415dd381923c1088a3308528b',
},
},
nautilus: {
router: '0x4501bBE6e731A4bC5c60C03A77435b2f6d5e9Fe7',
// ETH
{
bsc: {
router: '0x2a6822dc5639b3fe70de6b65b9ff872e554162fa',
},
nautilus: {
router: '0x182E8d7c5F1B06201b102123FC7dF0EaeB445a7B',
},
},
solana: {
router:
'0xc5ba229fa2822fe65ac2bd0a93d8371d75292c3415dd381923c1088a3308528b',
// USDC
{
bsc: {
router: '0x6937a62f93a56D2AE9392Fa1649b830ca37F3ea4',
},
nautilus: {
router: '0xB2723928400AE5778f6A3C69D7Ca9e90FC430180',
},
},
});
// BTC
{
bsc: {
router: '0xB3545006A532E8C23ebC4e33d5ab2232Cafc35Ad',
},
nautilus: {
router: '0x61DDB465eEA5bc3708Cf8B53156aC91a77A2f029',
},
},
// USDT
{
bsc: {
router: '0xb7d36720a16A1F9Cfc1f7910Ac49f03965401a36',
},
nautilus: {
router: '0xBDa330Ea8F3005C421C8088e638fBB64fA71b9e0',
},
},
// POSE
{
bsc: {
router: '0x807D2C6c3d64873Cc729dfC65fB717C3E05e682f',
},
nautilus: {
router: '0xA1ac41d8A663fd317cc3BD94C7de92dC4BA4a882',
},
},
];
const nautilusWarpRouteMatchingList = nautilusWarpRoutes.reduce(
(agg, warpRoute) => [...agg, ...routerMatchingList(warpRoute)],
[] as MatchingList,
);
const hyperlane: RootAgentConfig = {
...contextBase,
@ -83,7 +139,7 @@ const hyperlane: RootAgentConfig = {
connectionType: AgentConnectionType.HttpFallback,
docker: {
repo,
tag: '3b0685f-20230815-110725',
tag: '35fdc74-20230913-104940',
},
blacklist: [
...releaseCandidateHelloworldMatchingList,
@ -99,7 +155,7 @@ const hyperlane: RootAgentConfig = {
// and because the Solana warp route does not yet have an IGP configured.
{
type: GasPaymentEnforcementPolicyType.None,
matchingList: nautilusZbcWarpRouteMatchingList,
matchingList: nautilusWarpRouteMatchingList,
},
...gasPaymentEnforcement,
],

@ -57,7 +57,30 @@ const gasPaymentEnforcement: GasPaymentEnforcementConfig[] = [
// all messages between interchain query routers.
// This whitelist will become more strict with
// https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/1605
matchingList: interchainQueriesMatchingList,
matchingList: [
...interchainQueriesMatchingList,
{
originDomain: [getDomainId(chainMetadata.solanadevnet)],
senderAddress: [
// hyperlane context helloworld router on solanadevnet
'CXQX54kdkU5GqdRJjCmHpwHfEMgFb5SeBmMWntP2Ds7J',
// non-IGP-paying warp route on solanadevnet
'PJH5QAbxAqrrnSXfH3GHR8icua8CDFZmo97z91xmpvx',
],
destinationDomain: '*',
recipientAddress: '*',
},
{
originDomain: [getDomainId(chainMetadata.bsctestnet)],
senderAddress: [
// testnet ZBC warp route on bsctestnet, which pays
// an IGP that isn't indexed by the relayer at the moment
'0x31b5234A896FbC4b3e2F7237592D054716762131',
],
destinationDomain: '*',
recipientAddress: '*',
},
],
},
// Default policy is OnChainFeeQuoting
{
@ -74,7 +97,7 @@ const hyperlane: RootAgentConfig = {
connectionType: AgentConnectionType.HttpFallback,
docker: {
repo,
tag: 'ed7569d-20230725-171222',
tag: '35fdc74-20230913-104940',
},
blacklist: [
...releaseCandidateHelloworldMatchingList,
@ -120,31 +143,9 @@ const releaseCandidate: RootAgentConfig = {
connectionType: AgentConnectionType.HttpFallback,
docker: {
repo,
tag: 'c7c44b2-20230811-133851',
tag: '892cc5d-20230908-162614',
},
whitelist: [
...releaseCandidateHelloworldMatchingList,
// Whitelist all traffic to solanadevnet
{
originDomain: '*',
senderAddress: '*',
destinationDomain: [
getDomainId(chainMetadata.solanadevnet),
getDomainId(chainMetadata.proteustestnet),
],
recipientAddress: '*',
},
// Whitelist all traffic from solanadevnet to fuji
{
originDomain: [
getDomainId(chainMetadata.solanadevnet),
getDomainId(chainMetadata.proteustestnet),
],
senderAddress: '*',
destinationDomain: [getDomainId(chainMetadata.bsctestnet)],
recipientAddress: '*',
},
],
whitelist: [...releaseCandidateHelloworldMatchingList],
gasPaymentEnforcement: [
// Don't require gas payments from solanadevnet
{
@ -153,19 +154,13 @@ const releaseCandidate: RootAgentConfig = {
{
originDomain: [getDomainId(chainMetadata.solanadevnet)],
senderAddress: '*',
destinationDomain: [
getDomainId(chainMetadata.bsctestnet),
getDomainId(chainMetadata.proteustestnet),
],
destinationDomain: '*',
recipientAddress: '*',
},
{
originDomain: [getDomainId(chainMetadata.bsctestnet)],
originDomain: '*',
senderAddress: '*',
destinationDomain: [
getDomainId(chainMetadata.solanadevnet),
getDomainId(chainMetadata.proteustestnet),
],
destinationDomain: [getDomainId(chainMetadata.solanadevnet)],
recipientAddress: '*',
},
],

Loading…
Cancel
Save