diff --git a/Cargo.lock b/Cargo.lock index b90a522..d11e8e2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -757,7 +757,7 @@ dependencies = [ [[package]] name = "duniter-bc-reader" version = "0.1.0" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "anyhow", "dubp", @@ -803,7 +803,7 @@ dependencies = [ [[package]] name = "duniter-conf" version = "0.1.0" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "anyhow", "dubp", @@ -817,7 +817,7 @@ dependencies = [ [[package]] name = "duniter-core" version = "1.8.1" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "duniter-bc-reader", "duniter-conf", @@ -830,7 +830,7 @@ dependencies = [ [[package]] name = "duniter-dbs" version = "0.1.0" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "arrayvec", "bincode", @@ -853,7 +853,7 @@ dependencies = [ [[package]] name = "duniter-dbs-write-ops" version = "0.1.0" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "chrono", "dubp", @@ -868,7 +868,7 @@ dependencies = [ [[package]] name = "duniter-global" version = "1.8.1" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "async-rwlock", "dubp", @@ -1001,7 +1001,7 @@ dependencies = [ [[package]] name = "duniter-mempools" version = "0.1.0" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "dubp", "duniter-bc-reader", @@ -1014,7 +1014,7 @@ dependencies = [ [[package]] name = "duniter-module" version = "0.1.0" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "anyhow", "async-mutex", @@ -1560,7 +1560,7 @@ dependencies = [ [[package]] name = "kv_typed" version = "0.1.0" -source = "git+https://git.duniter.org/nodes/rust/duniter-core#4f26e9e6f687f2c42adf7027bebb34f4ed58e600" +source = "git+https://git.duniter.org/nodes/rust/duniter-core#193a64f042500c7a0b327fc216db1773a904270c" dependencies = [ "byteorder", "cfg-if 0.1.10", diff --git a/dbs-reader/src/network.rs b/dbs-reader/src/network.rs index 4ebe0aa..b144c7e 100644 --- a/dbs-reader/src/network.rs +++ b/dbs-reader/src/network.rs @@ -14,7 +14,6 @@ // along with this program. If not, see . use crate::*; -use dubp::crypto::keys::PublicKey as _; use duniter_core::dbs::{databases::network_v1::NetworkV1DbReadable, DunpHeadDbV1, PeerCardDbV1}; #[allow(clippy::unnecessary_wraps)] @@ -51,18 +50,14 @@ impl DbsReaderImpl { it.values() .filter_map(|peer_res| { if let Ok(peer) = peer_res { - if let Ok(pubkey) = PublicKey::from_base58(&peer.pubkey) { - let k_min = duniter_core::dbs::DunpNodeIdV1Db::new(0, pubkey); - let k_max = duniter_core::dbs::DunpNodeIdV1Db::new(u32::MAX, pubkey); - Some(( - peer, - dunp_db.heads_old().iter(k_min..k_max, |it| { - it.values().filter_map(|head| head.ok()).collect() - }), - )) - } else { - None - } + let k_min = duniter_core::dbs::DunpNodeIdV1Db::new(0, peer.pubkey); + let k_max = duniter_core::dbs::DunpNodeIdV1Db::new(u32::MAX, peer.pubkey); + Some(( + peer, + dunp_db.heads_old().iter(k_min..k_max, |it| { + it.values().filter_map(|head| head.ok()).collect() + }), + )) } else { None } @@ -75,6 +70,7 @@ impl DbsReaderImpl { #[cfg(test)] mod tests { use super::*; + use dubp::crypto::keys::PublicKey as _; use duniter_core::dbs::databases::network_v1::NetworkV1DbWritable; use duniter_core::dbs::PeerCardDbV1; @@ -155,21 +151,21 @@ mod tests { let dunp_db = duniter_core::dbs::databases::network_v1::NetworkV1Db::::open(MemConf::default())?; let db_reader = DbsReaderImpl::mem(); - let pk = PublicKey::default(); + let pubkey = PublicKey::default(); dunp_db.peers_old_write().upsert( - PubKeyKeyV2(pk), + PubKeyKeyV2(pubkey), PeerCardDbV1 { - pubkey: pk.to_string(), + pubkey, ..Default::default() }, )?; dunp_db.heads_old_write().upsert( - duniter_core::dbs::DunpNodeIdV1Db::new(42, pk), + duniter_core::dbs::DunpNodeIdV1Db::new(42, pubkey), DunpHeadDbV1::default(), )?; dunp_db.heads_old_write().upsert( - duniter_core::dbs::DunpNodeIdV1Db::new(43, pk), + duniter_core::dbs::DunpNodeIdV1Db::new(43, pubkey), DunpHeadDbV1 { pubkey: PublicKey::from_base58("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .expect("invalid pubkey"), @@ -181,7 +177,7 @@ mod tests { db_reader.peers_and_heads(&dunp_db)?, vec![( PeerCardDbV1 { - pubkey: pk.to_string(), + pubkey, ..Default::default() }, vec![ diff --git a/gql/src/entities/network.rs b/gql/src/entities/network.rs index 4e06590..a195cb3 100644 --- a/gql/src/entities/network.rs +++ b/gql/src/entities/network.rs @@ -1,3 +1,5 @@ +use dubp::crypto::{bases::b58::ToBase58, keys::Signature}; + // Copyright (C) 2020 Éloïs SANCHEZ. // // This program is free software: you can redistribute it and/or modify @@ -29,11 +31,11 @@ impl From for PeerCardGva { Self { version: peer.version, currency: peer.currency, - pubkey: peer.pubkey, - blockstamp: peer.blockstamp, + pubkey: peer.pubkey.to_base58(), + blockstamp: peer.blockstamp.to_string(), endpoints: peer.endpoints, - status: peer.status, - signature: peer.signature, + status: if peer.status { "UP" } else { "DOWN" }.to_owned(), + signature: peer.signature.to_base64(), } } }