Struct snapps_txn_reference_impl::party::PartyBody[][src]

pub struct PartyBody<'a> {
    pub public_key: CompressedPublicKey,
    pub update: PartyUpdate<'a>,
    pub token_id: TokenID,
    pub balance_change: SignedAmount,
    pub increment_nonce: bool,
    pub events: &'a Events<'a>,
    pub sequence_events: &'a SequenceEvents<'a>,
    pub call_data: CallData,
    pub call_depth: u8,
    pub protocol_state_condition: ProtocolStateCondition,
    pub account_condition: Account,
    pub use_full_commitment: bool,
}
Expand description

The body of a single account update.

Fields

public_key: CompressedPublicKey

The public key of the account that the update applies to.

update: PartyUpdate<'a>

The updates to apply to the account.

token_id: TokenID

The token ID held by the account that this update should apply to.

balance_change: SignedAmount

The change in balance to apply to the account. A Positive change increases the balance of the account; a Negative change decreases it.

increment_nonce: bool

Whether to increment the account’s nonce when applying this update.

events: &'a Events<'a>

The list of ‘events’ emitted by the snapp for this account, used to reveal auxiliary information that will not be directly stored within the snapp account. See crate::event for more details.

sequence_events: &'a SequenceEvents<'a>

The list of ‘sequence events’ emitted by the snapp for this account.

These events are accumulated in the order that a block producer selects the transactions, and are made available via a cryptographic commitment stored in the sequence_event::SequenceState data structure. A ‘supervisor’ or ‘roll-up’ rule in the snapp smart contract may use this data to apply updates in a deterministic order when there otherwise might be data races.

call_data: CallData

The opaque ‘call data’

call_depth: u8

The ‘depth’ into the call stack, used to compute the crate::call_stack for the transaction. This depth must always be > 0 and may only increase by 1, but may decrease by any amount. See crate::call_stack for more.

protocol_state_condition: ProtocolStateCondition

The condition that must be satisfied by the procotol state of the most recent block in order for this update to be accepted.

account_condition: Account

The condition that must be satisfied by this account in order for this update to be accepted.

use_full_commitment: bool

Whether to use the hash of the full transaction – including the fee payer – in the signature. If false, only the non-fee-payer updates are included in the hash, and this party must increment its nonce to prevent replay attacks.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.