hopr_chain_rpc

Trait HoprRpcOperations

Source
pub trait HoprRpcOperations {
    // Required methods
    fn get_timestamp<'life0, 'async_trait>(
        &'life0 self,
        block_number: u64,
    ) -> Pin<Box<dyn Future<Output = Result<Option<u64>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_balance<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        balance_type: BalanceType,
    ) -> Pin<Box<dyn Future<Output = Result<Balance>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_eligibility_status<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
    ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_node_management_module_target_info<'life0, 'async_trait>(
        &'life0 self,
        target: Address,
    ) -> Pin<Box<dyn Future<Output = Result<Option<U256>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_safe_from_node_safe_registry<'life0, 'async_trait>(
        &'life0 self,
        node: Address,
    ) -> Pin<Box<dyn Future<Output = Result<Address>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_module_target_address<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Address>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_channel_closure_notice_period<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Duration>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn check_node_safe_module_status<'life0, 'async_trait>(
        &'life0 self,
        node_address: Address,
    ) -> Pin<Box<dyn Future<Output = Result<NodeSafeModuleStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn send_transaction<'life0, 'async_trait>(
        &'life0 self,
        tx: TypedTransaction,
    ) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Trait defining a general set of operations an RPC provider must provide to the HOPR node.

Required Methods§

Source

fn get_timestamp<'life0, 'async_trait>( &'life0 self, block_number: u64, ) -> Pin<Box<dyn Future<Output = Result<Option<u64>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves the timestamp from the given block number.

Source

fn get_balance<'life0, 'async_trait>( &'life0 self, address: Address, balance_type: BalanceType, ) -> Pin<Box<dyn Future<Output = Result<Balance>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves the node’s account balance of the given type.

Source

fn get_eligibility_status<'life0, 'async_trait>( &'life0 self, address: Address, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves the node’s eligibility status

Source

fn get_node_management_module_target_info<'life0, 'async_trait>( &'life0 self, target: Address, ) -> Pin<Box<dyn Future<Output = Result<Option<U256>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves info of the given node module’s target.

Source

fn get_safe_from_node_safe_registry<'life0, 'async_trait>( &'life0 self, node: Address, ) -> Pin<Box<dyn Future<Output = Result<Address>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves safe address of the given node address from the registry.

Source

fn get_module_target_address<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Address>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves target address of the node module.

Source

fn get_channel_closure_notice_period<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Duration>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves the notice period of channel closure from the Channels contract.

Source

fn check_node_safe_module_status<'life0, 'async_trait>( &'life0 self, node_address: Address, ) -> Pin<Box<dyn Future<Output = Result<NodeSafeModuleStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves the on-chain status of node, safe, and module.

Source

fn send_transaction<'life0, 'async_trait>( &'life0 self, tx: TypedTransaction, ) -> Pin<Box<dyn Future<Output = Result<PendingTransaction<'_>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Sends transaction to the RPC provider.

Implementors§

Source§

impl<P: JsonRpcClient + 'static> HoprRpcOperations for RpcOperations<P>