diff --git a/REFACTORING-AUDIT.md b/REFACTORING-AUDIT.md index 8a37d8b..11940c1 100644 --- a/REFACTORING-AUDIT.md +++ b/REFACTORING-AUDIT.md @@ -386,3 +386,9 @@ Migration order implied by the map: isolate shared infrastructure constructors ( - Added `application/walletread`, with transport-independent catalog, commission, network, and balance reader ports and use-case methods. - gRPC methods for asset list/get, asset commissions, asset price, network list, health, balance, and check-balance now delegate through the application boundary; protobuf conversion and existing error mapping remain in `core/walletImp`. - Transaction-list querying and blockchain balance reads now delegate through the application reader as well. Wallet listing consumes the application catalog; its database synchronization remains an explicit mutation in the service and is deferred to later wallet work. Full Wallet tests pass in `5b17c82`; W004 is complete. + +### `W005` — wallet initialization boundary checkpoint + +- Added `application/walletinit` for the identity precondition and exact Stellar trustline-limit policy. +- `UserInitWallet` delegates those rules while retaining the existing database transaction, wallet creation, key recovery, trustline submission, transaction recording, and rollback behavior. +- Full Wallet tests pass in `59639f4`; orchestration extraction remains in progress. diff --git a/REFACTORING-TODO.md b/REFACTORING-TODO.md index 754de48..508bdfb 100644 --- a/REFACTORING-TODO.md +++ b/REFACTORING-TODO.md @@ -121,7 +121,7 @@ This is the authoritative execution tracker for the refactor. Work is performed | W002 | `DONE` | Introduce wallet domain entities, value objects, errors, and repository ports. | Added transport/persistence-independent wallet entities, filters, value objects, domain errors, repositories, cache/UoW, blockchain, identity, notification, PSP, and event ports; focused/full tests and focused vet pass. | | W003 | `DONE` | Move PostgreSQL, Redis, RabbitMQ, external client, and Stellar adapters into infrastructure. | PostgreSQL/Redis, RabbitMQ Watermill, external service, and Stellar/Horizon implementations are infrastructure-owned; legacy implementation imports are removed; full tests, race tests, vet, and build pass. | | W004 | `DONE` | Extract read-only wallet use cases and gRPC adapters. | Asset, commission, network, price, health, balance, check-balance, transaction-list, asset-catalog, and blockchain-balance reads delegate through `application/walletread`; protobuf conversion and error mapping remain compatible. Wallet-balance synchronization is an explicit mutation deferred to later wallet work. | -| W005 | `TODO` | Extract wallet initialization and asset/trustline use cases. | Transactions, key generation, trustlines, and rollback behavior are tested. | +| W005 | `STARTED` | Extract wallet initialization and asset/trustline use cases. | Initialization preconditions and trustline-limit policy now use `application/walletinit`; transaction, key-generation, trustline, and rollback orchestration remains in progress. | | W006 | `TODO` | Extract deposit, withdrawal, and transaction use cases. | Idempotency, balances, queues, and failure behavior are tested. | | W007 | `TODO` | Extract market use cases and adapters. | Pricing and market operations remain compatible. | | W008 | `TODO` | Extract alert use cases and adapters. | Alert persistence, delivery, and error behavior remain compatible. | @@ -319,3 +319,4 @@ Append one row whenever a task changes status. Existing rows are never rewritten | 2026-08-30 | W003 | `TODO` | `STARTED` | Relocated all wallet PostgreSQL and Redis adapter implementations (including tests) from `repository/db` into `infrastructure/postgres` and `infrastructure/redis`; updated bootstrap imports and full Wallet tests pass in `d2580cd`. RabbitMQ, external service, and Stellar adapters remain. | | 2026-08-30 | W003 | `STARTED` | `DONE` | Relocated external service clients to `infrastructure/service` and Stellar/Horizon adapters to `infrastructure/stellar`; updated wallet, market, stream, and bootstrap imports; no legacy implementation imports remain; full tests, race tests, vet, and build pass in `d121fc9`. | | 2026-08-30 | W004 | `STARTED` | `DONE` | Added the `application/walletread` boundary and routed asset, commission, network, price, health, balance, check-balance, transaction-list, asset-catalog, and blockchain-balance reads through it; protobuf conversion and error mapping remain compatible; full Wallet tests pass in `5b17c82`. Wallet-balance synchronization is a mutation deferred to later wallet work. | +| 2026-08-30 | W005 | `TODO` | `STARTED` | Added `application/walletinit` for identity preconditions and trustline-limit calculation; `UserInitWallet` now delegates those rules while preserving its existing transaction, key-generation, trustline, and rollback flow; full Wallet tests pass in `59639f4`. |