Add Nethermind to clients that accept service transactions (#324)
* Add Nethermind to clients that accept service transactions * fmt
This commit is contained in:
		
							parent
							
								
									504777e879
								
							
						
					
					
						commit
						37f5291538
					
				@ -128,8 +128,8 @@ pub trait ClientCapabilities {
 | 
			
		||||
    /// if this version can handle requests for a large number of block bodies.
 | 
			
		||||
    fn can_handle_large_requests(&self) -> bool;
 | 
			
		||||
 | 
			
		||||
    /// Service transactions are specific to parity. Query if this version
 | 
			
		||||
    /// accepts them.
 | 
			
		||||
    /// Service transactions are specific to parity and nethermind. Query if
 | 
			
		||||
    /// this version accepts them.
 | 
			
		||||
    fn accepts_service_transaction(&self) -> bool;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -146,7 +146,7 @@ impl ClientCapabilities for ClientVersion {
 | 
			
		||||
        match self {
 | 
			
		||||
            ClientVersion::ParityClient(_) => true,
 | 
			
		||||
            ClientVersion::ParityUnknownFormat(_) => true,
 | 
			
		||||
            ClientVersion::Other(_) => false,
 | 
			
		||||
            ClientVersion::Other(client_id) => is_nethermind(client_id),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -156,6 +156,10 @@ fn is_parity(client_id: &str) -> bool {
 | 
			
		||||
        || client_id.starts_with(CURRENT_CLIENT_ID_PREFIX)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn is_nethermind(client_id: &str) -> bool {
 | 
			
		||||
    client_id.starts_with("Nethermind")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Parse known parity formats. Recognizes either a short format with four fields
 | 
			
		||||
/// or a long format which includes the same fields and an identity one.
 | 
			
		||||
fn parse_parity_format(client_version: &str) -> Result<ParityClientData, ()> {
 | 
			
		||||
@ -531,6 +535,15 @@ pub mod tests {
 | 
			
		||||
            ClientVersion::from("Parity-Ethereum/ABCDEFGH/v2.7.3/linux/rustc")
 | 
			
		||||
                .accepts_service_transaction()
 | 
			
		||||
        );
 | 
			
		||||
        assert!(
 | 
			
		||||
            ClientVersion::from("OpenEthereum//v3.2.0/x86_64-linux-gnu/rustc1.49.0")
 | 
			
		||||
                .accepts_service_transaction()
 | 
			
		||||
        );
 | 
			
		||||
        assert!(ClientVersion::from("OpenEthereum/ABCDEFGH").accepts_service_transaction());
 | 
			
		||||
        assert!(
 | 
			
		||||
            ClientVersion::from("Nethermind/v1.10.37-0-068e5c399-20210311/X64-Linux/5.0.4")
 | 
			
		||||
                .accepts_service_transaction()
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user