#[repr(C)]pub struct Transaction {
pub invocation: Invocation,
pub uniquifier: Uniquifier,
pub contracts_to_deploy: VecM<Contract>,
pub auth_claim: AuthClaim,
}Expand description
A complete transaction that can be executed on the Thruput blockchain.
Transactions are the fundamental unit of state modification. Each transaction:
- Invokes a single contract method (which may make subinvocations)
- Includes claims about attached signatures, which must be verified before execution can begin. A transaction is invalid if any attached signatures are invalid or if the attached signatures do not match the auth claims.
- Can deploy new contracts that will be available during execution
- Must have a
Uniquifierthat has never before been used for this address
Fields§
§invocation: InvocationThe root contract invocation for this transaction.
uniquifier: UniquifierUniqueness and replay protection data.
contracts_to_deploy: VecM<Contract>Contracts made available for deployment during this transaction.
Attaching a contract does not deploy it: nothing reaches the chain unless a frame deploys it with the DeployContract syscall, which can then be invoked for the rest of the transaction. Contracts whose code is already on-chain do not need to be included here.
auth_claim: AuthClaimAuthorization claim specifying required signatures.
See AuthClaim in auth_claim.x for details.
Trait Implementations§
Source§impl Clone for Transaction
impl Clone for Transaction
Source§fn clone(&self) -> Transaction
fn clone(&self) -> Transaction
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ConstMaxSize for Transaction
impl ConstMaxSize for Transaction
Source§impl ConstMaxSize for Transaction
impl ConstMaxSize for Transaction
Source§impl Debug for Transaction
impl Debug for Transaction
impl EncodesAs<Transaction> for Transaction
impl Eq for Transaction
Source§impl Hash for Transaction
impl Hash for Transaction
Source§impl JsonSchema for Transaction
impl JsonSchema for Transaction
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl Ord for Transaction
impl Ord for Transaction
Source§fn cmp(&self, other: &Transaction) -> Ordering
fn cmp(&self, other: &Transaction) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for Transaction
impl PartialEq for Transaction
Source§impl PartialOrd for Transaction
impl PartialOrd for Transaction
Source§impl<'_r> ReadXDR<'_r> for Transaction
impl<'_r> ReadXDR<'_r> for Transaction
Source§fn read_xdr<R>(r: &mut R) -> Result<Transaction, ReadError>where
R: Reader<'_r>,
fn read_xdr<R>(r: &mut R) -> Result<Transaction, ReadError>where
R: Reader<'_r>,
Reads an XDR value from the reader. Read more
Source§fn read_xdr_in_place<R, '__xdrs_s>(
r: &mut R,
__xdrs_slot: Slot<'__xdrs_s, Transaction>,
) -> Result<Init<'__xdrs_s, Transaction>, ReadError>where
R: Reader<'_r>,
fn read_xdr_in_place<R, '__xdrs_s>(
r: &mut R,
__xdrs_slot: Slot<'__xdrs_s, Transaction>,
) -> Result<Init<'__xdrs_s, Transaction>, ReadError>where
R: Reader<'_r>,
Reads an XDR value directly into
slot, without first building it
on the stack. Read moreimpl StructuralPartialEq for Transaction
Source§impl WriteXDR for Transaction
impl WriteXDR for Transaction
Source§fn write_xdr<F, W>(&self, w: &mut W) -> Result<(), WriteError>where
W: Writer<F>,
fn write_xdr<F, W>(&self, w: &mut W) -> Result<(), WriteError>where
W: Writer<F>,
Writes this value as XDR data to the writer. Read more
Source§unsafe fn write_xdr_unchecked<F, W>(&self, w: &mut W)where
W: WriterUnchecked<F>,
unsafe fn write_xdr_unchecked<F, W>(&self, w: &mut W)where
W: WriterUnchecked<F>,
Writes this value as XDR data to the writer, without runtime checks. Read more
Auto Trait Implementations§
impl Freeze for Transaction
impl RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnsafeUnpin for Transaction
impl UnwindSafe for Transaction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more