chore: sync submodule state (parent ref update)

Made-with: Cursor
This commit is contained in:
defiQUG
2026-03-02 12:14:07 -08:00
parent 6c4555cebd
commit 89b82cdadb
883 changed files with 78752 additions and 18180 deletions

View File

@@ -9,6 +9,20 @@ import { zeroTrustAuthMiddleware, optionalAuthMiddleware } from './middleware/au
import { dynamicRateLimitMiddleware } from './middleware/rate-limit.middleware';
import { errorHandler } from './middleware/error.middleware';
import { auditLogMiddleware } from './middleware/audit.middleware';
import { validateEnvironment } from '@/shared/config/env-validator';
import { logger } from '@/infrastructure/monitoring/logger';
import { tracingMiddleware } from '@/infrastructure/monitoring/tracing.middleware';
// Validate environment variables at startup (fail fast)
try {
validateEnvironment();
logger.info('Environment validation passed');
} catch (error) {
logger.error('Environment validation failed', {
error: error instanceof Error ? error.message : 'Unknown error',
});
process.exit(1);
}
// Import route handlers (will be created)
// import paymentRoutes from '@/core/payments/payment.routes';
@@ -31,6 +45,7 @@ import ssuRoutes from '@/core/settlement/ssu/ssu.routes';
import cbdsRoutes from '@/core/commodities/cbds/cbds.routes';
import glpRoutes from '@/core/treasury/glp/glp.routes';
import crossChainRoutes from '@/core/settlement/cross-chain/cross-chain.routes';
import tezosUsdtzRoutes from '@/core/defi/tezos-usdtz/tezos-usdtz.routes';
import sireRoutes from '@/core/settlement/sire/sire.routes';
// Volume V routes
@@ -100,6 +115,7 @@ import rssckRoutes from '@/core/contracts/rssck/rssck.routes';
import sbavRoutes from '@/core/valuation/sbav/sbav.routes';
import eeiRoutes from '@/core/economics/eei/eei.routes';
import uprmfRoutes from '@/core/monetary/uprmf/uprmf.routes';
import gatewayRoutes from '@/core/gateway/routes/gateway.routes';
// Special Sub-Volumes routes
import gasRoutes from '@/core/settlement/gas/gas.routes';
@@ -113,6 +129,14 @@ import gapAuditRoutes from '@/core/audit/gap-engine/gap-audit.routes';
import dbisAdminRoutes from '@/core/admin/dbis-admin/dbis-admin.routes';
import scbAdminRoutes from '@/core/admin/scb-admin/scb-admin.routes';
// IRU Marketplace routes
import iruMarketplaceRoutes from '@/integration/api-gateway/routes/iru-marketplace.routes';
import iruPortalRoutes from '@/integration/api-gateway/routes/iru-portal.routes';
// Exchange integrations
import cryptoComOtcRoutes from '@/core/exchange/crypto-com-otc/crypto-com-otc.routes';
import exchangeRoutes from '@/core/exchange/exchange.routes';
// Volume X routes
import msgfRoutes from '@/core/governance/msgf/msgf.routes';
import umapRoutes from '@/core/monetary/umap/umap.routes';
@@ -126,6 +150,9 @@ const app: Express = express();
// Security middleware
app.use(helmet());
// Distributed tracing middleware (before other middleware)
app.use(tracingMiddleware);
// CORS configuration
const allowedOrigins = process.env.ALLOWED_ORIGINS?.split(',').map((o) => o.trim()) || [];
if (process.env.NODE_ENV === 'production' && (allowedOrigins.length === 0 || allowedOrigins.includes('*'))) {
@@ -233,6 +260,41 @@ app.get('/health', async (req, res) => {
res.status(statusCode).json(healthStatus);
});
// IRU Marketplace routes (public endpoints, auth handled per-route)
app.use('/api/v1/iru/marketplace', iruMarketplaceRoutes);
// IRU Portal routes (authenticated)
app.use('/api/v1/iru/portal', iruPortalRoutes);
// IRU Deployment routes (authenticated)
import iruDeploymentRoutes from '@/integration/api-gateway/routes/iru-deployment.routes';
app.use('/api/v1/iru/deployment', iruDeploymentRoutes);
// IRU Qualification routes (admin only)
import iruQualificationRoutes from '@/integration/api-gateway/routes/iru-qualification.routes';
app.use('/api/v1/iru/qualification', iruQualificationRoutes);
// IRU Agreement routes (authenticated)
import iruAgreementRoutes from '@/integration/api-gateway/routes/iru-agreement.routes';
app.use('/api/v1/iru/agreement', iruAgreementRoutes);
// IRU Payment routes (authenticated)
import iruPaymentRoutes from '@/integration/api-gateway/routes/iru-payment.routes';
app.use('/api/v1/iru/payment', iruPaymentRoutes);
// IRU Notification routes (authenticated)
import iruNotificationRoutes from '@/integration/api-gateway/routes/iru-notification.routes';
app.use('/api/v1/iru/notifications', iruNotificationRoutes);
// IRU Metrics routes (public for Prometheus)
import iruMetricsRoutes from '@/integration/api-gateway/routes/iru-metrics.routes';
app.use('/api/v1/iru/metrics', iruMetricsRoutes);
// Admin Central API (service-to-service: audit append, permission check, audit query)
// Auth: X-Admin-Central-Key. Must be registered before /api auth so it uses its own middleware.
import adminCentralRoutes from '@/integration/api-gateway/routes/admin-central.routes';
app.use('/api/admin/central', adminCentralRoutes);
// API routes (protected)
// All API routes require authentication
app.use('/api', zeroTrustAuthMiddleware);
@@ -244,12 +306,19 @@ import accountRoutes from '@/core/accounts/account.routes';
import paymentRoutes from '@/core/payments/payment.routes';
import fxRoutes from '@/core/fx/fx.routes';
import nostroVostroRoutes from '@/core/nostro-vostro/nostro-vostro.routes';
// import chartOfAccountsRoutes from '@/core/accounting/chart-of-accounts.routes';
app.use('/api/ledger', ledgerRoutes);
app.use('/api/accounts', accountRoutes);
app.use('/api/payments', paymentRoutes);
app.use('/api/fx', fxRoutes);
app.use('/api/v1/crypto-com-otc', cryptoComOtcRoutes);
app.use('/api/v1/exchange', exchangeRoutes);
app.use('/api/v1/nostro-vostro', nostroVostroRoutes);
// app.use('/api/accounting/chart-of-accounts', chartOfAccountsRoutes);
// Gateway Microservices routes
app.use('/api/v1/gateway', gatewayRoutes);
// Volume II routes
app.use('/api/constitution', constitutionRoutes);
@@ -265,7 +334,17 @@ app.use('/api/v1/ssu', ssuRoutes);
app.use('/api/v1/cbds', cbdsRoutes);
app.use('/api/v1/glp', glpRoutes);
app.use('/api/v1/cross-chain', crossChainRoutes);
app.use('/api/v1/sire', sireRoutes);
app.use('/api/v1/routes', tezosUsdtzRoutes);
// AS4 Settlement routes
import as4GatewayRoutes from '@/core/settlement/as4/as4.routes';
import as4MemberDirectoryRoutes from '@/core/settlement/as4-settlement/member-directory/member-directory.routes';
import as4SettlementRoutes from '@/core/settlement/as4-settlement/as4-settlement.routes';
import as4MetricsRoutes from '@/core/settlement/as4/as4-metrics.routes';
app.use('/api/v1/as4/gateway', as4GatewayRoutes);
app.use('/api/v1/as4/directory', as4MemberDirectoryRoutes);
app.use('/api/v1/as4/settlement', as4SettlementRoutes);
app.use('/api/v1/as4', as4MetricsRoutes); // Metrics endpoint (public for Prometheus)
// Volume V routes
app.use('/api/v1/gbig', gbigRoutes);
@@ -355,6 +434,46 @@ app.use('/api/gap-audit', gapAuditRoutes);
app.use('/api/admin/dbis', dbisAdminRoutes);
app.use('/api/admin/scb', scbAdminRoutes);
// SolaceNet Capability Platform routes
import solacenetCapabilityRoutes from '@/core/solacenet/registry/capability-registry.routes';
import solacenetEntitlementRoutes from '@/core/solacenet/entitlements/entitlements.routes';
import solacenetPolicyRoutes from '@/core/solacenet/policy/policy-engine.routes';
import solacenetAuditRoutes from '@/core/solacenet/audit/audit-log.routes';
import solacenetLimitsRoutes from '@/core/solacenet/capabilities/limits/limits.routes';
import solacenetFeesRoutes from '@/core/solacenet/capabilities/fees/fees.routes';
app.use('/api/v1/solacenet/capabilities', solacenetCapabilityRoutes);
app.use('/api/v1/solacenet', solacenetEntitlementRoutes);
app.use('/api/v1/solacenet/policy', solacenetPolicyRoutes);
app.use('/api/v1/solacenet/audit', solacenetAuditRoutes);
app.use('/api/v1/solacenet/limits', solacenetLimitsRoutes);
app.use('/api/v1/solacenet/fees', solacenetFeesRoutes);
// SolaceNet Capability Packs
import solacenetPaymentRoutes from '@/core/solacenet/capabilities/payments/payment-gateway.routes';
import solacenetWalletRoutes from '@/core/solacenet/capabilities/wallets/wallet-accounts.routes';
import solacenetCardRoutes from '@/core/solacenet/capabilities/cards/card-issuing.routes';
import solacenetMobileMoneyRoutes from '@/core/solacenet/capabilities/mobile-money/mobile-money.routes';
import solacenetTokenizationRoutes from '@/core/solacenet/capabilities/tokenization/tokenization.routes';
app.use('/api/v1/solacenet/payments', solacenetPaymentRoutes);
app.use('/api/v1/solacenet/wallets', solacenetWalletRoutes);
app.use('/api/v1/solacenet/cards', solacenetCardRoutes);
app.use('/api/v1/solacenet/mobile-money', solacenetMobileMoneyRoutes);
app.use('/api/v1/solacenet/tokenization', solacenetTokenizationRoutes);
// Risk Rules Engine
import riskRulesRoutes from '@/core/risk/rules-engine.routes';
app.use('/api/v1/risk', riskRulesRoutes);
// Health check routes (public, no auth)
import healthRoutes from './routes/health.routes';
app.use('/health', healthRoutes);
// Metrics endpoint (public, for Prometheus)
import metricsRoutes from './routes/metrics.routes';
app.use('/', metricsRoutes);
// Error handling middleware (must be last)
app.use(errorHandler);