feat(indexer): add currency_params

This commit is contained in:
librelois 2021-05-17 15:13:14 +02:00
parent 8aecd22b91
commit 4a7d3270df
10 changed files with 78 additions and 51 deletions

60
Cargo.lock generated
View file

@ -273,6 +273,7 @@ dependencies = [
"constant_time_eq", "constant_time_eq",
"crypto-mac", "crypto-mac",
"digest 0.9.0", "digest 0.9.0",
"rayon",
] ]
[[package]] [[package]]
@ -687,9 +688,9 @@ checksum = "4bb454f0228b18c7f4c3b0ebbee346ed9c52e7443b0999cd543ff3571205701d"
[[package]] [[package]]
name = "dubp" name = "dubp"
version = "0.53.1" version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5cee825e59cde21a3622de781d15f74cbea92f01eb1554a8c73818eb61a5998" checksum = "c5dca084e135ee5ea38d64e5e665cac6fc23570a66ed22ce5021b5d14c4f9443"
dependencies = [ dependencies = [
"dubp-block", "dubp-block",
"dubp-common", "dubp-common",
@ -701,9 +702,9 @@ dependencies = [
[[package]] [[package]]
name = "dubp-block" name = "dubp-block"
version = "0.53.1" version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4b26027dafcf4631bd7d7a2b1b25e54453c475a613b5ef7db4356f51f71c0eb" checksum = "5fa8e2b1d9728832dd4696f9eff1348085d162d5f98fe025e9c9a2caeffd9c89"
dependencies = [ dependencies = [
"dubp-documents", "dubp-documents",
"dubp-documents-parser", "dubp-documents-parser",
@ -716,9 +717,9 @@ dependencies = [
[[package]] [[package]]
name = "dubp-common" name = "dubp-common"
version = "0.53.1" version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dc000f2a3366c1bd985015f95adb3520e8e0b007ca5f77882eea1ea119d84f4" checksum = "49a12c0842c7c4e61e75755476b782d09e282275cab187376b3cc0da405b6afb"
dependencies = [ dependencies = [
"dup-crypto", "dup-crypto",
"serde", "serde",
@ -729,9 +730,9 @@ dependencies = [
[[package]] [[package]]
name = "dubp-documents" name = "dubp-documents"
version = "0.53.1" version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e96808a8ced0617ba93ed6fee00d88902f33e2f61a36ec9a841e8972ef5cd3a" checksum = "450f2b268c979264ef098f00532faf0015d281d9c8ebabf227f57ecc35d0076c"
dependencies = [ dependencies = [
"beef", "beef",
"dubp-wallet", "dubp-wallet",
@ -743,9 +744,9 @@ dependencies = [
[[package]] [[package]]
name = "dubp-documents-parser" name = "dubp-documents-parser"
version = "0.53.1" version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9c60f5c2804a9906777f96a62514c1f9f58abaab4c57f01db4fa7c45624e6fb" checksum = "067bba5a1e34566871128b7157642a643264e4aeaba1db5034634ef6461f797b"
dependencies = [ dependencies = [
"dubp-documents", "dubp-documents",
"json-pest-parser", "json-pest-parser",
@ -757,9 +758,9 @@ dependencies = [
[[package]] [[package]]
name = "dubp-wallet" name = "dubp-wallet"
version = "0.53.1" version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f277bed6bc228981f76f207f4112051656302b5c50c0a858ab138ae2215d49fe" checksum = "7552a1c1cca8498dc9266fdb6b10ee98ef841e363a1e3c0cd319ead3fa2aeef4"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"dubp-common", "dubp-common",
@ -769,10 +770,22 @@ dependencies = [
"zerocopy", "zerocopy",
] ]
[[package]]
name = "dubp-wot"
version = "0.11.0"
source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [
"log",
"once_cell",
"parking_lot",
"rayon",
"serde",
]
[[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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"dubp", "dubp",
@ -818,7 +831,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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"dubp", "dubp",
@ -832,8 +845,9 @@ 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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"dubp-wot",
"duniter-bc-reader", "duniter-bc-reader",
"duniter-conf", "duniter-conf",
"duniter-dbs", "duniter-dbs",
@ -845,7 +859,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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"arrayvec 0.7.0", "arrayvec 0.7.0",
"bincode", "bincode",
@ -868,7 +882,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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"chrono", "chrono",
"dubp", "dubp",
@ -883,7 +897,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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"async-rwlock", "async-rwlock",
"dubp", "dubp",
@ -1018,7 +1032,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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"dubp", "dubp",
"duniter-bc-reader", "duniter-bc-reader",
@ -1031,7 +1045,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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-mutex", "async-mutex",
@ -1050,9 +1064,9 @@ dependencies = [
[[package]] [[package]]
name = "dup-crypto" name = "dup-crypto"
version = "0.53.1" version = "0.54.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c530e25cc0a03ae36229401ca322002931b55fc180e6001bdab20a9087f297c" checksum = "be4b9746489f2564086fffce1cc67de3b867a098eaf4dbcce15dc85f85542c9c"
dependencies = [ dependencies = [
"arrayvec 0.5.2", "arrayvec 0.5.2",
"base64", "base64",
@ -1602,7 +1616,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#4ce40a98dbc3cb3241e6d91817a8753a9be95ee8" source = "git+https://git.duniter.org/nodes/rust/duniter-core#ce0cb755acd91c2e91fe6fc89ea57ae7d7e3eaef"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"cfg-if 0.1.10", "cfg-if 0.1.10",

View file

@ -13,7 +13,7 @@ async-graphql = { version = "2.8", features = ["log"] }
async-mutex = "1.4.0" async-mutex = "1.4.0"
async-trait = "0.1.41" async-trait = "0.1.41"
bytes = "1.0" bytes = "1.0"
dubp = { version = "0.53.1", features = ["duniter"] } dubp = { version = "0.54.1", features = ["duniter"] }
duniter-bca = { path = "./bca" } duniter-bca = { path = "./bca" }
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" } duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
duniter-gva-conf = { path = "./conf" } duniter-gva-conf = { path = "./conf" }

View file

@ -11,7 +11,7 @@ arrayvec = { version = "0.7", features = ["serde"] }
async-bincode = "0.6.1" async-bincode = "0.6.1"
async_io_stream = { version = "0.3.1", features = [ "tokio_io"] } async_io_stream = { version = "0.3.1", features = [ "tokio_io"] }
bincode = "1.3" bincode = "1.3"
dubp = { version = "0.53.1", features = ["duniter"] } dubp = { version = "0.54.1", features = ["duniter"] }
duniter-bca-types = { path = "types", features = ["duniter"] } duniter-bca-types = { path = "types", features = ["duniter"] }
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" } duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
duniter-gva-db = { path = "../db" } duniter-gva-db = { path = "../db" }

View file

@ -8,7 +8,7 @@ edition = "2018"
[dependencies] [dependencies]
arrayvec = { version = "0.7", features = ["serde"] } arrayvec = { version = "0.7", features = ["serde"] }
bincode = "1.3" bincode = "1.3"
dubp = { version = "0.53.1" } dubp = { version = "0.54.1" }
serde = { version = "1.0.105", features = ["derive"] } serde = { version = "1.0.105", features = ["derive"] }
smallvec = { version = "1.4.0", features = ["serde"] } smallvec = { version = "1.4.0", features = ["serde"] }
thiserror = "1.0.20" thiserror = "1.0.20"

View file

@ -14,7 +14,7 @@ path = "src/lib.rs"
bincode = "1.3" bincode = "1.3"
chrono = { version = "0.4.15", optional = true } chrono = { version = "0.4.15", optional = true }
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" } duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
dubp = { version = "0.53.1", features = ["duniter"] } dubp = { version = "0.54.1", features = ["duniter"] }
parking_lot = "0.11.0" parking_lot = "0.11.0"
paste = "1.0.2" paste = "1.0.2"
serde = { version = "1.0.105", features = ["derive"] } serde = { version = "1.0.105", features = ["derive"] }

View file

@ -20,7 +20,7 @@ arrayvec = { version = "0.7", features = ["serde"] }
duniter-bca-types = { path = "../bca/types" } duniter-bca-types = { path = "../bca/types" }
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" } duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
duniter-gva-db = { path = "../db" } duniter-gva-db = { path = "../db" }
dubp = { version = "0.53.1", features = ["duniter"] } dubp = { version = "0.54.1", features = ["duniter"] }
mockall = { version = "0.9.1", optional = true } mockall = { version = "0.9.1", optional = true }
resiter = "0.4.0" resiter = "0.4.0"

View file

@ -10,7 +10,7 @@ anyhow = "1.0.33"
arrayvec = { version = "0.7", features = ["serde"] } arrayvec = { version = "0.7", features = ["serde"] }
async-graphql = { version = "2.8", features = ["log"] } async-graphql = { version = "2.8", features = ["log"] }
async-trait = "0.1.41" async-trait = "0.1.41"
dubp = { version = "0.53.1", features = ["duniter"] } dubp = { version = "0.54.1", features = ["duniter"] }
duniter-bca-types = { path = "../bca/types" } duniter-bca-types = { path = "../bca/types" }
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" } duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
duniter-gva-db = { path = "../db" } duniter-gva-db = { path = "../db" }

View file

@ -16,7 +16,7 @@ anyhow = "1.0.34"
bincode = "1.3" bincode = "1.3"
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" } duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
duniter-gva-db = { path = "../db" } duniter-gva-db = { path = "../db" }
dubp = { version = "0.53.1", features = ["duniter"] } dubp = { version = "0.54.1", features = ["duniter"] }
lz4_flex = { version = "0.7", default-features = false } lz4_flex = { version = "0.7", default-features = false }
once_cell = "1.5.2" once_cell = "1.5.2"
resiter = "0.4.0" resiter = "0.4.0"

View file

@ -28,13 +28,14 @@ mod tx;
mod utxos; mod utxos;
use bincode::Options as _; use bincode::Options as _;
use dubp::block::prelude::*; use dubp::{
use dubp::common::crypto::hashs::Hash; block::prelude::*,
use dubp::common::prelude::*; common::{crypto::hashs::Hash, currency_params::CurrencyParameters, prelude::*},
use dubp::documents::{ documents::{
prelude::*, transaction::TransactionDocumentTrait, transaction::TransactionDocumentV10, prelude::*, transaction::TransactionDocumentTrait, transaction::TransactionDocumentV10,
},
wallet::prelude::*,
}; };
use dubp::wallet::prelude::*;
use duniter_core::dbs::{ use duniter_core::dbs::{
bincode_db, kv_typed::prelude::*, prelude::*, FileBackend, HashKeyV2, PubKeyKeyV2, bincode_db, kv_typed::prelude::*, prelude::*, FileBackend, HashKeyV2, PubKeyKeyV2,
SourceAmountValV2, WalletConditionsV2, SourceAmountValV2, WalletConditionsV2,
@ -71,7 +72,11 @@ pub struct UtxoV10<'s> {
pub written_block: BlockNumber, pub written_block: BlockNumber,
} }
pub fn apply_block<B: Backend>(block: &DubpBlockV10, gva_db: &GvaV1Db<B>) -> KvResult<()> { pub fn apply_block<B: Backend>(
block: &DubpBlockV10,
_currency_params: CurrencyParameters,
gva_db: &GvaV1Db<B>,
) -> KvResult<()> {
let blockstamp = Blockstamp { let blockstamp = Blockstamp {
number: block.number(), number: block.number(),
hash: block.hash(), hash: block.hash(),
@ -103,7 +108,11 @@ pub fn apply_block<B: Backend>(block: &DubpBlockV10, gva_db: &GvaV1Db<B>) -> KvR
Ok(()) Ok(())
} }
pub fn revert_block<B: Backend>(block: &DubpBlockV10, gva_db: &GvaV1Db<B>) -> KvResult<()> { pub fn revert_block<B: Backend>(
block: &DubpBlockV10,
_currency_params: CurrencyParameters,
gva_db: &GvaV1Db<B>,
) -> KvResult<()> {
gva_db.write(|mut db| { gva_db.write(|mut db| {
blocks_chunks::revert_block_blocks_chunk::<B>(block, &mut db)?; blocks_chunks::revert_block_blocks_chunk::<B>(block, &mut db)?;
db.blocks_by_common_time.remove(U64BE(block.common_time())); db.blocks_by_common_time.remove(U64BE(block.common_time()));
@ -269,8 +278,9 @@ mod tests {
hash: Some("0000000000000000000000000000000000000000000000000000000000000000".to_owned()), hash: Some("0000000000000000000000000000000000000000000000000000000000000000".to_owned()),
..Default::default() ..Default::default()
})?; })?;
let currency_params = CurrencyParameters::default();
apply_block(&b0, &gva_db)?; apply_block(&b0, currency_params, &gva_db)?;
assert_eq!(gva_db.blocks_by_common_time().count()?, 1); assert_eq!(gva_db.blocks_by_common_time().count()?, 1);
assert_eq!(gva_db.blocks_by_common_time().get(&U64BE(5_243))?, Some(0)); assert_eq!(gva_db.blocks_by_common_time().get(&U64BE(5_243))?, Some(0));
@ -308,7 +318,7 @@ mod tests {
..Default::default() ..Default::default()
})?; })?;
apply_block(&b1, &gva_db)?; apply_block(&b1, currency_params, &gva_db)?;
assert_eq!(gva_db.blocks_by_common_time().count()?, 2); assert_eq!(gva_db.blocks_by_common_time().count()?, 2);
assert_eq!(gva_db.blocks_by_common_time().get(&U64BE(5_245))?, Some(1)); assert_eq!(gva_db.blocks_by_common_time().get(&U64BE(5_245))?, Some(1));
@ -372,7 +382,7 @@ mod tests {
..Default::default() ..Default::default()
})?; })?;
apply_block(&b2, &gva_db)?; apply_block(&b2, currency_params, &gva_db)?;
assert_eq!(gva_db.blocks_by_common_time().count()?, 3); assert_eq!(gva_db.blocks_by_common_time().count()?, 3);
assert_eq!(gva_db.blocks_by_common_time().get(&U64BE(5_247))?, Some(2)); assert_eq!(gva_db.blocks_by_common_time().get(&U64BE(5_247))?, Some(2));
@ -439,8 +449,9 @@ mod tests {
hash: Some("0000000000000000000000000000000000000000000000000000000000000000".to_owned()), hash: Some("0000000000000000000000000000000000000000000000000000000000000000".to_owned()),
..Default::default() ..Default::default()
})?; })?;
let currency_params = CurrencyParameters::default();
apply_block(&b0, &gva_db)?; apply_block(&b0, currency_params, &gva_db)?;
let b1 = DubpBlockV10::from_string_object(&DubpBlockV10Stringified { let b1 = DubpBlockV10::from_string_object(&DubpBlockV10Stringified {
number: 1, number: 1,
@ -467,7 +478,7 @@ mod tests {
..Default::default() ..Default::default()
})?; })?;
apply_block(&b1, &gva_db)?; apply_block(&b1, currency_params, &gva_db)?;
let b2 = DubpBlockV10::from_string_object(&DubpBlockV10Stringified { let b2 = DubpBlockV10::from_string_object(&DubpBlockV10Stringified {
number: 2, number: 2,
@ -493,7 +504,7 @@ mod tests {
..Default::default() ..Default::default()
})?; })?;
apply_block(&b2, &gva_db)?; apply_block(&b2, currency_params, &gva_db)?;
let b3 = DubpBlockV10::from_string_object(&DubpBlockV10Stringified { let b3 = DubpBlockV10::from_string_object(&DubpBlockV10Stringified {
number: 3, number: 3,
@ -519,9 +530,9 @@ mod tests {
..Default::default() ..Default::default()
})?; })?;
apply_block(&b3, &gva_db)?; apply_block(&b3, currency_params, &gva_db)?;
revert_block(&b3, &gva_db)?; revert_block(&b3, currency_params, &gva_db)?;
assert_eq!(gva_db.blockchain_time().count()?, 3); assert_eq!(gva_db.blockchain_time().count()?, 3);
assert_eq!(gva_db.blockchain_time().get(&U32BE(2))?, Some(5_247)); assert_eq!(gva_db.blockchain_time().get(&U32BE(2))?, Some(5_247));
@ -551,7 +562,7 @@ mod tests {
] ]
); );
revert_block(&b2, &gva_db)?; revert_block(&b2, currency_params, &gva_db)?;
assert_eq!(gva_db.blockchain_time().count()?, 2); assert_eq!(gva_db.blockchain_time().count()?, 2);
assert_eq!(gva_db.blockchain_time().get(&U32BE(1))?, Some(5_245)); assert_eq!(gva_db.blockchain_time().get(&U32BE(1))?, Some(5_245));
@ -581,7 +592,7 @@ mod tests {
] ]
); );
revert_block(&b1, &gva_db)?; revert_block(&b1, currency_params, &gva_db)?;
assert_eq!(gva_db.blockchain_time().count()?, 1); assert_eq!(gva_db.blockchain_time().count()?, 1);
assert_eq!(gva_db.blockchain_time().get(&U32BE(0))?, Some(5_243)); assert_eq!(gva_db.blockchain_time().get(&U32BE(0))?, Some(5_243));

View file

@ -26,7 +26,7 @@ mod anti_spam;
mod warp_; mod warp_;
use async_graphql::http::GraphQLPlaygroundConfig; use async_graphql::http::GraphQLPlaygroundConfig;
use dubp::common::prelude::*; use dubp::common::{currency_params::CurrencyParameters, prelude::*};
use dubp::documents::transaction::TransactionDocumentV10; use dubp::documents::transaction::TransactionDocumentV10;
use dubp::{block::DubpBlockV10, crypto::hashs::Hash}; use dubp::{block::DubpBlockV10, crypto::hashs::Hash};
use dubp::{ use dubp::{
@ -73,18 +73,20 @@ impl duniter_core::module::DuniterModule for GvaModule {
fn apply_block( fn apply_block(
block: &DubpBlockV10, block: &DubpBlockV10,
_conf: &duniter_core::conf::DuniterCoreConf, _conf: &duniter_core::conf::DuniterCoreConf,
currency_params: CurrencyParameters,
profile_path_opt: Option<&Path>, profile_path_opt: Option<&Path>,
) -> KvResult<()> { ) -> KvResult<()> {
let gva_db = get_gva_db_rw(profile_path_opt); let gva_db = get_gva_db_rw(profile_path_opt);
duniter_gva_indexer::apply_block(&block, gva_db) duniter_gva_indexer::apply_block(&block, currency_params, gva_db)
} }
fn revert_block( fn revert_block(
block: &DubpBlockV10, block: &DubpBlockV10,
_conf: &duniter_core::conf::DuniterCoreConf, _conf: &duniter_core::conf::DuniterCoreConf,
currency_params: CurrencyParameters,
profile_path_opt: Option<&Path>, profile_path_opt: Option<&Path>,
) -> KvResult<()> { ) -> KvResult<()> {
let gva_db = get_gva_db_rw(profile_path_opt); let gva_db = get_gva_db_rw(profile_path_opt);
duniter_gva_indexer::revert_block(&block, gva_db) duniter_gva_indexer::revert_block(&block, currency_params, gva_db)
} }
async fn init( async fn init(
conf: Self::Conf, conf: Self::Conf,