#188 Added EVM RPC to the node (#198)

* #188 added RPC node to enable interaction
This commit is contained in:
Nikita Khateev
2024-05-28 18:29:06 +04:00
committed by GitHub
parent 3132574062
commit 135e186816
14 changed files with 1284 additions and 87 deletions
+503 -9
View File
@@ -789,6 +789,15 @@ dependencies = [
"pin-project-lite 0.2.14",
]
[[package]]
name = "atoi"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
dependencies = [
"num-traits",
]
[[package]]
name = "atomic-take"
version = "1.1.0"
@@ -1709,6 +1718,21 @@ dependencies = [
"wasmtime-types",
]
[[package]]
name = "crc"
version = "3.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
dependencies = [
"crc-catalog",
]
[[package]]
name = "crc-catalog"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
name = "crc32fast"
version = "1.4.0"
@@ -2719,6 +2743,12 @@ dependencies = [
"walkdir",
]
[[package]]
name = "dotenvy"
version = "0.15.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
[[package]]
name = "downcast"
version = "0.11.0"
@@ -2837,6 +2867,9 @@ name = "either"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
dependencies = [
"serde",
]
[[package]]
name = "elliptic-curve"
@@ -3188,6 +3221,176 @@ dependencies = [
"thiserror",
]
[[package]]
name = "fc-api"
version = "1.0.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"async-trait",
"fp-storage",
"parity-scale-codec",
"sp-core",
"sp-runtime",
]
[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"async-trait",
"fp-consensus",
"fp-rpc",
"sc-consensus",
"sp-api",
"sp-block-builder",
"sp-consensus",
"sp-runtime",
"thiserror",
]
[[package]]
name = "fc-db"
version = "2.0.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"async-trait",
"ethereum",
"fc-api",
"fc-storage",
"fp-consensus",
"fp-rpc",
"fp-storage",
"futures",
"kvdb-rocksdb",
"log",
"parity-db",
"parity-scale-codec",
"parking_lot 0.12.1",
"sc-client-api",
"sc-client-db",
"smallvec",
"sp-api",
"sp-blockchain",
"sp-core",
"sp-database",
"sp-runtime",
"sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0)",
"sqlx",
"tokio",
]
[[package]]
name = "fc-mapping-sync"
version = "2.0.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"fc-db",
"fc-storage",
"fp-consensus",
"fp-rpc",
"futures",
"futures-timer",
"log",
"parking_lot 0.12.1",
"sc-client-api",
"sc-utils",
"sp-api",
"sp-blockchain",
"sp-consensus",
"sp-core",
"sp-runtime",
"tokio",
]
[[package]]
name = "fc-rpc"
version = "2.0.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"ethereum",
"ethereum-types",
"evm",
"fc-api",
"fc-mapping-sync",
"fc-rpc-core",
"fc-storage",
"fp-evm",
"fp-rpc",
"fp-storage",
"futures",
"hex",
"jsonrpsee",
"libsecp256k1",
"log",
"pallet-evm",
"parity-scale-codec",
"prometheus",
"rand",
"rlp",
"sc-client-api",
"sc-consensus-aura",
"sc-network",
"sc-network-common",
"sc-network-sync",
"sc-rpc",
"sc-service",
"sc-transaction-pool",
"sc-transaction-pool-api",
"sc-utils",
"schnellru",
"serde",
"sp-api",
"sp-block-builder",
"sp-blockchain",
"sp-consensus",
"sp-consensus-aura",
"sp-core",
"sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0)",
"sp-inherents",
"sp-io",
"sp-runtime",
"sp-state-machine",
"sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0)",
"sp-timestamp",
"substrate-prometheus-endpoint",
"thiserror",
"tokio",
]
[[package]]
name = "fc-rpc-core"
version = "1.1.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"ethereum",
"ethereum-types",
"jsonrpsee",
"rlp",
"rustc-hex",
"serde",
"serde_json",
"sp-core-hashing",
]
[[package]]
name = "fc-storage"
version = "1.0.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"ethereum",
"ethereum-types",
"fp-rpc",
"fp-storage",
"parity-scale-codec",
"sc-client-api",
"sp-api",
"sp-blockchain",
"sp-io",
"sp-runtime",
"sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0)",
]
[[package]]
name = "fdlimit"
version = "0.3.0"
@@ -3303,12 +3506,38 @@ dependencies = [
"num-traits",
]
[[package]]
name = "flume"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
dependencies = [
"futures-core",
"futures-sink",
"spin 0.9.8",
]
[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foreign-types"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
dependencies = [
"foreign-types-shared",
]
[[package]]
name = "foreign-types-shared"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "fork-tree"
version = "12.0.0"
@@ -3357,6 +3586,16 @@ dependencies = [
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0)",
]
[[package]]
name = "fp-dynamic-fee"
version = "1.0.0"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"async-trait",
"sp-core",
"sp-inherents",
]
[[package]]
name = "fp-ethereum"
version = "1.0.0-dev"
@@ -3403,6 +3642,18 @@ dependencies = [
"sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0)",
]
[[package]]
name = "fp-self-contained"
version = "1.0.0-dev"
source = "git+https://github.com/OpenZeppelin/frontier?branch=polkadot-v1.7.0#8037bf8d7401357d321d837c9b92729519c81e45"
dependencies = [
"frame-support",
"parity-scale-codec",
"scale-info",
"serde",
"sp-runtime",
]
[[package]]
name = "fp-storage"
version = "2.0.0"
@@ -3787,6 +4038,17 @@ dependencies = [
"num_cpus",
]
[[package]]
name = "futures-intrusive"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
dependencies = [
"futures-core",
"lock_api",
"parking_lot 0.12.1",
]
[[package]]
name = "futures-io"
version = "0.3.30"
@@ -4085,6 +4347,9 @@ name = "heck"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "heck"
@@ -5290,6 +5555,17 @@ dependencies = [
"libsecp256k1-core",
]
[[package]]
name = "libsqlite3-sys"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
dependencies = [
"cc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "libz-sys"
version = "1.1.16"
@@ -5904,6 +6180,24 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
[[package]]
name = "native-tls"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
dependencies = [
"lazy_static",
"libc",
"log",
"openssl",
"openssl-probe",
"openssl-sys",
"schannel",
"security-framework",
"security-framework-sys",
"tempfile",
]
[[package]]
name = "netlink-packet-core"
version = "0.4.2"
@@ -6188,12 +6482,50 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openssl"
version = "0.10.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
dependencies = [
"bitflags 2.5.0",
"cfg-if",
"foreign-types",
"libc",
"once_cell",
"openssl-macros",
"openssl-sys",
]
[[package]]
name = "openssl-macros"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.59",
]
[[package]]
name = "openssl-probe"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-sys"
version = "0.9.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
dependencies = [
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "option-ext"
version = "0.2.0"
@@ -7464,6 +7796,15 @@ dependencies = [
"cumulus-primitives-core",
"cumulus-primitives-parachain-inherent",
"cumulus-relay-chain-interface",
"fc-api",
"fc-consensus",
"fc-db",
"fc-mapping-sync",
"fc-rpc",
"fc-rpc-core",
"fc-storage",
"fp-dynamic-fee",
"fp-rpc",
"frame-benchmarking",
"frame-benchmarking-cli",
"futures",
@@ -7479,6 +7820,7 @@ dependencies = [
"sc-cli",
"sc-client-api",
"sc-consensus",
"sc-consensus-aura",
"sc-executor",
"sc-network",
"sc-network-sync",
@@ -7497,6 +7839,7 @@ dependencies = [
"sp-blockchain",
"sp-consensus-aura",
"sp-core",
"sp-inherents",
"sp-io",
"sp-keystore",
"sp-runtime",
@@ -7523,6 +7866,7 @@ dependencies = [
"fp-account",
"fp-evm",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
"frame-executive",
"frame-support",
@@ -12097,10 +12441,18 @@ dependencies = [
"zeroize",
]
[[package]]
name = "sp-core-hashing"
version = "15.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0#2fe3145ab9bd26ceb5a26baf2a64105b0035a5a6"
dependencies = [
"sp-crypto-hashing",
]
[[package]]
name = "sp-crypto-ec-utils"
version = "0.10.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"ark-bls12-377",
"ark-bls12-377-ext",
@@ -12162,7 +12514,7 @@ dependencies = [
[[package]]
name = "sp-debug-derive"
version = "14.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"proc-macro2",
"quote",
@@ -12183,7 +12535,7 @@ dependencies = [
[[package]]
name = "sp-externalities"
version = "0.25.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -12401,7 +12753,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface"
version = "24.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"bytes",
"impl-trait-for-tuples",
@@ -12433,7 +12785,7 @@ dependencies = [
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "17.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"Inflector",
"expander 2.1.0",
@@ -12526,7 +12878,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?tag=polkadot-v1.7.0#2fe
[[package]]
name = "sp-std"
version = "14.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
[[package]]
name = "sp-storage"
@@ -12544,7 +12896,7 @@ dependencies = [
[[package]]
name = "sp-storage"
version = "19.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -12581,7 +12933,7 @@ dependencies = [
[[package]]
name = "sp-tracing"
version = "16.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"parity-scale-codec",
"tracing",
@@ -12681,7 +13033,7 @@ dependencies = [
[[package]]
name = "sp-wasm-interface"
version = "20.0.0"
source = "git+https://github.com/paritytech/polkadot-sdk#c594b10a803e218f63c1bd97d2b27454efb4e852"
source = "git+https://github.com/paritytech/polkadot-sdk#115c2477eb287df55107cd95594100ba395ed239"
dependencies = [
"impl-trait-for-tuples",
"log",
@@ -12714,6 +13066,9 @@ name = "spin"
version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
dependencies = [
"lock_api",
]
[[package]]
name = "spinners"
@@ -12736,6 +13091,127 @@ dependencies = [
"der",
]
[[package]]
name = "sqlformat"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
dependencies = [
"itertools 0.12.1",
"nom",
"unicode_categories",
]
[[package]]
name = "sqlx"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa"
dependencies = [
"sqlx-core",
"sqlx-macros",
"sqlx-sqlite",
]
[[package]]
name = "sqlx-core"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6"
dependencies = [
"ahash 0.8.11",
"atoi",
"byteorder",
"bytes",
"crc",
"crossbeam-queue",
"either",
"event-listener 2.5.3",
"futures-channel",
"futures-core",
"futures-intrusive",
"futures-io",
"futures-util",
"hashlink",
"hex",
"indexmap 2.2.6",
"log",
"memchr",
"native-tls",
"once_cell",
"paste",
"percent-encoding",
"serde",
"sha2 0.10.8",
"smallvec",
"sqlformat",
"thiserror",
"tokio",
"tokio-stream",
"tracing",
"url",
]
[[package]]
name = "sqlx-macros"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127"
dependencies = [
"proc-macro2",
"quote",
"sqlx-core",
"sqlx-macros-core",
"syn 1.0.109",
]
[[package]]
name = "sqlx-macros-core"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8"
dependencies = [
"dotenvy",
"either",
"heck 0.4.1",
"hex",
"once_cell",
"proc-macro2",
"quote",
"serde",
"serde_json",
"sha2 0.10.8",
"sqlx-core",
"sqlx-sqlite",
"syn 1.0.109",
"tempfile",
"tokio",
"url",
]
[[package]]
name = "sqlx-sqlite"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa"
dependencies = [
"atoi",
"flume",
"futures-channel",
"futures-core",
"futures-executor",
"futures-intrusive",
"futures-util",
"libsqlite3-sys",
"log",
"percent-encoding",
"serde",
"sqlx-core",
"tracing",
"url",
"urlencoding",
]
[[package]]
name = "ss58-registry"
version = "1.47.0"
@@ -13840,6 +14316,12 @@ dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-segmentation"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
[[package]]
name = "unicode-width"
version = "0.1.11"
@@ -13852,6 +14334,12 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
[[package]]
name = "unicode_categories"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
[[package]]
name = "universal-hash"
version = "0.5.1"
@@ -13897,6 +14385,12 @@ dependencies = [
"percent-encoding",
]
[[package]]
name = "urlencoding"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
[[package]]
name = "utf8parse"
version = "0.2.1"