"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockTravelRuleTransmitter = exports.MockSanctionsScreeningProvider = exports.MockAmlScreeningProvider = void 0;
class MockAmlScreeningProvider {
    async screen(request) {
        const amount = Number(request.amount);
        if (request.entityId.startsWith('blocked-'))
            return 'block';
        if (amount >= 1_000_000)
            return 'review';
        return 'clear';
    }
}
exports.MockAmlScreeningProvider = MockAmlScreeningProvider;
class MockSanctionsScreeningProvider {
    async screen(request) {
        const hit = request.names.some((n) => /sanction|blocked/i.test(n));
        return hit ? 'block' : 'clear';
    }
}
exports.MockSanctionsScreeningProvider = MockSanctionsScreeningProvider;
class MockTravelRuleTransmitter {
    async transmit(payload) {
        const ref = `TR-${payload.originatorVaspId}-${Date.now()}`;
        return { referenceId: ref };
    }
}
exports.MockTravelRuleTransmitter = MockTravelRuleTransmitter;
