test: update broken test and use it module for ethers-contract (#1502)
* refactor: make ethers-contract tests it module * update failing test * assert console is generated * chore(clippy): make clippy happy * update broken test * move sol files back * chore: rustfmt * chore(clippy): make clippy happy
This commit is contained in:
parent
fb8ebd8231
commit
d22fb2bd0b
|
@ -129,6 +129,7 @@ where
|
|||
/// # Example
|
||||
///
|
||||
/// ```
|
||||
/// # #[cfg(feature = "abigen")]
|
||||
/// # async fn test<M:ethers_providers::Middleware>(contract: ethers_contract::Contract<M>) {
|
||||
/// # use ethers_core::types::*;
|
||||
/// # use futures_util::stream::StreamExt;
|
||||
|
|
|
@ -77,6 +77,7 @@ where
|
|||
/// # Example
|
||||
///
|
||||
/// ```
|
||||
/// # #[cfg(feature = "abigen")]
|
||||
/// # async fn test<M:ethers_providers::Middleware>(contract: ethers_contract::Contract<M>) {
|
||||
/// # use ethers_core::types::*;
|
||||
/// # use futures_util::stream::StreamExt;
|
||||
|
|
|
@ -188,7 +188,7 @@ fn can_gen_return_struct() {
|
|||
ArrayRelayerReturn { outputs: vec![4.into(), 9.into(), 2.into()], some_number: 42.into() };
|
||||
verify(array);
|
||||
|
||||
let single = SingleUnnamedReturn { 0: 4321.into() };
|
||||
let single = SingleUnnamedReturn(4321.into());
|
||||
verify(single);
|
||||
|
||||
// doesnt exist:
|
|
@ -53,7 +53,7 @@ fn can_derive_abi_type_empty_struct() {
|
|||
struct Call();
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, EthAbiType)]
|
||||
struct Call2 {};
|
||||
struct Call2;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, EthAbiType)]
|
||||
struct Call3;
|
|
@ -29,6 +29,7 @@ pub struct ValueChanged {
|
|||
}
|
||||
|
||||
/// compiles the given contract and returns the ABI and Bytecode
|
||||
#[track_caller]
|
||||
pub fn compile_contract(name: &str, filename: &str) -> (Abi, Bytes) {
|
||||
let path = format!("./tests/solidity-contracts/{}", filename);
|
||||
let compiled = Solc::default().compile_source(&path).unwrap();
|
|
@ -0,0 +1,5 @@
|
|||
//! ensure console.sol can be generated via abigen!
|
||||
|
||||
ethers_contract::abigen!(HardhatConsole, "./tests/solidity-contracts/console.json",);
|
||||
|
||||
fn assert_console_calls(_: &hardhat_console::HardhatConsoleCalls) {}
|
|
@ -1,6 +1,5 @@
|
|||
#![allow(unused)]
|
||||
mod common;
|
||||
pub use common::*;
|
||||
pub use crate::common::*;
|
||||
use ethers_contract::{abigen, ContractFactory, EthAbiType};
|
||||
use ethers_core::types::{Filter, ValueOrArray, H256};
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#![allow(unused)]
|
||||
|
||||
mod abigen;
|
||||
pub(crate) mod common;
|
||||
#[cfg(feature = "abigen")]
|
||||
mod console;
|
||||
#[cfg(feature = "abigen")]
|
||||
mod contract;
|
||||
|
||||
fn main() {}
|
|
@ -14,8 +14,7 @@ async fn txpool() {
|
|||
let account = provider.get_accounts().await.unwrap()[0];
|
||||
let value: u64 = 42;
|
||||
let gas_price = U256::from_dec_str("221435145689").unwrap();
|
||||
let mut tx =
|
||||
TransactionRequest::new().to(account).from(account).value(value).gas_price(gas_price);
|
||||
let tx = TransactionRequest::new().to(account).from(account).value(value).gas_price(gas_price);
|
||||
|
||||
// send a few transactions
|
||||
let mut txs = Vec::new();
|
||||
|
@ -44,11 +43,7 @@ async fn txpool() {
|
|||
assert!(content.queued.is_empty());
|
||||
let content = content.pending.get(&account).unwrap();
|
||||
|
||||
// the txs get their gas and nonce auto-set upon mempool entry
|
||||
tx = tx.gas(21000);
|
||||
for i in 0..10 {
|
||||
tx = tx.nonce(i);
|
||||
let req = content.get(&i.to_string()).unwrap();
|
||||
assert_eq!(req, &tx);
|
||||
for nonce in 0..10 {
|
||||
assert!(content.contains_key(&nonce.to_string()));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue