[][src]Trait safe_core::client::Client

pub trait Client: Clone + Send + Sync {
    type Context;
#[must_use]    fn full_id<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = SafeKey> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn owner_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicKey> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn config<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Option<BootstrapConfig>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn inner(&self) -> Arc<Mutex<Inner>>
    where
        Self: Sized
;
#[must_use] fn public_encryption_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicKey> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn secret_encryption_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = SecretKey> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn secret_symmetric_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Key> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; #[must_use] fn public_id<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicId> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn public_key<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = PublicKey> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn encryption_keypair<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = (PublicKey, SecretKey)> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn compose_message<'life0, 'async_trait>(
        &'life0 self,
        request: Request,
        sign: bool
    ) -> Pin<Box<dyn Future<Output = Message> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn set_timeout<'life0, 'async_trait>(
        &'life0 self,
        duration: Duration
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn restart_network<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_unseq_mutable_data<'life0, 'async_trait>(
        &'life0 self,
        data: UnseqMutableData
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn transfer_coins<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 ClientFullId>,
        destination: XorName,
        amount: Coins,
        transaction_id: Option<u64>
    ) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn create_balance<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 ClientFullId>,
        new_balance_owner: PublicKey,
        amount: Coins,
        transaction_id: Option<u64>
    ) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn insert_login_packet_for<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 ClientFullId>,
        new_owner: PublicKey,
        amount: Coins,
        transaction_id: Option<u64>,
        new_login_packet: LoginPacket
    ) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_balance<'life0, 'life1, 'async_trait>(
        &'life0 self,
        client_id: Option<&'life1 ClientFullId>
    ) -> Pin<Box<dyn Future<Output = Result<Coins, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_idata<'life0, 'async_trait, D: Into<IData> + Send>(
        &'life0 self,
        data: D
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized + Send,
        D: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_idata<'life0, 'async_trait>(
        &'life0 self,
        address: IDataAddress
    ) -> Pin<Box<dyn Future<Output = Result<IData, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn del_unpub_idata<'life0, 'async_trait>(
        &'life0 self,
        name: XorName
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_seq_mutable_data<'life0, 'async_trait>(
        &'life0 self,
        data: SeqMutableData
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unseq_mdata<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<UnseqMutableData, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_seq_mdata_value<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        key: Vec<u8>
    ) -> Pin<Box<dyn Future<Output = Result<MDataSeqValue, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unseq_mdata_value<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        key: Vec<u8>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_seq_mdata<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<SeqMutableData, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn mutate_seq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        actions: MDataSeqEntryActions
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn mutate_unseq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64,
        actions: MDataUnseqEntryActions
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_seq_mdata_shell<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<SeqMutableData, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unseq_mdata_shell<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<UnseqMutableData, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_mdata_version<'life0, 'async_trait>(
        &'life0 self,
        address: MDataAddress
    ) -> Pin<Box<dyn Future<Output = Result<u64, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_unseq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Vec<u8>, Vec<u8>>, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_seq_mdata_entries<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<MDataSeqEntries, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_mdata_keys<'life0, 'async_trait>(
        &'life0 self,
        address: MDataAddress
    ) -> Pin<Box<dyn Future<Output = Result<BTreeSet<Vec<u8>>, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_seq_mdata_values<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<Vec<MDataSeqValue>, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_mdata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: MDataAddress,
        user: PublicKey
    ) -> Pin<Box<dyn Future<Output = Result<MDataPermissionSet, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_unseq_mdata_values<'life0, 'async_trait>(
        &'life0 self,
        name: XorName,
        tag: u64
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<u8>>, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn put_adata<'life0, 'async_trait>(
        &'life0 self,
        data: AData
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress
    ) -> Pin<Box<dyn Future<Output = Result<AData, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_shell<'life0, 'async_trait>(
        &'life0 self,
        data_index: ADataIndex,
        address: ADataAddress
    ) -> Pin<Box<dyn Future<Output = Result<AData, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_value<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        key: Vec<u8>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_range<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        range: (ADataIndex, ADataIndex)
    ) -> Pin<Box<dyn Future<Output = Result<ADataEntries, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_indices<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress
    ) -> Pin<Box<dyn Future<Output = Result<ADataIndices, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_last_entry<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress
    ) -> Pin<Box<dyn Future<Output = Result<ADataEntry, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unpub_adata_permissions_at_index<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        permissions_index: ADataIndex
    ) -> Pin<Box<dyn Future<Output = Result<ADataUnpubPermissions, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_pub_adata_permissions_at_index<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        permissions_index: ADataIndex
    ) -> Pin<Box<dyn Future<Output = Result<ADataPubPermissions, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_pub_adata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        permissions_index: ADataIndex,
        user: ADataUser
    ) -> Pin<Box<dyn Future<Output = Result<ADataPubPermissionSet, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_unpub_adata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        permissions_index: ADataIndex,
        public_key: PublicKey
    ) -> Pin<Box<dyn Future<Output = Result<ADataUnpubPermissionSet, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn add_unpub_adata_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        permissions: ADataUnpubPermissions,
        permissions_index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn add_pub_adata_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        permissions: ADataPubPermissions,
        permissions_index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn set_adata_owners<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        owner: ADataOwner,
        owners_index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn get_adata_owners<'life0, 'async_trait>(
        &'life0 self,
        address: ADataAddress,
        owners_index: ADataIndex
    ) -> Pin<Box<dyn Future<Output = Result<ADataOwner, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn append_seq_adata<'life0, 'async_trait>(
        &'life0 self,
        append: ADataAppendOperation,
        index: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn append_unseq_adata<'life0, 'async_trait>(
        &'life0 self,
        append: ADataAppendOperation
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn list_mdata_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: MDataAddress
    ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<PublicKey, MDataPermissionSet>, CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn set_mdata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: MDataAddress,
        user: PublicKey,
        permissions: MDataPermissionSet,
        version: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] fn del_mdata_user_permissions<'life0, 'async_trait>(
        &'life0 self,
        address: MDataAddress,
        user: PublicKey,
        version: u64
    ) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>>
    where
        Self: Sized,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
fn change_mdata_owner(
        &self,
        name: XorName,
        tag: u64,
        new_owner: PublicKey,
        version: u64
    ) -> Result<(), CoreError> { ... } }

