Skip to main content

TransferChecked

Struct TransferChecked 

Source
pub struct TransferChecked<'a, 'b: 'a> {
    pub token_program_id: &'a Pubkey,
    pub source: &'b NoStdAccountInfo,
    pub mint: &'b NoStdAccountInfo,
    pub destination: &'b NoStdAccountInfo,
    pub authority: CpiAuthority<'a, 'b>,
    pub amount: u64,
    pub decimals: u8,
    pub additional_accounts: Option<&'a [NoStdAccountInfo]>,
}
Expand description

Arguments for the transfer checked instruction on the specified Token program, which moves a specified amount of tokens from the source to destination token account only if the specified decimals agree with the decimals encoded in the mint account. Only the token account’s owner or delegated authority can invoke this instruction.

If the “alloc” feature is disabled, this method will error out if the number of additional accounts exceeds MAX_ADDITIONAL_ACCOUNTS_NOALLOC. Otherwise this method should be infallible.

Fields§

§token_program_id: &'a Pubkey§source: &'b NoStdAccountInfo§mint: &'b NoStdAccountInfo§destination: &'b NoStdAccountInfo§authority: CpiAuthority<'a, 'b>

Either the owner or delegated authority of the source token account.

§amount: u64§decimals: u8§additional_accounts: Option<&'a [NoStdAccountInfo]>

These additional accounts apply to the transfer checked instruction on the Token Extensions program. Examples of these accounts may include signers of the multisig extension or accounts needed for transfer hook CPI (which is performed by the Token Extensions program).

Implementations§

Source§

impl<'a, 'b: 'a> TransferChecked<'a, 'b>

Source

pub fn try_into_invoke(self) -> ProgramResult

Tries to consume arguments to perform CPI call.

Trait Implementations§

Source§

impl<'a, 'b: 'a> Clone for TransferChecked<'a, 'b>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a, 'b: 'a> Eq for TransferChecked<'a, 'b>

Source§

impl<'a, 'b: 'a> PartialEq for TransferChecked<'a, 'b>

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl<'a, 'b: 'a> StructuralPartialEq for TransferChecked<'a, 'b>

Auto Trait Implementations§

§

impl<'a, 'b> !Send for TransferChecked<'a, 'b>

§

impl<'a, 'b> !Sync for TransferChecked<'a, 'b>

§

impl<'a, 'b> Freeze for TransferChecked<'a, 'b>

§

impl<'a, 'b> RefUnwindSafe for TransferChecked<'a, 'b>

§

impl<'a, 'b> Unpin for TransferChecked<'a, 'b>

§

impl<'a, 'b> UnsafeUnpin for TransferChecked<'a, 'b>

§

impl<'a, 'b> UnwindSafe for TransferChecked<'a, 'b>

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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 = !

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

fn try_from(value: U) -> Result<T, !>

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