pub enum ReadResponse {
Show 32 variants
UsageInfo(u64),
Tip(Option<(Height, Hash)>),
TipPoolValues {
tip_height: Height,
tip_hash: Hash,
value_balance: ValueBalance<NonNegative>,
},
BlockInfo(Option<BlockInfo>),
Depth(Option<u32>),
Block(Option<Arc<Block>>),
BlockAndSize(Option<(Arc<Block>, usize)>),
BlockHeader {
header: Arc<Header>,
hash: Hash,
height: Height,
next_block_hash: Option<Hash>,
},
Transaction(Option<MinedTx>),
AnyChainTransaction(Option<AnyTx>),
TransactionIdsForBlock(Option<Arc<[Hash]>>),
AnyChainTransactionIdsForBlock(Option<(Arc<[Hash]>, bool)>),
BlockLocator(Vec<Hash>),
BlockHashes(Vec<Hash>),
BlockHeaders(Vec<CountedHeader>),
UnspentBestChainUtxo(Option<Utxo>),
AnyChainUtxo(Option<Utxo>),
SaplingTree(Option<Arc<NoteCommitmentTree>>),
OrchardTree(Option<Arc<NoteCommitmentTree>>),
SaplingSubtrees(BTreeMap<NoteCommitmentSubtreeIndex, NoteCommitmentSubtreeData<Node>>),
OrchardSubtrees(BTreeMap<NoteCommitmentSubtreeIndex, NoteCommitmentSubtreeData<Node>>),
AddressBalance {
balance: Amount<NonNegative>,
received: u64,
},
AddressesTransactionIds(BTreeMap<TransactionLocation, Hash>),
AddressUtxos(AddressUtxos),
ValidBestChainTipNullifiersAndAnchors,
BestChainNextMedianTimePast(DateTime32),
BlockHash(Option<Hash>),
ChainInfo(GetBlockTemplateChainInfo),
SolutionRate(Option<u128>),
ValidBlockProposal,
TipBlockSize(Option<usize>),
NonFinalizedBlocksListener(NonFinalizedBlocksListener),
}Expand description
A response to a read-only
ReadStateService’s ReadRequest.
Variants§
UsageInfo(u64)
Response to ReadRequest::UsageInfo with the current best chain tip.
Tip(Option<(Height, Hash)>)
Response to ReadRequest::Tip with the current best chain tip.
TipPoolValues
Response to ReadRequest::TipPoolValues with
the current best chain tip and its ValueBalance.
Fields
value_balance: ValueBalance<NonNegative>The value pool balance at the current best chain tip.
BlockInfo(Option<BlockInfo>)
Response to ReadRequest::BlockInfo with
the block info after the specified block.
Depth(Option<u32>)
Response to ReadRequest::Depth with the depth of the specified block.
Block(Option<Arc<Block>>)
Response to ReadRequest::Block with the specified block.
BlockAndSize(Option<(Arc<Block>, usize)>)
Response to ReadRequest::BlockAndSize with the specified block and
serialized size.
BlockHeader
The response to a BlockHeader request.
Fields
Transaction(Option<MinedTx>)
Response to ReadRequest::Transaction with the specified transaction.
AnyChainTransaction(Option<AnyTx>)
Response to Request::Transaction with the specified transaction.
TransactionIdsForBlock(Option<Arc<[Hash]>>)
Response to ReadRequest::TransactionIdsForBlock,
with an list of transaction hashes in block order,
or None if the block was not found.
AnyChainTransactionIdsForBlock(Option<(Arc<[Hash]>, bool)>)
Response to ReadRequest::AnyChainTransactionIdsForBlock, with an list of
transaction hashes in block order and a flag indicating if the block is
in the best chain, or None if the block was not found.
BlockLocator(Vec<Hash>)
Response to ReadRequest::BlockLocator with a block locator object.
BlockHashes(Vec<Hash>)
The response to a FindBlockHashes request.
BlockHeaders(Vec<CountedHeader>)
The response to a FindBlockHeaders request.
UnspentBestChainUtxo(Option<Utxo>)
The response to a UnspentBestChainUtxo request, from verified blocks in the
best non-finalized chain, or the finalized chain.
AnyChainUtxo(Option<Utxo>)
The response to an AnyChainUtxo request, from verified blocks in
any non-finalized chain, or the finalized chain.
This response is purely informational, there is no guarantee that the UTXO remains unspent in the best chain.
SaplingTree(Option<Arc<NoteCommitmentTree>>)
Response to ReadRequest::SaplingTree with the specified Sapling note commitment tree.
OrchardTree(Option<Arc<NoteCommitmentTree>>)
Response to ReadRequest::OrchardTree with the specified Orchard note commitment tree.
SaplingSubtrees(BTreeMap<NoteCommitmentSubtreeIndex, NoteCommitmentSubtreeData<Node>>)
Response to ReadRequest::SaplingSubtrees with the specified Sapling note commitment
subtrees.
OrchardSubtrees(BTreeMap<NoteCommitmentSubtreeIndex, NoteCommitmentSubtreeData<Node>>)
Response to ReadRequest::OrchardSubtrees with the specified Orchard note commitment
subtrees.
AddressBalance
Response to ReadRequest::AddressBalance with the total balance of the addresses,
and the total received funds, including change.
Fields
balance: Amount<NonNegative>The total balance of the addresses.
AddressesTransactionIds(BTreeMap<TransactionLocation, Hash>)
Response to ReadRequest::TransactionIdsByAddresses
with the obtained transaction ids, in the order they appear in blocks.
AddressUtxos(AddressUtxos)
Response to ReadRequest::UtxosByAddresses with found utxos and transaction data.
ValidBestChainTipNullifiersAndAnchors
Response to ReadRequest::CheckBestChainTipNullifiersAndAnchors.
Does not check transparent UTXO inputs
BestChainNextMedianTimePast(DateTime32)
Response to ReadRequest::BestChainNextMedianTimePast.
Contains the median-time-past for the next block on the best chain.
BlockHash(Option<Hash>)
Response to ReadRequest::BestChainBlockHash with the specified block hash.
ChainInfo(GetBlockTemplateChainInfo)
Response to ReadRequest::ChainInfo with the state
information needed by the getblocktemplate RPC method.
SolutionRate(Option<u128>)
Response to ReadRequest::SolutionRate
ValidBlockProposal
Response to ReadRequest::CheckBlockProposalValidity
TipBlockSize(Option<usize>)
Response to ReadRequest::TipBlockSize
NonFinalizedBlocksListener(NonFinalizedBlocksListener)
Response to ReadRequest::NonFinalizedBlocksListener
Trait Implementations§
Source§impl Clone for ReadResponse
impl Clone for ReadResponse
Source§fn clone(&self) -> ReadResponse
fn clone(&self) -> ReadResponse
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReadResponse
impl Debug for ReadResponse
Source§impl PartialEq for ReadResponse
impl PartialEq for ReadResponse
Source§impl TryFrom<ReadResponse> for Response
Conversion from read-only ReadResponses to read-write Responses.
impl TryFrom<ReadResponse> for Response
Conversion from read-only ReadResponses to read-write Responses.
Used to return read requests concurrently from the StateService.
impl Eq for ReadResponse
impl StructuralPartialEq for ReadResponse
Auto Trait Implementations§
impl Freeze for ReadResponse
impl RefUnwindSafe for ReadResponse
impl Send for ReadResponse
impl Sync for ReadResponse
impl Unpin for ReadResponse
impl UnwindSafe for ReadResponse
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.