2023-01-27 19:54:49 +00:00
|
|
|
use ethers_contract_derive::abigen;
|
|
|
|
use ethers_core::abi::Address;
|
|
|
|
use ethers_providers::Provider;
|
|
|
|
use std::{
|
|
|
|
future::{Future, IntoFuture},
|
|
|
|
sync::Arc,
|
|
|
|
};
|
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn contract_call_into_future_is_send() {
|
|
|
|
abigen!(DsProxyFactory, "ethers-middleware/contracts/DsProxyFactory.json");
|
|
|
|
let (provider, _) = Provider::mocked();
|
|
|
|
let client = Arc::new(provider);
|
|
|
|
let contract = DsProxyFactory::new(Address::zero(), client);
|
|
|
|
|
2023-02-21 00:27:43 +00:00
|
|
|
fn is_send<T: Future + Send + 'static>(future: T) -> T {
|
|
|
|
future
|
2023-01-27 19:54:49 +00:00
|
|
|
}
|
|
|
|
|
2023-02-21 00:27:43 +00:00
|
|
|
is_send(contract.cache().into_future());
|
2023-01-27 19:54:49 +00:00
|
|
|
}
|