pub struct PeginData<'tx> {
pub outpoint: OutPoint,
pub value: u64,
pub asset: Asset,
pub genesis_hash: Sha256dHash,
pub claim_script: &'tx [u8],
pub tx: &'tx [u8],
pub merkle_proof: &'tx [u8],
pub referenced_block: Sha256dHash,
}
Expand description
Parsed data from a transaction input’s pegin witness
Fields
outpoint: OutPoint
Reference to the pegin output on the mainchain
value: u64
The value, in satoshis, of the pegin
asset: Asset
Asset type being pegged in
genesis_hash: Sha256dHash
Hash of genesis block of originating blockchain
claim_script: &'tx [u8]
The claim script that we should hash to tweak our address. Unparsed to avoid unnecessary allocation and copying. Typical use is simply to feed it raw into a hash function.
tx: &'tx [u8]
Mainchain transaction; not parsed to save time/memory since the parsed transaction is typically not useful without auxillary data (e.g. knowing how to compute pegin addresses for the sidechain).
merkle_proof: &'tx [u8]
Merkle proof of transaction inclusion; also not parsed
referenced_block: Sha256dHash
The Bitcoin block that the pegin output appears in; scraped from the transaction inclusion proof
Trait Implementations
sourceimpl<'tx> PartialEq<PeginData<'tx>> for PeginData<'tx>
impl<'tx> PartialEq<PeginData<'tx>> for PeginData<'tx>
impl<'tx> Copy for PeginData<'tx>
impl<'tx> Eq for PeginData<'tx>
impl<'tx> StructuralEq for PeginData<'tx>
impl<'tx> StructuralPartialEq for PeginData<'tx>
Auto Trait Implementations
impl<'tx> RefUnwindSafe for PeginData<'tx>
impl<'tx> Send for PeginData<'tx>
impl<'tx> Sync for PeginData<'tx>
impl<'tx> Unpin for PeginData<'tx>
impl<'tx> UnwindSafe for PeginData<'tx>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more