Update MMR Runtime API - add proof batching (#4700)

* update runtime apis

* rebase

* update apis

* update apis

* minor fix

* minor fix

* minro fixes

* update api

* style fix

* update lockfile for {"substrate"}

Co-authored-by: acatangiu <adrian@parity.io>
Co-authored-by: parity-processbot <>
This commit is contained in:
Web3 Smith
2022-05-04 12:26:32 +01:00
committed by GitHub
parent dde3a74102
commit 9cdfbb4c8d
8 changed files with 392 additions and 236 deletions
+23 -8
View File
@@ -1774,15 +1774,13 @@ sp_api::impl_runtime_apis! {
fn generate_proof(_leaf_index: u64)
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
{
// dummy implementation due to lack of MMR pallet.
Err(mmr::Error::GenerateProof)
Err(mmr::Error::PalletNotIncluded)
}
fn verify_proof(_leaf: mmr::EncodableOpaqueLeaf, _proof: mmr::Proof<Hash>)
-> Result<(), mmr::Error>
{
// dummy implementation due to lack of MMR pallet.
Err(mmr::Error::Verify)
Err(mmr::Error::PalletNotIncluded)
}
fn verify_proof_stateless(
@@ -1790,15 +1788,32 @@ sp_api::impl_runtime_apis! {
_leaf: mmr::EncodableOpaqueLeaf,
_proof: mmr::Proof<Hash>
) -> Result<(), mmr::Error> {
// dummy implementation due to lack of MMR pallet.
Err(mmr::Error::Verify)
Err(mmr::Error::PalletNotIncluded)
}
fn mmr_root() -> Result<Hash, mmr::Error> {
// dummy implementation due to lack of MMR pallet.
Err(mmr::Error::Verify)
Err(mmr::Error::PalletNotIncluded)
}
fn generate_batch_proof(_leaf_indices: Vec<u64>)
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
{
Err(mmr::Error::PalletNotIncluded)
}
fn verify_batch_proof(_leaves: Vec<mmr::EncodableOpaqueLeaf>, _proof: mmr::BatchProof<Hash>)
-> Result<(), mmr::Error>
{
Err(mmr::Error::PalletNotIncluded)
}
fn verify_batch_proof_stateless(
_root: Hash,
_leaves: Vec<mmr::EncodableOpaqueLeaf>,
_proof: mmr::BatchProof<Hash>
) -> Result<(), mmr::Error> {
Err(mmr::Error::PalletNotIncluded)
}
}
impl fg_primitives::GrandpaApi<Block> for Runtime {