diff --git a/Makefile b/Makefile index 3fa3a45..67cd3bb 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,7 @@ deploy-optimism :; forge script script/DeployTransparentProxyFactory.s.sol:Deplo deploy-arbitrum :; forge script script/DeployTransparentProxyFactory.s.sol:DeployArbitrum --rpc-url arbitrum --broadcast --legacy --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --verify -vvvv deploy-zksync :; FOUNDRY_PROFILE=zksync forge script zksync/script/DeployTransparentProxyFactoryZkSync.s.sol:DeployZkSync --zksync --system-mode=true --rpc-url zksync --broadcast --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --verify -vvvv deploy-xlayer :; forge script script/DeployTransparentProxyFactory.s.sol:DeployTransparentProxyFactory --rpc-url xlayer --broadcast --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --verify --legacy -vvvv +deploy-megaeth :; forge script script/DeployTransparentProxyFactory.s.sol:DeployTransparentProxyFactory --rpc-url megaeth --broadcast --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --verify --legacy -vvvv --skip-simulation # ---------------------------------------------- BASE SCRIPT CONFIGURATION --------------------------------------------- BASE_LEDGER = --ledger --mnemonic-indexes $(MNEMONIC_INDEX) --sender $(LEDGER_SENDER) diff --git a/foundry.toml b/foundry.toml index a8771b3..fea45a2 100644 --- a/foundry.toml +++ b/foundry.toml @@ -62,6 +62,7 @@ linea = "${RPC_LINEA}" soneium = "${RPC_SONEIUM}" bob = "${RPC_BOB}" xlayer = "${RPC_XLAYER}" +megaeth = "${RPC_MEGAETH}" [fuzz] no_zksync_reserved_addresses = true diff --git a/src/contracts/utils/ChainHelpers.sol b/src/contracts/utils/ChainHelpers.sol index 0e5f68b..52d33ab 100644 --- a/src/contracts/utils/ChainHelpers.sol +++ b/src/contracts/utils/ChainHelpers.sol @@ -30,6 +30,7 @@ library ChainIds { uint256 internal constant PLASMA = 9745; uint256 internal constant XLAYER = 196; uint256 internal constant ANVIL = 31337; + uint256 internal constant MEGAETH = 4326; } library TestNetChainIds { @@ -54,6 +55,7 @@ library TestNetChainIds { uint256 internal constant BOB_SEPOLIA = 808813; uint256 internal constant PLASMA_TESTNET = 9746; uint256 internal constant XLAYER_TESTNET = 1952; + uint256 internal constant MEGAETH_TESTNET = 6342; } library ChainHelpers { @@ -113,6 +115,8 @@ library ChainHelpers { newFork = vm.createSelectFork(vm.rpcUrl('plasma')); } else if (chainId == ChainIds.XLAYER) { newFork = vm.createSelectFork(vm.rpcUrl('xlayer')); + } else if (chainId == ChainIds.MEGAETH) { + newFork = vm.createSelectFork(vm.rpcUrl('megaeth')); } else { revert UnknownChainId(); } @@ -163,6 +167,8 @@ library ChainHelpers { networkName = 'plasma'; } else if (chainId == ChainIds.XLAYER) { networkName = 'xlayer'; + } else if (chainId == ChainIds.MEGAETH) { + networkName = 'megaeth'; } // testnets else if (chainId == TestNetChainIds.ETHEREUM_SEPOLIA) { @@ -203,6 +209,8 @@ library ChainHelpers { networkName = 'plasma_testnet'; } else if (chainId == TestNetChainIds.XLAYER_TESTNET) { networkName = 'xlayer_testnet'; + } else if (chainId == TestNetChainIds.MEGAETH_TESTNET) { + networkName = 'megaeth_testnet'; } else { revert('chain id is not supported'); }