diff --git a/Cargo.lock b/Cargo.lock
index 34a1092..12dabd8 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -55,17 +55,11 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-[[package]]
-name = "base16ct"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
-
[[package]]
name = "bitvec"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
"funty",
"radium",
@@ -112,17 +106,11 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-[[package]]
-name = "const-oid"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661"
-
[[package]]
name = "cpufeatures"
-version = "0.2.2"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"
+checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813"
dependencies = [
"libc",
]
@@ -133,37 +121,16 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-[[package]]
-name = "crypto-bigint"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f2b443d17d49dad5ef0ede301c3179cc923b8822f3393b4d2c28c269dd4a122"
-dependencies = [
- "generic-array",
- "rand_core",
- "subtle",
- "zeroize",
-]
-
[[package]]
name = "crypto-common"
-version = "0.1.3"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array",
"typenum",
]
-[[package]]
-name = "der"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f"
-dependencies = [
- "const-oid",
-]
-
[[package]]
name = "derive_more"
version = "0.99.17"
@@ -183,38 +150,6 @@ checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
dependencies = [
"block-buffer",
"crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "ecdsa"
-version = "0.14.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e852f4174d2a8646a0fa8a34b55797856c722f86267deb0aa1e93f7f247f800e"
-dependencies = [
- "der",
- "elliptic-curve",
- "rfc6979",
- "signature",
-]
-
-[[package]]
-name = "elliptic-curve"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
-dependencies = [
- "base16ct",
- "crypto-bigint",
- "der",
- "digest",
- "ff",
- "generic-array",
- "group",
- "rand_core",
- "sec1",
- "subtle",
- "zeroize",
]
[[package]]
@@ -274,7 +209,7 @@ dependencies = [
[[package]]
name = "evm"
version = "0.35.0"
-source = "git+https://github.com/cassc/evm?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
+source = "git+https://github.com/rust-blockchain/evm.git?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
dependencies = [
"auto_impl 0.5.0",
"environmental",
@@ -294,7 +229,7 @@ dependencies = [
[[package]]
name = "evm-core"
version = "0.35.0"
-source = "git+https://github.com/cassc/evm?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
+source = "git+https://github.com/rust-blockchain/evm.git?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
dependencies = [
"parity-scale-codec",
"primitive-types",
@@ -305,7 +240,7 @@ dependencies = [
[[package]]
name = "evm-gasometer"
version = "0.35.0"
-source = "git+https://github.com/cassc/evm?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
+source = "git+https://github.com/rust-blockchain/evm.git?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
dependencies = [
"environmental",
"evm-core",
@@ -316,7 +251,7 @@ dependencies = [
[[package]]
name = "evm-runtime"
version = "0.35.0"
-source = "git+https://github.com/cassc/evm?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
+source = "git+https://github.com/rust-blockchain/evm.git?branch=master#51b8c2ce3104265e1fd5bb0fe5cdfd2e0938239c"
dependencies = [
"auto_impl 0.5.0",
"environmental",
@@ -335,16 +270,6 @@ dependencies = [
"once_cell",
]
-[[package]]
-name = "ff"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e"
-dependencies = [
- "rand_core",
- "subtle",
-]
-
[[package]]
name = "fixed-hash"
version = "0.7.0"
@@ -365,9 +290,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "generic-array"
-version = "0.14.5"
+version = "0.14.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
dependencies = [
"typenum",
"version_check",
@@ -375,26 +300,15 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.6"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
+checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
dependencies = [
"cfg-if",
"libc",
"wasi",
]
-[[package]]
-name = "group"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d"
-dependencies = [
- "ff",
- "rand_core",
- "subtle",
-]
-
[[package]]
name = "hash-db"
version = "0.15.2"
@@ -417,15 +331,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
dependencies = [
"ahash",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
+ "serde",
]
[[package]]
@@ -437,15 +343,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
[[package]]
name = "impl-codec"
version = "0.6.0"
@@ -490,19 +387,6 @@ version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
-[[package]]
-name = "k256"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db2573d3fd3e4cc741affc9b5ce1a8ce36cf29f09f80f36da4309d0ae6d7854"
-dependencies = [
- "cfg-if",
- "ecdsa",
- "elliptic-curve",
- "sha2",
- "sha3",
-]
-
[[package]]
name = "keccak"
version = "0.1.2"
@@ -520,9 +404,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.126"
+version = "0.2.132"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
[[package]]
name = "log"
@@ -615,16 +499,6 @@ dependencies = [
"autocfg",
]
-[[package]]
-name = "num_cpus"
-version = "1.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
[[package]]
name = "num_enum"
version = "0.5.7"
@@ -648,15 +522,15 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.12.0"
+version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225"
+checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e"
[[package]]
name = "parity-scale-codec"
-version = "3.1.2"
+version = "3.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8b44461635bbb1a0300f100a841e571e7d919c81c73075ef5d152ffdb521066"
+checksum = "9182e4a71cae089267ab03e67c99368db7cd877baf50f931e5d6d4b71e195ac0"
dependencies = [
"arrayvec",
"bitvec",
@@ -668,9 +542,9 @@ dependencies = [
[[package]]
name = "parity-scale-codec-derive"
-version = "3.1.2"
+version = "3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c45ed1f39709f5a89338fab50e59816b2e8815f5bb58276e7ddf9afd495f73f8"
+checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -678,12 +552,6 @@ dependencies = [
"syn",
]
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
[[package]]
name = "ppv-lite86"
version = "0.2.16"
@@ -706,10 +574,11 @@ dependencies = [
[[package]]
name = "proc-macro-crate"
-version = "1.1.3"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a"
+checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9"
dependencies = [
+ "once_cell",
"thiserror",
"toml",
]
@@ -740,18 +609,18 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.39"
+version = "1.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f"
+checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
-version = "1.0.18"
+version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
dependencies = [
"proc-macro2",
]
@@ -795,8 +664,7 @@ dependencies = [
[[package]]
name = "revm"
version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab402ae244afdd560b2aa710df5af557bc791b1cca6fec174ced0cf781e13134"
+source = "git+https://github.com/bluealloy/revm.git?branch=main#99eb1f5e74221198d3c8da883a6a73025f9f37d6"
dependencies = [
"arrayref",
"auto_impl 1.0.1",
@@ -809,18 +677,17 @@ dependencies = [
"rlp",
"serde",
"sha3",
- "tokio",
]
[[package]]
name = "revm_precompiles"
version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af88e7e9feb30cc4ed64645f09b966e84a1f6be56551ce5f1691105def45705d"
+source = "git+https://github.com/bluealloy/revm.git?branch=main#99eb1f5e74221198d3c8da883a6a73025f9f37d6"
dependencies = [
"bytes",
- "k256",
+ "hashbrown",
"num",
+ "once_cell",
"primitive-types",
"ripemd",
"secp256k1",
@@ -829,17 +696,6 @@ dependencies = [
"substrate-bn",
]
-[[package]]
-name = "rfc6979"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32"
-dependencies = [
- "crypto-bigint",
- "hmac",
- "zeroize",
-]
-
[[package]]
name = "ripemd"
version = "0.1.1"
@@ -914,24 +770,11 @@ dependencies = [
"syn",
]
-[[package]]
-name = "sec1"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
-dependencies = [
- "base16ct",
- "der",
- "generic-array",
- "subtle",
- "zeroize",
-]
-
[[package]]
name = "secp256k1"
-version = "0.23.4"
+version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ece73253dd9e1fb540ff324eae554113a31c25fb598d22fd13b088a6a03f90d"
+checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff"
dependencies = [
"secp256k1-sys",
]
@@ -947,18 +790,18 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.137"
+version = "1.0.144"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
+checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.137"
+version = "1.0.144"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
+checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
dependencies = [
"proc-macro2",
"quote",
@@ -978,24 +821,14 @@ dependencies = [
[[package]]
name = "sha3"
-version = "0.10.1"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "881bf8156c87b6301fc5ca6b27f11eeb2761224c7081e69b409d5a1951a70c86"
+checksum = "0a31480366ec990f395a61b7c08122d99bd40544fdb5abcfc1b06bb29994312c"
dependencies = [
"digest",
"keccak",
]
-[[package]]
-name = "signature"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0ea32af43239f0d353a7dd75a22d94c329c8cdaafdcb4c1c1335aa10c298a4a"
-dependencies = [
- "digest",
- "rand_core",
-]
-
[[package]]
name = "spin"
version = "0.5.2"
@@ -1021,17 +854,11 @@ dependencies = [
"rustc-hex",
]
-[[package]]
-name = "subtle"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-
[[package]]
name = "syn"
-version = "1.0.96"
+version = "1.0.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf"
+checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
dependencies = [
"proc-macro2",
"quote",
@@ -1046,18 +873,18 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "thiserror"
-version = "1.0.31"
+version = "1.0.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
+checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.31"
+version = "1.0.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
+checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21"
dependencies = [
"proc-macro2",
"quote",
@@ -1073,30 +900,6 @@ dependencies = [
"crunchy",
]
-[[package]]
-name = "tokio"
-version = "1.20.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581"
-dependencies = [
- "autocfg",
- "num_cpus",
- "once_cell",
- "pin-project-lite",
- "tokio-macros",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
[[package]]
name = "toml"
version = "0.5.9"
@@ -1136,9 +939,9 @@ dependencies = [
[[package]]
name = "unicode-ident"
-version = "1.0.0"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee"
+checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
[[package]]
name = "version_check"
@@ -1148,9 +951,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wasi"
-version = "0.10.2+wasi-snapshot-preview1"
+version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wyz"
@@ -1160,9 +963,3 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e"
dependencies = [
"tap",
]
-
-[[package]]
-name = "zeroize"
-version = "1.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
diff --git a/Cargo.toml b/Cargo.toml
index 3a643c2..e93a256 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -6,12 +6,14 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-evm = { git = "https://github.com/cassc/evm", branch = "master" }
+evm = { git = "https://github.com/rust-blockchain/evm.git", branch = "master" }
eyre = "0.6.8"
hex = "0.4.3"
primitive-types = { version = "0.11.1", features = ["scale-info"] }
microbench = "0.5.0"
-revm = { version = "1.9.0", features = ["serde", "tokio", "hex", "k256", "with-serde"] }
+revm = { git = "https://github.com/bluealloy/revm.git", branch="main", features = ["serde", "hex", "with-serde"] }
bytes = "1.2.1"
+[profile.release]
+debug = true
\ No newline at end of file
diff --git a/README.md b/README.md
index b67e3ab..085eab4 100644
--- a/README.md
+++ b/README.md
@@ -22,3 +22,11 @@ execute_contract_method_reverted_from_rust_evm (5.0s) ... 7_720.943 ns/ite
execute_contract_method_success_from_revm (5.0s) ... 8_617.185 ns/iter (1.000 R²)
execute_contract_method_reverted_from_revm (5.0s) ... 8_594.083 ns/iter (0.999 R²)
```
+
+After updating revm branch on XPS (i7-10750H CPU @ 2.60GHz):
+```text
+execute_contract_method_success_from_rust_evm (1.0s) ... 8_549.149 ns/iter (0.999 R²)
+execute_contract_method_reverted_from_rust_evm (1.0s) ... 7_504.395 ns/iter (1.000 R²)
+execute_contract_method_success_from_revm (1.0s) ... 2_414.513 ns/iter (1.000 R²)
+execute_contract_method_reverted_from_revm (1.0s) ... 2_194.849 ns/iter (1.000 R²)
+```
\ No newline at end of file
diff --git a/flamegraph.svg b/flamegraph.svg
new file mode 100644
index 0000000..76a2296
--- /dev/null
+++ b/flamegraph.svg
@@ -0,0 +1,415 @@
+
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index 0cc1cd8..e8932c0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,9 +5,10 @@ use evm::Config;
use eyre::Result;
use microbench::{self, Options};
use primitive_types::{H160, U256};
-use revm::{AccountInfo, Bytecode, InMemoryDB, Return, TransactTo};
+use revm::{AccountInfo, Bytecode, InMemoryDB, Return, TransactTo, LatestSpec};
use std::collections::BTreeMap;
use std::str::FromStr;
+use std::time::Duration;
/// Contract address
const OWNER_ADDR: &str = "0xf000000000000000000000000000000000000000";
@@ -22,6 +23,8 @@ const METHOD_SUCCESS_BIN: &str =
const METHOD_REVERT_BIN: &str =
"02067e6a00000000000000000000000000000000000000000000000000000000000000c7";
+const TEST_DURATION : Duration = Duration::from_millis(1000);
+
fn bench_rust_evm() -> Result<()> {
let owner = H160::from_str(OWNER_ADDR)?;
let contract = H160::from_str(CONTRACT_ADDR)?;
@@ -70,7 +73,7 @@ fn bench_rust_evm() -> Result<()> {
let method = hex::decode(METHOD_SUCCESS_BIN)?;
// Microbenchmark
- let bench_options = Options::default();
+ let bench_options = Options::default().time(TEST_DURATION);
microbench::bench(
&bench_options,
"execute_contract_method_success_from_rust_evm",
@@ -130,25 +133,25 @@ fn bench_revm() -> Result<()> {
db.insert_account_info(from, account);
// Add contract account
- let account = AccountInfo::new(U256::MAX, 0u64, Bytecode::new_raw(contract_bin));
+ let account = AccountInfo::new(U256::MAX, 0u64, Bytecode::new_raw(contract_bin).to_analysed::());
db.insert_account_info(to, account);
evm.database(db);
evm.env.tx.caller = from;
evm.env.tx.transact_to = TransactTo::Call(to);
- let bench_options = Options::default();
+ let bench_options = Options::default().time(TEST_DURATION);
evm.env.tx.data = hex::decode(METHOD_SUCCESS_BIN)?.into();
microbench::bench(
&bench_options,
"execute_contract_method_success_from_revm",
|| {
- let (r, _to, _g, _s, _logs) = evm.transact();
+ let (r,_) = evm.transact();
assert!(
- matches!(r, Return::Return),
+ matches!(r.exit_reason, Return::Return),
"REVM Method call should succeed: {:#?}",
- r
+ r.exit_reason
);
},
);
@@ -158,11 +161,11 @@ fn bench_revm() -> Result<()> {
&bench_options,
"execute_contract_method_reverted_from_revm",
|| {
- let (r, _to, _g, _s, _logs) = evm.transact();
+ let (result,_) = evm.transact();
assert!(
- matches!(r, Return::Revert),
+ matches!(result.exit_reason, Return::Revert),
"REVM Method call should revert, r: {:#?}",
- r,
+ result.exit_reason,
);
},
);