[−][src]Trait safe_core::client::Client
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.
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,
&'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,
&'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,
&'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,
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,
&'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,
&'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,
&'life0 self
) -> Pin<Box<dyn Future<Output = Key> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Return the symmetric encryption key.
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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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,
&'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>
&self,
name: XorName,
tag: u64,
new_owner: PublicKey,
version: u64
) -> Result<(), CoreError>
Sends an ownership transfer request.