ethcore: only accept service transactions from parity-ethereum nodes
This commit is contained in:
parent
8a698d6fb0
commit
64957e05aa
@ -48,7 +48,7 @@ fn accepts_service_transaction(client_id: &str) -> bool {
|
|||||||
// Parity versions starting from this will accept service-transactions
|
// Parity versions starting from this will accept service-transactions
|
||||||
const SERVICE_TRANSACTIONS_VERSION: (u32, u32) = (1u32, 6u32);
|
const SERVICE_TRANSACTIONS_VERSION: (u32, u32) = (1u32, 6u32);
|
||||||
// Parity client string prefix
|
// Parity client string prefix
|
||||||
const PARITY_CLIENT_ID_PREFIX: &'static str = "Parity/v";
|
const PARITY_CLIENT_ID_PREFIX: &'static str = "Parity-Ethereum/v";
|
||||||
|
|
||||||
if !client_id.starts_with(PARITY_CLIENT_ID_PREFIX) {
|
if !client_id.starts_with(PARITY_CLIENT_ID_PREFIX) {
|
||||||
return false;
|
return false;
|
||||||
@ -577,13 +577,13 @@ mod tests {
|
|||||||
io.peers_info.insert(1, "Geth".to_owned());
|
io.peers_info.insert(1, "Geth".to_owned());
|
||||||
// and peer#2 is Parity, accepting service transactions
|
// and peer#2 is Parity, accepting service transactions
|
||||||
insert_dummy_peer(&mut sync, 2, block_hash);
|
insert_dummy_peer(&mut sync, 2, block_hash);
|
||||||
io.peers_info.insert(2, "Parity/v1.6".to_owned());
|
io.peers_info.insert(2, "Parity-Ethereum/v2.6".to_owned());
|
||||||
// and peer#3 is Parity, discarding service transactions
|
// and peer#3 is Parity, discarding service transactions
|
||||||
insert_dummy_peer(&mut sync, 3, block_hash);
|
insert_dummy_peer(&mut sync, 3, block_hash);
|
||||||
io.peers_info.insert(3, "Parity/v1.5".to_owned());
|
io.peers_info.insert(3, "Parity-Ethereum/v2.5".to_owned());
|
||||||
// and peer#4 is Parity, accepting service transactions
|
// and peer#4 is Parity, accepting service transactions
|
||||||
insert_dummy_peer(&mut sync, 4, block_hash);
|
insert_dummy_peer(&mut sync, 4, block_hash);
|
||||||
io.peers_info.insert(4, "Parity/v1.7.3-ABCDEFGH".to_owned());
|
io.peers_info.insert(4, "Parity-Ethereum/v2.7.3-ABCDEFGH".to_owned());
|
||||||
|
|
||||||
// and new service transaction is propagated to peers
|
// and new service transaction is propagated to peers
|
||||||
SyncPropagator::propagate_new_transactions(&mut sync, &mut io);
|
SyncPropagator::propagate_new_transactions(&mut sync, &mut io);
|
||||||
@ -607,7 +607,7 @@ mod tests {
|
|||||||
|
|
||||||
// when peer#1 is Parity, accepting service transactions
|
// when peer#1 is Parity, accepting service transactions
|
||||||
insert_dummy_peer(&mut sync, 1, block_hash);
|
insert_dummy_peer(&mut sync, 1, block_hash);
|
||||||
io.peers_info.insert(1, "Parity/v1.6".to_owned());
|
io.peers_info.insert(1, "Parity-Ethereum/v2.6".to_owned());
|
||||||
|
|
||||||
// and service + non-service transactions are propagated to peers
|
// and service + non-service transactions are propagated to peers
|
||||||
SyncPropagator::propagate_new_transactions(&mut sync, &mut io);
|
SyncPropagator::propagate_new_transactions(&mut sync, &mut io);
|
||||||
|
Loading…
Reference in New Issue
Block a user