solidity_bindgen/
providers.rs1use async_trait::async_trait;
2use web3::contract::tokens::{Detokenize, Tokenize};
3use web3::contract::Options;
4use web3::Error;
5
6#[async_trait]
7pub trait CallProvider {
8 async fn call<Out: Detokenize + Unpin + Send, Params: Tokenize + Send>(
9 &self,
10 name: &'static str,
11 params: Params,
12 ) -> Result<Out, Error>;
13}
14
15#[async_trait]
16pub trait SendProvider {
17 type Out;
18 async fn send<Params: Tokenize + Send>(
19 &self,
20 func: &'static str,
21 params: Params,
22 options: Option<Options>,
23 confirmations: Option<usize>,
24 ) -> Result<Self::Out, web3::Error>;
25}