rln-v2 Contracts for Waku
Go to file
Aaryamann Challani 809d7edc11
fix(ci): remove unused jobs (#2)
* fix(ci): remove unused jobs

* fix: remove verify in pr template

* fix: readme fixes
2024-05-21 21:30:07 +05:30
.github fix(ci): remove unused jobs (#2) 2024-05-21 21:30:07 +05:30
.vscode feat: initial commit 2024-05-21 00:46:20 +00:00
lib feat: initial commit 2024-05-21 00:46:20 +00:00
script feat: initial commit 2024-05-21 00:46:20 +00:00
src feat: initial commit 2024-05-21 00:46:20 +00:00
test feat: initial commit 2024-05-21 00:46:20 +00:00
.editorconfig feat: initial commit 2024-05-21 00:46:20 +00:00
.env.example feat: initial commit 2024-05-21 00:46:20 +00:00
.gas-report feat: initial commit 2024-05-21 00:46:20 +00:00
.gas-snapshot feat: initial commit 2024-05-21 00:46:20 +00:00
.gitattributes feat: initial commit 2024-05-21 00:46:20 +00:00
.gitignore feat: initial commit 2024-05-21 00:46:20 +00:00
.gitmodules feat: initial commit 2024-05-21 00:46:20 +00:00
.prettierignore feat: initial commit 2024-05-21 00:46:20 +00:00
.prettierrc.yml feat: initial commit 2024-05-21 00:46:20 +00:00
.solhint.json feat: initial commit 2024-05-21 00:46:20 +00:00
CHANGELOG.md feat: initial commit 2024-05-21 00:46:20 +00:00
LICENSE.md feat: initial commit 2024-05-21 00:46:20 +00:00
PROPERTIES.md feat: initial commit 2024-05-21 00:46:20 +00:00
README.md fix(ci): remove unused jobs (#2) 2024-05-21 21:30:07 +05:30
codecov.yml feat: initial commit 2024-05-21 00:46:20 +00:00
foundry.toml feat: initial commit 2024-05-21 00:46:20 +00:00
package.json fix(ci): remove unused jobs (#2) 2024-05-21 21:30:07 +05:30
pnpm-lock.yaml feat: initial commit 2024-05-21 00:46:20 +00:00
remappings.txt feat: initial commit 2024-05-21 00:46:20 +00:00
slither.config.json feat: initial commit 2024-05-21 00:46:20 +00:00

README.md

waku-rlnv2-contract Github Actions Foundry License: MIT

Waku's RLNv2 contracts, which include -

  • LazyIMT, which allows the root of the chain to be accessible on-chain.

What's Inside

  • Forge: compile, test, fuzz, format, and deploy smart contracts
  • Forge Std: collection of helpful contracts and cheatcodes for testing
  • Solhint Community: linter for Solidity code

Usage

This is a list of the most frequently needed commands.

Build

Build the contracts:

$ forge build

Clean

Delete the build artifacts and cache directories:

$ forge clean

Compile

Compile the contracts:

$ forge build

Coverage

Get a test coverage report:

$ forge coverage

Deploy

Deploy to Anvil:

$ forge script script/Deploy.s.sol --broadcast --fork-url http://localhost:8545

For this script to work, you need to have a MNEMONIC environment variable set to a valid BIP39 mnemonic.

For instructions on how to deploy to a testnet or mainnet, check out the Solidity Scripting tutorial.

Format

Format the contracts:

$ forge fmt

Gas Usage

Get a gas report:

$ forge test --gas-report

Lint

Lint the contracts:

$ pnpm lint

Fixing linting issues

For any errors in solidity files, run forge fmt. For errors in any other file type, run pnpm prettier:write.

Test

Run the tests:

$ forge test

Notes

  1. Foundry uses git submodules to manage dependencies. For detailed instructions on working with dependencies, please refer to the guide in the book
  2. You don't have to create a .env file, but filling in the environment variables may be useful when debugging and testing against a fork.

License

This project is licensed under MIT.