diff --git a/consensus/proto_array/src/proto_array.rs b/consensus/proto_array/src/proto_array.rs index f68d3eb71b..6bca814cb4 100644 --- a/consensus/proto_array/src/proto_array.rs +++ b/consensus/proto_array/src/proto_array.rs @@ -1431,11 +1431,24 @@ impl ProtoArray { .nodes .get(node.proto_node_index) .ok_or(Error::InvalidNodeIndex(node.proto_node_index))?; - let mut children = vec![(node.with_status(PayloadStatus::Empty), proto_node.clone())]; - // The FULL virtual child only exists if the payload has been received. - if proto_node.payload_received().is_ok_and(|received| received) { - children.push((node.with_status(PayloadStatus::Full), proto_node.clone())); - } + + // TODO(gloas) this is the actual change we want to keep once PTC is implemented + // let mut children = vec![(node.with_status(PayloadStatus::Empty), proto_node.clone())]; + // // The FULL virtual child only exists if the payload has been received. + // if proto_node.payload_received().is_ok_and(|received| received) { + // children.push((node.with_status(PayloadStatus::Full), proto_node.clone())); + // } + + // TODO(gloas) remove this and uncomment the code above once we implement PTC + // Skip Empty/Full split: go straight to Full when payload received, + // giving full payload weight 100% without PTC votes. + let children = if proto_node.payload_received().is_ok_and(|received| received) { + vec![(node.with_status(PayloadStatus::Full), proto_node.clone())] + } else { + vec![(node.with_status(PayloadStatus::Empty), proto_node.clone())] + }; + // TODO(gloas) delete up to here + Ok(children) } else { let child_indices = children_index