Scheduled For Release 2023-11-15
LibEuFin code review, cleaning up minor bugs and code issues.
Everything needed for Netzbon to possibly do a small-scale test launch.
0007781: [libeufin-bank] sandbox demobank should have endpoint for transaction volume / statistics info (MS)
0007735: [libeufin-bank] Avoid calculating balances based on the transactions history.
0006381: [libeufin-nexus] implement and test transaction identification matching for INFO->PENDING->BOOKED transition
0007507: [libeufin-nexus] EBICS management spans two API routes.
0007591: [documentation] Review Nexus native API specification.
0006404: [libeufin-nexus] ISO20022 camt mapping is not documented, incomplete and incorrect in some places
0007696: [libeufin-nexus] EBICS_NO_DOWNLOAD_DATA_AVAILABLE check is possibly wrong.
0007766: [libeufin-nexus] Production deployments need "since-last" when downloading bank transactions.
0007785: [libeufin-nexus] Error handling mixes up bank- and EBICS-technical errors.
0006383: [libeufin-nexus] support notifications / "long polling" for certain operations
0006972: [libeufin-nexus] review /facades and /facades/${id} implementation
0007168: [libeufin (general)] remove non-Access-API command from libeufin-cli
0005962: [libeufin-nexus] find out details about EBICS case sensitivity
0006382: [libeufin-nexus] support transaction fetching since last successful bank-side creation date/time
0007786: [libeufin-nexus] Taler facade throws EBICS errors.
0007795: [libeufin-bank] STDOUT not showing. (MS)
0007515: [libeufin (general)] Configuration should not impact the database. (MS)
0007504: [wallet-core] support for native logging in wallet-core (MarcS)
0007732: [libeufin-bank] circuit API uses floating point numbers (Antoine A)
0006120: [libeufin (general)] Incapsulate marshall/unmarshall exceptions inside UtilError (MS)
0006085: [libeufin-nexus] abstract out ebics version (MS)
0006080: [libeufin-nexus] understand format of pain.002 (MS)
0007662: [libeufin-bank] error does not provide the field where the validation is made (Antoine A)
0006602: [libeufin-nexus] Check that API docs match the code. (Antoine A)
0006073: [libeufin-nexus] serialize some transaction state to the database (MS)
0007831: [documentation] Create section about setting up a regional currency. (MS)
0007694: [libeufin-bank] set currency conversion rates and fees in the configuration (Antoine A)
0007669: [documentation] Document data types used in libeufin REST calls. (Antoine A)
0007812: [libeufin-bank] demobank account registration sometimes fails because IBAN already exists (MS)
0007799: [wallet-core] implement DD48-style exchange entry management in wallet-core (Florian Dold)
0007551: [wallet-core] need test(s) to ensure that wallet DB schema is backwards-compatible or properly migrated (Florian Dold)
0007739: [libeufin-nexus] Creating background tasks should be idempotent. (MS)
0007473: [wallet (Android App)] The app should navigate to the article after payment: (I need manually go back) (Christian Grothoff)
0007940: [merchant backoffice SPA] template when fixed summary is set to empty string it should remove the fixed property (sebasjm)
0007935: [wallet-core] make sure refresh transactions refresh remaining amount if requested amount is not available anymore (Florian Dold)
0007839: [libeufin (general)] CLI installation should check dependencies (MS)
0007827: [libeufin-bank] Refund invalid attempts of withdrawing the regional currency. (MS)
0007902: [documentation] Document the NetzBon installer. (javier.sepulveda)
0007899: [libeufin-nexus] libeufin longpolling does not work (never returns early) (Antoine A)
0007414: [libeufin-bank] [security] Demonstration SPA stores password in plaintext in localstorage (Antoine A)
0007587: [libeufin (general)] General pass to potentially switch "200 OK" to "204 No Content". (Antoine A)
0007693: [libeufin-nexus] Serve transactions via long polling. (Antoine A)
0007797: [libeufin-bank] Integration API has the wrong error format. (Antoine A)
0007458: [demobank] allow configuration of another BIC number other than SANDBOXX (Antoine A)
0007915: [wallet-core] pass currency_fraction_digits to wallet UIs (Florian Dold)
0007818: [wallet-core] fractionalBaseDigits of currencies (Florian Dold)
0007922: [wallet-core] processPeerPullDebitAbortingRefresh: logic invariant failed (Florian Dold)
0007903: [wallet-core] expose details about the amount lost (or final effective cost) after aborting transactions (Florian Dold)
0007893: [wallet-core] Expiring PeerPushCredit stays Pending for receiving device (Florian Dold)
0007892: [wallet-core] Expired P2P Transactions do not show how much the exchange paid back (Florian Dold)
0007844: [libeufin-bank] libeufin-sandbox tool should allow creating accounts (MS)
0007845: [libeufin-bank] "libeufin-sandbox config" command should allow changing individual settings ... (MS)
0007810: [exchange] support conversion service URL and regex validation for /wire (Florian Dold)
0007466: [demobank-ui] should be mobile friendly (sebasjm)
0007752: [demobank-ui] show volume and transaction (sebasjm)
0007860: [libeufin-bank] demobank should support aborting withdrawal operations from the wallet (MS)
0007857: [wallet-core] wallet-core should immediately re-try processing a transaction once a dependent transaction changes status (Florian Dold)
0007855: [wallet-core] Timestamp of withdrawal transaction should be updated to the time the withdrawal really happens (Florian Dold)
0007836: [wallet-core] test-refund-gone doesn't work as expected (Florian Dold)
0007736: [wallet-core] wallet-core should enforce accepted ToS for various operations (Florian Dold)
0007833: [libeufin (general)] Implement programmatical DB migration. (MS)
0006387: [libeufin-nexus] more integration tests for key management needed (MS)
0007789: [libeufin-bank] Can delete account when balance is 0 (MS)
0006757: [wallet (WebExtension)] return scoped amounts in balances (Florian Dold)
0006585: [wallet-core] wallet should support re-denomination of withdrawal and refresh operations (Florian Dold)
0006503: [wallet-core] create integration test for payment that fails with insufficient balance due to funds being locked behind a pending refresh (Florian Dold)
0007664: [documentation] merge api core documentation (Florian Dold)
0007778: [wallet-core] do more things in the wallet-core internal integration test (Florian Dold)
0007864: [Web site(s)] The Link in "Step 4: Check money flow" doesn't work (javier.sepulveda)
3 of 69 issue(s) resolved. Progress (4%). View Issues
Scheduled For Release 2023-12-15
Polishing. Issues that were not critical for Netzbon launch, but clearly good to have early on for real users.
0007520: [libeufin-bank] Implement policy to abort non confirmed cashout operations.
0007734: [libeufin-bank] Track used IBANs.
0007715: [sandcastle (containerized demo deployment)] provide info page / documentation where which APIs are running
0007721: [sandcastle (containerized demo deployment)] Do not use pip3 with --break-system-packages
0007726: [sandcastle (containerized demo deployment)] sandcastle should run services on unix domain sockets instead of ports
0007506: [libeufin (general)] Add helpers to generate test data.
0006368: [libeufin-nexus] test message chunking
0006698: [libeufin (general)] general code cleanup required
0006248: [libeufin-nexus] test error handling during subscriber initialization
0006563: [documentation] document recommended rules for wallet's auto-refresh
0007684: [merchant backend API (HTTP specification)] report exchange AML issues in merchant REST API (Christian Grothoff)
0006122: [libeufin-nexus] EBICS error responses should be correctly parsed. (MS)
0007339: [wallet (WebExtension)] withdrawal triggered on insufficient balance does not work in demo (Florian Dold)
0006402: [libeufin-nexus] handle disrupted EBICS transactions (MS)
0006907: [wallet-core] operations should support cancellation tokens (Florian Dold)
0006979: [wallet-core] wallet should handle timeouts better (Florian Dold)
0007118: [other] merchant demos doesn't install all dependencies (dvn)
0007336: [wallet (WebExtension)] ToS language "wrong" (sebasjm)
0007733: [wallet-core] runIntegrationTest should also do p2p payments, tips, etc. (javier.sepulveda)
0005059: [wallet-core] handle cases where an exchange's key changes, but the base URL stays the same (Florian Dold)
0007518: [wallet (WebExtension)] search transaction (sebasjm)
0007835: [challenger] exchange does not support challenger service yet (Christian Grothoff)
0007848: [wallet-core] wallet-core should return maximum expiration time for purse based on available points (Florian Dold)
0006588: [wallet-core] wallet-core should support range queries for the transactions list (sebasjm)
0007548: [deployment and operations] buildbot workers should have one and only one entry point script (dvn)
0007931: [wallet (iOS App)] offline indicator (MarcS)
0006380: [libeufin-nexus] more extensive integration test cases for TWG are required (Antoine A)
0007916: [wallet-core] support STEFAN parameters (Florian Dold)
0007884: [exchange] exchange should have tooling to check consistency between DB and crypto helpers (Christian Grothoff)
0007464: [wallet (iOS App)] document minimal hardware and software required (MarcS)
0007771: [libeufin (general)] Manage missing testing dependencies. (MS)
0006556: [wallet-core] have integration tests that mutate signatures to check that implementation checks all relevant signatures (Florian Dold)
0006258: [libeufin-nexus] parse HAC for better reliability (MS)
0006973: [libeufin (general)] CLI integration test should test nexus permissions (MS)
0007267: [exchange] TEH_make_coin_known needs proper conflict handling and evidence gathering (oec)
0006565: [wallet-core] wallet should try recoup when payment fails with certain error codes (Florian Dold)
0 of 36 issue(s) resolved. Progress (0%). View Issues
Scheduled For Release 2024-01-15
Polishing. Everything for first CH-production that can't wait until the last minute.
0007462: [libeufin (general)] Unix domain sockets fails.
0006704: [libeufin-nexus] TWG facade gives unhelpful error message when payto URI is incorrect
0006400: [libeufin-nexus] consider doing faster re-tries for some scheduled operations
0006723: [libeufin-nexus] unify responses format styles
0007592: [documentation] libeufin-sandbox implementation of Taler Bank Access API may omit HTTP status codes.
0007681: [sandcastle (containerized demo deployment)] demo doesn't have any KYC checks
0006397: [documentation] write a good README(.md) file for LibEuFin
0007665: [documentation] Document database schema of Sandbox and Nexus
0006364: [libeufin (general)] Comments style.
0006399: [libeufin-nexus] review and document date/time/timezone handling
0007344: [demobank-ui] withdraw target unclear
0007345: [demobank-ui] User confused by captcha
0007509: [documentation] libeufin-sandbox API doc lacks response status codes.
0007872: [wallet-core] WALLET_PEER_PUSH_PAYMENT_INSUFFICIENT_BALANCE does not always return feeGapEstimate (Florian Dold)
0007304: [exchange] should we normalize payto://-URIs in the exchange before hashing?
0006253: [libeufin-nexus] adjust and document JSON formats for account information
0003476: [wallet-core] evil exchange testsuite
0007434: [wallet (WebExtension)] icons in transaction history unclear (sebasjm)
0007547: [wallet-core] implement some basic dev-experiments (Florian Dold)
0007573: [deployment and operations] split up sandcastle containers (javier.sepulveda)
0007605: [deployment and operations] put sync service into a separate container (javier.sepulveda)
0007807: [documentation] document conventions/guidelines for source-level dependencies (i.e. prebuilt branches and submodules) (Florian Dold)
0007859: [wallet-core] have (more) integration tests for DD37 transitions and notifications (Florian Dold)
0007115: [other] survey site lacks "goodbye" page. (sebasjm)
0006987: [other] wirewatch should use long polling (javier.sepulveda)
0005953: [libeufin (general)] generate code documentation with Dokka (dvn)
0007925: [merchant backoffice SPA] add support for x-talerbank (sebasjm)
0006696: [documentation] discuss better structure for LibEuFin docs (Antoine A)
0007147: [documentation] libeufin-{sandbox,nexus,cli} needs a manpage (Antoine A)
0007243: [bank API (C)] long polling for checking reserved key status (Antoine A)
0007273: [exchange] taler-bank-benchmark should be able to launch libeufin (Antoine A)
0006992: [libeufin-nexus] need new "generic-credit" facade (Antoine A)
0007309: [demobank-ui] improve language switcher integration (sebasjm)
0007930: [wallet-core] wallet user should have a clear workaround if the exchange keys are no longer offered by the exchange (Florian Dold)
0007926: [demobank-ui] all webapps should save erros in a map and remove them there problems fix itselfs (sebasjm)
0007924: [merchant backoffice SPA] all spa should query /config (and other stuffs) (sebasjm)
0007699: [wallet-core] wallet should support different types of instructed amounts (before and after fees) (Florian Dold)
0007697: [wallet-core] wallet is not GCing denominations (Florian Dold)
0006804: [wallet-core] implement wallet test case for a multi-exchange payment (Florian Dold)
0007270: [exchange API (HTTP specification)] extension support is not implemented everywhere consistently (oec)
0007593: [qtart] implement TALER_WALLET_destroy (Florian Dold)
0 of 41 issue(s) resolved. Progress (0%). View Issues
Scheduled For Release 2024-02-15
Production MVP
0006713: [libeufin-nexus] implement exporting a TWG facade for easier upgrades of LibEuFin
0006664: [documentation] clarify normalization algorithm of contract terms and backup blob (Florian Dold)
0007498: [exchange API (HTTP specification)] fee structure considerations (was: Incoherent calculation of fees during withdraw) (oec)
0007868: [wallet-core] recoup transaction not spec'ed in DD37 (Florian Dold)
0007426: [Web site(s)] "public-accounts" link points at bank's homepage
0007561: [qtart] make taler-wallet-cli runnable under qtart (Florian Dold)
0007854: [qtart] strip absolute pathname from stacktraces (sebasjm)
0007847: [wallet-core] DoS when all wallet try to refresh coins at the same time (Florian Dold)
0007814: [wallet-core] DD37: handle funky deposit txn case where aborting(refresh) might still need to do a refund (Florian Dold)
0007834: [wallet-core] wallet relies on longpolling to work (Florian Dold)
0006721: [libeufin-nexus] consider a way to synchronize the row_id with the TWG (Florian Dold)
0006977: [wallet-core] make wallet-core more resistant against node supply chain attacks (Florian Dold)
0006562: [wallet-core] should wallet-core handle major system clock changes gracefully? (Florian Dold)
0007558: [qtart] bundle TLS CA certs and re-enable TLS peer+host verification (Florian Dold)
0 of 14 issue(s) resolved. Progress (0%). View Issues
Scheduled For Release 2024-07-15
Features that are not in scope for 1.0 but we still want to keep track of.
0006741: [libeufin-nexus] bank account operation affects the whole connection
0006715: [libeufin-bank] sandbox should not "activate" EBICS subscriber keys by default (MS)
0006269: [libeufin-bank] sandbox should emit c52/c53 more like real banks do (Antoine A)
       0006893: [libeufin-bank] Camt reports should respect time "chunking". (MS)
