An adapter contract to plug in front of the Safe SignMessageLib, producing EIP-712 signatures for Snapshot votes
An audit has been performed by Côme du Crest for Gnosis. No issues have been identified in the audit.
The audit report is available at https://gnosischain.notion.site/Snapshot-Signer-f890f1f3dba74f11bdd1702d17d9e05c.
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Address: 0xb0382209806345d27dFdAB5Bbc17B2AB553165ac
(forwarding to SignMessageLib
at 0xd53cd0aB83D845Ac265BE939c57F53AD838012c9
)
First, you need to install the dependencies:
$ bun install
Then, you need to set up all the required env variable. Create a .env
file based on .env.example
.
Compile the smart contracts with Hardhat:
$ bun run compile
Compile the smart contracts and generate TypeChain bindings:
$ bun run typechain
Run the tests with Hardhat:
$ bun run test
Lint the Solidity code:
$ bun run lint:sol
Lint the TypeScript code:
$ bun run lint:ts
Generate the code coverage report:
$ bun run coverage
See the gas usage per unit test and average gas per method call:
$ REPORT_GAS=true bun run test
Delete the smart contract artifacts, the coverage reports and the Hardhat cache:
$ bun run clean
Deploy the contract:
$ bun run deploy <network>
Currently the following values for <network>
are supported:
hardhat
mainnet
sepolia
gnosis
arbitrum
This project is licensed under MIT.