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/sync/src/chain/propagator.rs b/crates/ethcore/sync/src/chain/propagator.rs index de79c1207..de6e2c0d1 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.complete_unbounded_list();