Add ERC7579 Executor modules#121
Conversation
Co-authored-by: Gonzalo Othacehe <86085168+gonzaotc@users.noreply.github.com>
Co-authored-by: Gonzalo Othacehe <86085168+gonzaotc@users.noreply.github.com>
Co-authored-by: Gonzalo Othacehe <86085168+gonzaotc@users.noreply.github.com>
Co-authored-by: Gonzalo Othacehe <86085168+gonzaotc@users.noreply.github.com>
Co-authored-by: Gonzalo Othacehe <86085168+gonzaotc@users.noreply.github.com>
|
I changed the Build is failing since the MultisigMocks need to be adapted, but it's still unclear how: abstract contract ERC7579MultisigExecutorMock is ERC7579Executor, ERC7579Multisig, EIP712 {
bytes32 private constant EXECUTE_OPERATION =
keccak256("ExecuteOperation(address account,bytes32 mode,bytes executionCalldata,bytes32 salt)");
function _validateExecution(
address account,
Mode mode,
bytes calldata executionCalldata,
bytes32 salt
) internal view virtual returns (bool) {
// We're missing the `signature` here
return _validateMultisignature(account, _getExecuteTypeHash(account, mode, executionCalldata, salt), signature);
}
function _getExecuteTypeHash(
address account,
Mode mode,
bytes calldata executionCalldata,
bytes32 salt
) internal view virtual returns (bytes32) {
return
_hashTypedDataV4(
keccak256(abi.encode(EXECUTE_OPERATION, account, Mode.unwrap(mode), executionCalldata, salt))
);
}
}For the modules to be successful, |
This reverts commit 700558d.
Fixed by differentiating the |
|
Happy with the current design and it's good enough for the community version. Given the schedule, I think we should move on and merge so I can start writing ERC-7579 guides that include the social recovery use case. Also I should start playing around with this on Wizard. |
Co-authored-by: Gonzalo Othacehe <86085168+gonzaotc@users.noreply.github.com> Co-authored-by: Gonzalo Othacehe <gonza.otc@gmail.com>
More generalized alternatives to #93 and #85