diff --git a/Cargo.lock b/Cargo.lock index 07998814..462bfe72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -318,6 +318,18 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata", + "serde", +] + [[package]] name = "build_const" version = "0.2.2" @@ -388,6 +400,15 @@ dependencies = [ "serde_json", ] +[[package]] +name = "cast" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a" +dependencies = [ + "rustc_version", +] + [[package]] name = "cc" version = "1.0.72" @@ -440,6 +461,17 @@ dependencies = [ "generic-array 0.14.5", ] +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "bitflags", + "textwrap 0.11.0", + "unicode-width", +] + [[package]] name = "clap" version = "3.0.13" @@ -454,7 +486,7 @@ dependencies = [ "os_str_bytes", "strsim", "termcolor", - "textwrap", + "textwrap 0.14.2", ] [[package]] @@ -668,6 +700,44 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "criterion" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10" +dependencies = [ + "atty", + "cast", + "clap 2.34.0", + "criterion-plot", + "csv", + "futures", + "itertools", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_cbor", + "serde_derive", + "serde_json", + "tinytemplate", + "tokio", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57" +dependencies = [ + "cast", + "itertools", +] + [[package]] name = "crossbeam-channel" version = "0.5.2" @@ -761,6 +831,38 @@ dependencies = [ "subtle", ] +[[package]] +name = "csv" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1" +dependencies = [ + "bstr", + "csv-core", + "itoa 0.4.8", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +dependencies = [ + "memchr", +] + +[[package]] +name = "ctor" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa" +dependencies = [ + "quote", + "syn", +] + [[package]] name = "ctr" version = "0.8.0" @@ -967,6 +1069,19 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "env_logger" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + [[package]] name = "eth-keystore" version = "0.4.1" @@ -1072,7 +1187,10 @@ dependencies = [ "ethers-contract-derive", "ethers-core", "ethers-derive-eip712", + "ethers-middleware", "ethers-providers", + "ethers-signers", + "ethers-solc", "futures-util", "hex", "once_cell", @@ -1091,6 +1209,7 @@ dependencies = [ "cfg-if 1.0.0", "dunce", "ethers-core", + "ethers-solc", "eyre", "getrandom 0.2.7", "hex", @@ -1100,6 +1219,7 @@ dependencies = [ "serde", "serde_json", "syn", + "tempfile", "url", "walkdir", ] @@ -1152,7 +1272,10 @@ dependencies = [ name = "ethers-derive-eip712" version = "0.13.0" dependencies = [ + "ethers-contract", + "ethers-contract-derive", "ethers-core", + "ethers-signers", "hex", "quote", "serde_json", @@ -1164,13 +1287,18 @@ name = "ethers-etherscan" version = "0.13.0" dependencies = [ "ethers-core", + "ethers-solc", "reqwest", "semver", "serde", "serde-aux", "serde_json", + "serial_test", + "tempfile", "thiserror", + "tokio", "tracing", + "tracing-subscriber", ] [[package]] @@ -1183,12 +1311,17 @@ dependencies = [ "ethers-etherscan", "ethers-providers", "ethers-signers", + "ethers-solc", "futures-locks", "futures-util", + "hex", "instant", + "once_cell", + "rand 0.8.5", "reqwest", "serde", "serde_json", + "serial_test", "thiserror", "tokio", "tracing", @@ -1271,7 +1404,9 @@ version = "0.13.0" dependencies = [ "cfg-if 1.0.0", "colored", + "criterion", "dunce", + "env_logger", "ethers-core", "fs_extra", "futures-util", @@ -1283,6 +1418,7 @@ dependencies = [ "num_cpus", "once_cell", "path-slash", + "pretty_assertions", "rand 0.8.5", "rayon", "regex", @@ -1298,6 +1434,7 @@ dependencies = [ "tiny-keccak", "tokio", "tracing", + "tracing-subscriber", "walkdir", ] @@ -1618,6 +1755,12 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + [[package]] name = "hashbrown" version = "0.11.2" @@ -1708,7 +1851,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa", + "itoa 1.0.1", ] [[package]] @@ -1734,6 +1877,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "hyper" version = "0.14.19" @@ -1749,7 +1898,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa", + "itoa 1.0.1", "pin-project-lite", "socket2", "tokio", @@ -1888,6 +2037,12 @@ dependencies = [ "either", ] +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + [[package]] name = "itoa" version = "1.0.1" @@ -1997,6 +2152,15 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata", +] + [[package]] name = "matches" version = "0.1.9" @@ -2149,6 +2313,12 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + [[package]] name = "opaque-debug" version = "0.2.3" @@ -2203,6 +2373,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "output_vt100" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9" +dependencies = [ + "winapi", +] + [[package]] name = "p256" version = "0.10.1" @@ -2496,6 +2675,34 @@ version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" +[[package]] +name = "plotters" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c" + +[[package]] +name = "plotters-svg" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9" +dependencies = [ + "plotters-backend", +] + [[package]] name = "ppv-lite86" version = "0.2.16" @@ -2508,6 +2715,18 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "pretty_assertions" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89f989ac94207d048d92db058e4f6ec7342b0971fc58d1271ca148b799b3563" +dependencies = [ + "ansi_term", + "ctor", + "diff", + "output_vt100", +] + [[package]] name = "primitive-types" version = "0.11.1" @@ -2722,6 +2941,15 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + [[package]] name = "regex-syntax" version = "0.6.26" @@ -3122,6 +3350,16 @@ dependencies = [ "serde_json", ] +[[package]] +name = "serde_cbor" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" +dependencies = [ + "half", + "serde", +] + [[package]] name = "serde_derive" version = "1.0.137" @@ -3139,7 +3377,7 @@ version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" dependencies = [ - "itoa", + "itoa 1.0.1", "ryu", "serde", ] @@ -3151,11 +3389,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa", + "itoa 1.0.1", "ryu", "serde", ] +[[package]] +name = "serial_test" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5bcc41d18f7a1d50525d080fd3e953be87c4f9f1a974f3c21798ca00d54ec15" +dependencies = [ + "lazy_static", + "parking_lot 0.11.2", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2881bccd7d60fb32dfa3d7b3136385312f8ad75e2674aab2852867a09790cae8" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + [[package]] name = "sha-1" version = "0.10.0" @@ -3409,7 +3671,7 @@ checksum = "462a64764fb3e8f26469f1c84e30240405f8a641b633b6e2b3d8c83e73f6f67a" dependencies = [ "anyhow", "cfg-if 1.0.0", - "clap", + "clap 3.0.13", "console 0.14.1", "dialoguer", "fs2", @@ -3517,6 +3779,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + [[package]] name = "textwrap" version = "0.14.2" @@ -3572,6 +3843,16 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "tinyvec" version = "1.5.1" @@ -3747,9 +4028,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" dependencies = [ "ansi_term", + "lazy_static", + "matchers", + "regex", "sharded-slab", "smallvec", "thread_local", + "tracing", "tracing-core", "tracing-log", ] diff --git a/ethers-contract/Cargo.toml b/ethers-contract/Cargo.toml index ed1d9d2e..4f42a6cb 100644 --- a/ethers-contract/Cargo.toml +++ b/ethers-contract/Cargo.toml @@ -24,6 +24,16 @@ pin-project = {version = "1.0.7", default-features = false } futures-util = { version = "^0.3" } hex = { version = "0.4.3", default-features = false, features = ["std"] } +[dev-dependencies] +ethers-middleware = { version = "^0.13.0", path = "../ethers-middleware" } +ethers-providers = { version = "^0.13.0", path = "../ethers-providers", default-features = false, features = ["ws"] } +ethers-signers = { version = "^0.13.0", path = "../ethers-signers" } +ethers-contract-abigen = { version = "^0.13.0", path = "ethers-contract-abigen" } +ethers-contract-derive = { version = "^0.13.0", path = "ethers-contract-derive" } +ethers-core = { version = "^0.13.0", path = "../ethers-core", default-features = false, features = ["eip712"]} +ethers-derive-eip712 = { version = "^0.13.0", path = "../ethers-core/ethers-derive-eip712"} +ethers-solc = { version = "^0.13.0", path = "../ethers-solc", default-features = false } + [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { version = "1.18", default-features = false, features = ["macros"] } diff --git a/ethers-contract/ethers-contract-abigen/Cargo.toml b/ethers-contract/ethers-contract-abigen/Cargo.toml index b7e51c85..d011b1e3 100644 --- a/ethers-contract/ethers-contract-abigen/Cargo.toml +++ b/ethers-contract/ethers-contract-abigen/Cargo.toml @@ -38,3 +38,7 @@ rustdoc-args = ["--cfg", "docsrs"] default = ["reqwest", "rustls"] openssl = ["reqwest/native-tls"] rustls = ["reqwest/rustls-tls"] + +[dev-dependencies] +tempfile = "3.2.0" +ethers-solc = { version = "^0.13.0", path = "../../ethers-solc", default-features = false, features = ["project-util"] } diff --git a/ethers-core/ethers-derive-eip712/Cargo.toml b/ethers-core/ethers-derive-eip712/Cargo.toml index 97f14406..b3d18f28 100644 --- a/ethers-core/ethers-derive-eip712/Cargo.toml +++ b/ethers-core/ethers-derive-eip712/Cargo.toml @@ -14,3 +14,8 @@ syn = "1.0.77" ethers-core = { version = "^0.13.0", path = "../", default-features = false, features = ["eip712", "macros"] } hex = "0.4.3" serde_json = "1.0.68" + +[dev-dependencies] +ethers-contract = { version = "^0.13.0", path = "../../ethers-contract", features = ["abigen"]} +ethers-contract-derive = { version = "^0.13.0", path = "../../ethers-contract/ethers-contract-derive" } +ethers-signers = { version = "^0.13.0", path = "../../ethers-signers" } diff --git a/ethers-etherscan/Cargo.toml b/ethers-etherscan/Cargo.toml index 2f33a393..a3fa57bb 100644 --- a/ethers-etherscan/Cargo.toml +++ b/ethers-etherscan/Cargo.toml @@ -23,6 +23,13 @@ thiserror = "1.0" tracing = "0.1.35" semver = "1.0.10" +[dev-dependencies] +tempfile = "3.3.0" +tokio = { version = "1.18", features = ["macros", "rt-multi-thread", "time"] } +serial_test = "0.6.0" +tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] } +ethers-solc = { version = "^0.13.0", path = "../ethers-solc", default-features = false } + [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] diff --git a/ethers-middleware/Cargo.toml b/ethers-middleware/Cargo.toml index 9d22dcf6..dafaeb46 100644 --- a/ethers-middleware/Cargo.toml +++ b/ethers-middleware/Cargo.toml @@ -38,6 +38,14 @@ instant = {version = "0.1.12", features = ["now"] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { version = "1.18" } +[dev-dependencies] +hex = { version = "0.4.3", default-features = false, features = ["std"] } +rand = { version = "0.8.5", default-features = false } +ethers-providers = { version = "^0.13.0", path = "../ethers-providers", default-features = false, features = ["ws", "rustls"] } +once_cell = "1.12.0" +ethers-solc = { version = "^0.13.0", path = "../ethers-solc", default-features = false } +serial_test = "0.6.0" + [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { version = "1.18", default-features = false, features = ["rt", "macros", "time"] } diff --git a/ethers-solc/Cargo.toml b/ethers-solc/Cargo.toml index 2be2c91d..91c17142 100644 --- a/ethers-solc/Cargo.toml +++ b/ethers-solc/Cargo.toml @@ -50,6 +50,15 @@ svm-builds = { package = "svm-rs-builds", version = "0.1.0", optional = true} # NOTE: this enables wasm compatibility for getrandom indirectly getrandom = { version = "0.2", features = ["js"] } +[dev-dependencies] +criterion = { version = "0.3", features = ["async_tokio"] } +env_logger = "*" +tracing-subscriber = {version = "0.3", default-features = false, features = ["env-filter", "fmt"]} +rand = "0.8.5" +pretty_assertions = "1.2.1" +tempfile = "3.3.0" +tokio = { version = "1.18", features = ["full"] } + [[bench]] name = "compile_many" harness = false