dept: update duniter-core (network db change)

This commit is contained in:
librelois 2021-05-14 16:58:48 +02:00
parent 2576d3e061
commit bccc1a507a
3 changed files with 30 additions and 32 deletions

18
Cargo.lock generated
View file

@ -757,7 +757,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-bc-reader" name = "duniter-bc-reader"
version = "0.1.0" 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 = [ dependencies = [
"anyhow", "anyhow",
"dubp", "dubp",
@ -803,7 +803,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-conf" name = "duniter-conf"
version = "0.1.0" 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 = [ dependencies = [
"anyhow", "anyhow",
"dubp", "dubp",
@ -817,7 +817,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-core" name = "duniter-core"
version = "1.8.1" 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 = [ dependencies = [
"duniter-bc-reader", "duniter-bc-reader",
"duniter-conf", "duniter-conf",
@ -830,7 +830,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-dbs" name = "duniter-dbs"
version = "0.1.0" 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 = [ dependencies = [
"arrayvec", "arrayvec",
"bincode", "bincode",
@ -853,7 +853,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-dbs-write-ops" name = "duniter-dbs-write-ops"
version = "0.1.0" 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 = [ dependencies = [
"chrono", "chrono",
"dubp", "dubp",
@ -868,7 +868,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-global" name = "duniter-global"
version = "1.8.1" 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 = [ dependencies = [
"async-rwlock", "async-rwlock",
"dubp", "dubp",
@ -1001,7 +1001,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-mempools" name = "duniter-mempools"
version = "0.1.0" 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 = [ dependencies = [
"dubp", "dubp",
"duniter-bc-reader", "duniter-bc-reader",
@ -1014,7 +1014,7 @@ dependencies = [
[[package]] [[package]]
name = "duniter-module" name = "duniter-module"
version = "0.1.0" 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 = [ dependencies = [
"anyhow", "anyhow",
"async-mutex", "async-mutex",
@ -1560,7 +1560,7 @@ dependencies = [
[[package]] [[package]]
name = "kv_typed" name = "kv_typed"
version = "0.1.0" 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 = [ dependencies = [
"byteorder", "byteorder",
"cfg-if 0.1.10", "cfg-if 0.1.10",

View file

@ -14,7 +14,6 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
use crate::*; use crate::*;
use dubp::crypto::keys::PublicKey as _;
use duniter_core::dbs::{databases::network_v1::NetworkV1DbReadable, DunpHeadDbV1, PeerCardDbV1}; use duniter_core::dbs::{databases::network_v1::NetworkV1DbReadable, DunpHeadDbV1, PeerCardDbV1};
#[allow(clippy::unnecessary_wraps)] #[allow(clippy::unnecessary_wraps)]
@ -51,18 +50,14 @@ impl DbsReaderImpl {
it.values() it.values()
.filter_map(|peer_res| { .filter_map(|peer_res| {
if let Ok(peer) = 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, peer.pubkey);
let k_min = duniter_core::dbs::DunpNodeIdV1Db::new(0, pubkey); let k_max = duniter_core::dbs::DunpNodeIdV1Db::new(u32::MAX, peer.pubkey);
let k_max = duniter_core::dbs::DunpNodeIdV1Db::new(u32::MAX, pubkey); Some((
Some(( peer,
peer, dunp_db.heads_old().iter(k_min..k_max, |it| {
dunp_db.heads_old().iter(k_min..k_max, |it| { it.values().filter_map(|head| head.ok()).collect()
it.values().filter_map(|head| head.ok()).collect() }),
}), ))
))
} else {
None
}
} else { } else {
None None
} }
@ -75,6 +70,7 @@ impl DbsReaderImpl {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*; use super::*;
use dubp::crypto::keys::PublicKey as _;
use duniter_core::dbs::databases::network_v1::NetworkV1DbWritable; use duniter_core::dbs::databases::network_v1::NetworkV1DbWritable;
use duniter_core::dbs::PeerCardDbV1; use duniter_core::dbs::PeerCardDbV1;
@ -155,21 +151,21 @@ mod tests {
let dunp_db = let dunp_db =
duniter_core::dbs::databases::network_v1::NetworkV1Db::<Mem>::open(MemConf::default())?; duniter_core::dbs::databases::network_v1::NetworkV1Db::<Mem>::open(MemConf::default())?;
let db_reader = DbsReaderImpl::mem(); let db_reader = DbsReaderImpl::mem();
let pk = PublicKey::default(); let pubkey = PublicKey::default();
dunp_db.peers_old_write().upsert( dunp_db.peers_old_write().upsert(
PubKeyKeyV2(pk), PubKeyKeyV2(pubkey),
PeerCardDbV1 { PeerCardDbV1 {
pubkey: pk.to_string(), pubkey,
..Default::default() ..Default::default()
}, },
)?; )?;
dunp_db.heads_old_write().upsert( dunp_db.heads_old_write().upsert(
duniter_core::dbs::DunpNodeIdV1Db::new(42, pk), duniter_core::dbs::DunpNodeIdV1Db::new(42, pubkey),
DunpHeadDbV1::default(), DunpHeadDbV1::default(),
)?; )?;
dunp_db.heads_old_write().upsert( dunp_db.heads_old_write().upsert(
duniter_core::dbs::DunpNodeIdV1Db::new(43, pk), duniter_core::dbs::DunpNodeIdV1Db::new(43, pubkey),
DunpHeadDbV1 { DunpHeadDbV1 {
pubkey: PublicKey::from_base58("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") pubkey: PublicKey::from_base58("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
.expect("invalid pubkey"), .expect("invalid pubkey"),
@ -181,7 +177,7 @@ mod tests {
db_reader.peers_and_heads(&dunp_db)?, db_reader.peers_and_heads(&dunp_db)?,
vec![( vec![(
PeerCardDbV1 { PeerCardDbV1 {
pubkey: pk.to_string(), pubkey,
..Default::default() ..Default::default()
}, },
vec![ vec![

View file

@ -1,3 +1,5 @@
use dubp::crypto::{bases::b58::ToBase58, keys::Signature};
// Copyright (C) 2020 Éloïs SANCHEZ. // Copyright (C) 2020 Éloïs SANCHEZ.
// //
// This program is free software: you can redistribute it and/or modify // This program is free software: you can redistribute it and/or modify
@ -29,11 +31,11 @@ impl From<duniter_core::dbs::PeerCardDbV1> for PeerCardGva {
Self { Self {
version: peer.version, version: peer.version,
currency: peer.currency, currency: peer.currency,
pubkey: peer.pubkey, pubkey: peer.pubkey.to_base58(),
blockstamp: peer.blockstamp, blockstamp: peer.blockstamp.to_string(),
endpoints: peer.endpoints, endpoints: peer.endpoints,
status: peer.status, status: if peer.status { "UP" } else { "DOWN" }.to_owned(),
signature: peer.signature, signature: peer.signature.to_base64(),
} }
} }
} }