Struct streamflow_sdk::accounts::Create
source · pub struct Create {Show 18 fields
pub sender: Pubkey,
pub sender_tokens: Pubkey,
pub recipient: Pubkey,
pub metadata: Pubkey,
pub escrow_tokens: Pubkey,
pub recipient_tokens: Pubkey,
pub streamflow_treasury: Pubkey,
pub streamflow_treasury_tokens: Pubkey,
pub withdrawor: Pubkey,
pub partner: Pubkey,
pub partner_tokens: Pubkey,
pub mint: Pubkey,
pub fee_oracle: Pubkey,
pub rent: Pubkey,
pub timelock_program: Pubkey,
pub token_program: Pubkey,
pub associated_token_program: Pubkey,
pub system_program: Pubkey,
}Expand description
Generated client accounts for Create.
Fields§
§sender: PubkeyWallet of the contract creator.
sender_tokens: PubkeyAssociated token account address of sender.
recipient: PubkeyWallet address of the recipient.
metadata: PubkeyThe account holding the contract parameters. Expects empty (non-initialized) account.
escrow_tokens: PubkeyThe escrow account holding the funds.
Should be a PDA, use streamflow_sdk::state::find_escrow_account to derive
Expects empty (non-initialized) account.
recipient_tokens: PubkeyAssociated token account address of recipient.
streamflow_treasury: PubkeyStreamflow treasury account.
Use constant streamflow_sdk::state::STRM_TREASURY
streamflow_treasury_tokens: PubkeyAssociated token account address of streamflow_treasury.
withdrawor: PubkeyDelegate account for automatically withdrawing contracts.
Use constant streamflow_sdk::state::WITHDRAWOR_ADDRESS
partner: PubkeyPartner 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: PubkeyAssociated 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: PubkeyThe SPL token mint account.
fee_oracle: PubkeyInternal 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.
Use constant streamflow_sdk::state::FEE_ORACLE_ADDRESS
rent: PubkeyThe Rent Sysvar account.
timelock_program: PubkeyStreamflow protocol (alias timelock) program account.
Use streamflow_sdk:id()
token_program: PubkeyThe SPL program needed in case an associated account for the new recipient is being created.
associated_token_program: PubkeyThe Associated Token program needed in case associated account for the new recipient is being created.
system_program: PubkeyThe Solana system program needed for account creation.
Trait Implementations§
source§impl ToAccountMetas for Create
impl ToAccountMetas for Create
source§fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>
fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>
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.