pub struct Transfer<'info> {
    pub authority: Signer<'info>,
    pub new_recipient: AccountInfo<'info>,
    pub new_recipient_tokens: AccountInfo<'info>,
    pub metadata: AccountInfo<'info>,
    pub mint: Account<'info, Mint>,
    pub rent: Sysvar<'info, Rent>,
    pub token_program: Program<'info, Token>,
    pub associated_token_program: Program<'info, AssociatedToken>,
    pub system_program: Program<'info, System>,
}
Expand description

Accounts expected in transfer instruction

Fields§

§authority: Signer<'info>

Wallet that initiates contract transfer.

§new_recipient: AccountInfo<'info>

Wallet address of the new contract recipient

§new_recipient_tokens: AccountInfo<'info>

Wallet address of the new contract recipient’s token account

§metadata: AccountInfo<'info>

The account holding the contract parameters. Expects initialized account.

§mint: Account<'info, Mint>

The SPL token mint account.

§rent: Sysvar<'info, Rent>

The Rent Sysvar account.

§token_program: Program<'info, Token>

The SPL program needed in case an associated account for the new recipient is being created.

§associated_token_program: Program<'info, AssociatedToken>

The Associated Token program needed in case associated account for the new recipient is being created.

§system_program: Program<'info, System>

The Solana system program needed for account creation.

Trait Implementations§

Returns the validated accounts struct. What constitutes “valid” is program dependent. However, users of these types should never have to worry about account substitution attacks. For example, if a program expects a Mint account from the SPL token program in a particular field, then it should be impossible for this method to return Ok if any other account type is given–from the SPL token program or elsewhere. Read more
program_id is the currently executing program.
is_signer is given as an optional override for the signer meta field. This covers the edge case when a program-derived-address needs to relay a transaction from a client to another program but sign the transaction before the relay. The client cannot mark the field as a signer, and so we have to override the is_signer meta field given by the client.

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

Returns the argument unchanged.

Calls U::from(self).

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

Should always be Self
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.