You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: on-chain vs persisted vault reconciliation job
Add reconciliation job to detect drift between persisted vault state and on-chain state from Soroban contract.
- Add get_vault function to soroban.ts for reading on-chain vault state
- Add reconcileVaults() to transactionETL.ts for batched vault comparison
- Add vault.reconcile job type and handler
- Integrate drift anomaly reporting via abuse-monitor taxonomy
- Document reconciliation process in docs/etl.md
- Add comprehensive test coverage for reconciliation functionality
The reconciliation job is read-only, batched, idempotent, and resumable.
It reports drift without auto-correcting to allow manual intervention.
Copy file name to clipboardExpand all lines: docs/etl.md
+108Lines changed: 108 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,3 +119,111 @@ npx jest --testPathPattern="etlWorker|transactionETL" --run
119
119
# With coverage
120
120
npx jest --testPathPattern="etlWorker|transactionETL" --coverage --run
121
121
```
122
+
123
+
---
124
+
125
+
## Vault State Reconciliation
126
+
127
+
### Overview
128
+
129
+
The vault reconciliation job compares persisted vault state in the database with on-chain state from the Soroban contract to detect drift caused by missed Horizon events or failed ETL batches. This is a **read-only** operation that reports anomalies without auto-correcting them.
0 commit comments