diff --git a/contract_manager/scripts/deploy_evm_executor.ts b/contract_manager/scripts/deploy_evm_executor_contracts.ts similarity index 100% rename from contract_manager/scripts/deploy_evm_executor.ts rename to contract_manager/scripts/deploy_evm_executor_contracts.ts diff --git a/contract_manager/store/chains/EvmChains.json b/contract_manager/store/chains/EvmChains.json index d79ae960e3..72d2568c5d 100644 --- a/contract_manager/store/chains/EvmChains.json +++ b/contract_manager/store/chains/EvmChains.json @@ -1279,5 +1279,19 @@ "rpcUrl": "https://rpc.camp.raas.gelato.cloud", "networkId": 484, "type": "EvmChain" + }, + { + "id": "ethereal_devnet", + "mainnet": false, + "rpcUrl": "https://rpc-ethereal-devnet-0.t.conduit.xyz/", + "networkId": 13374201, + "type": "EvmChain" + }, + { + "id": "ethereal_testnet_v2", + "mainnet": false, + "rpcUrl": "https://rpc-ethereal-testnet-0.t.conduit.xyz", + "networkId": 13374202, + "type": "EvmChain" } ] diff --git a/contract_manager/store/contracts/EvmExecutorContracts.json b/contract_manager/store/contracts/EvmExecutorContracts.json index 0de09ccf4c..824a1c63c0 100644 --- a/contract_manager/store/contracts/EvmExecutorContracts.json +++ b/contract_manager/store/contracts/EvmExecutorContracts.json @@ -208,5 +208,15 @@ "chain": "polynomial", "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509", "type": "EvmExecutorContract" + }, + { + "chain": "ethereal_devnet", + "address": "0x2880aB155794e7179c9eE2e38200202908C17B43", + "type": "EvmExecutorContract" + }, + { + "chain": "ethereal_testnet_v2", + "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc", + "type": "EvmExecutorContract" } -] +] \ No newline at end of file diff --git a/contract_manager/store/contracts/EvmWormholeContracts.json b/contract_manager/store/contracts/EvmWormholeContracts.json index 1ca01db1ba..d672ab5342 100644 --- a/contract_manager/store/contracts/EvmWormholeContracts.json +++ b/contract_manager/store/contracts/EvmWormholeContracts.json @@ -848,5 +848,15 @@ "chain": "camp_network", "address": "0xb27e5ca259702f209a29225d0eDdC131039C9933", "type": "EvmWormholeContract" + }, + { + "chain": "ethereal_devnet", + "address": "0xb27e5ca259702f209a29225d0eDdC131039C9933", + "type": "EvmWormholeContract" + }, + { + "chain": "ethereal_testnet_v2", + "address": "0x66E9cBa5529824a03B5Bc9931d9c63637101D0F7", + "type": "EvmWormholeContract" } ] \ No newline at end of file diff --git a/governance/xc_admin/packages/xc_admin_common/src/chains.ts b/governance/xc_admin/packages/xc_admin_common/src/chains.ts index 147e15d061..0b2fd22685 100644 --- a/governance/xc_admin/packages/xc_admin_common/src/chains.ts +++ b/governance/xc_admin/packages/xc_admin_common/src/chains.ts @@ -249,6 +249,8 @@ export const RECEIVER_CHAINS = { hemi_testnet: 50125, injective_evm_testnet: 50126, ethereal_testnet: 50127, + ethereal_devnet: 50128, + ethereal_testnet_v2: 50129, }; // If there is any overlapping value the receiver chain will replace the wormhole diff --git a/lazer/contracts/evm/.gitignore b/lazer/contracts/evm/.gitignore index 85198aaa55..4bca76c82d 100644 --- a/lazer/contracts/evm/.gitignore +++ b/lazer/contracts/evm/.gitignore @@ -6,6 +6,7 @@ out/ !/broadcast /broadcast/*/31337/ /broadcast/**/dry-run/ +/broadcast/** # Docs docs/ diff --git a/lazer/contracts/evm/script/PythLazerChangeOwnership.s.sol b/lazer/contracts/evm/script/PythLazerChangeOwnership.s.sol index b9dcbc7773..b806251297 100644 --- a/lazer/contracts/evm/script/PythLazerChangeOwnership.s.sol +++ b/lazer/contracts/evm/script/PythLazerChangeOwnership.s.sol @@ -30,7 +30,7 @@ contract PythLazerChangeOwnership is Script { address(0xACeA761c27A909d4D3895128EBe6370FDE2dF481); // Private key of the current owner, loaded from environment variable - uint256 public OLD_OWNER_PRIVATE_KEY = vm.envUint("DEPLOYER_PRIVATE_KEY"); + uint256 public OLD_OWNER_PRIVATE_KEY = vm.envUint("PK"); // Current owner address, derived from private key address public OLD_OWNER = vm.addr(OLD_OWNER_PRIVATE_KEY); // Address of the new owner (should be the deployed executor contract) @@ -47,18 +47,23 @@ contract PythLazerChangeOwnership is Script { // Get the PythLazer contract instance at the proxy address PythLazer lazer = PythLazer(LAZER_PROXY_ADDRESS); + // Start broadcasting transactions as the old owner vm.startBroadcast(OLD_OWNER_PRIVATE_KEY); + // Ensure the current owner matches the expected old owner require(lazer.owner() == OLD_OWNER, "Old owner mismatch"); + // Transfer ownership to the new owner (executor contract) lazer.transferOwnership(NEW_OWNER); console.log("Ownership transferred"); + // Log the new owner for verification console.log( "New Lazer owner: %s", PythLazer(LAZER_PROXY_ADDRESS).owner() ); + // Stop broadcasting vm.stopBroadcast(); }