penumbra_shielded_pool::component

Trait NoteManager

Source
pub trait NoteManager: StateWrite {
    // Provided methods
    fn mint_note<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        value: Value,
        address: &'life1 Address,
        source: CommitmentSource,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: Send + 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn add_note_payload<'life0, 'async_trait>(
        &'life0 mut self,
        note_payload: NotePayload,
        source: CommitmentSource,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: Send + 'async_trait,
             'life0: 'async_trait { ... }
    fn add_rolled_up_payload<'life0, 'async_trait>(
        &'life0 mut self,
        note_commitment: StateCommitment,
        source: CommitmentSource,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: Send + 'async_trait,
             'life0: 'async_trait { ... }
    fn pending_note_payloads(
        &self,
    ) -> Vector<(Position, NotePayload, CommitmentSource)> { ... }
    fn pending_rolled_up_payloads(&self) -> Vector<(Position, StateCommitment)> { ... }
}
Available on crate feature component only.
Expand description

Manages the addition of new notes to the chain state.

Provided Methods§

Source

fn mint_note<'life0, 'life1, 'async_trait>( &'life0 mut self, value: Value, address: &'life1 Address, source: CommitmentSource, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: Send + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Mint a new (public) note into the shielded pool.

Most notes in the shielded pool are created by client transactions. This method allows the chain to inject new value into the shielded pool on its own.

Source

fn add_note_payload<'life0, 'async_trait>( &'life0 mut self, note_payload: NotePayload, source: CommitmentSource, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: Send + 'async_trait, 'life0: 'async_trait,

Source

fn add_rolled_up_payload<'life0, 'async_trait>( &'life0 mut self, note_commitment: StateCommitment, source: CommitmentSource, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: Send + 'async_trait, 'life0: 'async_trait,

Source

fn pending_note_payloads( &self, ) -> Vector<(Position, NotePayload, CommitmentSource)>

Source

fn pending_rolled_up_payloads(&self) -> Vector<(Position, StateCommitment)>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§