import { getDefaultConverter } from '@brazil-swift-ops/utils'; import { getConfig } from './config'; export function evaluateThreshold(transaction) { const config = getConfig(); const converter = getDefaultConverter(); const usdEquivalent = converter.getUSDEquivalent(transaction.amount, transaction.currency); const threshold = config.threshold.usdReportingThreshold; const requiresReporting = usdEquivalent >= threshold; return { passed: true, transactionAmount: transaction.amount, currency: transaction.currency, usdEquivalent, threshold, requiresReporting, rationale: requiresReporting ? `Transaction amount (${transaction.amount} ${transaction.currency} = ${usdEquivalent.toFixed(2)} USD) exceeds reporting threshold of ${threshold} USD. Reporting to Banco Central required.` : `Transaction amount (${transaction.amount} ${transaction.currency} = ${usdEquivalent.toFixed(2)} USD) is below reporting threshold of ${threshold} USD.`, }; } export function createThresholdRuleResult(check) { const severity = check.requiresReporting ? 'Warning' : 'Info'; const decision = check.requiresReporting ? 'Hold' : 'Allow'; return { ruleId: 'threshold-check', ruleName: 'USD Equivalent Threshold Check', passed: true, severity, decision, rationale: check.rationale, details: { transactionAmount: check.transactionAmount, currency: check.currency, usdEquivalent: check.usdEquivalent, threshold: check.threshold, requiresReporting: check.requiresReporting, }, }; } //# sourceMappingURL=threshold.js.map