EIP-1271 Specification
EIP-1271 specifies a single function,isValidSignature
, that can contain any arbitrary logic
to validate a given signature and largely depends on how you have implemented your smart contract account.
OpenZeppelin Implementation
OpenZeppelin provides a way to verify signatures for different account implementations that you can use in your smart contract account. Install the OpenZeppelin contracts library:isValidSignature
function in your smart contract account:
Verifying Signatures
On the client, you can use zksync-ethers to verify signatures for your smart contract account using either:isMessageSignatureCorrect
for verifying a message signature.isTypedDataSignatureCorrect
for verifying a typed data signature.