From 223c87edd9ea821db1685b16c6432a0f969f3388 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Tue, 5 Dec 2023 11:44:02 +0700 Subject: [PATCH] chore: add migration script for ronin-mainnet --- ...123_UpgradeAuctionClaimUnbiddedNames.s.sol | 12 +++++---- .../20231205_MainnetConfig.s.sol | 15 +++++++++++ ...gradeRNSAuctionAndDeployRNSOperation.s.sol | 26 +++++++++++++++++++ script/RNSDeploy.s.sol | 1 + 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_MainnetConfig.s.sol create mode 100644 script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_UpgradeRNSAuctionAndDeployRNSOperation.s.sol diff --git a/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol b/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol index ef1b5605..b972e2a9 100644 --- a/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol +++ b/script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol @@ -45,16 +45,18 @@ contract Migration__20231123_UpgradeAuctionClaimeUnbiddedNames is RNSDeploy { } vm.revertTo(snapshotId); - uint256 firstFailId; + uint256 firstFailId = type(uint256).max; for (uint256 i; i < domainAuctions.length; ++i) { if (domainAuctions[i].bid.bidder != address(0x0)) { firstFailId = reservedIds[i]; break; } } - // !allowFailure - vm.prank(operator); - vm.expectRevert(abi.encodeWithSelector(INSAuction.AlreadyBidding.selector, firstFailId)); - claimeds = auction.bulkClaimUnbiddedNames(tos, reservedIds, false); + if (firstFailId != type(uint256).max) { + // !allowFailure + vm.prank(operator); + vm.expectRevert(abi.encodeWithSelector(INSAuction.AlreadyBidding.selector, firstFailId)); + claimeds = auction.bulkClaimUnbiddedNames(tos, reservedIds, false); + } } } diff --git a/script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_MainnetConfig.s.sol b/script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_MainnetConfig.s.sol new file mode 100644 index 00000000..2b012834 --- /dev/null +++ b/script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_MainnetConfig.s.sol @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { Network, RNSDeploy } from "script/RNSDeploy.s.sol"; + +abstract contract Config__Mainnet20231205 is RNSDeploy { + function _buildMigrationConfig() internal view virtual override returns (Config memory config) { + config = super._buildMigrationConfig(); + if (_network == Network.RoninMainnet) { + config.rnsOperationOwner = 0x1FF1edE0242317b8C4229fC59E64DD93952019ef; + } else { + revert("Missing config"); + } + } +} diff --git a/script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_UpgradeRNSAuctionAndDeployRNSOperation.s.sol b/script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_UpgradeRNSAuctionAndDeployRNSOperation.s.sol new file mode 100644 index 00000000..14b7f9ba --- /dev/null +++ b/script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_UpgradeRNSAuctionAndDeployRNSOperation.s.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { ContractKey } from "foundry-deployment-kit/configs/ContractConfig.sol"; +import { Network, Config__Mainnet20231205 } from "script/20231205-deploy-upgrade-auction-and-deploy-rns-operation/20231205_MainnetConfig.s.sol"; +import { Migration__20231123_UpgradeAuctionClaimeUnbiddedNames as UpgradeAuctionScript } from "script/20231123-upgrade-auction-claim-unbidded-names/20231123_UpgradeAuctionClaimUnbiddedNames.s.sol"; +import { RNSOperation, Migration__20231124_DeployRNSOperation as DeployRNSOperationScript } from "script/20231124-deploy-rns-operation/20231124_DeployRNSOperation.s.sol"; + +contract Migration__20231205_UpgradeRNSAuctionAndDeployRNSOperation is Config__Mainnet20231205 { + function run() public trySetUp onMainnet { + Config memory config = getConfig(); + + // upgrade rns auction contract + new UpgradeAuctionScript().run(); + // deploy rns operation contract + new DeployRNSOperationScript().run(); + + RNSOperation rnsOperation = RNSOperation(_config.getAddressFromCurrentNetwork(ContractKey.RNSOperation)); + + // transfer owner ship for RNSOperation + vm.broadcast(rnsOperation.owner()); + rnsOperation.transferOwnership(config.rnsOperationOwner); + + assertTrue(rnsOperation.owner() == config.rnsOperationOwner); + } +} diff --git a/script/RNSDeploy.s.sol b/script/RNSDeploy.s.sol index 609cca7d..dcdbd06a 100644 --- a/script/RNSDeploy.s.sol +++ b/script/RNSDeploy.s.sol @@ -13,6 +13,7 @@ abstract contract RNSDeploy is BaseDeploy { address controller; uint8 minWord; uint8 maxWord; + address rnsOperationOwner; address operator; address[] controllerOperators; address[] auctionOperators;