Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Merkle Mountain Range pallet #7312

Merged
merged 68 commits into from
Dec 9, 2020
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
57757e6
Add MMR pallet.
tomusdrw Aug 19, 2020
01c3e3f
Merge branch 'master' into td-mmr
tomusdrw Aug 20, 2020
0be7308
WiP
tomusdrw Aug 20, 2020
7685672
Merge branch 'master' into td-mmr
tomusdrw Aug 31, 2020
2c24398
Working on testing.
tomusdrw Sep 1, 2020
691f63a
WiP - test
tomusdrw Sep 7, 2020
9f9721b
Tests passing.
tomusdrw Sep 8, 2020
017ce49
Add proof generation.
tomusdrw Sep 10, 2020
16c8d89
Generate and verify proofs.
tomusdrw Sep 15, 2020
4136c5e
Allow verification of older proofs.
tomusdrw Sep 15, 2020
b60fb4c
Move stuff to a module.
tomusdrw Sep 18, 2020
be03e7a
Split MMR stuff to it's own module.
tomusdrw Sep 18, 2020
dea8e44
Add docs.
tomusdrw Sep 18, 2020
d36da7a
Make parent hash optional.
tomusdrw Sep 22, 2020
adce1ca
LeafData failed approach.
tomusdrw Sep 23, 2020
4a14d40
Finally implement Compact stuff.
tomusdrw Sep 25, 2020
588b144
Merge branch 'master' into td-mmr
tomusdrw Sep 28, 2020
fe1b68a
Compact encoding WiP
tomusdrw Oct 8, 2020
4e78ac2
Merge branch 'master' into td-mmr
tomusdrw Oct 8, 2020
5e57f98
Implement remaining pieces.
tomusdrw Oct 12, 2020
5cc1f5b
Merge branch 'master' into td-mmr
tomusdrw Oct 12, 2020
878769e
Fix tests
tomusdrw Oct 12, 2020
c748791
Add docs to compact.
tomusdrw Oct 12, 2020
33c5640
Implement for tuples.
tomusdrw Oct 13, 2020
b91d475
Merge branch 'master' into td-mmr
tomusdrw Oct 13, 2020
92feac1
Fix documentation.
tomusdrw Oct 13, 2020
cfab9dc
Fix warnings and address review suggestion.
tomusdrw Oct 13, 2020
cc71386
Merge branch 'master' into td-mmr
tomusdrw Oct 14, 2020
02f60cf
Update frame/merkle-mountain-range/src/primitives.rs
tomusdrw Oct 19, 2020
3d29bf1
Address review grumbles.
tomusdrw Oct 19, 2020
7d837b6
Merge remote-tracking branch 'origin/td-mmr' into td-mmr
tomusdrw Oct 19, 2020
513876f
Merge branch 'master' into td-mmr
tomusdrw Oct 19, 2020
ce3a7d0
Removing missing crate.
tomusdrw Oct 19, 2020
f26f754
Fix test.
tomusdrw Oct 19, 2020
468c490
Add some docs and test.
tomusdrw Oct 20, 2020
6fc9d74
Add multiple instances.
tomusdrw Oct 20, 2020
ef2124e
Cargo.toml sync.
tomusdrw Oct 21, 2020
52bf713
Merge branch 'master' into td-mmr
tomusdrw Oct 21, 2020
66c862d
Merge branch 'master' into td-mmr
tomusdrw Nov 2, 2020
c7a9ae9
Fix no_std compilation.
tomusdrw Nov 4, 2020
2eb455c
More no_std stuff.
tomusdrw Nov 4, 2020
ebab8d9
Merge branch 'master' into td-mmr
tomusdrw Nov 6, 2020
676bef0
Rename MMR struct.
tomusdrw Nov 6, 2020
94673be
Addressing other grumbles.
tomusdrw Nov 6, 2020
2d288f4
Fix test.
tomusdrw Nov 6, 2020
b554396
Remove format for no_std compat.
tomusdrw Nov 6, 2020
8783ce0
Add test for MMR pallet.
tomusdrw Nov 6, 2020
5612c03
Merge branch 'master' into td-mmr
tomusdrw Nov 16, 2020
57d6ffc
Fix std feature.
tomusdrw Nov 17, 2020
cf30535
Update versions.
tomusdrw Nov 17, 2020
4427b33
Add to node/runtime.
tomusdrw Nov 17, 2020
6c5b43a
Add hook to insert digest.
tomusdrw Nov 18, 2020
6156d45
Make primitives public.
tomusdrw Nov 18, 2020
4320a52
Merge branch 'master' into td-mmr
tomusdrw Nov 23, 2020
ade3ce4
Update lib.rs
wheresaddie Nov 23, 2020
b242ee7
Use WeightInfo and benchmarks.
tomusdrw Nov 25, 2020
889bdae
Merge branch 'td-mmr' of github.com:paritytech/substrate into td-mmr
tomusdrw Nov 25, 2020
5ce1bdc
Merge branch 'master' into td-mmr
tomusdrw Nov 25, 2020
fb20787
Fix test.
tomusdrw Nov 26, 2020
9da6d4f
Fix benchmarks.
tomusdrw Nov 27, 2020
24fb0eb
Merge branch 'master' into td-mmr
tomusdrw Dec 2, 2020
e942828
Trait -> Config.
tomusdrw Dec 2, 2020
ec40cf9
Fix typo.
tomusdrw Dec 2, 2020
f8fdc30
Merge branch 'master' into td-mmr
tomusdrw Dec 2, 2020
15fc239
Merge branch 'master' into td-mmr
tomusdrw Dec 8, 2020
b292142
Merge branch 'master' into td-mmr
tomusdrw Dec 8, 2020
6e7d6a6
Fix tests.
tomusdrw Dec 8, 2020
ce4bf29
Merge branch 'master' into td-mmr
tomusdrw Dec 9, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 42 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

