diff --git a/Cargo.lock b/Cargo.lock index e20ac11d47..3765c680c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7854,7 +7854,7 @@ dependencies = [ "nym-task 0.1.0", "nym-ticketbooks-merkle 0.1.0", "nym-validator-client 0.1.0", - "nyxd-scraper", + "nyxd-scraper-sqlite", "rand 0.8.5", "rand_chacha 0.3.1", "serde", @@ -8061,7 +8061,7 @@ dependencies = [ "nym-network-defaults 0.1.0", "nym-task 0.1.0", "nym-validator-client 0.1.0", - "nyxd-scraper", + "nyxd-scraper-sqlite", "reqwest 0.12.15", "schemars", "serde", @@ -8079,7 +8079,15 @@ dependencies = [ ] [[package]] -name = "nyxd-scraper" +name = "nyxd-scraper-psql" +version = "0.1.0" + +[[package]] +name = "nyxd-scraper-shared" +version = "0.1.0" + +[[package]] +name = "nyxd-scraper-sqlite" version = "0.1.0" dependencies = [ "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 8b3404c545..d8c60c77af 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -80,7 +80,9 @@ members = [ "common/nymsphinx/params", "common/nymsphinx/routing", "common/nymsphinx/types", - "common/nyxd-scraper", + "common/nyxd-scraper-sqlite", + "common/nyxd-scraper-psql", + "common/nyxd-scraper-shared", "common/pemstore", "common/serde-helpers", "common/service-provider-requests-common", diff --git a/common/nyxd-scraper-psql/Cargo.toml b/common/nyxd-scraper-psql/Cargo.toml new file mode 100644 index 0000000000..d1f853db55 --- /dev/null +++ b/common/nyxd-scraper-psql/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "nyxd-scraper-psql" +version = "0.1.0" +authors.workspace = true +repository.workspace = true +homepage.workspace = true +documentation.workspace = true +edition.workspace = true +license.workspace = true +rust-version.workspace = true +readme.workspace = true + +[dependencies] + +[lints] +workspace = true diff --git a/common/nyxd-scraper-psql/src/lib.rs b/common/nyxd-scraper-psql/src/lib.rs new file mode 100644 index 0000000000..b93cf3ffd9 --- /dev/null +++ b/common/nyxd-scraper-psql/src/lib.rs @@ -0,0 +1,14 @@ +pub fn add(left: u64, right: u64) -> u64 { + left + right +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn it_works() { + let result = add(2, 2); + assert_eq!(result, 4); + } +} diff --git a/common/nyxd-scraper-shared/Cargo.toml b/common/nyxd-scraper-shared/Cargo.toml new file mode 100644 index 0000000000..2323824e0c --- /dev/null +++ b/common/nyxd-scraper-shared/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "nyxd-scraper-shared" +version = "0.1.0" +authors.workspace = true +repository.workspace = true +homepage.workspace = true +documentation.workspace = true +edition.workspace = true +license.workspace = true +rust-version.workspace = true +readme.workspace = true + +[dependencies] + +[lints] +workspace = true diff --git a/common/nyxd-scraper-shared/src/lib.rs b/common/nyxd-scraper-shared/src/lib.rs new file mode 100644 index 0000000000..b93cf3ffd9 --- /dev/null +++ b/common/nyxd-scraper-shared/src/lib.rs @@ -0,0 +1,14 @@ +pub fn add(left: u64, right: u64) -> u64 { + left + right +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn it_works() { + let result = add(2, 2); + assert_eq!(result, 4); + } +} diff --git a/common/nyxd-scraper/Cargo.toml b/common/nyxd-scraper-sqlite/Cargo.toml similarity index 97% rename from common/nyxd-scraper/Cargo.toml rename to common/nyxd-scraper-sqlite/Cargo.toml index 9eee598af7..743ae7d341 100644 --- a/common/nyxd-scraper/Cargo.toml +++ b/common/nyxd-scraper-sqlite/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "nyxd-scraper" +name = "nyxd-scraper-sqlite" version = "0.1.0" authors.workspace = true repository.workspace = true diff --git a/common/nyxd-scraper/README.md b/common/nyxd-scraper-sqlite/README.md similarity index 100% rename from common/nyxd-scraper/README.md rename to common/nyxd-scraper-sqlite/README.md diff --git a/common/nyxd-scraper/build.rs b/common/nyxd-scraper-sqlite/build.rs similarity index 100% rename from common/nyxd-scraper/build.rs rename to common/nyxd-scraper-sqlite/build.rs diff --git a/common/nyxd-scraper/sql_migrations/01_metadata.sql b/common/nyxd-scraper-sqlite/sql_migrations/01_metadata.sql similarity index 100% rename from common/nyxd-scraper/sql_migrations/01_metadata.sql rename to common/nyxd-scraper-sqlite/sql_migrations/01_metadata.sql diff --git a/common/nyxd-scraper/sql_migrations/02_cosmos.sql b/common/nyxd-scraper-sqlite/sql_migrations/02_cosmos.sql similarity index 100% rename from common/nyxd-scraper/sql_migrations/02_cosmos.sql rename to common/nyxd-scraper-sqlite/sql_migrations/02_cosmos.sql diff --git a/common/nyxd-scraper/src/block_processor/helpers.rs b/common/nyxd-scraper-sqlite/src/block_processor/helpers.rs similarity index 100% rename from common/nyxd-scraper/src/block_processor/helpers.rs rename to common/nyxd-scraper-sqlite/src/block_processor/helpers.rs diff --git a/common/nyxd-scraper/src/block_processor/mod.rs b/common/nyxd-scraper-sqlite/src/block_processor/mod.rs similarity index 100% rename from common/nyxd-scraper/src/block_processor/mod.rs rename to common/nyxd-scraper-sqlite/src/block_processor/mod.rs diff --git a/common/nyxd-scraper/src/block_processor/pruning.rs b/common/nyxd-scraper-sqlite/src/block_processor/pruning.rs similarity index 100% rename from common/nyxd-scraper/src/block_processor/pruning.rs rename to common/nyxd-scraper-sqlite/src/block_processor/pruning.rs diff --git a/common/nyxd-scraper/src/block_processor/types.rs b/common/nyxd-scraper-sqlite/src/block_processor/types.rs similarity index 100% rename from common/nyxd-scraper/src/block_processor/types.rs rename to common/nyxd-scraper-sqlite/src/block_processor/types.rs diff --git a/common/nyxd-scraper/src/block_requester/mod.rs b/common/nyxd-scraper-sqlite/src/block_requester/mod.rs similarity index 100% rename from common/nyxd-scraper/src/block_requester/mod.rs rename to common/nyxd-scraper-sqlite/src/block_requester/mod.rs diff --git a/common/nyxd-scraper/src/constants.rs b/common/nyxd-scraper-sqlite/src/constants.rs similarity index 100% rename from common/nyxd-scraper/src/constants.rs rename to common/nyxd-scraper-sqlite/src/constants.rs diff --git a/common/nyxd-scraper/src/error.rs b/common/nyxd-scraper-sqlite/src/error.rs similarity index 100% rename from common/nyxd-scraper/src/error.rs rename to common/nyxd-scraper-sqlite/src/error.rs diff --git a/common/nyxd-scraper/src/helpers.rs b/common/nyxd-scraper-sqlite/src/helpers.rs similarity index 100% rename from common/nyxd-scraper/src/helpers.rs rename to common/nyxd-scraper-sqlite/src/helpers.rs diff --git a/common/nyxd-scraper/src/lib.rs b/common/nyxd-scraper-sqlite/src/lib.rs similarity index 100% rename from common/nyxd-scraper/src/lib.rs rename to common/nyxd-scraper-sqlite/src/lib.rs diff --git a/common/nyxd-scraper/src/modules/block_module.rs b/common/nyxd-scraper-sqlite/src/modules/block_module.rs similarity index 100% rename from common/nyxd-scraper/src/modules/block_module.rs rename to common/nyxd-scraper-sqlite/src/modules/block_module.rs diff --git a/common/nyxd-scraper/src/modules/mod.rs b/common/nyxd-scraper-sqlite/src/modules/mod.rs similarity index 100% rename from common/nyxd-scraper/src/modules/mod.rs rename to common/nyxd-scraper-sqlite/src/modules/mod.rs diff --git a/common/nyxd-scraper/src/modules/msg_module.rs b/common/nyxd-scraper-sqlite/src/modules/msg_module.rs similarity index 100% rename from common/nyxd-scraper/src/modules/msg_module.rs rename to common/nyxd-scraper-sqlite/src/modules/msg_module.rs diff --git a/common/nyxd-scraper/src/modules/tx_module.rs b/common/nyxd-scraper-sqlite/src/modules/tx_module.rs similarity index 100% rename from common/nyxd-scraper/src/modules/tx_module.rs rename to common/nyxd-scraper-sqlite/src/modules/tx_module.rs diff --git a/common/nyxd-scraper/src/rpc_client.rs b/common/nyxd-scraper-sqlite/src/rpc_client.rs similarity index 100% rename from common/nyxd-scraper/src/rpc_client.rs rename to common/nyxd-scraper-sqlite/src/rpc_client.rs diff --git a/common/nyxd-scraper/src/scraper/mod.rs b/common/nyxd-scraper-sqlite/src/scraper/mod.rs similarity index 100% rename from common/nyxd-scraper/src/scraper/mod.rs rename to common/nyxd-scraper-sqlite/src/scraper/mod.rs diff --git a/common/nyxd-scraper/src/scraper/subscriber.rs b/common/nyxd-scraper-sqlite/src/scraper/subscriber.rs similarity index 100% rename from common/nyxd-scraper/src/scraper/subscriber.rs rename to common/nyxd-scraper-sqlite/src/scraper/subscriber.rs diff --git a/common/nyxd-scraper/src/storage/helpers.rs b/common/nyxd-scraper-sqlite/src/storage/helpers.rs similarity index 100% rename from common/nyxd-scraper/src/storage/helpers.rs rename to common/nyxd-scraper-sqlite/src/storage/helpers.rs diff --git a/common/nyxd-scraper/src/storage/manager.rs b/common/nyxd-scraper-sqlite/src/storage/manager.rs similarity index 100% rename from common/nyxd-scraper/src/storage/manager.rs rename to common/nyxd-scraper-sqlite/src/storage/manager.rs diff --git a/common/nyxd-scraper/src/storage/mod.rs b/common/nyxd-scraper-sqlite/src/storage/mod.rs similarity index 100% rename from common/nyxd-scraper/src/storage/mod.rs rename to common/nyxd-scraper-sqlite/src/storage/mod.rs diff --git a/common/nyxd-scraper/src/storage/models.rs b/common/nyxd-scraper-sqlite/src/storage/models.rs similarity index 100% rename from common/nyxd-scraper/src/storage/models.rs rename to common/nyxd-scraper-sqlite/src/storage/models.rs diff --git a/nym-validator-rewarder/Cargo.toml b/nym-validator-rewarder/Cargo.toml index 3281e9f782..b8ba9b9158 100644 --- a/nym-validator-rewarder/Cargo.toml +++ b/nym-validator-rewarder/Cargo.toml @@ -43,7 +43,7 @@ nym-network-defaults = { path = "../common/network-defaults" } nym-task = { path = "../common/task" } nym-validator-client = { path = "../common/client-libs/validator-client" } nym-coconut-dkg-common = { path = "../common/cosmwasm-smart-contracts/coconut-dkg" } -nyxd-scraper = { path = "../common/nyxd-scraper" } +nyxd-scraper-sqlite = { path = "../common/nyxd-scraper-sqlite" } nym-ticketbooks-merkle = { path = "../common/ticketbooks-merkle" } nym-serde-helpers = { path = "../common/serde-helpers", features = ["base64"] } nym-pemstore = { path = "../common/pemstore" } diff --git a/nym-validator-rewarder/src/cli/process_block.rs b/nym-validator-rewarder/src/cli/process_block.rs index c4f3563566..3892846850 100644 --- a/nym-validator-rewarder/src/cli/process_block.rs +++ b/nym-validator-rewarder/src/cli/process_block.rs @@ -3,7 +3,7 @@ use crate::cli::{try_load_current_config, ConfigOverridableArgs}; use crate::error::NymRewarderError; -use nyxd_scraper::NyxdScraper; +use nyxd_scraper_sqlite::NyxdScraper; use std::path::PathBuf; #[derive(Debug, clap::Args)] diff --git a/nym-validator-rewarder/src/cli/process_until.rs b/nym-validator-rewarder/src/cli/process_until.rs index 04a5809caf..dac40cf4ab 100644 --- a/nym-validator-rewarder/src/cli/process_until.rs +++ b/nym-validator-rewarder/src/cli/process_until.rs @@ -3,7 +3,7 @@ use crate::cli::{try_load_current_config, ConfigOverridableArgs}; use crate::error::NymRewarderError; -use nyxd_scraper::NyxdScraper; +use nyxd_scraper_sqlite::NyxdScraper; use std::path::PathBuf; #[derive(Debug, clap::Args)] diff --git a/nym-validator-rewarder/src/config/mod.rs b/nym-validator-rewarder/src/config/mod.rs index e7681fdb64..243cfdb7a8 100644 --- a/nym-validator-rewarder/src/config/mod.rs +++ b/nym-validator-rewarder/src/config/mod.rs @@ -12,7 +12,7 @@ use nym_config::{ DEFAULT_CONFIG_DIR, DEFAULT_CONFIG_FILENAME, DEFAULT_DATA_DIR, NYM_DIR, }; use nym_validator_client::nyxd::{AccountId, Coin}; -use nyxd_scraper::{PruningOptions, StartingBlockOpts}; +use nyxd_scraper_sqlite::{PruningOptions, StartingBlockOpts}; use serde::{Deserialize, Serialize}; use serde_with::{serde_as, DisplayFromStr}; use std::io; @@ -119,8 +119,8 @@ impl Config { } } - pub fn scraper_config(&self) -> nyxd_scraper::Config { - nyxd_scraper::Config { + pub fn scraper_config(&self) -> nyxd_scraper_sqlite::Config { + nyxd_scraper_sqlite::Config { websocket_url: self.nyxd_scraper.websocket_url.clone(), rpc_url: self.base.upstream_nyxd.clone(), database_path: self.storage_paths.nyxd_scraper.clone(), diff --git a/nym-validator-rewarder/src/error.rs b/nym-validator-rewarder/src/error.rs index 48150139df..858634e620 100644 --- a/nym-validator-rewarder/src/error.rs +++ b/nym-validator-rewarder/src/error.rs @@ -78,7 +78,7 @@ pub enum NymRewarderError { #[error("chain scraping failure: {source}")] ScraperFailure { #[from] - source: nyxd_scraper::error::ScraperError, + source: nyxd_scraper_sqlite::error::ScraperError, }, // this should never happen but unwrapping everywhere was more cumbersome than just propagating the error diff --git a/nym-validator-rewarder/src/rewarder/block_signing/mod.rs b/nym-validator-rewarder/src/rewarder/block_signing/mod.rs index 5a32069a04..9309c85ebc 100644 --- a/nym-validator-rewarder/src/rewarder/block_signing/mod.rs +++ b/nym-validator-rewarder/src/rewarder/block_signing/mod.rs @@ -7,7 +7,7 @@ use crate::rewarder::epoch::Epoch; use crate::rewarder::nyxd_client::NyxdClient; use nym_validator_client::nyxd::module_traits::staking; use nym_validator_client::nyxd::{AccountId, PageRequest}; -use nyxd_scraper::NyxdScraper; +use nyxd_scraper_sqlite::NyxdScraper; use std::cmp::min; use std::collections::HashMap; use std::ops::Range; diff --git a/nym-validator-rewarder/src/rewarder/block_signing/types.rs b/nym-validator-rewarder/src/rewarder/block_signing/types.rs index 0a27e2258b..168c4aeca1 100644 --- a/nym-validator-rewarder/src/rewarder/block_signing/types.rs +++ b/nym-validator-rewarder/src/rewarder/block_signing/types.rs @@ -7,7 +7,7 @@ use crate::{ }; use cosmwasm_std::{Decimal, Uint128}; use nym_validator_client::nyxd::{module_traits::staking, AccountId, Coin}; -use nyxd_scraper::models; +use nyxd_scraper_sqlite::models; use std::collections::HashMap; use tracing::info; diff --git a/nym-validator-rewarder/src/rewarder/helpers.rs b/nym-validator-rewarder/src/rewarder/helpers.rs index 578d49c498..572e4ecbc7 100644 --- a/nym-validator-rewarder/src/rewarder/helpers.rs +++ b/nym-validator-rewarder/src/rewarder/helpers.rs @@ -3,7 +3,7 @@ use crate::error::NymRewarderError; use nym_validator_client::nyxd::{AccountId, PublicKey}; -use nyxd_scraper::constants::{BECH32_CONSENSUS_ADDRESS_PREFIX, BECH32_PREFIX}; +use nyxd_scraper_sqlite::constants::{BECH32_CONSENSUS_ADDRESS_PREFIX, BECH32_PREFIX}; use sha2::{Digest, Sha256}; pub(crate) fn consensus_pubkey_to_address( diff --git a/nym-validator-rewarder/src/rewarder/mod.rs b/nym-validator-rewarder/src/rewarder/mod.rs index ed38ba1d3c..46a8b39187 100644 --- a/nym-validator-rewarder/src/rewarder/mod.rs +++ b/nym-validator-rewarder/src/rewarder/mod.rs @@ -16,7 +16,7 @@ use nym_crypto::asymmetric::ed25519; use nym_ecash_time::{ecash_today, ecash_today_date, EcashTime}; use nym_task::TaskManager; use nym_validator_client::nyxd::{AccountId, Coin, Hash}; -use nyxd_scraper::NyxdScraper; +use nyxd_scraper_sqlite::NyxdScraper; use std::sync::Arc; use time::Date; use tokio::pin; diff --git a/nyx-chain-watcher/Cargo.toml b/nyx-chain-watcher/Cargo.toml index bbc2ed1939..3a2f09149b 100644 --- a/nyx-chain-watcher/Cargo.toml +++ b/nyx-chain-watcher/Cargo.toml @@ -24,7 +24,7 @@ nym-bin-common = { path = "../common/bin-common", features = ["output_format"] } nym-network-defaults = { path = "../common/network-defaults" } nym-task = { path = "../common/task" } nym-validator-client = { path = "../common/client-libs/validator-client" } -nyxd-scraper = { path = "../common/nyxd-scraper" } +nyxd-scraper-sqlite = { path = "../common/nyxd-scraper-sqlite" } reqwest = { workspace = true, features = ["rustls-tls"] } schemars = { workspace = true } serde = { workspace = true, features = ["derive"] } diff --git a/nyx-chain-watcher/src/chain_scraper/mod.rs b/nyx-chain-watcher/src/chain_scraper/mod.rs index 21e716d580..561b40558d 100644 --- a/nyx-chain-watcher/src/chain_scraper/mod.rs +++ b/nyx-chain-watcher/src/chain_scraper/mod.rs @@ -6,7 +6,7 @@ use crate::env::vars::{ use crate::http::state::BankScraperModuleState; use async_trait::async_trait; use nym_validator_client::nyxd::{Any, Coin, CosmosCoin, Hash, Msg, MsgSend, Name}; -use nyxd_scraper::{ +use nyxd_scraper_sqlite::{ error::ScraperError, storage::StorageTransaction, MsgModule, NyxdScraper, ParsedTransactionResponse, PruningOptions, }; @@ -50,13 +50,13 @@ pub(crate) async fn run_chain_scraper( fs::remove_file(config.chain_scraper_database_path())?; } - let scraper = NyxdScraper::builder(nyxd_scraper::Config { + let scraper = NyxdScraper::builder(nyxd_scraper_sqlite::Config { websocket_url, rpc_url, database_path: config.chain_scraper_database_path().into(), pruning_options: PruningOptions::nothing(), store_precommits: false, - start_block: nyxd_scraper::StartingBlockOpts { + start_block: nyxd_scraper_sqlite::StartingBlockOpts { start_block_height, use_best_effort_start_height, }, diff --git a/nyx-chain-watcher/src/http/state.rs b/nyx-chain-watcher/src/http/state.rs index 3f0d813f44..337740b9b6 100644 --- a/nyx-chain-watcher/src/http/state.rs +++ b/nyx-chain-watcher/src/http/state.rs @@ -7,7 +7,7 @@ use axum::extract::FromRef; use nym_bin_common::bin_info; use nym_bin_common::build_information::BinaryBuildInformation; use nym_validator_client::nyxd::{Coin, MsgSend}; -use nyxd_scraper::ParsedTransactionResponse; +use nyxd_scraper_sqlite::ParsedTransactionResponse; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::ops::Deref;