This repo (@1inch/limit-order-settlement, the 1inch Fusion settlement contracts) is a
Hardhat 2 + Solidity 0.8.23 project. There is no long-running "app" or GUI — the
"application" is the contract suite plus its Hardhat test/deploy tooling. Standard
commands live in README.md and package.json (yarn hardhat compile, yarn test,
yarn test:ci, yarn lint, yarn coverage, yarn docify); prefer those.
- The project targets Node.js 20 with Yarn Classic (1.x). Node 20 is installed via
nvmand set as the nvmdefault, and Yarn 1.22.x is installed into that Node. A login/ interactivebash(e.g.bash -lc '...') sources~/.bashrc→ nvm and resolves Node 20 +yarnautomatically. The update script already runsyarn installunder Node 20. - Gotcha: the exec-daemon's default non-login shell puts
/exec-daemon/node(Node 22) first onPATHand has noyarn. If a raw command reportsyarn: command not foundor the wrong Node version, runnvm use 20(or use a login shell) first. Do not "fix" this by reinstalling — Node 20 + Yarn are already present via nvm.
yarn hardhat nodeauto-runs thehardhat-deployscripts indeploy/, which fail on a fresh local chain (they expect a CREATE3 deployer contract andOPS_*env vars meant for real networks). To run a clean local JSON-RPC node useyarn hardhat node --no-deploy, then interact withyarn hardhat run --network localhost <script.js>.yarn testruns with--parallel; the gas reporter is skipped in that mode. Useyarn test:ci(sequential, as CI does) to get gas numbers.- The
Network '<name>' not registeredlines printed during compile/test are informational (no RPC URLs configured in the environment), not errors. - Deployments go through the
Makefileand requireOPS_*variables in.envplus real network RPC access; none of that is needed for local development, compiling, or testing.
yarn lintcurrently reports pre-existingspace-before-function-pareneslint errors inscripts/mint-kyc.jsandscripts/transfer-ownership.js. These are existing code issues, not an environment problem — the lint toolchain itself works.