pub trait StorageManagement {
    fn storage_deposit(
        &mut self,
        account_id: Option<AccountId>,
        registration_only: Option<bool>
    ) -> StorageBalance; fn storage_withdraw(&mut self, amount: Option<U128>) -> StorageBalance; fn storage_unregister(&mut self, force: Option<bool>) -> bool; fn storage_balance_bounds(&self) -> StorageBalanceBounds; fn storage_balance_of(&self, account_id: AccountId) -> Option<StorageBalance>; }

Required Methods§

Withdraw specified amount of available Ⓝ for predecessor account.

This method is safe to call. It MUST NOT remove data.

amount is sent as a string representing an unsigned 128-bit integer. If omitted, contract MUST refund full available balance. If amount exceeds predecessor account’s available balance, contract MUST panic.

If predecessor account not registered, contract MUST panic.

MUST require exactly 1 yoctoNEAR attached balance to prevent restricted function-call access-key call (UX wallet security)

Returns the StorageBalance structure showing updated balances.

Unregisters the predecessor account and returns the storage NEAR deposit back.

If the predecessor account is not registered, the function MUST return false without panic.

If force=true the function SHOULD ignore account balances (burn them) and close the account. Otherwise, MUST panic if caller has a positive registered balance (eg token holdings) or the contract doesn’t support force unregistration. MUST require exactly 1 yoctoNEAR attached balance to prevent restricted function-call access-key call (UX wallet security) Returns true iff the account was unregistered. Returns false iff account was not registered before.

Implementors§