Trait providing an interface for self-authentication client implementations, so they can interface all requests from high-level APIs to the actual routing layer and manage all interactions with it. Clients are non-blocking, with an asynchronous API using the futures abstraction from the futures-rs crate.

Associated Types

type Context

Associated message type.

Loading content...

Required methods

#[must_use]fn full_id<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = SafeKey> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the client's ID.

#[must_use]fn owner_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicKey> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Returns the client's owner key.

#[must_use]fn config<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Option<BootstrapConfig>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a crust::Config if the Client was initialized with one.

fn inner(&self) -> Arc<Mutex<Inner>> where
    Self: Sized

Return an associated ClientInner type which is expected to contain fields associated with the implementing type.

#[must_use]fn public_encryption_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicKey> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the public encryption key.

#[must_use]fn secret_encryption_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = SecretKey> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the secret encryption key.

#[must_use]fn secret_symmetric_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Key> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the symmetric encryption key.

Loading content...

Provided methods

#[must_use]fn public_id<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicId> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the client's public ID.

#[must_use]fn public_key<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = PublicKey> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Returns the client's public key.

#[must_use]fn encryption_keypair<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = (PublicKey, SecretKey)> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the public and secret encryption keys.

#[must_use]fn compose_message<'life0, 'async_trait>(
    &'life0 self,
    request: Request,
    sign: bool
) -> Pin<Box<dyn Future<Output = Message> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Create a Message from the given request. This function adds the requester signature and message ID.

#[must_use]fn set_timeout<'life0, 'async_trait>(
    &'life0 self,
    duration: Duration
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Set request timeout.

#[must_use]fn restart_network<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Restart the client and reconnect to the network.

#[must_use]fn put_unseq_mutable_data<'life0, 'async_trait>(
    &'life0 self,
    data: UnseqMutableData
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Put unsequenced mutable data to the network