67 changes: 35 additions & 32 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
[workspace]
members = [
"bin/node-template/node",
"bin/node-template/runtime",
"bin/node-template/pallets/template",
"bin/node-template/runtime",
"bin/node/bench",
"bin/node/browser-testing",
"bin/node/cli",
"bin/node/executor",
"bin/node/primitives",
"bin/node/rpc-client",
"bin/node/rpc",
"bin/node/rpc-client",
"bin/node/runtime",
"bin/node/testing",
"bin/utils/subkey",
"bin/utils/chain-spec-builder",
"bin/utils/subkey",
"client/api",
"client/authority-discovery",
"client/basic-authorship",
Expand All @@ -25,42 +25,40 @@ members = [
"client/consensus/babe",
"client/consensus/babe/rpc",
"client/consensus/common",
"client/consensus/epochs",
"client/consensus/manual-seal",
"client/consensus/pow",
"client/consensus/uncles",
"client/consensus/slots",
"client/consensus/epochs",
"client/consensus/uncles",
"client/db",
"client/executor",
"client/executor/common",
"client/executor/runtime-test",
"client/executor/wasmi",
"client/executor/wasmtime",
"client/executor/runtime-test",
"client/finality-grandpa",
"client/informant",
"client/light",
"client/tracing",
"client/keystore",
"client/light",
"client/network",
"client/network/test",
"client/network-gossip",
"client/network/test",
"client/offchain",
"client/peerset",
"client/proposer-metrics",
"client/rpc-servers",
"client/rpc",
"client/rpc-api",
"client/rpc-servers",
"client/service",
"client/service/test",
"client/state-db",
"client/telemetry",
"client/tracing",
"client/transaction-pool",
"client/transaction-pool/graph",
"utils/prometheus",
"utils/wasm-builder-runner",
"frame/assets",
"frame/aura",
"frame/atomic-swap",
"frame/aura",
"frame/authority-discovery",
"frame/authorship",
"frame/babe",
Expand All @@ -71,8 +69,8 @@ members = [
"frame/contracts/rpc",
"frame/contracts/rpc/runtime-api",
"frame/democracy",
"frame/elections-phragmen",
"frame/elections",
"frame/elections-phragmen",
"frame/evm",
"frame/example",
"frame/example-offchain-worker",
Expand All @@ -83,6 +81,7 @@ members = [
"frame/im-online",
"frame/indices",
"frame/membership",
"frame/merkle-mountain-range",
"frame/metadata",
"frame/multisig",
"frame/nicks",
Expand All @@ -97,8 +96,8 @@ members = [
"frame/session/benchmarking",
"frame/society",
"frame/staking",
"frame/staking/reward-curve",
"frame/staking/fuzzer",
"frame/staking/reward-curve",
"frame/sudo",
"frame/support",
"frame/support/procedural",
Expand All @@ -116,59 +115,61 @@ members = [
"frame/utility",
"frame/vesting",
"primitives/allocator",
"primitives/api",
"primitives/api/proc-macro",
"primitives/api/test",
"primitives/application-crypto",
"primitives/application-crypto/test",
"primitives/arithmetic",
"primitives/arithmetic/fuzzer",
"primitives/authority-discovery",
"primitives/authorship",
"primitives/block-builder",
"primitives/blockchain",
"primitives/chain-spec",
"primitives/consensus/aura",
"primitives/consensus/babe",
"primitives/consensus/common",
"primitives/consensus/pow",
"primitives/consensus/vrf",
"primitives/core",
"primitives/chain-spec",
"primitives/database",
"primitives/debug-derive",
"primitives/storage",
"primitives/externalities",
"primitives/finality-tracker",
"primitives/finality-grandpa",
"primitives/finality-tracker",
"primitives/inherents",
"primitives/io",
"primitives/keyring",
"primitives/keystore",
"primitives/offchain",
"primitives/panic-handler",
"primitives/npos-elections",
"primitives/npos-elections/fuzzer",
"primitives/npos-elections/compact",
"primitives/npos-elections/fuzzer",
"primitives/offchain",
"primitives/panic-handler",
"primitives/rpc",
"primitives/runtime",
"primitives/runtime-interface",
"primitives/runtime-interface/proc-macro",
"primitives/runtime-interface/test",
"primitives/runtime-interface/test-wasm",
"primitives/runtime-interface/test-wasm-deprecated",
"primitives/runtime-interface/test",
"primitives/sandbox",
"primitives/serializer",
"primitives/session",
"primitives/api",
"primitives/api/proc-macro",
"primitives/api/test",
"primitives/arithmetic",
"primitives/arithmetic/fuzzer",
"primitives/io",
"primitives/runtime",
"primitives/sandbox",
"primitives/staking",
"primitives/std",
"primitives/version",
"primitives/state-machine",
"primitives/timestamp",
"primitives/std",
"primitives/storage",
"primitives/test-primitives",
"primitives/transaction-pool",
"primitives/timestamp",
"primitives/tracing",
"primitives/transaction-pool",
"primitives/trie",
"primitives/utils",
"primitives/version",
"primitives/wasm-interface",
"test-utils/client",
"test-utils/derive",
Expand All @@ -183,7 +184,9 @@ members = [
"utils/frame/frame-utilities-cli",
"utils/frame/rpc/support",
"utils/frame/rpc/system",
"utils/prometheus",
"utils/wasm-builder",
"utils/wasm-builder-runner",
]

# The list of dependencies below (which can be both direct and indirect dependencies) are crates
Expand Down
2 changes: 1 addition & 1 deletion client/executor/src/integration_tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ fn offchain_local_storage_should_work(wasm_method: WasmExecutionMethod) {
).unwrap(),
true.encode(),
);
assert_eq!(state.read().persistent_storage.get(b"", b"test"), Some(vec![]));
assert_eq!(state.read().persistent_storage.get(b"test"), Some(vec![]));
}

#[test_case(WasmExecutionMethod::Interpreted)]
Expand Down
39 changes: 39 additions & 0 deletions frame/merkle-mountain-range/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[package]
name = "pallet-mmr"
version = "2.0.0-rc5"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "Apache-2.0"
homepage = "https://substrate.dev"
repository = "https://github.com/paritytech/substrate/"
description = "FRAME Merkle Mountain Range pallet."

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
codec = { package = "parity-scale-codec", version = "1.3.4", default-features = false }
frame-support = { version = "2.0.0-rc5", default-features = false, path = "../support" }
frame-system = { version = "2.0.0-rc5", default-features = false, path = "../system" }
mmr-lib = { package = "ckb-merkle-mountain-range", default-features = false, version = "0.3.1" }
serde = { version = "1.0.101", optional = true }
sp-core = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/core" }
sp-io = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/io" }
sp-runtime = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/runtime" }
sp-std = { version = "2.0.0-rc5", default-features = false, path = "../../primitives/std" }

[dev-dependencies]
env_logger = "0.5"
hex-literal = "0.3"

[features]
default = ["std"]
std = [
"codec/std",
"frame-support/std",
"frame-system/std",
"mmr-lib/std",
"serde",
"sp-io/std",
"sp-std/std",
]
Loading