Files
CurrenciCombo/src/types/index.ts
Devin AI 52676016fb feat: Solace Bank Group PLC Treasury Management Portal
- Web3 authentication with MetaMask, WalletConnect, Coinbase wallet options
- Demo mode for testing without wallet
- Overview dashboard with KPI cards, asset allocation, positions, accounts, alerts
- Transaction Builder module (full IDE-style drag-and-drop canvas with 28 gap fixes)
- Accounts module with multi-account/subaccount hierarchical structures
- Treasury Management module with positions table and 14-day cash forecast
- Financial Reporting module with IPSAS, US GAAP, IFRS compliance
- Compliance & Risk module with KYC/AML/Sanctions monitoring
- Settlement & Clearing module with DVP/FOP/PVP operations
- Settings with role-based permissions and enterprise controls
- Dark theme professional UI with Solace Bank branding
- HashRouter for static hosting compatibility

Co-Authored-By: Nakamoto, S <defi@defi-oracle.io>
2026-04-18 17:20:13 +00:00

109 lines
2.4 KiB
TypeScript

import type { Node, Edge } from '@xyflow/react';
export interface ComponentItem {
id: string;
label: string;
category: string;
icon: string;
description: string;
color: string;
inputs?: string[];
outputs?: string[];
engines?: string[];
}
export interface ChatMessage {
id: string;
agent: string;
content: string;
timestamp: Date;
type: 'user' | 'agent' | 'system';
}
export interface TerminalEntry {
id: string;
timestamp: Date;
level: 'info' | 'warn' | 'error' | 'success';
source: string;
message: string;
}
export interface ValidationIssue {
id: string;
severity: 'error' | 'warning' | 'info';
node?: string;
field?: string;
message: string;
}
export interface AuditEntry {
id: string;
timestamp: Date;
user: string;
action: string;
detail: string;
}
export interface SettlementItem {
id: string;
txId: string;
status: 'pending' | 'in_review' | 'awaiting_approval' | 'dispatched' | 'partially_settled' | 'settled' | 'failed';
amount: string;
asset: string;
counterparty: string;
timestamp: Date;
}
export interface Notification {
id: string;
title: string;
message: string;
type: 'info' | 'success' | 'warning' | 'error';
timestamp: Date;
read: boolean;
}
export interface ThreadEntry {
id: string;
title: string;
agent: Agent;
timestamp: Date;
messageCount: number;
}
export interface TransactionTab {
id: string;
name: string;
nodes: Node[];
edges: Edge[];
}
export interface HistoryEntry {
nodes: Node[];
edges: Edge[];
}
export type TransactionNode = Node<{
label: string;
category: string;
icon: string;
color: string;
status?: 'valid' | 'warning' | 'error';
}>;
export type TransactionEdge = Edge<{
animated?: boolean;
}>;
export type PanelSide = 'left' | 'right' | 'bottom';
export type SessionMode = 'Sandbox' | 'Simulate' | 'Live' | 'Compliance Review';
export type ActivityTab = 'builder' | 'assets' | 'templates' | 'compliance' | 'routes' | 'protocols' | 'agents' | 'terminal' | 'audit' | 'settings';
export type BottomTab = 'terminal' | 'validation' | '800system' | 'settlement' | 'audit' | 'messages' | 'events' | 'reconciliation' | 'exceptions';
export type Agent = 'Builder' | 'Compliance' | 'Routing' | 'ISO-20022' | 'Settlement' | 'Risk' | 'Documentation';
export type ConversationScope = 'current-node' | 'current-flow' | 'full-transaction' | 'terminal' | 'compliance';