├── .env.example ├── .gas-snapshot ├── .github └── workflows │ ├── lint.yml │ ├── non-via-ir-compilation.yml │ ├── solc-version-tests.yml │ └── unit-tests.yml ├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── LICENSE ├── README.md ├── assets ├── benchmarks.png └── logo.png ├── audits ├── ABDK@v1.0.0.pdf ├── Cantina@v2.0.0.pdf ├── Cantina@v2.0.0_2.pdf └── ChainSecurity@v0.1.0.pdf ├── bin └── .gitkeep ├── docs ├── Benchmarks.md ├── Deployment.md ├── Invariants.md ├── Management.md ├── Schnorr.md └── Scribe.md ├── foundry.toml ├── package.json ├── remappings.txt ├── script ├── Scribe.s.sol ├── ScribeOptimistic.s.sol ├── benchmarks │ ├── ScribeBenchmark.s.sol │ ├── ScribeOptimisticBenchmark.s.sol │ ├── challenger.sh │ ├── relay.sh │ └── visualize.py ├── dev │ ├── ScribeOptimisticTester.s.sol │ ├── ScribeTester.s.sol │ ├── gas-estimator.sh │ ├── generate-abis.sh │ ├── generate-flattened.sh │ ├── invalid-oppoker.sh │ ├── print-errors.sh │ ├── print-storage-layout.sh │ └── test-feeds.json ├── feeds │ └── wallet-generator.sh ├── libs │ ├── LibDissig.sol │ ├── LibFeed.sol │ ├── LibOracleSuite.sol │ ├── LibRandom.sol │ ├── LibSchnorrExtended.sol │ └── LibSecp256k1Extended.sol └── rescue │ └── Rescuer.sol ├── slither.config.json ├── src ├── IScribe.sol ├── IScribeOptimistic.sol ├── Scribe.sol ├── ScribeOptimistic.sol ├── extensions │ ├── IScribeLST.sol │ ├── IScribeOptimisticLST.sol │ ├── ScribeLST.sol │ ├── ScribeOptimisticLST.sol │ └── external_ │ │ └── interfaces │ │ └── IRateSource.sol └── libs │ ├── LICENSE │ ├── LibSchnorr.sol │ └── LibSecp256k1.sol ├── test ├── EVMTest.sol ├── IScribeOptimisticTest.sol ├── IScribeTest.sol ├── LibSchnorrTest.sol ├── LibSecp256k1Test.sol ├── Runner.t.sol ├── extensions │ ├── IScribeLSTTest.sol │ └── IScribeOptimisticLSTTest.sol ├── inspectable │ └── ScribeInspectable.sol ├── invariants │ ├── FeedSet.sol │ ├── IScribeInvariantTest.sol │ └── ScribeHandler.sol ├── rescue │ └── RescuerTest.sol └── vectors │ ├── points.js │ └── points.json └── yarn.lock /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.env.example -------------------------------------------------------------------------------- /.gas-snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.gas-snapshot -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/non-via-ir-compilation.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.github/workflows/non-via-ir-compilation.yml -------------------------------------------------------------------------------- /.github/workflows/solc-version-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.github/workflows/solc-version-tests.yml -------------------------------------------------------------------------------- /.github/workflows/unit-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.github/workflows/unit-tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/.gitmodules -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/README.md -------------------------------------------------------------------------------- /assets/benchmarks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/assets/benchmarks.png -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/assets/logo.png -------------------------------------------------------------------------------- /audits/ABDK@v1.0.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/audits/ABDK@v1.0.0.pdf -------------------------------------------------------------------------------- /audits/Cantina@v2.0.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/audits/Cantina@v2.0.0.pdf -------------------------------------------------------------------------------- /audits/Cantina@v2.0.0_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/audits/Cantina@v2.0.0_2.pdf -------------------------------------------------------------------------------- /audits/ChainSecurity@v0.1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/audits/ChainSecurity@v0.1.0.pdf -------------------------------------------------------------------------------- /bin/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/Benchmarks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/docs/Benchmarks.md -------------------------------------------------------------------------------- /docs/Deployment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/docs/Deployment.md -------------------------------------------------------------------------------- /docs/Invariants.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/docs/Invariants.md -------------------------------------------------------------------------------- /docs/Management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/docs/Management.md -------------------------------------------------------------------------------- /docs/Schnorr.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/docs/Schnorr.md -------------------------------------------------------------------------------- /docs/Scribe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/docs/Scribe.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/foundry.toml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/package.json -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/remappings.txt -------------------------------------------------------------------------------- /script/Scribe.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/Scribe.s.sol -------------------------------------------------------------------------------- /script/ScribeOptimistic.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/ScribeOptimistic.s.sol -------------------------------------------------------------------------------- /script/benchmarks/ScribeBenchmark.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/benchmarks/ScribeBenchmark.s.sol -------------------------------------------------------------------------------- /script/benchmarks/ScribeOptimisticBenchmark.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/benchmarks/ScribeOptimisticBenchmark.s.sol -------------------------------------------------------------------------------- /script/benchmarks/challenger.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/benchmarks/challenger.sh -------------------------------------------------------------------------------- /script/benchmarks/relay.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/benchmarks/relay.sh -------------------------------------------------------------------------------- /script/benchmarks/visualize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/benchmarks/visualize.py -------------------------------------------------------------------------------- /script/dev/ScribeOptimisticTester.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/ScribeOptimisticTester.s.sol -------------------------------------------------------------------------------- /script/dev/ScribeTester.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/ScribeTester.s.sol -------------------------------------------------------------------------------- /script/dev/gas-estimator.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/gas-estimator.sh -------------------------------------------------------------------------------- /script/dev/generate-abis.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/generate-abis.sh -------------------------------------------------------------------------------- /script/dev/generate-flattened.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/generate-flattened.sh -------------------------------------------------------------------------------- /script/dev/invalid-oppoker.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/invalid-oppoker.sh -------------------------------------------------------------------------------- /script/dev/print-errors.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/print-errors.sh -------------------------------------------------------------------------------- /script/dev/print-storage-layout.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/print-storage-layout.sh -------------------------------------------------------------------------------- /script/dev/test-feeds.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/dev/test-feeds.json -------------------------------------------------------------------------------- /script/feeds/wallet-generator.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/feeds/wallet-generator.sh -------------------------------------------------------------------------------- /script/libs/LibDissig.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/libs/LibDissig.sol -------------------------------------------------------------------------------- /script/libs/LibFeed.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/libs/LibFeed.sol -------------------------------------------------------------------------------- /script/libs/LibOracleSuite.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/libs/LibOracleSuite.sol -------------------------------------------------------------------------------- /script/libs/LibRandom.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/libs/LibRandom.sol -------------------------------------------------------------------------------- /script/libs/LibSchnorrExtended.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/libs/LibSchnorrExtended.sol -------------------------------------------------------------------------------- /script/libs/LibSecp256k1Extended.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/libs/LibSecp256k1Extended.sol -------------------------------------------------------------------------------- /script/rescue/Rescuer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/script/rescue/Rescuer.sol -------------------------------------------------------------------------------- /slither.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/slither.config.json -------------------------------------------------------------------------------- /src/IScribe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/IScribe.sol -------------------------------------------------------------------------------- /src/IScribeOptimistic.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/IScribeOptimistic.sol -------------------------------------------------------------------------------- /src/Scribe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/Scribe.sol -------------------------------------------------------------------------------- /src/ScribeOptimistic.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/ScribeOptimistic.sol -------------------------------------------------------------------------------- /src/extensions/IScribeLST.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/extensions/IScribeLST.sol -------------------------------------------------------------------------------- /src/extensions/IScribeOptimisticLST.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/extensions/IScribeOptimisticLST.sol -------------------------------------------------------------------------------- /src/extensions/ScribeLST.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/extensions/ScribeLST.sol -------------------------------------------------------------------------------- /src/extensions/ScribeOptimisticLST.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/extensions/ScribeOptimisticLST.sol -------------------------------------------------------------------------------- /src/extensions/external_/interfaces/IRateSource.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/extensions/external_/interfaces/IRateSource.sol -------------------------------------------------------------------------------- /src/libs/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/libs/LICENSE -------------------------------------------------------------------------------- /src/libs/LibSchnorr.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/libs/LibSchnorr.sol -------------------------------------------------------------------------------- /src/libs/LibSecp256k1.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/src/libs/LibSecp256k1.sol -------------------------------------------------------------------------------- /test/EVMTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/EVMTest.sol -------------------------------------------------------------------------------- /test/IScribeOptimisticTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/IScribeOptimisticTest.sol -------------------------------------------------------------------------------- /test/IScribeTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/IScribeTest.sol -------------------------------------------------------------------------------- /test/LibSchnorrTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/LibSchnorrTest.sol -------------------------------------------------------------------------------- /test/LibSecp256k1Test.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/LibSecp256k1Test.sol -------------------------------------------------------------------------------- /test/Runner.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/Runner.t.sol -------------------------------------------------------------------------------- /test/extensions/IScribeLSTTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/extensions/IScribeLSTTest.sol -------------------------------------------------------------------------------- /test/extensions/IScribeOptimisticLSTTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/extensions/IScribeOptimisticLSTTest.sol -------------------------------------------------------------------------------- /test/inspectable/ScribeInspectable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/inspectable/ScribeInspectable.sol -------------------------------------------------------------------------------- /test/invariants/FeedSet.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/invariants/FeedSet.sol -------------------------------------------------------------------------------- /test/invariants/IScribeInvariantTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/invariants/IScribeInvariantTest.sol -------------------------------------------------------------------------------- /test/invariants/ScribeHandler.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/invariants/ScribeHandler.sol -------------------------------------------------------------------------------- /test/rescue/RescuerTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/rescue/RescuerTest.sol -------------------------------------------------------------------------------- /test/vectors/points.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/vectors/points.js -------------------------------------------------------------------------------- /test/vectors/points.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/test/vectors/points.json -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chronicleprotocol/scribe/HEAD/yarn.lock --------------------------------------------------------------------------------