Adding ECDSATypedValidator.sol, based on the initial ECDSAValidator.sol, with a few diff:
Major diff:
Add EIP712 base class from solady, with name Kernel:ECDSATypedValidator and version 1.0.0
Publicly expose the eip712 domain separator via getDomainSeperator()
Adding two eip712 types:
AllowUserOp: used to allow used op, need to be fulfilled & signed by the ecdsa owner
KernelSignature: used to allow a signature from the kernel, also needing to be fulfilled & signed by the ecdsa owner
Both type require the following params:
owner: The owner of the kernel account
kernelWallet: The address of the kernel wallet (deployed, or not in the case of eip 6492)
hash: The hash to be signed, either the userOpHash in the context of a user op, or the hash of the data to be signed by the kernel wallet in case of a signature
Minor diff:
Remove old & new owner index on the OwnerChanged event
Remove oldOwner from the OwnerChanged event
Don't expose publicly the ecdsaValidatorStorage, instead expose a public getter to fetch the owner: getOwner
A nonce system can be added for security, but I don't rly see the point knowing that the entryPoint already perform a nonce verification.
Adding
ECDSATypedValidator.sol
, based on the initialECDSAValidator.sol
, with a few diff:EIP712
base class from solady, with nameKernel:ECDSATypedValidator
and version1.0.0
getDomainSeperator()
AllowUserOp
: used to allow used op, need to be fulfilled & signed by the ecdsa ownerKernelSignature
: used to allow a signature from the kernel, also needing to be fulfilled & signed by the ecdsa ownerowner
: The owner of the kernel accountkernelWallet
: The address of the kernel wallet (deployed, or not in the case of eip 6492)hash
: The hash to be signed, either theuserOpHash
in the context of a user op, or thehash
of the data to be signed by the kernel wallet in case of a signatureOwnerChanged
eventoldOwner
from theOwnerChanged
eventecdsaValidatorStorage
, instead expose a public getter to fetch the owner:getOwner
A nonce system can be added for security, but I don't rly see the point knowing that the entryPoint already perform a nonce verification.