Thanks for considering a contribution. This is a short, opinionated guide that gets you from a clean checkout to a merged PR with minimal friction.
- One concern per PR. Mixed PRs are hard to review and slow to merge.
- Solidity tests live in
test/next to the contracts they exercise. SDK code ships with a typecheck (npm run lint) that must pass. - New public functions require a short NatSpec comment.
- We follow Conventional Commits
(
feat:,fix:,refactor:,docs:,test:,chore:).
git clone --recurse-submodules https://github.com/WaneProtocol/wane-vault
cd wane-vault
# contracts
forge build
forge test
# SDK
cd sdk && npm install && npm run buildYou need:
- Foundry (forge, cast)
- Solidity 0.8.27 (pinned in
foundry.toml) - Node.js 20+ for the SDK and examples
forge fmtandforge testpass locally.cd sdk && npm run lint && npm run buildpass.- Update
CHANGELOG.mdunder## [Unreleased]. - If you touched the vault or factory ABI, update
sdk/src/abi.tsto match.
Open an issue with the Bug Report template. On-chain reproductions are worth their weight: include the transaction hash, expected vs actual behavior, and the commit hash you tested against.
Open a Feature Request issue first. Changes to the screening contract surface need discussion before code lands, since the vault holds user funds.
If you find a vulnerability, follow the disclosure path in
SECURITY.md. Do not open a public issue.
This project follows the
Contributor Covenant 2.1.
See CODE_OF_CONDUCT.md.