status-network-token-v2/README.md

3.7 KiB

Status Network Token V2 Github Actions Foundry License: MIT

This is the second iteration of Status Network Token. The original version of the token uses a lot of legacy code. This repository implements a more modern version based on our MiniMeToken fork.

Deployments

Contract Address Snapshot
Sepolia
SNTV2 0xE452027cdEF746c7Cd3DB31CB700428b16cD8E51 2ac31e
SNTTokenController 0x785e6c5af58FB26F4a0E43e0cF254af10EaEe0f1 2ac31e

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.