diff --git a/p2p/src/types.rs b/p2p/src/types.rs index 5f6b8707..dd87ac62 100644 --- a/p2p/src/types.rs +++ b/p2p/src/types.rs @@ -132,9 +132,7 @@ impl Default for P2PConfig { P2PConfig { host: ipaddr, port: 13414, - capabilities: Capabilities::HEADER_HIST - | Capabilities::TXHASHSET_HIST - | Capabilities::PEER_LIST, + capabilities: Capabilities::FULL_NODE, seeding_type: Seeding::default(), seeds: None, peers_allow: None, @@ -214,13 +212,11 @@ bitflags! { /// All nodes right now are "full nodes". /// Some nodes internally may maintain longer block histories (archival_mode) /// but we do not advertise this to other nodes. + /// All nodes by default will accept lightweight "kernel first" tx broadcast. const FULL_NODE = Capabilities::HEADER_HIST.bits | Capabilities::TXHASHSET_HIST.bits - | Capabilities::PEER_LIST.bits; - - // TODO - we cannot include TX_KERNEL_HASH in FULL_NODE right now - // as legacy nodes do not recognise these Capabilities safely. - // | Capabilities::TX_KERNEL_HASH.bits; + | Capabilities::PEER_LIST.bits + | Capabilities::TX_KERNEL_HASH.bits; } } diff --git a/p2p/tests/ser_deser.rs b/p2p/tests/ser_deser.rs index f7710a98..3151c234 100644 --- a/p2p/tests/ser_deser.rs +++ b/p2p/tests/ser_deser.rs @@ -55,24 +55,29 @@ fn test_capabilities() { ); assert_eq!( - p2p::types::Capabilities::from_bits_truncate(0b0111 as u32), + p2p::types::Capabilities::from_bits_truncate(0b1111 as u32), p2p::types::Capabilities::FULL_NODE ); assert_eq!( - p2p::types::Capabilities::from_bits_truncate(0b00000111 as u32), + p2p::types::Capabilities::from_bits_truncate(0b00001111 as u32), p2p::types::Capabilities::FULL_NODE ); assert_eq!( - p2p::types::Capabilities::from_bits_truncate(0b11110111 as u32), + p2p::types::Capabilities::from_bits_truncate(0b11111111 as u32), p2p::types::Capabilities::FULL_NODE ); assert_eq!( - p2p::types::Capabilities::from_bits_truncate(0b00100111 as u32), + p2p::types::Capabilities::from_bits_truncate(0b00101111 as u32), p2p::types::Capabilities::FULL_NODE ); - assert_eq!( - p2p::types::Capabilities::from_bits_truncate(0b00101111 as u32), - p2p::types::Capabilities::FULL_NODE | p2p::types::Capabilities::TX_KERNEL_HASH + assert!( + p2p::types::Capabilities::from_bits_truncate(0b00101111 as u32) + .contains(p2p::types::Capabilities::FULL_NODE) + ); + + assert!( + p2p::types::Capabilities::from_bits_truncate(0b00101111 as u32) + .contains(p2p::types::Capabilities::TX_KERNEL_HASH) ); }