taler-rust

GNU Taler code in Rust. Largely core banking integrations.
Log | Files | Refs | Submodules | README | LICENSE

commit f6376f3429c2a9cdc9042edea71ace0ec9142bc1
parent 73e5406d8d107d668e2ce6e2bfad8aeb67d27b4a
Author: Antoine A <>
Date:   Tue,  7 Apr 2026 14:00:04 +0200

common: clean code

Diffstat:
Mcommon/taler-test-utils/src/routine.rs | 4++--
Mcommon/taler-test-utils/src/server.rs | 6+++---
Mtaler-cyclos/src/api.rs | 17+++++++----------
Mtaler-cyclos/src/bin/cyclos-codegen.rs | 2+-
Mtaler-cyclos/src/lib.rs | 2+-
Mtaler-cyclos/src/payto.rs | 2+-
Mtaler-cyclos/src/worker.rs | 4++--
Mtaler-magnet-bank/src/lib.rs | 4++--
Mtaler-magnet-bank/src/magnet_api/api.rs | 2+-
Mtaler-magnet-bank/src/magnet_api/client.rs | 4++--
10 files changed, 22 insertions(+), 25 deletions(-)

diff --git a/common/taler-test-utils/src/routine.rs b/common/taler-test-utils/src/routine.rs @@ -967,7 +967,7 @@ pub async fn registration_routine<F1: Future<Output = Vec<Status>>>( server .post("/taler-prepared-transfer/registration") .json(&json!(req + { - "authorization_sig": eddsa_sign(&key_pair1, "lol".as_bytes()), + "authorization_sig": eddsa_sign(&key_pair1, b"lol"), })) .await .assert_error(ErrorCode::BANK_BAD_SIGNATURE); @@ -1322,7 +1322,7 @@ pub async fn registration_routine<F1: Future<Output = Vec<Status>>>( server .delete("/taler-prepared-transfer/registration") .json(&json!(un_req + { - "authorization_sig": eddsa_sign(&auth_pair, "lol".as_bytes()), + "authorization_sig": eddsa_sign(&auth_pair, b"lol"), })) .await .assert_error(ErrorCode::BANK_BAD_SIGNATURE); diff --git a/common/taler-test-utils/src/server.rs b/common/taler-test-utils/src/server.rs @@ -119,7 +119,7 @@ impl TestRequest { } async fn send(self) -> TestResponse { - let TestRequest { + let Self { router, method, url: uri, @@ -180,7 +180,7 @@ impl TestResponse { #[track_caller] pub fn json_parse<'de, T: Deserialize<'de>>(&'de self) -> T { - let TestResponse { + let Self { status, bytes, method, @@ -197,7 +197,7 @@ impl TestResponse { #[track_caller] pub fn assert_status(&self, expected: StatusCode) { - let TestResponse { + let Self { status, bytes, method, diff --git a/taler-cyclos/src/api.rs b/taler-cyclos/src/api.rs @@ -56,7 +56,7 @@ pub struct CyclosApi { } impl CyclosApi { - pub async fn start( + pub fn start( pool: sqlx::PgPool, root: CompactString, payto: PaytoURI, @@ -372,15 +372,12 @@ mod test { async fn setup() -> (Router, PgPool) { let (_, pool) = db_test_setup(CONFIG_SOURCE).await; - let api = Arc::new( - CyclosApi::start( - pool.clone(), - CompactString::const_new("localhost"), - ACCOUNT.clone(), - Currency::from_str("TEST").unwrap(), - ) - .await, - ); + let api = Arc::new(CyclosApi::start( + pool.clone(), + CompactString::const_new("localhost"), + ACCOUNT.clone(), + Currency::from_str("TEST").unwrap(), + )); let server = Router::new() .wire_gateway(api.clone(), AuthMethod::None) .prepared_transfer(api.clone()) diff --git a/taler-cyclos/src/bin/cyclos-codegen.rs b/taler-cyclos/src/bin/cyclos-codegen.rs @@ -70,7 +70,7 @@ async fn main() -> anyhow::Result<()> { writeln!(out, "pub enum {} {{", args.ty)?; for (i, l) in lines[2..].iter().enumerate() { let name = ty["enum"][i].as_str().unwrap(); - let mut split = l.split("`").skip(1); + let mut split = l.split('`').skip(1); let code = split.next().unwrap(); let msg = split .next() diff --git a/taler-cyclos/src/lib.rs b/taler-cyclos/src/lib.rs @@ -35,7 +35,7 @@ pub mod worker; pub async fn run_serve(cfg: &Config, pool: PgPool) -> anyhow::Result<()> { let cfg = ServeCfg::parse(cfg)?; - let api = Arc::new(CyclosApi::start(pool, cfg.root, cfg.payto, cfg.currency).await); + let api = Arc::new(CyclosApi::start(pool, cfg.root, cfg.payto, cfg.currency)); let mut router = Router::new(); if let Some(cfg) = cfg.wire_gateway { router = router.wire_gateway(api.clone(), cfg.auth.method()); diff --git a/taler-cyclos/src/payto.rs b/taler-cyclos/src/payto.rs @@ -75,7 +75,7 @@ impl PaytoImpl for CyclosAccount { url.domain().unwrap_or_default().to_owned(), )); } - let Some((root, id)) = url.path().trim_start_matches("/").rsplit_once('/') else { + let Some((root, id)) = url.path().trim_start_matches('/').rsplit_once('/') else { return Err(PaytoErr::custom(MissingParts)); }; diff --git a/taler-cyclos/src/worker.rs b/taler-cyclos/src/worker.rs @@ -183,7 +183,7 @@ impl Worker<'_> { // running concurrently. We use a global Postgres advisory lock to prevent it. if !db::worker_lock(self.db).await? { return Err(WorkerError::Concurrency); - }; + } // Sync transactions let mut cursor: Timestamp = kv_get(&mut *self.db, SYNC_CURSOR_KEY) @@ -491,7 +491,7 @@ pub fn extract_tx_info(tx: HistoryItem) -> Tx { AccountKind::System => (tx.related_account.ty.id, tx.related_account.ty.name), AccountKind::User { user } => (user.id, user.display), }; - if tx.amount.starts_with("-") { + if tx.amount.starts_with('-') { Tx::Out(TxOut { transfer_id: *tx.id, tx_id: tx.transaction.map(|it| *it.id), diff --git a/taler-magnet-bank/src/lib.rs b/taler-magnet-bank/src/lib.rs @@ -136,7 +136,7 @@ impl From<ParseIbanError> for HuIbanErr { } impl HuIbanErr { - fn checksum(part: &'static str, (expected, checksum): (u8, u8)) -> Self { + const fn checksum(part: &'static str, (expected, checksum): (u8, u8)) -> Self { Self::Checksum(part, expected, checksum) } } @@ -163,7 +163,7 @@ impl PaytoImpl for HuIban { fn parse(raw: &PaytoURI) -> Result<Self, PaytoErr> { let iban_payto = IbanPayto::try_from(raw).map_err(PaytoErr::custom)?; - HuIban::try_from(iban_payto.into_inner().iban).map_err(PaytoErr::custom) + Self::try_from(iban_payto.into_inner().iban).map_err(PaytoErr::custom) } } diff --git a/taler-magnet-bank/src/magnet_api/api.rs b/taler-magnet-bank/src/magnet_api/api.rs @@ -69,7 +69,7 @@ async fn error_handling(res: Res) -> Result<Res, MagnetErr> { StatusCode::BAD_REQUEST => Err(MagnetErr::Status(status)), StatusCode::FORBIDDEN => { let cause = res.str_header(header::WWW_AUTHENTICATE.as_str())?; - Err(MagnetErr::StatusCause(status, cause.to_string())) + Err(MagnetErr::StatusCause(status, cause)) } _ => { if tracing::enabled!(Level::DEBUG) { diff --git a/taler-magnet-bank/src/magnet_api/client.rs b/taler-magnet-bank/src/magnet_api/client.rs @@ -54,7 +54,7 @@ pub struct AuthClient<'a> { } impl<'a> AuthClient<'a> { - pub fn new( + pub const fn new( client: &'a http_client::Client, api_url: &'a url::Url, consumer: &'a Token, @@ -106,7 +106,7 @@ impl<'a> AuthClient<'a> { .await } - pub fn upgrade(self, access: &'a Token) -> ApiClient<'a> { + pub const fn upgrade(self, access: &'a Token) -> ApiClient<'a> { ApiClient { client: self.client, api_url: self.api_url,