diff --git a/script/Release.s.sol b/script/Release.s.sol index a02653ea6a..eedce7423b 100644 --- a/script/Release.s.sol +++ b/script/Release.s.sol @@ -2,8 +2,6 @@ pragma solidity ^0.8.12; import "./utils/Releasoor.s.sol"; -import "./utils/TxBuilder.sol"; -import "./utils/AddressUtils.sol"; import "./utils/Encoders.sol"; contract Snake { @@ -70,7 +68,7 @@ contract Release_X is Releasoor { // emit log_named_bytes("calldata_to_timelock_executing_action", calldata_to_timelock_executing_action); // } - function queueUpgrade(Addresses memory addrs) public override { + function queueUpgrade(Addresses memory addrs) public override returns (Tx[] memory, uint eta) { Txs storage txs = _newTxs(); txs.append({ @@ -102,6 +100,8 @@ contract Release_X is Releasoor { }); emit log_named_bytes("calldata_to_timelock_queueing_action", calldata_to_timelock_queueing_action); + + return (txs.toArray(), 0); } function executeUpgrade(Addresses memory addrs) public override { diff --git a/script/Release_Template.s.sol b/script/Release_Template.s.sol new file mode 100644 index 0000000000..67fe04b241 --- /dev/null +++ b/script/Release_Template.s.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity ^0.8.12; + +import "./utils/Releasoor.s.sol"; + +contract Release_TEMPLATE is Releasoor { + + using TxBuilder for *; + using AddressUtils for *; + + function deploy(Addresses memory addrs) public virtual { + + } + + function queueUpgrade(Addresses memory addrs) public virtual returns (Tx[] memory, uint eta) { + + } + + function executeUpgrade(Addresses memory addrs) public virtual { + + } +} \ No newline at end of file diff --git a/script/utils/AddressUtils.sol b/script/utils/AddressUtils.sol index 8f48f8d6c8..018c056a5e 100644 --- a/script/utils/AddressUtils.sol +++ b/script/utils/AddressUtils.sol @@ -64,15 +64,18 @@ library AddressUtils { } function updateFromPending(TUPInfo memory info) internal pure { - info.pendingImpl = getPending(info); + info.impl = getPending(info); + info.pendingImpl = address(0); } function updateFromPending(BeaconInfo memory info) internal pure { - info.pendingImpl = getPending(info); + info.impl = getPending(info); + info.pendingImpl = address(0); } function updateFromPending(TokenInfo memory info) internal pure { - info.pendingImpl = getPending(info); + info.impl = getPending(info); + info.pendingImpl = address(0); } function getPending(TUPInfo memory info) internal pure returns (address) { diff --git a/script/utils/Releasoor.s.sol b/script/utils/Releasoor.s.sol index 5cc5887c7e..7048997cf2 100644 --- a/script/utils/Releasoor.s.sol +++ b/script/utils/Releasoor.s.sol @@ -6,7 +6,7 @@ import "forge-std/Test.sol"; import "./ConfigParser.sol"; import "./StringUtils.sol"; -import {TUPInfo, BeaconInfo, TokenInfo, Addresses} from "./AddressUtils.sol"; +import "./AddressUtils.sol"; import "./TxBuilder.sol"; contract Releasoor is ConfigParser { @@ -101,7 +101,7 @@ contract Releasoor is ConfigParser { revert("deploy not implemented"); } - function queueUpgrade(Addresses memory addrs) public virtual { + function queueUpgrade(Addresses memory addrs) public virtual returns (Tx[] memory, uint eta) { revert("queueUpgrade not implemented"); } @@ -112,7 +112,7 @@ contract Releasoor is ConfigParser { function _newTxs() internal returns (Txs storage) { Txs storage txs = transactions[txsCount]; txsCount++; - + return txs; }