You will find here the smart-contracts and associated tests for the SnapIt! product.
- A factory is deployed by Snapshot (see SpaceCollectionFactory).
- Space owners on Snapshot can decide to create their own
SpaceCollectionby calling thedeployProxymethod on the factory. This method expectsverifiedSigner(snapshot owned server) to sign the arguments. This ensures that the owner of a SpaceCollection is indeed the owner of the corresponding Space. - Users can collect NFTs for proposals in which they participate (including past ones!). To do this, they simply need
to call the
mintfunction on the correspondingSpaceCollection. They will also need to hand a signature (given byverifiedSigner) to ensure they are minting a valid proposal.
mints are required to be paid in WETH on the Polygon chain. The space sets its own mintPrice and mintSupply. Two
different fees exist:
- The
proposerFee: goes to the proposer of the proposal. - The
snapshotFee: goes to a multisig owned by Snapshot. This fee is computed after theproposerFee.
This repo uses foundry for tests. Interesting files are in src.