Quickstart
Clone, build, and test locally, and how deployment handles keys.
Requirements
| Tool | Version |
|---|---|
| Foundry | 1.8.1 or later |
| Node.js | 20 or later (for this documentation site) |
| Git | any recent version |
Clone and build
git clone --recurse-submodules https://github.com/leo90012/maynex-contractscd maynex-contracts && forge buildIf you cloned without --recurse-submodules, run forge install before
building.
forge testBoth commands currently pass trivially
src/, test/, and script/ are empty. forge build and forge test succeed
because there is nothing to compile and nothing to run. A green result means the
toolchain works, not that the policy module behaves as these pages describe.
Keys
Deployment does not read a private key from the environment. Import one into an encrypted keystore instead:
cast wallet import deployer --interactiveThen reference it by name:
forge script script/Deploy.s.sol --account deployer --rpc-url robinhood_testnetA key that reaches a commit is burned
Removing it in a later commit does not undo this, and neither does a force-push. Anything that reached a public repository should be treated as public from that moment. If it happens, rotate the key rather than trying to erase the evidence.
Before every commit:
git status --porcelain.env must not appear.
Documentation
This site lives in docs/ in the same repository as the contracts, so a change
in behaviour and the page describing it move together.
cd docs && npm cinpm run devLanguage check
Continuous integration fails if prose in src/, script/, test/,
docs/content/, or README.md asserts an outcome the code has not
demonstrated. If that job fails, reword the sentence. Do not change the check.