Trait serai_processor::networks::Output

source ·
pub trait Output<N: Network>: Send + Sync + Sized + Clone + PartialEq + Eq + Debug {
    type Id: 'static + Id;

    // Required methods
    fn kind(&self) -> OutputType;
    fn id(&self) -> Self::Id;
    fn tx_id(&self) -> <N::Transaction as Transaction<N>>::Id;
    fn key(&self) -> <N::Curve as Ciphersuite>::G;
    fn presumed_origin(&self) -> Option<N::Address>;
    fn balance(&self) -> ExternalBalance;
    fn data(&self) -> &[u8] ;
    fn write<W: Write>(&self, writer: &mut W) -> Result<()>;
    fn read<R: Read>(reader: &mut R) -> Result<Self>;
}

Required Associated Types§

source

type Id: 'static + Id

Required Methods§

source

fn kind(&self) -> OutputType

source

fn id(&self) -> Self::Id

source

fn tx_id(&self) -> <N::Transaction as Transaction<N>>::Id

source

fn key(&self) -> <N::Curve as Ciphersuite>::G

source

fn presumed_origin(&self) -> Option<N::Address>

source

fn balance(&self) -> ExternalBalance

source

fn data(&self) -> &[u8]

source

fn write<W: Write>(&self, writer: &mut W) -> Result<()>

source

fn read<R: Read>(reader: &mut R) -> Result<Self>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<D: Db> Output<Ethereum<D>> for InInstruction

§

type Id = [u8; 32]

source§

fn kind(&self) -> OutputType

source§

fn id(&self) -> Self::Id

source§

fn tx_id(&self) -> [u8; 32]

source§

fn key(&self) -> <Secp256k1 as Ciphersuite>::G

source§

fn presumed_origin(&self) -> Option<Address>

source§

fn balance(&self) -> ExternalBalance

source§

fn data(&self) -> &[u8]

source§

fn write<W: Write>(&self, writer: &mut W) -> Result<()>

source§

fn read<R: Read>(reader: &mut R) -> Result<Self>

Implementors§

source§

impl Output<Bitcoin> for serai_processor::networks::bitcoin::Output

§

type Id = OutputId

source§

impl Output<Monero> for serai_processor::networks::monero::Output

§

type Id = [u8; 32]