This repository contains the contracts part of the SAMM project.
This implementation of the contracts is for the Noir grant.
Our main concept revolves around creating a module for the Safe multisig that ensures the anonymity of all its participants using ZK-SNARK technology.
The details are outlined in:
This repository contains a Foundry project and consists of:
- src folder - contains the source code of SAMM smart contracts.
- test folder - contains tests for SAMM smart contracts.
The contracts are written in Solidity and utilize the Foundry development framework. To work correctly, the following version is required:
forge
0.2.0
To get started with this project, you need to install Foundry.
- To install Foundry, open your terminal and run the following command:
curl -L https://foundry.paradigm.xyz | bash
- Close the terminal, open another one, and run:
foundryup --version 0.2.0
Complete instructions for installing Foundry can be found here.
To install dependencies, run:
forge install
To compile the Foundry project, run:
forge build
Before running tests, you will need to set up an .env
file in the project root with an Ethereum API key. Create a .env
file and add the following:
MAINNET_RPC={your-ethereum-rpc-url}
Replace your-ethereum-rpc-url
with your actual RPC url. Then, you can run tests with the following command:
forge test
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.