Scribe is an efficient Schnorr multi-signature based Oracle. For more info, see docs/Scribe.md.
Install module via Foundry:
$ forge install chronicleprotocol/scribeThe project uses the Foundry toolchain. You can find installation instructions here.
Setup:
$ git clone https://github.com/chronicleprotocol/scribe
$ cd scribe/
$ forge install
$ yarn install # Installs dependencies for vector-based testsRun tests:
$ forge test # Run all tests, including differential fuzzing tests
$ forge test -vvvv # Run all tests with full stack traces
$ FOUNDRY_PROFILE=intense forge test # Run all tests in intense mode
$ forge test --nmt "FuzzDifferentialOracleSuite" # Run only non-differential fuzz testsNote that in order to run the whole test suite, i.e. including differential fuzz tests, the oracle-suite's musig schnorr binary needs to be present inside the bin/ directory.
Lint:
$ forge fmt [--check]Update gas snapshots:
$ forge snapshot --nmt "Fuzz" [--check]Deployment via:
The primary license for Scribe is the Business Source License 1.1 (BUSL-1.1), see LICENSE. However, some files are dual licensed under MIT:
- All files in 
src/libs/may also be licensed underMIT(as indicated in their SPDX headers), seesrc/libs/LICENSE - Several Solidity interface files may also be licensed under 
MIT(as indicated in their SPDX headers) - Several files in 
script/may also be licensed underMIT(as indicated in their SPDX headers) 
