- ERC-20: Token Standard
- ERC-165: Standard Interface Detection
- ERC-721: Non-Fungible Token Standard
- ERC-1967: Proxy Storage Slots
- ERC-4626: Tokenized Vaults
- ERC-7201: Namespaced Storage Layout
- 0.8.4: Support custom errors via the error keyword and introduce the revert statement.
- 0.8.8: Inheritance: A function that overrides only a single interface function does not require the override specifier
- 0.8.15: Add E.selector for a non-anonymous event E to access the 32-byte selector topic
- 0.8.18: Allow named parameters in mapping types
- 0.8.21: Allow qualified access to events from other contracts
- 0.8.22: Unchecked loop increments
- Setup IDE
- install foundry
- clone this repo
- put your urls and keys to
.env
from.env.exmaple
- install deps, compile and test
forge install
forge test -vv
forge coverage
forge coverage --report lcov
forge build --sizes
To generate and serve documentation for smart contracts based on NatSpec comments, run:
forge doc --serve
It is important to verify during deployment. Otherwise, you will have to manually verify each lib.
forge script --rpc-url polygon script/deploy-strategy/IQMF.Polygon.s.sol -vvvv --broadcast --verify --slow --etherscan-api-key polygon
forge script --rpc-url real script/deploy-core/Deploy.Real.s.sol --verify --verifier blockscout --verifier-url https://explorer.re.al/api? --slow --with-gas-price 30000000 -g 200 --broadcast
forge script --rpc-url sonic --slow --broadcast --verify --etherscan-api-key sonic script/deploy-core/Deploy.Sonic.s.sol