Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

fix(contract, signers): cyclic deps #1730

Merged
merged 3 commits into from
Sep 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion ethers-contract/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ futures-util = { version = "^0.3" }
hex = { version = "0.4.3", default-features = false, features = ["std"] }

[dev-dependencies]
ethers-middleware = { version = "^0.17.0", path = "../ethers-middleware" }
ethers-providers = { version = "^0.17.0", path = "../ethers-providers", default-features = false, features = [
"ws"
] }
Expand Down
15 changes: 8 additions & 7 deletions ethers-contract/tests/it/abigen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ use ethers_core::{
types::{transaction::eip2718::TypedTransaction, Chain, Eip1559TransactionRequest, U256},
utils::Anvil,
};
use ethers_middleware::SignerMiddleware;
use ethers_providers::{MockProvider, Provider};
use ethers_signers::{LocalWallet, Signer};
use ethers_solc::Solc;
use std::{
convert::{TryFrom, TryInto},
Expand Down Expand Up @@ -617,11 +615,14 @@ fn can_handle_overloaded_events() {
async fn can_send_struct_param() {
abigen!(StructContract, "./tests/solidity-contracts/StructContract.json");

let server = Anvil::new().spawn();
let wallet: LocalWallet = server.keys()[0].clone().into();
let provider = Provider::try_from(server.endpoint()).unwrap();
let client =
Arc::new(SignerMiddleware::new(provider, wallet.with_chain_id(Chain::AnvilHardhat)));
// launch the network & connect to it
let anvil = Anvil::new().spawn();
let from = anvil.addresses()[0];
let provider = Provider::try_from(anvil.endpoint())
.unwrap()
.with_sender(from)
.interval(std::time::Duration::from_millis(10));
let client = Arc::new(provider);

let contract = StructContract::deploy(client, ()).unwrap().legacy().send().await.unwrap();

Expand Down
17 changes: 7 additions & 10 deletions ethers-contract/tests/it/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ mod eth_tests {
utils::{keccak256, Anvil},
};
use ethers_derive_eip712::*;
use ethers_middleware::signer::SignerMiddleware;
use ethers_providers::{Http, Middleware, PendingTransaction, Provider, StreamExt};
use ethers_signers::{LocalWallet, Signer};
use std::{convert::TryFrom, sync::Arc, time::Duration};
Expand Down Expand Up @@ -747,19 +746,17 @@ mod eth_tests {
// get ABI and bytecode for the DeriveEip712Test contract
let (abi, bytecode) = compile_contract("DeriveEip712Test", "DeriveEip712Test.sol");

// launch anvil
// launch the network & connect to it
let anvil = Anvil::new().spawn();
let from = anvil.addresses()[0];
let provider = Provider::try_from(anvil.endpoint())
.unwrap()
.with_sender(from)
.interval(std::time::Duration::from_millis(10));
let client = Arc::new(provider);

let wallet: LocalWallet = anvil.keys()[0].clone().into();

let provider = Provider::<Http>::try_from(anvil.endpoint())
.expect("failed to instantiate provider from anvil endpoint")
.interval(Duration::from_millis(10u64));

let client =
SignerMiddleware::new_with_provider_chain(provider, wallet.clone()).await.unwrap();
let client = Arc::new(client);

let factory = ContractFactory::new(abi.clone(), bytecode.clone(), client.clone());

let contract = factory
Expand Down
5 changes: 1 addition & 4 deletions ethers-signers/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,7 @@ eth-keystore = { version = "0.5.0" }
home = { version = "0.5.3", optional = true }

[dev-dependencies]
ethers-contract = { version = "^0.17.0", path = "../ethers-contract", features = [
"eip712",
"abigen"
] }
ethers-contract-derive = { version = "^0.17.0", path = "../ethers-contract/ethers-contract-derive" }
ethers-derive-eip712 = { version = "^0.17.0", path = "../ethers-core/ethers-derive-eip712" }
serde_json = { version = "1.0.64" }
tracing-subscriber = "0.3.15"
Expand Down
2 changes: 1 addition & 1 deletion ethers-signers/src/ledger/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ impl LedgerEthereum {
mod tests {
use super::*;
use crate::Signer;
use ethers_contract::EthAbiType;
use ethers_contract_derive::EthAbiType;
use ethers_core::types::{
transaction::eip712::Eip712, Address, TransactionRequest, I256, U256,
};
Expand Down
2 changes: 1 addition & 1 deletion ethers-signers/src/trezor/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ impl TrezorEthereum {
mod tests {
use super::*;
use crate::Signer;
use ethers_contract::EthAbiType;
use ethers_contract_derive::EthAbiType;
use ethers_core::types::{
transaction::{
eip2930::{AccessList, AccessListItem},
Expand Down