Stable Backports 2.2.8 (#10224)
* version: bump stable to 2.2.8 * Update for Android cross-compilation. (#10180) * build-unix update * .gitlab-ci update * Update build-unix.sh add android postprocessing * path to android lib libparity.so * fix path to libparity * add android lib to artifacts * Cancel Constantinople HF on POA Core (#10198) * Add EIP-1283 disable transition (#10214) * Enable St-Peters-Fork ("Constantinople Fix") (#10223) * ethcore: disable eip-1283 on kovan block 10255201 * ethcore: disable eip-1283 on ropsten block 4939394 * ethcore: enable st-peters-fork on mainnet block 7280000 * ethcore: fix kovan chain spec * version: update fork blocks * ethcore: disable eip-1283 on sokol block 7026400
This commit is contained in:
parent
b00a21f39a
commit
2a7dc644b7
@ -146,8 +146,9 @@ build-android:
|
|||||||
script:
|
script:
|
||||||
- scripts/gitlab/build-unix.sh
|
- scripts/gitlab/build-unix.sh
|
||||||
tags:
|
tags:
|
||||||
- rust-arm
|
- linux-docker
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
<<: *collect_artifacts
|
||||||
|
|
||||||
test-beta:
|
test-beta:
|
||||||
stage: optional
|
stage: optional
|
||||||
|
12
Cargo.lock
generated
12
Cargo.lock
generated
@ -2210,7 +2210,7 @@ version = "1.12.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"jni 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jni 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"panic_hook 0.1.0",
|
"panic_hook 0.1.0",
|
||||||
"parity-ethereum 2.2.7",
|
"parity-ethereum 2.2.8",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2226,7 +2226,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "parity-ethereum"
|
name = "parity-ethereum"
|
||||||
version = "2.2.7"
|
version = "2.2.8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ansi_term 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2275,7 +2275,7 @@ dependencies = [
|
|||||||
"parity-rpc-client 1.4.0",
|
"parity-rpc-client 1.4.0",
|
||||||
"parity-runtime 0.1.0",
|
"parity-runtime 0.1.0",
|
||||||
"parity-updater 1.12.0",
|
"parity-updater 1.12.0",
|
||||||
"parity-version 2.2.7",
|
"parity-version 2.2.8",
|
||||||
"parity-whisper 0.1.0",
|
"parity-whisper 0.1.0",
|
||||||
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2430,7 +2430,7 @@ dependencies = [
|
|||||||
"parity-crypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-crypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-runtime 0.1.0",
|
"parity-runtime 0.1.0",
|
||||||
"parity-updater 1.12.0",
|
"parity-updater 1.12.0",
|
||||||
"parity-version 2.2.7",
|
"parity-version 2.2.8",
|
||||||
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"patricia-trie 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"patricia-trie 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2527,7 +2527,7 @@ dependencies = [
|
|||||||
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-hash-fetch 1.12.0",
|
"parity-hash-fetch 1.12.0",
|
||||||
"parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parity-version 2.2.7",
|
"parity-version 2.2.8",
|
||||||
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -2537,7 +2537,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "parity-version"
|
name = "parity-version"
|
||||||
version = "2.2.7"
|
version = "2.2.8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rlp 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
description = "Parity Ethereum client"
|
description = "Parity Ethereum client"
|
||||||
name = "parity-ethereum"
|
name = "parity-ethereum"
|
||||||
# NOTE Make sure to update util/version/Cargo.toml as well
|
# NOTE Make sure to update util/version/Cargo.toml as well
|
||||||
version = "2.2.7"
|
version = "2.2.8"
|
||||||
license = "GPL-3.0"
|
license = "GPL-3.0"
|
||||||
authors = ["Parity Technologies <admin@parity.io>"]
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
|
|
||||||
|
@ -9,7 +9,8 @@
|
|||||||
"durationLimit": "0xd",
|
"durationLimit": "0xd",
|
||||||
"blockReward": {
|
"blockReward": {
|
||||||
"0x0": "0x4563918244f40000",
|
"0x0": "0x4563918244f40000",
|
||||||
"0x42ae50": "0x29a2241af62c0000"
|
"0x42ae50": "0x29a2241af62c0000",
|
||||||
|
"0x6f1580": "0x1bc16d674ec80000"
|
||||||
},
|
},
|
||||||
"homesteadTransition": "0x118c30",
|
"homesteadTransition": "0x118c30",
|
||||||
"daoHardforkTransition": "0x1d4c00",
|
"daoHardforkTransition": "0x1d4c00",
|
||||||
@ -134,7 +135,8 @@
|
|||||||
],
|
],
|
||||||
"eip100bTransition": "0x42ae50",
|
"eip100bTransition": "0x42ae50",
|
||||||
"difficultyBombDelays": {
|
"difficultyBombDelays": {
|
||||||
"0x42ae50": "0x2dc6c0"
|
"0x42ae50": "0x2dc6c0",
|
||||||
|
"0x6f1580": "0x1e8480"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -159,7 +161,10 @@
|
|||||||
"eip140Transition": "0x42ae50",
|
"eip140Transition": "0x42ae50",
|
||||||
"eip211Transition": "0x42ae50",
|
"eip211Transition": "0x42ae50",
|
||||||
"eip214Transition": "0x42ae50",
|
"eip214Transition": "0x42ae50",
|
||||||
"eip658Transition": "0x42ae50"
|
"eip658Transition": "0x42ae50",
|
||||||
|
"eip145Transition": "0x6f1580",
|
||||||
|
"eip1014Transition": "0x6f1580",
|
||||||
|
"eip1052Transition": "0x6f1580"
|
||||||
},
|
},
|
||||||
"genesis": {
|
"genesis": {
|
||||||
"seal": {
|
"seal": {
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
"eip1014Transition": "0x8c6180",
|
"eip1014Transition": "0x8c6180",
|
||||||
"eip1052Transition": "0x8c6180",
|
"eip1052Transition": "0x8c6180",
|
||||||
"eip1283Transition": "0x8c6180",
|
"eip1283Transition": "0x8c6180",
|
||||||
|
"eip1283DisableTransition": "0x9c7b61",
|
||||||
"kip4Transition": "0x8c6180",
|
"kip4Transition": "0x8c6180",
|
||||||
"kip6Transition": "0x8c6180"
|
"kip6Transition": "0x8c6180"
|
||||||
},
|
},
|
||||||
|
@ -34,11 +34,7 @@
|
|||||||
"eip140Transition": "0x0",
|
"eip140Transition": "0x0",
|
||||||
"eip211Transition": "0x0",
|
"eip211Transition": "0x0",
|
||||||
"eip214Transition": "0x0",
|
"eip214Transition": "0x0",
|
||||||
"eip658Transition": "0x0",
|
"eip658Transition": "0x0"
|
||||||
"eip145Transition": 6843780,
|
|
||||||
"eip1014Transition": 6843780,
|
|
||||||
"eip1052Transition": 6843780,
|
|
||||||
"eip1283Transition": 6843780
|
|
||||||
},
|
},
|
||||||
"genesis": {
|
"genesis": {
|
||||||
"seal": {
|
"seal": {
|
||||||
|
@ -41,7 +41,8 @@
|
|||||||
"eip145Transition": 6464300,
|
"eip145Transition": 6464300,
|
||||||
"eip1014Transition": 6464300,
|
"eip1014Transition": 6464300,
|
||||||
"eip1052Transition": 6464300,
|
"eip1052Transition": 6464300,
|
||||||
"eip1283Transition": 6464300
|
"eip1283Transition": 6464300,
|
||||||
|
"eip1283DisableTransition": 7026400
|
||||||
},
|
},
|
||||||
"genesis": {
|
"genesis": {
|
||||||
"seal": {
|
"seal": {
|
||||||
|
@ -45,7 +45,8 @@
|
|||||||
"eip145Transition": "0x408b70",
|
"eip145Transition": "0x408b70",
|
||||||
"eip1014Transition": "0x408b70",
|
"eip1014Transition": "0x408b70",
|
||||||
"eip1052Transition": "0x408b70",
|
"eip1052Transition": "0x408b70",
|
||||||
"eip1283Transition": "0x408b70"
|
"eip1283Transition": "0x408b70",
|
||||||
|
"eip1283DisableTransition": "0x4b5e82"
|
||||||
},
|
},
|
||||||
"genesis": {
|
"genesis": {
|
||||||
"seal": {
|
"seal": {
|
||||||
|
@ -120,6 +120,8 @@ pub struct CommonParams {
|
|||||||
pub eip1052_transition: BlockNumber,
|
pub eip1052_transition: BlockNumber,
|
||||||
/// Number of first block where EIP-1283 rules begin.
|
/// Number of first block where EIP-1283 rules begin.
|
||||||
pub eip1283_transition: BlockNumber,
|
pub eip1283_transition: BlockNumber,
|
||||||
|
/// Number of first block where EIP-1283 rules end.
|
||||||
|
pub eip1283_disable_transition: BlockNumber,
|
||||||
/// Number of first block where EIP-1014 rules begin.
|
/// Number of first block where EIP-1014 rules begin.
|
||||||
pub eip1014_transition: BlockNumber,
|
pub eip1014_transition: BlockNumber,
|
||||||
/// Number of first block where dust cleanup rules (EIP-168 and EIP169) begin.
|
/// Number of first block where dust cleanup rules (EIP-168 and EIP169) begin.
|
||||||
@ -188,7 +190,7 @@ impl CommonParams {
|
|||||||
schedule.have_return_data = block_number >= self.eip211_transition;
|
schedule.have_return_data = block_number >= self.eip211_transition;
|
||||||
schedule.have_bitwise_shifting = block_number >= self.eip145_transition;
|
schedule.have_bitwise_shifting = block_number >= self.eip145_transition;
|
||||||
schedule.have_extcodehash = block_number >= self.eip1052_transition;
|
schedule.have_extcodehash = block_number >= self.eip1052_transition;
|
||||||
schedule.eip1283 = block_number >= self.eip1283_transition;
|
schedule.eip1283 = block_number >= self.eip1283_transition && !(block_number >= self.eip1283_disable_transition);
|
||||||
if block_number >= self.eip210_transition {
|
if block_number >= self.eip210_transition {
|
||||||
schedule.blockhash_gas = 800;
|
schedule.blockhash_gas = 800;
|
||||||
}
|
}
|
||||||
@ -296,6 +298,10 @@ impl From<ethjson::spec::Params> for CommonParams {
|
|||||||
BlockNumber::max_value,
|
BlockNumber::max_value,
|
||||||
Into::into,
|
Into::into,
|
||||||
),
|
),
|
||||||
|
eip1283_disable_transition: p.eip1283_disable_transition.map_or_else(
|
||||||
|
BlockNumber::max_value,
|
||||||
|
Into::into,
|
||||||
|
),
|
||||||
eip1014_transition: p.eip1014_transition.map_or_else(
|
eip1014_transition: p.eip1014_transition.map_or_else(
|
||||||
BlockNumber::max_value,
|
BlockNumber::max_value,
|
||||||
Into::into,
|
Into::into,
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
|
// Copyright 2015-2019 Parity Technologies (UK) Ltd.
|
||||||
// This file is part of Parity.
|
// This file is part of Parity Ethereum.
|
||||||
|
|
||||||
// Parity is free software: you can redistribute it and/or modify
|
// Parity Ethereum is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU General Public License as published by
|
// it under the terms of the GNU General Public License as published by
|
||||||
// the Free Software Foundation, either version 3 of the License, or
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
// (at your option) any later version.
|
// (at your option) any later version.
|
||||||
|
|
||||||
// Parity is distributed in the hope that it will be useful,
|
// Parity Ethereum is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
|
|
||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
// along with Parity Ethereum. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
//! Spec params deserialization.
|
//! Spec params deserialization.
|
||||||
|
|
||||||
@ -112,6 +112,10 @@ pub struct Params {
|
|||||||
/// See `CommonParams` docs.
|
/// See `CommonParams` docs.
|
||||||
#[serde(rename="eip1283Transition")]
|
#[serde(rename="eip1283Transition")]
|
||||||
pub eip1283_transition: Option<Uint>,
|
pub eip1283_transition: Option<Uint>,
|
||||||
|
/// See `CommonParams` docs.
|
||||||
|
#[serde(rename="eip1283DisableTransition")]
|
||||||
|
pub eip1283_disable_transition: Option<Uint>,
|
||||||
|
/// See `CommonParams` docs.
|
||||||
#[serde(rename="eip1014Transition")]
|
#[serde(rename="eip1014Transition")]
|
||||||
pub eip1014_transition: Option<Uint>,
|
pub eip1014_transition: Option<Uint>,
|
||||||
/// See `CommonParams` docs.
|
/// See `CommonParams` docs.
|
||||||
@ -210,3 +214,4 @@ mod tests {
|
|||||||
let _deserialized: Params = serde_json::from_str(s).unwrap();
|
let _deserialized: Params = serde_json::from_str(s).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,26 +10,18 @@ echo "CARGO_TARGET: " $CARGO_TARGET
|
|||||||
echo "CC: " $CC
|
echo "CC: " $CC
|
||||||
echo "CXX: " $CXX
|
echo "CXX: " $CXX
|
||||||
|
|
||||||
echo "__________CARGO CONFIG__________"
|
echo "_____ Building target: "$CARGO_TARGET" _____"
|
||||||
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
||||||
then
|
then
|
||||||
# use build container's cargo config
|
# only thing we need for android
|
||||||
cat /.cargo/config
|
time cargo build --target $CARGO_TARGET --release -p parity-clib --features final
|
||||||
else
|
else
|
||||||
mkdir -p .cargo
|
|
||||||
rm -f .cargo/config
|
|
||||||
echo "[target.$CARGO_TARGET]" >> .cargo/config
|
|
||||||
echo "linker= \"$CC\"" >> .cargo/config
|
|
||||||
cat .cargo/config
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo "_____ Building target: "$CARGO_TARGET" _____"
|
|
||||||
time cargo build --target $CARGO_TARGET --release --features final
|
time cargo build --target $CARGO_TARGET --release --features final
|
||||||
time cargo build --target $CARGO_TARGET --release -p evmbin
|
time cargo build --target $CARGO_TARGET --release -p evmbin
|
||||||
time cargo build --target $CARGO_TARGET --release -p ethstore-cli
|
time cargo build --target $CARGO_TARGET --release -p ethstore-cli
|
||||||
time cargo build --target $CARGO_TARGET --release -p ethkey-cli
|
time cargo build --target $CARGO_TARGET --release -p ethkey-cli
|
||||||
time cargo build --target $CARGO_TARGET --release -p whisper-cli
|
time cargo build --target $CARGO_TARGET --release -p whisper-cli
|
||||||
|
fi
|
||||||
|
|
||||||
echo "_____ Post-processing binaries _____"
|
echo "_____ Post-processing binaries _____"
|
||||||
rm -rf artifacts
|
rm -rf artifacts
|
||||||
@ -37,11 +29,17 @@ mkdir -p artifacts
|
|||||||
cd artifacts
|
cd artifacts
|
||||||
mkdir -p $CARGO_TARGET
|
mkdir -p $CARGO_TARGET
|
||||||
cd $CARGO_TARGET
|
cd $CARGO_TARGET
|
||||||
|
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
||||||
|
then
|
||||||
|
# only thing we need for android
|
||||||
|
cp -v ../../target/$CARGO_TARGET/release/libparity.so ./libparity.so
|
||||||
|
else
|
||||||
cp -v ../../target/$CARGO_TARGET/release/parity ./parity
|
cp -v ../../target/$CARGO_TARGET/release/parity ./parity
|
||||||
cp -v ../../target/$CARGO_TARGET/release/parity-evm ./parity-evm
|
cp -v ../../target/$CARGO_TARGET/release/parity-evm ./parity-evm
|
||||||
cp -v ../../target/$CARGO_TARGET/release/ethstore ./ethstore
|
cp -v ../../target/$CARGO_TARGET/release/ethstore ./ethstore
|
||||||
cp -v ../../target/$CARGO_TARGET/release/ethkey ./ethkey
|
cp -v ../../target/$CARGO_TARGET/release/ethkey ./ethkey
|
||||||
cp -v ../../target/$CARGO_TARGET/release/whisper ./whisper
|
cp -v ../../target/$CARGO_TARGET/release/whisper ./whisper
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# stripping can also be done on release build time
|
# stripping can also be done on release build time
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "parity-version"
|
name = "parity-version"
|
||||||
# NOTE: this value is used for Parity Ethereum version string (via env CARGO_PKG_VERSION)
|
# NOTE: this value is used for Parity Ethereum version string (via env CARGO_PKG_VERSION)
|
||||||
version = "2.2.7"
|
version = "2.2.8"
|
||||||
authors = ["Parity Technologies <admin@parity.io>"]
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
|
|
||||||
@ -16,9 +16,9 @@ track = "stable"
|
|||||||
# Latest supported fork blocks.
|
# Latest supported fork blocks.
|
||||||
# Indicates a critical release in this track (i.e. consensus issue).
|
# Indicates a critical release in this track (i.e. consensus issue).
|
||||||
[package.metadata.networks]
|
[package.metadata.networks]
|
||||||
foundation = { forkBlock = 4370000, critical = true }
|
foundation = { forkBlock = 7280000, critical = false }
|
||||||
ropsten = { forkBlock = 4230000, critical = false }
|
ropsten = { forkBlock = 4939394, critical = false }
|
||||||
kovan = { forkBlock = 9200000, critical = true }
|
kovan = { forkBlock = 10255201, critical = false }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
parity-bytes = "0.1"
|
parity-bytes = "0.1"
|
||||||
|
Loading…
Reference in New Issue
Block a user