mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-18 10:41:01 +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:
Generated
+239
-179
File diff suppressed because it is too large
Load Diff
@@ -128,7 +128,7 @@ pub trait RuntimeApiCollection:
|
|||||||
+ ParachainHost<Block>
|
+ ParachainHost<Block>
|
||||||
+ sp_block_builder::BlockBuilder<Block>
|
+ sp_block_builder::BlockBuilder<Block>
|
||||||
+ frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Nonce>
|
+ frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Nonce>
|
||||||
+ sp_mmr_primitives::MmrApi<Block, <Block as BlockT>::Hash>
|
+ sp_mmr_primitives::MmrApi<Block, <Block as BlockT>::Hash, BlockNumber>
|
||||||
+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
|
+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
|
||||||
+ sp_api::Metadata<Block>
|
+ sp_api::Metadata<Block>
|
||||||
+ sp_offchain::OffchainWorkerApi<Block>
|
+ sp_offchain::OffchainWorkerApi<Block>
|
||||||
@@ -149,7 +149,7 @@ where
|
|||||||
+ ParachainHost<Block>
|
+ ParachainHost<Block>
|
||||||
+ sp_block_builder::BlockBuilder<Block>
|
+ sp_block_builder::BlockBuilder<Block>
|
||||||
+ frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Nonce>
|
+ frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Nonce>
|
||||||
+ sp_mmr_primitives::MmrApi<Block, <Block as BlockT>::Hash>
|
+ sp_mmr_primitives::MmrApi<Block, <Block as BlockT>::Hash, BlockNumber>
|
||||||
+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
|
+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
|
||||||
+ sp_api::Metadata<Block>
|
+ sp_api::Metadata<Block>
|
||||||
+ sp_offchain::OffchainWorkerApi<Block>
|
+ sp_offchain::OffchainWorkerApi<Block>
|
||||||
|
|||||||
@@ -108,7 +108,11 @@ where
|
|||||||
+ Sync
|
+ Sync
|
||||||
+ 'static,
|
+ 'static,
|
||||||
C::Api: frame_rpc_system::AccountNonceApi<Block, AccountId, Nonce>,
|
C::Api: frame_rpc_system::AccountNonceApi<Block, AccountId, Nonce>,
|
||||||
C::Api: pallet_mmr_rpc::MmrRuntimeApi<Block, <Block as sp_runtime::traits::Block>::Hash>,
|
C::Api: pallet_mmr_rpc::MmrRuntimeApi<
|
||||||
|
Block,
|
||||||
|
<Block as sp_runtime::traits::Block>::Hash,
|
||||||
|
BlockNumber,
|
||||||
|
>,
|
||||||
C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
|
C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
|
||||||
C::Api: BabeApi<Block>,
|
C::Api: BabeApi<Block>,
|
||||||
C::Api: BlockBuilder<Block>,
|
C::Api: BlockBuilder<Block>,
|
||||||
|
|||||||
@@ -1714,8 +1714,8 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl mmr::MmrApi<Block, Hash> for Runtime {
|
impl mmr::MmrApi<Block, Hash, BlockNumber> for Runtime {
|
||||||
fn generate_proof(_leaf_index: u64)
|
fn generate_proof(_block_number: BlockNumber)
|
||||||
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
@@ -1739,15 +1739,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_batch_proof(_leaf_indices: Vec<u64>)
|
fn generate_batch_proof(_block_numbers: Vec<BlockNumber>)
|
||||||
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_historical_batch_proof(
|
fn generate_historical_batch_proof(
|
||||||
_leaf_indices: Vec<u64>,
|
_block_numbers: Vec<BlockNumber>,
|
||||||
_leaves_count: u64,
|
_best_known_block_number: BlockNumber,
|
||||||
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1807,8 +1807,8 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl mmr::MmrApi<Block, Hash> for Runtime {
|
impl mmr::MmrApi<Block, Hash, BlockNumber> for Runtime {
|
||||||
fn generate_proof(_leaf_index: u64)
|
fn generate_proof(_block_number: BlockNumber)
|
||||||
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
@@ -1832,15 +1832,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_batch_proof(_leaf_indices: Vec<u64>)
|
fn generate_batch_proof(_block_numbers: Vec<BlockNumber>)
|
||||||
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_historical_batch_proof(
|
fn generate_historical_batch_proof(
|
||||||
_leaf_indices: Vec<u64>,
|
_block_numbers: Vec<BlockNumber>,
|
||||||
_leaves_count: u64,
|
_best_known_block_number: BlockNumber,
|
||||||
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1690,11 +1690,11 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl mmr::MmrApi<Block, Hash> for Runtime {
|
impl mmr::MmrApi<Block, Hash, BlockNumber> for Runtime {
|
||||||
fn generate_proof(leaf_index: u64)
|
fn generate_proof(block_number: BlockNumber)
|
||||||
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
-> 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((
|
.and_then(|(leaves, proof)| Ok((
|
||||||
mmr::EncodableOpaqueLeaf::from_leaf(&leaves[0]),
|
mmr::EncodableOpaqueLeaf::from_leaf(&leaves[0]),
|
||||||
mmr::BatchProof::into_single_leaf_proof(proof)?
|
mmr::BatchProof::into_single_leaf_proof(proof)?
|
||||||
@@ -1725,18 +1725,18 @@ sp_api::impl_runtime_apis! {
|
|||||||
Ok(Mmr::mmr_root())
|
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>
|
-> 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))
|
.map(|(leaves, proof)| (leaves.into_iter().map(|leaf| mmr::EncodableOpaqueLeaf::from_leaf(&leaf)).collect(), proof))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_historical_batch_proof(
|
fn generate_historical_batch_proof(
|
||||||
leaf_indices: Vec<mmr::LeafIndex>,
|
block_numbers: Vec<BlockNumber>,
|
||||||
leaves_count: mmr::LeafIndex,
|
best_known_block_number: BlockNumber,
|
||||||
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
) -> 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, proof)| {
|
||||||
(
|
(
|
||||||
leaves
|
leaves
|
||||||
|
|||||||
@@ -919,8 +919,8 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl mmr::MmrApi<Block, Hash> for Runtime {
|
impl mmr::MmrApi<Block, Hash, BlockNumber> for Runtime {
|
||||||
fn generate_proof(_leaf_index: u64)
|
fn generate_proof(_block_number: BlockNumber)
|
||||||
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
@@ -944,15 +944,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_batch_proof(_leaf_indices: Vec<u64>)
|
fn generate_batch_proof(_block_numbers: Vec<BlockNumber>)
|
||||||
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_historical_batch_proof(
|
fn generate_historical_batch_proof(
|
||||||
_leaf_indices: Vec<u64>,
|
_block_numbers: Vec<BlockNumber>,
|
||||||
_leaves_count: u64,
|
_best_known_block_number: BlockNumber,
|
||||||
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1448,8 +1448,8 @@ sp_api::impl_runtime_apis! {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl mmr::MmrApi<Block, Hash> for Runtime {
|
impl mmr::MmrApi<Block, Hash, BlockNumber> for Runtime {
|
||||||
fn generate_proof(_leaf_index: u64)
|
fn generate_proof(_block_number: BlockNumber)
|
||||||
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
-> Result<(mmr::EncodableOpaqueLeaf, mmr::Proof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -1477,15 +1477,15 @@ sp_api::impl_runtime_apis! {
|
|||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_batch_proof(_leaf_indices: Vec<u64>)
|
fn generate_batch_proof(_block_numbers: Vec<BlockNumber>)
|
||||||
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
-> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error>
|
||||||
{
|
{
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_historical_batch_proof(
|
fn generate_historical_batch_proof(
|
||||||
_leaf_indices: Vec<u64>,
|
_block_numbers: Vec<BlockNumber>,
|
||||||
_leaves_count: u64,
|
_best_known_block_number: BlockNumber,
|
||||||
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
) -> Result<(Vec<mmr::EncodableOpaqueLeaf>, mmr::BatchProof<Hash>), mmr::Error> {
|
||||||
Err(mmr::Error::PalletNotIncluded)
|
Err(mmr::Error::PalletNotIncluded)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user