Trait M10CoreClient
Source pub trait M10CoreClient {
type Signer: Signer;
Show 53 methods
// Required methods
fn signer(&self) -> M10Result<Arc<Self::Signer>>;
fn set_signer(&mut self, signer: Arc<Self::Signer>);
fn create_transaction<'life0, 'async_trait>(
&'life0 self,
payload: RequestEnvelope,
) -> Pin<Box<dyn Future<Output = M10Result<TransactionResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn bulk_create_transactions<'life0, 'async_trait>(
&'life0 self,
payload: BulkTransactions,
) -> Pin<Box<dyn Future<Output = M10Result<BulkTransactionsResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_block_height<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = M10Result<u64>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_offline_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<u8>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_account<'life0, 'async_trait>(
&'life0 self,
id: AccountId,
) -> Pin<Box<dyn Future<Output = M10Result<Account>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_indexed_account<'life0, 'async_trait>(
&'life0 self,
id: AccountId,
) -> Pin<Box<dyn Future<Output = M10Result<IndexedAccount>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_account_info<'life0, 'async_trait>(
&'life0 self,
id: AccountId,
) -> Pin<Box<dyn Future<Output = M10Result<AccountInfo>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_raw_account_info<'life0, 'async_trait>(
&'life0 self,
id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<AccountInfo>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_accounts<'life0, 'async_trait>(
&'life0 self,
filter: PageBuilder<Vec<u8>, NameOrOwnerFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<Account>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_transfer<'life0, 'async_trait>(
&'life0 self,
tx_id: TxId,
) -> Pin<Box<dyn Future<Output = M10Result<Transfer>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_raw_transfer<'life0, 'async_trait>(
&'life0 self,
tx_id: TxId,
) -> Pin<Box<dyn Future<Output = M10Result<FinalizedTransfer>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_enhanced_transfer<'life0, 'async_trait>(
&'life0 self,
tx_id: TxId,
) -> Pin<Box<dyn Future<Output = M10Result<ExpandedTransfer>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_enhanced_transfers<'life0, 'async_trait>(
&'life0 self,
filter: TxnFilter<TransferFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<ExpandedTransfer>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_transfers<'life0, 'async_trait>(
&'life0 self,
filter: TxnFilter<TransferFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<Transfer>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_raw_transfers<'life0, 'async_trait>(
&'life0 self,
filter: TxnFilter<TransferFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<FinalizedTransfers>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_action<'life0, 'async_trait>(
&'life0 self,
tx_id: TxId,
) -> Pin<Box<dyn Future<Output = M10Result<Action>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_actions<'life0, 'async_trait>(
&'life0 self,
filter: TxnFilter<ActionsFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<Action>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_transactions<'life0, 'async_trait>(
&'life0 self,
filter: TxnFilter<ContextFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<Transaction>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn group_transactions<'life0, 'async_trait>(
&'life0 self,
filter: TxnFilter<GroupingFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<Vec<Transaction>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_bank<'life0, 'async_trait>(
&'life0 self,
id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<Bank>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_banks<'life0, 'async_trait>(
&'life0 self,
builder: PageBuilder<Vec<u8>>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<Bank>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_role<'life0, 'async_trait>(
&'life0 self,
id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<Role>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_roles<'life0, 'async_trait>(
&'life0 self,
builder: PageBuilder<Vec<u8>, NameFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<Role>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_role_binding<'life0, 'async_trait>(
&'life0 self,
id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<RoleBinding>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_role_bindings<'life0, 'async_trait>(
&'life0 self,
builder: PageBuilder<Vec<u8>, NameFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<RoleBinding>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_account_set<'life0, 'async_trait>(
&'life0 self,
id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<AccountSet>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_account_sets<'life0, 'async_trait>(
&'life0 self,
builder: PageBuilder<Vec<u8>, NameOrOwnerFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<AccountSet>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_account_metadata<'life0, 'async_trait>(
&'life0 self,
id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<AccountMetadata>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_account_metadata<'life0, 'async_trait>(
&'life0 self,
builder: PageBuilder<Vec<u8>, NameOrOwnerFilter>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<AccountMetadata>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn observe_accounts<'life0, 'async_trait>(
&'life0 self,
filter: AccountFilter,
) -> Pin<Box<dyn Future<Output = M10Result<Pin<Box<dyn Stream<Item = M10Result<Vec<AccountUpdate>>> + Send + Sync + 'static>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn observe_transfers<'life0, 'async_trait>(
&'life0 self,
filter: AccountFilter,
) -> Pin<Box<dyn Future<Output = M10Result<Pin<Box<dyn Stream<Item = M10Result<Vec<Transfer>>> + Send + Sync + 'static>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn observe_transactions<'life0, 'async_trait>(
&'life0 self,
filter: AccountFilter,
) -> Pin<Box<dyn Future<Output = M10Result<Pin<Box<dyn Stream<Item = M10Result<FinalizedTransactions>> + Send + Sync + 'static>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn observe_actions<'life0, 'async_trait>(
&'life0 self,
filter: AccountFilter<NamedAction>,
) -> Pin<Box<dyn Future<Output = M10Result<Pin<Box<dyn Stream<Item = M10Result<Vec<Action>>> + Send + Sync + 'static>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn observe_raw_actions<'life0, 'async_trait>(
&'life0 self,
filter: AccountFilter<NamedAction>,
) -> Pin<Box<dyn Future<Output = M10Result<Pin<Box<dyn Stream<Item = M10Result<FinalizedTransactions>> + Send + Sync + 'static>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn observe_resources<'life0, 'async_trait>(
&'life0 self,
request: ObserveResourcesRequest,
) -> Pin<Box<dyn Future<Output = M10Result<Pin<Box<dyn Stream<Item = M10Result<FinalizedTransactions>> + Send + Sync + 'static>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn observe_metrics<'life0, 'async_trait>(
&'life0 self,
filter: AccountFilter,
) -> Pin<Box<dyn Future<Output = M10Result<Pin<Box<dyn Stream<Item = M10Result<TransactionMetrics>> + Send + Sync + 'static>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn signed_transaction<'life0, 'async_trait>(
&'life0 self,
data: Data,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<SignedRequest<TransactionRequestPayload>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn transfer<'life0, 'async_trait>(
&'life0 self,
data: CreateTransfer,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn create_account<'life0, 'async_trait>(
&'life0 self,
data: CreateLedgerAccount,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<(TxId, AccountId)>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn initiate_transfer<'life0, 'async_trait>(
&'life0 self,
data: CreateTransfer,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn commit_transfer<'life0, 'async_trait>(
&'life0 self,
tx_id: TxId,
accept: bool,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn freeze_account<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
frozen: bool,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn set_account_limit<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
limit: u64,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn set_account_instrument<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
code: String,
decimals: u32,
description: Option<String>,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn action<'life0, 'async_trait>(
&'life0 self,
data: InvokeAction,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn documents<'life0, 'async_trait>(
&'life0 self,
data: DocumentOperations,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn create_token<'life0, 'async_trait>(
&'life0 self,
account: AccountId,
value: u64,
address: Option<Vec<u8>>,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<(TxId, Option<OfflineToken>)>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn redeem_token<'life0, 'async_trait>(
&'life0 self,
token: RedeemableToken,
account_id: AccountId,
context_id: Vec<u8>,
) -> Pin<Box<dyn Future<Output = M10Result<TxId>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn enhance_transfers<'life0, 'async_trait>(
&'life0 self,
transfers: Vec<FinalizedTransfer>,
) -> Pin<Box<dyn Future<Output = M10Result<Vec<EnhancedTransfer>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn enhance_transfer<'life0, 'async_trait>(
&'life0 self,
transfer: FinalizedTransfer,
) -> Pin<Box<dyn Future<Output = M10Result<EnhancedTransfer>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn enhance_transfer_step<'life0, 'life1, 'async_trait>(
&'life0 self,
transfer_step: &'life1 TransferStep,
) -> Pin<Box<dyn Future<Output = M10Result<EnhancedTransferStep>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}