pub trait PurchaseDocument<S: Signer> {
    // Required methods
    fn purchase_document<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        price: Credits,
        sdk: &'life1 Sdk,
        document_type: DocumentType,
        purchaser_id: Identifier,
        identity_public_key: IdentityPublicKey,
        signer: &'life2 S,
        settings: Option<PutSettings>,
    ) -> Pin<Box<dyn Future<Output = Result<StateTransition, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn wait_for_response<'life0, 'life1, 'async_trait>(
        &'life0 self,
        sdk: &'life1 Sdk,
        state_transition: StateTransition,
        data_contract: Arc<DataContract>,
    ) -> Pin<Box<dyn Future<Output = Result<Document, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn purchase_document_and_wait_for_response<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        price: Credits,
        sdk: &'life1 Sdk,
        document_type: DocumentType,
        purchaser_id: Identifier,
        identity_public_key: IdentityPublicKey,
        data_contract: Arc<DataContract>,
        signer: &'life2 S,
    ) -> Pin<Box<dyn Future<Output = Result<Document, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

A trait for purchasing a document on Platform

Required Methods§

source

fn purchase_document<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, price: Credits, sdk: &'life1 Sdk, document_type: DocumentType, purchaser_id: Identifier, identity_public_key: IdentityPublicKey, signer: &'life2 S, settings: Option<PutSettings>, ) -> Pin<Box<dyn Future<Output = Result<StateTransition, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Tries to purchase a document on platform Setting settings to None sets default connection behavior

source

fn wait_for_response<'life0, 'life1, 'async_trait>( &'life0 self, sdk: &'life1 Sdk, state_transition: StateTransition, data_contract: Arc<DataContract>, ) -> Pin<Box<dyn Future<Output = Result<Document, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Waits for the response of a state transition after it has been broadcast

source

fn purchase_document_and_wait_for_response<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, price: Credits, sdk: &'life1 Sdk, document_type: DocumentType, purchaser_id: Identifier, identity_public_key: IdentityPublicKey, data_contract: Arc<DataContract>, signer: &'life2 S, ) -> Pin<Box<dyn Future<Output = Result<Document, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Tries to purchase a document on platform and waits for the response

Implementors§

source§

impl<S: Signer> PurchaseDocument<S> for Document