pub struct Create<'info> {
Show 18 fields pub sender: Signer<'info>, pub sender_tokens: AccountInfo<'info>, pub recipient: AccountInfo<'info>, pub metadata: AccountInfo<'info>, pub escrow_tokens: AccountInfo<'info>, pub recipient_tokens: AccountInfo<'info>, pub streamflow_treasury: AccountInfo<'info>, pub streamflow_treasury_tokens: AccountInfo<'info>, pub withdrawor: AccountInfo<'info>, pub partner: AccountInfo<'info>, pub partner_tokens: AccountInfo<'info>, pub mint: Account<'info, Mint>, pub fee_oracle: AccountInfo<'info>, pub rent: Sysvar<'info, Rent>, pub timelock_program: AccountInfo<'info>, pub token_program: Program<'info, Token>, pub associated_token_program: Program<'info, AssociatedToken>, pub system_program: Program<'info, System>,
}
Expand description

Accounts expected in create instruction

Fields

sender: Signer<'info>

Wallet of the contract creator.

sender_tokens: AccountInfo<'info>

Associated token account address of sender.

recipient: AccountInfo<'info>

Wallet address of the recipient.

metadata: AccountInfo<'info>

The account holding the contract parameters. Expects empty (non-initialized) account.

escrow_tokens: AccountInfo<'info>

The escrow account holding the funds. Expects empty (non-initialized) account.

recipient_tokens: AccountInfo<'info>

Associated token account address of recipient.

streamflow_treasury: AccountInfo<'info>

Streamflow treasury account.

streamflow_treasury_tokens: AccountInfo<'info>

Associated token account address of streamflow_treasury.

withdrawor: AccountInfo<'info>

Delegate account for automatically withdrawing contracts.

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.

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.

mint: Account<'info, Mint>

The SPL token mint account.

fee_oracle: AccountInfo<'info>

Internal program that handles fees for specified partners. If no partner fees are expected on behalf of the program integrating with streamflow, streamflow_treasury can be passed in here.

rent: Sysvar<'info, Rent>

The Rent Sysvar account.

timelock_program: AccountInfo<'info>

Streamflow protocol (alias timelock) program 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. Read more

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

Performs the conversion.

Performs the conversion.

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.