diff --git a/Cargo.lock b/Cargo.lock index 80e541e2..83356b62 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -328,6 +328,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" @@ -419,6 +431,21 @@ 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 = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + [[package]] name = "cbc" version = "0.1.2" @@ -494,6 +521,17 @@ dependencies = [ "inout", ] +[[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" @@ -508,7 +546,7 @@ dependencies = [ "os_str_bytes", "strsim", "termcolor", - "textwrap", + "textwrap 0.14.2", ] [[package]] @@ -709,6 +747,44 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "criterion" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" +dependencies = [ + "atty", + "cast 0.3.0", + "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 0.2.7", + "itertools", +] + [[package]] name = "crossbeam-channel" version = "0.5.2" @@ -792,6 +868,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.9.1" @@ -814,6 +922,17 @@ dependencies = [ "zeroize", ] +[[package]] +name = "dashmap" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8858831f7781322e539ea39e72449c46b059638250c14344fec8d0aa6e539c" +dependencies = [ + "cfg-if 1.0.0", + "num_cpus", + "parking_lot 0.12.0", +] + [[package]] name = "dbl" version = "0.3.2" @@ -1003,6 +1122,19 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "env_logger" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + [[package]] name = "eth-keystore" version = "0.5.0" @@ -1113,6 +1245,8 @@ dependencies = [ "ethers-core", "ethers-derive-eip712", "ethers-providers", + "ethers-signers", + "ethers-solc", "futures-util", "hex", "once_cell", @@ -1131,6 +1265,7 @@ dependencies = [ "cfg-if 1.0.0", "dunce", "ethers-core", + "ethers-solc", "eyre", "getrandom 0.2.8", "hex", @@ -1141,6 +1276,7 @@ dependencies = [ "serde", "serde_json", "syn", + "tempfile", "url", "walkdir", ] @@ -1163,6 +1299,7 @@ name = "ethers-core" version = "1.0.0" dependencies = [ "arrayvec 0.7.2", + "bincode", "bytes", "cargo_metadata", "chrono", @@ -1171,6 +1308,7 @@ dependencies = [ "ethabi", "generic-array 0.14.6", "hex", + "hex-literal", "k256", "once_cell", "open-fastrlp", @@ -1192,6 +1330,7 @@ dependencies = [ name = "ethers-derive-eip712" version = "1.0.0" dependencies = [ + "ethers-contract-derive", "ethers-core", "hex", "quote", @@ -1211,8 +1350,12 @@ dependencies = [ "serde", "serde-aux", "serde_json", + "serial_test", + "tempfile", "thiserror", + "tokio", "tracing", + "tracing-subscriber", ] [[package]] @@ -1226,12 +1369,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", @@ -1286,7 +1434,9 @@ dependencies = [ "coins-ledger", "elliptic-curve", "eth-keystore", + "ethers-contract-derive", "ethers-core", + "ethers-derive-eip712", "futures-executor", "futures-util", "hex", @@ -1295,12 +1445,14 @@ dependencies = [ "rusoto_core", "rusoto_kms", "semver", + "serde_json", "sha2 0.10.6", "spki", "tempfile", "thiserror", "tokio", "tracing", + "tracing-subscriber", "trezor-client", "yubihsm", ] @@ -1310,7 +1462,9 @@ name = "ethers-solc" version = "1.0.0" dependencies = [ "cfg-if 1.0.0", + "criterion", "dunce", + "env_logger", "ethers-core", "fs_extra", "futures-util", @@ -1322,6 +1476,7 @@ dependencies = [ "num_cpus", "once_cell", "path-slash", + "pretty_assertions", "rand 0.8.5", "rayon", "regex", @@ -1337,6 +1492,7 @@ dependencies = [ "tiny-keccak", "tokio", "tracing", + "tracing-subscriber", "walkdir", "yansi", ] @@ -1353,6 +1509,7 @@ dependencies = [ "serde_json", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-bindgen-test", "web-sys", "wee_alloc", ] @@ -1666,6 +1823,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" @@ -1702,6 +1865,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex-literal" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" + [[package]] name = "hidapi-rusb" version = "1.3.2" @@ -1750,7 +1919,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa", + "itoa 1.0.1", ] [[package]] @@ -1776,6 +1945,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" @@ -1791,7 +1966,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa", + "itoa 1.0.1", "pin-project-lite", "socket2", "tokio", @@ -1939,6 +2114,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" @@ -2056,6 +2237,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" @@ -2167,6 +2357,16 @@ dependencies = [ "void", ] +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + [[package]] name = "num-integer" version = "0.1.44" @@ -2217,6 +2417,12 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +[[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" @@ -2296,6 +2502,21 @@ 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 = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "p256" version = "0.11.1" @@ -2577,6 +2798,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" @@ -2589,6 +2838,18 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "pretty_assertions" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755" +dependencies = [ + "ctor", + "diff", + "output_vt100", + "yansi", +] + [[package]] name = "primitive-types" version = "0.11.1" @@ -2804,6 +3065,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.27" @@ -3121,6 +3391,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "scoped-tls" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + [[package]] name = "scopeguard" version = "1.1.0" @@ -3231,6 +3507,16 @@ dependencies = [ "wasm-bindgen", ] +[[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.144" @@ -3248,7 +3534,7 @@ version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" dependencies = [ - "itoa", + "itoa 1.0.1", "ryu", "serde", ] @@ -3260,11 +3546,37 @@ 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.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92761393ee4dc3ff8f4af487bd58f4307c9329bbedea02cac0089ad9c411e153" +dependencies = [ + "dashmap", + "futures", + "lazy_static", + "log", + "parking_lot 0.12.0", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6f5d1c3087fb119617cff2966fe3808a80e5eb59a8c1601d5994d66f4346a5" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sha-1" version = "0.10.0" @@ -3344,6 +3656,15 @@ dependencies = [ "keccak", ] +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + [[package]] name = "shlex" version = "1.1.0" @@ -3499,7 +3820,7 @@ checksum = "4e4cdcf91153dc0e4e0637f26f042ada32a3b552bc8115935c7bf96f80132b0a" dependencies = [ "anyhow", "cfg-if 1.0.0", - "clap", + "clap 3.0.13", "console 0.14.1", "dialoguer", "fs2", @@ -3608,6 +3929,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" @@ -3634,13 +3964,22 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + [[package]] name = "time" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d" dependencies = [ - "itoa", + "itoa 1.0.1", "libc", "num_threads", "serde", @@ -3662,6 +4001,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" @@ -3806,6 +4155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", + "valuable", ] [[package]] @@ -3818,6 +4168,35 @@ dependencies = [ "tracing", ] +[[package]] +name = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + [[package]] name = "trezor-client" version = "0.0.6" @@ -3960,6 +4339,12 @@ dependencies = [ "serde", ] +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "vcpkg" version = "0.2.15" @@ -4079,6 +4464,30 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +[[package]] +name = "wasm-bindgen-test" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d2fff962180c3fadf677438054b1db62bee4aa32af26a45388af07d1287e1d" +dependencies = [ + "console_error_panic_hook", + "js-sys", + "scoped-tls", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-bindgen-test-macro", +] + +[[package]] +name = "wasm-bindgen-test-macro" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4683da3dfc016f704c9f82cf401520c4f1cb3ee440f7f52b3d6ac29506a49ca7" +dependencies = [ + "proc-macro2", + "quote", +] + [[package]] name = "wasm-timer" version = "0.2.5" diff --git a/Cargo.toml b/Cargo.toml index 50d23c5c..3702ec50 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,13 +11,6 @@ repository = "https://github.com/gakonst/ethers-rs" homepage = "https://docs.rs/ethers" description = "Complete Ethereum library and wallet implementation in Rust." -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[package.metadata.playground] -features = ["full"] - [workspace] members = [ "ethers-addressbook", @@ -42,6 +35,13 @@ default-members = [ "ethers-solc", ] +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + +[package.metadata.playground] +features = ["full"] + [features] default = ["abigen"] @@ -98,6 +98,15 @@ ethers-middleware = { version = "^1.0.0", default-features = false, path = "./et ethers-solc = { version = "^1.0.0", default-features = false, path = "./ethers-solc", optional = true } ethers-etherscan = { version = "^1.0.0", default-features = false, path = "./ethers-etherscan" } +[dev-dependencies] +ethers-contract = { version = "^1.0.0", default-features = false, path = "./ethers-contract", features = [ + "abigen", + "eip712", +] } +ethers-providers = { version = "^1.0.0", default-features = false, path = "./ethers-providers", features = [ + "ws", +] } + [target.'cfg(target_family = "unix")'.dev-dependencies] ethers-providers = { version = "^1.0.0", default-features = false, path = "./ethers-providers", features = [ "ws", diff --git a/ethers-contract/Cargo.toml b/ethers-contract/Cargo.toml index 5f2571d8..fe92d961 100644 --- a/ethers-contract/Cargo.toml +++ b/ethers-contract/Cargo.toml @@ -10,10 +10,6 @@ homepage = "https://docs.rs/ethers" repository = "https://github.com/gakonst/ethers-rs" keywords = ["ethereum", "web3", "celo", "ethers"] -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - [dependencies] ethers-providers = { version = "^1.0.0", path = "../ethers-providers", default-features = false } ethers-core = { version = "^1.0.0", path = "../ethers-core", default-features = false } @@ -29,6 +25,19 @@ pin-project = { version = "1.0.11", default-features = false } futures-util = { version = "^0.3" } hex = { version = "0.4.3", default-features = false, features = ["std"] } +[dev-dependencies] +ethers-providers = { version = "^1.0.0", path = "../ethers-providers", default-features = false, features = [ + "ws", +] } +ethers-signers = { version = "^1.0.0", path = "../ethers-signers" } +ethers-contract-abigen = { version = "^1.0.0", path = "ethers-contract-abigen" } +ethers-contract-derive = { version = "^1.0.0", path = "ethers-contract-derive" } +ethers-core = { version = "^1.0.0", path = "../ethers-core", default-features = false, features = [ + "eip712", +] } +ethers-derive-eip712 = { version = "^1.0.0", path = "../ethers-core/ethers-derive-eip712" } +ethers-solc = { version = "^1.0.0", path = "../ethers-solc", default-features = false } + [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { version = "1.18", default-features = false, features = ["macros"] } @@ -43,3 +52,7 @@ legacy = [] rustls = ["ethers-contract-abigen/rustls"] openssl = ["ethers-contract-abigen/openssl"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/ethers-contract/ethers-contract-abigen/Cargo.toml b/ethers-contract/ethers-contract-abigen/Cargo.toml index ae3d6b5b..f57fd771 100644 --- a/ethers-contract/ethers-contract-abigen/Cargo.toml +++ b/ethers-contract/ethers-contract-abigen/Cargo.toml @@ -12,10 +12,6 @@ homepage = "https://docs.rs/ethers" repository = "https://github.com/gakonst/ethers-rs" keywords = ["ethereum", "web3", "celo", "ethers"] -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - [dependencies] ethers-core = { version = "^1.0.0", path = "../../ethers-core", features = ["macros"] } @@ -38,7 +34,18 @@ regex = "1.6.0" # NOTE: this enables wasm compatibility for getrandom indirectly getrandom = { version = "0.2", features = ["js"] } +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + [features] default = ["reqwest", "rustls"] openssl = ["reqwest/native-tls"] rustls = ["reqwest/rustls-tls"] + +[dev-dependencies] +tempfile = "3.2.0" +ethers-solc = { version = "^1.0.0", path = "../../ethers-solc", default-features = false, features = [ + "project-util", + "svm-solc", +] } diff --git a/ethers-contract/ethers-contract-derive/Cargo.toml b/ethers-contract/ethers-contract-derive/Cargo.toml index 05b012f7..aa2b1ec0 100644 --- a/ethers-contract/ethers-contract-derive/Cargo.toml +++ b/ethers-contract/ethers-contract-derive/Cargo.toml @@ -12,10 +12,6 @@ homepage = "https://docs.rs/ethers" repository = "https://github.com/gakonst/ethers-rs" keywords = ["ethereum", "web3", "celo", "ethers"] -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - [lib] proc-macro = true @@ -28,3 +24,7 @@ hex = { version = "0.4.3", default-features = false, features = ["std"] } proc-macro2 = "1.0" quote = "1.0" syn = "1.0.12" + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/ethers-core/Cargo.toml b/ethers-core/Cargo.toml index c297b032..281bc00c 100644 --- a/ethers-core/Cargo.toml +++ b/ethers-core/Cargo.toml @@ -10,10 +10,6 @@ homepage = "https://docs.rs/ethers" repository = "https://github.com/gakonst/ethers-rs" keywords = ["ethereum", "web3", "celo", "ethers"] -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - [dependencies] # Pin FastRLP to 0.1.2 when it was still Apache. open-fastrlp = { version = "=0.1.2", features = ["std", "derive", "ethereum-types"] } @@ -49,8 +45,19 @@ syn = { version = "1.0.103", optional = true } proc-macro2 = { version = "1.0.47", optional = true } rust_decimal = { version = "1.26.1", features = ["maths"] } +[dev-dependencies] +serde_json = { version = "1.0.64", default-features = false } +bincode = { version = "1.3.3", default-features = false } +once_cell = { version = "1.15.0" } +hex-literal = "0.3.4" +rand = "0.8.5" + [features] celo = ["legacy"] # celo support extends the transaction format with extra fields legacy = [] eip712 = ["convert_case", "syn", "proc-macro2"] macros = ["syn", "cargo_metadata", "once_cell"] + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] diff --git a/ethers-core/ethers-derive-eip712/Cargo.toml b/ethers-core/ethers-derive-eip712/Cargo.toml index b94dfb5e..d8fe773a 100644 --- a/ethers-core/ethers-derive-eip712/Cargo.toml +++ b/ethers-core/ethers-derive-eip712/Cargo.toml @@ -14,3 +14,6 @@ syn = "1.0.77" ethers-core = { version = "^1.0.0", path = "../", default-features = false, features = ["eip712", "macros"] } hex = "0.4.3" serde_json = "1.0.68" + +[dev-dependencies] +ethers-contract-derive = { version = "^1.0.0", path = "../../ethers-contract/ethers-contract-derive" } diff --git a/ethers-etherscan/Cargo.toml b/ethers-etherscan/Cargo.toml index 0b97838a..4b306ca0 100644 --- a/ethers-etherscan/Cargo.toml +++ b/ethers-etherscan/Cargo.toml @@ -17,10 +17,6 @@ Rust API bindings for the etherscan.io web API """ keywords = ["ethereum", "web3", "etherscan", "ethers"] -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - [dependencies] ethers-core = { version = "^1.0.0", path = "../ethers-core", default-features = false } ethers-solc = { version = "^1.0.0", path = "../ethers-solc", default-features = false, optional = true } @@ -36,6 +32,17 @@ semver = "1.0.14" # NOTE: this enables wasm compatibility for getrandom indirectly getrandom = { version = "0.2", features = ["js"] } +[dev-dependencies] +tempfile = "3.3.0" +tokio = { version = "1.18", features = ["macros", "rt-multi-thread", "time"] } +serial_test = "0.9.0" +tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] } +ethers-solc = { version = "^1.0.0", path = "../ethers-solc", default-features = false } + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + [features] default = ["rustls"] openssl = ["reqwest/native-tls"] diff --git a/ethers-middleware/Cargo.toml b/ethers-middleware/Cargo.toml index e55578c4..3eaff182 100644 --- a/ethers-middleware/Cargo.toml +++ b/ethers-middleware/Cargo.toml @@ -40,6 +40,17 @@ 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 = "^1.0.0", path = "../ethers-providers", default-features = false, features = [ + "ws", + "rustls", +] } +once_cell = "1.15.0" +ethers-solc = { version = "^1.0.0", path = "../ethers-solc" } +serial_test = "0.9.0" + [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { version = "1.18", default-features = false, features = ["rt", "macros", "time"] } diff --git a/ethers-providers/Cargo.toml b/ethers-providers/Cargo.toml index d659c3a9..bb66c0f2 100644 --- a/ethers-providers/Cargo.toml +++ b/ethers-providers/Cargo.toml @@ -50,10 +50,6 @@ tokio-tungstenite = { version = "0.17.2", default-features = false, features = [ "connect", ], optional = true } -[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] -tokio = { version = "1.18", default-features = false, features = ["rt", "macros", "time"] } -tempfile = "3.3.0" - [target.'cfg(target_arch = "wasm32")'.dependencies] ws_stream_wasm = "0.7" wasm-bindgen = "0.2" @@ -65,6 +61,10 @@ parking_lot = { version = "0.11", features = ["wasm-bindgen"] } # NOTE: this enables wasm compatibility for getrandom indirectly getrandom = { version = "0.2", features = ["js"] } +[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] +tokio = { version = "1.18", default-features = false, features = ["rt", "macros", "time"] } +tempfile = "3.3.0" + [features] default = ["ws", "rustls"] celo = ["ethers-core/celo"] diff --git a/ethers-signers/Cargo.toml b/ethers-signers/Cargo.toml index f48a7038..bc69359d 100644 --- a/ethers-signers/Cargo.toml +++ b/ethers-signers/Cargo.toml @@ -43,6 +43,13 @@ spki = { version = "0.6.0", optional = true } eth-keystore = { version = "0.5.0" } home = { version = "0.5.4", optional = true } +[dev-dependencies] +ethers-contract-derive = { version = "^1.0.0", path = "../ethers-contract/ethers-contract-derive" } +ethers-derive-eip712 = { version = "^1.0.0", path = "../ethers-core/ethers-derive-eip712" } +serde_json = { version = "1.0.64" } +tracing-subscriber = "0.3.16" +yubihsm = { version = "0.41.0", features = ["secp256k1", "usb", "mockhsm"] } + [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] yubihsm = { version = "0.41.0", features = ["secp256k1", "usb", "mockhsm"] } tokio = { version = "1.18", default-features = false, features = ["macros", "rt"] } diff --git a/ethers-solc/Cargo.toml b/ethers-solc/Cargo.toml index 6272ff46..f275cd72 100644 --- a/ethers-solc/Cargo.toml +++ b/ethers-solc/Cargo.toml @@ -54,6 +54,15 @@ svm-builds = { package = "svm-rs-builds", version = "0.1.8", 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.3.0" +tempfile = "3.3.0" +tokio = { version = "1.18", features = ["full"] } + [[bench]] name = "compile_many" harness = false diff --git a/examples/ethers-wasm/Cargo.toml b/examples/ethers-wasm/Cargo.toml index 665fe6b8..a74568d8 100644 --- a/examples/ethers-wasm/Cargo.toml +++ b/examples/ethers-wasm/Cargo.toml @@ -43,3 +43,6 @@ wee_alloc = { version = "0.4.5", optional = true } web-sys = { version = "0.3.60", features = ["console"] } hex = "0.4.3" + +[dev-dependencies] +wasm-bindgen-test = "0.3.33"