Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

Commit 7b1d3e1

Browse files
authored
Backports for Stable 2.2.10 (#10332)
* version: bump stable to 2.2.10 * import rpc transactions sequentially (#10051) * import rpc transactions sequentially * use impl trait in argument position, renamed ProspectiveDispatcher to WithPostSign * grouped imports * integrates PostSign with ProspectiveSigner * fix spaces, removed unnecessary type cast and duplicate polling * clean up code style * Apply suggestions from code review * Additional tests for uint deserialization. (#10279) * Don't run the CPP example on CI (#10285) * Don't run the CPP example on CI * Add comment * CI optimizations (#10297) * CI optimizations * fix stripping * new dockerfile * no need n submodule upd * review * moved dockerfile * it becomes large * onchain update depends on s3 * fix dependency * fix cache status * fix cache status * new cache status * fix publish job (#10317) * fix publish job * dashes and colonels * Add Statetest support for Constantinople Fix (#10323) * Update Ethereum tests repo to v6.0.0-beta.3 tag * Add spec for St.Peter's / ConstantinopleFix statetests * fix(add helper for timestamp overflows) (#10330) * fix(add helper timestamp overflows) * fix(simplify code) * fix(make helper private) * fix(docker): fix not receives SIGINT (#10059) * fix(docker): fix not receives SIGINT * fix: update with reviews * update with review * update * update * snap: official image / test (#10168) * official image / test * fix / test * bit more necromancy * fix paths * add source bin/df /test * add source bin/df /test2 * something w paths /test * something w paths /test * add source-type /test * show paths /test * copy plugin /test * plugin -> nil * install rhash * no questions while installing rhash * publish snap only for release * Don't add discovery initiators to the node table (#10305) * Don't add discovery initiators to the node table * Use enums for tracking state of the nodes in discovery * Dont try to ping ourselves * Fix minor nits * Update timeouts when observing an outdated node * Extracted update_bucket_record from update_node * Fixed typo * Fix two final nits from @todr * change docker image based on debian instead of ubuntu due to the chan… (#10336) * change docker image based on debian instead of ubuntu due to the changes of the build container * role back docker build image and docker deploy image to ubuntu:xenial based (#10338) * perform stripping during build (#10208) * perform stripping during build (#10208) * perform stripping during build * var RUSTFLAGS * fix(docker-aarch64) : cross-compile config (#9798) * fix(docker-aarch64) : cross-compile config (#9798) * ci: remove trailing double newline from dockerfile
1 parent cc91e95 commit 7b1d3e1

File tree

26 files changed

+510
-254
lines changed

26 files changed

+510
-254
lines changed

.gitlab-ci.yml

Lines changed: 66 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@ stages:
22
- test
33
- build
44
- publish
5+
- publish-onchain
56
- optional
67

78
image: parity/rust:gitlab-ci
89

910
variables:
11+
GIT_STRATEGY: fetch
12+
GIT_SUBMODULE_STRATEGY: recursive
1013
CI_SERVER_NAME: "GitLab CI"
1114
CARGO_HOME: "${CI_PROJECT_DIR}/.cargo"
1215
CARGO_TARGET: x86_64-unknown-linux-gnu
@@ -40,25 +43,29 @@ test-linux:
4043
variables:
4144
RUN_TESTS: all
4245
script:
43-
- scripts/gitlab/test-all.sh stable
46+
- scripts/gitlab/test-all.sh
47+
- sccache -s
4448
tags:
45-
- rust-stable
49+
- linux-docker
4650

4751
test-audit:
4852
stage: test
4953
script:
50-
- scripts/gitlab/cargo-audit.sh
54+
- set -e
55+
- set -u
56+
- cargo audit
5157
tags:
52-
- rust-stable
58+
- linux-docker
5359

5460
build-linux:
5561
stage: build
5662
only: *releaseable_branches
5763
script:
5864
- scripts/gitlab/build-unix.sh
65+
- sccache -s
5966
<<: *collect_artifacts
6067
tags:
61-
- rust-stable
68+
- linux-docker
6269

6370
build-darwin:
6471
stage: build
@@ -96,9 +103,9 @@ publish-docker:
96103
- scripts/gitlab/publish-docker.sh parity
97104

98105
publish-snap:
99-
stage: publish
106+
stage: optional #publish
100107
only: *releaseable_branches
101-
image: parity/snapcraft:gitlab-ci
108+
image: snapcore/snapcraft
102109
variables:
103110
BUILD_ARCH: amd64
104111
cache: {}
@@ -112,19 +119,66 @@ publish-snap:
112119
allow_failure: true
113120
<<: *collect_artifacts
114121

115-
publish-awss3:
116-
stage: publish
122+
publish-onnet-update:
123+
stage: publish-onchain
117124
only: *releaseable_branches
118-
cache: {}
125+
cache: {}
119126
dependencies:
120127
- build-linux
121128
- build-darwin
122129
- build-windows
130+
- publish-awss3-release
123131
before_script: *determine_version
124132
script:
125-
- scripts/gitlab/publish-awss3.sh
133+
- scripts/gitlab/publish-onnet-update.sh
126134
tags:
127-
- shell
135+
- linux-docker
136+
137+
# configures aws for fast uploads/syncs
138+
.s3-before-script: &s3-before-script
139+
before_script:
140+
- mkdir -p ${HOME}/.aws
141+
- |
142+
cat > ${HOME}/.aws/config <<EOC
143+
[default]
144+
s3 =
145+
max_concurrent_requests = 20
146+
max_queue_size = 10000
147+
multipart_threshold = 64MB
148+
multipart_chunksize = 16MB
149+
max_bandwidth = 50MB/s
150+
use_accelerate_endpoint = false
151+
addressing_style = path
152+
EOC
153+
154+
publish-awss3-release:
155+
image: parity/awscli:latest
156+
stage: publish
157+
only: *releaseable_branches
158+
cache: {}
159+
dependencies:
160+
- build-linux
161+
- build-darwin
162+
- build-windows
163+
variables:
164+
GIT_STRATEGY: none
165+
<<: *s3-before-script
166+
script:
167+
- echo "__________Push binaries to AWS S3____________"
168+
- case "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" in
169+
(beta|stable|nightly)
170+
export BUCKET=releases.parity.io/ethereum;
171+
;;
172+
(*)
173+
export BUCKET=builds-parity;
174+
;;
175+
esac
176+
- aws s3 sync ./artifacts s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/
177+
after_script:
178+
- aws s3 ls s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/
179+
--recursive --human-readable --summarize
180+
tags:
181+
- linux-docker
128182

129183
publish-docs:
130184
stage: publish
@@ -150,22 +204,3 @@ build-android:
150204
allow_failure: true
151205
<<: *collect_artifacts
152206

153-
test-beta:
154-
stage: optional
155-
variables:
156-
RUN_TESTS: cargo
157-
script:
158-
- scripts/gitlab/test-all.sh beta
159-
tags:
160-
- rust-beta
161-
allow_failure: true
162-
163-
test-nightly:
164-
stage: optional
165-
variables:
166-
RUN_TESTS: all
167-
script:
168-
- scripts/gitlab/test-all.sh nightly
169-
tags:
170-
- rust-nightly
171-
allow_failure: true

Cargo.lock

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description = "Parity Ethereum client"
33
name = "parity-ethereum"
44
# NOTE Make sure to update util/version/Cargo.toml as well
5-
version = "2.2.9"
5+
version = "2.2.10"
66
license = "GPL-3.0"
77
authors = ["Parity Technologies <admin@parity.io>"]
88

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"name": "St. Peter's (test)",
3+
"engine": {
4+
"Ethash": {
5+
"params": {
6+
"minimumDifficulty": "0x020000",
7+
"difficultyBoundDivisor": "0x0800",
8+
"durationLimit": "0x0d",
9+
"blockReward": "0x1BC16D674EC80000",
10+
"homesteadTransition": "0x0",
11+
"eip100bTransition": "0x0",
12+
"difficultyBombDelays": {
13+
"0": 5000000
14+
}
15+
}
16+
}
17+
},
18+
"params": {
19+
"gasLimitBoundDivisor": "0x0400",
20+
"registrar" : "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
21+
"accountStartNonce": "0x00",
22+
"maximumExtraDataSize": "0x20",
23+
"minGasLimit": "0x1388",
24+
"networkID" : "0x1",
25+
"maxCodeSize": 24576,
26+
"maxCodeSizeTransition": "0x0",
27+
"eip150Transition": "0x0",
28+
"eip160Transition": "0x0",
29+
"eip161abcTransition": "0x0",
30+
"eip161dTransition": "0x0",
31+
"eip140Transition": "0x0",
32+
"eip211Transition": "0x0",
33+
"eip214Transition": "0x0",
34+
"eip155Transition": "0x0",
35+
"eip658Transition": "0x0",
36+
"eip145Transition": "0x0",
37+
"eip1014Transition": "0x0",
38+
"eip1052Transition": "0x0",
39+
"eip1283DisableTransition": "0x0"
40+
},
41+
"genesis": {
42+
"seal": {
43+
"ethereum": {
44+
"nonce": "0x0000000000000042",
45+
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
46+
}
47+
},
48+
"difficulty": "0x400000000",
49+
"author": "0x0000000000000000000000000000000000000000",
50+
"timestamp": "0x00",
51+
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
52+
"extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
53+
"gasLimit": "0x1388"
54+
},
55+
"accounts": {
56+
"0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
57+
"0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
58+
"0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
59+
"0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
60+
"0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": "0x00", "pricing": { "modexp": { "divisor": 20 } } } },
61+
"0000000000000000000000000000000000000006": { "builtin": { "name": "alt_bn128_add", "activate_at": "0x00", "pricing": { "linear": { "base": 500, "word": 0 } } } },
62+
"0000000000000000000000000000000000000007": { "builtin": { "name": "alt_bn128_mul", "activate_at": "0x00", "pricing": { "linear": { "base": 40000, "word": 0 } } } },
63+
"0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": "0x00", "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }
64+
}
65+
}

