yarn
// Setup env
cp .env.sample .env
With docker:
docker-compose up
Without docker:
yarn compile
Running the tests with docker:
docker build -t delegate-registry .
docker run delegate-registry yarn test
If you want to run it without docker:
yarn compile
yarn test
In this case it is expected that the deployment check test fails.
Docker is used to ensure that always the same bytecode is generated.
Preparation:
- Set
INFURA_TOKEN
in.env
- Set
MNEMONIC
in.env
Deploying with docker (should always result in the same registry address):
./deploy.sh <network>
If you want to run it without docker (might result in different registry address):
yarn compile
yarn deploy <network>
Note: To completely replicate the bytecode that has been deployed it is required that the project path is always the same. For this use the provided Dockerfile and map the the build folder into your local build folder. For this a docker-compose file is provided which can be used with:
docker-compose up
You can locally verify contract using the scripts generate_meta.js
and verify_deployment.js
.
With node scripts/generate_meta.js
a meta
folder is created in the build
folder that contains all files required to verify the source code on https://verification.komputing.org/ and https://etherscan.io/
For Etherscan only the DelegateRegistryEtherscan.json
file is required. For sourcify the DelegateRegistryMeta.json
and all the .sol
files are required.
Once the meta data has been generated you can verify that your local compiled code corresponds to the version deployed by Gnosis with yarn do <network> scripts/verify_deployment.js
.
- TBD
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
All smart contracts are released under LGPL v.3.
- Richard Meissner (rmeissner)
- Auryn Macmillan (auryn-macmillan)