pub struct Withdraw {
pub authority: Pubkey,
pub recipient: Pubkey,
pub recipient_tokens: Pubkey,
pub metadata: Pubkey,
pub escrow_tokens: Pubkey,
pub streamflow_treasury: Pubkey,
pub streamflow_treasury_tokens: Pubkey,
pub partner: Pubkey,
pub partner_tokens: Pubkey,
pub mint: Pubkey,
pub token_program: Pubkey,
}Expand description
Generated client accounts for Withdraw.
Fields§
Wallet of the contract withdrawor.
recipient: PubkeyWallet address of the recipient.
recipient_tokens: PubkeyAssociated token account address of recipient.
metadata: PubkeyThe account holding the contract parameters. Expects initialized account.
escrow_tokens: PubkeyThe escrow account holding the funds.
Should be a PDA, use streamflow_sdk::state::find_escrow_account to derive
Expects initialized account.
streamflow_treasury: PubkeyStreamflow treasury account.
Use constant streamflow_sdk::state::STRM_TREASURY
streamflow_treasury_tokens: PubkeyAssociated token account address of streamflow_treasury.
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.
Must match partner account in contract metadata.
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.
Must match partner token account in contract metadata.
mint: PubkeyThe SPL token mint account.
token_program: PubkeyThe SPL program needed in case an associated account for the new recipient is being created.
Trait Implementations§
Source§impl BorshSerialize for Withdrawwhere
Pubkey: BorshSerialize,
impl BorshSerialize for Withdrawwhere
Pubkey: BorshSerialize,
Source§impl ToAccountMetas for Withdraw
impl ToAccountMetas for Withdraw
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.Auto Trait Implementations§
impl Freeze for Withdraw
impl RefUnwindSafe for Withdraw
impl Send for Withdraw
impl Sync for Withdraw
impl Unpin for Withdraw
impl UnwindSafe for Withdraw
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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