pub trait NativeBucket {
    // Required methods
    fn create<Y, E>(receiver: ResourceAddress, api: &mut Y) -> Result<Bucket, E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn amount<Y, E>(&self, api: &mut Y) -> Result<Decimal, E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn put<Y, E>(&self, other: Self, api: &mut Y) -> Result<(), E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn take<Y, E>(&self, amount: Decimal, api: &mut Y) -> Result<Bucket, E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn take_advanced<Y, E>(
        &self,
        amount: Decimal,
        withdraw_strategy: WithdrawStrategy,
        api: &mut Y
    ) -> Result<Bucket, E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn burn<Y, E>(self, api: &mut Y) -> Result<(), E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn package_burn<Y, E>(self, api: &mut Y) -> Result<(), E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn resource_address<Y, E>(&self, api: &mut Y) -> Result<ResourceAddress, E>
       where Y: ClientApi<E>,
             E: Debug + ScryptoCategorize + ScryptoDecode;
    fn create_proof_of_all<Y, E>(&self, api: &mut Y) -> Result<Proof, E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn is_empty<Y, E>(&self, api: &mut Y) -> Result<bool, E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
    fn drop_empty<Y, E>(self, api: &mut Y) -> Result<(), E>
       where E: Debug + ScryptoCategorize + ScryptoDecode,
             Y: ClientApi<E>;
}

Required Methods§

fn create<Y, E>(receiver: ResourceAddress, api: &mut Y) -> Result<Bucket, E>

fn amount<Y, E>(&self, api: &mut Y) -> Result<Decimal, E>

fn put<Y, E>(&self, other: Self, api: &mut Y) -> Result<(), E>

fn take<Y, E>(&self, amount: Decimal, api: &mut Y) -> Result<Bucket, E>

fn take_advanced<Y, E>( &self, amount: Decimal, withdraw_strategy: WithdrawStrategy, api: &mut Y ) -> Result<Bucket, E>

fn burn<Y, E>(self, api: &mut Y) -> Result<(), E>

fn package_burn<Y, E>(self, api: &mut Y) -> Result<(), E>

fn resource_address<Y, E>(&self, api: &mut Y) -> Result<ResourceAddress, E>

fn create_proof_of_all<Y, E>(&self, api: &mut Y) -> Result<Proof, E>

fn is_empty<Y, E>(&self, api: &mut Y) -> Result<bool, E>

fn drop_empty<Y, E>(self, api: &mut Y) -> Result<(), E>

Object Safety§

This trait is not object safe.

Implementors§