Add overloaded checkNSignatures to pass in the msg.sender #557
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR raised for initial feedback/discussion. Tests can be added if the this is a sensible addition.
Motivation: When creating a guard (and perhaps module), there are use cases where signatures need to be checked vs some manual threshold. eg For a guard where I want to ensure very sensitive contracts/functions need a higher number of signers than the default safe threshold.
Utilising the exact
checkNSignatures()
logic of the safe is preferable to duplicating the logic within the guard.As is,
checkNSignatures()
cannot be used, asmsg.sender
is used directly. So if called from the guard, thev == 1
check would fail for the pre-approved owner case.Adding an overloaded
checkNSignatures()
version where the executor address is plumbed through will fix this elegantly.I would love to collaborate on the guard I am developing further. Delegating the threshold calculation to a guard/module would be a killer built-in feature for Safe imo.