mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 18:41:05 +00:00
Storage chain: Runtime module (#8624)
* Transaction storage runtime module * WIP: Tests * Tests, benchmarks and docs * Made check_proof mandatory * Typo * Renamed a crate * Apply suggestions from code review Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Added weight for on_finalize * Fixed counter mutations * Reorganized tests * Fixed build * Update for the new inherent API * Reworked for the new inherents API * Apply suggestions from code review Co-authored-by: cheme <emericchevalier.pro@gmail.com> Co-authored-by: Alexander Popiak <alexander.popiak@parity.io> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> * Store transactions in a Vec * Added FeeDestination * Get rid of constants * Fixed node runtime build * Fixed benches * Update frame/transaction-storage/src/lib.rs Co-authored-by: cheme <emericchevalier.pro@gmail.com> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: cheme <emericchevalier.pro@gmail.com> Co-authored-by: Alexander Popiak <alexander.popiak@parity.io> Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
@@ -1982,6 +1982,13 @@ impl<B, E, Block, RA> BlockBackend<Block> for Client<B, E, Block, RA>
|
||||
fn has_indexed_transaction(&self, hash: &Block::Hash) -> sp_blockchain::Result<bool> {
|
||||
self.backend.blockchain().has_indexed_transaction(hash)
|
||||
}
|
||||
|
||||
fn block_indexed_body(
|
||||
&self,
|
||||
id: &BlockId<Block>
|
||||
) -> sp_blockchain::Result<Option<Vec<Vec<u8>>>> {
|
||||
self.backend.blockchain().block_indexed_body(*id)
|
||||
}
|
||||
}
|
||||
|
||||
impl<B, E, Block, RA> backend::AuxStore for Client<B, E, Block, RA>
|
||||
@@ -2050,3 +2057,26 @@ impl<BE, E, B, RA> sp_consensus::block_validation::Chain<B> for Client<BE, E, B,
|
||||
Client::block_status(self, id).map_err(|e| Box::new(e) as Box<_>)
|
||||
}
|
||||
}
|
||||
|
||||
impl<BE, E, B, RA> sp_transaction_storage_proof::IndexedBody<B> for Client<BE, E, B, RA>
|
||||
where
|
||||
BE: backend::Backend<B>,
|
||||
E: CallExecutor<B>,
|
||||
B: BlockT,
|
||||
{
|
||||
fn block_indexed_body(
|
||||
&self,
|
||||
number: NumberFor<B>,
|
||||
) ->Result<Option<Vec<Vec<u8>>>, sp_transaction_storage_proof::Error> {
|
||||
self.backend.blockchain().block_indexed_body(BlockId::number(number))
|
||||
.map_err(|e| sp_transaction_storage_proof::Error::Application(Box::new(e)))
|
||||
}
|
||||
|
||||
fn number(
|
||||
&self,
|
||||
hash: B::Hash,
|
||||
) -> Result<Option<NumberFor<B>>, sp_transaction_storage_proof::Error> {
|
||||
self.backend.blockchain().number(hash)
|
||||
.map_err(|e| sp_transaction_storage_proof::Error::Application(Box::new(e)))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user