pub struct Withdraw<'info> {
    pub authority: Signer<'info>,
    pub recipient: AccountInfo<'info>,
    pub recipient_tokens: Account<'info, TokenAccount>,
    pub metadata: AccountInfo<'info>,
    pub escrow_tokens: Account<'info, TokenAccount>,
    pub streamflow_treasury: AccountInfo<'info>,
    pub streamflow_treasury_tokens: AccountInfo<'info>,
    pub partner: AccountInfo<'info>,
    pub partner_tokens: AccountInfo<'info>,
    pub mint: Account<'info, Mint>,
    pub token_program: Program<'info, Token>,
}
Expand description

Accounts expected in withdraw instruction

Fields§

§authority: Signer<'info>

Wallet of the contract withdrawor.

§recipient: AccountInfo<'info>

Wallet address of the recipient.

§recipient_tokens: Account<'info, TokenAccount>

Associated token account address of recipient.

§metadata: AccountInfo<'info>

The account holding the contract parameters. Expects initialized account.

§escrow_tokens: Account<'info, TokenAccount>

The escrow account holding the funds. Expects initialized account.

§streamflow_treasury: AccountInfo<'info>

Streamflow treasury account.

§streamflow_treasury_tokens: AccountInfo<'info>

Associated token account address of streamflow_treasury.

§partner: AccountInfo<'info>

Partner treasury account. If no partner fees are expected on behalf of the program integrating with streamflow, streamflow_treasury can be passed in here. Must match partner account in contract metadata.

§partner_tokens: AccountInfo<'info>

Associated token account address of partner. If no partner fees are expected on behalf of the program integrating with streamflow, streamflow_treasury_tokens can be passed in here. Must match partner token account in contract metadata.

§mint: Account<'info, Mint>

The SPL token mint account.

§token_program: Program<'info, Token>

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

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.