The functioncontract you are calling is on the deployed contractinteracting with is a setup()Gnosis Safe
contract, however this function can neverits intended purpose isn't to be directly called dueusing its data and logic, instead it is supposed to be used as a template or master copy
that proxy contracts can use. This means the threshold being set insidelogic on the constructor like you mentionedcontract is what it's used for, not its actual data/variables.
You mention the contract being newly created butQuote taken from the creation transaction forline directly above the shared Goerli etherscan link shows it being over 800 days oldGnosisSafe
constructor:
This constructor ensures that this contract can only be used as a master copy for Proxy contracts
However, even if you wereSince it's intended to deploy a new version of this contract just for yourselfbe used with delegatecall
, you still would neveractually be ableaccessing your contract's threshold
variable as opposed to callthe setup()GnosisSafe
's, which means as long as theyou haven't already initialized your proxy contract logic remains, the samecall shouldn't fail.
Depending on your preference and what you are actually trying to do, you may want to deploy a new version of this existingproxy
contract but rethink how you interact with it, i.e. not callingthat points to the setup()GnosisSafe
, or as its implementation contract as intended; Or you may just want a different contract altogether from the one you are trying to use if you don't want to interact with your logic via an external delegatecall
.
ThereAlso, there are multiplemany different options for existing multi-sig contracts you can use, here is a link to a list of resources for further reaingreading.