mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 17:01:09 +00:00
pallet-mmr: RPC and Runtime APIs work with block numbers (#6072)
* pallet-mmr: RPC API works with block numbers
* small fix
* update
* change types
* update lockfile for {"substrate"}
Co-authored-by: parity-processbot <>
This commit is contained in:
@@ -1690,11 +1690,11 @@ sp_api::impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
impl mmr::MmrApi<Block, Hash> for Runtime {
|
||||
fn generate_proof(leaf_index: u64)
|
||||
impl mmr::MmrApi<Block, Hash, BlockNumber> for Runtime {
|
||||
fn generate_proof(block_number: BlockNumber)
|
||||
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
||||
{
|
||||
Mmr::generate_batch_proof(vec![leaf_index])
|
||||
Mmr::generate_batch_proof(vec![block_number])
|
||||
.and_then(|(leaves, proof)| Ok((
|
||||
mmr::EncodableOpaqueLeaf::from_leaf(&leaves[0]),
|
||||
mmr::BatchProof::into_single_leaf_proof(proof)?
|
||||
@@ -1725,18 +1725,18 @@ sp_api::impl_runtime_apis! {
|
||||
Ok(Mmr::mmr_root())
|
||||
}
|
||||
|
||||
fn generate_batch_proof(leaf_indices: Vec<mmr::LeafIndex>)
|
||||
fn generate_batch_proof(block_numbers: Vec<BlockNumber>)
|
||||
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
||||
{
|
||||
Mmr::generate_batch_proof(leaf_indices)
|
||||
Mmr::generate_batch_proof(block_numbers)
|
||||
.map(|(leaves, proof)| (leaves.into_iter().map(|leaf| mmr::EncodableOpaqueLeaf::from_leaf(&leaf)).collect(), proof))
|
||||
}
|
||||
|
||||
fn generate_historical_batch_proof(
|
||||
leaf_indices: Vec<mmr::LeafIndex>,
|
||||
leaves_count: mmr::LeafIndex,
|
||||
block_numbers: Vec<BlockNumber>,
|
||||
best_known_block_number: BlockNumber,
|
||||
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
||||
Mmr::generate_historical_batch_proof(leaf_indices, leaves_count).map(
|
||||
Mmr::generate_historical_batch_proof(block_numbers, best_known_block_number).map(
|
||||
|(leaves, proof)| {
|
||||
(
|
||||
leaves
|
||||
|
||||
Reference in New Issue
Block a user