Skip to content

Extremely performant EVM oracle utilizing aggregated Schnorr signatures

License

Notifications You must be signed in to change notification settings

EdenBlockVC/chronicleprotocol-scribe

 
 

Repository files navigation

Unit Tests

Scribe is an efficient Schnorr multi-signature based Oracle. For more info, see docs/Scribe.md.

Installation

Install module via Foundry:

$ forge install chronicleprotocol/scribe

Contributing

The 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 tests

Run 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 tests

Note 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]

Dependencies

Deployment via:

Licensing

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 under MIT (as indicated in their SPDX headers), see src/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 under MIT (as indicated in their SPDX headers)

About

Extremely performant EVM oracle utilizing aggregated Schnorr signatures

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 96.7%
  • Shell 2.2%
  • Other 1.1%