Repository navigation
feat: Implement issues 922, 923, 924, 1004 - #1304
Merged
github-actions[bot] merged 4 commits intoOct 18, 2026
Merged
Conversation
…ing (Smartdevs17#922) Adds a deterministic AML rule engine that scores every transaction 0-100, classifies it into low/medium/high/critical, and records which rules fired. High and critical assessments generate triageable alerts. - backend/src/services/aml/transaction-monitor.ts: 15-rule catalogue (structuring, CTR, velocity, fan-out, sanctions/PEP exposure, jurisdiction, baseline spikes...), scoring, alert store, batch monitor - backend/src/routes/aml-monitoring.ts mounted at /api/v1/aml (rules, score, monitor, alerts list/get/triage) - unit tests for success and failure paths - docs/AML_TRANSACTION_MONITORING.md
…vs17#923) Adds a fuzzy sanctions screening engine covering OFAC SDN/consolidated plus EU, UN and UK OFSI lists. - backend/src/services/sanctions/ofac-screening.ts: name normalisation, edit-distance and token-set similarity, identifier corroboration (national id, DOB, country, entity type), match/potential_match/clear classification, watchlist CRUD, screening history, bulk list loading - backend/src/routes/sanctions.ts mounted at /api/v1/sanctions (lists, entities CRUD, screen, screen/transaction, history, reload) - unit tests covering exact/fuzzy/clear/national-id/threshold/list-filter/history paths - docs/SANCTIONS_SCREENING.md
Adds a PCI DSS v4.0 compliance dashboard backed by a control catalogue with evidenced statuses. - backend/src/services/pci-dss.ts: 12-requirement catalogue, control status model, per-requirement derivation, weighted overall score, evidence coverage, prioritised gaps, CSV evidence export - backend/src/routes/pci-dss.ts mounted at /api/v1/pci-dss (dashboard, requirements, gaps, control read/update, reset, CSV export) - frontend/app/dashboard/compliance/pci-dss/page.tsx: dashboard UI with score, requirement table and remediation gaps - unit tests for dashboard aggregation, control updates, reset and CSV export - docs/PCI_DSS_DASHBOARD.md
…t payment as one feeless block (Smartdevs17#1004) Adds a feeless Nano settle rail beside the Stellar/Soroban escrow path. Hold and release are modelled as two feeless sends, with the release block doubling as the public, independently verifiable receipt. - backend/src/services/settlement/nano-settle-rail.ts: NanoSettleRail (fund, hold, release, refund, receipt verification), XNO raw conversion, address validation, idempotent holds with reuse-mismatch protection, rail metrics, settlement-rail resolution - backend/src/routes/nano.ts mounted at /api/v1/nano (status, escrows, release, refund, receipt, block lookup, faucet) - unit tests for addresses/amounts, holds, insufficient balance, idempotency, release/refund state machine, receipts and metrics - docs/NANO_SETTLE_RAIL.md
|
@0xSlink is attempting to deploy a commit to the smartdevs17's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@0xSlink Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Implements four issues in one feature branch, with one focused commit per issue.
Closes #922, Closes #923, Closes #924, Closes #1004
Changes
#922 — Implement AML transaction monitoring with risk scoring
backend/src/services/aml/transaction-monitor.ts: deterministic, explainable 15-rule engine producing a 0–100 score, low/medium/high/critical level, recommended action and SAR flag; in-memory alert store with triage; batch monitor + summary; rule catalogue.backend/src/routes/aml-monitoring.tsmounted at/api/v1/aml.docs/AML_TRANSACTION_MONITORING.md.#923 — Add sanctions screening against OFAC lists
backend/src/services/sanctions/ofac-screening.ts: name normalisation, edit-distance + token-set fuzzy matching, identifier corroboration (national id/DOB/country/entity type), match/potential_match/clear, watchlist CRUD, bulk load, screening history. OFAC SDN/consolidated plus EU/UN/UK OFSI.backend/src/routes/sanctions.tsmounted at/api/v1/sanctions.docs/SANCTIONS_SCREENING.md.#924 — Build PCI DSS compliance dashboard
backend/src/services/pci-dss.ts: 12 PCI DSS v4.0 requirements, control status model, derived requirement status, weighted overall score, evidence coverage, prioritised gaps, CSV export.backend/src/routes/pci-dss.tsmounted at/api/v1/pci-dss; dashboard UI atfrontend/app/dashboard/compliance/pci-dss/page.tsx.docs/PCI_DSS_DASHBOARD.md.#1004 — A Nano (XNO) settle rail
backend/src/services/settlement/nano-settle-rail.ts: escrow hold and release as two feeless sends; the release block is the public, independently verifiable receipt. XNO/raw conversion, address validation, idempotent holds, release/refund state machine, receipt verification, zero-fee metrics.backend/src/routes/nano.tsmounted at/api/v1/nano.docs/NANO_SETTLE_RAIL.md.Notes
loadSanctionsEntries()/POST /sanctions/reload.