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: Pubkey

Wallet of the contract creator.

§sender_tokens: Pubkey

Associated token account address of sender.

§recipient: Pubkey

Wallet address of the recipient.

§metadata: Pubkey

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

§escrow_tokens: Pubkey

The 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: Pubkey

Associated token account address of recipient.

§streamflow_treasury: Pubkey

Streamflow treasury account. Use constant streamflow_sdk::state::STRM_TREASURY

§streamflow_treasury_tokens: Pubkey

Associated token account address of streamflow_treasury.

§withdrawor: Pubkey

Delegate account for automatically withdrawing contracts. Use constant streamflow_sdk::state::WITHDRAWOR_ADDRESS

§partner: Pubkey

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: Pubkey

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: Pubkey

The SPL token mint account.

§fee_oracle: Pubkey

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. Use constant streamflow_sdk::state::FEE_ORACLE_ADDRESS

§rent: Pubkey

The Rent Sysvar account.

§timelock_program: Pubkey

Streamflow protocol (alias timelock) program account. Use streamflow_sdk:id()

§token_program: Pubkey

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

§associated_token_program: Pubkey

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

§system_program: Pubkey

The Solana system program needed for account creation.

Trait Implementations§

source§

impl BorshSerialize for Createwhere Pubkey: BorshSerialize,

source§

fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), Error>

§

fn try_to_vec(&self) -> Result<Vec<u8, Global>, Error>

Serialize this instance into a vector of bytes.
source§

impl ToAccountMetas for Create

source§

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§

Blanket Implementations§

§

impl<T> AbiExample for T

§

default fn example() -> T

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V