#[must_use]fn transfer_coins<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 ClientFullId>,
    destination: XorName,
    amount: Coins,
    transaction_id: Option<u64>
) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Transfer coin balance

#[must_use]fn create_balance<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 ClientFullId>,
    new_balance_owner: PublicKey,
    amount: Coins,
    transaction_id: Option<u64>
) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Creates a new balance on the network.

#[must_use]fn insert_login_packet_for<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 ClientFullId>,
    new_owner: PublicKey,
    amount: Coins,
    transaction_id: Option<u64>,
    new_login_packet: LoginPacket
) -> Pin<Box<dyn Future<Output = Result<Transaction, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Insert a given login packet at the specified destination

#[must_use]fn get_balance<'life0, 'life1, 'async_trait>(
    &'life0 self,
    client_id: Option<&'life1 ClientFullId>
) -> Pin<Box<dyn Future<Output = Result<Coins, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Get the current coin balance.

#[must_use]fn put_idata<'life0, 'async_trait, D: Into<IData> + Send>(
    &'life0 self,
    data: D
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized + Send,
    D: 'async_trait,
    'life0: 'async_trait,
    Self: 'async_trait, 

Put immutable data to the network.

#[must_use]fn get_idata<'life0, 'async_trait>(
    &'life0 self,
    address: IDataAddress
) -> Pin<Box<dyn Future<Output = Result<IData, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get immutable data from the network. If the data exists locally in the cache then it will be immediately returned without making an actual network request.

#[must_use]fn del_unpub_idata<'life0, 'async_trait>(
    &'life0 self,
    name: XorName
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Delete unpublished immutable data from the network.

#[must_use]fn put_seq_mutable_data<'life0, 'async_trait>(
    &'life0 self,
    data: SeqMutableData
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Put sequenced mutable data to the network

#[must_use]fn get_unseq_mdata<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<UnseqMutableData, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch unpublished mutable data from the network

#[must_use]fn get_seq_mdata_value<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    key: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<MDataSeqValue, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the value for a given key in a sequenced mutable data

#[must_use]fn get_unseq_mdata_value<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    key: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch the value for a given key in a sequenced mutable data

#[must_use]fn get_seq_mdata<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<SeqMutableData, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch sequenced mutable data from the network

#[must_use]fn mutate_seq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    actions: MDataSeqEntryActions
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Mutates sequenced MutableData entries in bulk

#[must_use]fn mutate_unseq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64,
    actions: MDataUnseqEntryActions
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Mutates unsequenced MutableData entries in bulk

#[must_use]fn get_seq_mdata_shell<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<SeqMutableData, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a shell (bare bones) version of MutableData from the network.

#[must_use]fn get_unseq_mdata_shell<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<UnseqMutableData, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a shell (bare bones) version of MutableData from the network.

#[must_use]fn get_mdata_version<'life0, 'async_trait>(
    &'life0 self,
    address: MDataAddress
) -> Pin<Box<dyn Future<Output = Result<u64, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a current version of MutableData from the network.

#[must_use]fn list_unseq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Vec<u8>, Vec<u8>>, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a complete list of entries in MutableData.

#[must_use]fn list_seq_mdata_entries<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<MDataSeqEntries, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a complete list of entries in MutableData.

#[must_use]fn list_mdata_keys<'life0, 'async_trait>(
    &'life0 self,
    address: MDataAddress
) -> Pin<Box<dyn Future<Output = Result<BTreeSet<Vec<u8>>, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a list of keys in MutableData stored on the network.

#[must_use]fn list_seq_mdata_values<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<Vec<MDataSeqValue>, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a list of values in a Sequenced Mutable Data

#[must_use]fn list_mdata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: MDataAddress,
    user: PublicKey
) -> Pin<Box<dyn Future<Output = Result<MDataPermissionSet, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Return the permissions set for a particular user

#[must_use]fn list_unseq_mdata_values<'life0, 'async_trait>(
    &'life0 self,
    name: XorName,
    tag: u64
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<u8>>, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Returns a list of values in an Unsequenced Mutable Data