ethcore/res/ethereum/tests

Submodule tests updated 10507 files

ethcore/src/client/evm_test_client.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ impl<'a> EvmTestClient<'a> {
8787
ForkSpec::EIP158 => Some(ethereum::new_eip161_test()),
8888
ForkSpec::Byzantium => Some(ethereum::new_byzantium_test()),
8989
ForkSpec::Constantinople => Some(ethereum::new_constantinople_test()),
90+
ForkSpec::ConstantinopleFix => Some(ethereum::new_constantinople_fix_test()),
9091
ForkSpec::EIP158ToByzantiumAt5 => Some(ethereum::new_transition_test()),
9192
ForkSpec::FrontierToHomesteadAt5 | ForkSpec::HomesteadToDaoAt5 | ForkSpec::HomesteadToEIP150At5 => None,
9293
}

ethcore/src/error.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ pub enum BlockError {
8989
InvalidNumber(Mismatch<BlockNumber>),
9090
/// Block number isn't sensible.
9191
RidiculousNumber(OutOfBounds<BlockNumber>),
92+
/// Timestamp header overflowed
93+
TimestampOverflow,
9294
/// Too many transactions from a particular address.
9395
TooManyTransactions(Address),
9496
/// Parent given is unknown.
@@ -138,6 +140,7 @@ impl fmt::Display for BlockError {
138140
UnknownParent(ref hash) => format!("Unknown parent: {}", hash),
139141
UnknownUncleParent(ref hash) => format!("Unknown uncle parent: {}", hash),
140142
UnknownEpochTransition(ref num) => format!("Unknown transition to epoch number: {}", num),
143+
TimestampOverflow => format!("Timestamp overflow"),
141144
TooManyTransactions(ref address) => format!("Too many transactions from: {}", address),
142145
};
143146

ethcore/src/ethereum/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ pub fn new_byzantium_test() -> Spec { load(None, include_bytes!("../../res/ether
143143
/// Create a new Foundation Constantinople era spec.
144144
pub fn new_constantinople_test() -> Spec { load(None, include_bytes!("../../res/ethereum/constantinople_test.json")) }
145145

146+
/// Create a new Foundation St. Peter's (Contantinople Fix) era spec.
147+
pub fn new_constantinople_fix_test() -> Spec { load(None, include_bytes!("../../res/ethereum/st_peters_test.json")) }
148+
146149
/// Create a new Musicoin-MCIP3-era spec.
147150
pub fn new_mcip3_test() -> Spec { load(None, include_bytes!("../../res/ethereum/mcip3_test.json")) }
148151

@@ -163,6 +166,9 @@ pub fn new_byzantium_test_machine() -> EthereumMachine { load_machine(include_by
163166
/// Create a new Foundation Constantinople era spec.
164167
pub fn new_constantinople_test_machine() -> EthereumMachine { load_machine(include_bytes!("../../res/ethereum/constantinople_test.json")) }
165168

169+
/// Create a new Foundation St. Peter's (Contantinople Fix) era spec.
170+
pub fn new_constantinople_fix_test_machine() -> EthereumMachine { load_machine(include_bytes!("../../res/ethereum/st_peters_test.json")) }
171+
166172
/// Create a new Musicoin-MCIP3-era spec.
167173
pub fn new_mcip3_test_machine() -> EthereumMachine { load_machine(include_bytes!("../../res/ethereum/mcip3_test.json")) }
168174

ethcore/src/json_tests/state.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ mod state_tests {
165165
declare_test!{GeneralStateTest_stRefundTest, "GeneralStateTests/stRefundTest/"}
166166
declare_test!{GeneralStateTest_stReturnDataTest, "GeneralStateTests/stReturnDataTest/"}
167167
declare_test!{GeneralStateTest_stRevertTest, "GeneralStateTests/stRevertTest/"}
168+
declare_test!{GeneralStateTest_stSStoreTest, "GeneralStateTests/stSStoreTest/"}
168169
declare_test!{GeneralStateTest_stShift, "GeneralStateTests/stShift/"}
169170
declare_test!{GeneralStateTest_stSolidityTest, "GeneralStateTests/stSolidityTest/"}
170171
declare_test!{GeneralStateTest_stSpecialTest, "GeneralStateTests/stSpecialTest/"}
@@ -177,7 +178,6 @@ mod state_tests {
177178
declare_test!{GeneralStateTest_stZeroCallsRevert, "GeneralStateTests/stZeroCallsRevert/"}
178179
declare_test!{GeneralStateTest_stZeroCallsTest, "GeneralStateTests/stZeroCallsTest/"}
179180
declare_test!{GeneralStateTest_stZeroKnowledge, "GeneralStateTests/stZeroKnowledge/"}
180-
declare_test!{GeneralStateTest_stSStoreTest, "GeneralStateTests/stSStoreTest/"}
181181

182182
// Attempts to send a transaction that requires more than current balance:
183183
// Tx:

0 commit comments

Comments
 (0)