Skip to content

Commit ed36aac

Browse files
authored
[NestedMultisigBuilder] Don't override signerSafe owner (#105)
* Don't override signerSafe owner in NestedMultisigBuilder * forge fmt
1 parent 12afb9f commit ed36aac

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

script/universal/MultisigBase.sol

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,9 @@ abstract contract MultisigBase is CommonBase {
190190
returns (Simulation.StateOverride memory)
191191
{
192192
uint256 _nonce = _getNonce(_safe);
193+
if (_owner == address(0)) {
194+
return Simulation.overrideSafeThresholdAndNonce(_safe, _nonce);
195+
}
193196
return Simulation.overrideSafeThresholdOwnerAndNonce(_safe, _owner, _nonce);
194197
}
195198

script/universal/NestedMultisigBuilder.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ abstract contract NestedMultisigBuilder is MultisigBase {
218218
Simulation.StateOverride[] memory simOverrides = _simulationOverrides();
219219
Simulation.StateOverride[] memory overrides = new Simulation.StateOverride[](2 + simOverrides.length);
220220
overrides[0] = _safeOverrides(_signerSafe, MULTICALL3_ADDRESS);
221-
overrides[1] = _safeOverrides(_safe, msg.sender);
221+
overrides[1] = _safeOverrides(_safe, address(0));
222222
for (uint256 i = 0; i < simOverrides.length; i++) {
223223
overrides[i + 2] = simOverrides[i];
224224
}

script/universal/Simulation.sol

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@ library Simulation {
5151
return accesses;
5252
}
5353

54+
function overrideSafeThresholdAndNonce(address _safe, uint256 _nonce) public view returns (StateOverride memory) {
55+
StateOverride memory state = StateOverride({contractAddress: _safe, overrides: new StorageOverride[](0)});
56+
state = addThresholdOverride(_safe, state);
57+
state = addNonceOverride(_safe, state, _nonce);
58+
return state;
59+
}
60+
5461
function overrideSafeThresholdOwnerAndNonce(address _safe, address _owner, uint256 _nonce)
5562
public
5663
view

0 commit comments

Comments
 (0)