Trait UserOps

Source
pub trait UserOps<C> {
    // Required methods
    fn prepare_user(&self, store: &Pubkey) -> Result<TransactionBuilder<'_, C>>;
    fn initialize_referral_code(
        &self,
        store: &Pubkey,
        code: ReferralCodeBytes,
    ) -> Result<TransactionBuilder<'_, C>>;
    fn set_referrer(
        &self,
        store: &Pubkey,
        code: ReferralCodeBytes,
        hint_referrer: Option<Pubkey>,
    ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>;
    fn transfer_referral_code(
        &self,
        store: &Pubkey,
        receiver: &Pubkey,
        hint_code: Option<ReferralCodeBytes>,
    ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>;
    fn cancel_referral_code_transfer(
        &self,
        store: &Pubkey,
        hint_code: Option<ReferralCodeBytes>,
    ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>;
    fn accept_referral_code(
        &self,
        store: &Pubkey,
        code: ReferralCodeBytes,
        hint_owner: Option<Pubkey>,
    ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>;
}
Expand description

User Account Operations.

Required Methods§

Source

fn prepare_user(&self, store: &Pubkey) -> Result<TransactionBuilder<'_, C>>

Prepare User.

Source

fn initialize_referral_code( &self, store: &Pubkey, code: ReferralCodeBytes, ) -> Result<TransactionBuilder<'_, C>>

Initialize Referral Code.

Source

fn set_referrer( &self, store: &Pubkey, code: ReferralCodeBytes, hint_referrer: Option<Pubkey>, ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>

Set referrer.

Source

fn transfer_referral_code( &self, store: &Pubkey, receiver: &Pubkey, hint_code: Option<ReferralCodeBytes>, ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>

Transfer referral code.

Source

fn cancel_referral_code_transfer( &self, store: &Pubkey, hint_code: Option<ReferralCodeBytes>, ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>

Cancel referral code transfer.

Source

fn accept_referral_code( &self, store: &Pubkey, code: ReferralCodeBytes, hint_owner: Option<Pubkey>, ) -> impl Future<Output = Result<TransactionBuilder<'_, C>>>

Accept referral code transfer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<C: Deref<Target = impl Signer> + Clone> UserOps<C> for Client<C>