Merkle Mountain Range pallet (#7312)
* Add MMR pallet. * WiP * Working on testing. * WiP - test * Tests passing. * Add proof generation. * Generate and verify proofs. * Allow verification of older proofs. * Move stuff to a module. * Split MMR stuff to it's own module. * Add docs. * Make parent hash optional. * LeafData failed approach. * Finally implement Compact stuff. * Compact encoding WiP * Implement remaining pieces. * Fix tests * Add docs to compact. * Implement for tuples. * Fix documentation. * Fix warnings and address review suggestion. * Update frame/merkle-mountain-range/src/primitives.rs Co-authored-by:cheme <emericchevalier.pro@gmail.com> * Address review grumbles. * Removing missing crate. * Fix test. * Add some docs and test. * Add multiple instances. * Cargo.toml sync. * Fix no_std compilation. * More no_std stuff. * Rename MMR struct. * Addressing other grumbles. * Fix test. * Remove format for no_std compat. * Add test for MMR pallet. * Fix std feature. * Update versions. * Add to node/runtime. * Add hook to insert digest. * Make primitives public. * Update lib.rs tech spec/typos etc * Use WeightInfo and benchmarks. * Fix test. * Fix benchmarks. * Trait -> Config. * Fix typo. * Fix tests. Co-authored-by:
cheme <emericchevalier.pro@gmail.com> Co-authored-by:
Addie Wagenknecht <addie@nortd.com>
Showing
- substrate/Cargo.lock 44 additions, 3 deletionssubstrate/Cargo.lock
- substrate/Cargo.toml 32 additions, 32 deletionssubstrate/Cargo.toml
- substrate/bin/node/runtime/Cargo.toml 3 additions, 0 deletionssubstrate/bin/node/runtime/Cargo.toml
- substrate/bin/node/runtime/src/lib.rs 11 additions, 0 deletionssubstrate/bin/node/runtime/src/lib.rs
- substrate/client/executor/src/integration_tests/mod.rs 1 addition, 3 deletionssubstrate/client/executor/src/integration_tests/mod.rs
- substrate/frame/merkle-mountain-range/Cargo.toml 44 additions, 0 deletionssubstrate/frame/merkle-mountain-range/Cargo.toml
- substrate/frame/merkle-mountain-range/src/benchmarking.rs 56 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/benchmarking.rs
- substrate/frame/merkle-mountain-range/src/default_weights.rs 42 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/default_weights.rs
- substrate/frame/merkle-mountain-range/src/lib.rs 231 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/lib.rs
- substrate/frame/merkle-mountain-range/src/mmr/mmr.rs 186 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/mmr/mmr.rs
- substrate/frame/merkle-mountain-range/src/mmr/mod.rs 45 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/mmr/mod.rs
- substrate/frame/merkle-mountain-range/src/mmr/storage.rs 112 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/mmr/storage.rs
- substrate/frame/merkle-mountain-range/src/mmr/utils.rs 131 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/mmr/utils.rs
- substrate/frame/merkle-mountain-range/src/mock.rs 105 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/mock.rs
- substrate/frame/merkle-mountain-range/src/primitives.rs 415 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/primitives.rs
- substrate/frame/merkle-mountain-range/src/tests.rs 275 additions, 0 deletionssubstrate/frame/merkle-mountain-range/src/tests.rs
- substrate/primitives/core/src/offchain/testing.rs 11 additions, 4 deletionssubstrate/primitives/core/src/offchain/testing.rs
- substrate/primitives/runtime/src/offchain/storage.rs 2 additions, 3 deletionssubstrate/primitives/runtime/src/offchain/storage.rs
- substrate/primitives/runtime/src/offchain/storage_lock.rs 5 additions, 5 deletionssubstrate/primitives/runtime/src/offchain/storage_lock.rs
Please register or sign in to comment