Skip to content

Developerayo/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 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

Efficient Schnorr multi-signature based Oracle

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 96.8%
  • Shell 2.1%
  • Other 1.1%