90 lines
2.9 KiB
TypeScript
90 lines
2.9 KiB
TypeScript
// Seed AS4 Settlement Marketplace Offering
|
|
// Adds AS4 Settlement Master Service to Sankofa Phoenix Marketplace
|
|
|
|
import { PrismaClient } from '@prisma/client';
|
|
import { v4 as uuidv4 } from 'uuid';
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
async function main() {
|
|
console.log('Seeding AS4 Settlement Marketplace Offering...');
|
|
|
|
// Check if offering already exists
|
|
const existing = await prisma.iruOffering.findUnique({
|
|
where: { offeringId: 'AS4-SETTLEMENT-MASTER' },
|
|
});
|
|
|
|
if (existing) {
|
|
console.log('AS4 Settlement offering already exists, skipping...');
|
|
return;
|
|
}
|
|
|
|
// Create offering
|
|
const offering = await prisma.iruOffering.create({
|
|
data: {
|
|
id: uuidv4(),
|
|
offeringId: 'AS4-SETTLEMENT-MASTER',
|
|
name: 'AS4 Settlement Master Service',
|
|
description:
|
|
'Final settlement institution providing SWIFT-FIN equivalent instruction and confirmation flows (MT202/MT910 semantics) over a custom AS4 gateway, with settlement posting on the DBIS ledger (ChainID 138).',
|
|
capacityTier: 1, // Central Banks and Settlement Banks
|
|
institutionalType: 'SettlementBank',
|
|
pricingModel: 'Hybrid', // Subscription + Usage-based
|
|
basePrice: 10000, // $10,000/month base
|
|
currency: 'USD',
|
|
features: {
|
|
messageTypes: ['DBIS.SI.202', 'DBIS.SI.202COV', 'DBIS.AD.900', 'DBIS.AD.910'],
|
|
capabilities: [
|
|
'AS4 Gateway',
|
|
'Settlement Core',
|
|
'Member Directory',
|
|
'Compliance Gates',
|
|
'Ledger Integration',
|
|
'ChainID 138 Anchoring',
|
|
],
|
|
supportedCurrencies: ['USD', 'EUR', 'GBP', 'XAU', 'XAG'],
|
|
finality: 'IMMEDIATE',
|
|
availability: '99.9%',
|
|
},
|
|
technicalSpecs: {
|
|
as4Version: 'ebMS3/AS4',
|
|
ledgerMode: 'HYBRID',
|
|
chainId: 138,
|
|
messageFormat: 'JSON',
|
|
signingAlgorithm: 'RSA-SHA256',
|
|
encryptionAlgorithm: 'AES-256-GCM',
|
|
tlsVersion: '1.3',
|
|
},
|
|
legalFramework: {
|
|
rulebook: 'DBIS AS4 Settlement Member Rulebook v1.0',
|
|
compliance: ['AML/CTF', 'Sanctions Screening', 'KYC/KYB'],
|
|
audit: 'IMMUTABLE_WORM_STORAGE',
|
|
},
|
|
regulatoryPosition: {
|
|
status: 'REGULATED',
|
|
jurisdictions: ['GLOBAL'],
|
|
licensing: 'REQUIRED',
|
|
},
|
|
documents: {
|
|
rulebook: '/docs/settlement/as4/MEMBER_RULEBOOK_V1.md',
|
|
pkiModel: '/docs/settlement/as4/PKI_CA_MODEL.md',
|
|
directorySpec: '/docs/settlement/as4/DIRECTORY_SERVICE_SPEC.md',
|
|
threatModel: '/docs/settlement/as4/THREAT_MODEL_CONTROL_CATALOG.md',
|
|
},
|
|
status: 'active',
|
|
displayOrder: 10,
|
|
},
|
|
});
|
|
|
|
console.log('AS4 Settlement Marketplace Offering created:', offering.offeringId);
|
|
}
|
|
|
|
main()
|
|
.catch((e) => {
|
|
console.error('Error seeding AS4 Settlement offering:', e);
|
|
process.exit(1);
|
|
})
|
|
.finally(async () => {
|
|
await prisma.$disconnect();
|
|
});
|