diff --git a/CHANGELOG.md b/CHANGELOG.md index 824ca01b4..396c7e950 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## OpenEthereum v3.2.4 + +* Fix for Typed transaction broadcast. + +## OpenEthereum v3.2.3 + +* Hotfix for berlin consensus error. + ## OpenEthereum v3.2.2-rc.1 Bug fixes: diff --git a/Cargo.lock b/Cargo.lock index bf43a6f2c..d06402916 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2835,7 +2835,7 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] name = "openethereum" -version = "3.2.2-rc.1" +version = "3.2.4" dependencies = [ "ansi_term 0.10.2", "atty", @@ -3191,7 +3191,7 @@ dependencies = [ [[package]] name = "parity-version" -version = "3.2.2-rc.1" +version = "3.2.4" dependencies = [ "parity-bytes", "rlp", diff --git a/Cargo.toml b/Cargo.toml index 07b8c3e4d..3c7f15e27 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ description = "OpenEthereum" name = "openethereum" # NOTE Make sure to update util/version/Cargo.toml as well -version = "3.2.2-rc.1" +version = "3.2.4" license = "GPL-3.0" authors = [ "OpenEthereum developers", diff --git a/artifacts/openethereum-windows-v3.2.3.zip b/artifacts/openethereum-windows-v3.2.3.zip new file mode 100644 index 000000000..6c3515cb2 Binary files /dev/null and b/artifacts/openethereum-windows-v3.2.3.zip differ diff --git a/crates/ethcore/src/executive.rs b/crates/ethcore/src/executive.rs index 6834c1723..4fe13d27a 100644 --- a/crates/ethcore/src/executive.rs +++ b/crates/ethcore/src/executive.rs @@ -240,7 +240,6 @@ impl<'a> CallCreateExecutive<'a> { if schedule.eip2929 { let mut substate = Substate::from_access_list(¶ms.access_list); substate.access_list.insert_address(params.address); - substate.access_list.insert_address(params.sender); substate } else { Substate::default() @@ -1145,8 +1144,11 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { let mut access_list = AccessList::new(schedule.eip2929); if schedule.eip2929 { - for (address, _) in self.machine.builtins() { - access_list.insert_address(*address); + access_list.insert_address(sender); + for (address, builtin) in self.machine.builtins() { + if builtin.is_active(self.info.number) { + access_list.insert_address(*address); + } } if schedule.eip2930 { // optional access list @@ -1232,6 +1234,7 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { &nonce, &t.tx().data, ); + access_list.insert_address(new_address); let params = ActionParams { code_address: new_address.clone(), code_hash: code_hash, @@ -1255,6 +1258,7 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { (res, out) } Action::Call(ref address) => { + access_list.insert_address(address.clone()); let params = ActionParams { code_address: address.clone(), address: address.clone(), diff --git a/crates/ethcore/sync/src/chain/propagator.rs b/crates/ethcore/sync/src/chain/propagator.rs index 1d814bca9..02b72df1a 100644 --- a/crates/ethcore/sync/src/chain/propagator.rs +++ b/crates/ethcore/sync/src/chain/propagator.rs @@ -238,15 +238,15 @@ impl SyncPropagator { for tx in &transactions { let hash = tx.hash(); if to_send.contains(&hash) { - let appended = - packet.append_raw_checked(&tx.encode(), 1, MAX_TRANSACTION_PACKET_SIZE); - if !appended { + tx.rlp_append(&mut packet); + pushed += 1; + // this is not hard limit and we are okay with it. Max default tx size is 300k. + if packet.as_raw().len() >= MAX_TRANSACTION_PACKET_SIZE { // Maximal packet size reached just proceed with sending debug!(target: "sync", "Transaction packet size limit reached. Sending incomplete set of {}/{} transactions.", pushed, to_send.len()); to_send = to_send.into_iter().take(pushed).collect(); break; } - pushed += 1; } } packet.finalize_unbounded_list(); diff --git a/crates/util/version/Cargo.toml b/crates/util/version/Cargo.toml index 87e85170b..a0ef7108b 100644 --- a/crates/util/version/Cargo.toml +++ b/crates/util/version/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "parity-version" # NOTE: this value is used for OpenEthereum version string (via env CARGO_PKG_VERSION) -version = "3.2.2-rc.1" +version = "3.2.4" authors = ["Parity Technologies "] build = "build.rs"