libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit 090b60a46f0545bfd4ecb80ee6c8ba3d880588ab
parent 84704f78195558ee2a5d2ff7b125cb49a0ff435d
Author: Antoine A <>
Date:   Fri, 24 Apr 2026 10:37:58 +0200

nexus: update taler-rust

Diffstat:
MCargo.lock | 142+++++++++++++++++++++++++++++++++++++------------------------------------------
Msrc/api.rs | 173+++++++++++++++++++++++++++++++++++--------------------------------------------
2 files changed, 143 insertions(+), 172 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.39.0" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa7e52a4c5c547c741610a2c6f123f3881e409b714cd27e6798ef020c514f0a" +checksum = "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399" dependencies = [ "cc", "cmake", @@ -1117,9 +1117,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" dependencies = [ "atomic-waker", "bytes", @@ -1132,7 +1132,6 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "pin-utils", "smallvec", "tokio", "want", @@ -1205,12 +1204,13 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" dependencies = [ "displaydoc", "potential_utf", + "utf8_iter", "yoke", "zerofrom", "zerovec", @@ -1218,9 +1218,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", @@ -1231,9 +1231,9 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -1245,15 +1245,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" [[package]] name = "icu_properties" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" dependencies = [ "icu_collections", "icu_locale_core", @@ -1265,15 +1265,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" [[package]] name = "icu_provider" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", "icu_locale_core", @@ -1337,9 +1337,9 @@ checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" [[package]] name = "iri-string" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e7418f59cc01c88316161279a7f665217ae316b388e58a0d10e29f54f1e5eb" +checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" dependencies = [ "memchr", "serde", @@ -1463,10 +1463,12 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.91" +version = "0.3.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9" dependencies = [ + "cfg-if", + "futures-util", "once_cell", "wasm-bindgen", ] @@ -1503,9 +1505,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.183" +version = "0.2.184" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" +checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" [[package]] name = "libeufin" @@ -1591,9 +1593,9 @@ dependencies = [ [[package]] name = "litemap" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" [[package]] name = "litrs" @@ -1668,9 +1670,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", "log", @@ -1847,12 +1849,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] name = "pkcs1" version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1902,9 +1898,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" dependencies = [ "zerovec", ] @@ -2261,9 +2257,9 @@ dependencies = [ [[package]] name = "rustc-hash" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" [[package]] name = "rustc_version" @@ -3152,9 +3148,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "zerovec", @@ -3530,9 +3526,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.114" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" +checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0" dependencies = [ "cfg-if", "once_cell", @@ -3543,23 +3539,19 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.64" +version = "0.4.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" +checksum = "03623de6905b7206edd0a75f69f747f134b7f0a2323392d664448bf2d3c5d87e" dependencies = [ - "cfg-if", - "futures-util", "js-sys", - "once_cell", "wasm-bindgen", - "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.114" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" +checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3567,9 +3559,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.114" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" +checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2" dependencies = [ "bumpalo", "proc-macro2", @@ -3580,9 +3572,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.114" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" +checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b" dependencies = [ "unicode-ident", ] @@ -3623,9 +3615,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.91" +version = "0.3.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" +checksum = "cd70027e39b12f0849461e08ffc50b9cd7688d942c1c8e3c7b22273236b4dd0a" dependencies = [ "js-sys", "wasm-bindgen", @@ -4199,9 +4191,9 @@ dependencies = [ [[package]] name = "yoke" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -4210,9 +4202,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", @@ -4222,18 +4214,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.47" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87" +checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.47" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89" +checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" dependencies = [ "proc-macro2", "quote", @@ -4242,18 +4234,18 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", @@ -4269,9 +4261,9 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zerotrie" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" dependencies = [ "displaydoc", "yoke", @@ -4280,9 +4272,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "yoke", "zerofrom", @@ -4291,9 +4283,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", diff --git a/src/api.rs b/src/api.rs @@ -18,8 +18,9 @@ */ use jiff::Timestamp; +use sqlx::PgPool; use taler_api::{ - api::{TalerApi, revenue::Revenue, transfer::WireTransferGateway, wire::WireGateway}, + api::{TalerApi, revenue::Revenue, transfer::PreparedTransfer, wire::WireGateway}, error::{ApiResult, failure, failure_code}, subject::{IncomingSubject, fmt_in_subject, subject_fmt_qr_bill}, }; @@ -31,14 +32,14 @@ use taler_common::{ RegistrationRequest, RegistrationResponse, SubjectFormat, TransferSubject, Unregistration, }, api_wire::{ - AddIncomingRequest, AddIncomingResponse, AddKycauthRequest, AddKycauthResponse, + AddIncomingRequest, AddIncomingResponse, AddKycauthRequest, AddMappedRequest, IncomingHistory, OutgoingHistory, TransferList, TransferRequest, TransferResponse, TransferState, TransferStatus, }, db::IncomingType, error_code::ErrorCode, types::{ - amount::Currency, + amount::{Amount, Currency}, payto::{FullIbanPayto, PaytoURI}, timestamp::TalerTimestamp, }, @@ -101,6 +102,51 @@ impl TalerApi for NexusApi { } } +async fn add_incoming( + db: &PgPool, + subject: &IncomingSubject, + amount: Amount, + debit_account: PaytoURI, +) -> ApiResult<AddIncomingResponse> { + FullIbanPayto::try_from(&debit_account)?; + let now = Timestamp::now(); + match register_in_talerable( + db, + &IncomingPayment { + id: IncomingId { + uetr: None, + tx_id: Some(rand_ebics_id()), + acct_svcr_ref: None, + }, + amount, + credit_fee: None, + subject: Some(format!( + "Manual incoming {}", + fmt_in_subject(subject.ty(), subject.key()) + )), + execution_time: now, + debtor: Some(debit_account), + }, + subject, + ) + .await? + { + IncomingRegistrationResult::Success(in_result) => Ok(AddIncomingResponse { + row_id: safe_u64(in_result.id), + timestamp: now.into(), + }), + IncomingRegistrationResult::ReservePubReuse => { + Err(failure_code(ErrorCode::BANK_DUPLICATE_RESERVE_PUB_SUBJECT)) + } + IncomingRegistrationResult::MappingReuse => { + Err(failure_code(ErrorCode::BANK_TRANSFER_MAPPING_REUSED)) + } + IncomingRegistrationResult::UnknownMapping => { + Err(failure_code(ErrorCode::BANK_TRANSFER_MAPPING_UNKNOWN)) + } + } +} + impl WireGateway for NexusApi { async fn transfer(&self, req: TransferRequest) -> ApiResult<TransferResponse> { FullIbanPayto::try_from(&req.credit_account)?; @@ -156,75 +202,33 @@ impl WireGateway for NexusApi { &self, req: AddIncomingRequest, ) -> ApiResult<AddIncomingResponse> { - FullIbanPayto::try_from(&req.debit_account)?; - let now = Timestamp::now(); - match register_in_talerable( + add_incoming( &self.pool, - &IncomingPayment { - id: IncomingId { - uetr: None, - tx_id: Some(rand_ebics_id()), - acct_svcr_ref: None, - }, - amount: req.amount, - credit_fee: None, - subject: Some(format!( - "Manual incoming {}", - fmt_in_subject(IncomingType::reserve, &req.reserve_pub) - )), - execution_time: now, - debtor: Some(req.debit_account), - }, &IncomingSubject::Reserve(req.reserve_pub), + req.amount, + req.debit_account, ) - .await? - { - IncomingRegistrationResult::Success(in_result) => Ok(AddIncomingResponse { - row_id: safe_u64(in_result.id), - timestamp: now.into(), - }), - IncomingRegistrationResult::ReservePubReuse => { - Err(failure_code(ErrorCode::BANK_DUPLICATE_RESERVE_PUB_SUBJECT)) - } - IncomingRegistrationResult::MappingReuse - | IncomingRegistrationResult::UnknownMapping => unreachable!("mapping not used"), - } + .await } - async fn add_incoming_kyc(&self, req: AddKycauthRequest) -> ApiResult<AddKycauthResponse> { - FullIbanPayto::try_from(&req.debit_account)?; - let now = Timestamp::now(); - match register_in_talerable( + async fn add_incoming_kyc(&self, req: AddKycauthRequest) -> ApiResult<AddIncomingResponse> { + add_incoming( &self.pool, - &IncomingPayment { - id: IncomingId { - uetr: None, - tx_id: Some(rand_ebics_id()), - acct_svcr_ref: None, - }, - amount: req.amount, - credit_fee: None, - subject: Some(format!( - "Manual incoming {}", - fmt_in_subject(IncomingType::kyc, &req.account_pub) - )), - execution_time: now, - debtor: Some(req.debit_account), - }, &IncomingSubject::Kyc(req.account_pub), + req.amount, + req.debit_account, ) - .await? - { - IncomingRegistrationResult::Success(in_result) => Ok(AddIncomingResponse { - row_id: safe_u64(in_result.id), - timestamp: now.into(), - }), - IncomingRegistrationResult::ReservePubReuse => { - Err(failure_code(ErrorCode::BANK_DUPLICATE_RESERVE_PUB_SUBJECT)) - } - IncomingRegistrationResult::MappingReuse - | IncomingRegistrationResult::UnknownMapping => unreachable!("mapping not used"), - } + .await + } + + async fn add_incoming_mapped(&self, req: AddMappedRequest) -> ApiResult<AddIncomingResponse> { + add_incoming( + &self.pool, + &IncomingSubject::Map(req.authorization_pub), + req.amount, + req.debit_account, + ) + .await } fn support_account_check(&self) -> bool { @@ -244,7 +248,7 @@ impl Revenue for NexusApi { } } -impl WireTransferGateway for NexusApi { +impl PreparedTransfer for NexusApi { fn supported_formats(&self) -> &[SubjectFormat] { &[SubjectFormat::SIMPLE] } @@ -309,16 +313,11 @@ mod test { }; use sqlx::PgPool; - use taler_api::{ - api::TalerRouter as _, - auth::AuthMethod, - subject::{OutgoingSubject, fmt_in_subject}, - }; + use taler_api::{api::TalerRouter as _, auth::AuthMethod, subject::OutgoingSubject}; use taler_common::{ api_revenue::RevenueConfig, - api_transfer::WireTransferConfig, + api_transfer::PreparedTransferConfig, api_wire::{OutgoingHistory, TransferState, WireConfig}, - db::IncomingType, types::{ amount::Currency, payto::{PaytoURI, payto}, @@ -337,12 +336,10 @@ mod test { use crate::{ CONFIG_SOURCE, api::NexusApi, - config::{AccountType, NexusIngestConfig}, db::{ payment::register_out_tx, - test::{CURRENCY, check_in, gen_in_pay, gen_out_pay}, + test::{check_in, gen_out_pay}, }, - worker::register_incoming, }; static ACCOUNT: LazyLock<PaytoURI> = @@ -360,7 +357,7 @@ mod test { ); let server = Router::new() .wire_gateway(api.clone(), AuthMethod::None) - .wire_transfer_gateway(api.clone()) + .prepared_transfer(api.clone()) .revenue(api, AuthMethod::None) .finalize(); @@ -375,9 +372,9 @@ mod test { .await .assert_ok_json::<WireConfig>(); server - .get("/taler-wire-transfer-gateway/config") + .get("/taler-prepared-transfer/config") .await - .assert_ok_json::<WireTransferConfig>(); + .assert_ok_json::<PreparedTransferConfig>(); server .get("/taler-revenue/config") .await @@ -434,24 +431,6 @@ mod test { #[tokio::test] async fn registration() { let (server, pool) = setup().await; - registration_routine( - &server, - &ACCOUNT, - || check_in(&pool), - |account_pub| { - let account_pub = account_pub.clone(); - let pool = &pool; - async move { - register_incoming( - pool, - &NexusIngestConfig::simple(AccountType::Exchange, &CURRENCY), - &gen_in_pay(fmt_in_subject(IncomingType::map, &account_pub)), - ) - .await - .unwrap() - } - }, - ) - .await; + registration_routine(&server, &ACCOUNT, || check_in(&pool)).await; } }