Enable TX_KERNEL_HASH capability by default (#1971)

This commit is contained in:
Antioch Peverell
2018-11-13 17:28:36 +00:00
committed by Ignotus Peverell
parent 5a06f5dac7
commit 01900f2e4d
2 changed files with 16 additions and 15 deletions
+4 -8
View File
@@ -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;
}
}
+12 -7
View File
@@ -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)
);
}