From 11af1ccb4ba671543084d1d5b99dfddf4749670f Mon Sep 17 00:00:00 2001 From: David Date: Thu, 22 Feb 2024 12:26:46 +0800 Subject: [PATCH] feat(protocol): update `SetRemoteBridgeSuites` to register remote signal services (#15982) --- packages/protocol/script/SetRemoteBridgeSuites.s.sol | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/protocol/script/SetRemoteBridgeSuites.s.sol b/packages/protocol/script/SetRemoteBridgeSuites.s.sol index 150739225f1..8bb18397cc8 100644 --- a/packages/protocol/script/SetRemoteBridgeSuites.s.sol +++ b/packages/protocol/script/SetRemoteBridgeSuites.s.sol @@ -23,6 +23,7 @@ contract SetRemoteBridgeSuites is DeployCapability { address public timelockAddress = vm.envAddress("TIMELOCK_ADDRESS"); address public addressManagerAddress = vm.envAddress("ADDRESS_MANAGER_ADDRESS"); uint256[] public remoteChainIDs = vm.envUint("REMOTE_CHAIN_IDS", ","); + address[] public remoteSignalServices = vm.envAddress("REMOTE_SIGNAL_SERVICES", ","); address[] public remoteBridges = vm.envAddress("REMOTE_BRIDGES", ","); address[] public remoteERC20Vaults = vm.envAddress("REMOTE_ERC20_VAULTS", ","); address[] public remoteERC721Vaults = vm.envAddress("REMOTE_ERC721_VAULTS", ","); @@ -32,6 +33,10 @@ contract SetRemoteBridgeSuites is DeployCapability { require( remoteChainIDs.length == remoteBridges.length, "invalid remote bridge addresses length" ); + require( + remoteChainIDs.length == remoteSignalServices.length, + "invalid remote SignalService addresses length" + ); require( remoteChainIDs.length == remoteERC20Vaults.length, "invalid remote ERC20Vault addresses length" @@ -51,6 +56,7 @@ contract SetRemoteBridgeSuites is DeployCapability { uint64 chainid = uint64(remoteChainIDs[i]); if (securityCouncilPrivateKey == 0) { + register(addressManagerAddress, "signal_service", remoteSignalServices[i], chainid); register(addressManagerAddress, "bridge", remoteBridges[i], chainid); register(addressManagerAddress, "erc20_vault", remoteERC20Vaults[i], chainid); register(addressManagerAddress, "erc721_vault", remoteERC721Vaults[i], chainid); @@ -58,6 +64,9 @@ contract SetRemoteBridgeSuites is DeployCapability { continue; } + registerByTimelock( + addressManagerAddress, "signal_service", remoteSignalServices[i], chainid + ); registerByTimelock(addressManagerAddress, "bridge", remoteBridges[i], chainid); registerByTimelock(addressManagerAddress, "erc20_vault", remoteERC20Vaults[i], chainid); registerByTimelock(