Struct CommonFields

Source
pub struct CommonFields<'a, F>{
Show 14 fields pub account: Cow<'a, str>, pub transaction_type: TransactionType, pub account_txn_id: Option<Cow<'a, str>>, pub fee: Option<XRPAmount<'a>>, pub flags: FlagCollection<F>, pub last_ledger_sequence: Option<u32>, pub memos: Option<Vec<Memo>>, pub network_id: Option<u32>, pub sequence: Option<u32>, pub signers: Option<Vec<Signer>>, pub signing_pub_key: Option<Cow<'a, str>>, pub source_tag: Option<u32>, pub ticket_sequence: Option<u32>, pub txn_signature: Option<Cow<'a, str>>,
}
Expand description

The base fields for all transaction models.

See Transaction Common Fields: <https://xrpl.org/transaction-common-fields.html>

Fields§

§account: Cow<'a, str>

The unique address of the account that initiated the transaction.

§transaction_type: TransactionType

The type of transaction.

See Transaction Types: <https://xrpl.org/transaction-types.html>

§account_txn_id: Option<Cow<'a, str>>

Hash value identifying another transaction. If provided, this transaction is only valid if the sending account’s previously-sent transaction matches the provided hash.

§fee: Option<XRPAmount<'a>>

Integer amount of XRP, in drops, to be destroyed as a cost for distributing this transaction to the network. Some transaction types have different minimum requirements. See Transaction Cost for details.

§flags: FlagCollection<F>

Set of bit-flags for this transaction.

§last_ledger_sequence: Option<u32>

Highest ledger index this transaction can appear in. Specifying this field places a strict upper limit on how long the transaction can wait to be validated or rejected. See Reliable Transaction Submission for more details.

§memos: Option<Vec<Memo>>

Additional arbitrary information used to identify this transaction.

§network_id: Option<u32>

The network ID of the chain this transaction is intended for. MUST BE OMITTED for Mainnet and some test networks. REQUIRED on chains whose network ID is 1025 or higher.

§sequence: Option<u32>

The sequence number of the account sending the transaction. A transaction is only valid if the Sequence number is exactly 1 greater than the previous transaction from the same account. The special case 0 means the transaction is using a Ticket instead.

§signers: Option<Vec<Signer>>

Arbitrary integer used to identify the reason for this payment, or a sender on whose behalf this transaction is made. Conventionally, a refund should specify the initial payment’s SourceTag as the refund payment’s DestinationTag.

§signing_pub_key: Option<Cow<'a, str>>

Hex representation of the public key that corresponds to the private key used to sign this transaction. If an empty string, indicates a multi-signature is present in the Signers field instead.

§source_tag: Option<u32>

Arbitrary integer used to identify the reason for this payment, or a sender on whose behalf this transaction is made. Conventionally, a refund should specify the initial payment’s SourceTag as the refund payment’s DestinationTag.

§ticket_sequence: Option<u32>

The sequence number of the ticket to use in place of a Sequence number. If this is provided, Sequence must be 0. Cannot be used with AccountTxnID.

§txn_signature: Option<Cow<'a, str>>

The signature that verifies this transaction as originating from the account it says it is from.

Implementations§

Source§

impl<'a, T> CommonFields<'a, T>

Source