#[must_use]fn put_adata<'life0, 'async_trait>(
    &'life0 self,
    data: AData
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Put AppendOnly Data into the Network

#[must_use]fn get_adata<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress
) -> Pin<Box<dyn Future<Output = Result<AData, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get AppendOnly Data from the Network

#[must_use]fn get_adata_shell<'life0, 'async_trait>(
    &'life0 self,
    data_index: ADataIndex,
    address: ADataAddress
) -> Pin<Box<dyn Future<Output = Result<AData, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get AppendOnly Data Shell from the Network

#[must_use]fn get_adata_value<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    key: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Fetch Value for the provided key from AppendOnly Data at {:?}

#[must_use]fn get_adata_range<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    range: (ADataIndex, ADataIndex)
) -> Pin<Box<dyn Future<Output = Result<ADataEntries, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get a Set of Entries for the requested range from an AData.

#[must_use]fn get_adata_indices<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress
) -> Pin<Box<dyn Future<Output = Result<ADataIndices, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get latest indices from an AppendOnly Data.

#[must_use]fn get_adata_last_entry<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress
) -> Pin<Box<dyn Future<Output = Result<ADataEntry, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get the last data entry from an AppendOnly Data.

#[must_use]fn get_unpub_adata_permissions_at_index<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    permissions_index: ADataIndex
) -> Pin<Box<dyn Future<Output = Result<ADataUnpubPermissions, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions at the provided index.

#[must_use]fn get_pub_adata_permissions_at_index<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    permissions_index: ADataIndex
) -> Pin<Box<dyn Future<Output = Result<ADataPubPermissions, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions at the provided index.

#[must_use]fn get_pub_adata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    permissions_index: ADataIndex,
    user: ADataUser
) -> Pin<Box<dyn Future<Output = Result<ADataPubPermissionSet, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions for a specified user(s).

#[must_use]fn get_unpub_adata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    permissions_index: ADataIndex,
    public_key: PublicKey
) -> Pin<Box<dyn Future<Output = Result<ADataUnpubPermissionSet, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Get permissions for a specified user(s).

#[must_use]fn add_unpub_adata_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    permissions: ADataUnpubPermissions,
    permissions_index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Add AData Permissions

#[must_use]fn add_pub_adata_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    permissions: ADataPubPermissions,
    permissions_index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Add Pub AData Permissions

#[must_use]fn set_adata_owners<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    owner: ADataOwner,
    owners_index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Set new Owners to AData

#[must_use]fn get_adata_owners<'life0, 'async_trait>(
    &'life0 self,
    address: ADataAddress,
    owners_index: ADataIndex
) -> Pin<Box<dyn Future<Output = Result<ADataOwner, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Set new Owners to AData

#[must_use]fn append_seq_adata<'life0, 'async_trait>(
    &'life0 self,
    append: ADataAppendOperation,
    index: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Append to Published Seq AppendOnly Data

#[must_use]fn append_unseq_adata<'life0, 'async_trait>(
    &'life0 self,
    append: ADataAppendOperation
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Append to Unpublished Unseq AppendOnly Data

#[must_use]fn list_mdata_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: MDataAddress
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<PublicKey, MDataPermissionSet>, CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Return a list of permissions in MutableData stored on the network.

#[must_use]fn set_mdata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: MDataAddress,
    user: PublicKey,
    permissions: MDataPermissionSet,
    version: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Updates or inserts a permissions set for a user

#[must_use]fn del_mdata_user_permissions<'life0, 'async_trait>(
    &'life0 self,
    address: MDataAddress,
    user: PublicKey,
    version: u64
) -> Pin<Box<dyn Future<Output = Result<(), CoreError>> + Send + 'async_trait>> where
    Self: Sized,
    'life0: 'async_trait,
    Self: 'async_trait, 

Updates or inserts a permissions set for a user

fn change_mdata_owner(
    &self,
    name: XorName,
    tag: u64,
    new_owner: PublicKey,
    version: u64
) -> Result<(), CoreError>

Sends an ownership transfer request.

Loading content...

Implementors

Loading content...