Skip to content

Release: develop -> main#3945

Merged
TaprootFreak merged 1 commit into
mainfrom
develop
Jun 20, 2026
Merged

Release: develop -> main#3945
TaprootFreak merged 1 commit into
mainfrom
develop

Conversation

@github-actions

Copy link
Copy Markdown

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

…l-closed Guard (#3944)

* fix(sell-crypto): buyFiat-Liability am Settlement statt Transmit verankern

Die FinancialDataLog-Liability eines Krypto-Verkaufs wurde bei
Yapeal-Auszahlungen bereits bei isTransmittedDate (Zahlungsdatei
uebermittelt) auf null gesetzt. Die Gegenbuchung auf der Aktivseite
(Bank-Cash via availableBalance) erfolgt jedoch erst beim Settlement
(outputDate/bankTx), das ueber Wochenenden Tage spaeter liegt. In
diesem Fenster wurde das Eigenkapital um den in Transit befindlichen
Auszahlungsbetrag ueberbewertet. Olky verhaelt sich bereits korrekt.

- pendingOutputAmount: vorzeitiges Nullen bei isTransmittedDate sowie
  den hartkodierten Bank-Default entfernt; die Liability bleibt
  gezaehlt, bis der buy_fiat die Pending-Menge verlaesst (isComplete,
  das ausschliesslich bei Settlement gesetzt wird)
- pendingInputAmount: bei bereits bepreistem Verkauf ohne zugeordnete
  Auszahlungsbank bleibt die Liability krypto-seitig gezaehlt, statt sie
  zu droppen oder eine Bank zu raten
- zusaetzlicher Guard verhindert einen undefined-Bankmatch

Beide Seiten der Bilanz haengen damit am selben Settlement-Signal.

* feat(log): fail-closed Guard gegen Liability-Suppression und Settlement-SLA

Zwei unabhaengige Tripwires im FinancialDataLog-Aufbau, damit ein
erneutes vorzeitiges Droppen der Auszahlungs-Liability nicht still
durchrutschen kann:

- Suppression-Tripwire (logger.error): rechnet die fuer transmitted,
  aber noch nicht gesettelte Auszahlungen erwartete Liability
  unabhaengig von pendingOutputAmount neu und alarmiert, falls sie in
  buyFiatPass fehlt. Darf im Normalbetrieb nie feuern und signalisiert
  eine Code-Regression, die das Eigenkapital ueberbewerten wuerde.
- Settlement-SLA-Tripwire (logger.warn): meldet Auszahlungen, die laenger
  als die SLA in Transit haengen, zur manuellen Abstimmung. Das
  Eigenkapital bleibt dabei korrekt, da die Liability weiter gezaehlt
  wird; daher Warnung statt Error.

Laeuft nur fuer Bank-Assets und pro Waehrung/Bank getrennt.
@TaprootFreak TaprootFreak merged commit 2f5e450 into main Jun 20, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant