From 6c6d2bc04ff1b340aeb75653068228bd3d7d4543 Mon Sep 17 00:00:00 2001 From: Kunal Arora <55632507+aroralanuk@users.noreply.github.com> Date: Mon, 13 Jan 2025 22:03:40 +0530 Subject: [PATCH 01/14] fix(e2e): reenable gas enforcement check in e2e (non-cosmwasm) (#5105) ### Description - Move to valid 'gaspaymentenforcement' for e2e, which was earlier shortcircuiting to none (the default value for enforcement policy). This meant we were not checking if the relayer was enforcing a non-zero gas payment for either sealevel or EVM gas payments. - The igpHook set as part of the default hook for Kathy was not configured properly, hence was giving a quote of 0. Now, Kathy does set the IGP config (oracle and overhead). (Note: Kathy is soon to be deprecated, so this is more of a quick patch for e2e coverage). - Added a check for deserilization of 'gaspaymentenforcement' and panic if invalid to prevent this bug in the future. ### Drive-by changes ### Related issues ### Backward compatibility ### Testing --- rust/main/agents/relayer/src/settings/mod.rs | 44 ++++++++-- rust/main/utils/run-locally/src/main.rs | 2 +- .../infra/scripts/send-test-messages.ts | 81 +++++++++++++++++-- 3 files changed, 113 insertions(+), 14 deletions(-) diff --git a/rust/main/agents/relayer/src/settings/mod.rs b/rust/main/agents/relayer/src/settings/mod.rs index dc4c1e543e..df28d03dee 100644 --- a/rust/main/agents/relayer/src/settings/mod.rs +++ b/rust/main/agents/relayer/src/settings/mod.rs @@ -125,16 +125,50 @@ impl FromRawConf for RelayerSettings { .parse_from_str("Expected database path") .unwrap_or_else(|| std::env::current_dir().unwrap().join("hyperlane_db")); - let (raw_gas_payment_enforcement_path, raw_gas_payment_enforcement) = p - .get_opt_key("gasPaymentEnforcement") - .take_config_err_flat(&mut err) - .and_then(parse_json_array) - .unwrap_or_else(|| (&p.cwp + "gas_payment_enforcement", Value::Array(vec![]))); + // is_gas_payment_enforcement_set determines if we should be checking if the correct gas payment enforcement policy has been provided with "gasPaymentEnforcement" key + let ( + raw_gas_payment_enforcement_path, + raw_gas_payment_enforcement, + is_gas_payment_enforcement_set, + ) = { + match p.get_opt_key("gasPaymentEnforcement") { + Ok(Some(parser)) => match parse_json_array(parser) { + Some((path, value)) => (path, value, true), + None => ( + &p.cwp + "gas_payment_enforcement", + Value::Array(vec![]), + true, + ), + }, + Ok(None) => ( + &p.cwp + "gas_payment_enforcement", + Value::Array(vec![]), + false, + ), + Err(_) => ( + &p.cwp + "gas_payment_enforcement", + Value::Array(vec![]), + false, + ), + } + }; let gas_payment_enforcement_parser = ValueParser::new( raw_gas_payment_enforcement_path, &raw_gas_payment_enforcement, ); + + if is_gas_payment_enforcement_set + && gas_payment_enforcement_parser + .val + .as_array() + .unwrap() + .is_empty() + { + Err::<(), eyre::Report>(eyre!("GASPAYMENTENFORCEMENT policy cannot be parsed")) + .take_err(&mut err, || cwp + "gas_payment_enforcement"); + } + let mut gas_payment_enforcement = gas_payment_enforcement_parser.into_array_iter().map(|itr| { itr.filter_map(|policy| { let policy_type = policy.chain(&mut err).get_opt_key("type").parse_string().end(); diff --git a/rust/main/utils/run-locally/src/main.rs b/rust/main/utils/run-locally/src/main.rs index 4686c15446..a7e03b4094 100644 --- a/rust/main/utils/run-locally/src/main.rs +++ b/rust/main/utils/run-locally/src/main.rs @@ -227,7 +227,7 @@ fn main() -> ExitCode { "GASPAYMENTENFORCEMENT", r#"[{ "type": "minimum", - "payment": "1", + "payment": "1" }]"#, ) .arg( diff --git a/typescript/infra/scripts/send-test-messages.ts b/typescript/infra/scripts/send-test-messages.ts index d028263982..6775ac5534 100644 --- a/typescript/infra/scripts/send-test-messages.ts +++ b/typescript/infra/scripts/send-test-messages.ts @@ -1,9 +1,16 @@ import { Provider } from '@ethersproject/providers'; -import { Wallet } from 'ethers'; +import { BigNumber, Wallet } from 'ethers'; import fs from 'fs'; import yargs from 'yargs'; -import { Mailbox, TestSendReceiver__factory } from '@hyperlane-xyz/core'; +import { + InterchainGasPaymaster, + InterchainGasPaymaster__factory, + Mailbox, + StorageGasOracle, + StorageGasOracle__factory, + TestSendReceiver__factory, +} from '@hyperlane-xyz/core'; import { ChainName, HookType, @@ -11,7 +18,7 @@ import { MultiProvider, TestChainName, } from '@hyperlane-xyz/sdk'; -import { addressToBytes32, sleep } from '@hyperlane-xyz/utils'; +import { addressToBytes32, formatMessage, sleep } from '@hyperlane-xyz/utils'; const ANVIL_KEY = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'; @@ -47,6 +54,44 @@ async function setMailboxHook( console.log(`set the ${mailboxHookType} hook on ${local} to ${hook}`); } +async function setIgpConfig( + remoteId: number, + signer: Wallet, + provider: Provider, + mailbox: Mailbox, + addresses: any, + local: ChainName, +) { + const storageGasOracleF = new StorageGasOracle__factory( + signer.connect(provider), + ); + const storageGasOracle = await storageGasOracleF.deploy(); + await storageGasOracle.deployTransaction.wait(); + + const oracleConfigs: Array = []; + oracleConfigs.push({ + remoteDomain: remoteId, + tokenExchangeRate: '10000000000', + gasPrice: '1000000000', + }); + await storageGasOracle.setRemoteGasDataConfigs(oracleConfigs); + + const gasParamsToSet: InterchainGasPaymaster.GasParamStruct[] = []; + gasParamsToSet.push({ + remoteDomain: remoteId, + config: { + gasOracle: storageGasOracle.address, + gasOverhead: 1000000, + }, + }); + + const igpHook = InterchainGasPaymaster__factory.connect( + addresses[local].interchainGasPaymaster, + signer.connect(provider), + ); + await igpHook.setDestinationGasConfigs(gasParamsToSet); +} + const chainSummary = async (core: HyperlaneCore, chain: ChainName) => { const coreContracts = core.getContracts(chain); const mailbox = coreContracts.mailbox; @@ -157,15 +202,33 @@ async function main() { MailboxHookType.REQUIRED, requiredHook, ); + + if ( + defaultHook === HookType.AGGREGATION || + defaultHook === HookType.INTERCHAIN_GAS_PAYMASTER + ) { + console.log('Setting IGP config for message ...'); + await setIgpConfig(remoteId, signer, provider, mailbox, addresses, local); + } + + const message = formatMessage( + 1, + 0, + multiProvider.getDomainId(local), + recipient.address, + multiProvider.getDomainId(remote), + recipient.address, + '0x1234', + ); const quote = await mailbox['quoteDispatch(uint32,bytes32,bytes)']( remoteId, addressToBytes32(recipient.address), - '0x1234', + message, ); - await recipient['dispatchToSelf(address,uint32,bytes)']( - mailbox.address, + await mailbox['dispatch(uint32,bytes32,bytes)']( remoteId, - '0x1234', + addressToBytes32(recipient.address), + message, { value: quote, }, @@ -173,7 +236,9 @@ async function main() { console.log( `send to ${recipient.address} on ${remote} via mailbox ${ mailbox.address - } on ${local} with nonce ${(await mailbox.nonce()) - 1}`, + } on ${local} with nonce ${ + (await mailbox.nonce()) - 1 + } and quote ${quote.toString()}`, ); console.log(await chainSummary(core, local)); console.log(await chainSummary(core, remote)); From b505997e6658c65e5bbd4118c590d17d2cc31c14 Mon Sep 17 00:00:00 2001 From: Kunal Arora <55632507+aroralanuk@users.noreply.github.com> Date: Mon, 13 Jan 2025 23:45:35 +0530 Subject: [PATCH 02/14] fix(agents/sealevel): handle non configured igp account payments (#5075) ### Description - Handles the case where igp fees are paid to a non-configured igp account in a backward compatible way. - Zero out payment for non-matching igp accounts so that the db stays continuous to prevent an infinite loop in the sequencer aware parser but at the same time, enforce payments to the right igp account was made before processing the message. Note: If we want to display these neutralized payments (in say, the Explorer), we'll need to think of a more breaking solution, which isn't necessary today. ### Drive-by changes None ### Related issues - fixes https://github.com/hyperlane-xyz/issues/issues/1392 ### Backward compatibility Yes ### Testing - integration test paying to a different newly deployed account --- rust/main/agents/relayer/src/settings/mod.rs | 2 +- .../hyperlane-sealevel/src/interchain_gas.rs | 14 ++- .../run-locally/src/invariants/common.rs | 1 + .../src/invariants/termination_invariants.rs | 25 +++-- rust/main/utils/run-locally/src/main.rs | 5 + rust/main/utils/run-locally/src/solana.rs | 91 +++++++++++++++++++ rust/sealevel/client/src/igp.rs | 44 ++++++++- rust/sealevel/client/src/main.rs | 6 ++ .../local-e2e/gas-oracle-configs.json | 20 ++++ 9 files changed, 191 insertions(+), 17 deletions(-) create mode 100644 rust/sealevel/environments/local-e2e/gas-oracle-configs.json diff --git a/rust/main/agents/relayer/src/settings/mod.rs b/rust/main/agents/relayer/src/settings/mod.rs index df28d03dee..2d3d9375de 100644 --- a/rust/main/agents/relayer/src/settings/mod.rs +++ b/rust/main/agents/relayer/src/settings/mod.rs @@ -125,7 +125,7 @@ impl FromRawConf for RelayerSettings { .parse_from_str("Expected database path") .unwrap_or_else(|| std::env::current_dir().unwrap().join("hyperlane_db")); - // is_gas_payment_enforcement_set determines if we should be checking if the correct gas payment enforcement policy has been provided with "gasPaymentEnforcement" key + // is_gas_payment_enforcement_set determines if we should be checking for the correct gas payment enforcement policy has been provided with "gasPaymentEnforcement" key let ( raw_gas_payment_enforcement_path, raw_gas_payment_enforcement, diff --git a/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs b/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs index 4d5e819de3..95cd97eb35 100644 --- a/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs +++ b/rust/main/chains/hyperlane-sealevel/src/interchain_gas.rs @@ -248,11 +248,17 @@ impl Indexer for SealevelInterchainGasPaymasterIndexer { for nonce in range { if let Ok(sealevel_payment) = self.get_payment_with_sequence(nonce.into()).await { let igp_account_filter = self.igp.igp_account; - if igp_account_filter == sealevel_payment.igp_account_pubkey { - payments.push((sealevel_payment.payment, sealevel_payment.log_meta)); - } else { - tracing::debug!(sealevel_payment=?sealevel_payment, igp_account_filter=?igp_account_filter, "Found interchain gas payment for a different IGP account, skipping"); + let mut payment = *sealevel_payment.payment.inner(); + // If fees is paid to a different IGP account, we zero out the payment to make sure the db entries are contiguous, but at the same time, gasEnforcer will reject the message (if not set to none policy) + if igp_account_filter != sealevel_payment.igp_account_pubkey { + tracing::debug!(sealevel_payment=?sealevel_payment, igp_account_filter=?igp_account_filter, "Found interchain gas payment for a different IGP account, neutralizing payment"); + + payment.payment = U256::from(0); } + payments.push(( + Indexed::new(payment).with_sequence(nonce), + sealevel_payment.log_meta, + )); } } Ok(payments) diff --git a/rust/main/utils/run-locally/src/invariants/common.rs b/rust/main/utils/run-locally/src/invariants/common.rs index 35a0c5eae4..1f603db53b 100644 --- a/rust/main/utils/run-locally/src/invariants/common.rs +++ b/rust/main/utils/run-locally/src/invariants/common.rs @@ -1,3 +1,4 @@ // This number should be even, so the messages can be split into two equal halves // sent before and after the relayer spins up, to avoid rounding errors. pub const SOL_MESSAGES_EXPECTED: u32 = 20; +pub const SOL_MESSAGES_WITH_NON_MATCHING_IGP: u32 = 1; diff --git a/rust/main/utils/run-locally/src/invariants/termination_invariants.rs b/rust/main/utils/run-locally/src/invariants/termination_invariants.rs index b6e299c1bc..6e69fd5e63 100644 --- a/rust/main/utils/run-locally/src/invariants/termination_invariants.rs +++ b/rust/main/utils/run-locally/src/invariants/termination_invariants.rs @@ -7,7 +7,7 @@ use crate::utils::get_matching_lines; use maplit::hashmap; use relayer::GAS_EXPENDITURE_LOG_MESSAGE; -use crate::invariants::SOL_MESSAGES_EXPECTED; +use crate::invariants::common::{SOL_MESSAGES_EXPECTED, SOL_MESSAGES_WITH_NON_MATCHING_IGP}; use crate::logging::log; use crate::solana::solana_termination_invariants_met; use crate::{ @@ -30,7 +30,15 @@ pub fn termination_invariants_met( } else { 0 }; + let sol_messages_with_non_matching_igp = if config.sealevel_enabled { + SOL_MESSAGES_WITH_NON_MATCHING_IGP + } else { + 0 + }; + + // this is total messages expected to be delivered let total_messages_expected = eth_messages_expected + sol_messages_expected; + let total_messages_dispatched = total_messages_expected + sol_messages_with_non_matching_igp; let lengths = fetch_metric( RELAYER_METRICS_PORT, @@ -38,7 +46,9 @@ pub fn termination_invariants_met( &hashmap! {}, )?; assert!(!lengths.is_empty(), "Could not find queue length metric"); - if lengths.iter().sum::() != ZERO_MERKLE_INSERTION_KATHY_MESSAGES { + if lengths.iter().sum::() + != ZERO_MERKLE_INSERTION_KATHY_MESSAGES + sol_messages_with_non_matching_igp + { log!( "Relayer queues contain more messages than the zero-merkle-insertion ones. Lengths: {:?}", lengths @@ -131,11 +141,11 @@ pub fn termination_invariants_met( // TestSendReceiver randomly breaks gas payments up into // two. So we expect at least as many gas payments as messages. - if gas_payment_events_count < total_messages_expected { + if gas_payment_events_count < total_messages_dispatched { log!( "Relayer has {} gas payment events, expected at least {}", gas_payment_events_count, - total_messages_expected + total_messages_dispatched ); return Ok(false); } @@ -156,12 +166,13 @@ pub fn termination_invariants_met( )? .iter() .sum::(); - if dispatched_messages_scraped != total_messages_expected + ZERO_MERKLE_INSERTION_KATHY_MESSAGES + if dispatched_messages_scraped + != total_messages_dispatched + ZERO_MERKLE_INSERTION_KATHY_MESSAGES { log!( "Scraper has scraped {} dispatched messages, expected {}", dispatched_messages_scraped, - total_messages_expected + ZERO_MERKLE_INSERTION_KATHY_MESSAGES, + total_messages_dispatched + ZERO_MERKLE_INSERTION_KATHY_MESSAGES, ); return Ok(false); } @@ -193,7 +204,7 @@ pub fn termination_invariants_met( log!( "Scraper has scraped {} delivered messages, expected {}", delivered_messages_scraped, - total_messages_expected + total_messages_expected + sol_messages_with_non_matching_igp ); return Ok(false); } diff --git a/rust/main/utils/run-locally/src/main.rs b/rust/main/utils/run-locally/src/main.rs index a7e03b4094..7aeb3ae101 100644 --- a/rust/main/utils/run-locally/src/main.rs +++ b/rust/main/utils/run-locally/src/main.rs @@ -465,6 +465,11 @@ fn main() -> ExitCode { initiate_solana_hyperlane_transfer(solana_path.clone(), solana_config_path.clone()) .join(); } + initiate_solana_non_matching_igp_paying_transfer( + solana_path.clone(), + solana_config_path.clone(), + ) + .join(); } log!("Setup complete! Agents running in background..."); diff --git a/rust/main/utils/run-locally/src/solana.rs b/rust/main/utils/run-locally/src/solana.rs index 6dd137857f..3e32524cdd 100644 --- a/rust/main/utils/run-locally/src/solana.rs +++ b/rust/main/utils/run-locally/src/solana.rs @@ -73,6 +73,8 @@ const SOLANA_REMOTE_CHAIN_ID: &str = "13376"; pub const SOLANA_CHECKPOINT_LOCATION: &str = "/tmp/test_sealevel_checkpoints_0x70997970c51812dc3a010c7d01b50e0d17dc79c8"; +const SOLANA_GAS_ORACLE_CONFIG_FILE: &str = + "../sealevel/environments/local-e2e/gas-oracle-configs.json"; const SOLANA_OVERHEAD_CONFIG_FILE: &str = "../sealevel/environments/local-e2e/overheads.json"; // Install the CLI tools and return the path to the bin dir. @@ -280,6 +282,7 @@ pub fn start_solana_test_validator( .join(); sealevel_client + .clone() .cmd("validator-announce") .cmd("announce") .arg("validator", "0x70997970c51812dc3a010c7d01b50e0d17dc79c8") @@ -291,6 +294,43 @@ pub fn start_solana_test_validator( .run() .join(); + sealevel_client + .clone() + .cmd("igp") + .cmd("init-igp-account") + .arg("program-id", "GwHaw8ewMyzZn9vvrZEnTEAAYpLdkGYs195XWcLDCN4U") + .arg("environment", SOLANA_ENV_NAME) + .arg("environments-dir", SOLANA_ENVS_DIR) + .arg("chain", "sealeveltest1") + .arg("chain-config-file", SOLANA_CHAIN_CONFIG_FILE) + .arg("gas-oracle-config-file", SOLANA_GAS_ORACLE_CONFIG_FILE) + .arg( + "account-salt", + "0x0000000000000000000000000000000000000000000000000000000000000001", + ) + .run() + .join(); + + sealevel_client + .cmd("igp") + .cmd("init-overhead-igp-account") + .arg("program-id", "GwHaw8ewMyzZn9vvrZEnTEAAYpLdkGYs195XWcLDCN4U") + .arg("environment", SOLANA_ENV_NAME) + .arg("environments-dir", SOLANA_ENVS_DIR) + .arg("chain", "sealeveltest1") + .arg("chain-config-file", SOLANA_CHAIN_CONFIG_FILE) + .arg("overhead-config-file", SOLANA_OVERHEAD_CONFIG_FILE) + .arg( + "inner-igp-account", + "8EniU8dQaGQ3HWWtT77V7hrksheygvEu6TtzJ3pX1nKM", + ) + .arg( + "account-salt", + "0x0000000000000000000000000000000000000000000000000000000000000001", + ) + .run() + .join(); + log!("Local Solana chain started and hyperlane programs deployed and initialized successfully"); (solana_config_path, validator) @@ -341,6 +381,57 @@ pub fn initiate_solana_hyperlane_transfer( message_id } +#[apply(as_task)] +#[allow(clippy::get_first)] +pub fn initiate_solana_non_matching_igp_paying_transfer( + solana_cli_tools_path: PathBuf, + solana_config_path: PathBuf, +) -> String { + let sender = Program::new(concat_path(&solana_cli_tools_path, "solana")) + .arg("config", solana_config_path.to_str().unwrap()) + .arg("keypair", SOLANA_KEYPAIR) + .cmd("address") + .run_with_output() + .join() + .get(0) + .expect("failed to get sender address") + .trim() + .to_owned(); + + let output = sealevel_client(&solana_cli_tools_path, &solana_config_path) + .cmd("token") + .cmd("transfer-remote") + .cmd(SOLANA_KEYPAIR) + .cmd("10000000000") + .cmd(SOLANA_REMOTE_CHAIN_ID) + .cmd(sender) // send to self + .cmd("native") + .arg("program-id", "CGn8yNtSD3aTTqJfYhUb6s1aVTN75NzwtsFKo1e83aga") + .run_with_output() + .join(); + let non_matching_igp_message_id = get_message_id_from_logs(output.clone()) + .unwrap_or_else(|| panic!("failed to get message id from logs: {:?}", output)); + + log!( + "paying gas to a different IGP account for message id: {}", + non_matching_igp_message_id + ); + sealevel_client(&solana_cli_tools_path, &solana_config_path) + .cmd("igp") + .cmd("pay-for-gas") + .arg("program-id", "GwHaw8ewMyzZn9vvrZEnTEAAYpLdkGYs195XWcLDCN4U") + .arg("message-id", non_matching_igp_message_id.clone()) + .arg("destination-domain", SOLANA_REMOTE_CHAIN_ID) + .arg("gas", "100000") + .arg( + "account-salt", + "0x0000000000000000000000000000000000000000000000000000000000000001", + ) + .run() + .join(); + non_matching_igp_message_id +} + fn get_message_id_from_logs(logs: Vec) -> Option { let message_id_regex = Regex::new(r"Dispatched message to \d+, ID 0x([0-9a-fA-F]+)").unwrap(); for log in logs { diff --git a/rust/sealevel/client/src/igp.rs b/rust/sealevel/client/src/igp.rs index cf9d6042b2..60f51479d9 100644 --- a/rust/sealevel/client/src/igp.rs +++ b/rust/sealevel/client/src/igp.rs @@ -90,11 +90,24 @@ pub(crate) fn process_igp_cmd(mut ctx: Context, cmd: IgpCmd) { let context_dir = create_new_directory(&chain_dir, get_context_dir_name(init.context.as_ref())); - let artifacts_path = context_dir.join("igp-accounts.json"); + let artifacts_path = if init.account_salt.is_some() { + context_dir.join(format!( + "igp-accounts-{}.json", + init.account_salt.clone().unwrap() + )) + } else { + context_dir.join("igp-accounts.json") + }; let existing_artifacts = try_read_json::(&artifacts_path).ok(); - let salt = get_context_salt(init.context.as_ref()); + let salt = init + .account_salt + .map(|s| { + let salt_str = s.trim_start_matches("0x"); + H256::from_str(salt_str).expect("Invalid salt format") + }) + .unwrap_or_else(|| get_context_salt(init.context.as_ref())); let chain_configs = read_json::>(&init.chain_config_file); @@ -123,11 +136,24 @@ pub(crate) fn process_igp_cmd(mut ctx: Context, cmd: IgpCmd) { let context_dir = create_new_directory(&chain_dir, get_context_dir_name(init.context.as_ref())); - let artifacts_path = context_dir.join("igp-accounts.json"); + let artifacts_path = if init.account_salt.is_some() { + context_dir.join(format!( + "igp-accounts-{}.json", + init.account_salt.clone().unwrap() + )) + } else { + context_dir.join("igp-accounts.json") + }; let existing_artifacts = try_read_json::(&artifacts_path).ok(); - let salt = get_context_salt(init.context.as_ref()); + let salt = init + .account_salt + .map(|s| { + let salt_str = s.trim_start_matches("0x"); + H256::from_str(salt_str).expect("Invalid salt format") + }) + .unwrap_or_else(|| get_context_salt(init.context.as_ref())); let chain_configs = read_json::>(&init.chain_config_file); @@ -190,7 +216,15 @@ pub(crate) fn process_igp_cmd(mut ctx: Context, cmd: IgpCmd) { } IgpSubCmd::PayForGas(payment_details) => { let unique_gas_payment_keypair = Keypair::new(); - let salt = H256::zero(); + + let salt = payment_details + .account_salt + .map(|s| { + let salt_str = s.trim_start_matches("0x"); + H256::from_str(salt_str).expect("Invalid salt format") + }) + .unwrap_or_else(H256::zero); + let (igp_account, _igp_account_bump) = Pubkey::find_program_address( hyperlane_sealevel_igp::igp_pda_seeds!(salt), &payment_details.program_id, diff --git a/rust/sealevel/client/src/main.rs b/rust/sealevel/client/src/main.rs index 4b76a7cf0a..c9ea55b548 100644 --- a/rust/sealevel/client/src/main.rs +++ b/rust/sealevel/client/src/main.rs @@ -430,6 +430,8 @@ struct InitIgpAccountArgs { context: Option, #[arg(long)] gas_oracle_config_file: Option, + #[arg(long)] + account_salt: Option, // optional salt for deterministic account creation } #[derive(Args)] @@ -448,6 +450,8 @@ struct InitOverheadIgpAccountArgs { context: Option, #[arg(long)] overhead_config_file: Option, + #[arg(long)] + account_salt: Option, // optional salt for deterministic account creation } #[derive(Args)] @@ -481,6 +485,8 @@ struct PayForGasArgs { destination_domain: u32, #[arg(long)] gas: u64, + #[arg(long)] + account_salt: Option, // optional salt for paying gas to a deterministically derived account } #[derive(Args)] diff --git a/rust/sealevel/environments/local-e2e/gas-oracle-configs.json b/rust/sealevel/environments/local-e2e/gas-oracle-configs.json new file mode 100644 index 0000000000..1d69e4c3bf --- /dev/null +++ b/rust/sealevel/environments/local-e2e/gas-oracle-configs.json @@ -0,0 +1,20 @@ +[ + { + "domain": 13375, + "gasOracle": { + "type": "remoteGasData", + "tokenExchangeRate": "10000000000000000000", + "gasPrice": "0", + "tokenDecimals": 18 + } + }, + { + "domain": 13376, + "gasOracle": { + "type": "remoteGasData", + "tokenExchangeRate": "10000000000000000000", + "gasPrice": "0", + "tokenDecimals": 18 + } + } +] From fd255efa64644a62f99faf31a871db142ad2c150 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Mon, 13 Jan 2025 19:37:39 -0500 Subject: [PATCH 03/14] feat: configure PNDR warp route (#5104) ### Description configure PNDR warp route ### Drive-by changes ### Related issues ### Backward compatibility Yes ### Testing Manual --- .../getBscEthereumLumiaPNDRWarpConfig.ts | 48 +++++++++++++++++++ .../environments/mainnet3/warp/warpIds.ts | 1 + typescript/infra/config/warp.ts | 3 ++ typescript/infra/src/config/warp.ts | 1 + 4 files changed, 53 insertions(+) create mode 100644 typescript/infra/config/environments/mainnet3/warp/configGetters/getBscEthereumLumiaPNDRWarpConfig.ts diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getBscEthereumLumiaPNDRWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getBscEthereumLumiaPNDRWarpConfig.ts new file mode 100644 index 0000000000..263e13fc76 --- /dev/null +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getBscEthereumLumiaPNDRWarpConfig.ts @@ -0,0 +1,48 @@ +import { ethers } from 'ethers'; + +import { ChainMap, HypTokenRouterConfig, TokenType } from '@hyperlane-xyz/sdk'; + +import { + RouterConfigWithoutOwner, + tokens, +} from '../../../../../src/config/warp.js'; + +const owners = { + ethereum: '0x9b948CC7CfC4B67262CbbcC37f9d09B61ea6f0E3', + bsc: '0xA788b57518bBE602ac94CCEE5ae7E4831a546Bfd', + lumiaprism: '0x1C4A50f3E9Bfeb268448D19d0D3fe6d58CB0f7BE', +}; + +const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM + +export const getBscEthereumLumiaPrismPNDRWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const ethereum: HypTokenRouterConfig = { + ...routerConfig.ethereum, + owner: owners.ethereum, + type: TokenType.collateral, + token: tokens.ethereum.PNDR, + interchainSecurityModule: ISM_CONFIG, + }; + + const bsc: HypTokenRouterConfig = { + ...routerConfig.bsc, + owner: owners.bsc, + type: TokenType.synthetic, + interchainSecurityModule: ISM_CONFIG, + }; + + const lumiaprism: HypTokenRouterConfig = { + ...routerConfig.lumiaprism, + owner: owners.lumiaprism, + type: TokenType.synthetic, + interchainSecurityModule: ISM_CONFIG, + }; + + return { + ethereum, + bsc, + lumiaprism, + }; +}; diff --git a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts index 780ebc079c..2ce06831ea 100644 --- a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts +++ b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts @@ -6,6 +6,7 @@ export enum WarpRouteIds { ArbitrumNeutronEclip = 'ECLIP/arbitrum-neutron', ArbitrumNeutronTIA = 'TIA/arbitrum-neutron', ArbitrumTreasureMAGIC = 'MAGIC/arbitrum-treasure', + BscEthereumLumiaPrismPNDR = 'PNDR/bsc-ethereum-lumiaprism', EclipseEthereumApxEth = 'APXETH/eclipsemainnet-ethereum', EclipseEthereumSolanaUSDC = 'USDC/eclipsemainnet-ethereum-solanamainnet', EclipseEthereumSolanaUSDT = 'USDT/eclipsemainnet-ethereum-solanamainnet', diff --git a/typescript/infra/config/warp.ts b/typescript/infra/config/warp.ts index 5318a9ca2b..e15ec37e71 100644 --- a/typescript/infra/config/warp.ts +++ b/typescript/infra/config/warp.ts @@ -24,6 +24,7 @@ import { getBaseFormAIXBTWarpConfig } from './environments/mainnet3/warp/configG import { getBaseFormGAMEWarpConfig } from './environments/mainnet3/warp/configGetters/getBaseFormGAMEWarpConfig.js'; import { getBaseZeroNetworkCBBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getBaseZeroNetworkCBBTCWarpConfig.js'; import { getBobaBsquaredSwellUBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getBobaBsquaredSwellUBTCWarpConfig.js'; +import { getBscEthereumLumiaPrismPNDRWarpConfig } from './environments/mainnet3/warp/configGetters/getBscEthereumLumiaPNDRWarpConfig.js'; import { getEclipseEthereumApxEthWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseEthereumApxETHWarpConfig.js'; import { getEclipseEthereumSolanaUSDTWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseEthereumSolanaUSDTWarpConfig.js'; import { getEclipseEthereumWBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseEthereumWBTCWarpConfig.js'; @@ -70,6 +71,8 @@ export const warpConfigGetterMap: Record = { [WarpRouteIds.ArbitrumBaseBlastBscEthereumFraxtalLineaModeOptimismSeiSwellTaikoZircuitEZETH]: getRenzoEZETHWarpConfig, [WarpRouteIds.InevmInjectiveINJ]: getInevmInjectiveINJWarpConfig, + [WarpRouteIds.BscEthereumLumiaPrismPNDR]: + getBscEthereumLumiaPrismPNDRWarpConfig, [WarpRouteIds.EthereumFlowCbBTC]: getEthereumFlowCbBTCWarpConfig, [WarpRouteIds.EthereumInkUSDC]: getEthereumInkUSDCConfig, [WarpRouteIds.EthereumSeiFastUSD]: getEthereumSeiFastUSDWarpConfig, diff --git a/typescript/infra/src/config/warp.ts b/typescript/infra/src/config/warp.ts index 48e3425701..1660b54dd9 100644 --- a/typescript/infra/src/config/warp.ts +++ b/typescript/infra/src/config/warp.ts @@ -14,6 +14,7 @@ export const tokens: ChainMap> = { weETHs: '0x917cee801a67f933f2e6b33fc0cd1ed2d5909d88', pumpBTCsei: '0xe9ebd666954B7F0B5B044704c86B126651f6235d', Re7LRT: '0x84631c0d0081FDe56DeB72F6DE77abBbF6A9f93a', + PNDR: '0x73624d2dEF952C77a1f3B5AD995eef53E49639EC', rstETH: '0x7a4EffD87C2f3C55CA251080b1343b605f327E3a', WSTETH: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0', }, From d365e55e0b392d371e57e3b92b2544fb50db4c81 Mon Sep 17 00:00:00 2001 From: Tien Dao <15717476+tiendn@users.noreply.github.com> Date: Tue, 14 Jan 2025 07:58:35 +0700 Subject: [PATCH 04/14] fix: correct spelling of 'Separated' in agent configuration regex patterns (#5152) ### Description Fix typo `Seperated` -> `Separated` ### Drive-by changes ### Related issues ### Backward compatibility ### Testing No update test --- typescript/sdk/src/metadata/agentConfig.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/typescript/sdk/src/metadata/agentConfig.ts b/typescript/sdk/src/metadata/agentConfig.ts index 9ff999c0dc..58a80dc709 100644 --- a/typescript/sdk/src/metadata/agentConfig.ts +++ b/typescript/sdk/src/metadata/agentConfig.ts @@ -310,8 +310,8 @@ export const AgentConfigSchema = z.object({ .optional(), }); -const CommaSeperatedChainList = z.string().regex(/^[a-z0-9]+(,[a-z0-9]+)*$/); -const CommaSeperatedDomainList = z.string().regex(/^\d+(,\d+)*$/); +const CommaSeparatedChainList = z.string().regex(/^[a-z0-9]+(,[a-z0-9]+)*$/); +const CommaSeparatedDomainList = z.string().regex(/^\d+(,\d+)*$/); export enum GasPaymentEnforcementPolicyType { None = 'none', @@ -355,7 +355,7 @@ export const RelayerAgentConfigSchema = AgentConfigSchema.extend({ .min(1) .optional() .describe('The path to the relayer database.'), - relayChains: CommaSeperatedChainList.describe( + relayChains: CommaSeparatedChainList.describe( 'Comma separated list of chains to relay messages between.', ), gasPaymentEnforcement: z @@ -383,7 +383,7 @@ export const RelayerAgentConfigSchema = AgentConfigSchema.extend({ transactionGasLimit: ZUWei.optional().describe( 'This is optional. If not specified, any amount of gas will be valid, otherwise this is the max allowed gas in wei to relay a transaction.', ), - skipTransactionGasLimitFor: CommaSeperatedDomainList.optional().describe( + skipTransactionGasLimitFor: CommaSeparatedDomainList.optional().describe( 'Comma separated List of chain names to skip applying the transaction gas limit to.', ), allowLocalCheckpointSyncers: z @@ -404,7 +404,7 @@ export type RelayerConfig = z.infer; export const ScraperAgentConfigSchema = AgentConfigSchema.extend({ db: z.string().min(1).describe('Database connection string'), - chainsToScrape: CommaSeperatedChainList.describe( + chainsToScrape: CommaSeparatedChainList.describe( 'Comma separated list of chain names to scrape', ), }); From 0c726fe6f757d51dddf6949fc65c4ee44ff91597 Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Tue, 14 Jan 2025 10:39:19 +0000 Subject: [PATCH 05/14] fix: use non-AW proxy admin for pumpBTC deploy (#5078) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Description Moves away from the AW proxy admin for the pumpBTC deploy. I deployed new proxy admins that have already had ownership transferred to the pumpBTC team addresses that I deployed using the CLI (using a dummy warp route): - https://etherscan.io/address/0x64d4ba42f033927ca3babbbebaa11ac8caed9472#code - https://seitrace.com/address/0x932a0a357cbe9a06c0fcec8c56335da162c5d071?chain=pacific-1 Checker output atm: ``` $ yarn tsx ./scripts/check/check-deploy.ts -e mainnet3 -m warp --warpRouteId pumpBTCsei/ethereum-sei ┌─────────┬────────────┬────────┬──────────────┬──────────────┬─────────┬──────────────────────────────────────────────┬──────────────────────────────────────────────┐ │ (index) │ chain │ remote │ name │ type │ subType │ actual │ expected │ ├─────────┼────────────┼────────┼──────────────┼──────────────┼─────────┼──────────────────────────────────────────────┼──────────────────────────────────────────────┤ │ 0 │ 'ethereum' │ │ 'collateral' │ 'ProxyAdmin' │ │ '0x75EE15Ee1B4A75Fa3e2fDF5DF3253c25599cc659' │ '0x64d4ba42f033927ca3babbbebaa11ac8caed9472' │ │ 1 │ 'sei' │ │ 'synthetic' │ 'ProxyAdmin' │ │ '0x0761b0827849abbf7b0cC09CE14e1C93D87f5004' │ '0x932a0a357CbE9a06c0FCec8C56335DA162c5D071' │ └─────────┴────────────┴────────┴──────────────┴──────────────┴─────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┘ Error: Checking warp deploy yielded 2 violations at main (/Users/trevor/abacus-monorepo/typescript/infra/scripts/check/check-deploy.ts:48:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) ``` Haven't yet ran with `--govern`. This will result in some multisig txs. ### Drive-by changes ### Related issues ### Backward compatibility ### Testing --- .../configGetters/getEthereumSeiPumpBTCWarpConfig.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSeiPumpBTCWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSeiPumpBTCWarpConfig.ts index 9d073230a8..2f65c69323 100644 --- a/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSeiPumpBTCWarpConfig.ts +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumSeiPumpBTCWarpConfig.ts @@ -13,6 +13,7 @@ import { tokens, } from '../../../../../src/config/warp.js'; +// pumpBTC team const ethereumOwner = '0x77A0545Dc1Dc6bAee8d9c1d436c6688a75Ae5777'; const seiOwner = '0x14A359aE2446eaC89495b3F28b7a29cE2A17f392'; @@ -23,6 +24,11 @@ export const getEthereumSeiPumpBTCWarpConfig = async ( const ethereum: HypTokenRouterConfig = { ...routerConfig.ethereum, ...getOwnerConfigForAddress(ethereumOwner), + proxyAdmin: { + // Address explicitly specified as move away from the AW proxy admin + address: '0x64d4ba42f033927ca3babbbebaa11ac8caed9472', + owner: ethereumOwner, + }, type: TokenType.collateral, token: tokens.ethereum.pumpBTCsei, interchainSecurityModule: ethers.constants.AddressZero, @@ -31,6 +37,11 @@ export const getEthereumSeiPumpBTCWarpConfig = async ( const sei: HypTokenRouterConfig = { ...routerConfig.sei, ...getOwnerConfigForAddress(seiOwner), + proxyAdmin: { + // Address explicitly specified as move away from the AW proxy admin + address: '0x932a0a357CbE9a06c0FCec8C56335DA162c5D071', + owner: seiOwner, + }, type: TokenType.synthetic, interchainSecurityModule: ethers.constants.AddressZero, }; From ebcc119a3466be2ff5b879edbbe258659a7c5f14 Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Tue, 14 Jan 2025 10:49:48 +0000 Subject: [PATCH 06/14] feat: scrape SOON (#5165) ### Description - Scrapes SOON - Temporarily disabling Neutron due to a chain stall and RPC issues there that cause the scraper to panic upon startup ### Drive-by changes ### Related issues ### Backward compatibility ### Testing --- typescript/infra/config/environments/mainnet3/agent.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/typescript/infra/config/environments/mainnet3/agent.ts b/typescript/infra/config/environments/mainnet3/agent.ts index 19b331cd90..d143d5849c 100644 --- a/typescript/infra/config/environments/mainnet3/agent.ts +++ b/typescript/infra/config/environments/mainnet3/agent.ts @@ -374,7 +374,8 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< moonbeam: true, morph: true, nero: true, - neutron: true, + // Jan 14th - temporarily disabled while Neutron chain is down and RPCs give issues, causing scraper startup problems + neutron: false, oortmainnet: true, optimism: true, orderly: true, @@ -397,7 +398,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< solanamainnet: true, soneium: true, sonic: true, - soon: false, + soon: true, stride: true, // subtensor: true, superseed: true, @@ -672,7 +673,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: '53fafa6-20250110-125541', + tag: 'd365e55-20250114-011047', }, resources: scraperResources, }, From 9518dbc842335ebf5f718ee9be99138e7e057186 Mon Sep 17 00:00:00 2001 From: Paul Balaji <10051819+paulbalaji@users.noreply.github.com> Date: Tue, 14 Jan 2025 12:31:43 +0000 Subject: [PATCH 07/14] feat: enroll jan 6 batch (#5154) ### Description - feat: enroll jan 6 batch + torus - artela guru hemi nero torus xpla - add superlane validators for soneium - update validators for soon ### Drive-by changes - igp updates - improve resilience + error logging in HyperlaneHaasGovernor ### Related issues ### Backward compatibility ### Testing --------- Signed-off-by: pbio <10051819+paulbalaji@users.noreply.github.com> --- .changeset/lucky-shirts-wait.md | 5 + .../environments/mainnet3/gasPrices.json | 22 +- .../config/environments/mainnet3/owners.ts | 9 + .../environments/mainnet3/tokenPrices.json | 224 +++++++++--------- .../infra/src/govern/HyperlaneHaasGovernor.ts | 54 ++++- typescript/sdk/src/consts/multisigIsm.ts | 44 +++- 6 files changed, 220 insertions(+), 138 deletions(-) create mode 100644 .changeset/lucky-shirts-wait.md diff --git a/.changeset/lucky-shirts-wait.md b/.changeset/lucky-shirts-wait.md new file mode 100644 index 0000000000..2fcf84f406 --- /dev/null +++ b/.changeset/lucky-shirts-wait.md @@ -0,0 +1,5 @@ +--- +'@hyperlane-xyz/sdk': patch +--- + +Enroll new validators for artela, guru, hemi, nero, soneium, torus, xpla. diff --git a/typescript/infra/config/environments/mainnet3/gasPrices.json b/typescript/infra/config/environments/mainnet3/gasPrices.json index 5703d9e54f..57fb77c685 100644 --- a/typescript/infra/config/environments/mainnet3/gasPrices.json +++ b/typescript/infra/config/environments/mainnet3/gasPrices.json @@ -1,8 +1,4 @@ { - "acala": { - "amount": "100.007736839", - "decimals": 9 - }, "ancient8": { "amount": "0.001000252", "decimals": 9 @@ -32,7 +28,7 @@ "decimals": 9 }, "arthera": { - "amount": "1.025069", + "amount": "1.025195", "decimals": 9 }, "astar": { @@ -56,7 +52,7 @@ "decimals": 9 }, "b3": { - "amount": "0.001000252", + "amount": "0.001000265", "decimals": 9 }, "base": { @@ -100,7 +96,7 @@ "decimals": 9 }, "conflux": { - "amount": "20.0", + "amount": "20.0137155", "decimals": 9 }, "conwai": { @@ -224,7 +220,7 @@ "decimals": 9 }, "lisk": { - "amount": "0.016350221", + "amount": "0.068378422", "decimals": 9 }, "lukso": { @@ -240,7 +236,7 @@ "decimals": 9 }, "mantapacific": { - "amount": "0.003000336", + "amount": "0.003000503", "decimals": 9 }, "mantle": { @@ -260,7 +256,7 @@ "decimals": 9 }, "mint": { - "amount": "0.001000252", + "amount": "0.001000258", "decimals": 9 }, "mode": { @@ -383,10 +379,6 @@ "amount": "0.005", "decimals": 1 }, - "subtensor": { - "amount": "10.0", - "decimals": 9 - }, "superseed": { "amount": "0.001000252", "decimals": 9 @@ -432,7 +424,7 @@ "decimals": 9 }, "worldchain": { - "amount": "0.001000345", + "amount": "0.00100025", "decimals": 9 }, "xai": { diff --git a/typescript/infra/config/environments/mainnet3/owners.ts b/typescript/infra/config/environments/mainnet3/owners.ts index 27d3d5915c..45b707218f 100644 --- a/typescript/infra/config/environments/mainnet3/owners.ts +++ b/typescript/infra/config/environments/mainnet3/owners.ts @@ -188,6 +188,15 @@ export const icas: Partial< soneium: '0x5926599B8Aff45f1708b804B30213babdAD78C83', sonic: '0x5926599B8Aff45f1708b804B30213babdAD78C83', telos: '0xDde4Ce691d1c0579d48BCdd3491aA71472b6cC38', + + // Jan 13, 2025 batch + // ---------------------------------------------------------- + artela: '0x745CEA119757ea3e27093da590bC91f408bD4448', + guru: '0x825cF3d703F384E4aA846BA72eCf70f1985C91b6', + hemi: '0x8D18CBB212920e5ef070b23b813d82F8981cC276', + nero: '0xbBdb1682B2922C282b56DD716C29db5EFbdb5632', + torus: '0xc1e20A0D78E79B94D71d4bDBC8FD0Af7c856Dd7A', + xpla: '0x24832680dF0468967F413be1C83acfE24154F88D', } as const; export const DEPLOYER = '0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba'; diff --git a/typescript/infra/config/environments/mainnet3/tokenPrices.json b/typescript/infra/config/environments/mainnet3/tokenPrices.json index 4782b19b88..e61445708c 100644 --- a/typescript/infra/config/environments/mainnet3/tokenPrices.json +++ b/typescript/infra/config/environments/mainnet3/tokenPrices.json @@ -1,120 +1,118 @@ { - "acala": "0.089653", - "ancient8": "3322.32", - "alephzeroevmmainnet": "0.304513", - "apechain": "1.12", - "appchain": "3322.32", - "arbitrum": "3322.32", - "arbitrumnova": "3322.32", + "ancient8": "3157.26", + "alephzeroevmmainnet": "0.289682", + "apechain": "1.033", + "appchain": "3157.26", + "arbitrum": "3157.26", + "arbitrumnova": "3157.26", "artela": "1", - "arthera": "0.04381619", - "astar": "0.060902", - "astarzkevm": "3322.32", - "aurora": "3322.32", - "flame": "4.68", - "avalanche": "37.35", - "b3": "3322.32", - "base": "3322.32", - "bitlayer": "94486", - "blast": "3322.32", - "bob": "3322.32", - "boba": "3322.32", - "bsc": "697.34", - "bsquared": "94486", - "celo": "0.654458", - "cheesechain": "0.00095089", - "chilizmainnet": "0.083892", - "conflux": "0.150607", - "conwai": "0.00386317", - "coredao": "1.035", - "corn": "94486", - "cyber": "3322.32", - "degenchain": "0.01036196", - "dogechain": "0.334068", - "duckchain": "5.27", - "eclipsemainnet": "3322.32", - "endurance": "1.85", - "ethereum": "3322.32", - "everclear": "3322.32", - "evmos": "0.02100258", - "fantom": "0.657886", - "flare": "0.02377977", - "flowmainnet": "0.74421", - "form": "3322.32", - "fraxtal": "3305.2", - "fusemainnet": "0.02815644", + "arthera": "0.064897", + "astar": "0.055919", + "astarzkevm": "3157.26", + "aurora": "3157.26", + "flame": "4.59", + "avalanche": "34.4", + "b3": "3157.26", + "base": "3157.26", + "bitlayer": "92945", + "blast": "3157.26", + "bob": "3157.26", + "boba": "3157.26", + "bsc": "673.59", + "bsquared": "92945", + "celo": "0.581847", + "cheesechain": "0.00078503", + "chilizmainnet": "0.076522", + "conflux": "0.136733", + "conwai": "0.00370253", + "coredao": "0.911992", + "corn": "92945", + "cyber": "3157.26", + "degenchain": "0.00881689", + "dogechain": "0.324508", + "duckchain": "5.12", + "eclipsemainnet": "3157.26", + "endurance": "1.67", + "ethereum": "3157.26", + "everclear": "3157.26", + "evmos": "0.01831153", + "fantom": "0.691242", + "flare": "0.02285478", + "flowmainnet": "0.684473", + "form": "3157.26", + "fraxtal": "3168.75", + "fusemainnet": "0.02671613", "gnosis": "1.001", - "gravity": "0.03240489", - "guru": "0.01323541", - "harmony": "0.0248972", - "hemi": "3322.32", - "immutablezkevmmainnet": "1.27", - "inevm": "21.94", - "ink": "3322.32", - "injective": "21.94", - "kaia": "0.208261", - "kroma": "3322.32", - "linea": "3322.32", - "lisk": "3322.32", - "lukso": "2.04", - "lumia": "1.36", - "lumiaprism": "1.18", - "mantapacific": "3322.32", - "mantle": "1.18", - "merlin": "94299", - "metal": "3322.32", - "metis": "39.11", - "mint": "3322.32", - "mode": "3322.32", - "molten": "0.774347", - "moonbeam": "0.229674", - "morph": "3322.32", + "gravity": "0.02856525", + "guru": "0.01237776", + "harmony": "0.02187577", + "hemi": "3157.26", + "immutablezkevmmainnet": "1.15", + "inevm": "19.6", + "ink": "3157.26", + "injective": "19.6", + "kaia": "0.196648", + "kroma": "3157.26", + "linea": "3157.26", + "lisk": "3157.26", + "lukso": "1.86", + "lumia": "1.22", + "lumiaprism": "1.028", + "mantapacific": "3157.26", + "mantle": "1.075", + "merlin": "93829", + "metal": "3157.26", + "metis": "33.39", + "mint": "3157.26", + "mode": "3157.26", + "molten": "0.684775", + "moonbeam": "0.203587", + "morph": "3157.26", "nero": "1", - "neutron": "0.342006", - "oortmainnet": "0.141167", - "optimism": "3322.32", - "orderly": "3322.32", - "osmosis": "0.477102", - "polygon": "0.461528", - "polygonzkevm": "3322.32", - "polynomialfi": "3322.32", - "prom": "5.48", - "proofofplay": "3322.32", - "rarichain": "3322.32", - "real": "3322.32", - "redstone": "3322.32", - "rivalz": "3322.32", - "rootstockmainnet": "92811", - "sanko": "38.08", - "scroll": "3322.32", - "sei": "0.389316", - "shibarium": "0.449375", - "snaxchain": "3322.32", - "solanamainnet": "192.63", - "soneium": "3322.32", - "sonic": "0.657886", - "soon": "3322.32", - "stride": "0.559038", - "subtensor": "464.53", - "superseed": "3322.32", - "superpositionmainnet": "3322.32", - "swell": "3322.32", - "taiko": "3322.32", + "neutron": "0.311287", + "oortmainnet": "0.130473", + "optimism": "3157.26", + "orderly": "3157.26", + "osmosis": "0.424539", + "polygon": "0.426288", + "polygonzkevm": "3157.26", + "polynomialfi": "3157.26", + "prom": "8.71", + "proofofplay": "3157.26", + "rarichain": "3157.26", + "real": "3157.26", + "redstone": "3157.26", + "rivalz": "3157.26", + "rootstockmainnet": "92886", + "sanko": "28.27", + "scroll": "3157.26", + "sei": "0.354988", + "shibarium": "0.428417", + "snaxchain": "3157.26", + "solanamainnet": "180", + "soneium": "3157.26", + "sonic": "0.691242", + "soon": "3157.26", + "stride": "0.496384", + "superseed": "3157.26", + "superpositionmainnet": "3157.26", + "swell": "3157.26", + "taiko": "3157.26", "tangle": "1", - "telos": "0.198429", + "telos": "0.187567", "torus": "1", - "treasure": "0.487988", - "unichain": "3322.32", - "vana": "14.29", - "viction": "0.387143", - "worldchain": "3322.32", - "xai": "0.214185", - "xlayer": "47.19", - "xpla": "0.085456", - "zeronetwork": "3322.32", - "zetachain": "0.539346", - "zircuit": "3322.32", - "zklink": "3322.32", - "zksync": "3322.32", - "zoramainnet": "3322.32" + "treasure": "0.431467", + "unichain": "3157.26", + "vana": "12.43", + "viction": "0.342602", + "worldchain": "3157.26", + "xai": "0.188817", + "xlayer": "46.4", + "xpla": "0.082477", + "zeronetwork": "3157.26", + "zetachain": "0.483465", + "zircuit": "3157.26", + "zklink": "3157.26", + "zksync": "3157.26", + "zoramainnet": "3157.26" } diff --git a/typescript/infra/src/govern/HyperlaneHaasGovernor.ts b/typescript/infra/src/govern/HyperlaneHaasGovernor.ts index 6fa6ebcd18..42703c1726 100644 --- a/typescript/infra/src/govern/HyperlaneHaasGovernor.ts +++ b/typescript/infra/src/govern/HyperlaneHaasGovernor.ts @@ -1,3 +1,5 @@ +import chalk from 'chalk'; + import { ChainName, CheckerViolation, @@ -5,7 +7,11 @@ import { HyperlaneCore, HyperlaneCoreChecker, InterchainAccount, + ViolationType, } from '@hyperlane-xyz/sdk'; +import { ProtocolType, rootLogger } from '@hyperlane-xyz/utils'; + +import { chainsToSkip } from '../config/chain.js'; import { AnnotatedCallData, @@ -71,8 +77,52 @@ export class HyperlaneHaasGovernor extends HyperlaneAppGovernor< } async check(chainsToCheck?: ChainName[]) { - await this.icaChecker.check(chainsToCheck); - await this.coreChecker.check(chainsToCheck); + // Get all EVM chains from core config + const evmChains = this.coreChecker.getEvmChains(); + + // Mark any EVM chains that are not deployed + const appChains = this.coreChecker.app.chains(); + for (const chain of evmChains) { + if (!appChains.includes(chain)) { + this.coreChecker.addViolation({ + type: ViolationType.NotDeployed, + chain, + expected: '', + actual: '', + }); + } + } + + // Finally, check the chains that were explicitly requested + // If no chains were requested, check all app chains + const chains = + !chainsToCheck || chainsToCheck.length === 0 ? appChains : chainsToCheck; + const failedChains: ChainName[] = []; + if (chainsToSkip.length > 0) { + rootLogger.info( + chalk.yellow('Skipping chains:', chainsToSkip.join(', ')), + ); + } + await Promise.allSettled( + chains + .filter( + (chain) => + this.coreChecker.multiProvider.getChainMetadata(chain).protocol === + ProtocolType.Ethereum && !chainsToSkip.includes(chain), + ) + .map(async (chain) => { + try { + await this.checkChain(chain); + } catch (err) { + rootLogger.error(chalk.red(`Failed to check chain ${chain}:`, err)); + failedChains.push(chain); + } + }), + ); + + if (failedChains.length > 0) { + rootLogger.error(chalk.red('Failed chains:', failedChains.join(', '))); + } } async checkChain(chain: ChainName) { diff --git a/typescript/sdk/src/consts/multisigIsm.ts b/typescript/sdk/src/consts/multisigIsm.ts index 9340fa0c71..fcf940aa7a 100644 --- a/typescript/sdk/src/consts/multisigIsm.ts +++ b/typescript/sdk/src/consts/multisigIsm.ts @@ -187,12 +187,14 @@ export const defaultMultisigConfigs: ChainMap = { }, artela: { - threshold: 1, + threshold: 2, validators: [ { address: '0x8fcc1ebd4c0b463618db13f83e4565af3e166b00', alias: AW_VALIDATOR_ALIAS, }, + DEFAULT_MERKLY_VALIDATOR, + DEFAULT_MITOSIS_VALIDATOR, ], }, @@ -863,12 +865,14 @@ export const defaultMultisigConfigs: ChainMap = { }, guru: { - threshold: 1, + threshold: 2, validators: [ { address: '0x0d756d9051f12c4de6aee2ee972193a2adfe00ef', alias: AW_VALIDATOR_ALIAS, }, + DEFAULT_MERKLY_VALIDATOR, + DEFAULT_MITOSIS_VALIDATOR, ], }, @@ -885,12 +889,14 @@ export const defaultMultisigConfigs: ChainMap = { }, hemi: { - threshold: 1, + threshold: 2, validators: [ { address: '0x312dc72c17d01f3fd0abd31dd9b569bc473266dd', alias: AW_VALIDATOR_ALIAS, }, + DEFAULT_MERKLY_VALIDATOR, + DEFAULT_MITOSIS_VALIDATOR, ], }, @@ -1260,12 +1266,14 @@ export const defaultMultisigConfigs: ChainMap = { }, nero: { - threshold: 1, + threshold: 2, validators: [ { address: '0xb86f872df37f11f33acbe75b6ed208b872b57183', alias: AW_VALIDATOR_ALIAS, }, + DEFAULT_MERKLY_VALIDATOR, + DEFAULT_MITOSIS_VALIDATOR, ], }, @@ -1667,12 +1675,26 @@ export const defaultMultisigConfigs: ChainMap = { }, soneium: { - threshold: 1, + threshold: 4, validators: [ { address: '0xd4b7af853ed6a2bfc329ecef545df90c959cbee8', alias: AW_VALIDATOR_ALIAS, }, + { + address: '0x9f4fa50ce49815b0932428a0eb1988382cef4a97', + alias: 'Imperator', + }, + { + address: '0x8d2f8ebd61d055d58768cf3b07cb2fb565d87716', + alias: 'Enigma', + }, + { + address: '0x6c5f6ab7a369222e6691218ad981fe08a5def094', + alias: 'Luganodes', + }, + DEFAULT_BWARE_LABS_VALIDATOR, + DEFAULT_TESSELLATED_VALIDATOR, ], }, @@ -1709,12 +1731,14 @@ export const defaultMultisigConfigs: ChainMap = { }, soon: { - threshold: 1, + threshold: 2, validators: [ { address: '0x0E6723b3C1eD3Db0C24347AA2cf16D28BC2a1F76', alias: AW_VALIDATOR_ALIAS, }, + DEFAULT_MERKLY_VALIDATOR, + DEFAULT_MITOSIS_VALIDATOR, ], }, @@ -1882,12 +1906,14 @@ export const defaultMultisigConfigs: ChainMap = { }, torus: { - threshold: 1, + threshold: 2, validators: [ { address: '0x96982a325c28a842bc8cf61b63000737bb9f1f7d', alias: AW_VALIDATOR_ALIAS, }, + DEFAULT_MERKLY_VALIDATOR, + DEFAULT_MITOSIS_VALIDATOR, ], }, @@ -2020,12 +2046,14 @@ export const defaultMultisigConfigs: ChainMap = { }, xpla: { - threshold: 1, + threshold: 2, validators: [ { address: '0xc11cba01d67f2b9f0288c4c8e8b23c0eca03f26e', alias: AW_VALIDATOR_ALIAS, }, + DEFAULT_MERKLY_VALIDATOR, + DEFAULT_MITOSIS_VALIDATOR, ], }, From fa3ef92b50596b923d8f908e1d0a0f707d348a3f Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Tue, 14 Jan 2025 13:23:05 +0000 Subject: [PATCH 08/14] feat: update Solana ISM, add new SOON warp IDs (#5148) ### Description - Updates the Solana ISM to include the new SOON set. Did this by created a new multisig ISM program (used to be rc) and moving it up in the world as the hyperlane context. ISM update has already occurred. - Added SOL and Bonk warp routes to enum with the goal of deploying warp route monitors. Moved them back to using the default ISM ### Drive-by changes ### Related issues ### Backward compatibility ### Testing --- .../gas-oracle-configs-eclipsemainnet.json | 2 +- .../hyperlane/multisig-config.json | 762 +++++++++--- .../{rc => hyperlane}/program-ids.json | 0 .../solanamainnet/rc/multisig-config.json | 1047 ----------------- .../solanamainnet/core/program-ids.json | 2 +- .../soon/gas-oracle-configs-soon.json | 2 +- .../Bonk-solanamainnet-soon/token-config.json | 1 - .../SOL-solanamainnet-soon/program-ids.json | 8 +- .../SOL-solanamainnet-soon/token-config.json | 3 +- .../environments/mainnet3/warp/warpIds.ts | 2 + typescript/infra/src/warp/helm.ts | 2 +- 11 files changed, 631 insertions(+), 1200 deletions(-) rename rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/{rc => hyperlane}/program-ids.json (100%) delete mode 100644 rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/rc/multisig-config.json diff --git a/rust/sealevel/environments/mainnet3/eclipsemainnet/gas-oracle-configs-eclipsemainnet.json b/rust/sealevel/environments/mainnet3/eclipsemainnet/gas-oracle-configs-eclipsemainnet.json index b459e88d4c..22fb0da678 100644 --- a/rust/sealevel/environments/mainnet3/eclipsemainnet/gas-oracle-configs-eclipsemainnet.json +++ b/rust/sealevel/environments/mainnet3/eclipsemainnet/gas-oracle-configs-eclipsemainnet.json @@ -13,7 +13,7 @@ "gasOracle": { "type": "remoteGasData", "tokenExchangeRate": "887000000000000000", - "gasPrice": "15", + "gasPrice": "20", "tokenDecimals": 9 } }, diff --git a/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/hyperlane/multisig-config.json b/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/hyperlane/multisig-config.json index 7ae8ee840f..b95441b72e 100644 --- a/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/hyperlane/multisig-config.json +++ b/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/hyperlane/multisig-config.json @@ -1,14 +1,43 @@ { + "alephzeroevmmainnet": { + "type": "messageIdMultisigIsm", + "threshold": 3, + "validators": [ + "0x33f20e6e775747d60301c6ea1c50e51f0389740c", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", + "0xCbf382214825F8c2f347dd4f23F0aDFaFad55dAa" + ] + }, "ancient8": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xbb5842ae0e05215b53df4787a29144efb7e67551", "0xa5a56e97fb46f0ac3a3d261e404acb998d9a6969", "0x95c7bf235837cb5a609fe6c95870410b9f68bcff" - ], - "type": 3 + ] + }, + "apechain": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x773d7fe6ffb1ba4de814c28044ff9a2d83a48221", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "appchain": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x0531251bbadc1f9f19ccce3ca6b3f79f08eae1be", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "arbitrum": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x4d966438fe9e2b1e7124c87bbb90cb4f0f6c59a1", @@ -16,37 +45,73 @@ "0x5450447aee7b544c462c9352bef7cad049b0c2dc", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b" - ], - "type": 3 + ] + }, + "arbitrumnova": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xd2a5e9123308d187383c87053811a2c21bd8af1f", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "arthera": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x13710ac11c36c169f62fba95767ae59a1e57098d", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "astar": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x4d1b2cade01ee3493f44304653d8e352c66ec3e7", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "astarzkevm": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x89ecdd6caf138934bf3a2fb7b323984d72fd66de", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] + }, + "aurora": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x37105aec3ff37c7bb0abdb0b1d75112e1e69fa86", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "avalanche": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x3fb8263859843bffb02950c492d492cae169f4cf", "0x402e0f8c6e4210d408b6ac00d197d4a099fcd25a", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8" - ], - "type": 3 + ] + }, + "b3": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xd77b516730a836fc41934e7d5864e72c165b934e", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "base": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0xb9453d675e0fa3c178a17b4ce1ad5b1a279b3af9", @@ -54,47 +119,66 @@ "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0xcff391b4e516452d424db66beb9052b041a9ed79", "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ], - "type": 3 + ] }, "bitlayer": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x1d9b0f4ea80dbfc71cb7d64d8005eccf7c41e75f", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "blast": { - "threshold": 2, + "type": "messageIdMultisigIsm", + "threshold": 3, "validators": [ "0xf20c0b09f597597c8d2430d3d72dfddaf09177d1", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0xae53467a5c2a9d9420c188d10fef5e1d9b9a5b80" - ], - "type": 3 + "0x1652d8ba766821cf01aeea34306dfc1cab964a32", + "0x54bb0036f777202371429e062fe6aee0d59442f9" + ] }, "bob": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x20f283be1eb0e81e22f51705dcb79883cfdd34aa", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] + }, + "boba": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xebeb92c94ca8408e73aa16fd554cb3a7df075c59", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "bsc": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x570af9b7b36568c8877eebba6c6727aa9dab7268", "0x8292b1a53907ece0f76af8a50724e9492bcdc8a3", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ], - "type": 3 + ] + }, + "bsquared": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xcadc90933c9fbe843358a4e70e46ad2db78e28aa", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "celo": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x63478422679303c3e4fc611b771fa4a707ef7f4a", @@ -102,73 +186,119 @@ "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ], - "type": 3 + ] }, "cheesechain": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x478fb53c6860ae8fc35235ba0d38d49b13128226", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f" - ], - "type": 3 + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x101cE77261245140A0871f9407d6233C8230Ec47" + ] + }, + "chilizmainnet": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x7403e5d58b48b0f5f715d9c78fbc581f01a625cb", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "conflux": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x113dfa1dc9b0a2efb6ad01981e2aad86d3658490", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "conwai": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x949e2cdd7e79f99ee9bbe549540370cdc62e73c3", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "coredao": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xbd6e158a3f5830d99d7d2bce192695bc4a148de2", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] + }, + "corn": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xc80b2e3e38220e02d194a0effa9d5bfe89894c07", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "cyber": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x94d7119ceeb802173b6924e6cc8c4cd731089a27", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "degenchain": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x433e311f19524cd64fb2123ad0aa1579a4e1fc83", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "dogechain": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xe43f742c37858746e6d7e458bc591180d0cba440", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] + }, + "duckchain": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x91d55fe6dac596a6735d96365e21ce4bca21d83c", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "eclipsemainnet": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0xebb52d7eaa3ff7a5a6260bfe5111ce52d57401d0", "0x3571223e745dc0fcbdefa164c9b826b90c0d2dac", "0xea83086a62617a7228ce4206fae2ea8b0ab23513", "0x4d4629f5bfeabe66edc7a78da26ef5273c266f97" - ], - "type": 3 + ] }, "endurance": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x28c5b322da06f184ebf68693c5d19df4d4af13e5", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x7419021c0de2772b763e554480158a82a291c1f2" - ], - "type": 3 + ] }, "ethereum": { + "type": "messageIdMultisigIsm", "threshold": 4, "validators": [ "0x03c842db86a6a3e524d4a6615390c1ea8e2b9541", @@ -178,111 +308,232 @@ "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", "0xb683b742b378632a5f73a2a5a45801b3489bba44", "0xbf1023eff3dba21263bf2db2add67a0d6bcda2de" - ], - "type": 3 + ] }, "everclear": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xeff20ae3d5ab90abb11e882cfce4b92ea6c74837", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0xD79DFbF56ee2268f061cc613027a44A880f61Ba2" - ], - "type": 3 + ] + }, + "evmos": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x8f82387ad8b7b13aa9e06ed3f77f78a77713afe0", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "fantom": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xa779572028e634e16f26af5dfd4fa685f619457d", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "flame": { + "type": "messageIdMultisigIsm", + "threshold": 3, + "validators": [ + "0x1fa928ce884fa16357d4b8866e096392d4d81f43", + "0xa6c998f0db2b56d7a63faf30a9b677c8b9b6faab", + "0x09f9de08f7570c4146caa708dc9f75b56958957f", + "0xf1f4ae9959490380ad7863e79c3faf118c1fbf77", + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" + ] }, "flare": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xb65e52be342dba3ab2c088ceeb4290c744809134", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, - "fraxtal": { + "flowmainnet": { + "type": "messageIdMultisigIsm", + "threshold": 3, + "validators": [ + "0xe132235c958ca1f3f24d772e5970dd58da4c0f6e", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", + "0x14ADB9e3598c395Fe3290f3ba706C3816Aa78F59" + ] + }, + "form": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ - "0x4bce180dac6da60d0f3a2bdf036ffe9004f944c1", + "0x58554b2e76167993b5fc000d0070a2f883cd333a", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "fraxtal": { + "type": "messageIdMultisigIsm", + "threshold": 4, + "validators": [ + "0x4bce180dac6da60d0f3a2bdf036ffe9004f944c1", + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", + "0x1c3C3013B863Cf666499Da1A61949AE396E3Ab82", + "0x573e960e07ad74ea2c5f1e3c31b2055994b12797", + "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", "0x25b3a88f7cfd3c9f7d7e32b295673a16a6ddbd91" - ], - "type": 3 + ] }, "fusemainnet": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x770c8ec9aac8cec4b2ead583b49acfbc5a1cf8a9", "0x6760226b34213d262D41D5291Ed57E81a68b4E0b", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f" - ], - "type": 3 + ] }, "gnosis": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0xd4df66a859585678f2ea8357161d896be19cc1ca", "0x19fb7e04a1be6b39b6966a0b0c60b929a93ed672", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ], - "type": 3 + ] + }, + "gravity": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x23d549bf757a02a6f6068e9363196ecd958c974e", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "harmony": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xd677803a67651974b1c264171b5d7ca8838db8d5", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "immutablezkevmmainnet": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xbdda85b19a5efbe09e52a32db1a072f043dd66da", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "inevm": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xf9e35ee88e4448a3673b4676a4e153e3584a08eb", - "0x6B1d09A97b813D53e9D4b7523DA36604C0B52242", + "0x0d4e7e64f3a032db30b75fe7acae4d2c877883bc", "0x9ab11f38a609940153850df611c9a2175dcffe0f" - ], - "type": 3 + ] }, "injective": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xbfb8911b72cfb138c7ce517c57d9c691535dc517", "0x6B1d09A97b813D53e9D4b7523DA36604C0B52242", "0x9e551b6694bbd295d7d6e6a2540c7d41ce70a3b9" - ], - "type": 3 + ] + }, + "ink": { + "type": "messageIdMultisigIsm", + "threshold": 4, + "validators": [ + "0xb533b8b104522958b984fb258e0684dec0f1a6a5", + "0xd207a6dfd887d91648b672727ff1aef6223cb15a", + "0xa40203b5301659f1e201848d92f5e81f64f206f5", + "0xff9c1e7b266a36eda0d9177d4236994d94819dc0", + "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" + ] + }, + "kaia": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x9de0b3abb221d19719882fa4d61f769fdc2be9a4", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "kroma": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x71b83c21342787d758199e4b8634d3a15f02dc6e", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "linea": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xf2d5409a59e0f5ae7635aff73685624904a77d94", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "lisk": { - "threshold": 2, + "type": "messageIdMultisigIsm", + "threshold": 4, "validators": [ "0xc0b282aa5bac43fee83cf71dc3dd1797c1090ea5", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", + "0x3DA4ee2801Ec6CC5faD73DBb94B10A203ADb3d9e", + "0x4df6e8878992c300e7bfe98cac6bf7d3408b9cbf", + "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", + "0xf0da628f3fb71652d48260bad4691054045832ce", + "0xead4141b6ea149901ce4f4b556953f66d04b1d0c" + ] }, "lukso": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xa5e953701dcddc5b958b5defb677a829d908df6d", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x101cE77261245140A0871f9407d6233C8230Ec47" - ], - "type": 3 + ] + }, + "lumia": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x9e283254ed2cd2c80f007348c2822fc8e5c2fa5f", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "lumiaprism": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xb69731640ffd4338a2c9358a935b0274c6463f85", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "mantapacific": { - "threshold": 5, + "type": "messageIdMultisigIsm", + "threshold": 4, "validators": [ "0x8e668c97ad76d0e28375275c41ece4972ab8a5bc", "0x521a3e6bf8d24809fde1c1fd3494a859a16f132c", @@ -291,75 +542,98 @@ "0xa0eE95e280D46C14921e524B075d0C341e7ad1C8", "0xcc9a0b6de7fe314bd99223687d784730a75bb957", "0x42b6de2edbaa62c2ea2309ad85d20b3e37d38acf" - ], - "type": 3 + ] }, "mantle": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xf930636c5a1a8bf9302405f72e3af3c96ebe4a52", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "merlin": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xc1d6600cb9326ed2198cc8c4ba8d6668e8671247", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] + }, + "metal": { + "type": "messageIdMultisigIsm", + "threshold": 4, + "validators": [ + "0xd9f7f1a05826197a93df51e86cefb41dfbfb896a", + "0x01e3909133d20c05bbc94247769235d30101f748", + "0xaba06266f47e3ef554d218b879bd86114a8dabd4", + "0x05d91f80377ff5e9c6174025ffaf094c57a4766a", + "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" + ] }, "metis": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xc4a3d25107060e800a43842964546db508092260", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "mint": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xfed01ccdd7a65e8a6ad867b7fb03b9eb47777ac9", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x0230505530b80186f8cdccfaf9993eb97aebe98a" - ], - "type": 3 + ] }, "mode": { - "threshold": 3, + "type": "messageIdMultisigIsm", + "threshold": 4, "validators": [ "0x7eb2e1920a4166c19d6884c1cec3d2cf356fc9b7", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x7e29608c6e5792bbf9128599ca309be0728af7b4", - "0x101cE77261245140A0871f9407d6233C8230Ec47" - ], - "type": 3 + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", + "0x65C140e3a05F33192384AffEF985696Fe3cDDE42", + "0x20eade18ea2af6dfd54d72b3b5366b40fcb47f4b", + "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", + "0x485a4f0009d9afbbf44521016f9b8cdd718e36ea" + ] }, "molten": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xad5aa33f0d67f6fa258abbe75458ea4908f1dc9f", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "moonbeam": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x2225e2f4e9221049456da93b71d2de41f3b6b2a8", "0x645428d198d2e76cbd9c1647f5c80740bb750b97", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b" - ], - "type": 3 + ] + }, + "morph": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x4884535f393151ec419add872100d352f71af380", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "neutron": { + "type": "messageIdMultisigIsm", "threshold": 4, "validators": [ "0xa9b8c1f4998f781f958c63cfcd1708d02f004ff0", @@ -369,203 +643,407 @@ "0x47aa126e05933b95c5eb90b26e6b668d84f4b25a", "0x54b2cca5091b098a1a993dec03c4d1ee9af65999", "0x42b6de2edbaa62c2ea2309ad85d20b3e37d38acf" - ], - "type": 3 + ] }, "oortmainnet": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x9b7ff56cd9aa69006f73f1c5b8c63390c706a5d7", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x032dE4f94676bF9314331e7D83E8Db4aC74c9E21" - ], - "type": 3 + "0xfa94a494f01d1034b8cea025ca4c2a7e31ca39a1" + ] }, "optimism": { - "threshold": 3, + "type": "messageIdMultisigIsm", + "threshold": 4, "validators": [ "0x20349eadc6c72e94ce38268b96692b1a5c20de4f", - "0x5b7d47b76c69740462432f6a5a0ca5005e014157", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ], - "type": 3 + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", + "0xd8c1cCbfF28413CE6c6ebe11A3e29B0D8384eDbB", + "0x1b9e5f36c4bfdb0e3f0df525ef5c888a4459ef99", + "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", + "0xf9dfaa5c20ae1d84da4b2696b8dc80c919e48b12" + ] + }, + "orderly": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xec3dc91f9fa2ad35edf5842aa764d5573b778bb6", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "osmosis": { + "type": "messageIdMultisigIsm", "threshold": 1, "validators": [ "0xea483af11c19fa41b16c31d1534c2a486a92bcac" - ], - "type": 3 + ] }, "polygon": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x12ecb319c7f4e8ac5eb5226662aeb8528c5cefac", "0x008f24cbb1cc30ad0f19f2516ca75730e37efb5f", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ], - "type": 3 + ] }, "polygonzkevm": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x86f2a44592bb98da766e880cfd70d3bbb295e61a", "0x865818fe1db986036d5fd0466dcd462562436d1a", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8" - ], - "type": 3 + ] + }, + "polynomialfi": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x23d348c2d365040e56f3fee07e6897122915f513", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "prom": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xb0c4042b7c9a95345be8913f4cdbf4043b923d98", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "proofofplay": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xcda40baa71970a06e5f55e306474de5ca4e21c3b", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] + }, + "rarichain": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xeac012df7530720dd7d6f9b727e4fe39807d1516", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "real": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xaebadd4998c70b05ce8715cf0c3cb8862fe0beec", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "redstone": { - "threshold": 2, + "type": "messageIdMultisigIsm", + "threshold": 3, "validators": [ "0x1400b9737007f7978d8b4bbafb4a69c83f0641a7", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", + "0x101cE77261245140A0871f9407d6233C8230Ec47" + ] + }, + "rivalz": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xf87c3eb3dde972257b0d6d110bdadcda951c0dc1", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "rootstockmainnet": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x8675eb603d62ab64e3efe90df914e555966e04ac", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "sanko": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x795c37d5babbc44094b084b0c89ed9db9b5fae39", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "scroll": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0xad557170a9f2f21c35e03de07cb30dcbcc3dff63", "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", "0xbac4ac39f1d8b5ef15f26fdb1294a7c9aba3f948" - ], - "type": 3 + ] }, "sei": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x9920d2dbf6c85ffc228fdc2e810bf895732c6aa5", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x101cE77261245140A0871f9407d6233C8230Ec47", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "shibarium": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xfa33391ee38597cbeef72ccde8c9e13e01e78521", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] + }, + "snaxchain": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x2c25829ae32a772d2a49f6c4b34f8b01fd03ef9e", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "soneium": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xd4b7af853ed6a2bfc329ecef545df90c959cbee8" + ] + }, + "sonic": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xa313d72dbbd3fa51a2ed1611ea50c37946fa42f7", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "soon": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x0E6723b3C1eD3Db0C24347AA2cf16D28BC2a1F76", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "stride": { + "type": "messageIdMultisigIsm", + "threshold": 4, + "validators": [ + "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", + "0x88f0E5528131b10e3463C4c68108217Dd33462ac", + "0xa3eaa1216827ad63dd9db43f6168258a89177990", + "0x3f869C36110F00D10dC74cca3ac1FB133cf019ad", + "0x502dC6135d16E74056f609FBAF76846814C197D3", + "0xc36979780c1aD43275182600a61Ce41f1C390FbE", + "0x87460dcEd16a75AECdBffD4189111d30B099f5b0", + "0xf54982134e52Eb7253236943FBffE0886C5bde0C", + "0x5937b7cE1029C3Ec4bD8e1AaCc0C0f9422654D7d", + "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b" + ] + }, + "superpositionmainnet": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x3f489acdd341c6b4dd86293fa2cc5ecc8ccf4f84", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "superseed": { + "type": "messageIdMultisigIsm", + "threshold": 4, + "validators": [ + "0xdc2b87cb555411bb138d3a4e5f7832c87fae2b88", + "0x68f3a3b244f6ddc135130200a6b8729e290b4240", + "0x6ff4554cffbc2e4e4230b78e526eab255101d05a", + "0x55880ac03fdf15fccff54ed6f8a83455033edd22", + "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", + "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" + ] + }, + "swell": { + "type": "messageIdMultisigIsm", + "threshold": 3, + "validators": [ + "0x4f51e4f4c7fb45d82f91568480a1a2cfb69216ed", + "0x9eadf9217be22d9878e0e464727a2176d5c69ff8", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", + "0x5aed2fd5cc5f9749c455646c86b0db6126cafcbb" + ] }, "taiko": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0xa930073c8f2d0b2f7423ea32293e0d1362e65d79", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", "0x2F007c82672F2Bb97227D4e3F80Ac481bfB40A2a" - ], - "type": 3 + ] }, "tangle": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x1ee52cbbfacd7dcb0ba4e91efaa6fbc61602b15b", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0xe271ef9a6e312540f099a378865432fa73f26689" - ], - "type": 3 + ] + }, + "telos": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xcb08410b14d3adf0d0646f0c61cd07e0daba8e54", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "treasure": { + "type": "messageIdMultisigIsm", + "threshold": 3, + "validators": [ + "0x6ad994819185553e8baa01533f0cd2c7cadfe6cc", + "0x278460fa51ff448eb53ffa62951b4b8e3e8f74e3", + "0xe92ff70bb463e2aa93426fd2ba51afc39567d426", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", + "0x5aed2fd5cc5f9749c455646c86b0db6126cafcbb" + ] + }, + "unichain": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x9773a382342ebf604a2e5de0a1f462fb499e28b1", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "vana": { + "type": "messageIdMultisigIsm", + "threshold": 3, + "validators": [ + "0xfdf3b0dfd4b822d10cacb15c8ae945ea269e7534", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", + "0xba2f4f89cae6863d8b49e4ca0208ed48ad9ac354" + ] }, "viction": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ - "0x4E53dA92cD5Bf0a032b6B4614b986926456756A7", + "0x6D113Ae51bfeA7b63a8828f97e9dcE393B25c189", "0xa3f93fe365bf99f431d8fde740b140615e24f99b", "0x1f87c368f8e05a85ef9126d984a980a20930cb9c" - ], - "type": 3 + ] }, "worldchain": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x31048785845325b22817448b68d08f8a8fe36854", "0x11e2a683e83617f186614071e422b857256a9aae", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f" - ], - "type": 3 + ] }, "xai": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xe993f01fea86eb64cda45ae5af1d5be40ac0c7e9", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "xlayer": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xa2ae7c594703e988f23d97220717c513db638ea3", "0xfed056cC0967F5BC9C6350F6C42eE97d3983394d", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f" - ], - "type": 3 + ] + }, + "zeronetwork": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x1bd9e3f8a90ea1a13b0f2838a1858046368aad87", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] }, "zetachain": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0xa3bca0b80317dbf9c7dce16a16ac89f4ff2b23ef", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x101cE77261245140A0871f9407d6233C8230Ec47", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] }, "zircuit": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x169ec400cc758fef3df6a0d6c51fbc6cdd1015bb", "0x7aC6584c068eb2A72d4Db82A7B7cd5AB34044061", "0x0180444c9342BD672867Df1432eb3dA354413a6E", "0x1da9176C2CE5cC7115340496fa7D1800a98911CE" - ], - "type": 3 + ] + }, + "zklink": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x217a8cb4789fc45abf56cb6e2ca96f251a5ac181", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" + ] + }, + "zksync": { + "type": "messageIdMultisigIsm", + "threshold": 3, + "validators": [ + "0xadd1d39ce7a687e32255ac457cf99a6d8c5b5d1a", + "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", + "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", + "0x75237d42ce8ea27349a0254ada265db94157e0c1" + ] }, "zoramainnet": { + "type": "messageIdMultisigIsm", "threshold": 3, "validators": [ "0x35130945b625bb69b28aee902a3b9a76fa67125f", "0x7089b6352d37d23fb05a7fee4229c78e038fba09", "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ], - "type": 3 + ] } } diff --git a/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/rc/program-ids.json b/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/hyperlane/program-ids.json similarity index 100% rename from rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/rc/program-ids.json rename to rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/hyperlane/program-ids.json diff --git a/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/rc/multisig-config.json b/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/rc/multisig-config.json deleted file mode 100644 index 490a5ab2ba..0000000000 --- a/rust/sealevel/environments/mainnet3/multisig-ism-message-id/solanamainnet/rc/multisig-config.json +++ /dev/null @@ -1,1047 +0,0 @@ -{ - "alephzeroevmmainnet": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x33f20e6e775747d60301c6ea1c50e51f0389740c", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0xCbf382214825F8c2f347dd4f23F0aDFaFad55dAa" - ] - }, - "ancient8": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xbb5842ae0e05215b53df4787a29144efb7e67551", - "0xa5a56e97fb46f0ac3a3d261e404acb998d9a6969", - "0x95c7bf235837cb5a609fe6c95870410b9f68bcff" - ] - }, - "apechain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x773d7fe6ffb1ba4de814c28044ff9a2d83a48221", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "appchain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x0531251bbadc1f9f19ccce3ca6b3f79f08eae1be", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "arbitrum": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x4d966438fe9e2b1e7124c87bbb90cb4f0f6c59a1", - "0xec68258a7c882ac2fc46b81ce80380054ffb4ef2", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b" - ] - }, - "arbitrumnova": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xd2a5e9123308d187383c87053811a2c21bd8af1f", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "arthera": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x13710ac11c36c169f62fba95767ae59a1e57098d", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "astar": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x4d1b2cade01ee3493f44304653d8e352c66ec3e7", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "astarzkevm": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x89ecdd6caf138934bf3a2fb7b323984d72fd66de", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "aurora": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x37105aec3ff37c7bb0abdb0b1d75112e1e69fa86", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "avalanche": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x3fb8263859843bffb02950c492d492cae169f4cf", - "0x402e0f8c6e4210d408b6ac00d197d4a099fcd25a", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8" - ] - }, - "b3": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xd77b516730a836fc41934e7d5864e72c165b934e", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "base": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xb9453d675e0fa3c178a17b4ce1ad5b1a279b3af9", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0xcff391b4e516452d424db66beb9052b041a9ed79", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ] - }, - "bitlayer": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x1d9b0f4ea80dbfc71cb7d64d8005eccf7c41e75f", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "blast": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xf20c0b09f597597c8d2430d3d72dfddaf09177d1", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x1652d8ba766821cf01aeea34306dfc1cab964a32", - "0x54bb0036f777202371429e062fe6aee0d59442f9" - ] - }, - "bob": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x20f283be1eb0e81e22f51705dcb79883cfdd34aa", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "boba": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xebeb92c94ca8408e73aa16fd554cb3a7df075c59", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "bsc": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x570af9b7b36568c8877eebba6c6727aa9dab7268", - "0x8292b1a53907ece0f76af8a50724e9492bcdc8a3", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ] - }, - "bsquared": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xcadc90933c9fbe843358a4e70e46ad2db78e28aa", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "celo": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x63478422679303c3e4fc611b771fa4a707ef7f4a", - "0x622e43baf06ad808ca8399360d9a2d9a1a12688b", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ] - }, - "cheesechain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x478fb53c6860ae8fc35235ba0d38d49b13128226", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x101cE77261245140A0871f9407d6233C8230Ec47" - ] - }, - "chilizmainnet": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x7403e5d58b48b0f5f715d9c78fbc581f01a625cb", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "conflux": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x113dfa1dc9b0a2efb6ad01981e2aad86d3658490", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "conwai": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x949e2cdd7e79f99ee9bbe549540370cdc62e73c3", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "coredao": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xbd6e158a3f5830d99d7d2bce192695bc4a148de2", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "corn": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xc80b2e3e38220e02d194a0effa9d5bfe89894c07", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "cyber": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x94d7119ceeb802173b6924e6cc8c4cd731089a27", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "degenchain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x433e311f19524cd64fb2123ad0aa1579a4e1fc83", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "dogechain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xe43f742c37858746e6d7e458bc591180d0cba440", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "duckchain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x91d55fe6dac596a6735d96365e21ce4bca21d83c", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "eclipsemainnet": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xebb52d7eaa3ff7a5a6260bfe5111ce52d57401d0", - "0x3571223e745dc0fcbdefa164c9b826b90c0d2dac", - "0xea83086a62617a7228ce4206fae2ea8b0ab23513", - "0x4d4629f5bfeabe66edc7a78da26ef5273c266f97" - ] - }, - "endurance": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x28c5b322da06f184ebf68693c5d19df4d4af13e5", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x7419021c0de2772b763e554480158a82a291c1f2" - ] - }, - "ethereum": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0x03c842db86a6a3e524d4a6615390c1ea8e2b9541", - "0x94438a7de38d4548ae54df5c6010c4ebc5239eae", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", - "0xb683b742b378632a5f73a2a5a45801b3489bba44", - "0xbf1023eff3dba21263bf2db2add67a0d6bcda2de" - ] - }, - "everclear": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xeff20ae3d5ab90abb11e882cfce4b92ea6c74837", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0xD79DFbF56ee2268f061cc613027a44A880f61Ba2" - ] - }, - "evmos": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x8f82387ad8b7b13aa9e06ed3f77f78a77713afe0", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "fantom": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xa779572028e634e16f26af5dfd4fa685f619457d", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "flame": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x1fa928ce884fa16357d4b8866e096392d4d81f43", - "0xa6c998f0db2b56d7a63faf30a9b677c8b9b6faab", - "0x09f9de08f7570c4146caa708dc9f75b56958957f", - "0xf1f4ae9959490380ad7863e79c3faf118c1fbf77", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" - ] - }, - "flare": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xb65e52be342dba3ab2c088ceeb4290c744809134", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "flowmainnet": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xe132235c958ca1f3f24d772e5970dd58da4c0f6e", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x14ADB9e3598c395Fe3290f3ba706C3816Aa78F59" - ] - }, - "form": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x58554b2e76167993b5fc000d0070a2f883cd333a", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "fraxtal": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0x4bce180dac6da60d0f3a2bdf036ffe9004f944c1", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", - "0x1c3C3013B863Cf666499Da1A61949AE396E3Ab82", - "0x573e960e07ad74ea2c5f1e3c31b2055994b12797", - "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", - "0x25b3a88f7cfd3c9f7d7e32b295673a16a6ddbd91" - ] - }, - "fusemainnet": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x770c8ec9aac8cec4b2ead583b49acfbc5a1cf8a9", - "0x6760226b34213d262D41D5291Ed57E81a68b4E0b", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f" - ] - }, - "gnosis": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xd4df66a859585678f2ea8357161d896be19cc1ca", - "0x19fb7e04a1be6b39b6966a0b0c60b929a93ed672", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ] - }, - "gravity": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x23d549bf757a02a6f6068e9363196ecd958c974e", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "harmony": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xd677803a67651974b1c264171b5d7ca8838db8d5", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "immutablezkevmmainnet": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xbdda85b19a5efbe09e52a32db1a072f043dd66da", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "inevm": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xf9e35ee88e4448a3673b4676a4e153e3584a08eb", - "0x0d4e7e64f3a032db30b75fe7acae4d2c877883bc", - "0x9ab11f38a609940153850df611c9a2175dcffe0f" - ] - }, - "injective": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xbfb8911b72cfb138c7ce517c57d9c691535dc517", - "0x6B1d09A97b813D53e9D4b7523DA36604C0B52242", - "0x9e551b6694bbd295d7d6e6a2540c7d41ce70a3b9" - ] - }, - "ink": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0xb533b8b104522958b984fb258e0684dec0f1a6a5", - "0xd207a6dfd887d91648b672727ff1aef6223cb15a", - "0xa40203b5301659f1e201848d92f5e81f64f206f5", - "0xff9c1e7b266a36eda0d9177d4236994d94819dc0", - "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" - ] - }, - "kaia": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x9de0b3abb221d19719882fa4d61f769fdc2be9a4", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "kroma": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x71b83c21342787d758199e4b8634d3a15f02dc6e", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "linea": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xf2d5409a59e0f5ae7635aff73685624904a77d94", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "lisk": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0xc0b282aa5bac43fee83cf71dc3dd1797c1090ea5", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", - "0x3DA4ee2801Ec6CC5faD73DBb94B10A203ADb3d9e", - "0x4df6e8878992c300e7bfe98cac6bf7d3408b9cbf", - "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", - "0xf0da628f3fb71652d48260bad4691054045832ce", - "0xead4141b6ea149901ce4f4b556953f66d04b1d0c" - ] - }, - "lukso": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xa5e953701dcddc5b958b5defb677a829d908df6d", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x101cE77261245140A0871f9407d6233C8230Ec47" - ] - }, - "lumia": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x9e283254ed2cd2c80f007348c2822fc8e5c2fa5f", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "lumiaprism": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xb69731640ffd4338a2c9358a935b0274c6463f85", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "mantapacific": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0x8e668c97ad76d0e28375275c41ece4972ab8a5bc", - "0x521a3e6bf8d24809fde1c1fd3494a859a16f132c", - "0x14025fe092f5f8a401dd9819704d9072196d2125", - "0x25b9a0961c51e74fd83295293bc029131bf1e05a", - "0xa0eE95e280D46C14921e524B075d0C341e7ad1C8", - "0xcc9a0b6de7fe314bd99223687d784730a75bb957", - "0x42b6de2edbaa62c2ea2309ad85d20b3e37d38acf" - ] - }, - "mantle": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xf930636c5a1a8bf9302405f72e3af3c96ebe4a52", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "merlin": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xc1d6600cb9326ed2198cc8c4ba8d6668e8671247", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "metal": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0xd9f7f1a05826197a93df51e86cefb41dfbfb896a", - "0x01e3909133d20c05bbc94247769235d30101f748", - "0xaba06266f47e3ef554d218b879bd86114a8dabd4", - "0x05d91f80377ff5e9c6174025ffaf094c57a4766a", - "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" - ] - }, - "metis": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xc4a3d25107060e800a43842964546db508092260", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "mint": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xfed01ccdd7a65e8a6ad867b7fb03b9eb47777ac9", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x0230505530b80186f8cdccfaf9993eb97aebe98a" - ] - }, - "mode": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0x7eb2e1920a4166c19d6884c1cec3d2cf356fc9b7", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", - "0x65C140e3a05F33192384AffEF985696Fe3cDDE42", - "0x20eade18ea2af6dfd54d72b3b5366b40fcb47f4b", - "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", - "0x485a4f0009d9afbbf44521016f9b8cdd718e36ea" - ] - }, - "molten": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xad5aa33f0d67f6fa258abbe75458ea4908f1dc9f", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "moonbeam": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x2225e2f4e9221049456da93b71d2de41f3b6b2a8", - "0x645428d198d2e76cbd9c1647f5c80740bb750b97", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b" - ] - }, - "morph": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x4884535f393151ec419add872100d352f71af380", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "neutron": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0xa9b8c1f4998f781f958c63cfcd1708d02f004ff0", - "0xb65438a014fb05fbadcfe35bc6e25d372b6ba460", - "0x42fa752defe92459370a052b6387a87f7de9b80c", - "0xc79503a3e3011535a9c60f6d21f76f59823a38bd", - "0x47aa126e05933b95c5eb90b26e6b668d84f4b25a", - "0x54b2cca5091b098a1a993dec03c4d1ee9af65999", - "0x42b6de2edbaa62c2ea2309ad85d20b3e37d38acf" - ] - }, - "oortmainnet": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x9b7ff56cd9aa69006f73f1c5b8c63390c706a5d7", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0xfa94a494f01d1034b8cea025ca4c2a7e31ca39a1" - ] - }, - "optimism": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0x20349eadc6c72e94ce38268b96692b1a5c20de4f", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4", - "0xd8c1cCbfF28413CE6c6ebe11A3e29B0D8384eDbB", - "0x1b9e5f36c4bfdb0e3f0df525ef5c888a4459ef99", - "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", - "0xf9dfaa5c20ae1d84da4b2696b8dc80c919e48b12" - ] - }, - "orderly": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xec3dc91f9fa2ad35edf5842aa764d5573b778bb6", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "osmosis": { - "type": "messageIdMultisigIsm", - "threshold": 1, - "validators": [ - "0xea483af11c19fa41b16c31d1534c2a486a92bcac" - ] - }, - "polygon": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x12ecb319c7f4e8ac5eb5226662aeb8528c5cefac", - "0x008f24cbb1cc30ad0f19f2516ca75730e37efb5f", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0x5450447aee7b544c462c9352bef7cad049b0c2dc" - ] - }, - "polygonzkevm": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x86f2a44592bb98da766e880cfd70d3bbb295e61a", - "0x865818fe1db986036d5fd0466dcd462562436d1a", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8" - ] - }, - "polynomialfi": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x23d348c2d365040e56f3fee07e6897122915f513", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "prom": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xb0c4042b7c9a95345be8913f4cdbf4043b923d98", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "proofofplay": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xcda40baa71970a06e5f55e306474de5ca4e21c3b", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "rarichain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xeac012df7530720dd7d6f9b727e4fe39807d1516", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "real": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xaebadd4998c70b05ce8715cf0c3cb8862fe0beec", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "redstone": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x1400b9737007f7978d8b4bbafb4a69c83f0641a7", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x101cE77261245140A0871f9407d6233C8230Ec47" - ] - }, - "rivalz": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xf87c3eb3dde972257b0d6d110bdadcda951c0dc1", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "rootstockmainnet": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x8675eb603d62ab64e3efe90df914e555966e04ac", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "sanko": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x795c37d5babbc44094b084b0c89ed9db9b5fae39", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "scroll": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xad557170a9f2f21c35e03de07cb30dcbcc3dff63", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b", - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0xbac4ac39f1d8b5ef15f26fdb1294a7c9aba3f948" - ] - }, - "sei": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x9920d2dbf6c85ffc228fdc2e810bf895732c6aa5", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x101cE77261245140A0871f9407d6233C8230Ec47", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "shibarium": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xfa33391ee38597cbeef72ccde8c9e13e01e78521", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "snaxchain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x2c25829ae32a772d2a49f6c4b34f8b01fd03ef9e", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "soneium": { - "type": "messageIdMultisigIsm", - "threshold": 1, - "validators": [ - "0xd4b7af853ed6a2bfc329ecef545df90c959cbee8" - ] - }, - "sonic": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xa313d72dbbd3fa51a2ed1611ea50c37946fa42f7", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "soon": { - "type": "messageIdMultisigIsm", - "threshold": 1, - "validators": [ - "0x0E6723b3C1eD3Db0C24347AA2cf16D28BC2a1F76" - ] - }, - "stride": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0x38c7a4ca1273ead2e867d096adbcdd0e2acb21d8", - "0x88f0E5528131b10e3463C4c68108217Dd33462ac", - "0xa3eaa1216827ad63dd9db43f6168258a89177990", - "0x3f869C36110F00D10dC74cca3ac1FB133cf019ad", - "0x502dC6135d16E74056f609FBAF76846814C197D3", - "0xc36979780c1aD43275182600a61Ce41f1C390FbE", - "0x87460dcEd16a75AECdBffD4189111d30B099f5b0", - "0xf54982134e52Eb7253236943FBffE0886C5bde0C", - "0x5937b7cE1029C3Ec4bD8e1AaCc0C0f9422654D7d", - "0xb3ac35d3988bca8c2ffd195b1c6bee18536b317b" - ] - }, - "superpositionmainnet": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x3f489acdd341c6b4dd86293fa2cc5ecc8ccf4f84", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "superseed": { - "type": "messageIdMultisigIsm", - "threshold": 4, - "validators": [ - "0xdc2b87cb555411bb138d3a4e5f7832c87fae2b88", - "0x68f3a3b244f6ddc135130200a6b8729e290b4240", - "0x6ff4554cffbc2e4e4230b78e526eab255101d05a", - "0x55880ac03fdf15fccff54ed6f8a83455033edd22", - "0x14d0B24d3a8F3aAD17DB4b62cBcEC12821c98Cb3", - "0x0d4c1394a255568ec0ecd11795b28d1bda183ca4" - ] - }, - "swell": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x4f51e4f4c7fb45d82f91568480a1a2cfb69216ed", - "0x9eadf9217be22d9878e0e464727a2176d5c69ff8", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x5aed2fd5cc5f9749c455646c86b0db6126cafcbb" - ] - }, - "taiko": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xa930073c8f2d0b2f7423ea32293e0d1362e65d79", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x2F007c82672F2Bb97227D4e3F80Ac481bfB40A2a" - ] - }, - "tangle": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x1ee52cbbfacd7dcb0ba4e91efaa6fbc61602b15b", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0xe271ef9a6e312540f099a378865432fa73f26689" - ] - }, - "telos": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xcb08410b14d3adf0d0646f0c61cd07e0daba8e54", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "treasure": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x6ad994819185553e8baa01533f0cd2c7cadfe6cc", - "0x278460fa51ff448eb53ffa62951b4b8e3e8f74e3", - "0xe92ff70bb463e2aa93426fd2ba51afc39567d426", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x5aed2fd5cc5f9749c455646c86b0db6126cafcbb" - ] - }, - "unichain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x9773a382342ebf604a2e5de0a1f462fb499e28b1", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "vana": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xfdf3b0dfd4b822d10cacb15c8ae945ea269e7534", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0xba2f4f89cae6863d8b49e4ca0208ed48ad9ac354" - ] - }, - "viction": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x6D113Ae51bfeA7b63a8828f97e9dcE393B25c189", - "0xa3f93fe365bf99f431d8fde740b140615e24f99b", - "0x1f87c368f8e05a85ef9126d984a980a20930cb9c" - ] - }, - "worldchain": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x31048785845325b22817448b68d08f8a8fe36854", - "0x11e2a683e83617f186614071e422b857256a9aae", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f" - ] - }, - "xai": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xe993f01fea86eb64cda45ae5af1d5be40ac0c7e9", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "xlayer": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0xa2ae7c594703e988f23d97220717c513db638ea3", - "0xfed056cC0967F5BC9C6350F6C42eE97d3983394d", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f" - ] - }, - "zeronetwork": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x1bd9e3f8a90ea1a13b0f2838a1858046368aad87", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "zetachain": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xa3bca0b80317dbf9c7dce16a16ac89f4ff2b23ef", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x101cE77261245140A0871f9407d6233C8230Ec47", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "zircuit": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x169ec400cc758fef3df6a0d6c51fbc6cdd1015bb", - "0x7aC6584c068eb2A72d4Db82A7B7cd5AB34044061", - "0x0180444c9342BD672867Df1432eb3dA354413a6E", - "0x1da9176C2CE5cC7115340496fa7D1800a98911CE" - ] - }, - "zklink": { - "type": "messageIdMultisigIsm", - "threshold": 2, - "validators": [ - "0x217a8cb4789fc45abf56cb6e2ca96f251a5ac181", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - }, - "zksync": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0xadd1d39ce7a687e32255ac457cf99a6d8c5b5d1a", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36", - "0x75237d42ce8ea27349a0254ada265db94157e0c1" - ] - }, - "zoramainnet": { - "type": "messageIdMultisigIsm", - "threshold": 3, - "validators": [ - "0x35130945b625bb69b28aee902a3b9a76fa67125f", - "0x7089b6352d37d23fb05a7fee4229c78e038fba09", - "0xcf0211fafbb91fd9d06d7e306b30032dc3a1934f", - "0x4f977a59fdc2d9e39f6d780a84d5b4add1495a36" - ] - } -} diff --git a/rust/sealevel/environments/mainnet3/solanamainnet/core/program-ids.json b/rust/sealevel/environments/mainnet3/solanamainnet/core/program-ids.json index 642218fbae..fb347daf42 100644 --- a/rust/sealevel/environments/mainnet3/solanamainnet/core/program-ids.json +++ b/rust/sealevel/environments/mainnet3/solanamainnet/core/program-ids.json @@ -1,7 +1,7 @@ { "mailbox": "E588QtVUvresuXq2KoNEwAmoifCzYGpRBdHByN9KQMbi", "validator_announce": "pRgs5vN4Pj7WvFbxf6QDHizo2njq2uksqEUbaSghVA8", - "multisig_ism_message_id": "372D5YP7jMYUgYBXTVJ7BZtzKv1mq1J6wvjSFLNTRreC", + "multisig_ism_message_id": "HPNQHcc7wRcwsPG1aVBpPgpYuV7h2MJiVgKnAgTdDRBM", "igp_program_id": "BhNcatUDC2D5JTyeaqrdSukiVFsEHK7e3hVmKMztwefv", "overhead_igp_account": "AkeHBbE5JkwVppujCQQ6WuxsVsJtruBAjUo6fDCFp6fF", "igp_account": "JAvHW21tYXE9dtdG83DReqU2b4LUexFuCbtJT5tF8X6M" diff --git a/rust/sealevel/environments/mainnet3/soon/gas-oracle-configs-soon.json b/rust/sealevel/environments/mainnet3/soon/gas-oracle-configs-soon.json index 5a0f6bc9a9..4e0dad08ce 100644 --- a/rust/sealevel/environments/mainnet3/soon/gas-oracle-configs-soon.json +++ b/rust/sealevel/environments/mainnet3/soon/gas-oracle-configs-soon.json @@ -13,7 +13,7 @@ "gasOracle": { "type": "remoteGasData", "tokenExchangeRate": "887000000000000000", - "gasPrice": "15", + "gasPrice": "20", "tokenDecimals": 9 } } diff --git a/rust/sealevel/environments/mainnet3/warp-routes/Bonk-solanamainnet-soon/token-config.json b/rust/sealevel/environments/mainnet3/warp-routes/Bonk-solanamainnet-soon/token-config.json index 9f4972c9c0..1f8e4421e1 100644 --- a/rust/sealevel/environments/mainnet3/warp-routes/Bonk-solanamainnet-soon/token-config.json +++ b/rust/sealevel/environments/mainnet3/warp-routes/Bonk-solanamainnet-soon/token-config.json @@ -3,7 +3,6 @@ "type": "collateral", "decimals": 5, "interchainGasPaymaster": "AkeHBbE5JkwVppujCQQ6WuxsVsJtruBAjUo6fDCFp6fF", - "interchainSecurityModule": "HPNQHcc7wRcwsPG1aVBpPgpYuV7h2MJiVgKnAgTdDRBM", "token": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", "splTokenProgram": "token" }, diff --git a/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/program-ids.json b/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/program-ids.json index 6d68609266..87a3366874 100644 --- a/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/program-ids.json +++ b/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/program-ids.json @@ -1,10 +1,10 @@ { - "solanamainnet": { - "hex": "0xe492f8f3cb623b87d8ae46ecdb541424ae870a39110ad09087a793b0237aaff7", - "base58": "GPFwRQ5Cw6dTWnmappUKJt76DD8yawxPx28QugfCaGaA" - }, "soon": { "hex": "0x50c3447854a0cf980f4a562fd34ce4031a0b7fe725521ad21482b74cb2b733ac", "base58": "6SGK4PnHefm4egyUUeVro8wKBkuPexVehsjuUK8auJ8b" + }, + "solanamainnet": { + "hex": "0xe492f8f3cb623b87d8ae46ecdb541424ae870a39110ad09087a793b0237aaff7", + "base58": "GPFwRQ5Cw6dTWnmappUKJt76DD8yawxPx28QugfCaGaA" } } \ No newline at end of file diff --git a/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/token-config.json b/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/token-config.json index e4d638b0fc..b443d2756d 100644 --- a/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/token-config.json +++ b/rust/sealevel/environments/mainnet3/warp-routes/SOL-solanamainnet-soon/token-config.json @@ -2,8 +2,7 @@ "solanamainnet": { "type": "native", "decimals": 9, - "interchainGasPaymaster": "AkeHBbE5JkwVppujCQQ6WuxsVsJtruBAjUo6fDCFp6fF", - "interchainSecurityModule": "HPNQHcc7wRcwsPG1aVBpPgpYuV7h2MJiVgKnAgTdDRBM" + "interchainGasPaymaster": "AkeHBbE5JkwVppujCQQ6WuxsVsJtruBAjUo6fDCFp6fF" }, "soon": { "type": "synthetic", diff --git a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts index 2ce06831ea..97655e7c6b 100644 --- a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts +++ b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts @@ -50,4 +50,6 @@ export enum WarpRouteIds { EthereumFormWSTETH = 'WSTETH/ethereum-form', BaseFormAIXBT = 'AIXBT/base-form', BaseFormGAME = 'GAME/base-form', + SolanaSoonBonk = 'Bonk/solanamainnet-soon', + SolanaSoonSOL = 'SOL/solanamainnet-soon', } diff --git a/typescript/infra/src/warp/helm.ts b/typescript/infra/src/warp/helm.ts index be9b752f88..830e8f3e81 100644 --- a/typescript/infra/src/warp/helm.ts +++ b/typescript/infra/src/warp/helm.ts @@ -28,7 +28,7 @@ export class WarpRouteMonitorHelmManager extends HelmManager { return { image: { repository: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', - tag: '20a0c4b-20250109-221853', + tag: '98f8c26-20250110-182641', }, warpRouteId: this.warpRouteId, fullnameOverride: this.helmReleaseName, From 8ca7121c5eb4cd7589fbf17b000e76f6367ca91b Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Tue, 14 Jan 2025 14:58:20 +0000 Subject: [PATCH 09/14] feat: deploy sonicsvmtestnet, revive solanatestnet (#5092) ### Description - Solanatestnet was deployed prior to adding protocol fees. I did a program upgrade and migration to have it support protocol fees now, was a fun exercise that can be found in the commit history. This made it once again compatible with the agents, hence the "revival" - Deployed to sonicsvmtestnet - Deployed a SOl warp route between solana testnet and sonicsvmtestnet ### Drive-by changes ### Related issues ### Backward compatibility ### Testing --- .registryrc | 2 +- rust/main/config/mainnet_config.json | 210 ++-- rust/main/config/testnet_config.json | 94 +- .../environments/testnet4/chain-config.json | 1046 +++++++++++++++-- .../testnet4/gas-oracle-configs.json | 9 + .../hyperlane/multisig-config.json | 194 ++- .../hyperlane/multisig-config.json | 215 ++++ .../sonicsvmtestnet/core/program-ids.json | 8 + .../program-ids.json | 10 + .../token-config.json | 12 + .../hyperlane-sealevel-igp/Cargo.toml | 1 + rust/sealevel/programs/mailbox/Cargo.toml | 1 + .../config/environments/testnet4/agent.ts | 11 +- .../testnet4/aw-validators/hyperlane.json | 6 + .../config/environments/testnet4/funding.ts | 4 +- .../environments/testnet4/gasPrices.json | 40 +- .../config/environments/testnet4/owners.ts | 7 +- .../testnet4/supportedChainNames.ts | 1 + .../environments/testnet4/validators.ts | 24 + typescript/sdk/src/consts/multisigIsm.ts | 10 + 20 files changed, 1638 insertions(+), 267 deletions(-) create mode 100644 rust/sealevel/environments/testnet4/multisig-ism-message-id/sonicsvmtestnet/hyperlane/multisig-config.json create mode 100644 rust/sealevel/environments/testnet4/sonicsvmtestnet/core/program-ids.json create mode 100644 rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/program-ids.json create mode 100644 rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/token-config.json diff --git a/.registryrc b/.registryrc index 4b56572aa1..41ee7283ce 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -2184e5e3064ddec2734aa53c1aff6d9f7d958bdf +9d7868fa55b97d610c9c1916d22d71d3e67b5aa8 diff --git a/rust/main/config/mainnet_config.json b/rust/main/config/mainnet_config.json index 77ec76fbd9..4aa9b27a4b 100644 --- a/rust/main/config/mainnet_config.json +++ b/rust/main/config/mainnet_config.json @@ -34,7 +34,7 @@ "interchainAccountIsm": "0xd766e7C7517f2d0D92754b2fe4aE7AdEf7bDEC3e", "interchainAccountRouter": "0x25C87e735021F72d8728438C2130b02E3141f2cb", "interchainGasPaymaster": "0x8F1E22d309baa69D398a03cc88E9b46037e988AA", - "interchainSecurityModule": "0xd3fA56EDc496f986df5D2464E4C2c6027F8b4cEf", + "interchainSecurityModule": "0x5860cdaD159184105b7473882376cA4E5Cf1916D", "isTestnet": false, "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x811808Dd29ba8B0FC6C0ec0b5537035E59745162", @@ -100,7 +100,7 @@ "interchainAccountIsm": "0x2A7574358Ec53522CE2452887661AB4c86F7d400", "interchainAccountRouter": "0x91874Dbed74925dFe6059B90385EEb90DdE0B2E6", "interchainGasPaymaster": "0x3b6044acd6767f017e99318AA6Ef93b7B06A5a22", - "interchainSecurityModule": "0xe99C998dd9823B9b713A100fB885dd192C0d86DA", + "interchainSecurityModule": "0xC53D7f366B1CB2EA7Dd99E6105B191Af100BDBEb", "mailbox": "0x979Ca5202784112f4738403dBec5D0F3B9daabB9", "merkleTreeHook": "0x748040afB89B8FdBb992799808215419d36A0930", "name": "arbitrum", @@ -172,7 +172,7 @@ "interchainAccountIsm": "0x27a3233c05C1Df7c163123301D14bE9349E3Cb48", "interchainAccountRouter": "0xa82a0227e6d6db53AF4B264A852bfF91C6504a51", "interchainGasPaymaster": "0x95519ba800BBd0d34eeAE026fEc620AD978176C0", - "interchainSecurityModule": "0xFf2139af114d1D43C7348CA7471e08c7B31213A3", + "interchainSecurityModule": "0xa52E6beDFaA418E0A3E34b698C440cCB43fb5092", "mailbox": "0xFf06aFcaABaDDd1fb08371f9ccA15D73D51FeBD6", "merkleTreeHook": "0x84eea61D679F42D92145fA052C89900CBAccE95A", "name": "avalanche", @@ -245,7 +245,7 @@ "interchainAccountIsm": "0x223F7D3f27E6272266AE4B5B91Fd5C7A2d798cD8", "interchainAccountRouter": "0x4767D22117bBeeb295413000B620B93FD8522d53", "interchainGasPaymaster": "0xc3F23848Ed2e04C0c6d41bd7804fa8f89F940B94", - "interchainSecurityModule": "0x22c3D036C518A3953c57Ec3101b404a78158b7e4", + "interchainSecurityModule": "0xEB5e4E0b7c4284221e456846057D179249a9009F", "mailbox": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", "merkleTreeHook": "0x19dc38aeae620380430C200a6E990D5Af5480117", "name": "base", @@ -316,7 +316,7 @@ "interchainAccountIsm": "0xe93f2f409ad8B5000431D234472973fe848dcBEC", "interchainAccountRouter": "0x2f4Eb04189e11Af642237Da62d163Ab714614498", "interchainGasPaymaster": "0xB3fCcD379ad66CED0c91028520C64226611A48c9", - "interchainSecurityModule": "0xff226D43F30B95Fac99D225E6aD36f308ff03d7A", + "interchainSecurityModule": "0xa91A5Cd4847DDec9F66C523CfEC167C2016bE43F", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0xC9B8ea6230d6687a4b13fD3C0b8f0Ec607B26465", "name": "blast", @@ -384,7 +384,7 @@ "interchainAccountIsm": "0x451dF8AB0936D85526D816f0b4dCaDD934A034A4", "interchainAccountRouter": "0x5C02157068a52cEcfc98EDb6115DE6134EcB4764", "interchainGasPaymaster": "0x62B7592C1B6D1E43f4630B8e37f4377097840C05", - "interchainSecurityModule": "0xD94FA19BaC0A4f8Aa14D4ccB4B7A7Efb777F0A1e", + "interchainSecurityModule": "0x136aB2D5748536fF0BE18110a1ce479Ac4344fa1", "mailbox": "0x8358D8291e3bEDb04804975eEa0fe9fe0fAfB147", "merkleTreeHook": "0x781bE492F1232E66990d83a9D3AC3Ec26f56DAfB", "name": "bob", @@ -450,7 +450,7 @@ "interchainAccountIsm": "0x9e22945bE593946618383B108CC5bce09eBA4C26", "interchainAccountRouter": "0x32A07c1B7a7fe8D4A0e44B0181873aB9d64C16c1", "interchainGasPaymaster": "0x78E25e7f84416e69b9339B0A6336EB6EFfF6b451", - "interchainSecurityModule": "0x8ca30D8d1406B820b411dD1799fAa2A5E15a9D93", + "interchainSecurityModule": "0x789b6C094a281F31D6A0819c0e08F87438A7BFA8", "mailbox": "0x2971b9Aec44bE4eb673DF1B88cDB57b96eefe8a4", "merkleTreeHook": "0xFDb9Cd5f9daAA2E4474019405A328a88E7484f26", "name": "bsc", @@ -531,7 +531,7 @@ "interchainAccountIsm": "0xB732c83aeE29596E3163Da2260710eAB67Bc0B29", "interchainAccountRouter": "0x27a6cAe33378bB6A6663b382070427A01fc9cB37", "interchainGasPaymaster": "0x571f1435613381208477ac5d6974310d88AC7cB7", - "interchainSecurityModule": "0x0df8056AB4fd95D7c8f848BcF95d63b76F6bFA04", + "interchainSecurityModule": "0x41888Ae3E1B3441067AA5842f536C90ec8Aa2e80", "mailbox": "0x50da3B3907A08a24fe4999F4Dcf337E8dC7954bb", "merkleTreeHook": "0x04dB778f05854f26E67e0a66b740BBbE9070D366", "name": "celo", @@ -596,7 +596,7 @@ "interchainAccountIsm": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", "interchainAccountRouter": "0xEF9A332Ec1fD233Bf9344A58be56ff9E104B4f60", "interchainGasPaymaster": "0x7E27456a839BFF31CA642c060a2b68414Cb6e503", - "interchainSecurityModule": "0xB8508EecB14dd8d3762782eefC1ead0E92D89Ea5", + "interchainSecurityModule": "0xaD4c4F5Be297FAEaC83FB7Db6c76f8964c64d627", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x0054D19613f20dD72721A146ED408971a2CCA9BD", "name": "cheesechain", @@ -659,7 +659,7 @@ "from": 4842212 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x18250E686438602607205154288f160065d5F600", + "interchainSecurityModule": "0x567C3824E93bAc4a6c24a4deaCE7B285d342CCf5", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "cyber", @@ -726,7 +726,7 @@ "from": 23783929 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x7fc28AE86f109B1F2f2aeCb9aDFaFF10A5440E02", + "interchainSecurityModule": "0x778c735A6682649299abD5a6B8A1A2C7CD172417", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "degenchain", @@ -839,7 +839,7 @@ "interchainAccountIsm": "0xCeafc098e5c3c7768b9229Be2FEC275862A81Abd", "interchainAccountRouter": "0xed9a722c543883FB7e07E78F3879762DE09eA7D5", "interchainGasPaymaster": "0xB30EAB08aa87138D57168D0e236850A530f49921", - "interchainSecurityModule": "0x99d4146DC4910e3881b63C3471198F3Cb6aBAc52", + "interchainSecurityModule": "0x131a22Abe8BAAfaaf1c51217a6D3DB27626C927F", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xC831271c1fB212012811a91Dd43e5926C1020563", "name": "endurance", @@ -910,7 +910,7 @@ "interchainAccountIsm": "0x292C614ED53DaaDBf971521bc2C652d1ca51cB47", "interchainAccountRouter": "0x5E532F7B610618eE73C2B462978e94CB1F7995Ce", "interchainGasPaymaster": "0x9e6B1022bE9BBF5aFd152483DAD9b88911bC8611", - "interchainSecurityModule": "0x8C3c9e95091A504b28902dF319F4cE8Bd77D2f59", + "interchainSecurityModule": "0xF59f09C08e4aE8b510C8e6B0f56024E583CAD0dF", "mailbox": "0xc005dc82818d67AF737725bD4bf75435d065D239", "merkleTreeHook": "0x48e6c30B97748d1e2e03bf3e9FbE3890ca5f8CCA", "name": "ethereum", @@ -982,7 +982,7 @@ "interchainAccountIsm": "0x7C012DCA02C42cfA3Fd7Da3B0ED7234B52AE68eF", "interchainAccountRouter": "0xbed53B5C5BCE9433f25A2A702e6df13E22d84Ae9", "interchainGasPaymaster": "0x2Fca7f6eC3d4A0408900f2BB30004d4616eE985E", - "interchainSecurityModule": "0xd0C1FC10c922434452DAc6DA518Fe91582CF2407", + "interchainSecurityModule": "0xd24b1995Fa04dB66937d4a2a8Fc8880Df4C6cB9b", "mailbox": "0x2f9DB5616fa3fAd1aB06cB2C906830BA63d135e3", "merkleTreeHook": "0x8358D8291e3bEDb04804975eEa0fe9fe0fAfB147", "name": "fraxtal", @@ -1050,7 +1050,7 @@ "interchainAccountIsm": "0x9629c28990F11c31735765A6FD59E1E1bC197DbD", "interchainAccountRouter": "0x2351FBe24C1212F253b7a300ff0cBCFd97952a19", "interchainGasPaymaster": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", - "interchainSecurityModule": "0xE62f55C6760CE12688Ae4C4FDBf2Cb7f08C468A6", + "interchainSecurityModule": "0x73D9664b1d6103b2463c2AA8e7eDE8B8AF9Dc582", "mailbox": "0x3071D4DA6020C956Fe15Bfd0a9Ca8D4574f16696", "merkleTreeHook": "0xfBc08389224d23b79cb21cDc16c5d42F0ad0F57f", "name": "fusemainnet", @@ -1124,7 +1124,7 @@ "interchainAccountIsm": "0x07E2062A1bC66a2C1d05cb5C3870a4AF86e0056E", "interchainAccountRouter": "0xBE70Ab882D1F7E37e04a70CDd9Ec23b37a234064", "interchainGasPaymaster": "0xDd260B99d302f0A3fF885728c086f729c06f227f", - "interchainSecurityModule": "0x93BC454D1E8049a286EC84E75e628AB23e5E61f8", + "interchainSecurityModule": "0x7E81A58E2364eC787688f1226cf5998D0687eC1D", "mailbox": "0xaD09d78f4c6b9dA2Ae82b1D34107802d380Bb74f", "merkleTreeHook": "0x2684C6F89E901987E1FdB7649dC5Be0c57C61645", "name": "gnosis", @@ -1195,7 +1195,7 @@ "interchainAccountIsm": "0x708E002637792FDC031E6B62f23DD60014AC976a", "interchainAccountRouter": "0xfB8cea1c7F45608Da30655b50bbF355D123A4358", "interchainGasPaymaster": "0x19dc38aeae620380430C200a6E990D5Af5480117", - "interchainSecurityModule": "0xe6a1cA2c655FD86E5bD0307b1577f11e031E4691", + "interchainSecurityModule": "0x85bDBb452CE1780d74Ca31AC37F1E38375b7Ce90", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x0972954923a1e2b2aAb04Fa0c4a0797e5989Cd65", "name": "inevm", @@ -1326,7 +1326,7 @@ "from": 14616307 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0xc11B492a516F839F3f05D0CE8f79E51Bf65a66E9", + "interchainSecurityModule": "0xD6CdCb7bd3964f47616E339BbdB3EAc71B5E87DC", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "kroma", @@ -1399,7 +1399,7 @@ "interchainAccountIsm": "0xdcA646C56E7768DD11654956adE24bfFf9Ba4893", "interchainAccountRouter": "0xD59dA396F162Ed93a41252Cebb8d5DD4F093238C", "interchainGasPaymaster": "0x8105a095368f1a184CceA86cCe21318B5Ee5BE28", - "interchainSecurityModule": "0x73171e4CAAe12ae90EFA6f5D33818021b2C8F80F", + "interchainSecurityModule": "0x7Ef099711F83Bf584579d9e8375ED3cA8be44FEB", "mailbox": "0x02d16BC51af6BfD153d67CA61754cF912E82C4d9", "merkleTreeHook": "0xC077A0Cc408173349b1c9870C667B40FE3C01dd7", "name": "linea", @@ -1470,7 +1470,7 @@ "from": 4195553 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x629c7Bf8586256624f5D925360F4382defa04eBf", + "interchainSecurityModule": "0x95E3044e32b296Fa19054A071dbe523834d24Bd4", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "lisk", @@ -1534,7 +1534,7 @@ "from": 3088760 }, "interchainGasPaymaster": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", - "interchainSecurityModule": "0x6f3e2043611307bE33016a9aaDf1943cCd10d7db", + "interchainSecurityModule": "0x3173260205bfa065728Dc08227FcfA5819D55Df7", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x062200d92dF6bB7bA89Ce4D6800110450f94784e", "name": "lukso", @@ -1608,7 +1608,7 @@ "interchainAccountIsm": "0x8Ea50255C282F89d1A14ad3F159437EE5EF0507f", "interchainAccountRouter": "0x693A4cE39d99e46B04cb562329e3F0141cA17331", "interchainGasPaymaster": "0x0D63128D887159d63De29497dfa45AFc7C699AE4", - "interchainSecurityModule": "0x809253E828b9F94781Ee58089bA696883D05dDca", + "interchainSecurityModule": "0xd1278Cd952a341D463924c5597FE61691d5559a5", "isTestnet": false, "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x149db7afD694722747035d5AEC7007ccb6F8f112", @@ -1678,7 +1678,7 @@ "interchainAccountIsm": "0xe039DA3A0071BEd087A12660D7b03cf669c7776E", "interchainAccountRouter": "0x45285463352c53a481e882cD5E2AF2E25BBdAd0D", "interchainGasPaymaster": "0x8105a095368f1a184CceA86cCe21318B5Ee5BE28", - "interchainSecurityModule": "0xA9dfB22e46133f23bB635818aeB04Ae31645D2a8", + "interchainSecurityModule": "0xD11F603E537931b00f9B0B6297A9E1bE7173FEc6", "mailbox": "0x398633D19f4371e1DB5a8EFE90468eB70B1176AA", "merkleTreeHook": "0x5332D1AC0A626D265298c14ff681c0A8D28dB86d", "name": "mantle", @@ -1740,7 +1740,7 @@ "from": 13523607 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x8Dc8e217071F55C772Ffa21CCCCf3B70FCec40c7", + "interchainSecurityModule": "0x3cf2196283C7d7428bD5aF3111bF3588F2038173", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "merlin", @@ -1807,7 +1807,7 @@ "from": 17966274 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x67F16B702A2b8AC3d8fc1ffAEfBAB7Fe6fe762AD", + "interchainSecurityModule": "0x33faE85Cd15667f6ECeBaB7C75A394b4359f104a", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "metis", @@ -1872,7 +1872,7 @@ "from": 3752032 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0xFE82E2d4278124122e9771D7A525846e506BbAD3", + "interchainSecurityModule": "0xAd5516892b5526C42cb616DD080aB193Ab0b0Ce7", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "mint", @@ -1939,7 +1939,7 @@ "interchainAccountIsm": "0xa377b8269e0A47cdd2fD5AAeAe860b45623c6d82", "interchainAccountRouter": "0x6e1B9f776bd415d7cC3C7458A5f0d801016918f8", "interchainGasPaymaster": "0x931dFCc8c1141D6F532FD023bd87DAe0080c835d", - "interchainSecurityModule": "0xA54Cca261C76B09663Ae4bCe042d644e6F822e2E", + "interchainSecurityModule": "0x2Afc4338CB37a502874c73f17E2960Ba70439c1d", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xE2ee936bEa8e42671c400aC96dE198E06F2bA2A6", "name": "mode", @@ -2007,7 +2007,7 @@ "interchainAccountIsm": "0x79b3730CE3685f65802aF1771319992bA960EB9D", "interchainAccountRouter": "0xc4482f66191754a8629D35289043C4EB0285F10E", "interchainGasPaymaster": "0x14760E32C0746094cF14D97124865BC7F0F7368F", - "interchainSecurityModule": "0xe12cd1ddf6AA5f71FBee45CE9A819a0B3B2fb67F", + "interchainSecurityModule": "0x9cC2AE36315e381753E50083d0a3D73eB5F97cAA", "mailbox": "0x094d03E751f49908080EFf000Dd6FD177fd44CC3", "merkleTreeHook": "0x87403b85f6f316e7ba91ba1fa6C3Fb7dD4095547", "name": "moonbeam", @@ -2149,7 +2149,7 @@ "interchainAccountIsm": "0x2c46BF14641d00549ECa4779BF5CBf91602C1DEd", "interchainAccountRouter": "0x03D6cC17d45E9EA27ED757A8214d1F07F7D901aD", "interchainGasPaymaster": "0xD8A76C4D91fCbB7Cc8eA795DFDF870E48368995C", - "interchainSecurityModule": "0x10b4d96f8D4F095f0B708195B502FDeC165b739b", + "interchainSecurityModule": "0x1344a2c08C9Db084130841a2b68A7064403c4407", "mailbox": "0xd4C1905BB1D26BC93DAC913e13CaCC278CdCC80D", "merkleTreeHook": "0x68eE9bec9B4dbB61f69D9D293Ae26a5AACb2e28f", "name": "optimism", @@ -2284,7 +2284,7 @@ "interchainAccountIsm": "0xBAC4529cdfE7CCe9E858BF706e41F8Ed096C1BAd", "interchainAccountRouter": "0xF163949AD9F88977ebF649D0461398Ca752E64B9", "interchainGasPaymaster": "0x0071740Bf129b05C4684abfbBeD248D80971cce2", - "interchainSecurityModule": "0x47E840c5537547E0Fff9aB9cCd05eDe70A6D9139", + "interchainSecurityModule": "0x4E1AaA32bb43C75B760729AA0fe99881dcf6a7D8", "mailbox": "0x5d934f4e2f797775e53561bB72aca21ba36B96BB", "merkleTreeHook": "0x73FbD25c3e817DC4B4Cd9d00eff6D83dcde2DfF6", "name": "polygon", @@ -2357,7 +2357,7 @@ "interchainAccountIsm": "0xc1198e241DAe48BF5AEDE5DCE49Fe4A6064cF7a7", "interchainAccountRouter": "0x20a0A32a110362920597F72974E1E0d7e25cA20a", "interchainGasPaymaster": "0x0D63128D887159d63De29497dfa45AFc7C699AE4", - "interchainSecurityModule": "0x008cF37Cf63dE3179A9a93F558537daB1A73a46C", + "interchainSecurityModule": "0xFC49D822b69Fe6680d3653B4bd4d985B9fdc451c", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x149db7afD694722747035d5AEC7007ccb6F8f112", "name": "polygonzkevm", @@ -2425,7 +2425,7 @@ "from": 32018468 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x56c8e2Ca77EA631D049e9AdbCC81902c4A420AF8", + "interchainSecurityModule": "0x824277dDAEfF0fEa50e39843a64818A82B0A8091", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "proofofplay", @@ -2489,7 +2489,7 @@ "from": 363159 }, "interchainGasPaymaster": "0x3071D4DA6020C956Fe15Bfd0a9Ca8D4574f16696", - "interchainSecurityModule": "0x16a780d2f0d39B0e0e7B3d05a7E9d0BA772D2e2D", + "interchainSecurityModule": "0xA7326Ee1E3eb222bEfEbE1b2B35AA7Db25260E11", "mailbox": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", "merkleTreeHook": "0x55E4F0bc6b7Bb493D50839A8592e7ad8d5e93cf7", "name": "real", @@ -2556,7 +2556,7 @@ "interchainAccountIsm": "0x5DA60220C5dDe35b7aE91c042ff5979047FA0785", "interchainAccountRouter": "0x7a4d31a686A36285d68e14EDD53631417eB19603", "interchainGasPaymaster": "0x2Fa570E83009eaEef3a1cbd496a9a30F05266634", - "interchainSecurityModule": "0xF11b43b26e1Df7A7fc9E2fB7982630Ca9E78Db17", + "interchainSecurityModule": "0x270015959B6A9448c7187DBB1b5527A234ee90c0", "mailbox": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", "merkleTreeHook": "0x8F1E22d309baa69D398a03cc88E9b46037e988AA", "name": "redstone", @@ -2618,7 +2618,7 @@ "from": 937117 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0xa8dBD60A10bC4f2B807Abc040c620453b1Ad9fb0", + "interchainSecurityModule": "0xc314df199F9e88Eb6a1cF22bb70cfB7de0f27ab8", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "sanko", @@ -2686,7 +2686,7 @@ "interchainAccountIsm": "0x32af5Df81fEd5E26119F6640FBB13f3d63a94CDe", "interchainAccountRouter": "0x0B48a744698ba8dFa514742dFEB6728f52fD66f7", "interchainGasPaymaster": "0xBF12ef4B9f307463D3FB59c3604F294dDCe287E2", - "interchainSecurityModule": "0x86e427d91d26eCD2542846D4C9b57186e9339a37", + "interchainSecurityModule": "0xac053C51B7B4C2E293d28F01018297cA936BBf08", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x6119E37Bd66406A1Db74920aC79C15fB8411Ba76", "name": "scroll", @@ -2767,7 +2767,7 @@ "interchainAccountIsm": "0xf35dc7B9eE4Ebf0cd3546Bd6EE3b403dE2b9F5D6", "interchainAccountRouter": "0xBcaedE97a98573A88242B3b0CB0A255F3f90d4d5", "interchainGasPaymaster": "0xFC62DeF1f08793aBf0E67f69257c6be258194F72", - "interchainSecurityModule": "0xFDd69b3E4c13c6D65f856F99A12BFA0F0cc529D7", + "interchainSecurityModule": "0x8A4C9513186383C6408781E76B9d7C69a7b46b1a", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xca1b69fA4c4a7c7fD839bC50867c589592bcfe49", "name": "sei", @@ -2882,7 +2882,7 @@ "interchainAccountIsm": "0xAE557e108b3336130370aC74836f1356B4b30Cf2", "interchainAccountRouter": "0x1F8CF09F060A2AE962c0Bb1F92e209a1E7b0E10B", "interchainGasPaymaster": "0x273Bc6b01D9E88c064b6E5e409BdF998246AEF42", - "interchainSecurityModule": "0xd663Fb2EE0F8E351869e3E4CdbDeA3b0e440Eb98", + "interchainSecurityModule": "0x5B1Cd9A9d68adC495b3f5291c8817aCDb2030B68", "mailbox": "0x28EFBCadA00A7ed6772b3666F3898d276e88CAe3", "merkleTreeHook": "0x6A55822cf11f9fcBc4c75BC2638AfE8Eb942cAdd", "name": "taiko", @@ -2944,7 +2944,7 @@ "from": 1678063 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x56c8e2Ca77EA631D049e9AdbCC81902c4A420AF8", + "interchainSecurityModule": "0xc314df199F9e88Eb6a1cF22bb70cfB7de0f27ab8", "isTestnet": false, "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", @@ -3012,7 +3012,7 @@ "interchainAccountIsm": "0x551BbEc45FD665a8C95ca8731CbC32b7653Bc59B", "interchainAccountRouter": "0xc11f8Cf2343d3788405582F65B8af6A4F7a6FfC8", "interchainGasPaymaster": "0x0D63128D887159d63De29497dfa45AFc7C699AE4", - "interchainSecurityModule": "0x83D407ebFa89d1D64833F314f6ad6bBc57728D66", + "interchainSecurityModule": "0x164639E2982A5D9612d1Ce64667a4880904D2B43", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x149db7afD694722747035d5AEC7007ccb6F8f112", "name": "viction", @@ -3080,7 +3080,7 @@ "interchainAccountIsm": "0xCB9f90EE5d83Ea52ABd922BD70898f0155D54798", "interchainAccountRouter": "0x473884010F0C1742DA8Ad01E7E295624B931076b", "interchainGasPaymaster": "0x7E27456a839BFF31CA642c060a2b68414Cb6e503", - "interchainSecurityModule": "0x85bD389452743323afF638a3486A8cC451a33329", + "interchainSecurityModule": "0xa623E6d8A39129f8A5BcA295f5c4aE8AE69249F9", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x0054D19613f20dD72721A146ED408971a2CCA9BD", "name": "worldchain", @@ -3142,7 +3142,7 @@ "from": 24395308 }, "interchainGasPaymaster": "0x9844aFFaBE17c37F791ff99ABa58B0FbB75e22AF", - "interchainSecurityModule": "0x1E6fdCA7fda50eD32c2c54b28a0E0557e6065fba", + "interchainSecurityModule": "0x8b63d0db57F1206B18D2d3cD7C31Ed1f36029917", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "name": "xai", @@ -3210,7 +3210,7 @@ "interchainAccountIsm": "0x29B37088724B745C0ABcE591449Cf042772160C2", "interchainAccountRouter": "0x03cF708E42C89623bd83B281A56935cB562b9258", "interchainGasPaymaster": "0x7E27456a839BFF31CA642c060a2b68414Cb6e503", - "interchainSecurityModule": "0x0F95bC504568913673CB7C1e6BeFc605a31bD945", + "interchainSecurityModule": "0x90F075E47525eB9B06a7F4E6014acA41A03baC34", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0x0054D19613f20dD72721A146ED408971a2CCA9BD", "name": "xlayer", @@ -3278,7 +3278,7 @@ "interchainAccountIsm": "0x2b6d3F7d28B5EC8C3C028fBCAdcf774D9709Dd29", "interchainAccountRouter": "0x3AdCBc94ab8C48EC52D06dc65Bb787fD1981E3d5", "interchainGasPaymaster": "0x931dFCc8c1141D6F532FD023bd87DAe0080c835d", - "interchainSecurityModule": "0x0c979c68c88459F6b4cCfEc73B6d6Ac262f7159e", + "interchainSecurityModule": "0x3b050Ba353fCc205d2d2f5340Ac752ec578b8E84", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "merkleTreeHook": "0xE2ee936bEa8e42671c400aC96dE198E06F2bA2A6", "name": "zetachain", @@ -3344,7 +3344,7 @@ "from": 1511458 }, "interchainGasPaymaster": "0x03cF708E42C89623bd83B281A56935cB562b9258", - "interchainSecurityModule": "0x3abC1e4D81c96C7cF6E80638dD8dBcc9FF1BD4C3", + "interchainSecurityModule": "0xebBAFb81e2cA423c97e644e0Cd65a6D3F0ea6730", "mailbox": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", "merkleTreeHook": "0x4C97D35c668EE5194a13c8DE8Afc18cce40C9F28", "name": "zircuit", @@ -3417,7 +3417,7 @@ "interchainAccountIsm": "0xb2674E213019972f937CCFc5e23BF963D915809e", "interchainAccountRouter": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainGasPaymaster": "0x18B0688990720103dB63559a3563f7E8d0f63EDb", - "interchainSecurityModule": "0x0393C0ba78562BCC043c0C7c76Ed09230b04A35f", + "interchainSecurityModule": "0x6A4b341dd41Cd0fB09Df1F867bA4E40e4D776a8A", "mailbox": "0xF5da68b2577EF5C0A0D98aA2a58483a68C2f232a", "merkleTreeHook": "0x886BB0f329781b98f98FDeb1ce7a8957F2d43B9F", "name": "zoramainnet", @@ -3488,7 +3488,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0xa5a09C88941410515A5Fc6D42FFb4Db3B6722274", + "interchainSecurityModule": "0xA4f5333B6e912E0dc89C46cE5D39e018f44D8D8f", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -3555,7 +3555,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0xa221Fda4b2fd4b586BbE14aB39E79F186de16CA9", + "interchainSecurityModule": "0x801e251A6617b7eF882322Ba873401735853F6EF", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -3625,7 +3625,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0xdC6E982Ea3091006b1Ef0CB6Acfe018b058eEd19", + "interchainSecurityModule": "0xE91F8E99e35Cb250024f9E5920f6a844aB186714", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -3701,7 +3701,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0x27d3ADAA10646b8787A614D5d1ef257593BEe1Ea", + "interchainSecurityModule": "0x6752F23f44888c82Fd1d22875010B7799edbaFAD", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -3765,7 +3765,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0xe43d5f9b4da11ef7F775Ba2B40b112A7F706dF83", + "interchainSecurityModule": "0xDA0C302Acd89678e67912a6246fC0B3A1CaA0dC7", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -3838,7 +3838,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0xb9B8bD14661DE405F7597CC5b0D859C568700dF6", + "interchainSecurityModule": "0x18cC3841135Bc9829eb7c597Fc9B6CC952A2dC56", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -3906,7 +3906,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0x0081c30768c4C91C73d7871E5ae25B0d27276Fc0", + "interchainSecurityModule": "0x0f6F356fe85bC7a92111449479d70F23cF4ef498", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -3969,7 +3969,7 @@ "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "fallbackRoutingHook": "0xc401e251CCa7A364114504A994D6fC7cb1c243AB", "interchainGasPaymaster": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", - "interchainSecurityModule": "0xa4D428c24332A7E42a49b47A8c56f489ce43426F", + "interchainSecurityModule": "0xB3A24e2F4EbA5fC5bB021E754E5e370BBeF050d0", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x441a01Fca2eD731C0Fc4633998332f9FEDB17575", "pausableHook": "0x5Ed813B8b41f25c8002B01A72bbDBe6A0232Fe27", @@ -4039,7 +4039,7 @@ "interchainAccountIsm": "0xcd9D3744512F07AE844c40E27912092d7c503565", "interchainAccountRouter": "0x92cdbF0Ccdf8E93467FA858fb986fa650A02f2A8", "interchainGasPaymaster": "0xb58257cc81E47EC72fD38aE16297048de23163b4", - "interchainSecurityModule": "0x621711bf30D680256460884a626b6B2A3F8Fa2Bd", + "interchainSecurityModule": "0xe6fA4476Dbca22f06Db8355cB847aCc4A5BBa59f", "mailbox": "0x7f50C5776722630a0024fAE05fDe8b47571D7B39", "merkleTreeHook": "0xCC3D1659D50461d27a2F025dDb2c9B06B584B7e1", "pausableHook": "0x4E55aDA3ef1942049EA43E904EB01F4A0a9c39bd", @@ -4099,7 +4099,7 @@ "interchainAccountIsm": "0xc23BaF5Eb5848D19701BbE7f139645e6bd58a319", "interchainAccountRouter": "0x7c58Cadcc2b60ACF794eE1843488d6f5703f76BE", "interchainGasPaymaster": "0xb4fc9B5fD57499Ef6FfF3995728a55F7A618ef86", - "interchainSecurityModule": "0x70a1E8ee35227962f03a767c2b1073D2000c0c3D", + "interchainSecurityModule": "0x46ACEeDA62f2f4032bB1105D63d421106acD7050", "mailbox": "0xb129828B9EDa48192D0B2db35D0E40dCF51B3594", "merkleTreeHook": "0x3E969bA938E6A993eeCD6F65b0dd8712B07dFe59", "pausableHook": "0x6Fb36672365C7c797028C400A61c58c0ECc53cD2", @@ -4230,7 +4230,7 @@ "interchainAccountIsm": "0x6119B76720CcfeB3D256EC1b91218EEfFD6756E1", "interchainAccountRouter": "0x9eaaC366BFD70430cFee6E70265fefFf1CfC9E47", "interchainGasPaymaster": "0x18B0688990720103dB63559a3563f7E8d0f63EDb", - "interchainSecurityModule": "0x2011044b3949C6406Cf47BC8c3122e7D70331266", + "interchainSecurityModule": "0xa6E1B51Eaa1724F88f3a79CCC3974073a26DF56A", "mailbox": "0x7f50C5776722630a0024fAE05fDe8b47571D7B39", "merkleTreeHook": "0x886BB0f329781b98f98FDeb1ce7a8957F2d43B9F", "pausableHook": "0x2F619Ac5122689180AeBB930ADccdae215d538a9", @@ -4294,7 +4294,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0xb35e7Cc9d45F3A5AD7dab46EB71F0b564B985322", + "interchainSecurityModule": "0xBd4bEc6A01578383276ad4db90944fecc6471A0D", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -4355,7 +4355,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0x9219ED9F72c64961c7745C61A1a3492b16435d06", + "interchainSecurityModule": "0x24E469308bCfF1C73053268f3656c19204bb9DC3", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -4434,7 +4434,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0xe24AdcdFA8B77A69F4134c6A7c8AB571911fDD43", + "interchainSecurityModule": "0xE027581D8F92073Cd4542fa40e399a81eFBFDf00", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -4501,7 +4501,7 @@ "interchainAccountIsm": "0x783EC5e105234a570eB90f314284E5dBe53bdd90", "interchainAccountRouter": "0xc5D6aCaafBCcEC6D7fD7d92F4509befce641c563", "interchainGasPaymaster": "0xf3dFf6747E7FC74B431C943961054B7BF6309d8a", - "interchainSecurityModule": "0xD6f9589f8d1Aa8e4f196174Be8046cF94D4364B9", + "interchainSecurityModule": "0x5F511135824f811404eB808D8d65ce896d31D6d7", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x5090dF2FBDa7127c7aDa41f60B79F5c55D380Dd8", "pausableHook": "0x886BB0f329781b98f98FDeb1ce7a8957F2d43B9F", @@ -4572,7 +4572,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0x9DdF78676e47935f24DbcC6C0FDF9FF6687Fc461", + "interchainSecurityModule": "0x9C0Fb5dc90C4b37ef77436bFDCa3E715E670DB93", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -4637,7 +4637,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0x540605591E8C763FA4C1DeE91A674E39b33c768a", + "interchainSecurityModule": "0xBd4bEc6A01578383276ad4db90944fecc6471A0D", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -4701,7 +4701,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0x132655e619098058D595E871206e7ec1f4a8cb00", + "interchainSecurityModule": "0x9338E1B4965f83feE69B9914ACDE08AeE0D1ef8e", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -4768,7 +4768,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0x1277E184770eFF57bc54a8317cff379C53Ed307C", + "interchainSecurityModule": "0x5e99C872568Cf6E255b74B444d9287942Ab55645", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -4832,7 +4832,7 @@ "interchainAccountIsm": "0xFB9e40D811Cea562cc8a322b029eF2BDcC3ef6ed", "interchainAccountRouter": "0xeE8C0E1EeBfFCC451a013336386eA53E42a44451", "interchainGasPaymaster": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", - "interchainSecurityModule": "0xb35e7Cc9d45F3A5AD7dab46EB71F0b564B985322", + "interchainSecurityModule": "0x2Bf7c5c4d2480b1d53723B7DA1625aeA0365C1Ba", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x6963480b05EB58f4d624B014ab92e9aD4d21df6D", "pausableHook": "0xD0dca420feFda68537695A8D887080eeF4030AF7", @@ -5018,7 +5018,7 @@ "interchainAccountIsm": "0x4d264424905535E97396Db83bd553D0d73A4EF9d", "interchainAccountRouter": "0x26A29486480BD74f9B830a9B8dB33cb43C40f496", "interchainGasPaymaster": "0x9c2214467Daf9e2e1F45b36d08ce0b9C65BFeA88", - "interchainSecurityModule": "0x89Ea8BAEC48ec2EB8F5444aD600a15dABd4426D7", + "interchainSecurityModule": "0x1d71FbdcA9a8Fb6faC724A524e416a896de30b57", "mailbox": "0x5bdADEAD721Eb4C4038fF7c989E3C7BbBA302435", "merkleTreeHook": "0x2684C6F89E901987E1FdB7649dC5Be0c57C61645", "pausableHook": "0xC8E323036AAFB4B4201e7B640E79C4Db285A3FC8", @@ -5082,7 +5082,7 @@ "interchainAccountIsm": "0x545E289B88c6d97b74eC0B96e308cae46Bf5f832", "interchainAccountRouter": "0x4ef363Da5bb09CC6aeA16973786963d0C8820778", "interchainGasPaymaster": "0x561BcA8D862536CD9C88f332C1A1Da0fC8F96e40", - "interchainSecurityModule": "0x89E35A66511eF1446DaB436FDF9c1eF93EFaa03D", + "interchainSecurityModule": "0x526A02995968671aB85B926827463571A8bB906F", "mailbox": "0x248aDe14C0489E20C9a7Fea5F86DBfC3702208eF", "merkleTreeHook": "0x9c2214467Daf9e2e1F45b36d08ce0b9C65BFeA88", "pausableHook": "0x2f536FB7a37bd817Af644072a904Ddc02Dae429f", @@ -5149,7 +5149,7 @@ "interchainAccountIsm": "0x60bB6D060393D3C206719A7bD61844cC82891cfB", "interchainAccountRouter": "0x9534122Aae7978dB8f5f10dF4432233c53e820A1", "interchainGasPaymaster": "0x61374178e45F65fF9D6252d017Cd580FC60B7654", - "interchainSecurityModule": "0xF88aFBD5C7D6f804bb525Bc8f3A12906Ded7C715", + "interchainSecurityModule": "0xB0B52AEFB0E119Fb3dF22d1332C3375275a2561d", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xEe08043cf22c80b27BF24d19999231dF4a3fC256", "pausableHook": "0x145566181A18E23bB6a8A3eC6D87765542A7F754", @@ -5214,7 +5214,7 @@ "interchainAccountIsm": "0xcdc31BA959DE8C035A03167ebAE1961208CDf172", "interchainAccountRouter": "0x349831a180eE4265008C5FFB9465Ff97c1CF0028", "interchainGasPaymaster": "0x6AA10748a036a49Cb290C0e12B77319b76792D5E", - "interchainSecurityModule": "0xEeEF1a33C123D8a3Ee96C670fC740D4e7A603329", + "interchainSecurityModule": "0x468Ad5b73be4863D017B8D962339F867D39C42Ca", "mailbox": "0xd9Cc2e652A162bb93173d1c44d46cd2c0bbDA59D", "merkleTreeHook": "0x2783D98CC073dbcDa90241C804d16982D3d75821", "pausableHook": "0x3bb2D0a828f7dD91bA786091F421f6d7cF376445", @@ -5284,7 +5284,7 @@ "interchainAccountIsm": "0x545E289B88c6d97b74eC0B96e308cae46Bf5f832", "interchainAccountRouter": "0x4ef363Da5bb09CC6aeA16973786963d0C8820778", "interchainGasPaymaster": "0xc6835e52C1b976F1ebC71Bc8919738E02849FdA9", - "interchainSecurityModule": "0x06B1B5afCFfB8F49Dcea935A5E9E6A8FF96Da029", + "interchainSecurityModule": "0x1BEf95d17627863bB3346fD5069F93B35779912C", "mailbox": "0x1c6f404800bA49Ed581af734eA0d25c0c7d017B2", "merkleTreeHook": "0xdAa1B65547fB969c9ff5678956AB2FF9771B883D", "pausableHook": "0xA0e0829DA397CcF55d5B779C31728f21Cb8219DF", @@ -5396,7 +5396,7 @@ "interchainAccountIsm": "0x8c794a781327b819416E7b67908f1D22397f1E67", "interchainAccountRouter": "0x16625230dD6cFe1B2bec3eCaEc7d43bA3A902CD6", "interchainGasPaymaster": "0x2b79328DA089E89A9E9c08732b56dd31F01011Db", - "interchainSecurityModule": "0x7E81F96355529Cf7Cb768B3CCf49552E727eC7EE", + "interchainSecurityModule": "0x68A7B7dA49C9514d6A1352F68Cb1439B320fC432", "mailbox": "0x730f8a4128Fa8c53C777B62Baa1abeF94cAd34a9", "merkleTreeHook": "0x9c64f327F0140DeBd430aab3E2F1d6cbcA921227", "pausableHook": "0x2684C6F89E901987E1FdB7649dC5Be0c57C61645", @@ -5460,7 +5460,7 @@ "interchainAccountIsm": "0xE67Dc24970B482579923551Ede52BD35a2858989", "interchainAccountRouter": "0xDDE46032Baf4da13fDD79BF9dfbaA2749615C409", "interchainGasPaymaster": "0x2f536FB7a37bd817Af644072a904Ddc02Dae429f", - "interchainSecurityModule": "0xdA07f00d13E908b7c52C02b38AB748d924DdE890", + "interchainSecurityModule": "0x3387f3fb04C5A579391B5383e203b04E65b70dbE", "mailbox": "0x2f0E57527Bb37E5E064EF243fad56CCE6241906c", "merkleTreeHook": "0xC8E323036AAFB4B4201e7B640E79C4Db285A3FC8", "pausableHook": "0xdAa1B65547fB969c9ff5678956AB2FF9771B883D", @@ -5524,7 +5524,7 @@ "interchainAccountIsm": "0x20a0A32a110362920597F72974E1E0d7e25cA20a", "interchainAccountRouter": "0x5b3EeADcc0E2d4284eA6816e2E503c24d30a9E54", "interchainGasPaymaster": "0x282629Af1A2f9b8e2c5Cbc54C35C7989f21950c6", - "interchainSecurityModule": "0x90B3696922e6a8128EEB23F08Cbf5b2545f849C6", + "interchainSecurityModule": "0x888C1DCDf1BD8c86a9389facA07b9e7bdC9658CE", "mailbox": "0x5C02157068a52cEcfc98EDb6115DE6134EcB4764", "merkleTreeHook": "0xf147bBD944C610F86DaE6C7668497D22932C1E4A", "pausableHook": "0x872Bd98057931c8809927c6dE2ef39738a80Eb0C", @@ -5591,7 +5591,7 @@ "interchainAccountIsm": "0xf40eE9FF75Fa34910b7C4C8d68d4850B3bD184D3", "interchainAccountRouter": "0xf6fB78dc009C1A4286c0E7d90C10c9E8906a62Ea", "interchainGasPaymaster": "0xDDE46032Baf4da13fDD79BF9dfbaA2749615C409", - "interchainSecurityModule": "0x727DaD31073Dcc961B76Cbd625D6d074fA7988c9", + "interchainSecurityModule": "0x17DCe525bEa991c5DE56178aFc44dB7319842f98", "mailbox": "0x65dCf8F6b3f6a0ECEdf3d0bdCB036AEa47A1d615", "merkleTreeHook": "0x8c794a781327b819416E7b67908f1D22397f1E67", "pausableHook": "0x4d264424905535E97396Db83bd553D0d73A4EF9d", @@ -5658,7 +5658,7 @@ "interchainAccountIsm": "0xd9Cc2e652A162bb93173d1c44d46cd2c0bbDA59D", "interchainAccountRouter": "0x7279B1e11142078b8dC9e69620200f4C84FB8aaa", "interchainGasPaymaster": "0x5ae1ECA065aC8ee92Ce98E584fc3CE43070020e7", - "interchainSecurityModule": "0x8A4C3c1f234e9da8e325902f7105471B078a1e23", + "interchainSecurityModule": "0x093472cc2aCA5574f8B370907DEdA68d76272eeA", "mailbox": "0x96D51cc3f7500d501bAeB1A2a62BB96fa03532F8", "merkleTreeHook": "0x086c3947F71BE98A0bDf4AB7239955e7542b0CbA", "pausableHook": "0x9C6e8d989ea7F212e679191BEb44139d83ac927a", @@ -5728,7 +5728,7 @@ "interchainAccountIsm": "0x8a733038eF4BbC314eE0F7595257D8d3799B6aA9", "interchainAccountRouter": "0xCE8260c1b5cF2fAD15bb4B6542716b050Fdf35c9", "interchainGasPaymaster": "0xa1c3884EbE24Cccb120B2E98a55f85140563aa4C", - "interchainSecurityModule": "0xff5306993F410008d1d7581695252e95c55bc458", + "interchainSecurityModule": "0xD52E36491483411A50ED27B0E1dEFdFCeBBcABBD", "mailbox": "0x5e8a0fCc0D1DF583322943e01F02cB243e5300f6", "merkleTreeHook": "0x2f536FB7a37bd817Af644072a904Ddc02Dae429f", "pausableHook": "0xc6835e52C1b976F1ebC71Bc8919738E02849FdA9", @@ -5789,7 +5789,7 @@ "interchainAccountIsm": "0x25EAC2007b0D40E3f0AF112FD346412321038719", "interchainAccountRouter": "0xfF26696DcDb6BbFD27e959b847D4f1399D5BcF64", "interchainGasPaymaster": "0x9534122Aae7978dB8f5f10dF4432233c53e820A1", - "interchainSecurityModule": "0x16c7A4C2f4BCDBFC8205Baa9F1dCBcd44B4d8d90", + "interchainSecurityModule": "0xf5006372D20bfDC97216dD6B122e533E8A675833", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x9eaaC366BFD70430cFee6E70265fefFf1CfC9E47", "pausableHook": "0x9eb56085DdbDA60aDf7d2B533AFeD90e38fC9666", @@ -5859,7 +5859,7 @@ "interchainAccountIsm": "0x25EAC2007b0D40E3f0AF112FD346412321038719", "interchainAccountRouter": "0xfF26696DcDb6BbFD27e959b847D4f1399D5BcF64", "interchainGasPaymaster": "0x9534122Aae7978dB8f5f10dF4432233c53e820A1", - "interchainSecurityModule": "0x78E12CF0Ee442f7B9E6df137e0c038A4b6e8d8Eb", + "interchainSecurityModule": "0x55B0c16da418E707AB9344A852969f6cebbb7Ff9", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x9eaaC366BFD70430cFee6E70265fefFf1CfC9E47", "pausableHook": "0x9eb56085DdbDA60aDf7d2B533AFeD90e38fC9666", @@ -5920,7 +5920,7 @@ "interchainAccountIsm": "0x25EAC2007b0D40E3f0AF112FD346412321038719", "interchainAccountRouter": "0xfF26696DcDb6BbFD27e959b847D4f1399D5BcF64", "interchainGasPaymaster": "0x9534122Aae7978dB8f5f10dF4432233c53e820A1", - "interchainSecurityModule": "0xF2c7E4Ad99b08d1a2CF139cb7b79d645b50BEdEa", + "interchainSecurityModule": "0x6D4A16dF0d74402aD9297efc581797c4ce80bF3e", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x9eaaC366BFD70430cFee6E70265fefFf1CfC9E47", "pausableHook": "0x9eb56085DdbDA60aDf7d2B533AFeD90e38fC9666", @@ -5984,7 +5984,7 @@ "interchainAccountIsm": "0x25EAC2007b0D40E3f0AF112FD346412321038719", "interchainAccountRouter": "0xfF26696DcDb6BbFD27e959b847D4f1399D5BcF64", "interchainGasPaymaster": "0x9534122Aae7978dB8f5f10dF4432233c53e820A1", - "interchainSecurityModule": "0x0D9b693d45690a9FfE8F1e8E0dC41A2C6207E090", + "interchainSecurityModule": "0x55B0c16da418E707AB9344A852969f6cebbb7Ff9", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x9eaaC366BFD70430cFee6E70265fefFf1CfC9E47", "pausableHook": "0x9eb56085DdbDA60aDf7d2B533AFeD90e38fC9666", @@ -6048,7 +6048,7 @@ "interchainAccountIsm": "0x25EAC2007b0D40E3f0AF112FD346412321038719", "interchainAccountRouter": "0xfF26696DcDb6BbFD27e959b847D4f1399D5BcF64", "interchainGasPaymaster": "0x9534122Aae7978dB8f5f10dF4432233c53e820A1", - "interchainSecurityModule": "0x78E12CF0Ee442f7B9E6df137e0c038A4b6e8d8Eb", + "interchainSecurityModule": "0x55B0c16da418E707AB9344A852969f6cebbb7Ff9", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x9eaaC366BFD70430cFee6E70265fefFf1CfC9E47", "pausableHook": "0x9eb56085DdbDA60aDf7d2B533AFeD90e38fC9666", @@ -6121,7 +6121,7 @@ "interchainAccountIsm": "0xfF26696DcDb6BbFD27e959b847D4f1399D5BcF64", "interchainAccountRouter": "0x4D50044335dc1d4D26c343AdeDf6E47808475Deb", "interchainGasPaymaster": "0x70EbA87Cd15616f32C736B3f3BdCfaeD0713a82B", - "interchainSecurityModule": "0xE490AbA47A8b6B26dFF22A61aAFd51C52fD386c2", + "interchainSecurityModule": "0xb87F7db787f9A3a838FB0869788d417d68eEcc8E", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xbb0AE51BCa526cF313b6a95BfaB020794af6C394", "pausableHook": "0x83475ca5bEB2Eaa59A2FF48a0544ebaa4a32c2de", @@ -6185,7 +6185,7 @@ "interchainAccountIsm": "0x31Bb27f6007C33acD1be83ACEd3164C60f8F7b13", "interchainAccountRouter": "0xEeb5a99a75585fe137c83E7b62b74f87264A5481", "interchainGasPaymaster": "0xb7C9307fE90B9AB093c6D3EdeE3259f5378D5f03", - "interchainSecurityModule": "0x56b99cFe785C7e9F61040cdd4081d63Ef48Cf928", + "interchainSecurityModule": "0xCC9268adFB3a41af82B77214f9B31e36CfE40733", "mailbox": "0x0dF25A2d59F03F039b56E90EdC5B89679Ace28Bc", "merkleTreeHook": "0xC88636fFdFAc7cb87b7A76310B7a62AF0A000595", "pausableHook": "0x2AF32cF8e3Cf42d221eDa0c843818fA5ee129E27", @@ -6249,7 +6249,7 @@ "interchainAccountIsm": "0x28291a7062afA569104bEd52F7AcCA3dD2FafD11", "interchainAccountRouter": "0xe9E3444DDD80c50276c0Fcf316026f6d7fEc2c47", "interchainGasPaymaster": "0x25EAC2007b0D40E3f0AF112FD346412321038719", - "interchainSecurityModule": "0xCb1514f34Dfd366cF74D0F58F3D8BDE49C059533", + "interchainSecurityModule": "0xdc920aA197992467E351FDf0AFbbEf49d2114985", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x5C02157068a52cEcfc98EDb6115DE6134EcB4764", "pausableHook": "0x99fEFc1119E86Ee0153eb887cF8E8ab2d92A16e8", @@ -6317,7 +6317,7 @@ "interchainAccountIsm": "0x027eFD1695941969435AA640542B690044dF7E06", "interchainAccountRouter": "0x65F1343AC23D4fF48bf6c7E0c55872d245397567", "interchainGasPaymaster": "0x28291a7062afA569104bEd52F7AcCA3dD2FafD11", - "interchainSecurityModule": "0xF0f29D8b9d16aE092886A38571D5E7Ffdb508EB3", + "interchainSecurityModule": "0xa3eEC2fF42F84eFaa1d98daC5E60CB2F2c896570", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xcd90D49b046772F710250b9119117169CB2e4D8b", "pausableHook": "0x7CE76f5f0C469bBB4cd7Ea6EbabB54437A093127", @@ -6500,7 +6500,7 @@ "interchainAccountIsm": "0xf9609bB22847e0DB5F6fB8f95b84D25A19b46ac5", "interchainAccountRouter": "0x2b6d3F7d28B5EC8C3C028fBCAdcf774D9709Dd29", "interchainGasPaymaster": "0xFb7D175d6F53800D68D32C3Fe1416807A394cC24", - "interchainSecurityModule": "0x882eE9A3938501558823514b70d8bBa945953B80", + "interchainSecurityModule": "0x91E25120E1415D4f53E018eb0E48EAC964E19856", "mailbox": "0x473884010F0C1742DA8Ad01E7E295624B931076b", "merkleTreeHook": "0xdA629E1B79e3420ECd1e80571aDd6a4a3b13AE79", "pausableHook": "0xe93f2f409ad8B5000431D234472973fe848dcBEC", @@ -6567,7 +6567,7 @@ "interchainAccountIsm": "0xF457D831d9F55e87B2F0b35AD6D033fd6b4181Ed", "interchainAccountRouter": "0x021D2810a758c833080DEc2F1Fa8F571Aae97D45", "interchainGasPaymaster": "0xc0C2dB448fC2c84213394Fcb93a3C467e50ECa9E", - "interchainSecurityModule": "0x597210e915409D2B9D4487Ef21ea115444e419Ed", + "interchainSecurityModule": "0x16eeA2e215f9449D45f5ba98E639a848EdF7638E", "mailbox": "0x7f50C5776722630a0024fAE05fDe8b47571D7B39", "merkleTreeHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", "pausableHook": "0x48C427782Bc1e9ecE406b3e277481b28ABcBdf03", @@ -6637,7 +6637,7 @@ "interchainAccountIsm": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", "interchainAccountRouter": "0xc2466492C451E1AE49d8C874bB9f89293Aaad59b", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x7664aAE6C1bCFfe364F742c75f52D3dC70FF412E", + "interchainSecurityModule": "0x469220D6CB0465A3Cf948fcF8Cd22A3523CB678A", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -6704,7 +6704,7 @@ "interchainAccountIsm": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainAccountRouter": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x44f0875a9a412849B2167c7a4A3ECE4e13ba1ac4", + "interchainSecurityModule": "0xbf4250D5C21A8aEd8d75B246Af830e2e8DD094D8", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -6774,7 +6774,7 @@ "interchainAccountIsm": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainAccountRouter": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x44f0875a9a412849B2167c7a4A3ECE4e13ba1ac4", + "interchainSecurityModule": "0xbf4250D5C21A8aEd8d75B246Af830e2e8DD094D8", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -6844,7 +6844,7 @@ "interchainAccountIsm": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainAccountRouter": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x03Def25faaABF7aa393eC4108267f0b2c0B1F58f", + "interchainSecurityModule": "0x9943A92d1691855d369eaA52F213128Cc2818523", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -6908,7 +6908,7 @@ "interchainAccountIsm": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainAccountRouter": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x03Def25faaABF7aa393eC4108267f0b2c0B1F58f", + "interchainSecurityModule": "0xE4E34ceeB9D9BCB0d63B17c1aBc2541064AE5D06", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -6973,7 +6973,7 @@ "interchainAccountIsm": "0x60515f328B2c55Df63f456D9D839a0082892dEf8", "interchainAccountRouter": "0xF457D831d9F55e87B2F0b35AD6D033fd6b4181Ed", "interchainGasPaymaster": "0xc0C2dB448fC2c84213394Fcb93a3C467e50ECa9E", - "interchainSecurityModule": "0x017a26fE04aB95c77BA6DeE4d441A3F2402BBe17", + "interchainSecurityModule": "0xD615ea7cE5147D27EC2e1592021080113Eda7DD9", "mailbox": "0x7f50C5776722630a0024fAE05fDe8b47571D7B39", "merkleTreeHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", "pausableHook": "0x48C427782Bc1e9ecE406b3e277481b28ABcBdf03", @@ -7041,7 +7041,7 @@ "interchainAccountIsm": "0xd64d126941EaC2Cf53e0E4E8146cC70449b60D73", "interchainAccountRouter": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5", "interchainGasPaymaster": "0x3cECBa60A580dE20CC57D87528953a00f4ED99EA", - "interchainSecurityModule": "0x0fB08d319a9Daaf6e8005873D2BA1980Bd59c614", + "interchainSecurityModule": "0x08809E9649489E51b5EF69C1C306aC44A774dE21", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x1c6f404800bA49Ed581af734eA0d25c0c7d017B2", "pausableHook": "0x9e8b689e83d929cb8c2d9166E55319a4e6aA83B7", @@ -7063,10 +7063,10 @@ "soneium": { "blockExplorers": [ { - "apiUrl": "https://explorer.soneium.org/api", + "apiUrl": "https://soneium.blockscout.com/api", "family": "blockscout", "name": "Soneium Explorer", - "url": "https://explorer.soneium.org" + "url": "https://soneium.blockscout.com" } ], "blocks": { @@ -7102,7 +7102,7 @@ "interchainAccountIsm": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainAccountRouter": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x7664aAE6C1bCFfe364F742c75f52D3dC70FF412E", + "interchainSecurityModule": "0xf15C76Ac5C5BA5265Af2d07B05d4bc43CDf4B395", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -7166,7 +7166,7 @@ "interchainAccountIsm": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainAccountRouter": "0x93D41E41cA545a35A81d11b08D2eE8b852C768df", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x794BF08dE42238809d811193A6189D6d03177DF8", + "interchainSecurityModule": "0xab5C0bEB5A72D0BcE7aA2AcCAeF18aDF2f1Ed6D9", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -7233,7 +7233,7 @@ "interchainAccountIsm": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "interchainAccountRouter": "0xF457D831d9F55e87B2F0b35AD6D033fd6b4181Ed", "interchainGasPaymaster": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6", - "interchainSecurityModule": "0x557862e7ADd75E72779316b119F75358b3445102", + "interchainSecurityModule": "0xab5C0bEB5A72D0BcE7aA2AcCAeF18aDF2f1Ed6D9", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0xDc1508844B99C606E16C2Ae87f33c373edD4B0F6", "pausableHook": "0xA8A311B69f688c1D9928259D872C31ca0d473642", @@ -7346,7 +7346,7 @@ "interchainAccountIsm": "0xd64d126941EaC2Cf53e0E4E8146cC70449b60D73", "interchainAccountRouter": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5", "interchainGasPaymaster": "0x3cECBa60A580dE20CC57D87528953a00f4ED99EA", - "interchainSecurityModule": "0x8f1953EFbd2C720223faD02d6CB5CD25f97D7fC9", + "interchainSecurityModule": "0xBD787bdC84605F4a3485993f2F046b5fb78d57a2", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x1c6f404800bA49Ed581af734eA0d25c0c7d017B2", "pausableHook": "0x9e8b689e83d929cb8c2d9166E55319a4e6aA83B7", @@ -7413,7 +7413,7 @@ "interchainAccountIsm": "0x2351FBe24C1212F253b7a300ff0cBCFd97952a19", "interchainAccountRouter": "0xC5f2c60073DCAA9D157C45d5B017D639dF9C5CeB", "interchainGasPaymaster": "0xc2466492C451E1AE49d8C874bB9f89293Aaad59b", - "interchainSecurityModule": "0x9eAc9956855640c6a58AF8f91537A3E9ccd757a9", + "interchainSecurityModule": "0x25B466036E3C25aD6ECbe753D2F00b71921f35aA", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22", "pausableHook": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94", @@ -7477,7 +7477,7 @@ "interchainAccountIsm": "0x8F23872dAb3B166cef411EeB6C391Ff6Ce419532", "interchainAccountRouter": "0xb201817dFdd822B75Fa9b595457E6Ee466a7C187", "interchainGasPaymaster": "0xA9D06082F4AA449D95b49D85F27fdC0cFb491d4b", - "interchainSecurityModule": "0xDbCf838Fbf126D0d99B7D384dA416663A97Da867", + "interchainSecurityModule": "0xfeFef7af07A8A7F017DA8c8b44796a27beFe17b0", "mailbox": "0x3a867fCfFeC2B790970eeBDC9023E75B0a172aa7", "merkleTreeHook": "0x11b76D93a9D39Eb51F54eBf5566308640cDe882b", "pausableHook": "0x60515f328B2c55Df63f456D9D839a0082892dEf8", @@ -7541,7 +7541,7 @@ "interchainAccountIsm": "0x7937CB2886f01F38210506491A69B0D107Ea0ad9", "interchainAccountRouter": "0xc31B1E6c8E706cF40842C3d728985Cd2f85413eD", "interchainGasPaymaster": "0xc2466492C451E1AE49d8C874bB9f89293Aaad59b", - "interchainSecurityModule": "0x9eAc9956855640c6a58AF8f91537A3E9ccd757a9", + "interchainSecurityModule": "0xB268C727417e5d21c21BBEF9220A6A03B8c163Ff", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22", "pausableHook": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94", @@ -7606,7 +7606,7 @@ "interchainAccountIsm": "0x9629c28990F11c31735765A6FD59E1E1bC197DbD", "interchainAccountRouter": "0x2351FBe24C1212F253b7a300ff0cBCFd97952a19", "interchainGasPaymaster": "0xc2466492C451E1AE49d8C874bB9f89293Aaad59b", - "interchainSecurityModule": "0x9eAc9956855640c6a58AF8f91537A3E9ccd757a9", + "interchainSecurityModule": "0x25B466036E3C25aD6ECbe753D2F00b71921f35aA", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "merkleTreeHook": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22", "pausableHook": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94", diff --git a/rust/main/config/testnet_config.json b/rust/main/config/testnet_config.json index 6f8dca0b8d..9319a94ab7 100644 --- a/rust/main/config/testnet_config.json +++ b/rust/main/config/testnet_config.json @@ -31,7 +31,7 @@ "interchainAccountIsm": "0x6895d3916B94b386fAA6ec9276756e16dAe7480E", "interchainAccountRouter": "0xEbA64c8a9b4a61a9210d5fe7E4375380999C821b", "interchainGasPaymaster": "0x44769b0f4a6f01339e131a691cc2eebbb519d297", - "interchainSecurityModule": "0xDf1d3c37FfA6134767911B8876305afc187dA207", + "interchainSecurityModule": "0xEF36f576B107c4D5ebCa6F7F725263eabe5307a7", "isTestnet": true, "mailbox": "0xEf9F292fcEBC3848bF4bB92a96a04F9ECBb78E59", "merkleTreeHook": "0x221FA9CBaFcd6c1C3d206571Cf4427703e023FFa", @@ -94,7 +94,7 @@ "from": 49690504 }, "interchainGasPaymaster": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", - "interchainSecurityModule": "0x69a84432Ba4FaD95FC5850aCD613C6daD286908C", + "interchainSecurityModule": "0x84919eC830aaadAc11856F8843F8079d652be0aA", "isTestnet": true, "mailbox": "0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8", "merkleTreeHook": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", @@ -162,7 +162,7 @@ "from": 13851043 }, "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", - "interchainSecurityModule": "0x2945eCB46AE83B1A37b589A9c1219061522A73aD", + "interchainSecurityModule": "0xeDE933F179C81Da173f5d4bc4aff849112e4DC16", "isTestnet": true, "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", "merkleTreeHook": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", @@ -232,7 +232,7 @@ "interchainAccountIsm": "0xa9D8Ec959F34272B1a56D09AF00eeee58970d3AE", "interchainAccountRouter": "0x6d2B3e304E58c2a19f1492E7cf15CaF63Ce6e0d2", "interchainGasPaymaster": "0x0dD20e410bdB95404f71c5a4e7Fa67B892A5f949", - "interchainSecurityModule": "0x0c29F3Ce8995b41eB8c2b3E1eC33c3fa10C8cf91", + "interchainSecurityModule": "0xF3979a3e04158271765A2DB70be81Df4C315b19c", "isTestnet": true, "mailbox": "0xF9F6F5646F478d5ab4e20B0F910C92F1CCC9Cc6D", "merkleTreeHook": "0xc6cbF39A747f5E28d1bDc8D9dfDAb2960Abd5A8f", @@ -301,7 +301,7 @@ "from": 4950 }, "interchainGasPaymaster": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", - "interchainSecurityModule": "0xa25786D36B5a5eDeCAf75142dD056B1Ed1473f44", + "interchainSecurityModule": "0x1576dB24aC8a8B5D50BDE896f64b76877bE2B9da", "isTestnet": true, "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", "merkleTreeHook": "0x4926a10788306D84202A2aDbd290b7743146Cc17", @@ -402,7 +402,7 @@ "from": 1606754 }, "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", - "interchainSecurityModule": "0x1AFC8F84cAE294C3E6d3Ddb031946B93f08272b5", + "interchainSecurityModule": "0xF9C638EB093ad2E66E5f4d444fE1D42477470075", "isTestnet": true, "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", "merkleTreeHook": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", @@ -468,7 +468,7 @@ "interchainAccountIsm": "0xfaB4815BDC5c60c6bD625459C8577aFdD79D9311", "interchainAccountRouter": "0xeEF6933122894fF217a7dd07510b3D64b747e29b", "interchainGasPaymaster": "0x6895d3916B94b386fAA6ec9276756e16dAe7480E", - "interchainSecurityModule": "0x7b5AD17cdAbdED0C29B161c647DA32dCE51AB13B", + "interchainSecurityModule": "0xAEB1108dd551736001880BdD7b920F9Da051b00B", "isTestnet": true, "mailbox": "0x5b6CFf85442B851A8e6eaBd2A4E4507B5135B3B0", "merkleTreeHook": "0x9ff6ac3dAf63103620BBf76136eA1AFf43c2F612", @@ -534,7 +534,7 @@ "from": 1543015 }, "interchainGasPaymaster": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9", - "interchainSecurityModule": "0x16738b80D39Fa0652F2D853c3E6235Afb7cA6dDc", + "interchainSecurityModule": "0x3411DE0359d0Fb09E3154Aa231521cb7F2856e6f", "isTestnet": true, "mailbox": "0x46f7C5D896bbeC89bE1B19e4485e59b4Be49e9Cc", "merkleTreeHook": "0x98AAE089CaD930C64a76dD2247a2aC5773a4B8cE", @@ -599,7 +599,7 @@ "from": 15833917 }, "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", - "interchainSecurityModule": "0x81B81B3b296ecf99d5bAC0DE4e5fF7a3ceECf08b", + "interchainSecurityModule": "0x401b3EeD483f43594902a38Ee74fa80F966f31fe", "isTestnet": true, "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", "merkleTreeHook": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", @@ -727,7 +727,7 @@ "from": 10634605 }, "interchainGasPaymaster": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", - "interchainSecurityModule": "0x428a2384F6013A9c561737E9A58288e071470192", + "interchainSecurityModule": "0x4944142B6ba61B31A2F5a0Af79D72DBAE9cf6BC0", "isTestnet": true, "mailbox": "0x54148470292C24345fb828B003461a9444414517", "merkleTreeHook": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", @@ -802,7 +802,7 @@ "interchainAccountIsm": "0xE023239c8dfc172FF008D8087E7442d3eBEd9350", "interchainAccountRouter": "0xe17c37212d785760E8331D4A4395B17b34Ba8cDF", "interchainGasPaymaster": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", - "interchainSecurityModule": "0xb9A0fa05Fcce52605f0142c1A5Aca32f223eB961", + "interchainSecurityModule": "0x78b00837EE0c0265eB4f475d0D21236716AC0FdA", "isTestnet": true, "mailbox": "0x3C5154a193D6e2955650f9305c8d80c18C814A68", "merkleTreeHook": "0x863E8c26621c52ACa1849C53500606e73BA272F0", @@ -880,7 +880,7 @@ "interchainAccountIsm": "0x83a3068B719F764d413625dA77468ED74789ae02", "interchainAccountRouter": "0x8e131c8aE5BF1Ed38D05a00892b6001a7d37739d", "interchainGasPaymaster": "0x6f2756380FD49228ae25Aa7F2817993cB74Ecc56", - "interchainSecurityModule": "0x5bC248C8010848067919fA73F4555AeE95Df38a4", + "interchainSecurityModule": "0x549a1C8DBE21aA89d729637521459bc2890467b0", "isTestnet": true, "mailbox": "0xfFAEF09B3cd11D9b20d1a19bECca54EEC2884766", "merkleTreeHook": "0x4917a9746A7B6E0A57159cCb7F5a6744247f2d0d", @@ -940,7 +940,7 @@ "url": "https://www.hyperlane.xyz" }, "displayName": "Solana Testnet", - "displayNameShort": "Sol Testnet", + "displayNameShort": "Solana Testnet", "domainId": 1399811150, "index": { "from": 1, @@ -963,7 +963,8 @@ } ], "validatorAnnounce": "8qNYSi9EP1xSnRjtMpyof88A26GBbdcrsa61uSaHiwx3", - "gasCurrencyCoinGeckoId": "solana" + "gasCurrencyCoinGeckoId": "solana", + "interchainSecurityModule": "4GHxwWyKB9exhKG4fdyU2hfLgfFzhHp2WcsSKc2uNR1k" }, "superpositiontestnet": { "aggregationHook": "0x331eb40963dc11F5BB271308c42d97ac6e41F124", @@ -990,7 +991,7 @@ "from": 3111622 }, "interchainGasPaymaster": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", - "interchainSecurityModule": "0x8a833B1230A75712a767e81556F1Ad612A0F76F3", + "interchainSecurityModule": "0x7d5C116FF61393A1a1C75C45684DF93Ba00a194E", "isTestnet": true, "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", "merkleTreeHook": "0x4926a10788306D84202A2aDbd290b7743146Cc17", @@ -1078,7 +1079,7 @@ "interchainAccountIsm": "0xA2cf52064c921C11adCd83588CbEa08cc3bfF5d8", "interchainAccountRouter": "0xa3AB7E6cE24E6293bD5320A53329Ef2f4DE73fCA", "interchainGasPaymaster": "0x04438ef7622f5412f82915F59caD4f704C61eA48", - "interchainSecurityModule": "0x5e39968B0435332dE915C2FF62fD373fBbbb7C75", + "interchainSecurityModule": "0x3B431aEc0E9dBd0B903E1C784C01219503e6A0bd", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", "pausableHook": "0x783c4a0bB6663359281aD4a637D5af68F83ae213", @@ -1138,7 +1139,7 @@ "interchainAccountIsm": "0xD356C996277eFb7f75Ee8bd61b31cC781A12F54f", "interchainAccountRouter": "0x867f2089D09903f208AeCac84E599B90E5a4A821", "interchainGasPaymaster": "0xA2cf52064c921C11adCd83588CbEa08cc3bfF5d8", - "interchainSecurityModule": "0x97b1e5FBF33d82fAD9C3Aa0fF901e9B9d63090E3", + "interchainSecurityModule": "0xEBbf2a8E1008ceeD1F480B02d11d72d4426CFbAf", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0xD5eB5fa3f470eBBB93a4A58C644c87031268a04A", "pausableHook": "0x51A0a100e7BC63Ea7821A3a023B6F17fb94FF011", @@ -1206,7 +1207,7 @@ "interchainAccountIsm": "0xFfa913705484C9BAea32Ffe9945BeA099A1DFF72", "interchainAccountRouter": "0xB5fB1F5410a2c2b7deD462d018541383968cB01c", "interchainGasPaymaster": "0xD5eB5fa3f470eBBB93a4A58C644c87031268a04A", - "interchainSecurityModule": "0xAfDF88EB9447e412c89304F34813c5564307709b", + "interchainSecurityModule": "0xEd2112547065be8c15CfE3222b642Ae35EFA189b", "mailbox": "0xB08d78F439e55D02C398519eef61606A5926245F", "merkleTreeHook": "0x783c4a0bB6663359281aD4a637D5af68F83ae213", "pausableHook": "0x66b71A4e18FbE09a6977A6520B47fEDdffA82a1c", @@ -1267,7 +1268,7 @@ "interchainAccountIsm": "0xD356C996277eFb7f75Ee8bd61b31cC781A12F54f", "interchainAccountRouter": "0x867f2089D09903f208AeCac84E599B90E5a4A821", "interchainGasPaymaster": "0xA2cf52064c921C11adCd83588CbEa08cc3bfF5d8", - "interchainSecurityModule": "0xe5B27D2198EEacf4FeC7d558CdE3b4fDCe4d37f9", + "interchainSecurityModule": "0x4cA607E538A534df884B3B98A7B0Da9D2170E0ae", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0xD5eB5fa3f470eBBB93a4A58C644c87031268a04A", "pausableHook": "0x51A0a100e7BC63Ea7821A3a023B6F17fb94FF011", @@ -1459,7 +1460,7 @@ "interchainAccountIsm": "0xD356C996277eFb7f75Ee8bd61b31cC781A12F54f", "interchainAccountRouter": "0x867f2089D09903f208AeCac84E599B90E5a4A821", "interchainGasPaymaster": "0xA2cf52064c921C11adCd83588CbEa08cc3bfF5d8", - "interchainSecurityModule": "0x0511f73F8D734e0fc9df1E6C0937592a3A371B18", + "interchainSecurityModule": "0xa8C25c32777DbbD1272771fEB8Df759e3B4B4F31", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0xD5eB5fa3f470eBBB93a4A58C644c87031268a04A", "pausableHook": "0x51A0a100e7BC63Ea7821A3a023B6F17fb94FF011", @@ -1710,7 +1711,7 @@ "interchainAccountIsm": "0x39c85C84876479694A2470c0E8075e9d68049aFc", "interchainAccountRouter": "0x80fE4Cb8c70fc60B745d4ffD4403c27a8cBC9e02", "interchainGasPaymaster": "0xfBeaF07855181f8476B235Cf746A7DF3F9e386Fb", - "interchainSecurityModule": "0x3865c419335B36d9CE240b515124Ab1c33927004", + "interchainSecurityModule": "0x63E1D5320051d44C86aC760881aa337482f35FB5", "mailbox": "0x33dB966328Ea213b0f76eF96CA368AB37779F065", "merkleTreeHook": "0xEa7e618Bee8927fBb2fA20Bc41eE8DEA51838aAD", "pausableHook": "0x4fE19d49F45854Da50b6009258929613EC92C147", @@ -1773,7 +1774,7 @@ "interchainAccountIsm": "0xc08675806BA844467E559E45E4bB59e66778bDcd", "interchainAccountRouter": "0x39c85C84876479694A2470c0E8075e9d68049aFc", "interchainGasPaymaster": "0xa3AB7E6cE24E6293bD5320A53329Ef2f4DE73fCA", - "interchainSecurityModule": "0x4B310268158B842cbE65A216714C6A7D1d087155", + "interchainSecurityModule": "0xD552E8B478A4B7A2d1D4c6e76A0FB2A8730d5E79", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0x086E902d2f99BcCEAa28B31747eC6Dc5fd43B1bE", "pausableHook": "0xe0B988062A0C6492177d64823Ab95a9c256c2a5F", @@ -1836,7 +1837,7 @@ "interchainAccountIsm": "0x3ca332A585FDB9d4FF51f2FA8999eA32184D3606", "interchainAccountRouter": "0x4eC139a771eBdD3b0a0b67bb7E08960210882d44", "interchainGasPaymaster": "0xa3AB7E6cE24E6293bD5320A53329Ef2f4DE73fCA", - "interchainSecurityModule": "0xAd6172DA241CE5DC38a32E0E375FD0A1889b9E48", + "interchainSecurityModule": "0x7b7187f72D2f078c4e25B0401FC266242Ca8A5E8", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0x086E902d2f99BcCEAa28B31747eC6Dc5fd43B1bE", "pausableHook": "0xe0B988062A0C6492177d64823Ab95a9c256c2a5F", @@ -1899,7 +1900,7 @@ "interchainAccountIsm": "0xBF2C366530C1269d531707154948494D3fF4AcA7", "interchainAccountRouter": "0xBdf49bE2201A1c4B13023F0a407196C6Adb32680", "interchainGasPaymaster": "0xD356C996277eFb7f75Ee8bd61b31cC781A12F54f", - "interchainSecurityModule": "0xa6570241124A6534801d1eba13F46078Dc7d1974", + "interchainSecurityModule": "0xd85b1fb952a30517BFE3F53cb6049385f1ACe35b", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0xFfa913705484C9BAea32Ffe9945BeA099A1DFF72", "pausableHook": "0xc76E477437065093D353b7d56c81ff54D167B0Ab", @@ -1970,7 +1971,7 @@ "interchainAccountIsm": "0x342B5630Ba1C1e4d3048E51Dad208201aF52692c", "interchainAccountRouter": "0xe036768e48Cb0D42811d2bF0748806FCcBfCd670", "interchainGasPaymaster": "0x867f2089D09903f208AeCac84E599B90E5a4A821", - "interchainSecurityModule": "0xbe84F098eE49c32395edA629737AD3f4c0542ADA", + "interchainSecurityModule": "0x4F0B0317FF574aAc61D1D2Db4A78501D0342602a", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0xB5fB1F5410a2c2b7deD462d018541383968cB01c", "pausableHook": "0x7483faD0Bc297667664A43A064bA7c9911659f57", @@ -2029,7 +2030,7 @@ "domainRoutingIsmFactory": "0x44b764045BfDC68517e10e783E69B376cef196B2", "fallbackRoutingHook": "0xD356C996277eFb7f75Ee8bd61b31cC781A12F54f", "interchainGasPaymaster": "0x54Bd02f0f20677e9846F8E9FdB1Abc7315C49C38", - "interchainSecurityModule": "0x3490059390DDc4de38822488A1D63B4e131D0Aaf", + "interchainSecurityModule": "0x500a6350D7B121eD28a7EFE91Ac0885f494A28b2", "mailbox": "0xDDcFEcF17586D08A5740B7D91735fcCE3dfe3eeD", "merkleTreeHook": "0x4fE19d49F45854Da50b6009258929613EC92C147", "pausableHook": "0x01812D60958798695391dacF092BAc4a715B1718", @@ -2164,6 +2165,47 @@ "index": { "from": 86008 } + }, + "sonicsvmtestnet": { + "blockExplorers": [ + { + "apiUrl": "https://explorer.sonic.game/?cluster=testnet.v1", + "family": "other", + "name": "Sonic Explorer", + "url": "https://explorer.sonic.game/?cluster=testnet.v1" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 0.4, + "reorgPeriod": 0 + }, + "chainId": 15153042, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Sonic SVM Testnet", + "displayNameShort": "Sonic SVM Testnet", + "domainId": 15153042, + "isTestnet": true, + "name": "sonicsvmtestnet", + "nativeToken": { + "decimals": 9, + "name": "Solana", + "symbol": "SOL" + }, + "protocol": "sealevel", + "rpcUrls": [ + { + "http": "https://api.testnet.sonic.game" + } + ], + "mailbox": "6BaTtWPMpWdA6tHqdT2VbogC4XZ9QV5cNCYpBrx6WP7B", + "merkleTreeHook": "6BaTtWPMpWdA6tHqdT2VbogC4XZ9QV5cNCYpBrx6WP7B", + "validatorAnnounce": "84NjUotjZcNBVGBhvwERPNS6zaAfhkJkG33aSiNxPma2", + "interchainGasPaymaster": "FSy4hQ92ZTPJVG2UmiWiymoogpwEDBcucKnLzLnbrBDt", + "interchainSecurityModule": "DgLicFznJQbnapc9cLSTB2DxN1FnrFnZo5SwD55iTycA" } }, "defaultRpcConsensusType": "fallback" diff --git a/rust/sealevel/environments/testnet4/chain-config.json b/rust/sealevel/environments/testnet4/chain-config.json index 83478557f0..8a43c054e4 100644 --- a/rust/sealevel/environments/testnet4/chain-config.json +++ b/rust/sealevel/environments/testnet4/chain-config.json @@ -1,111 +1,754 @@ { + "abstracttestnet": { + "blockExplorers": [ + { + "apiUrl": "https://api-explorer-verify.testnet.abs.xyz/contract_verification", + "family": "etherscan", + "name": "Abstract Block Explorer", + "url": "https://explorer.testnet.abs.xyz" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 0 + }, + "chainId": 11124, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Abstract Testnet", + "domainId": 11124, + "isTestnet": true, + "name": "abstracttestnet", + "nativeToken": { + "decimals": 18, + "name": "Ethereum", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://api.testnet.abs.xyz" + } + ], + "technicalStack": "zksync" + }, + "alephzeroevmtestnet": { + "blockExplorers": [ + { + "apiUrl": "https://evm-explorer-testnet.alephzero.org/api", + "family": "blockscout", + "name": "Aleph Zero EVM Testnet Explorer", + "url": "https://evm-explorer-testnet.alephzero.org" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 5 + }, + "chainId": 2039, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Aleph Zero EVM Testnet", + "domainId": 2039, + "index": { + "from": 1380870 + }, + "isTestnet": true, + "name": "alephzeroevmtestnet", + "nativeToken": { + "decimals": 18, + "name": "Testnet AZERO", + "symbol": "TZERO" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.alephzero-testnet.gelato.digital" + } + ], + "technicalStack": "arbitrumnitro" + }, "alfajores": { "blockExplorers": [ { - "apiUrl": "https://api-alfajores.celoscan.io/api", - "family": "etherscan", - "name": "CeloScan", - "url": "https://alfajores.celoscan.io" - }, + "apiUrl": "https://explorer.celo.org/alfajores/api", + "family": "blockscout", + "name": "Blockscout", + "url": "https://explorer.celo.org/alfajores" + } + ], + "blocks": { + "confirmations": 3, + "estimateBlockTime": 5, + "reorgPeriod": 0 + }, + "chainId": 44787, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Alfajores", + "domainId": 44787, + "gasCurrencyCoinGeckoId": "celo", + "isTestnet": true, + "name": "alfajores", + "nativeToken": { + "decimals": 18, + "name": "CELO", + "symbol": "CELO" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://alfajores-forno.celo-testnet.org" + } + ] + }, + "arbitrumsepolia": { + "blockExplorers": [ + { + "apiUrl": "https://api-sepolia.arbiscan.io/api", + "family": "etherscan", + "name": "Arbiscan", + "url": "https://sepolia.arbiscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 0 + }, + "chainId": 421614, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Arbitrum Sepolia", + "domainId": 421614, + "gasCurrencyCoinGeckoId": "ethereum", + "index": { + "from": 49690504 + }, + "isTestnet": true, + "name": "arbitrumsepolia", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://arbitrum-sepolia.blockpi.network/v1/rpc/public" + }, + { + "http": "https://sepolia-rollup.arbitrum.io/rpc" + } + ], + "technicalStack": "arbitrumnitro" + }, + "arcadiatestnet2": { + "blockExplorers": [ + { + "apiUrl": "https://explorer.khalani.network/api", + "family": "blockscout", + "name": "Arcadia Testnet Explorer", + "url": "https://explorer.khalani.network" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 1 + }, + "chainId": 1098411886, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Arcadia Testnet v2", + "domainId": 1098411886, + "isTestnet": true, + "name": "arcadiatestnet2", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.khalani.network" + } + ] + }, + "basesepolia": { + "blockExplorers": [ + { + "apiUrl": "https://api-sepolia.basescan.org/api", + "family": "etherscan", + "name": "BaseScan", + "url": "https://sepolia.basescan.org" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 2, + "reorgPeriod": 1 + }, + "chainId": 84532, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Base Sepolia", + "domainId": 84532, + "gasCurrencyCoinGeckoId": "ethereum", + "isTestnet": true, + "name": "basesepolia", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://sepolia.base.org" + }, + { + "http": "https://base-sepolia-rpc.publicnode.com" + } + ] + }, + "berabartio": { + "blockExplorers": [ + { + "apiUrl": "https://api.routescan.io/v2/network/testnet/evm/80084/etherscan/api/", + "family": "routescan", + "name": "Bartio Testnet Explorer", + "url": "https://bartio.beratrail.io/" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 1 + }, + "chainId": 80084, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Berachain bArtio", + "domainId": 80084, + "gasCurrencyCoinGeckoId": "berachain", + "isTestnet": true, + "name": "berabartio", + "nativeToken": { + "decimals": 18, + "name": "BERA", + "symbol": "BERA" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://bartio.rpc.berachain.com/" + }, + { + "http": "https://bartio.drpc.org" + }, + { + "http": "https://bera-testnet.nodeinfra.com" + } + ] + }, + "bsctestnet": { + "blockExplorers": [ + { + "apiUrl": "https://api-testnet.bscscan.com/api", + "family": "etherscan", + "name": "BscScan", + "url": "https://testnet.bscscan.com" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 9 + }, + "chainId": 97, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "BSC Testnet", + "domainId": 97, + "gasCurrencyCoinGeckoId": "binancecoin", + "isTestnet": true, + "name": "bsctestnet", + "nativeToken": { + "decimals": 18, + "name": "BNB", + "symbol": "BNB" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://bsc-testnet.publicnode.com" + }, + { + "http": "https://bsc-testnet.blockpi.network/v1/rpc/public" + } + ], + "transactionOverrides": { + "gasPrice": 8000000000 + } + }, + "camptestnet": { + "blockExplorers": [ + { + "apiUrl": "https://camp-network-testnet.blockscout.com/api", + "family": "blockscout", + "name": "Camp Network Testnet Explorer", + "url": "https://camp-network-testnet.blockscout.com" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 2, + "reorgPeriod": 1 + }, + "chainId": 325000, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Camp Network Testnet V2", + "domainId": 325000, + "gasCurrencyCoinGeckoId": "ethereum", + "isTestnet": true, + "name": "camptestnet", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc-campnetwork.xyz" + } + ] + }, + "citreatestnet": { + "blockExplorers": [ + { + "apiUrl": "https://explorer.testnet.citrea.xyz/api", + "family": "blockscout", + "name": "Citrea Testnet Explorer", + "url": "https://explorer.testnet.citrea.xyz" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 2, + "reorgPeriod": 1 + }, + "chainId": 5115, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Citrea Testnet", + "domainId": 5115, + "gasCurrencyCoinGeckoId": "bitcoin", + "isTestnet": true, + "name": "citreatestnet", + "nativeToken": { + "decimals": 18, + "name": "Citrea BTC", + "symbol": "cBTC" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.testnet.citrea.xyz" + } + ] + }, + "connextsepolia": { + "blockExplorers": [ + { + "apiUrl": "https://scan.testnet.everclear.org/api", + "family": "blockscout", + "name": "Everclear Testnet Explorer", + "url": "https://scan.testnet.everclear.org/" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 10, + "reorgPeriod": 0 + }, + "chainId": 6398, + "deployer": { + "name": "Everclear", + "url": "https://everclear.org" + }, + "displayName": "Everclear Sepolia", + "domainId": 6398, + "gasCurrencyCoinGeckoId": "ethereum", + "index": { + "from": 4950 + }, + "isTestnet": true, + "name": "connextsepolia", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.connext-sepolia.gelato.digital" + } + ], + "technicalStack": "arbitrumnitro" + }, + "ecotestnet": { + "blockExplorers": [ + { + "apiUrl": "https://eco-testnet.explorer.caldera.xyz/api", + "family": "blockscout", + "name": "ECO Testnet explorer", + "url": "https://eco-testnet.explorer.caldera.xyz/" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 0 + }, + "chainId": 471923, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Eco Testnet", + "domainId": 471923, + "gasCurrencyCoinGeckoId": "ethereum", + "isTestnet": true, + "name": "ecotestnet", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://eco-testnet.rpc.caldera.xyz/http" + } + ] + }, + "eclipsetestnet": { + "blocks": { + "confirmations": 1, + "estimateBlockTime": 0.4, + "reorgPeriod": 0 + }, + "chainId": 239092742, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Eclipse Testnet", + "domainId": 239092742, + "gasCurrencyCoinGeckoId": "ethereum", + "isTestnet": true, + "name": "eclipsetestnet", + "nativeToken": { + "decimals": 9, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "sealevel", + "rpcUrls": [ + { + "http": "https://testnet.dev2.eclipsenetwork.xyz" + } + ] + }, + "formtestnet": { + "blockExplorers": [ + { + "apiUrl": "https://sepolia-explorer.form.network/api", + "family": "blockscout", + "name": "Form Testnet Explorer", + "url": "https://sepolia-explorer.form.network" + } + ], + "blocks": { + "confirmations": 3, + "estimateBlockTime": 2, + "reorgPeriod": 1 + }, + "chainId": 132902, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Form Testnet", + "domainId": 132902, + "gasCurrencyCoinGeckoId": "ethereum", + "isTestnet": true, + "name": "formtestnet", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://testnet-rpc.form.network/http" + } + ] + }, + "fuji": { + "blockExplorers": [ + { + "apiUrl": "https://api.routescan.io/v2/network/testnet/evm/43113/etherscan/api", + "family": "etherscan", + "name": "SnowTrace", + "url": "https://testnet.snowtrace.io" + } + ], + "blocks": { + "confirmations": 3, + "estimateBlockTime": 2, + "reorgPeriod": 3 + }, + "chainId": 43113, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Fuji", + "domainId": 43113, + "gasCurrencyCoinGeckoId": "avalanche-2", + "isTestnet": true, + "name": "fuji", + "nativeToken": { + "decimals": 18, + "name": "Avalanche", + "symbol": "AVAX" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://api.avax-test.network/ext/bc/C/rpc", + "pagination": { + "maxBlockRange": 2048 + } + } + ] + }, + "holesky": { + "blockExplorers": [ + { + "apiUrl": "https://api-holesky.etherscan.io/api", + "family": "etherscan", + "name": "Etherscan", + "url": "https://holesky.etherscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 13, + "reorgPeriod": 2 + }, + "chainId": 17000, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Holesky", + "domainId": 17000, + "gasCurrencyCoinGeckoId": "ethereum", + "isTestnet": true, + "name": "holesky", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://ethereum-holesky-rpc.publicnode.com" + } + ] + }, + "inksepolia": { + "blockExplorers": [ + { + "apiUrl": "https://explorer-sepolia.inkonchain.com/api", + "family": "blockscout", + "name": "https://explorer-sepolia.inkonchain.com", + "url": "https://explorer-sepolia.inkonchain.com" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 1 + }, + "chainId": 763373, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Ink Sepolia", + "domainId": 763373, + "isTestnet": true, + "name": "inksepolia", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ { - "apiUrl": "https://explorer.celo.org/alfajores/api", + "http": "https://rpc-qnd-sepolia.inkonchain.com" + } + ], + "technicalStack": "opstack" + }, + "odysseytestnet": { + "blockExplorers": [ + { + "apiUrl": "https://odyssey-explorer.ithaca.xyz/api", "family": "blockscout", - "name": "Blockscout", - "url": "https://explorer.celo.org/alfajores" + "name": "Odyssey Explorer", + "url": "https://odyssey-explorer.ithaca.xyz" } ], "blocks": { "confirmations": 1, - "estimateBlockTime": 5, - "reorgPeriod": 0 + "estimateBlockTime": 1, + "reorgPeriod": 1 }, - "chainId": 44787, - "displayName": "Alfajores", - "domainId": 44787, + "chainId": 911867, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Odyssey Testnet", + "domainId": 911867, "isTestnet": true, - "name": "alfajores", + "name": "odysseytestnet", "nativeToken": { "decimals": 18, - "name": "CELO", - "symbol": "CELO" + "name": "Ether", + "symbol": "ETH" }, "protocol": "ethereum", "rpcUrls": [ { - "http": "https://alfajores-forno.celo-testnet.org" + "http": "https://odyssey.ithaca.xyz" } ] }, - "fuji": { + "optimismsepolia": { "blockExplorers": [ { - "apiUrl": "https://api-testnet.snowtrace.io/api", + "apiUrl": "https://api-sepolia-optimistic.etherscan.io/api", "family": "etherscan", - "name": "SnowTrace", - "url": "https://testnet.snowtrace.io" + "name": "OP Sepolia Explorer", + "url": "https://sepolia-optimistic.etherscan.io" } ], "blocks": { - "confirmations": 3, + "confirmations": 1, "estimateBlockTime": 2, - "reorgPeriod": 3 + "reorgPeriod": 0 }, - "chainId": 43113, - "displayName": "Fuji", - "domainId": 43113, + "chainId": 11155420, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Optimism Sepolia", + "domainId": 11155420, + "gasCurrencyCoinGeckoId": "ethereum", "isTestnet": true, - "name": "fuji", + "name": "optimismsepolia", "nativeToken": { "decimals": 18, - "name": "Avalanche", - "symbol": "AVAX" + "name": "Ether", + "symbol": "ETH" }, "protocol": "ethereum", "rpcUrls": [ { - "http": "https://api.avax-test.network/ext/bc/C/rpc", - "pagination": { - "maxBlockRange": 2048 - } + "http": "https://sepolia.optimism.io" } ] }, - "bsctestnet": { + "polygonamoy": { "blockExplorers": [ { - "apiUrl": "https://api-testnet.bscscan.com/api", + "apiUrl": "https://api-amoy.polygonscan.com/api", "family": "etherscan", - "name": "BscScan", - "url": "https://testnet.bscscan.com" + "name": "Polygon Amoy Explorer", + "url": "https://amoy.polygonscan.com" } ], "blocks": { - "confirmations": 1, - "estimateBlockTime": 3, - "reorgPeriod": 9 + "confirmations": 5, + "estimateBlockTime": 2, + "reorgPeriod": 10 }, - "chainId": 97, - "displayName": "BSC Testnet", - "domainId": 97, + "chainId": 80002, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Polygon Amoy", + "domainId": 80002, + "gasCurrencyCoinGeckoId": "polygon-ecosystem-token", "isTestnet": true, - "name": "bsctestnet", + "name": "polygonamoy", "nativeToken": { "decimals": 18, - "name": "BNB", - "symbol": "BNB" + "name": "Polygon Ecosystem Token", + "symbol": "POL" }, "protocol": "ethereum", "rpcUrls": [ { - "http": "https://bsc-testnet.publicnode.com" + "http": "https://rpc-amoy.polygon.technology" }, { - "http": "https://bsc-testnet.blockpi.network/v1/rpc/public" + "http": "https://polygon-amoy-bor-rpc.publicnode.com" + }, + { + "http": "https://polygon-amoy.blockpi.network/v1/rpc/public" + }, + { + "http": "https://rpc.ankr.com/polygon_amoy" } - ], - "transactionOverrides": { - "gasPrice": 80000000000 - } + ] }, "scrollsepolia": { "blockExplorers": [ @@ -122,8 +765,13 @@ "reorgPeriod": 1 }, "chainId": 534351, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, "displayName": "Scroll Sepolia", "domainId": 534351, + "gasCurrencyCoinGeckoId": "ethereum", "isTestnet": true, "name": "scrollsepolia", "nativeToken": { @@ -135,6 +783,18 @@ "rpcUrls": [ { "http": "https://sepolia-rpc.scroll.io" + }, + { + "http": "https://rpc.ankr.com/scroll_sepolia_testnet" + }, + { + "http": "https://scroll-sepolia.blockpi.network/v1/rpc/public" + }, + { + "http": "https://scroll-sepolia.chainstacklabs.com" + }, + { + "http": "https://scroll-public.scroll-testnet.quiknode.pro" } ] }, @@ -153,8 +813,14 @@ "reorgPeriod": 2 }, "chainId": 11155111, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, "displayName": "Sepolia", "domainId": 11155111, + "gasCurrencyCoinGeckoId": "ethereum", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-sepolia.safe.global", "isTestnet": true, "name": "sepolia", "nativeToken": { @@ -164,6 +830,9 @@ }, "protocol": "ethereum", "rpcUrls": [ + { + "http": "https://ethereum-sepolia.publicnode.com" + }, { "http": "https://ethereum-sepolia.blockpi.network/v1/rpc/public" }, @@ -172,45 +841,86 @@ } ] }, - "moonbasealpha": { + "solanatestnet": { "blockExplorers": [ { - "apiUrl": "https://api-moonbase.moonscan.io/api", - "family": "etherscan", - "name": "MoonScan", - "url": "https://moonbase.moonscan.io" + "apiUrl": "https://explorer.solana.com?cluster=testnet", + "family": "other", + "name": "Solana Explorer", + "url": "https://explorer.solana.com?cluster=testnet" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 0.4, + "reorgPeriod": 0 + }, + "chainId": 1399811150, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Solana Testnet", + "displayNameShort": "Sol Testnet", + "domainId": 1399811150, + "gasCurrencyCoinGeckoId": "solana", + "isTestnet": true, + "name": "solanatestnet", + "nativeToken": { + "decimals": 9, + "name": "Solana", + "symbol": "SOL" + }, + "protocol": "sealevel", + "rpcUrls": [ + { + "http": "https://api.testnet.solana.com" + } + ] + }, + "soneiumtestnet": { + "blockExplorers": [ + { + "apiUrl": "https://explorer-testnet.soneium.org/api", + "family": "blockscout", + "name": "Soneium Minato Testnet Explorer", + "url": "https://explorer-testnet.soneium.org" } ], "blocks": { "confirmations": 1, - "estimateBlockTime": 12, + "estimateBlockTime": 2, "reorgPeriod": 1 }, - "chainId": 1287, - "displayName": "Moonbase Alpha", - "displayNameShort": "Moonbase", - "domainId": 1287, + "chainId": 1946, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Soneium Minato Testnet", + "domainId": 1946, + "gasCurrencyCoinGeckoId": "ethereum", "isTestnet": true, - "name": "moonbasealpha", + "name": "soneiumtestnet", "nativeToken": { "decimals": 18, - "name": "DEV", - "symbol": "DEV" + "name": "Ether", + "symbol": "ETH" }, "protocol": "ethereum", "rpcUrls": [ { - "http": "https://rpc.api.moonbase.moonbeam.network" + "http": "https://rpc.minato.soneium.org" } ] }, - "solanatestnet": { + "sonicsvmtestnet": { "blockExplorers": [ { - "apiUrl": "https://explorer.solana.com", + "apiUrl": "https://explorer.sonic.game/?cluster=testnet.v1", "family": "other", - "name": "Solana Explorer", - "url": "https://explorer.solana.com" + "name": "Sonic Explorer", + "url": "https://explorer.sonic.game/?cluster=testnet.v1" } ], "blocks": { @@ -218,52 +928,208 @@ "estimateBlockTime": 0.4, "reorgPeriod": 0 }, - "chainId": 1399811150, - "displayName": "Solana Testnet", - "displayNameShort": "Sol Testnet", - "domainId": 1399811150, + "chainId": 15153042, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Sonic SVM Testnet", + "displayNameShort": "Sonic SVM Testnet", + "domainId": 15153042, "isTestnet": true, - "name": "solanatestnet", + "name": "sonicsvmtestnet", "nativeToken": { "decimals": 9, - "name": "Sol", + "name": "Solana", "symbol": "SOL" }, "protocol": "sealevel", "rpcUrls": [ { - "http": "https://api.testnet.solana.com" + "http": "https://api.testnet.sonic.game" } ] }, - "eclipsetestnet": { + "sonictestnet": { "blockExplorers": [ { - "apiUrl": "https://testnet.dev2.eclipsenetwork.xyz", - "family": "other", - "name": "Eclipse Testnet Explorer", - "url": "https://explorer.dev.eclipsenetwork.xyz/?cluster=testnet" + "apiUrl": "https://testnet.soniclabs.com/api", + "family": "routescan", + "name": "Sonic Testnet Explorer", + "url": "https://testnet.soniclabs.com" } ], "blocks": { "confirmations": 1, - "estimateBlockTime": 0.4, + "estimateBlockTime": 1, + "reorgPeriod": 1 + }, + "chainId": 64165, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Sonic Testnet", + "domainId": 64165, + "isTestnet": true, + "name": "sonictestnet", + "nativeToken": { + "decimals": 18, + "name": "Sonic", + "symbol": "S" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.testnet.soniclabs.com" + } + ] + }, + "suavetoliman": { + "blockExplorers": [ + { + "apiUrl": "https://explorer.toliman.suave.flashbots.net/api", + "family": "blockscout", + "name": "SUAVE Toliman Testnet Explorer", + "url": "https://explorer.toliman.suave.flashbots.net" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 4, + "reorgPeriod": 1 + }, + "chainId": 33626250, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "SUAVE Toliman Testnet", + "domainId": 33626250, + "gasCurrencyCoinGeckoId": "ethereum", + "isTestnet": true, + "name": "suavetoliman", + "nativeToken": { + "decimals": 18, + "name": "TEEth", + "symbol": "TEEth" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.toliman.suave.flashbots.net" + } + ] + }, + "superpositiontestnet": { + "blockExplorers": [ + { + "apiUrl": "https://testnet-explorer.superposition.so/api", + "family": "blockscout", + "name": "Superposition Testnet Explorer", + "url": "https://testnet-explorer.superposition.so" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 1 + }, + "chainId": 98985, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Superposition Testnet", + "domainId": 98985, + "gasCurrencyCoinGeckoId": "superposition", + "index": { + "from": 3111622 + }, + "isTestnet": true, + "name": "superpositiontestnet", + "nativeToken": { + "decimals": 18, + "name": "Superposition", + "symbol": "SPN" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://testnet-rpc.superposition.so" + } + ], + "technicalStack": "arbitrumnitro" + }, + "treasuretopaz": { + "blockExplorers": [ + { + "apiUrl": "https://rpc-explorer-verify.topaz.treasure.lol/contract_verification", + "family": "etherscan", + "name": "Treasure Topaz Block Explorer", + "url": "https://topaz.treasurescan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, "reorgPeriod": 0 }, - "chainId": 239092742, - "displayName": "Eclipse Testnet", - "domainId": 239092742, + "chainId": 978658, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Treasure Topaz Testnet", + "displayNameShort": "Treasure Testnet", + "domainId": 978658, "isTestnet": true, - "name": "eclipsetestnet", + "name": "treasuretopaz", "nativeToken": { - "decimals": 9, + "decimals": 18, + "name": "MAGIC", + "symbol": "MAGIC" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.topaz.treasure.lol" + } + ], + "technicalStack": "zksync" + }, + "unichaintestnet": { + "blockExplorers": [ + { + "apiUrl": "https://unichain-sepolia.blockscout.com/api", + "family": "blockscout", + "name": "Unichain Sepolia Testnet Explorer", + "url": "https://unichain-sepolia.blockscout.com" + } + ], + "blocks": { + "confirmations": 3, + "estimateBlockTime": 1, + "reorgPeriod": 1 + }, + "chainId": 1301, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Unichain Testnet", + "domainId": 1301, + "isTestnet": true, + "name": "unichaintestnet", + "nativeToken": { + "decimals": 18, "name": "Ether", "symbol": "ETH" }, - "protocol": "sealevel", + "protocol": "ethereum", "rpcUrls": [ { - "http": "https://testnet.dev2.eclipsenetwork.xyz" + "http": "https://sepolia.unichain.org" } ] } diff --git a/rust/sealevel/environments/testnet4/gas-oracle-configs.json b/rust/sealevel/environments/testnet4/gas-oracle-configs.json index 9e1cb73138..cadbe1ad78 100644 --- a/rust/sealevel/environments/testnet4/gas-oracle-configs.json +++ b/rust/sealevel/environments/testnet4/gas-oracle-configs.json @@ -25,5 +25,14 @@ "gasPrice": "28", "tokenDecimals": 9 } + }, + { + "domain": 15153042, + "gasOracle": { + "type": "remoteGasData", + "tokenExchangeRate": "10000000000000000000", + "gasPrice": "28", + "tokenDecimals": 9 + } } ] \ No newline at end of file diff --git a/rust/sealevel/environments/testnet4/multisig-ism-message-id/solanatestnet/hyperlane/multisig-config.json b/rust/sealevel/environments/testnet4/multisig-ism-message-id/solanatestnet/hyperlane/multisig-config.json index 4584eebed6..f5898786cc 100644 --- a/rust/sealevel/environments/testnet4/multisig-ism-message-id/solanatestnet/hyperlane/multisig-config.json +++ b/rust/sealevel/environments/testnet4/multisig-ism-message-id/solanatestnet/hyperlane/multisig-config.json @@ -1,61 +1,215 @@ { + "abstracttestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x7655bc4c9802bfcb3132b8822155b60a4fbbce3e" + ] + }, + "alephzeroevmtestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x556cd94bcb6e5773e8df75e7eb3f91909d266a26" + ] + }, "alfajores": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x2233a5ce12f814bd64c9cdd73410bb8693124d40", "0xba279f965489d90f90490e3c49e860e0b43c2ae6", "0x86485dcec5f7bb8478dd251676372d054dea6653" - ], - "type": 3 + ] + }, + "arbitrumsepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x09fabfbca0b8bf042e2a1161ee5010d147b0f603" + ] + }, + "arcadiatestnet2": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xd39cd388ce3f616bc81be6dd3ec9348d7cdf4dff" + ] + }, + "basesepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x82e3b437a2944e3ff00258c93e72cd1ba5e0e921" + ] + }, + "berabartio": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x541dd3cb282cf869d72883557badae245b63e1fd" + ] }, "bsctestnet": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0x242d8a855a8c932dec51f7999ae7d1e48b10c95e", "0xf620f5e3d25a3ae848fec74bccae5de3edcd8796", "0x1f030345963c54ff8229720dd3a711c15c554aeb" - ], - "type": 3 + ] + }, + "camptestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x238f40f055a7ff697ea6dbff3ae943c9eae7a38e" + ] + }, + "citreatestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x60d7380a41eb95c49be18f141efd2fde5e3dba20" + ] + }, + "connextsepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xffbbec8c499585d80ef69eb613db624d27e089ab" + ] + }, + "eclipsetestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xf344f34abca9a444545b5295066348a0ae22dda3" + ] + }, + "ecotestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xb3191420d463c2af8bd9b4a395e100ec5c05915a" + ] + }, + "formtestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x72ad7fddf16d17ff902d788441151982fa31a7bc" + ] }, "fuji": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xd8154f73d04cc7f7f0c332793692e6e6f6b2402e", "0x895ae30bc83ff1493b9cf7781b0b813d23659857", "0x43e915573d9f1383cbf482049e4a012290759e7f" - ], - "type": 3 + ] }, - "moonbasealpha": { - "threshold": 2, + "holesky": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x7ab28ad88bb45867137ea823af88e2cb02359c03" + ] + }, + "inksepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xe61c846aee275070207fcbf43674eb254f06097a" + ] + }, + "odysseytestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, "validators": [ - "0x521877064bd7ac7500d300f162c8c47c256a2f9c", - "0xbc1c70f58ae0459d4b8a013245420a893837d568", - "0x01e42c2c44af81dda1ac16fec76fea2a7a54a44c" - ], - "type": 3 + "0xcc0a6e2d6aa8560b45b384ced7aa049870b66ea3" + ] + }, + "optimismsepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x03efe4d0632ee15685d7e8f46dea0a874304aa29" + ] + }, + "polygonamoy": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xf0290b06e446b320bd4e9c4a519420354d7ddccd" + ] }, "scrollsepolia": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xbe18dbd758afb367180260b524e6d4bcd1cb6d05", "0x9a11ed23ae962974018ab45bc133caabff7b3271", "0x7867bea3c9761fe64e6d124b171f91fd5dd79644" - ], - "type": 3 + ] }, "sepolia": { + "type": "messageIdMultisigIsm", "threshold": 2, "validators": [ "0xb22b65f202558adf86a8bb2847b76ae1036686a5", "0x469f0940684d147defc44f3647146cb90dd0bc8e", "0xd3c75dcf15056012a4d74c483a0c6ea11d8c2b83" - ], - "type": 3 + ] }, - "eclipsetestnet": { + "soneiumtestnet": { + "type": "messageIdMultisigIsm", "threshold": 1, - "validators": ["0xf344f34abca9a444545b5295066348a0ae22dda3"], - "type": 3 + "validators": [ + "0x2e2101020ccdbe76aeda1c27823b0150f43d0c63" + ] + }, + "sonicsvmtestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x83d4ef35f170ec822a0eaadb22a0c40003d8de23" + ] + }, + "sonictestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x62e6591d00daec3fb658c3d19403828b4e9ddbb3" + ] + }, + "suavetoliman": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xf58f6e30aabba34e8dd7f79b3168507192e2cc9b" + ] + }, + "superpositiontestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x1d3168504b23b73cdf9c27f13bb0a595d7f1a96a" + ] + }, + "treasuretopaz": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x9750849beda0a7870462d4685f953fe39033a5ae" + ] + }, + "unichaintestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x5e99961cf71918308c3b17ef21b5f515a4f86fe5" + ] } } diff --git a/rust/sealevel/environments/testnet4/multisig-ism-message-id/sonicsvmtestnet/hyperlane/multisig-config.json b/rust/sealevel/environments/testnet4/multisig-ism-message-id/sonicsvmtestnet/hyperlane/multisig-config.json new file mode 100644 index 0000000000..48ae9db5c1 --- /dev/null +++ b/rust/sealevel/environments/testnet4/multisig-ism-message-id/sonicsvmtestnet/hyperlane/multisig-config.json @@ -0,0 +1,215 @@ +{ + "abstracttestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x7655bc4c9802bfcb3132b8822155b60a4fbbce3e" + ] + }, + "alephzeroevmtestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x556cd94bcb6e5773e8df75e7eb3f91909d266a26" + ] + }, + "alfajores": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x2233a5ce12f814bd64c9cdd73410bb8693124d40", + "0xba279f965489d90f90490e3c49e860e0b43c2ae6", + "0x86485dcec5f7bb8478dd251676372d054dea6653" + ] + }, + "arbitrumsepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x09fabfbca0b8bf042e2a1161ee5010d147b0f603" + ] + }, + "arcadiatestnet2": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xd39cd388ce3f616bc81be6dd3ec9348d7cdf4dff" + ] + }, + "basesepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x82e3b437a2944e3ff00258c93e72cd1ba5e0e921" + ] + }, + "berabartio": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x541dd3cb282cf869d72883557badae245b63e1fd" + ] + }, + "bsctestnet": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0x242d8a855a8c932dec51f7999ae7d1e48b10c95e", + "0xf620f5e3d25a3ae848fec74bccae5de3edcd8796", + "0x1f030345963c54ff8229720dd3a711c15c554aeb" + ] + }, + "camptestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x238f40f055a7ff697ea6dbff3ae943c9eae7a38e" + ] + }, + "citreatestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x60d7380a41eb95c49be18f141efd2fde5e3dba20" + ] + }, + "connextsepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xffbbec8c499585d80ef69eb613db624d27e089ab" + ] + }, + "eclipsetestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xf344f34abca9a444545b5295066348a0ae22dda3" + ] + }, + "ecotestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xb3191420d463c2af8bd9b4a395e100ec5c05915a" + ] + }, + "formtestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x72ad7fddf16d17ff902d788441151982fa31a7bc" + ] + }, + "fuji": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xd8154f73d04cc7f7f0c332793692e6e6f6b2402e", + "0x895ae30bc83ff1493b9cf7781b0b813d23659857", + "0x43e915573d9f1383cbf482049e4a012290759e7f" + ] + }, + "holesky": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x7ab28ad88bb45867137ea823af88e2cb02359c03" + ] + }, + "inksepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xe61c846aee275070207fcbf43674eb254f06097a" + ] + }, + "odysseytestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xcc0a6e2d6aa8560b45b384ced7aa049870b66ea3" + ] + }, + "optimismsepolia": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x03efe4d0632ee15685d7e8f46dea0a874304aa29" + ] + }, + "polygonamoy": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xf0290b06e446b320bd4e9c4a519420354d7ddccd" + ] + }, + "scrollsepolia": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xbe18dbd758afb367180260b524e6d4bcd1cb6d05", + "0x9a11ed23ae962974018ab45bc133caabff7b3271", + "0x7867bea3c9761fe64e6d124b171f91fd5dd79644" + ] + }, + "sepolia": { + "type": "messageIdMultisigIsm", + "threshold": 2, + "validators": [ + "0xb22b65f202558adf86a8bb2847b76ae1036686a5", + "0x469f0940684d147defc44f3647146cb90dd0bc8e", + "0xd3c75dcf15056012a4d74c483a0c6ea11d8c2b83" + ] + }, + "solanatestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xd4ce8fa138d4e083fc0e480cca0dbfa4f5f30bd5" + ] + }, + "soneiumtestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x2e2101020ccdbe76aeda1c27823b0150f43d0c63" + ] + }, + "sonictestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x62e6591d00daec3fb658c3d19403828b4e9ddbb3" + ] + }, + "suavetoliman": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0xf58f6e30aabba34e8dd7f79b3168507192e2cc9b" + ] + }, + "superpositiontestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x1d3168504b23b73cdf9c27f13bb0a595d7f1a96a" + ] + }, + "treasuretopaz": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x9750849beda0a7870462d4685f953fe39033a5ae" + ] + }, + "unichaintestnet": { + "type": "messageIdMultisigIsm", + "threshold": 1, + "validators": [ + "0x5e99961cf71918308c3b17ef21b5f515a4f86fe5" + ] + } +} diff --git a/rust/sealevel/environments/testnet4/sonicsvmtestnet/core/program-ids.json b/rust/sealevel/environments/testnet4/sonicsvmtestnet/core/program-ids.json new file mode 100644 index 0000000000..4cd8925d41 --- /dev/null +++ b/rust/sealevel/environments/testnet4/sonicsvmtestnet/core/program-ids.json @@ -0,0 +1,8 @@ +{ + "mailbox": "6BaTtWPMpWdA6tHqdT2VbogC4XZ9QV5cNCYpBrx6WP7B", + "validator_announce": "84NjUotjZcNBVGBhvwERPNS6zaAfhkJkG33aSiNxPma2", + "multisig_ism_message_id": "DgLicFznJQbnapc9cLSTB2DxN1FnrFnZo5SwD55iTycA", + "igp_program_id": "2rRRMJhFU9QrfjHzBzwqwa33sZG2CrxSwA44PyNpVTDw", + "overhead_igp_account": "9Nq8bJdER4criKNYtkKt3WJDA2LjzHYCH11xKy53fX9", + "igp_account": "FSy4hQ92ZTPJVG2UmiWiymoogpwEDBcucKnLzLnbrBDt" +} diff --git a/rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/program-ids.json b/rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/program-ids.json new file mode 100644 index 0000000000..73f46e30ff --- /dev/null +++ b/rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/program-ids.json @@ -0,0 +1,10 @@ +{ + "sonicsvmtestnet": { + "hex": "0xc71ae64693cca2472d95769cd8541c320f915259c0c36e3f410f6ebc1f7f709e", + "base58": "EQDvULvwhZwK349y6Qt2ouAyDhBbHZoaUG8guWcqYdxZ" + }, + "solanatestnet": { + "hex": "0xfd0509b8d03119deb0bc82989384fadcd3a6cb1b4d29c0ccbf8548777614732c", + "base58": "J2gbyytzDqQozPh1xgm38NchdDPNnvGKrSff47rnVsFh" + } +} \ No newline at end of file diff --git a/rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/token-config.json b/rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/token-config.json new file mode 100644 index 0000000000..eb345bbc5e --- /dev/null +++ b/rust/sealevel/environments/testnet4/warp-routes/SOL-solanatestnet-sonicsvmtestnet/token-config.json @@ -0,0 +1,12 @@ +{ + "solanatestnet": { + "type": "native", + "decimals": 9, + "interchainGasPaymaster": "hBHAApi5ZoeCYHqDdCKkCzVKmBdwywdT3hMqe327eZB" + }, + "sonicsvmtestnet": { + "type": "native", + "decimals": 9, + "interchainGasPaymaster": "9Nq8bJdER4criKNYtkKt3WJDA2LjzHYCH11xKy53fX9" + } +} diff --git a/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml b/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml index 256b21d76b..f02e1865f8 100644 --- a/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml +++ b/rust/sealevel/programs/hyperlane-sealevel-igp/Cargo.toml @@ -6,6 +6,7 @@ version = "0.1.0" edition = "2021" [features] +default = ["no-spl-noop"] no-entrypoint = [] no-spl-noop = [] serde = ["dep:serde"] diff --git a/rust/sealevel/programs/mailbox/Cargo.toml b/rust/sealevel/programs/mailbox/Cargo.toml index 6ca7bc9e2b..1d09b5e935 100644 --- a/rust/sealevel/programs/mailbox/Cargo.toml +++ b/rust/sealevel/programs/mailbox/Cargo.toml @@ -6,6 +6,7 @@ version = "0.1.0" edition = "2021" [features] +default = ["no-spl-noop"] no-entrypoint = [] no-spl-noop = [] serde = ["dep:serde"] diff --git a/typescript/infra/config/environments/testnet4/agent.ts b/typescript/infra/config/environments/testnet4/agent.ts index d34e53657d..76857dab51 100644 --- a/typescript/infra/config/environments/testnet4/agent.ts +++ b/typescript/infra/config/environments/testnet4/agent.ts @@ -66,8 +66,9 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< polygonamoy: true, scrollsepolia: true, sepolia: true, - solanatestnet: false, + solanatestnet: true, soneiumtestnet: true, + sonicsvmtestnet: true, sonictestnet: true, suavetoliman: true, superpositiontestnet: true, @@ -100,8 +101,9 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< polygonamoy: true, scrollsepolia: true, sepolia: true, - solanatestnet: false, + solanatestnet: true, soneiumtestnet: true, + sonicsvmtestnet: true, sonictestnet: true, suavetoliman: true, superpositiontestnet: true, @@ -136,6 +138,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< sepolia: true, solanatestnet: false, soneiumtestnet: true, + sonicsvmtestnet: false, sonictestnet: true, suavetoliman: true, superpositiontestnet: false, @@ -219,7 +222,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: '7c0c967-20241218-173053', + tag: 'bd00efa-20241231-191107', }, blacklist: [...releaseCandidateHelloworldMatchingList, ...relayBlacklist], gasPaymentEnforcement, @@ -241,7 +244,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: 'bb4e82b-20241107-190434', + tag: 'bd00efa-20241231-191107', }, chains: validatorChainConfig(Contexts.Hyperlane), resources: validatorResources, diff --git a/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json b/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json index f18b6a10b8..dab4161a8b 100644 --- a/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json +++ b/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json @@ -82,9 +82,15 @@ "0xd3c75dcf15056012a4d74c483a0c6ea11d8c2b83" ] }, + "solanatestnet": { + "validators": ["0xd4ce8fa138d4e083fc0e480cca0dbfa4f5f30bd5"] + }, "soneiumtestnet": { "validators": ["0x2e2101020ccdbe76aeda1c27823b0150f43d0c63"] }, + "sonicsvmtestnet": { + "validators": ["0x83d4ef35f170ec822a0eaadb22a0c40003d8de23"] + }, "sonictestnet": { "validators": ["0x62e6591d00daec3fb658c3d19403828b4e9ddbb3"] }, diff --git a/typescript/infra/config/environments/testnet4/funding.ts b/typescript/infra/config/environments/testnet4/funding.ts index 154619d301..87b5e1ff9f 100644 --- a/typescript/infra/config/environments/testnet4/funding.ts +++ b/typescript/infra/config/environments/testnet4/funding.ts @@ -52,9 +52,11 @@ export const keyFunderConfig: KeyFunderConfig< polygonamoy: '0.2', scrollsepolia: '1', sepolia: '5', - // no funding for solana + // no funding for SVM chains solanatestnet: '0', soneiumtestnet: '0.1', + // no funding for SVM chains + sonicsvmtestnet: '0', sonictestnet: '1', suavetoliman: '0.1', superpositiontestnet: '1', diff --git a/typescript/infra/config/environments/testnet4/gasPrices.json b/typescript/infra/config/environments/testnet4/gasPrices.json index cba1c9fa25..ebb9736d5b 100644 --- a/typescript/infra/config/environments/testnet4/gasPrices.json +++ b/typescript/infra/config/environments/testnet4/gasPrices.json @@ -1,6 +1,6 @@ { "abstracttestnet": { - "amount": "0.060764843", + "amount": "0.025", "decimals": 9 }, "alephzeroevmtestnet": { @@ -20,15 +20,15 @@ "decimals": 9 }, "basesepolia": { - "amount": "0.00236715", + "amount": "0.001000846", "decimals": 9 }, "berabartio": { - "amount": "10.832064411", + "amount": "10", "decimals": 9 }, "bsctestnet": { - "amount": "100.0", + "amount": "2.351230079", "decimals": 9 }, "camptestnet": { @@ -36,7 +36,7 @@ "decimals": 9 }, "citreatestnet": { - "amount": "5.032361163", + "amount": "0.0100001", "decimals": 9 }, "connextsepolia": { @@ -56,11 +56,11 @@ "decimals": 9 }, "fuji": { - "amount": "25.000000001", + "amount": "1.000000001", "decimals": 9 }, "holesky": { - "amount": "0.760231049", + "amount": "0.001000035", "decimals": 9 }, "inksepolia": { @@ -68,39 +68,43 @@ "decimals": 9 }, "odysseytestnet": { - "amount": "2.000000252", + "amount": "1.000000252", "decimals": 9 }, "optimismsepolia": { - "amount": "0.001000256", + "amount": "0.001000298", "decimals": 9 }, "polygonamoy": { - "amount": "56.722205902", + "amount": "55", "decimals": 9 }, "scrollsepolia": { - "amount": "2.398017347", + "amount": "0.042291812", "decimals": 9 }, "sepolia": { - "amount": "4.349910601", + "amount": "5", "decimals": 9 }, "solanatestnet": { - "amount": "0.001", - "decimals": 9 + "amount": "0.0001", + "decimals": 1 }, "soneiumtestnet": { - "amount": "0.001000259", + "amount": "0.001000267", "decimals": 9 }, + "sonicsvmtestnet": { + "amount": "0.0001", + "decimals": 1 + }, "sonictestnet": { "amount": "1.025001", "decimals": 9 }, "suavetoliman": { - "amount": "2.0736", + "amount": "10.0", "decimals": 9 }, "superpositiontestnet": { @@ -108,11 +112,11 @@ "decimals": 9 }, "treasuretopaz": { - "amount": "0.060735501", + "amount": "10", "decimals": 9 }, "unichaintestnet": { - "amount": "0.001000264", + "amount": "0.001000256", "decimals": 9 } } diff --git a/typescript/infra/config/environments/testnet4/owners.ts b/typescript/infra/config/environments/testnet4/owners.ts index 3fb009a93c..2d86e6fab6 100644 --- a/typescript/infra/config/environments/testnet4/owners.ts +++ b/typescript/infra/config/environments/testnet4/owners.ts @@ -14,9 +14,12 @@ export const owners: ChainMap = { ), // [chainMetadata.solanadevnet.name]: SEALEVEL_DEPLOYER_ADDRESS, eclipsetestnet: { - owner: 'n/a - nothing owned here', + owner: 'n/a - SVM not supported here', }, solanatestnet: { - owner: 'n/a - nothing owned here', + owner: 'n/a - SVM not supported here', + }, + sonicsvmtestnet: { + owner: 'n/a - SVM not supported here', }, }; diff --git a/typescript/infra/config/environments/testnet4/supportedChainNames.ts b/typescript/infra/config/environments/testnet4/supportedChainNames.ts index a4a7cb9e50..c3f9e0e2db 100644 --- a/typescript/infra/config/environments/testnet4/supportedChainNames.ts +++ b/typescript/infra/config/environments/testnet4/supportedChainNames.ts @@ -27,6 +27,7 @@ export const testnet4SupportedChainNames = [ 'sepolia', 'solanatestnet', 'soneiumtestnet', + 'sonicsvmtestnet', 'sonictestnet', 'suavetoliman', 'superpositiontestnet', diff --git a/typescript/infra/config/environments/testnet4/validators.ts b/typescript/infra/config/environments/testnet4/validators.ts index 4a97ebaa44..515ac4d293 100644 --- a/typescript/infra/config/environments/testnet4/validators.ts +++ b/typescript/infra/config/environments/testnet4/validators.ts @@ -306,6 +306,18 @@ export const validatorChainConfig = ( 'unichaintestnet', ), }, + solanatestnet: { + interval: 5, + reorgPeriod: getReorgPeriod('solanatestnet'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0xd4ce8fa138d4e083fc0e480cca0dbfa4f5f30bd5'], + [Contexts.ReleaseCandidate]: [], + [Contexts.Neutron]: [], + }, + 'solanatestnet', + ), + }, sonictestnet: { interval: 5, reorgPeriod: getReorgPeriod('sonictestnet'), @@ -318,6 +330,18 @@ export const validatorChainConfig = ( 'sonictestnet', ), }, + sonicsvmtestnet: { + interval: 5, + reorgPeriod: getReorgPeriod('sonicsvmtestnet'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x83d4ef35f170ec822a0eaadb22a0c40003d8de23'], + [Contexts.ReleaseCandidate]: [], + [Contexts.Neutron]: [], + }, + 'sonicsvmtestnet', + ), + }, arcadiatestnet2: { interval: 5, reorgPeriod: getReorgPeriod('arcadiatestnet2'), diff --git a/typescript/sdk/src/consts/multisigIsm.ts b/typescript/sdk/src/consts/multisigIsm.ts index fcf940aa7a..86ea0b4d06 100644 --- a/typescript/sdk/src/consts/multisigIsm.ts +++ b/typescript/sdk/src/consts/multisigIsm.ts @@ -1720,6 +1720,16 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + sonicsvmtestnet: { + threshold: 1, + validators: [ + { + address: '0x83d4ef35f170ec822a0eaadb22a0c40003d8de23', + alias: AW_VALIDATOR_ALIAS, + }, + ], + }, + sonictestnet: { threshold: 1, validators: [ From 7bf0abf9da381bf08da0c4f21430304b91eaea77 Mon Sep 17 00:00:00 2001 From: Paul Balaji <10051819+paulbalaji@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:03:44 +0000 Subject: [PATCH 10/14] fix: allow CI to clone any registry commit (#5168) ### Description try cloning registry from commit that's already merged ### Drive-by changes ### Related issues ### Backward compatibility ### Testing --- .github/actions/checkout-registry/action.yml | 1 + Dockerfile | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/actions/checkout-registry/action.yml b/.github/actions/checkout-registry/action.yml index 929ea75399..bd8aab1c91 100644 --- a/.github/actions/checkout-registry/action.yml +++ b/.github/actions/checkout-registry/action.yml @@ -21,6 +21,7 @@ runs: with: repository: hyperlane-xyz/hyperlane-registry ref: ${{ env.REGISTRY_VERSION }} + fetch-depth: 0 path: ./hyperlane-registry - name: Move hyperlane-registry to parent directory diff --git a/Dockerfile b/Dockerfile index 555228e90d..6f8e3939d4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,4 +34,5 @@ ENV REGISTRY_URI="/hyperlane-registry" ARG REGISTRY_COMMIT="main" RUN git clone https://github.com/hyperlane-xyz/hyperlane-registry.git "$REGISTRY_URI" \ && cd "$REGISTRY_URI" \ + && git fetch origin "$REGISTRY_COMMIT" \ && git checkout "$REGISTRY_COMMIT" From 68d4dce87a351137eca618436b64682c2dc987d0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 17:00:54 +0000 Subject: [PATCH 11/14] Version Packages (#5141) This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @hyperlane-xyz/cli@8.1.0 ### Minor Changes - 2d018fa7a: Fix hyperlane warp send where --origin and --destination are out of order ### Patch Changes - Updated dependencies [79c61c891] - Updated dependencies [9518dbc84] - Updated dependencies [9ab961a79] - @hyperlane-xyz/sdk@8.1.0 - @hyperlane-xyz/utils@8.1.0 ## @hyperlane-xyz/sdk@8.1.0 ### Minor Changes - 9ab961a79: Deploy to new chains: artela, guru, hemi, nero, xpla. ### Patch Changes - 79c61c891: Fix the return type of multisig and aggregation ISMs for zksync-stack chains. - 9518dbc84: Enroll new validators for artela, guru, hemi, nero, soneium, torus, xpla. - @hyperlane-xyz/utils@8.1.0 - @hyperlane-xyz/core@5.9.1 ## @hyperlane-xyz/core@5.9.1 ### Patch Changes - @hyperlane-xyz/utils@8.1.0 ## @hyperlane-xyz/helloworld@8.1.0 ### Patch Changes - Updated dependencies [79c61c891] - Updated dependencies [9518dbc84] - Updated dependencies [9ab961a79] - @hyperlane-xyz/sdk@8.1.0 - @hyperlane-xyz/core@5.9.1 ## @hyperlane-xyz/widgets@8.1.0 ### Patch Changes - Updated dependencies [79c61c891] - Updated dependencies [9518dbc84] - Updated dependencies [9ab961a79] - @hyperlane-xyz/sdk@8.1.0 - @hyperlane-xyz/utils@8.1.0 ## @hyperlane-xyz/utils@8.1.0 ## @hyperlane-xyz/infra@8.1.0 ### Minor Changes - 2d4963c62: Add USDC between Ink and Ethereum - fc80df5b4: Add rstETH/ethereum-zircuit warp config ### Patch Changes - Updated dependencies [79c61c891] - Updated dependencies [9518dbc84] - Updated dependencies [9ab961a79] - @hyperlane-xyz/sdk@8.1.0 - @hyperlane-xyz/helloworld@8.1.0 - @hyperlane-xyz/utils@8.1.0 ## @hyperlane-xyz/ccip-server@8.1.0 ## @hyperlane-xyz/github-proxy@8.1.0 --------- Co-authored-by: github-actions[bot] --- .changeset/cold-cows-grow.md | 5 ---- .changeset/eleven-carrots-shave.md | 5 ---- .changeset/lucky-shirts-wait.md | 5 ---- .changeset/rare-windows-deny.md | 5 ---- .changeset/serious-kangaroos-chew.md | 5 ---- .changeset/tall-starfishes-hunt.md | 5 ---- solidity/CHANGELOG.md | 6 +++++ solidity/contracts/PackageVersioned.sol | 2 +- solidity/package.json | 4 ++-- typescript/ccip-server/CHANGELOG.md | 2 ++ typescript/ccip-server/package.json | 2 +- typescript/cli/CHANGELOG.md | 14 +++++++++++ typescript/cli/package.json | 6 ++--- typescript/cli/src/version.ts | 2 +- typescript/github-proxy/CHANGELOG.md | 2 ++ typescript/github-proxy/package.json | 2 +- typescript/helloworld/CHANGELOG.md | 10 ++++++++ typescript/helloworld/package.json | 6 ++--- typescript/infra/CHANGELOG.md | 16 +++++++++++++ typescript/infra/package.json | 8 +++---- typescript/sdk/CHANGELOG.md | 13 ++++++++++ typescript/sdk/package.json | 6 ++--- typescript/utils/CHANGELOG.md | 2 ++ typescript/utils/package.json | 2 +- typescript/widgets/CHANGELOG.md | 10 ++++++++ typescript/widgets/package.json | 6 ++--- yarn.lock | 32 ++++++++++++------------- 27 files changed, 114 insertions(+), 69 deletions(-) delete mode 100644 .changeset/cold-cows-grow.md delete mode 100644 .changeset/eleven-carrots-shave.md delete mode 100644 .changeset/lucky-shirts-wait.md delete mode 100644 .changeset/rare-windows-deny.md delete mode 100644 .changeset/serious-kangaroos-chew.md delete mode 100644 .changeset/tall-starfishes-hunt.md diff --git a/.changeset/cold-cows-grow.md b/.changeset/cold-cows-grow.md deleted file mode 100644 index f0f601414a..0000000000 --- a/.changeset/cold-cows-grow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/infra': minor ---- - -Add USDC between Ink and Ethereum diff --git a/.changeset/eleven-carrots-shave.md b/.changeset/eleven-carrots-shave.md deleted file mode 100644 index ef5f577bdb..0000000000 --- a/.changeset/eleven-carrots-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/sdk': patch ---- - -Fix the return type of multisig and aggregation ISMs for zksync-stack chains. diff --git a/.changeset/lucky-shirts-wait.md b/.changeset/lucky-shirts-wait.md deleted file mode 100644 index 2fcf84f406..0000000000 --- a/.changeset/lucky-shirts-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/sdk': patch ---- - -Enroll new validators for artela, guru, hemi, nero, soneium, torus, xpla. diff --git a/.changeset/rare-windows-deny.md b/.changeset/rare-windows-deny.md deleted file mode 100644 index c744963c9c..0000000000 --- a/.changeset/rare-windows-deny.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/infra': minor ---- - -Add rstETH/ethereum-zircuit warp config diff --git a/.changeset/serious-kangaroos-chew.md b/.changeset/serious-kangaroos-chew.md deleted file mode 100644 index 87d5b072f9..0000000000 --- a/.changeset/serious-kangaroos-chew.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/sdk': minor ---- - -Deploy to new chains: artela, guru, hemi, nero, xpla. diff --git a/.changeset/tall-starfishes-hunt.md b/.changeset/tall-starfishes-hunt.md deleted file mode 100644 index 4419db9d2e..0000000000 --- a/.changeset/tall-starfishes-hunt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@hyperlane-xyz/cli': minor ---- - -Fix hyperlane warp send where --origin and --destination are out of order diff --git a/solidity/CHANGELOG.md b/solidity/CHANGELOG.md index 8dc9db0231..7e701d003e 100644 --- a/solidity/CHANGELOG.md +++ b/solidity/CHANGELOG.md @@ -1,5 +1,11 @@ # @hyperlane-xyz/core +## 5.9.1 + +### Patch Changes + +- @hyperlane-xyz/utils@8.1.0 + ## 5.9.0 ### Minor Changes diff --git a/solidity/contracts/PackageVersioned.sol b/solidity/contracts/PackageVersioned.sol index 325ac0b25a..4f94e4415d 100644 --- a/solidity/contracts/PackageVersioned.sol +++ b/solidity/contracts/PackageVersioned.sol @@ -7,5 +7,5 @@ pragma solidity >=0.6.11; **/ abstract contract PackageVersioned { // GENERATED CODE - DO NOT EDIT - string public constant PACKAGE_VERSION = "5.9.0"; + string public constant PACKAGE_VERSION = "5.9.1"; } diff --git a/solidity/package.json b/solidity/package.json index 91a63ccb46..775fa20aac 100644 --- a/solidity/package.json +++ b/solidity/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/core", "description": "Core solidity contracts for Hyperlane", - "version": "5.9.0", + "version": "5.9.1", "dependencies": { "@arbitrum/nitro-contracts": "^1.2.1", "@eth-optimism/contracts": "^0.6.0", - "@hyperlane-xyz/utils": "8.0.0", + "@hyperlane-xyz/utils": "8.1.0", "@layerzerolabs/lz-evm-oapp-v2": "2.0.2", "@openzeppelin/contracts": "^4.9.3", "@openzeppelin/contracts-upgradeable": "^4.9.3", diff --git a/typescript/ccip-server/CHANGELOG.md b/typescript/ccip-server/CHANGELOG.md index 9187b81069..3688d5e885 100644 --- a/typescript/ccip-server/CHANGELOG.md +++ b/typescript/ccip-server/CHANGELOG.md @@ -1,5 +1,7 @@ # @hyperlane-xyz/ccip-server +## 8.1.0 + ## 8.0.0 ## 7.3.0 diff --git a/typescript/ccip-server/package.json b/typescript/ccip-server/package.json index 540b1d6a3e..c217320a71 100644 --- a/typescript/ccip-server/package.json +++ b/typescript/ccip-server/package.json @@ -1,6 +1,6 @@ { "name": "@hyperlane-xyz/ccip-server", - "version": "8.0.0", + "version": "8.1.0", "description": "CCIP server", "typings": "dist/index.d.ts", "typedocMain": "src/index.ts", diff --git a/typescript/cli/CHANGELOG.md b/typescript/cli/CHANGELOG.md index 460d211bf2..13195ee0f4 100644 --- a/typescript/cli/CHANGELOG.md +++ b/typescript/cli/CHANGELOG.md @@ -1,5 +1,19 @@ # @hyperlane-xyz/cli +## 8.1.0 + +### Minor Changes + +- 2d018fa7a: Fix hyperlane warp send where --origin and --destination are out of order + +### Patch Changes + +- Updated dependencies [79c61c891] +- Updated dependencies [9518dbc84] +- Updated dependencies [9ab961a79] + - @hyperlane-xyz/sdk@8.1.0 + - @hyperlane-xyz/utils@8.1.0 + ## 8.0.0 ### Minor Changes diff --git a/typescript/cli/package.json b/typescript/cli/package.json index b1796610f4..184f92b94f 100644 --- a/typescript/cli/package.json +++ b/typescript/cli/package.json @@ -1,13 +1,13 @@ { "name": "@hyperlane-xyz/cli", - "version": "8.0.0", + "version": "8.1.0", "description": "A command-line utility for common Hyperlane operations", "dependencies": { "@aws-sdk/client-kms": "^3.577.0", "@aws-sdk/client-s3": "^3.577.0", "@hyperlane-xyz/registry": "6.6.0", - "@hyperlane-xyz/sdk": "8.0.0", - "@hyperlane-xyz/utils": "8.0.0", + "@hyperlane-xyz/sdk": "8.1.0", + "@hyperlane-xyz/utils": "8.1.0", "@inquirer/core": "9.0.10", "@inquirer/figures": "1.0.5", "@inquirer/prompts": "3.3.2", diff --git a/typescript/cli/src/version.ts b/typescript/cli/src/version.ts index a7df740c2d..daf763c533 100644 --- a/typescript/cli/src/version.ts +++ b/typescript/cli/src/version.ts @@ -1 +1 @@ -export const VERSION = '8.0.0'; +export const VERSION = '8.1.0'; diff --git a/typescript/github-proxy/CHANGELOG.md b/typescript/github-proxy/CHANGELOG.md index 5545013903..8e4066e1d4 100644 --- a/typescript/github-proxy/CHANGELOG.md +++ b/typescript/github-proxy/CHANGELOG.md @@ -1,5 +1,7 @@ # @hyperlane-xyz/github-proxy +## 8.1.0 + ## 8.0.0 ## 7.3.0 diff --git a/typescript/github-proxy/package.json b/typescript/github-proxy/package.json index 698c9f4f0b..f3b15e75e0 100644 --- a/typescript/github-proxy/package.json +++ b/typescript/github-proxy/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/github-proxy", "description": "Github proxy that adds the API key to requests", - "version": "8.0.0", + "version": "8.1.0", "private": true, "scripts": { "deploy": "wrangler deploy", diff --git a/typescript/helloworld/CHANGELOG.md b/typescript/helloworld/CHANGELOG.md index 08416584c7..4cd55fc086 100644 --- a/typescript/helloworld/CHANGELOG.md +++ b/typescript/helloworld/CHANGELOG.md @@ -1,5 +1,15 @@ # @hyperlane-xyz/helloworld +## 8.1.0 + +### Patch Changes + +- Updated dependencies [79c61c891] +- Updated dependencies [9518dbc84] +- Updated dependencies [9ab961a79] + - @hyperlane-xyz/sdk@8.1.0 + - @hyperlane-xyz/core@5.9.1 + ## 8.0.0 ### Minor Changes diff --git a/typescript/helloworld/package.json b/typescript/helloworld/package.json index 54236e1f25..ad64eab492 100644 --- a/typescript/helloworld/package.json +++ b/typescript/helloworld/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/helloworld", "description": "A basic skeleton of an Hyperlane app", - "version": "8.0.0", + "version": "8.1.0", "dependencies": { - "@hyperlane-xyz/core": "5.9.0", + "@hyperlane-xyz/core": "5.9.1", "@hyperlane-xyz/registry": "6.6.0", - "@hyperlane-xyz/sdk": "8.0.0", + "@hyperlane-xyz/sdk": "8.1.0", "@openzeppelin/contracts-upgradeable": "^4.9.3", "ethers": "^5.7.2" }, diff --git a/typescript/infra/CHANGELOG.md b/typescript/infra/CHANGELOG.md index 67b7a15642..6f18e737c5 100644 --- a/typescript/infra/CHANGELOG.md +++ b/typescript/infra/CHANGELOG.md @@ -1,5 +1,21 @@ # @hyperlane-xyz/infra +## 8.1.0 + +### Minor Changes + +- 2d4963c62: Add USDC between Ink and Ethereum +- fc80df5b4: Add rstETH/ethereum-zircuit warp config + +### Patch Changes + +- Updated dependencies [79c61c891] +- Updated dependencies [9518dbc84] +- Updated dependencies [9ab961a79] + - @hyperlane-xyz/sdk@8.1.0 + - @hyperlane-xyz/helloworld@8.1.0 + - @hyperlane-xyz/utils@8.1.0 + ## 8.0.0 ### Minor Changes diff --git a/typescript/infra/package.json b/typescript/infra/package.json index 07d42bd124..b938d3a429 100644 --- a/typescript/infra/package.json +++ b/typescript/infra/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/infra", "description": "Infrastructure utilities for the Hyperlane Network", - "version": "8.0.0", + "version": "8.1.0", "dependencies": { "@arbitrum/sdk": "^4.0.0", "@aws-sdk/client-iam": "^3.74.0", @@ -13,10 +13,10 @@ "@ethersproject/hardware-wallets": "^5.7.0", "@ethersproject/providers": "*", "@google-cloud/secret-manager": "^5.5.0", - "@hyperlane-xyz/helloworld": "8.0.0", + "@hyperlane-xyz/helloworld": "8.1.0", "@hyperlane-xyz/registry": "6.6.0", - "@hyperlane-xyz/sdk": "8.0.0", - "@hyperlane-xyz/utils": "8.0.0", + "@hyperlane-xyz/sdk": "8.1.0", + "@hyperlane-xyz/utils": "8.1.0", "@inquirer/prompts": "3.3.2", "@nomiclabs/hardhat-etherscan": "^3.0.3", "@safe-global/api-kit": "1.3.0", diff --git a/typescript/sdk/CHANGELOG.md b/typescript/sdk/CHANGELOG.md index e5339996dc..52c9bf5a95 100644 --- a/typescript/sdk/CHANGELOG.md +++ b/typescript/sdk/CHANGELOG.md @@ -1,5 +1,18 @@ # @hyperlane-xyz/sdk +## 8.1.0 + +### Minor Changes + +- 9ab961a79: Deploy to new chains: artela, guru, hemi, nero, xpla. + +### Patch Changes + +- 79c61c891: Fix the return type of multisig and aggregation ISMs for zksync-stack chains. +- 9518dbc84: Enroll new validators for artela, guru, hemi, nero, soneium, torus, xpla. + - @hyperlane-xyz/utils@8.1.0 + - @hyperlane-xyz/core@5.9.1 + ## 8.0.0 ### Major Changes diff --git a/typescript/sdk/package.json b/typescript/sdk/package.json index f6cfedb947..966369a475 100644 --- a/typescript/sdk/package.json +++ b/typescript/sdk/package.json @@ -1,15 +1,15 @@ { "name": "@hyperlane-xyz/sdk", "description": "The official SDK for the Hyperlane Network", - "version": "8.0.0", + "version": "8.1.0", "dependencies": { "@arbitrum/sdk": "^4.0.0", "@aws-sdk/client-s3": "^3.577.0", "@chain-registry/types": "^0.50.14", "@cosmjs/cosmwasm-stargate": "^0.32.4", "@cosmjs/stargate": "^0.32.4", - "@hyperlane-xyz/core": "5.9.0", - "@hyperlane-xyz/utils": "8.0.0", + "@hyperlane-xyz/core": "5.9.1", + "@hyperlane-xyz/utils": "8.1.0", "@safe-global/api-kit": "1.3.0", "@safe-global/protocol-kit": "1.3.0", "@safe-global/safe-deployments": "1.37.8", diff --git a/typescript/utils/CHANGELOG.md b/typescript/utils/CHANGELOG.md index 1b8b3ef758..232c213369 100644 --- a/typescript/utils/CHANGELOG.md +++ b/typescript/utils/CHANGELOG.md @@ -1,5 +1,7 @@ # @hyperlane-xyz/utils +## 8.1.0 + ## 8.0.0 ### Minor Changes diff --git a/typescript/utils/package.json b/typescript/utils/package.json index 784886b1f7..a1c461a1de 100644 --- a/typescript/utils/package.json +++ b/typescript/utils/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/utils", "description": "General utilities and types for the Hyperlane network", - "version": "8.0.0", + "version": "8.1.0", "dependencies": { "@cosmjs/encoding": "^0.32.4", "@solana/web3.js": "^1.95.4", diff --git a/typescript/widgets/CHANGELOG.md b/typescript/widgets/CHANGELOG.md index 328d76a977..60c3b63817 100644 --- a/typescript/widgets/CHANGELOG.md +++ b/typescript/widgets/CHANGELOG.md @@ -1,5 +1,15 @@ # @hyperlane-xyz/widgets +## 8.1.0 + +### Patch Changes + +- Updated dependencies [79c61c891] +- Updated dependencies [9518dbc84] +- Updated dependencies [9ab961a79] + - @hyperlane-xyz/sdk@8.1.0 + - @hyperlane-xyz/utils@8.1.0 + ## 8.0.0 ### Minor Changes diff --git a/typescript/widgets/package.json b/typescript/widgets/package.json index 9c008450f7..11d0aad02c 100644 --- a/typescript/widgets/package.json +++ b/typescript/widgets/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/widgets", "description": "Common react components for Hyperlane projects", - "version": "8.0.0", + "version": "8.1.0", "peerDependencies": { "react": "^18", "react-dom": "^18" @@ -9,8 +9,8 @@ "dependencies": { "@cosmos-kit/react": "^2.18.0", "@headlessui/react": "^2.1.8", - "@hyperlane-xyz/sdk": "8.0.0", - "@hyperlane-xyz/utils": "8.0.0", + "@hyperlane-xyz/sdk": "8.1.0", + "@hyperlane-xyz/utils": "8.1.0", "@interchain-ui/react": "^1.23.28", "@rainbow-me/rainbowkit": "^2.2.0", "@solana/wallet-adapter-react": "^0.15.32", diff --git a/yarn.lock b/yarn.lock index 7235f71d59..471c94f7ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7321,8 +7321,8 @@ __metadata: "@ethersproject/abi": "npm:*" "@ethersproject/providers": "npm:*" "@hyperlane-xyz/registry": "npm:6.6.0" - "@hyperlane-xyz/sdk": "npm:8.0.0" - "@hyperlane-xyz/utils": "npm:8.0.0" + "@hyperlane-xyz/sdk": "npm:8.1.0" + "@hyperlane-xyz/utils": "npm:8.1.0" "@inquirer/core": "npm:9.0.10" "@inquirer/figures": "npm:1.0.5" "@inquirer/prompts": "npm:3.3.2" @@ -7361,13 +7361,13 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/core@npm:5.9.0, @hyperlane-xyz/core@workspace:solidity": +"@hyperlane-xyz/core@npm:5.9.1, @hyperlane-xyz/core@workspace:solidity": version: 0.0.0-use.local resolution: "@hyperlane-xyz/core@workspace:solidity" dependencies: "@arbitrum/nitro-contracts": "npm:^1.2.1" "@eth-optimism/contracts": "npm:^0.6.0" - "@hyperlane-xyz/utils": "npm:8.0.0" + "@hyperlane-xyz/utils": "npm:8.1.0" "@layerzerolabs/lz-evm-oapp-v2": "npm:2.0.2" "@layerzerolabs/solidity-examples": "npm:^1.1.0" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" @@ -7418,14 +7418,14 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/helloworld@npm:8.0.0, @hyperlane-xyz/helloworld@workspace:typescript/helloworld": +"@hyperlane-xyz/helloworld@npm:8.1.0, @hyperlane-xyz/helloworld@workspace:typescript/helloworld": version: 0.0.0-use.local resolution: "@hyperlane-xyz/helloworld@workspace:typescript/helloworld" dependencies: "@eslint/js": "npm:^9.15.0" - "@hyperlane-xyz/core": "npm:5.9.0" + "@hyperlane-xyz/core": "npm:5.9.1" "@hyperlane-xyz/registry": "npm:6.6.0" - "@hyperlane-xyz/sdk": "npm:8.0.0" + "@hyperlane-xyz/sdk": "npm:8.1.0" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" "@nomiclabs/hardhat-waffle": "npm:^2.0.6" "@openzeppelin/contracts-upgradeable": "npm:^4.9.3" @@ -7474,10 +7474,10 @@ __metadata: "@ethersproject/hardware-wallets": "npm:^5.7.0" "@ethersproject/providers": "npm:*" "@google-cloud/secret-manager": "npm:^5.5.0" - "@hyperlane-xyz/helloworld": "npm:8.0.0" + "@hyperlane-xyz/helloworld": "npm:8.1.0" "@hyperlane-xyz/registry": "npm:6.6.0" - "@hyperlane-xyz/sdk": "npm:8.0.0" - "@hyperlane-xyz/utils": "npm:8.0.0" + "@hyperlane-xyz/sdk": "npm:8.1.0" + "@hyperlane-xyz/utils": "npm:8.1.0" "@inquirer/prompts": "npm:3.3.2" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" "@nomiclabs/hardhat-etherscan": "npm:^3.0.3" @@ -7547,7 +7547,7 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/sdk@npm:8.0.0, @hyperlane-xyz/sdk@workspace:typescript/sdk": +"@hyperlane-xyz/sdk@npm:8.1.0, @hyperlane-xyz/sdk@workspace:typescript/sdk": version: 0.0.0-use.local resolution: "@hyperlane-xyz/sdk@workspace:typescript/sdk" dependencies: @@ -7557,8 +7557,8 @@ __metadata: "@cosmjs/cosmwasm-stargate": "npm:^0.32.4" "@cosmjs/stargate": "npm:^0.32.4" "@eslint/js": "npm:^9.15.0" - "@hyperlane-xyz/core": "npm:5.9.0" - "@hyperlane-xyz/utils": "npm:8.0.0" + "@hyperlane-xyz/core": "npm:5.9.1" + "@hyperlane-xyz/utils": "npm:8.1.0" "@nomiclabs/hardhat-ethers": "npm:^2.2.3" "@nomiclabs/hardhat-waffle": "npm:^2.0.6" "@safe-global/api-kit": "npm:1.3.0" @@ -7601,7 +7601,7 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/utils@npm:8.0.0, @hyperlane-xyz/utils@workspace:typescript/utils": +"@hyperlane-xyz/utils@npm:8.1.0, @hyperlane-xyz/utils@workspace:typescript/utils": version: 0.0.0-use.local resolution: "@hyperlane-xyz/utils@workspace:typescript/utils" dependencies: @@ -7643,8 +7643,8 @@ __metadata: "@eslint/js": "npm:^9.15.0" "@headlessui/react": "npm:^2.1.8" "@hyperlane-xyz/registry": "npm:6.6.0" - "@hyperlane-xyz/sdk": "npm:8.0.0" - "@hyperlane-xyz/utils": "npm:8.0.0" + "@hyperlane-xyz/sdk": "npm:8.1.0" + "@hyperlane-xyz/utils": "npm:8.1.0" "@interchain-ui/react": "npm:^1.23.28" "@rainbow-me/rainbowkit": "npm:^2.2.0" "@solana/wallet-adapter-react": "npm:^0.15.32" From 9574b1b4983833b3f7912a4c76363d0c3e5317f1 Mon Sep 17 00:00:00 2001 From: xeno097 Date: Tue, 14 Jan 2025 14:54:44 -0400 Subject: [PATCH 12/14] feat(infra): added the getEthereumFormUSDTWarpConfig func (#5056) ### Description Adds the warp route config getter for the USDT route on Form network associated registry PR https://github.com/hyperlane-xyz/hyperlane-registry/pull/449 ### Drive-by changes - NO ### Backward compatibility -YES ### Testing - Manual --------- Co-authored-by: nambrot --- .registryrc | 2 +- .../getEthereumFormUSDCWarpConfig.ts | 43 +++++++++++++++++++ .../getEthereumFormUSDTWarpConfig.ts | 40 +++++++++++++++++ .../environments/mainnet3/warp/warpIds.ts | 2 + typescript/infra/config/warp.ts | 4 ++ typescript/infra/src/warp/helm.ts | 2 +- 6 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDCWarpConfig.ts create mode 100644 typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDTWarpConfig.ts diff --git a/.registryrc b/.registryrc index 41ee7283ce..001391d9ac 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -9d7868fa55b97d610c9c1916d22d71d3e67b5aa8 +195c073c3c34b234c8d0aed2a16962a2d3945354 diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDCWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDCWarpConfig.ts new file mode 100644 index 0000000000..2118a3860f --- /dev/null +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDCWarpConfig.ts @@ -0,0 +1,43 @@ +import { ethers } from 'ethers'; + +import { ChainMap, HypTokenRouterConfig, TokenType } from '@hyperlane-xyz/sdk'; +import { Address } from '@hyperlane-xyz/utils'; + +import { getOwnerConfigForAddress } from '../../../../../src/config/environment.js'; +import { + RouterConfigWithoutOwner, + tokens, +} from '../../../../../src/config/warp.js'; + +// Safes from the FORM team +const safeOwners: ChainMap
= { + ethereum: '0xec5ad23e29203301B2C1a765718Cc1de7A8d3FbF', + form: '0x41B624412B529409A437f08Ef80bCabE81053650', +}; + +export const getEthereumFormUSDCWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const ethereum: HypTokenRouterConfig = { + ...routerConfig.ethereum, + ...getOwnerConfigForAddress(safeOwners.ethereum), + type: TokenType.collateral, + token: tokens.ethereum.USDC, + interchainSecurityModule: ethers.constants.AddressZero, + }; + + // FiatTokenProxy 0xFBf489bb4783D4B1B2e7D07ba39873Fb8068507D + // MasterMinter 0x9Dec8Dfafcce2d45E8FF8C7792DB1D704AB1dc9D + const form: HypTokenRouterConfig = { + ...routerConfig.form, + ...getOwnerConfigForAddress(safeOwners.form), + type: TokenType.collateralFiat, + token: '0xFBf489bb4783D4B1B2e7D07ba39873Fb8068507D', + interchainSecurityModule: ethers.constants.AddressZero, + }; + + return { + ethereum, + form, + }; +}; diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDTWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDTWarpConfig.ts new file mode 100644 index 0000000000..aa8bd4013a --- /dev/null +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getEthereumFormUSDTWarpConfig.ts @@ -0,0 +1,40 @@ +import { ethers } from 'ethers'; + +import { ChainMap, HypTokenRouterConfig, TokenType } from '@hyperlane-xyz/sdk'; +import { Address } from '@hyperlane-xyz/utils'; + +import { getOwnerConfigForAddress } from '../../../../../src/config/environment.js'; +import { + RouterConfigWithoutOwner, + tokens, +} from '../../../../../src/config/warp.js'; + +// Safes from the FORM team +const safeOwners: ChainMap
= { + ethereum: '0xec5ad23e29203301B2C1a765718Cc1de7A8d3FbF', + form: '0x41B624412B529409A437f08Ef80bCabE81053650', +}; + +export const getEthereumFormUSDTWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const ethereum: HypTokenRouterConfig = { + ...routerConfig.ethereum, + ...getOwnerConfigForAddress(safeOwners.ethereum), + type: TokenType.collateral, + token: tokens.ethereum.USDT, + interchainSecurityModule: ethers.constants.AddressZero, + }; + + const form: HypTokenRouterConfig = { + ...routerConfig.form, + ...getOwnerConfigForAddress(safeOwners.form), + type: TokenType.synthetic, + interchainSecurityModule: ethers.constants.AddressZero, + }; + + return { + ethereum, + form, + }; +}; diff --git a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts index 97655e7c6b..3c86014b4c 100644 --- a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts +++ b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts @@ -43,6 +43,8 @@ export enum WarpRouteIds { ArbitrumBaseBlastBscEthereumGnosisLiskMantleModeOptimismPolygonScrollZeroNetworkZoraMainnet = 'ETH/arbitrum-base-blast-bsc-ethereum-gnosis-lisk-mantle-mode-optimism-polygon-scroll-zeronetwork-zoramainnet', AppchainBaseUSDC = 'USDC/appchain-base', BobaBsquaredSwellUBTC = 'UBTC/boba-bsquared-swell', + EthereumFormUSDT = 'USDT/ethereum-form', + EthereumFormUSDC = 'USDC/ethereum-form', EthereumSuperseedUSDT = 'USDT/ethereum-superseed', OptimismSuperseedOP = 'OP/optimism-superseed', EthereumZircuitRstETH = 'rstETH/ethereum-zircuit', diff --git a/typescript/infra/config/warp.ts b/typescript/infra/config/warp.ts index e15ec37e71..f01ea7edc5 100644 --- a/typescript/infra/config/warp.ts +++ b/typescript/infra/config/warp.ts @@ -33,6 +33,8 @@ import { getEclipseStrideTiaWarpConfig } from './environments/mainnet3/warp/conf import { getEclipseStrideStTiaWarpConfig } from './environments/mainnet3/warp/configGetters/getEclipseStrideTIAWarpConfig.js'; import { getEthereumBscLUMIAWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumBscLumiaLUMIAWarpConfig.js'; import { getEthereumFlowCbBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumFlowCbBTCWarpConfig.js'; +import { getEthereumFormUSDCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumFormUSDCWarpConfig.js'; +import { getEthereumFormUSDTWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumFormUSDTWarpConfig.js'; import { getEthereumFormWBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumFormWBTCWarpConfig.js'; import { getEthereumFormWSTETHWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumFormWSTETHWarpConfig.js'; import { getEthereumInevmUSDCWarpConfig } from './environments/mainnet3/warp/configGetters/getEthereumInevmUSDCWarpConfig.js'; @@ -100,6 +102,8 @@ export const warpConfigGetterMap: Record = { [WarpRouteIds.AppchainBaseUSDC]: getAppChainBaseUSDCWarpConfig, [WarpRouteIds.BobaBsquaredSwellUBTC]: getBobaBsquaredSwellUBTCWarpConfig, [WarpRouteIds.EthereumZircuitRe7LRT]: getEthereumZircuitRe7LRTWarpConfig, + [WarpRouteIds.EthereumFormUSDT]: getEthereumFormUSDTWarpConfig, + [WarpRouteIds.EthereumFormUSDC]: getEthereumFormUSDCWarpConfig, [WarpRouteIds.EthereumSuperseedUSDT]: getEthereumSuperseedUSDTConfig, [WarpRouteIds.OptimismSuperseedOP]: getOptimismSuperseedOPConfig, [WarpRouteIds.EthereumZircuitRstETH]: getEthereumZircuitRstETHWarpConfig, diff --git a/typescript/infra/src/warp/helm.ts b/typescript/infra/src/warp/helm.ts index 830e8f3e81..42d3b957c2 100644 --- a/typescript/infra/src/warp/helm.ts +++ b/typescript/infra/src/warp/helm.ts @@ -28,7 +28,7 @@ export class WarpRouteMonitorHelmManager extends HelmManager { return { image: { repository: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', - tag: '98f8c26-20250110-182641', + tag: '702c800-20250113-210127', }, warpRouteId: this.warpRouteId, fullnameOverride: this.helmReleaseName, From aad2c2d1ed79364703a7e93daa2171c73a02a312 Mon Sep 17 00:00:00 2001 From: ljankovic-txfusion <131957285+ljankovic-txfusion@users.noreply.github.com> Date: Wed, 15 Jan 2025 01:51:02 +0100 Subject: [PATCH 13/14] fix(cli): missing single chain resolver (#5156) ### Description - Removed `SingleChainResolver` in favor of a single MultiChainResolver class - Fixed chain resolution logic to properly handle: - Single chain selection via `argv.chain` - Multiple chain selection via `argv.chains` - Added proper handling for empty chain arrays to prevent unexpected behavior ### Drive-by changes ### Related issues None ### Backward compatibility Yes ### Testing Manual --------- Co-authored-by: Morteza Shojaei <31728528+mortezashojaei@users.noreply.github.com> Co-authored-by: mshojaei-txfusion <138107084+mshojaei-txfusion@users.noreply.github.com> --- .changeset/violet-knives-drop.md | 5 ++++ .../strategies/chain/MultiChainResolver.ts | 14 +++++++---- .../strategies/chain/SingleChainResolver.ts | 25 ------------------- 3 files changed, 14 insertions(+), 30 deletions(-) create mode 100644 .changeset/violet-knives-drop.md delete mode 100644 typescript/cli/src/context/strategies/chain/SingleChainResolver.ts diff --git a/.changeset/violet-knives-drop.md b/.changeset/violet-knives-drop.md new file mode 100644 index 0000000000..24320605a0 --- /dev/null +++ b/.changeset/violet-knives-drop.md @@ -0,0 +1,5 @@ +--- +'@hyperlane-xyz/cli': minor +--- + +Fixing the chain resolver checks and handling for argv.chain diff --git a/typescript/cli/src/context/strategies/chain/MultiChainResolver.ts b/typescript/cli/src/context/strategies/chain/MultiChainResolver.ts index 8563e9e5d9..2bdd6f3d1a 100644 --- a/typescript/cli/src/context/strategies/chain/MultiChainResolver.ts +++ b/typescript/cli/src/context/strategies/chain/MultiChainResolver.ts @@ -138,16 +138,20 @@ export class MultiChainResolver implements ChainResolver { chains.push(argv.destination); } - if (!argv.chains) { - return Array.from( - new Set([...chains, ...this.getEvmChains(multiProvider)]), - ); + if (argv.chain) { + chains.push(argv.chain); + } + + if (!argv.chains && chains.length === 0) { + return Array.from(this.getEvmChains(multiProvider)); } return Array.from( new Set([ ...chains, - ...argv.chains.split(',').map((item: string) => item.trim()), + ...(argv.chains + ? argv.chains.split(',').map((item: string) => item.trim()) + : []), ]), ); } diff --git a/typescript/cli/src/context/strategies/chain/SingleChainResolver.ts b/typescript/cli/src/context/strategies/chain/SingleChainResolver.ts deleted file mode 100644 index 8dddaf3c4a..0000000000 --- a/typescript/cli/src/context/strategies/chain/SingleChainResolver.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ChainMap, ChainName } from '@hyperlane-xyz/sdk'; - -import { runSingleChainSelectionStep } from '../../../utils/chains.js'; - -import { ChainResolver } from './types.js'; - -/** - * @title SingleChainResolver - * @notice Strategy implementation for managing single-chain operations - * @dev Primarily used for operations like 'core:apply' and 'warp:read' - */ -export class SingleChainResolver implements ChainResolver { - /** - * @notice Determines the chain to be used for signing operations - * @dev Either uses the chain specified in argv or prompts for interactive selection - */ - async resolveChains(argv: ChainMap): Promise { - argv.chain ||= await runSingleChainSelectionStep( - argv.context.chainMetadata, - 'Select chain to connect:', - ); - - return [argv.chain]; // Explicitly return as single-item array - } -} From 28becff74f8b98ca87244050a2e5875d4c38bc34 Mon Sep 17 00:00:00 2001 From: Jason Guo <33064781+Xaroz@users.noreply.github.com> Date: Tue, 14 Jan 2025 19:05:09 -0600 Subject: [PATCH 14/14] feat: artela-base warp route configs (#5169) ### Description - Add `USDC/artela-base` warp route config - Add `WETH/artela-base` warp route config [Related registry PR](https://github.com/hyperlane-xyz/hyperlane-registry/pull/488) ### Drive-by changes No ### Related issues ### Backward compatibility Yes ### Testing CLI --- .changeset/flat-lamps-deliver.md | 5 +++ .registryrc | 2 +- rust/main/config/mainnet_config.json | 2 +- .../getArtelaBaseUSDCWarpConfig.ts | 38 +++++++++++++++++++ .../getArtelaBaseWETHWarpConfig.ts | 38 +++++++++++++++++++ .../environments/mainnet3/warp/warpIds.ts | 2 + typescript/infra/config/warp.ts | 4 ++ typescript/infra/src/config/warp.ts | 1 + typescript/infra/src/warp/helm.ts | 2 +- 9 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 .changeset/flat-lamps-deliver.md create mode 100644 typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseUSDCWarpConfig.ts create mode 100644 typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseWETHWarpConfig.ts diff --git a/.changeset/flat-lamps-deliver.md b/.changeset/flat-lamps-deliver.md new file mode 100644 index 0000000000..bca1b390b8 --- /dev/null +++ b/.changeset/flat-lamps-deliver.md @@ -0,0 +1,5 @@ +--- +'@hyperlane-xyz/infra': minor +--- + +Add Artela/Base USDC and WETH warp route config diff --git a/.registryrc b/.registryrc index 001391d9ac..1cc1eb1ad9 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -195c073c3c34b234c8d0aed2a16962a2d3945354 +47aba98bdd78ecb5a3f756dca6dc2e28325bab43 diff --git a/rust/main/config/mainnet_config.json b/rust/main/config/mainnet_config.json index 4aa9b27a4b..bc430715e1 100644 --- a/rust/main/config/mainnet_config.json +++ b/rust/main/config/mainnet_config.json @@ -7372,7 +7372,7 @@ "blockExplorers": [ { "apiUrl": "https://artscan.artela.network/api", - "family": "other", + "family": "blockscout", "name": "Artela Explorer", "url": "https://artscan.artela.network" } diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseUSDCWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseUSDCWarpConfig.ts new file mode 100644 index 0000000000..43f1238608 --- /dev/null +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseUSDCWarpConfig.ts @@ -0,0 +1,38 @@ +import { ethers } from 'ethers'; + +import { ChainMap, HypTokenRouterConfig, TokenType } from '@hyperlane-xyz/sdk'; + +import { + RouterConfigWithoutOwner, + tokens, +} from '../../../../../src/config/warp.js'; + +const artelaOwner = '0x801e8135867D65e742eb070A9fC0aD9c2f69B4cd'; +const baseOwner = '0x801e8135867D65e742eb070A9fC0aD9c2f69B4cd'; + +const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM + +export const getArtelaBaseUSDCWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const artela: HypTokenRouterConfig = { + ...routerConfig.artela, + owner: artelaOwner, + type: TokenType.synthetic, + symbol: 'USDC.a', + interchainSecurityModule: ISM_CONFIG, + }; + + const base: HypTokenRouterConfig = { + ...routerConfig.base, + owner: baseOwner, + type: TokenType.collateral, + token: tokens.base.USDC, + interchainSecurityModule: ISM_CONFIG, + }; + + return { + artela, + base, + }; +}; diff --git a/typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseWETHWarpConfig.ts b/typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseWETHWarpConfig.ts new file mode 100644 index 0000000000..06756c06e4 --- /dev/null +++ b/typescript/infra/config/environments/mainnet3/warp/configGetters/getArtelaBaseWETHWarpConfig.ts @@ -0,0 +1,38 @@ +import { ethers } from 'ethers'; + +import { ChainMap, HypTokenRouterConfig, TokenType } from '@hyperlane-xyz/sdk'; + +import { + RouterConfigWithoutOwner, + tokens, +} from '../../../../../src/config/warp.js'; + +const artelaOwner = '0x801e8135867D65e742eb070A9fC0aD9c2f69B4cd'; +const baseOwner = '0x801e8135867D65e742eb070A9fC0aD9c2f69B4cd'; + +const ISM_CONFIG = ethers.constants.AddressZero; // Default ISM + +export const getArtelaBaseWETHWarpConfig = async ( + routerConfig: ChainMap, +): Promise> => { + const artela: HypTokenRouterConfig = { + ...routerConfig.artela, + owner: artelaOwner, + type: TokenType.synthetic, + symbol: 'WETH.a', + interchainSecurityModule: ISM_CONFIG, + }; + + const base: HypTokenRouterConfig = { + ...routerConfig.base, + owner: baseOwner, + type: TokenType.collateral, + token: tokens.base.WETH, + interchainSecurityModule: ISM_CONFIG, + }; + + return { + artela, + base, + }; +}; diff --git a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts index 3c86014b4c..00e8dbd882 100644 --- a/typescript/infra/config/environments/mainnet3/warp/warpIds.ts +++ b/typescript/infra/config/environments/mainnet3/warp/warpIds.ts @@ -52,6 +52,8 @@ export enum WarpRouteIds { EthereumFormWSTETH = 'WSTETH/ethereum-form', BaseFormAIXBT = 'AIXBT/base-form', BaseFormGAME = 'GAME/base-form', + ArtelaBaseUSDC = 'USDC/artela-base', + ArtelaBaseWETH = 'WETH/artela-base', SolanaSoonBonk = 'Bonk/solanamainnet-soon', SolanaSoonSOL = 'SOL/solanamainnet-soon', } diff --git a/typescript/infra/config/warp.ts b/typescript/infra/config/warp.ts index f01ea7edc5..05cc0bf9ad 100644 --- a/typescript/infra/config/warp.ts +++ b/typescript/infra/config/warp.ts @@ -20,6 +20,8 @@ import { getArbitrumEthereumMantleModePolygonScrollZeroNetworkUSDTWarpConfig } f 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 { getArtelaBaseUSDCWarpConfig } from './environments/mainnet3/warp/configGetters/getArtelaBaseUSDCWarpConfig.js'; +import { getArtelaBaseWETHWarpConfig } from './environments/mainnet3/warp/configGetters/getArtelaBaseWETHWarpConfig.js'; import { getBaseFormAIXBTWarpConfig } from './environments/mainnet3/warp/configGetters/getBaseFormAIXBTWarpConfig.js'; import { getBaseFormGAMEWarpConfig } from './environments/mainnet3/warp/configGetters/getBaseFormGAMEWarpConfig.js'; import { getBaseZeroNetworkCBBTCWarpConfig } from './environments/mainnet3/warp/configGetters/getBaseZeroNetworkCBBTCWarpConfig.js'; @@ -111,6 +113,8 @@ export const warpConfigGetterMap: Record = { [WarpRouteIds.EthereumFormWSTETH]: getEthereumFormWSTETHWarpConfig, [WarpRouteIds.BaseFormAIXBT]: getBaseFormAIXBTWarpConfig, [WarpRouteIds.BaseFormGAME]: getBaseFormGAMEWarpConfig, + [WarpRouteIds.ArtelaBaseUSDC]: getArtelaBaseUSDCWarpConfig, + [WarpRouteIds.ArtelaBaseWETH]: getArtelaBaseWETHWarpConfig, }; export async function getWarpConfig( diff --git a/typescript/infra/src/config/warp.ts b/typescript/infra/src/config/warp.ts index 1660b54dd9..8ff0b53554 100644 --- a/typescript/infra/src/config/warp.ts +++ b/typescript/infra/src/config/warp.ts @@ -26,6 +26,7 @@ export const tokens: ChainMap> = { USDC: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', AIXBT: '0x4F9Fd6Be4a90f2620860d680c0d4d5Fb53d1A825', GAME: '0x1C4CcA7C5DB003824208aDDA61Bd749e55F463a3', + WETH: '0x4200000000000000000000000000000000000006', }, bsquared: { uBTC: '0x796e4D53067FF374B89b2Ac101ce0c1f72ccaAc2', diff --git a/typescript/infra/src/warp/helm.ts b/typescript/infra/src/warp/helm.ts index 42d3b957c2..5ef21a3f3b 100644 --- a/typescript/infra/src/warp/helm.ts +++ b/typescript/infra/src/warp/helm.ts @@ -28,7 +28,7 @@ export class WarpRouteMonitorHelmManager extends HelmManager { return { image: { repository: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', - tag: '702c800-20250113-210127', + tag: 'b18ab47-20250114-203624', }, warpRouteId: this.warpRouteId, fullnameOverride: this.helmReleaseName,