This document presents the results of a smart contract audit conducted by Côme du Crest for Gnosis.

Scope

The scope includes the contract SnapshotSigner.sol as of commit 083c33e.

Context

The goal of the project is to allow for signing of snapshot vote data on chain. The signSnapshotVote(vote, domain) (or analogous) method is to be delegatecalled by a Safe. This in turn delegates to signMessageLib.signMessage(bytes) (SignMessageLib.sol) which stores the EIP712 encoded message for later verification via isValidSignature(hash, signature)(CompatibilityFallbackHandler.sol).

The vote types are defined by snapshot in snapshot.js/types.ts.

Status

The audit has been sent to the developer team.

Issues

No serious issues have been discovered.

Conclusion

The contract does not allow for signing something other than a snapshot vote data.