Differential testing is used to compare Murky's solidity implementation to reference implementations in other languages. This directory contains the scripts needed to support this testing, as well as the differential tests themselves.
Currently, the only reference implementation is adapted from the Uniswap/merkle-distributor implementation. It is written in javascript.
From the scripts directory, run
npm install
npm run compile
From the scripts directory:
npm run generate-root
Now you can run the tests.
From the root of the Murky repo, run:
forge test --ffi -c differential_testing/test/DifferentialTests.t.sol