0007569: [libeufin-bank] EBICS error codes should be fetched from the enum defined in Util.
0006243: [libeufin-bank] sandbox filtering on EBICS date range is missing in C53 requests
0005955: [libeufin-bank] use EBICS return codes from EBICS spec, make sure correct codes are returned
0006962: [libeufin-bank] CAMT reports need more structure to specify negative balances.
0006260: [libeufin-nexus] nexus should store balance
0006268: [libeufin-bank] sandbox should support balances in c52/c53 (MS)
0007556: [libeufin (general)] Fix "make parse".
0006547: [libeufin-nexus] Offer raw EBICS upload for any message.
0007858: [other] consider protocol extensions to shift around fees from customer to merchant
0006396: [libeufin-nexus] Implement FinTS
0007116: [libeufin-nexus] payment bouncing fee should be configurable
0005954: [libeufin (general)] look for or implement better alternative to JAXB
0006259: [libeufin-nexus] error log in database
0006250: [libeufin-nexus] implement advanced permission storage and checking
0006046: [libeufin-bank] Must distinguish between booked and non booked transactions
0005686: [wallet (WebExtension)] Wallet feature request: silent payments.
0007600: [libeufin (general)] Consider reducing 'util' file number. (MS)
0007937: [wallet-core] wallet should be able to convert lower denom coins into high denom coins
0005973: [libeufin-bank] report more information about a user's state (MS)
0006376: [libeufin-nexus] test against all samples given by the German standard supplement (Antoine A)
0007677: [wallet-core] consider having a recovery mode for the wallet
0005972: [libeufin-nexus] Avoid sending signed data before key exchange (MS)
0007433: [wallet-core] wallet does not support invoicing with non-zero purse fees
0006914: [wallet-core] "annual fee for sync service" gets paid by another wallet, original wallet does not update provider status
0007658: [qtart] support threaded crypto workers
0006800: [wallet-core] wallet should support link protocol (for double spend error recovery after restore from backup)
0007316: [wallet-core] Get the 'taler' URI scheme into the HTML spec safe-list
0007869: [wallet-core] If the very first transaction of a new wallet is P2P, then the ToS of the exchange needs to be accepted first
0005947: [libeufin-bank] spec and implement proper generation of EBICS Host "OrderID"
0007719: [wallet (WebExtension)] withdraw call to action should check if mobile withdrawal has been initiated
0006558: [wallet-core] transaction item for "lost coins due to expiration" needed
0007298: [wallet-core] wallet should allow optionally specifying (and remembering) sender information for p2p payments
0007920: [wallet-core] Support for multiple accounts (private KYC, business KYB)
0007866: [wallet-core] transactions should keep some history data
0007850: [wallet-core] aborting: "revive" or "resurrect" back to pending
0007582: [wallet-core] implement user-initiated p2p kyc / KYCed reserve management
0007581: [wallet-core] implement soft KYC for balance limits
0006077: [wallet-core] sync support needed in wallet core
0007598: [wallet-core] review and revise backup APIs
0006614: [wallet-core] consider using JSON-RPC instead of custom, slightly different format
0006505: [wallet-core] define UX and API for "global errors/notifications"
0006582: [wallet-core] checking for refunds of a purchase should be possible from within the wallet
0007297: [wallet-core] add extension enabled into exchange info/database
0006039: [wallet-core] consider using underscores for the "public API" exposed by wallet-core
0007881: [wallet (WebExtension)] make Wallet Web Extension compatible with Tor private browsing (sebasjm)
0007862: [exchange API (HTTP specification)] exchange should return some hint about the kyc requirements
0007841: [merchant backend API (HTTP specification)] merchant should require wallet to accept or reject refund
0005830: [merchant backend API (C)] implement request tunneling for wallets
0006954: [merchant backoffice SPA] create sample deployment to test external authentication
0003946: [wallet-core] storing merchant's key (and more?) in wallet's DB
0004629: [other] certificates for merchant public keys aren't supported
0007174: [other] document conventions for HTTP Content-Type, consider allowing (or requiring?) document type versioning
0007917: [exchange] change applicablility of refresh fees
0007448: [wallet-core] wallet operation that receive amount in the request should specify if the amount include fee (sebasjm)
0007838: [challenger] Add support for rfc7636 to challenger
0007815: [exchange] exchange should have API to give refunds for purses in peer-pull payments
0004379: [wallet-core] error handling: exportable proof of e.g. double spending for auditor
0007365: [exchange API (HTTP specification)] KYC fee is never charged / not speced or implemented
0007271: [exchange API (HTTP specification)] exchange-to-exchange wad transfers are not implemented
0007737: [merchant backend API (HTTP specification)] merchant with a wallet should be able to fill a reserve for tipping
0005129: [other] suggest to the appropriate standard(s) to add certificate information to XMLHttpRequest
0005912: [django-payments] update django-payments/saleor plugin
0007671: [exchange API (C)] replace positional parameter for named parameters in taler-exchange-offline
0007780: [taler-harness] taler-harness lint should check exchange ToS markdown syntax (Florian Dold)
0007886: [wallet-core] consider adding log categories instead of file-based log tags (Florian Dold)
0007467: [sandcastle (containerized demo deployment)] have more than one exchange in demo (javier.sepulveda)
0007698: [qtart] qtart should support opening a unix domain socket for the daemonized wallet (Florian Dold)
0007452: [wallet-core] extend GetExchangeTos wallet operation to be reuse for backup or auditor (sebasjm)
0007321: [wallet-core] "pnpm install" complains about unmet peer dependencies (sebasjm)
0007572: [deployment and operations] migrate sandcastle containers to use systemd (Florian Dold)
0006439: [wallet-core] wallet should support Anastasis (avalos)
0007707: [wallet-core] wallet should not allow certain operations if offline
0007821: [libeufin (general)] implementation of basic-auth on server is wrong (Antoine A)
0007588: [libeufin-nexus] /admin/add/incoming has hard-coded credentials (Antoine A)
0006564: [wallet-core] wallet-core API and UX design for auditor management needed
0007484: [wallet (WebExtension)] Usability problem with Bitcoin amounts (MarcS)
0007879: [libeufin-nexus] Implement EBICS 3.0 keying. (MS)
0007880: [libeufin-nexus] Introduce command to (ONLY) download the bank's keys. (MS)
0005936: [libeufin-bank] version / revision / other globals / should be available from context (MS)
0006843: [merchant backoffice SPA] every input type can be forgetable, handle UI to add checkbox (sebasjm)
0007485: [wallet (WebExtension)] check navigator.share and share_target for adoption (sebasjm)
0007278: [exchange] Common handling of age restriction verification for withdraw and tipping needed (oec)
0006941: [merchant backend API (HTTP specification)] design protocol / business procedure for validating the owner of an order via the nonce (oec)
0006951: [documentation] document state machine for payment process (oec)
0 of 88 issue(s) resolved. Progress (0%). View Issues
Scheduled For Release 2106-02-07
0007896: [deployment and operations] taler-config overrides the template configuration under /etc/taler/taler.conf (sebasjm)
0 of 1 issue(s) resolved. Progress (0%). View Issues