Task: CDM Phase 2: FX instrument domain model
This page documents a task in the CDM instrument domain models story. It captures the goal, current status, acceptance, and any notes or results.
Goal
Phase 2: FX instruments (FxForward, FxSwap, FxOption).
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | CDM instrument domain models |
| Now | Completed 2026-03-27. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2026-03-27 |
Acceptance
- SQL: ores_trading_fx_instruments_tbl + notify trigger (bought/sold currencies + amounts, value_date, settlement, option fields for FxOption); trading_create.sql + drop_trading.sql.
- Domain: fx_instrument struct with JSON + table I/O + generator + protocol.
- Repository: entity + mapper + repository; fx_instrument_service.
- Server: messaging handler + registrar.
- Qt UI: ClientFxInstrumentModel + FxInstrumentMdiWindow + FxInstrumentDetailDialog + FxInstrumentHistoryDialog + FxInstrumentController + MainWindow integration.
- Database recreate required to pick up the new table.
Plan
Captured during execution; cleared into the parent story on close.
Notes
Phase 2 of the four-phase CDM-inspired rollout; database recreate is the deferred follow-up.
Result
FX instruments complete.