From d1f7cd27b3ac2fde58022dfbe9d8c28ff2fa541b Mon Sep 17 00:00:00 2001 From: anikaraghu Date: Thu, 11 Jan 2024 19:53:18 -0800 Subject: [PATCH 1/2] Fix compile issue --- script/universal/MultisigBase.sol | 5 +++-- script/universal/MultisigBuilder.sol | 4 ++-- script/universal/NestedMultisigBuilder.sol | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/script/universal/MultisigBase.sol b/script/universal/MultisigBase.sol index d945938..4d3b14c 100644 --- a/script/universal/MultisigBase.sol +++ b/script/universal/MultisigBase.sol @@ -28,8 +28,9 @@ abstract contract MultisigBase is Simulator { uint256 nonce = safe.nonce(); console.log("Safe current nonce:", nonce); - if (bytes(vm.envOr("SAFE_NONCE", "")).length > 0) { - nonce = vm.envUint("SAFE_NONCE"); + uint256 providedNonce = vm.envOr("SAFE_NONCE", nonce); + if (providedNonce > nonce) { + nonce = providedNonce; console.log("Creating transaction with nonce:", nonce); } diff --git a/script/universal/MultisigBuilder.sol b/script/universal/MultisigBuilder.sol index 5d45173..70a8878 100644 --- a/script/universal/MultisigBuilder.sol +++ b/script/universal/MultisigBuilder.sol @@ -25,12 +25,12 @@ abstract contract MultisigBuilder is MultisigBase { /** * @notice Creates the calldata */ - function _buildCalls() internal virtual view returns (IMulticall3.Call3[] memory); + function _buildCalls() internal virtual pure returns (IMulticall3.Call3[] memory); /** * @notice Returns the safe address to execute the transaction from */ - function _ownerSafe() internal virtual view returns (address); + function _ownerSafe() internal virtual pure returns (address); /** * ----------------------------------------------------------- diff --git a/script/universal/NestedMultisigBuilder.sol b/script/universal/NestedMultisigBuilder.sol index 82d79aa..73084af 100644 --- a/script/universal/NestedMultisigBuilder.sol +++ b/script/universal/NestedMultisigBuilder.sol @@ -27,12 +27,12 @@ abstract contract NestedMultisigBuilder is MultisigBase { /** * @notice Creates the calldata */ - function _buildCalls() internal virtual view returns (IMulticall3.Call3[] memory); + function _buildCalls() internal virtual pure returns (IMulticall3.Call3[] memory); /** * @notice Returns the nested safe address to execute the final transaction from */ - function _ownerSafe() internal virtual view returns (address); + function _ownerSafe() internal virtual pure returns (address); /** * ----------------------------------------------------------- From 535eee3a2099bcd437ed6532d7f67d5988eb3701 Mon Sep 17 00:00:00 2001 From: anikaraghu Date: Fri, 12 Jan 2024 07:25:50 -0800 Subject: [PATCH 2/2] Allow for any nonce value --- script/universal/MultisigBase.sol | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/script/universal/MultisigBase.sol b/script/universal/MultisigBase.sol index 4d3b14c..65e3930 100644 --- a/script/universal/MultisigBase.sol +++ b/script/universal/MultisigBase.sol @@ -28,11 +28,8 @@ abstract contract MultisigBase is Simulator { uint256 nonce = safe.nonce(); console.log("Safe current nonce:", nonce); - uint256 providedNonce = vm.envOr("SAFE_NONCE", nonce); - if (providedNonce > nonce) { - nonce = providedNonce; - console.log("Creating transaction with nonce:", nonce); - } + nonce = vm.envOr("SAFE_NONCE", nonce); // allow overriding the nonce for testing + console.log("Creating transaction with nonce:", nonce); return safe.encodeTransactionData({ to: address(multicall),