transfer
or send
send
or transfer
. This was due to additional gas costs caused by the emission of additional events and gas price changes in the latest hardfork. This issue has been fixed and more details can be found on Github.setupOwners
function on OwnerManager.sol
which allows duplicate owners to be set when the duplicated address is next to itself in the _owners
array. This could cause unexpected behavior. While it is not possible to steal funds of existing Safes it is indeed an unexpected behaviour and user funds might be locked. During Safe creation the threshold of a Safe could be set to something unreachable, thereby making it impossible to execute a transaction afterwards.execTransaction
. This is especially an issue for Safes with a threshold of 1. If a Safe with threshold 1 adds itself as an owner, anyone can execute transactions.require(owner != address(this), "Safe can't be an owner")
. This check can be performed when adding owners and/or when checking signatures.