r402_protocol/network/
mod.rs1mod id;
4mod pattern;
5
6use std::sync::Arc;
7
8pub use id::{ChainId, ChainIdFormatError, NetworkInfo};
9pub use pattern::ChainIdPattern;
10
11#[derive(Debug, Clone)]
13pub struct DeployedTokenAmount<TAmount, TToken> {
14 pub amount: TAmount,
16 pub token: TToken,
18}
19
20pub trait ChainProvider {
22 fn signer_addresses(&self) -> Vec<String>;
24
25 fn chain_id(&self) -> ChainId;
27}
28
29impl<T: ChainProvider> ChainProvider for Arc<T> {
30 fn signer_addresses(&self) -> Vec<String> {
31 (**self).signer_addresses()
32 }
33
34 fn chain_id(&self) -> ChainId {
35 (**self).chain_id()
36 }
37}