pub fn new( account: Cow<'a, str>, transaction_type: TransactionType, account_txn_id: Option<Cow<'a, str>>, fee: Option<XRPAmount<'a>>, flags: Option<FlagCollection<T>>, last_ledger_sequence: Option<u32>, memos: Option<Vec<Memo>>, network_id: Option<u32>, sequence: Option<u32>, signers: Option<Vec<Signer>>, signing_pub_key: Option<Cow<'a, str>>, source_tag: Option<u32>, ticket_sequence: Option<u32>, txn_signature: Option<Cow<'a, str>>, ) -> Self

Source

pub fn with_flag(self, flag: T) -> Self

Add a flag

Source

pub fn with_flags(self, flags: Vec<T>) -> Self

Set multiple flags

Source

pub fn with_signer(self, signer: Signer) -> Self

Add a signer

Source§

impl<T> CommonFields<'_, T>

Source

pub fn is_signed(&self) -> bool

Source§

impl<'a, T> CommonFields<'a, T>

Source

pub fn with_transaction_type(self, transaction_type: TransactionType) -> Self

Source

pub fn with_fee(self, fee: XRPAmount<'a>) -> Self

Source

pub fn with_sequence(self, sequence: u32) -> Self

Source

pub fn with_last_ledger_sequence(self, last_ledger_sequence: u32) -> Self

Source

pub fn with_source_tag(self, source_tag: u32) -> Self

Source

pub fn with_memo(self, memo: Memo) -> Self

Source

pub fn with_memos(self, memos: Vec<Memo>) -> Self

Source

pub fn with_network_id(self, network_id: u32) -> Self

Source

pub fn with_ticket_sequence(self, ticket_sequence: u32) -> Self

Source

pub fn with_account_txn_id(self, account_txn_id: Cow<'a, str>) -> Self

Source

pub fn with_signers(self, signers: Vec<Signer>) -> Self

Source

pub fn with_signing_pub_key(self, signing_pub_key: Cow<'a, str>) -> Self

Source

pub fn with_txn_signature(self, txn_signature: Cow<'a, str>) -> Self

Source

pub fn from_account(account: impl Into<Cow<'a, str>>) -> Self

Create CommonFields from an account string (takes ownership)

Trait Implementations§

Source§

impl<'a, F> Clone for CommonFields<'a, F>

Source§

fn clone(&self) -> CommonFields<'a, F>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a, F> Debug for CommonFields<'a, F>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a, T> Default for CommonFields<'a, T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de, 'a, F> Deserialize<'de> for CommonFields<'a, F>

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<'a, T> From<Cow<'a, str>> for CommonFields<'a, T>

Source§

fn from(account: Cow<'a, str>) -> Self

Converts to this type from the input type.
Source§

impl<'a, T> From<String> for CommonFields<'a, T>

Source§

fn from(account: String) -> Self

Converts to this type from the input type.
Source§

impl<'a, T> FromStr for CommonFields<'a, T>

Source§

type Err = Infallible

The associated error which can be returned from parsing.
Source§

fn from_str(account: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl<'a, F> PartialEq for CommonFields<'a, F>

Source§

fn eq(&self, other: &CommonFields<'a, F>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, F> Serialize for CommonFields<'a, F>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'a, T> Transaction<'a, T> for CommonFields<'a, T>

Source§

fn has_flag(&self, flag: &T) -> bool

Source§

fn get_transaction_type(&self) -> &TransactionType

Source§

fn get_common_fields(&self) -> &CommonFields<'_, T>

Source§

fn get_mut_common_fields(&mut self) -> &mut CommonFields<'a, T>

Source§

fn get_field_value(&self, field: &str) -> XRPLModelResult<Option<String>>

Source§

fn is_signed(&self) -> bool

Source§

fn get_hash(&self) -> XRPLModelResult<Cow<'_, str>>

Hashes the Transaction object as the ledger does. Only valid for signed Transaction objects.
Source§

impl<'a, F> Eq for CommonFields<'a, F>

Source§

impl<'a, F> StructuralPartialEq for CommonFields<'a, F>

Auto Trait Implementations§

§

impl<'a, F> Freeze for CommonFields<'a, F>

§

impl<'a, F> RefUnwindSafe for CommonFields<'a, F>
where F: RefUnwindSafe,

§

impl<'a, F> Send for CommonFields<'a, F>
where F: Send,

§

impl<'a, F> Sync for CommonFields<'a, F>
where F: Sync,

§

impl<'a, F> Unpin for CommonFields<'a, F>
where F: Unpin,

§

impl<'a, F> UnwindSafe for CommonFields<'a, F>
where F: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,