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.