Developerayo / scribe

Efficient Schnorr multi-signature based Oracle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:Other


Languages

Language:Solidity 96.9%Language:Shell 2.1%Language:JavaScript 0.5%Language:Python 0.3%Language:Dockerfile 0.3%