• Maurelian's avatar
    fix(ctb): Fix off-by-one in removeOwner · 927bcaaa
    Maurelian authored
    There was a bug in the remove all owners flow that would leave two owners on the safe.
    Fixing that bug required using `swapOwners` in order to remove and
    replace the last signer, since you cannot remove the only owner and then
    add a new one (even when calling from a module).
    927bcaaa
Name
Last commit
Last update
..
invariants Loading commit data...
safe-tools Loading commit data...
AddressAliasHelper.t.sol Loading commit data...
AdminFaucetAuthModule.t.sol Loading commit data...
AssetReceiver.t.sol Loading commit data...
AttestationStation.t.sol Loading commit data...
BenchmarkTest.t.sol Loading commit data...
BlockOracle.t.sol Loading commit data...
Bytes.t.sol Loading commit data...
CheckBalanceHigh.t.sol Loading commit data...
CheckBalanceLow.t.sol Loading commit data...
CheckGelatoLow.t.sol Loading commit data...
CheckTrue.t.sol Loading commit data...
Clones.t.sol Loading commit data...
CommonTest.t.sol Loading commit data...
Constants.t.sol Loading commit data...
CrossDomainMessenger.t.sol Loading commit data...
CrossDomainOwnable.t.sol Loading commit data...
CrossDomainOwnable2.t.sol Loading commit data...
CrossDomainOwnable3.t.sol Loading commit data...
DelayedVetoable.t.sol Loading commit data...
DeployerWhitelist.t.sol Loading commit data...
DisputeGameFactory.t.sol Loading commit data...
Drippie.t.sol Loading commit data...
Encoding.t.sol Loading commit data...
Faucet.t.sol Loading commit data...
FaultDisputeGame.t.sol Loading commit data...
FeeVault.t.sol Loading commit data...
GasPriceOracle.t.sol Loading commit data...
GovernanceToken.t.sol Loading commit data...
Hashing.t.sol Loading commit data...
Helpers.sol Loading commit data...
Initializable.t.sol Loading commit data...
L1Block.t.sol Loading commit data...
L1BlockNumber.t.sol Loading commit data...
L1CrossDomainMessenger.t.sol Loading commit data...
L1ERC721Bridge.t.sol Loading commit data...
L1StandardBridge.t.sol Loading commit data...
L2CrossDomainMessenger.t.sol Loading commit data...
L2ERC721Bridge.t.sol Loading commit data...
L2OutputOracle.t.sol Loading commit data...
L2StandardBridge.t.sol Loading commit data...
L2ToL1MessagePasser.t.sol Loading commit data...
LegacyERC20ETH.t.sol Loading commit data...
LegacyMessagePasser.t.sol Loading commit data...
LibClock.t.sol Loading commit data...
LibGameId.t.sol Loading commit data...
LibPosition.t.sol Loading commit data...
LivenessGuard.t.sol Loading commit data...
LivenessModule.t.sol Loading commit data...
MIPS.t.sol Loading commit data...
MerkleTrie.t.sol Loading commit data...
MintManager.t.sol Loading commit data...
OptimismMintableERC20.t.sol Loading commit data...
OptimismMintableERC20Factory.t.sol Loading commit data...
OptimismMintableERC721.t.sol Loading commit data...
OptimismMintableERC721Factory.t.sol Loading commit data...
OptimismPortal.t.sol Loading commit data...
Optimist.t.sol Loading commit data...
OptimistAllowlist.t.sol Loading commit data...
OptimistInviter.t.sol Loading commit data...
PreimageOracle.t.sol Loading commit data...
ProtocolVersions.t.sol Loading commit data...
Proxy.t.sol Loading commit data...
ProxyAdmin.t.sol Loading commit data...
RLPReader.t.sol Loading commit data...
RLPWriter.t.sol Loading commit data...
ResolvedDelegateProxy.t.sol Loading commit data...
ResourceMetering.t.sol Loading commit data...
SafeCall.t.sol Loading commit data...
SafeSigners.t.sol Loading commit data...
Semver.t.sol Loading commit data...
SequencerFeeVault.t.sol Loading commit data...
StandardBridge.t.sol Loading commit data...
Storage.t.sol Loading commit data...
SystemConfig.t.sol Loading commit data...
Transactor.t.sol Loading commit data...
TransferOnion.t.sol Loading commit data...