Compare commits
86 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09967329af | ||
|
|
459a1a02a4 | ||
|
|
a716eb3871 | ||
|
|
0fd7c59724 | ||
|
|
aa41520dd1 | ||
|
|
4bffab6715 | ||
|
|
5709dbc3e0 | ||
|
|
5fdedf0858 | ||
|
|
3317797285 | ||
|
|
327c4bcb14 | ||
|
|
f143ddb75a | ||
|
|
187c81b3f1 | ||
|
|
458d55559e | ||
|
|
0cf0cdbb86 | ||
|
|
91e57c803d | ||
|
|
973a5a594b | ||
|
|
63fdad8d86 | ||
|
|
efb80e1032 | ||
|
|
f0fd88aa12 | ||
|
|
142b63a4f9 | ||
|
|
1d2b640834 | ||
|
|
f1dc682168 | ||
|
|
0bb2f8f6b8 | ||
|
|
d5c2a0fbe2 | ||
|
|
98563b0a45 | ||
|
|
d8ce175846 | ||
|
|
fb9699d8e1 | ||
|
|
dbf9a1cd98 | ||
|
|
6b4e56b214 | ||
|
|
f40e198eb7 | ||
|
|
bbecb0415e | ||
|
|
6d81fce451 | ||
|
|
65c5e6dfd3 | ||
|
|
2e23ca353f | ||
|
|
a831379ad8 | ||
|
|
cfc6439f2e | ||
|
|
52d966ccaa | ||
|
|
59d891edf4 | ||
|
|
f3bdc0da3c | ||
|
|
a55799d523 | ||
|
|
1d07c4c06b | ||
|
|
ea25ffd79d | ||
|
|
eb876cb2d7 | ||
|
|
814526a248 | ||
|
|
d3ba83405c | ||
|
|
c46fe330dc | ||
|
|
0e5d6944b7 | ||
|
|
b0a1e3da03 | ||
|
|
0706e5468d | ||
|
|
f286597d10 | ||
|
|
e2f665e9cf | ||
|
|
eab41b49cf | ||
|
|
8d3e0582a8 | ||
|
|
705bc71593 | ||
|
|
f723e288c3 | ||
|
|
a6bd3516e0 | ||
|
|
08e6cca3e5 | ||
|
|
8a9d14141a | ||
|
|
832fc444b6 | ||
|
|
612a71ecb2 | ||
|
|
06fc61d7c5 | ||
|
|
837e8b8725 | ||
|
|
ea3efd926e | ||
|
|
3f01b69084 | ||
|
|
647ff31942 | ||
|
|
56131b6d92 | ||
|
|
51d824fbdc | ||
|
|
1225ff2c5a | ||
|
|
cb91b7e828 | ||
|
|
233bab2ee7 | ||
|
|
fed80cc075 | ||
|
|
26ab00b6c7 | ||
|
|
01e72efb80 | ||
|
|
81ae80b7f1 | ||
|
|
910bb78f0d | ||
|
|
6078eeaed7 | ||
|
|
50a4d5fa57 | ||
|
|
410853e280 | ||
|
|
bf5830f766 | ||
|
|
d811f6e3ce | ||
|
|
9110b1d9e4 | ||
|
|
cb0513a8b1 | ||
|
|
84f675021c | ||
|
|
03bfb012a1 | ||
|
|
16542bd355 | ||
|
|
24cff45334 |
@@ -1,3 +1,3 @@
|
||||
[target.x86_64-pc-windows-msvc]
|
||||
# Link the C runtime statically ; https://github.com/openethereum/openethereum/issues/6643
|
||||
# Link the C runtime statically ; https://github.com/openethereum/parity-ethereum/issues/6643
|
||||
rustflags = ["-Ctarget-feature=+crt-static"]
|
||||
|
||||
33
.github/workflows/build-test-windows.yml
vendored
Normal file
33
.github/workflows/build-test-windows.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Build and Test Suite on Windows
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
jobs:
|
||||
build-tests:
|
||||
name: Test and Build
|
||||
strategy:
|
||||
matrix:
|
||||
platform:
|
||||
- windows2019 # custom runner
|
||||
toolchain:
|
||||
- stable
|
||||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install toolchain
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
profile: minimal
|
||||
override: true
|
||||
- name: Build tests
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: test
|
||||
args: --locked --all --release --features "json-tests" --verbose --no-run
|
||||
5
.github/workflows/build-test.yml
vendored
5
.github/workflows/build-test.yml
vendored
@@ -33,3 +33,8 @@ jobs:
|
||||
with:
|
||||
command: test
|
||||
args: --locked --all --release --features "json-tests" --verbose --no-run
|
||||
- name: Run tests for ${{ matrix.platform }}
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: test
|
||||
args: --locked --all --release --features "json-tests" --verbose
|
||||
|
||||
4
.github/workflows/check.yml
vendored
4
.github/workflows/check.yml
vendored
@@ -30,12 +30,12 @@ jobs:
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: check
|
||||
args: --locked --manifest-path util/io/Cargo.toml --no-default-features --verbose
|
||||
args: --locked --manifest-path crates/runtime/io/Cargo.toml --no-default-features --verbose
|
||||
- name: Run cargo check 3/3
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: check
|
||||
args: --locked --manifest-path util/io/Cargo.toml --features "mio" --verbose
|
||||
args: --locked --manifest-path crates/runtime/io/Cargo.toml --features "mio" --verbose
|
||||
- name: Run cargo check evmbin
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
|
||||
8
.gitmodules
vendored
8
.gitmodules
vendored
@@ -1,7 +1,3 @@
|
||||
[submodule "ethcore/res/ethereum/tests"]
|
||||
path = ethcore/res/ethereum/tests
|
||||
[submodule "crates/ethcore/res/json_tests"]
|
||||
path = crates/ethcore/res/json_tests
|
||||
url = https://github.com/ethereum/tests.git
|
||||
branch = develop
|
||||
[submodule "ethcore/res/wasm-tests"]
|
||||
path = ethcore/res/wasm-tests
|
||||
url = https://github.com/paritytech/wasm-tests
|
||||
|
||||
76
CHANGELOG.md
76
CHANGELOG.md
@@ -1,56 +1,28 @@
|
||||
## OpenEthereum v3.1.1
|
||||
## OpenEthereum v3.2.4
|
||||
|
||||
* Fix for Typed transaction broadcast.
|
||||
|
||||
## OpenEthereum v3.2.3
|
||||
|
||||
* Hotfix for berlin consensus error.
|
||||
|
||||
## OpenEthereum v3.2.1
|
||||
|
||||
Hot fix issue, related to initial sync:
|
||||
* Initial sync gets stuck. (#318)
|
||||
## OpenEthereum v3.2.0
|
||||
|
||||
Bug fixes:
|
||||
* Ancient target set. InvalidStateRoot bug (#69) (#149)
|
||||
* Update linked-hash-map to 0.5.3
|
||||
* Update EWF's chains with Istanbul transition block numbers (#11482) (#254)
|
||||
* fix Supplied instant is later than self (#169)
|
||||
* ethcore/snapshot: fix double-lock in Service::feed_chunk (#289)
|
||||
|
||||
Enhancements:
|
||||
* Added additional Sg-1,Ca-2,Ca-3 OE bootnodes
|
||||
* Add --ws-max-paxload (#155)
|
||||
* Add flag to disable storage output in openethereum-evm tool #97 (#115)
|
||||
* ethstore - remove unnecessary dir & tiny-keccak dependencies from the lib (#107)
|
||||
* Sync block verification (#74)
|
||||
* Add `wasmDisableTransition` spec option (#60)
|
||||
* EIP2929 with journaling + Yolov3 (#79)
|
||||
* EIP2565 impl (#82)
|
||||
* TypedTransaction (EIP-2718) and Optional access list (EIP-2930) (#135)
|
||||
|
||||
DevOps:
|
||||
* Add custom windows runner (#162)
|
||||
* Remove sscache (#138)
|
||||
* Fix deprecated set-env declaration (#106)
|
||||
|
||||
|
||||
## OpenEthereum v3.1.0
|
||||
|
||||
OpenEthereum 3.1.0 is a release based on v2.5.13 which is the last stable version known of the client that does not include any of the issues introduced in v2.7. It removes non core features like Ethereum Classic, Private Transactions, Light Client, Updater, IPFS and Swarm support, currently deprecated flags such as expanse, kotti, mordor testnets.
|
||||
|
||||
Database migration utility currently in beta: https://github.com/openethereum/3.1-db-upgrade-tool
|
||||
|
||||
The full list of included changes from v2.5.13 to v3.1.0:
|
||||
|
||||
* Use ubuntu-16.04 for glibc compatibility (#11888) (#73)
|
||||
* Remove classic, kotti, mordor, expanse (#52)
|
||||
* Added bad block header hash for ropsten (#49)
|
||||
* Remove accounts bloom (#33)
|
||||
* Bump jsonrpc-- to v15
|
||||
* Implement eth/64, remove eth/62 (#46)
|
||||
* No snapshotting by default (#11814)
|
||||
* Update Ellaism chainspec
|
||||
* Prometheus, heavy memory calls removed (#27)
|
||||
* Update ethereum/tests
|
||||
* Implement JSON test suite (#11801)
|
||||
* Fix issues during block sync (#11265)
|
||||
* Fix race same block (#11400)
|
||||
* EIP-2537: Precompile for BLS12-381 curve operations (#11707)
|
||||
* Remove private transactions
|
||||
* Remove GetNodeData
|
||||
* Remove IPFS integration (#11532)
|
||||
* Remove updater
|
||||
* Remove light client
|
||||
* Remove C and Java bindings (#11346)
|
||||
* Remove whisper (#10855)
|
||||
* EIP-2315: Simple Subroutines for the EVM (#11629)
|
||||
* Remove deprecated flags (removal of --geth flag)
|
||||
* Remove support for hardware wallets (#10678)
|
||||
* Update bootnodes
|
||||
* Berlin hardfork blocks: mainnet (12,244,000), goerli (4,460,644), rinkeby (8,290,928) and ropsten (9,812,189)
|
||||
* yolo3x spec (#241)
|
||||
* EIP-2930 RPC support
|
||||
* Remove eth/63 protocol version (#252)
|
||||
* Snapshot manifest block added to prometheus (#232)
|
||||
* EIP-1898: Allow default block parameter to be blockHash
|
||||
* Change ProtocolId to U64
|
||||
* Update ethereum/tests
|
||||
77
Cargo.lock
generated
77
Cargo.lock
generated
@@ -439,7 +439,6 @@ name = "common-types"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"ethereum-types 0.4.2",
|
||||
"ethjson",
|
||||
"ethkey",
|
||||
"heapsize",
|
||||
"keccak-hash",
|
||||
@@ -1249,47 +1248,6 @@ dependencies = [
|
||||
"tiny-keccak 1.5.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ethcore-secretstore"
|
||||
version = "1.0.0"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"common-types",
|
||||
"env_logger",
|
||||
"ethabi",
|
||||
"ethabi-contract",
|
||||
"ethabi-derive",
|
||||
"ethcore",
|
||||
"ethcore-accounts",
|
||||
"ethcore-call-contract",
|
||||
"ethcore-sync",
|
||||
"ethereum-types 0.4.2",
|
||||
"ethkey",
|
||||
"futures",
|
||||
"hyper 0.12.35",
|
||||
"jsonrpc-server-utils",
|
||||
"keccak-hash",
|
||||
"kvdb",
|
||||
"kvdb-rocksdb",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"parity-bytes",
|
||||
"parity-crypto 0.3.1",
|
||||
"parity-runtime",
|
||||
"parking_lot 0.7.1",
|
||||
"percent-encoding 2.1.0",
|
||||
"rustc-hex 1.0.0",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"tempdir",
|
||||
"tiny-keccak 1.5.0",
|
||||
"tokio",
|
||||
"tokio-io",
|
||||
"tokio-service",
|
||||
"url 2.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ethcore-service"
|
||||
version = "0.1.0"
|
||||
@@ -1416,7 +1374,9 @@ dependencies = [
|
||||
name = "ethjson"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"common-types",
|
||||
"ethereum-types 0.4.2",
|
||||
"ethkey",
|
||||
"macros",
|
||||
"maplit",
|
||||
"rustc-hex 1.0.0",
|
||||
@@ -2865,7 +2825,7 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
|
||||
|
||||
[[package]]
|
||||
name = "openethereum"
|
||||
version = "3.1.1"
|
||||
version = "3.2.4"
|
||||
dependencies = [
|
||||
"ansi_term 0.10.2",
|
||||
"atty",
|
||||
@@ -2885,7 +2845,6 @@ dependencies = [
|
||||
"ethcore-logger",
|
||||
"ethcore-miner",
|
||||
"ethcore-network",
|
||||
"ethcore-secretstore",
|
||||
"ethcore-service",
|
||||
"ethcore-sync",
|
||||
"ethereum-types 0.4.2",
|
||||
@@ -2920,7 +2879,6 @@ dependencies = [
|
||||
"pretty_assertions",
|
||||
"prometheus",
|
||||
"regex 1.3.9",
|
||||
"registrar",
|
||||
"rlp 0.3.0",
|
||||
"rpassword",
|
||||
"rustc-hex 1.0.0",
|
||||
@@ -3230,7 +3188,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "parity-version"
|
||||
version = "3.1.1"
|
||||
version = "3.2.4"
|
||||
dependencies = [
|
||||
"parity-bytes",
|
||||
"rlp 0.3.0",
|
||||
@@ -3604,22 +3562,6 @@ dependencies = [
|
||||
"getopts",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pwasm-run-test"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"env_logger",
|
||||
"ethereum-types 0.4.2",
|
||||
"ethjson",
|
||||
"rustc-hex 1.0.0",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"vm",
|
||||
"wasm",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pwasm-utils"
|
||||
version = "0.6.2"
|
||||
@@ -3961,17 +3903,6 @@ version = "0.6.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
|
||||
|
||||
[[package]]
|
||||
name = "registrar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"ethabi",
|
||||
"ethabi-contract",
|
||||
"ethabi-derive",
|
||||
"futures",
|
||||
"keccak-hash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "relay"
|
||||
version = "0.1.1"
|
||||
|
||||
81
Cargo.toml
81
Cargo.toml
@@ -2,7 +2,7 @@
|
||||
description = "OpenEthereum"
|
||||
name = "openethereum"
|
||||
# NOTE Make sure to update util/version/Cargo.toml as well
|
||||
version = "3.1.1"
|
||||
version = "3.2.4"
|
||||
license = "GPL-3.0"
|
||||
authors = [
|
||||
"OpenEthereum developers",
|
||||
@@ -10,7 +10,7 @@ authors = [
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
blooms-db = { path = "util/blooms-db" }
|
||||
blooms-db = { path = "crates/db/blooms-db" }
|
||||
log = "0.4"
|
||||
rustc-hex = "1.0"
|
||||
docopt = "1.0"
|
||||
@@ -35,44 +35,42 @@ fdlimit = "0.1"
|
||||
ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" }
|
||||
jsonrpc-core = "15.0.0"
|
||||
parity-bytes = "0.1"
|
||||
common-types = { path = "ethcore/types" }
|
||||
ethcore = { path = "ethcore", features = ["parity"] }
|
||||
ethcore-accounts = { path = "accounts", optional = true }
|
||||
ethcore-blockchain = { path = "ethcore/blockchain" }
|
||||
ethcore-call-contract = { path = "ethcore/call-contract"}
|
||||
ethcore-db = { path = "ethcore/db" }
|
||||
ethcore-io = { path = "util/io" }
|
||||
ethcore-logger = { path = "parity/logger" }
|
||||
ethcore-miner = { path = "miner" }
|
||||
ethcore-network = { path = "util/network" }
|
||||
ethcore-service = { path = "ethcore/service" }
|
||||
ethcore-sync = { path = "ethcore/sync" }
|
||||
common-types = { path = "crates/ethcore/types" }
|
||||
ethcore = { path = "crates/ethcore", features = ["parity"] }
|
||||
ethcore-accounts = { path = "crates/accounts", optional = true }
|
||||
ethcore-blockchain = { path = "crates/ethcore/blockchain" }
|
||||
ethcore-call-contract = { path = "crates/vm/call-contract"}
|
||||
ethcore-db = { path = "crates/db/db" }
|
||||
ethcore-io = { path = "crates/runtime/io" }
|
||||
ethcore-logger = { path = "bin/oe/logger" }
|
||||
ethcore-miner = { path = "crates/concensus/miner" }
|
||||
ethcore-network = { path = "crates/net/network" }
|
||||
ethcore-service = { path = "crates/ethcore/service" }
|
||||
ethcore-sync = { path = "crates/ethcore/sync" }
|
||||
ethereum-types = "0.4"
|
||||
ethkey = { path = "accounts/ethkey" }
|
||||
ethstore = { path = "accounts/ethstore" }
|
||||
fetch = { path = "util/fetch" }
|
||||
node-filter = { path = "ethcore/node-filter" }
|
||||
ethkey = { path = "crates/accounts/ethkey" }
|
||||
ethstore = { path = "crates/accounts/ethstore" }
|
||||
fetch = { path = "crates/net/fetch" }
|
||||
node-filter = { path = "crates/net/node-filter" }
|
||||
rlp = { version = "0.3.0", features = ["ethereum"] }
|
||||
cli-signer= { path = "cli-signer" }
|
||||
cli-signer= { path = "crates/util/cli-signer" }
|
||||
parity-daemonize = "0.3"
|
||||
parity-local-store = { path = "miner/local-store" }
|
||||
parity-runtime = { path = "util/runtime" }
|
||||
parity-rpc = { path = "rpc" }
|
||||
parity-version = { path = "util/version" }
|
||||
parity-local-store = { path = "crates/concensus/miner/local-store" }
|
||||
parity-runtime = { path = "crates/runtime/runtime" }
|
||||
parity-rpc = { path = "crates/rpc" }
|
||||
parity-version = { path = "crates/util/version" }
|
||||
parity-path = "0.1"
|
||||
dir = { path = "util/dir" }
|
||||
panic_hook = { path = "util/panic-hook" }
|
||||
dir = { path = "crates/util/dir" }
|
||||
panic_hook = { path = "crates/util/panic-hook" }
|
||||
keccak-hash = "0.1"
|
||||
migration-rocksdb = { path = "util/migration-rocksdb" }
|
||||
migration-rocksdb = { path = "crates/db/migration-rocksdb" }
|
||||
kvdb = "0.1"
|
||||
kvdb-rocksdb = "0.1.3"
|
||||
journaldb = { path = "util/journaldb" }
|
||||
stats = { path = "util/stats" }
|
||||
journaldb = { path = "crates/db/journaldb" }
|
||||
stats = { path = "crates/util/stats" }
|
||||
prometheus = "0.9.0"
|
||||
|
||||
ethcore-secretstore = { path = "secret-store", optional = true }
|
||||
|
||||
registrar = { path = "util/registrar" }
|
||||
# ethcore-secretstore = { path = "crates/util/secret-store", optional = true }
|
||||
|
||||
[build-dependencies]
|
||||
rustc_version = "0.2"
|
||||
@@ -81,7 +79,7 @@ rustc_version = "0.2"
|
||||
pretty_assertions = "0.1"
|
||||
ipnetwork = "0.12.6"
|
||||
tempdir = "0.3"
|
||||
fake-fetch = { path = "util/fake-fetch" }
|
||||
fake-fetch = { path = "crates/net/fake-fetch" }
|
||||
lazy_static = "1.2.0"
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
@@ -97,7 +95,6 @@ test-heavy = ["ethcore/test-heavy"]
|
||||
evm-debug = ["ethcore/evm-debug"]
|
||||
evm-debug-tests = ["ethcore/evm-debug-tests"]
|
||||
slow-blocks = ["ethcore/slow-blocks"]
|
||||
secretstore = ["ethcore-secretstore", "ethcore-secretstore/accounts"]
|
||||
final = ["parity-version/final"]
|
||||
deadlock_detection = ["parking_lot/deadlock_detection"]
|
||||
# to create a memory profile (requires nightly rust), use e.g.
|
||||
@@ -109,10 +106,10 @@ deadlock_detection = ["parking_lot/deadlock_detection"]
|
||||
memory_profiling = []
|
||||
|
||||
[lib]
|
||||
path = "parity/lib.rs"
|
||||
path = "bin/oe/lib.rs"
|
||||
|
||||
[[bin]]
|
||||
path = "parity/main.rs"
|
||||
path = "bin/oe/main.rs"
|
||||
name = "openethereum"
|
||||
|
||||
[profile.test]
|
||||
@@ -128,16 +125,10 @@ lto = true
|
||||
# in the dependency tree in any other way
|
||||
# (i.e. pretty much only standalone CLI tools)
|
||||
members = [
|
||||
"accounts/ethkey/cli",
|
||||
"accounts/ethstore/cli",
|
||||
"chainspec",
|
||||
"ethcore/wasm/run",
|
||||
"evmbin",
|
||||
"util/triehash-ethereum",
|
||||
"util/keccak-hasher",
|
||||
"util/patricia-trie-ethereum",
|
||||
"util/fastmap",
|
||||
"util/time-utils"
|
||||
"bin/ethkey",
|
||||
"bin/ethstore",
|
||||
"bin/evmbin",
|
||||
"bin/chainspec"
|
||||
]
|
||||
|
||||
[patch.crates-io]
|
||||
|
||||
@@ -297,9 +297,9 @@ Caching, Importing Blocks, and Block Information
|
||||
|
||||
In addition to the OpenEthereum client, there are additional tools in this repository available:
|
||||
|
||||
- [evmbin](./evmbin) - OpenEthereum EVM Implementation.
|
||||
- [ethstore](./accounts/ethstore) - OpenEthereum Key Management.
|
||||
- [ethkey](./accounts/ethkey) - OpenEthereum Keys Generator.
|
||||
- [evmbin](./bin/evmbin) - OpenEthereum EVM Implementation.
|
||||
- [ethstore](./crates/accounts/ethstore) - OpenEthereum Key Management.
|
||||
- [ethkey](./crates/accounts/ethkey) - OpenEthereum Keys Generator.
|
||||
|
||||
The following tools are available in a separate repository:
|
||||
- [ethabi](https://github.com/openethereum/ethabi) - OpenEthereum Encoding of Function Calls. [Docs here](https://crates.io/crates/ethabi)
|
||||
|
||||
BIN
artifacts/openethereum-windows-v3.2.3.zip
Normal file
BIN
artifacts/openethereum-windows-v3.2.3.zip
Normal file
Binary file not shown.
@@ -5,5 +5,5 @@ version = "0.1.0"
|
||||
authors = ["Marek Kotewicz <marek@parity.io>"]
|
||||
|
||||
[dependencies]
|
||||
ethjson = { path = "../json" }
|
||||
ethjson = { path = "../../crates/ethjson" }
|
||||
serde_json = "1.0"
|
||||
@@ -7,8 +7,8 @@ authors = ["Parity Technologies <admin@parity.io>"]
|
||||
[dependencies]
|
||||
docopt = "1.0"
|
||||
env_logger = "0.5"
|
||||
ethkey = { path = "../" }
|
||||
panic_hook = { path = "../../../util/panic-hook" }
|
||||
ethkey = { path = "../../crates/accounts/ethkey" }
|
||||
panic_hook = { path = "../../crates/util/panic-hook" }
|
||||
parity-wordlist="1.3"
|
||||
rustc-hex = "1.0"
|
||||
serde = "1.0"
|
||||
@@ -12,9 +12,9 @@ rustc-hex = "1.0"
|
||||
serde = "1.0"
|
||||
serde_derive = "1.0"
|
||||
parking_lot = "0.7"
|
||||
ethstore = { path = "../" }
|
||||
dir = { path = '../../../util/dir' }
|
||||
panic_hook = { path = "../../../util/panic-hook" }
|
||||
ethstore = { path = "../../crates/accounts/ethstore" }
|
||||
dir = { path = '../../crates/util/dir' }
|
||||
panic_hook = { path = "../../crates/util/panic-hook" }
|
||||
|
||||
[[bin]]
|
||||
name = "ethstore"
|
||||
@@ -9,20 +9,20 @@ name = "openethereum-evm"
|
||||
path = "./src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
common-types = { path = "../ethcore/types", features = ["test-helpers"] }
|
||||
common-types = { path = "../../crates/ethcore/types", features = ["test-helpers"] }
|
||||
docopt = "1.0"
|
||||
env_logger = "0.5"
|
||||
ethcore = { path = "../ethcore", features = ["test-helpers", "json-tests", "to-pod-full"] }
|
||||
ethcore = { path = "../../crates/ethcore", features = ["test-helpers", "json-tests", "to-pod-full"] }
|
||||
ethereum-types = "0.4"
|
||||
ethjson = { path = "../json" }
|
||||
evm = { path = "../ethcore/evm" }
|
||||
panic_hook = { path = "../util/panic-hook" }
|
||||
ethjson = { path = "../../crates/ethjson" }
|
||||
evm = { path = "../../crates/vm/evm" }
|
||||
panic_hook = { path = "../../crates/util/panic-hook" }
|
||||
parity-bytes = "0.1"
|
||||
rustc-hex = "1.0"
|
||||
serde = "1.0"
|
||||
serde_derive = "1.0"
|
||||
serde_json = "1.0"
|
||||
vm = { path = "../ethcore/vm" }
|
||||
vm = { path = "../../crates/vm/vm" }
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = "0.3.0"
|
||||
@@ -204,7 +204,7 @@ fn run_state_test(args: Args) {
|
||||
}
|
||||
for (idx, state) in states.into_iter().enumerate() {
|
||||
let post_root = state.hash.into();
|
||||
let transaction = multitransaction.select(&state.indexes).into();
|
||||
let transaction = multitransaction.select(&state.indexes);
|
||||
|
||||
let trie_spec = if args.flag_std_dump_json {
|
||||
TrieSpec::Fat
|
||||
@@ -248,7 +248,7 @@ usage! {
|
||||
|
||||
ARG arg_chain: (String) = "foundation", or |c: &Config| c.parity.as_ref()?.chain.clone(),
|
||||
"--chain=[CHAIN]",
|
||||
"Specify the blockchain type. CHAIN may be either a JSON chain specification file or ethereum, poacore, xdai, volta, ewc, musicoin, ellaism, mix, callisto, morden, ropsten, kovan, rinkeby, goerli, poasokol, testnet, or dev.",
|
||||
"Specify the blockchain type. CHAIN may be either a JSON chain specification file or ethereum, poacore, xdai, volta, ewc, musicoin, ellaism, mix, callisto, morden, ropsten, kovan, rinkeby, goerli, poasokol, testnet, yolo3 or dev.",
|
||||
|
||||
ARG arg_keys_path: (String) = "$BASE/keys", or |c: &Config| c.parity.as_ref()?.keys_path.clone(),
|
||||
"--keys-path=[PATH]",
|
||||
@@ -518,10 +518,8 @@ impl Configuration {
|
||||
}
|
||||
|
||||
fn ip_filter(&self) -> Result<IpFilter, String> {
|
||||
match IpFilter::parse(self.args.arg_allow_ips.as_str()) {
|
||||
Ok(allow_ip) => Ok(allow_ip),
|
||||
Err(_) => Err("Invalid IP filter value".to_owned()),
|
||||
}
|
||||
IpFilter::parse(self.args.arg_allow_ips.as_str())
|
||||
.map_err(|_| "Invalid IP filter value".to_owned())
|
||||
}
|
||||
|
||||
fn min_peers(&self) -> u32 {
|
||||
@@ -105,10 +105,10 @@ pub fn to_block_id(s: &str) -> Result<BlockId, String> {
|
||||
pub fn to_u256(s: &str) -> Result<U256, String> {
|
||||
if let Ok(decimal) = U256::from_dec_str(s) {
|
||||
Ok(decimal)
|
||||
} else if let Ok(hex) = clean_0x(s).parse() {
|
||||
Ok(hex)
|
||||
} else {
|
||||
Err(format!("Invalid numeric value: {}", s))
|
||||
clean_0x(s)
|
||||
.parse()
|
||||
.map_err(|_| format!("Invalid numeric value: {}", s))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,15 +171,12 @@ pub fn to_price(s: &str) -> Result<f32, String> {
|
||||
}
|
||||
|
||||
pub fn join_set(set: Option<&HashSet<String>>) -> Option<String> {
|
||||
match set {
|
||||
Some(s) => Some(
|
||||
s.iter()
|
||||
.map(|s| s.as_str())
|
||||
.collect::<Vec<&str>>()
|
||||
.join(","),
|
||||
),
|
||||
None => None,
|
||||
}
|
||||
set.map(|s| {
|
||||
s.iter()
|
||||
.map(|s| s.as_str())
|
||||
.collect::<Vec<&str>>()
|
||||
.join(",")
|
||||
})
|
||||
}
|
||||
|
||||
/// Flush output buffer.
|
||||
@@ -224,7 +224,14 @@ impl<T: InformantData> Informant<T> {
|
||||
|
||||
pub fn tick(&self) {
|
||||
let now = Instant::now();
|
||||
let elapsed = now.duration_since(*self.last_tick.read());
|
||||
let elapsed;
|
||||
{
|
||||
let last_tick = self.last_tick.read();
|
||||
if now < *last_tick + Duration::from_millis(1500) {
|
||||
return;
|
||||
}
|
||||
elapsed = now - *last_tick;
|
||||
}
|
||||
|
||||
let (client_report, full_report) = {
|
||||
let last_report = self.last_report.lock();
|
||||
@@ -67,7 +67,6 @@ extern crate parity_rpc;
|
||||
extern crate parity_runtime;
|
||||
extern crate parity_version;
|
||||
extern crate prometheus;
|
||||
extern crate registrar;
|
||||
extern crate stats;
|
||||
|
||||
#[macro_use]
|
||||
@@ -157,10 +157,11 @@ pub fn setup_log(config: &Config) -> Result<Arc<RotatingLogger>, String> {
|
||||
Ok(logs)
|
||||
})
|
||||
// couldn't create new logger - try to fall back on previous logger.
|
||||
.or_else(|err| match ROTATING_LOGGER.lock().upgrade() {
|
||||
Some(l) => Ok(l),
|
||||
// no previous logger. fatal.
|
||||
None => Err(format!("{:?}", err)),
|
||||
.or_else(|err| {
|
||||
ROTATING_LOGGER
|
||||
.lock()
|
||||
.upgrade()
|
||||
.ok_or_else(|| format!("{:?}", err))
|
||||
})
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ pub enum SpecType {
|
||||
Rinkeby,
|
||||
Goerli,
|
||||
Sokol,
|
||||
Yolo3,
|
||||
Dev,
|
||||
Custom(String),
|
||||
}
|
||||
@@ -81,6 +82,7 @@ impl str::FromStr for SpecType {
|
||||
"rinkeby" => SpecType::Rinkeby,
|
||||
"goerli" | "görli" | "testnet" => SpecType::Goerli,
|
||||
"sokol" | "poasokol" => SpecType::Sokol,
|
||||
"yolo3" => SpecType::Yolo3,
|
||||
"dev" => SpecType::Dev,
|
||||
other => SpecType::Custom(other.into()),
|
||||
};
|
||||
@@ -106,6 +108,7 @@ impl fmt::Display for SpecType {
|
||||
SpecType::Rinkeby => "rinkeby",
|
||||
SpecType::Goerli => "goerli",
|
||||
SpecType::Sokol => "sokol",
|
||||
SpecType::Yolo3 => "yolo3",
|
||||
SpecType::Dev => "dev",
|
||||
SpecType::Custom(ref custom) => custom,
|
||||
})
|
||||
@@ -131,6 +134,7 @@ impl SpecType {
|
||||
SpecType::Rinkeby => Ok(ethereum::new_rinkeby(params)),
|
||||
SpecType::Goerli => Ok(ethereum::new_goerli(params)),
|
||||
SpecType::Sokol => Ok(ethereum::new_sokol(params)),
|
||||
SpecType::Yolo3 => Ok(ethereum::new_yolo3(params)),
|
||||
SpecType::Dev => Ok(Spec::new_instant()),
|
||||
SpecType::Custom(ref filename) => {
|
||||
let file = fs::File::open(filename).map_err(|e| {
|
||||
@@ -34,7 +34,7 @@ use ethcore::{
|
||||
};
|
||||
use ethcore_logger::{Config as LogConfig, RotatingLogger};
|
||||
use ethcore_service::ClientService;
|
||||
use ethereum_types::H256;
|
||||
use ethereum_types::{H256, U64};
|
||||
use helpers::{execute_upgrades, passwords_from_files, to_client_config};
|
||||
use informant::{FullNodeInformantData, Informant};
|
||||
use journaldb::Algorithm;
|
||||
@@ -227,12 +227,10 @@ pub fn execute(cmd: RunCmd, logger: Arc<RotatingLogger>) -> Result<RunningClient
|
||||
Some(id) => id,
|
||||
None => spec.network_id(),
|
||||
};
|
||||
if spec.subprotocol_name().len() != 3 {
|
||||
warn!("Your chain specification's subprotocol length is not 3. Ignoring.");
|
||||
if spec.subprotocol_name().len() > 8 {
|
||||
warn!("Your chain specification's subprotocol length is more then 8. Ignoring.");
|
||||
} else {
|
||||
sync_config
|
||||
.subprotocol_name
|
||||
.clone_from_slice(spec.subprotocol_name().as_bytes());
|
||||
sync_config.subprotocol_name = U64::from(spec.subprotocol_name().as_bytes())
|
||||
}
|
||||
|
||||
sync_config.fork_block = spec.fork_block();
|
||||
@@ -11,7 +11,7 @@ eth-secp256k1 = { git = "https://github.com/paritytech/rust-secp256k1", rev = "c
|
||||
ethereum-types = "0.4"
|
||||
lazy_static = "1.0"
|
||||
log = "0.4"
|
||||
memzero = { path = "../../util/memzero" }
|
||||
memzero = { path = "../../../crates/util/memzero" }
|
||||
parity-wordlist = "1.3"
|
||||
quick-error = "1.2.2"
|
||||
rand = "0.4"
|
||||
@@ -25,10 +25,7 @@ impl Generator for Random {
|
||||
|
||||
fn generate(&mut self) -> Result<KeyPair, Self::Error> {
|
||||
let mut rng = OsRng::new()?;
|
||||
match rng.generate() {
|
||||
Ok(pair) => Ok(pair),
|
||||
Err(void) => match void {}, // LLVM unreachable
|
||||
}
|
||||
rng.generate().or_else(|void| match void {})
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user