ChainValues

Trait ChainValues 

Source
pub trait ChainValues {
    type Error: Error + Send + Sync + 'static;

    // Required methods
    fn balance<'life0, 'async_trait, C, A>(
        &'life0 self,
        address: A,
    ) -> Pin<Box<dyn Future<Output = Result<Balance<C>, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             C: 'async_trait + Currency,
             A: 'async_trait + Into<Address> + Send,
             Self: 'async_trait;
    fn domain_separators<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<DomainSeparators, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn minimum_incoming_ticket_win_prob<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<WinningProbability, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn minimum_ticket_price<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn key_binding_fee<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn channel_closure_notice_period<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Duration, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn chain_info<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<ChainInfo, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;

    // Provided method
    fn outgoing_ticket_values<'life0, 'async_trait>(
        &'life0 self,
        cfg_out_wp: Option<WinningProbability>,
        cfg_out_price: Option<Balance<WxHOPR>>,
    ) -> Pin<Box<dyn Future<Output = Result<(WinningProbability, Balance<WxHOPR>), Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
}
Expand description

Retrieves various on-chain information.

Required Associated Types§

Source

type Error: Error + Send + Sync + 'static

Required Methods§

Source

fn balance<'life0, 'async_trait, C, A>( &'life0 self, address: A, ) -> Pin<Box<dyn Future<Output = Result<Balance<C>, Self::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, C: 'async_trait + Currency, A: 'async_trait + Into<Address> + Send, Self: 'async_trait,

Returns the native or token currency balance of the given on-chain account.

Source

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

Retrieves the domain separators of HOPR smart contracts.

Source

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

Retrieves the network-set minimum incoming ticket winning probability.

Source

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

Retrieves the network-set minimum ticket price.

Source

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

Retrieves the current key binding fee used for new key-binding announcements.

Source

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

Gets the grace period for channel closure finalization.

Source

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

Gets the information about the HOPR network on-chain deployment.

Provided Methods§

Source

fn outgoing_ticket_values<'life0, 'async_trait>( &'life0 self, cfg_out_wp: Option<WinningProbability>, cfg_out_price: Option<Balance<WxHOPR>>, ) -> Pin<Box<dyn Future<Output = Result<(WinningProbability, Balance<WxHOPR>), Self::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Convenience function to determine the winning probability and ticket price for outgoing tickets.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a, T> ChainValues for &'a T
where T: 'a + ChainValues + Sync + ?Sized,

Source§

type Error = <T as ChainValues>::Error

Source§

fn balance<'life0, 'async_trait, C, A>( &'life0 self, address: A, ) -> Pin<Box<dyn Future<Output = Result<Balance<C>, <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, C: 'async_trait + Currency, A: 'async_trait + Into<Address> + Send, &'a T: 'async_trait,

Source§

fn domain_separators<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<DomainSeparators, <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

Source§

fn minimum_incoming_ticket_win_prob<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<WinningProbability, <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

Source§

fn minimum_ticket_price<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

Source§

fn key_binding_fee<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

Source§

fn channel_closure_notice_period<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Duration, <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

Source§

fn chain_info<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<ChainInfo, <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: 'async_trait,

Source§

fn outgoing_ticket_values<'life0, 'async_trait>( &'life0 self, cfg_out_wp: Option<WinningProbability>, cfg_out_price: Option<Balance<WxHOPR>>, ) -> Pin<Box<dyn Future<Output = Result<(WinningProbability, Balance<WxHOPR>), <&'a T as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'a T: Sync + 'async_trait,

Source§

impl<T> ChainValues for Box<T>
where T: ChainValues + Sync + ?Sized,

Source§

type Error = <T as ChainValues>::Error

Source§

fn balance<'life0, 'async_trait, C, A>( &'life0 self, address: A, ) -> Pin<Box<dyn Future<Output = Result<Balance<C>, <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, C: 'async_trait + Currency, A: 'async_trait + Into<Address> + Send, Box<T>: 'async_trait,

Source§

fn domain_separators<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<DomainSeparators, <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

Source§

fn minimum_incoming_ticket_win_prob<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<WinningProbability, <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

Source§

fn minimum_ticket_price<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

Source§

fn key_binding_fee<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

Source§

fn channel_closure_notice_period<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Duration, <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

Source§

fn chain_info<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<ChainInfo, <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

Source§

fn outgoing_ticket_values<'life0, 'async_trait>( &'life0 self, cfg_out_wp: Option<WinningProbability>, cfg_out_price: Option<Balance<WxHOPR>>, ) -> Pin<Box<dyn Future<Output = Result<(WinningProbability, Balance<WxHOPR>), <Box<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: Sync + 'async_trait,

Source§

impl<T> ChainValues for Arc<T>
where T: ChainValues + Sync + ?Sized,

Source§

type Error = <T as ChainValues>::Error

Source§

fn balance<'life0, 'async_trait, C, A>( &'life0 self, address: A, ) -> Pin<Box<dyn Future<Output = Result<Balance<C>, <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, C: 'async_trait + Currency, A: 'async_trait + Into<Address> + Send, Arc<T>: 'async_trait,

Source§

fn domain_separators<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<DomainSeparators, <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

Source§

fn minimum_incoming_ticket_win_prob<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<WinningProbability, <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

Source§

fn minimum_ticket_price<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

Source§

fn key_binding_fee<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Balance<WxHOPR>, <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

Source§

fn channel_closure_notice_period<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Duration, <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

Source§

fn chain_info<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<ChainInfo, <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

Source§

fn outgoing_ticket_values<'life0, 'async_trait>( &'life0 self, cfg_out_wp: Option<WinningProbability>, cfg_out_price: Option<Balance<WxHOPR>>, ) -> Pin<Box<dyn Future<Output = Result<(WinningProbability, Balance<WxHOPR>), <Arc<T> as ChainValues>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: Sync + 'async_trait,

Implementors§