pub struct NodeApiStateImpl<D> {
data_source: D,
env_vars: Arc<Vec<String>>,
public_node_config: Option<Arc<PublicNodeConfig>>,
}Expand description
Node API state implementation
This struct implements both v1::RewardApi (internal types) and v2::RewardApi (proto types).
Fields§
§data_source: D§env_vars: Arc<Vec<String>>§public_node_config: Option<Arc<PublicNodeConfig>>Implementations§
Source§impl<D> NodeApiStateImpl<D>
impl<D> NodeApiStateImpl<D>
pub fn new(data_source: D) -> Self
pub fn with_env_vars(self, env_vars: Vec<String>) -> Self
pub fn with_public_node_config(self, config: Option<PublicNodeConfig>) -> Self
Sourcefn convert_reward_account_proof_v2(
&self,
proof: &InternalRewardAccountProofV2,
) -> Result<RewardAccountProofV2>
fn convert_reward_account_proof_v2( &self, proof: &InternalRewardAccountProofV2, ) -> Result<RewardAccountProofV2>
Convert RewardAccountProofV2 to proto
Sourcefn convert_reward_merkle_proof_v2(
&self,
proof: &InternalRewardMerkleProofV2,
) -> Result<RewardMerkleProofV2>
fn convert_reward_merkle_proof_v2( &self, proof: &InternalRewardMerkleProofV2, ) -> Result<RewardMerkleProofV2>
Convert RewardMerkleProofV2 enum to proto
Sourcefn convert_merkle_proof(
&self,
proof: &InternalMerkleProof<InternalRewardAmount, RewardAccountV2, KeccakNode, 2>,
) -> Result<MerkleProof>
fn convert_merkle_proof( &self, proof: &InternalMerkleProof<InternalRewardAmount, RewardAccountV2, KeccakNode, 2>, ) -> Result<MerkleProof>
Convert MerkleProof to proto
Sourcefn convert_merkle_node(
&self,
node: &InternalMerkleNode<InternalRewardAmount, RewardAccountV2, KeccakNode>,
) -> Result<MerkleNode>
fn convert_merkle_node( &self, node: &InternalMerkleNode<InternalRewardAmount, RewardAccountV2, KeccakNode>, ) -> Result<MerkleNode>
Convert MerkleNode to proto (recursive)
Trait Implementations§
Source§impl<D> ApiSerializations for NodeApiStateImpl<D>
impl<D> ApiSerializations for NodeApiStateImpl<D>
type Address = Address
type RewardClaimInput = RewardClaimInput
type RewardBalance = Uint<256, 4>
type RewardAccountQueryData = RewardAccountQueryDataV2
type RewardBalances = (Vec<(RewardAccountV2, RewardAmount)>, u64)
type RewardMerkleTreeData = RewardMerkleTreeV2Data
type NamespaceProof = NamespaceProofQueryData
type IncorrectEncodingProof = AvidMIncorrectEncodingNsProof
type StateCertificate = StateCertQueryDataV2<SeqTypes>
type StakeTable = Vec<PeerConfig<SeqTypes>>
type PeerConfig = PeerConfig<SeqTypes>
type LightClientCert = LightClientStateUpdateCertificateV2<SeqTypes>
type NsProof = NsProof
fn deserialize_address(&self, s: &str) -> Result<Self::Address>
fn serialize_reward_claim_input( &self, address: &str, value: &Self::RewardClaimInput, ) -> Result<RewardClaimInput>
fn serialize_reward_balance( &self, value: &Self::RewardBalance, ) -> Result<RewardBalance>
fn serialize_reward_account_query_data( &self, value: &Self::RewardAccountQueryData, ) -> Result<RewardAccountQueryDataV2>
fn serialize_reward_balances( &self, value: &Self::RewardBalances, ) -> Result<RewardBalances>
fn serialize_reward_merkle_tree_data( &self, value: &Self::RewardMerkleTreeData, ) -> Result<RewardMerkleTreeV2Data>
fn serialize_namespace_proof( &self, value: &Self::NamespaceProof, ) -> Result<NamespaceProofResponse>
fn serialize_incorrect_encoding_proof( &self, value: &Self::IncorrectEncodingProof, ) -> Result<IncorrectEncodingProofResponse>
fn serialize_state_certificate( &self, value: &Self::StateCertificate, ) -> Result<StateCertificateResponse>
fn serialize_stake_table( &self, value: &Self::StakeTable, ) -> Result<StakeTableResponse>
fn serialize_peer_config(&self, peer: &Self::PeerConfig) -> Result<PeerConfig>
fn serialize_light_client_cert( &self, cert: &Self::LightClientCert, ) -> Result<LightClientStateUpdateCertificateV2>
fn serialize_ns_proof(&self, proof: &Self::NsProof) -> Result<NsProof>
Source§impl<D> AvailabilityApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + Send + Sync,
impl<D> AvailabilityApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + Send + Sync,
type NamespaceProofQueryData = NamespaceProofQueryData
type IncorrectEncodingProof = AvidMIncorrectEncodingNsProof
type StateCertQueryDataV1 = StateCertQueryDataV1<SeqTypes>
type StateCertQueryDataV2 = StateCertQueryDataV2<SeqTypes>
fn get_namespace_proof<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<Option<Self::NamespaceProofQueryData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_namespace_proof_range<'life0, 'async_trait>(
&'life0 self,
from: u64,
until: u64,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::NamespaceProofQueryData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_namespace_proofs<'life0, 'async_trait>(
&'life0 self,
from: usize,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::NamespaceProofQueryData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_incorrect_encoding_proof<'life0, 'async_trait>(
&'life0 self,
block_id: BlockId,
namespace: u32,
) -> Pin<Box<dyn Future<Output = Result<Self::IncorrectEncodingProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_state_cert<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StateCertQueryDataV1>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_state_cert_v2<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StateCertQueryDataV2>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> BlockStateApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: MerklizedStateDataSource<SeqTypes, BlockMerkleTree, {
<espresso_types::BlockMerkleTree as
jf_merkle_tree_compat::MerkleTreeScheme>::ARITY
}> + MerklizedStateHeightPersistence + Send + Sync,
impl<D> BlockStateApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: MerklizedStateDataSource<SeqTypes, BlockMerkleTree, {
<espresso_types::BlockMerkleTree as
jf_merkle_tree_compat::MerkleTreeScheme>::ARITY
}> + MerklizedStateHeightPersistence + Send + Sync,
type MerkleProof = MerkleProof<Commitment<Header>, u64, Sha3Node, 3>
fn get_block_state_path<'life0, 'async_trait>(
&'life0 self,
snapshot: Snapshot,
key: String,
) -> Pin<Box<dyn Future<Output = Result<Self::MerkleProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_state_height<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> CatchupApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: CatchupDataSource + NodeStateDataSource + Send + Sync,
impl<D> CatchupApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: CatchupDataSource + NodeStateDataSource + Send + Sync,
type FeeAccount = FeeAccount
type RewardAccountV1 = RewardAccountV1
type RewardAccountV2 = RewardAccountV2
type AccountQueryData = AccountQueryData
type FeeMerkleTree = UniversalMerkleTree<FeeAmount, Sha3Digest, FeeAccount, espresso_types::::v0::v0_1::state::FeeMerkleTree::{constant#0}, Sha3Node>
type BlocksFrontier = <LightWeightMerkleTree<Commitment<Header>, Sha3Digest, u64, 3, Sha3Node> as MerkleTreeScheme>::MembershipProof
type ChainConfig = ChainConfig
type LeafChain = Vec<Leaf2<SeqTypes>>
type Cert2 = SimpleCertificate<SeqTypes, Vote2Data<SeqTypes>, SuccessThreshold>
type RewardAccountQueryDataV1 = RewardAccountQueryDataV1
type RewardMerkleTreeV1 = UniversalMerkleTree<RewardAmount, Sha3Digest, RewardAccountV1, espresso_types::::v0::v0_3::state::RewardMerkleTreeV1::{constant#0}, Sha3Node>
type RewardAccountQueryDataV2 = RewardAccountQueryDataV2
type RewardMerkleTreeV2Data = Value
type StateCert = LightClientStateUpdateCertificateV2<SeqTypes>
fn get_account<'life0, 'async_trait>(
&'life0 self,
height: u64,
view: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::AccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_accounts<'life0, 'async_trait>(
&'life0 self,
height: u64,
view: u64,
accounts: Vec<Self::FeeAccount>,
) -> Pin<Box<dyn Future<Output = Result<Self::FeeMerkleTree>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_blocks_frontier<'life0, 'async_trait>(
&'life0 self,
height: u64,
view: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::BlocksFrontier>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_chain_config<'life0, 'async_trait>(
&'life0 self,
commitment: String,
) -> Pin<Box<dyn Future<Output = Result<Self::ChainConfig>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_leaf_chain<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::LeafChain>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_cert2<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::Cert2>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_account_v1<'life0, 'async_trait>(
&'life0 self,
height: u64,
view: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryDataV1>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_accounts_v1<'life0, 'async_trait>(
&'life0 self,
height: u64,
view: u64,
accounts: Vec<Self::RewardAccountV1>,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardMerkleTreeV1>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_account_v2<'life0, 'async_trait>(
&'life0 self,
height: u64,
view: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryDataV2>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_merkle_tree_v2<'life0, 'async_trait>(
&'life0 self,
height: u64,
view: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardMerkleTreeV2Data>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_state_cert<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StateCert>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D: Clone> Clone for NodeApiStateImpl<D>
impl<D: Clone> Clone for NodeApiStateImpl<D>
Source§fn clone(&self) -> NodeApiStateImpl<D>
fn clone(&self) -> NodeApiStateImpl<D>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<D> ConfigApi for NodeApiStateImpl<D>
impl<D> ConfigApi for NodeApiStateImpl<D>
type HotShotConfig = PublicNetworkConfig
type RuntimeConfig = PublicNodeConfig
fn hotshot_config<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::HotShotConfig>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn env<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn runtime_config<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::RuntimeConfig>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> ConsensusApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + StakeTableDataSource<SeqTypes> + Send + Sync,
impl<D> ConsensusApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + StateCertDataSource + StateCertFetchingDataSource<SeqTypes> + StakeTableDataSource<SeqTypes> + Send + Sync,
fn get_state_certificate<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StateCertificate>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_stake_table<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StakeTable>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> DataApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + Sync + Send,
impl<D> DataApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: RewardMerkleTreeDataSource + AvailabilityDataSource<SeqTypes> + NodeDataSource<SeqTypes> + RequestResponseDataSource<SeqTypes> + Sync + Send,
fn get_namespace_proof<'life0, 'async_trait>(
&'life0 self,
namespace_id: u64,
block_height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::NamespaceProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_namespace_proof_range<'life0, 'async_trait>(
&'life0 self,
namespace_id: u64,
from: u64,
until: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::NamespaceProof>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_incorrect_encoding_proof<'life0, 'async_trait>(
&'life0 self,
namespace_id: u64,
block_height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::IncorrectEncodingProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> DatabaseApi for NodeApiStateImpl<D>
impl<D> DatabaseApi for NodeApiStateImpl<D>
type TableSizes = Vec<TableSize>
fn get_table_sizes<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::TableSizes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> ExplorerApi for NodeApiStateImpl<D>
impl<D> ExplorerApi for NodeApiStateImpl<D>
type BlockDetail = BlockDetailResponse<SeqTypes>
type BlockSummaries = BlockSummaryResponse<SeqTypes>
type TransactionDetail = TransactionDetailResponse<SeqTypes>
type TransactionSummaries = TransactionSummariesResponse<SeqTypes>
type ExplorerSummary = ExplorerSummaryResponse<SeqTypes>
type SearchResult = SearchResultResponse<SeqTypes>
fn get_block_detail<'life0, 'async_trait>(
&'life0 self,
ident: BlockIdent,
) -> Pin<Box<dyn Future<Output = Result<Self::BlockDetail>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_summaries<'life0, 'async_trait>(
&'life0 self,
target: BlockIdent,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::BlockSummaries>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_detail<'life0, 'async_trait>(
&'life0 self,
ident: TxIdent,
) -> Pin<Box<dyn Future<Output = Result<Self::TransactionDetail>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_summaries<'life0, 'async_trait>(
&'life0 self,
target: TxIdent,
limit: u64,
filter: TxSummaryFilter,
) -> Pin<Box<dyn Future<Output = Result<Self::TransactionSummaries>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_explorer_summary<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::ExplorerSummary>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_search_result<'life0, 'async_trait>(
&'life0 self,
query: String,
) -> Pin<Box<dyn Future<Output = Result<Self::SearchResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> FeeStateApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: MerklizedStateDataSource<SeqTypes, FeeMerkleTree, {
<espresso_types::FeeMerkleTree as
jf_merkle_tree_compat::MerkleTreeScheme>::ARITY
}> + MerklizedStateHeightPersistence + Send + Sync,
impl<D> FeeStateApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: MerklizedStateDataSource<SeqTypes, FeeMerkleTree, {
<espresso_types::FeeMerkleTree as
jf_merkle_tree_compat::MerkleTreeScheme>::ARITY
}> + MerklizedStateHeightPersistence + Send + Sync,
type MerkleProof = MerkleProof<FeeAmount, FeeAccount, Sha3Node, 256>
type FeeAmount = FeeAmount
fn get_fee_state_path<'life0, 'async_trait>(
&'life0 self,
snapshot: Snapshot,
key: String,
) -> Pin<Box<dyn Future<Output = Result<Self::MerkleProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_fee_state_height<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_fee_balance_latest<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Option<Self::FeeAmount>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> HotShotAvailabilityApi for NodeApiStateImpl<D>
impl<D> HotShotAvailabilityApi for NodeApiStateImpl<D>
type Leaf = LeafQueryData<SeqTypes>
type Block = BlockQueryData<SeqTypes>
type Header = <SeqTypes as NodeType>::BlockHeader
type Payload = PayloadQueryData<SeqTypes>
type VidCommon = VidCommonQueryData<SeqTypes>
type Transaction = TransactionQueryData<SeqTypes>
type TransactionWithProof = TransactionWithProofQueryData<SeqTypes>
type BlockSummary = BlockSummaryQueryData<SeqTypes>
type Limits = Limits
type Cert2 = SimpleCertificate<SeqTypes, Vote2Data<SeqTypes>, SuccessThreshold>
fn get_leaf<'life0, 'async_trait>(
&'life0 self,
id: LeafId,
) -> Pin<Box<dyn Future<Output = Result<Self::Leaf>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_leaf_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Leaf>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_header<'life0, 'async_trait>(
&'life0 self,
id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Self::Header>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_header_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Header>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block<'life0, 'async_trait>(
&'life0 self,
id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Self::Block>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Block>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_payload<'life0, 'async_trait>(
&'life0 self,
id: PayloadId,
) -> Pin<Box<dyn Future<Output = Result<Self::Payload>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_payload_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Payload>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_vid_common<'life0, 'async_trait>(
&'life0 self,
id: BlockId,
) -> Pin<Box<dyn Future<Output = Result<Self::VidCommon>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_vid_common_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::VidCommon>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_by_position<'life0, 'async_trait>(
&'life0 self,
height: u64,
index: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::Transaction>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: String,
) -> Pin<Box<dyn Future<Output = Result<Self::Transaction>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_proof_by_position<'life0, 'async_trait>(
&'life0 self,
height: u64,
index: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::TransactionWithProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transaction_proof_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: String,
) -> Pin<Box<dyn Future<Output = Result<Self::TransactionWithProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_summary<'life0, 'async_trait>(
&'life0 self,
height: usize,
) -> Pin<Box<dyn Future<Output = Result<Self::BlockSummary>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_summary_range<'life0, 'async_trait>(
&'life0 self,
from: usize,
until: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::BlockSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_limits<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Limits>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_cert2<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<Self::Cert2>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_leaves<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Leaf>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_headers<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Header>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_blocks<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Block>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_payloads<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Payload>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_vid_common<'life0, 'async_trait>(
&'life0 self,
from: usize,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::VidCommon>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_transactions<'life0, 'async_trait>(
&'life0 self,
from: usize,
namespace: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Transaction>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> HotShotEventsApi for NodeApiStateImpl<D>
impl<D> HotShotEventsApi for NodeApiStateImpl<D>
type Event = Arc<Event<SeqTypes>>
type StartupInfo = StartupInfo<SeqTypes>
fn startup_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::StartupInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn events<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'static, Self::Event>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> LightClientApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: AvailabilityDataSource<SeqTypes> + MerklizedStateDataSource<SeqTypes, BlockMerkleTree, 3> + NodeStateDataSource + StakeTableDataSource<SeqTypes> + VersionedDataSource + Sized + Send + Sync,
for<'a> <D::Target as VersionedDataSource>::ReadOnly<'a>: NodeStorage<SeqTypes>,
impl<D> LightClientApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: AvailabilityDataSource<SeqTypes> + MerklizedStateDataSource<SeqTypes, BlockMerkleTree, 3> + NodeStateDataSource + StakeTableDataSource<SeqTypes> + VersionedDataSource + Sized + Send + Sync,
for<'a> <D::Target as VersionedDataSource>::ReadOnly<'a>: NodeStorage<SeqTypes>,
type LeafProof = LeafProof
type HeaderProof = HeaderProof
type StakeTableEvents = Vec<StakeTableEvent>
type PayloadProof = PayloadProof
type NamespaceProof = NamespaceProof
fn get_leaf_proof<'life0, 'async_trait>(
&'life0 self,
query: LeafQuery,
finalized: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Self::LeafProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_header_proof<'life0, 'async_trait>(
&'life0 self,
root: u64,
requested: HeaderQuery,
) -> Pin<Box<dyn Future<Output = Result<Self::HeaderProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_light_client_stake_table<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StakeTableEvents>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_payload_proof<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::PayloadProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_payload_proof_range<'life0, 'async_trait>(
&'life0 self,
start: u64,
end: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::PayloadProof>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_lc_namespace_proof<'life0, 'async_trait>(
&'life0 self,
height: u64,
namespace: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::NamespaceProof>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_lc_namespace_proof_range<'life0, 'async_trait>(
&'life0 self,
start: u64,
end: u64,
namespace: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::NamespaceProof>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> NodeApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: NodeDataSource<SeqTypes> + StakeTableDataSource<SeqTypes> + PruningDataSource + Send + Sync,
impl<D> NodeApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: NodeDataSource<SeqTypes> + StakeTableDataSource<SeqTypes> + PruningDataSource + Send + Sync,
type SyncStatus = SyncStatusQueryData
type HeaderWindow = TimeWindowQueryData<<SeqTypes as NodeType>::BlockHeader>
type Limits = Limits
type StakeTable = Vec<PeerConfig<SeqTypes>>
type StakeTableCurrent = StakeTableWithEpochNumber<SeqTypes>
type Validators = IndexMap<Address, AuthenticatedValidator<VerKey>>
type AllValidators = Vec<RegisteredValidator<VerKey>>
type Participation = HashMap<VerKey, f64>
type BlockReward = Option<RewardAmount>
type Block = BlockQueryData<SeqTypes>
type Leaf = LeafQueryData<SeqTypes>
fn block_height<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count_transactions<'life0, 'async_trait>(
&'life0 self,
from: Option<u64>,
to: Option<u64>,
namespace: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn payload_size<'life0, 'async_trait>(
&'life0 self,
from: Option<u64>,
to: Option<u64>,
namespace: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sync_status<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::SyncStatus>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_header_window<'life0, 'async_trait>(
&'life0 self,
start: HeaderWindowStart,
end: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::HeaderWindow>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn limits<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Limits>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stake_table<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StakeTable>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stake_table_current<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::StakeTableCurrent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn da_stake_table<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::StakeTable>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn da_stake_table_current<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::StakeTableCurrent>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_validators<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::Validators>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_all_validators<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
offset: u64,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::AllValidators>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn current_proposal_participation<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Participation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn proposal_participation<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::Participation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn current_vote_participation<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Participation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn vote_participation<'life0, 'async_trait>(
&'life0 self,
epoch: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::Participation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_reward<'life0, 'async_trait>(
&'life0 self,
epoch: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Self::BlockReward>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_oldest_block<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Self::Block>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_oldest_leaf<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Self::Leaf>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> RewardApi for NodeApiStateImpl<D>
impl<D> RewardApi for NodeApiStateImpl<D>
fn get_reward_claim_input<'life0, 'async_trait>(
&'life0 self,
address: Self::Address,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardClaimInput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_balance<'life0, 'async_trait>(
&'life0 self,
address: Self::Address,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
address: Self::Address,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_balances<'life0, 'async_trait>(
&'life0 self,
height: u64,
offset: u64,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalances>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_merkle_tree_v2<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardMerkleTreeData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> RewardApi for NodeApiStateImpl<D>where
D: RewardMerkleTreeDataSource,
impl<D> RewardApi for NodeApiStateImpl<D>where
D: RewardMerkleTreeDataSource,
Source§type RewardClaimInput = RewardClaimInput
type RewardClaimInput = RewardClaimInput
Source§type RewardBalance = RewardAmount
type RewardBalance = RewardAmount
Source§type RewardAccountQueryData = RewardAccountQueryDataV2
type RewardAccountQueryData = RewardAccountQueryDataV2
Source§type RewardAmounts = Vec<(Address, RewardAmount)>
type RewardAmounts = Vec<(Address, RewardAmount)>
Source§type RewardMerkleTreeData = Vec<u8>
type RewardMerkleTreeData = Vec<u8>
Source§fn get_reward_claim_input<'life0, 'async_trait>(
&'life0 self,
block_height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardClaimInput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_claim_input<'life0, 'async_trait>(
&'life0 self,
block_height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardClaimInput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_reward_balance<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_balance<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_latest_reward_balance<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_latest_reward_balance<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardBalance>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
height: u64,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_latest_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_latest_reward_account_proof<'life0, 'async_trait>(
&'life0 self,
address: String,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAccountQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_reward_amounts<'life0, 'async_trait>(
&'life0 self,
height: u64,
offset: u64,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAmounts>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reward_amounts<'life0, 'async_trait>(
&'life0 self,
height: u64,
offset: u64,
limit: u64,
) -> Pin<Box<dyn Future<Output = Result<Self::RewardAmounts>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> StateSignatureApi for NodeApiStateImpl<D>
impl<D> StateSignatureApi for NodeApiStateImpl<D>
Source§impl<D> StatusApi for NodeApiStateImpl<D>
impl<D> StatusApi for NodeApiStateImpl<D>
fn block_height<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn success_rate<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<f64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn time_since_last_decide<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn metrics<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<D> SubmitApi for NodeApiStateImpl<D>
impl<D> SubmitApi for NodeApiStateImpl<D>
Source§impl<D> TokenApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: TokenDataSource<SeqTypes> + NodeStateDataSource + Send + Sync,
impl<D> TokenApi for NodeApiStateImpl<D>where
D: Deref + Clone + Send + Sync + 'static,
D::Target: TokenDataSource<SeqTypes> + NodeStateDataSource + Send + Sync,
fn total_minted_supply<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn circulating_supply<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn circulating_supply_ethereum<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn total_issued_supply<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn total_reward_distributed<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl<D> Freeze for NodeApiStateImpl<D>where
D: Freeze,
impl<D> RefUnwindSafe for NodeApiStateImpl<D>where
D: RefUnwindSafe,
impl<D> Send for NodeApiStateImpl<D>where
D: Send,
impl<D> Sync for NodeApiStateImpl<D>where
D: Sync,
impl<D> Unpin for NodeApiStateImpl<D>where
D: Unpin,
impl<D> UnsafeUnpin for NodeApiStateImpl<D>where
D: UnsafeUnpin,
impl<D> UnwindSafe for NodeApiStateImpl<D>where
D: UnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
§impl<T> Conv for T
impl<T> Conv for T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§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.§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.§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.§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.§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.§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.§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.§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.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute] value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi [Quirk] value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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 more§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 more§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
§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
§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.§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.§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.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§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 more§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 more§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 more§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 more§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 more§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 more§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.§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.§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.§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.§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.§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.§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.