feat: OMNL Bank online production — 128 chains, Central Bank UI, settlement stack
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m22s
CI/CD Pipeline / Security Scanning (push) Successful in 2m30s
CI/CD Pipeline / Lint and Format (push) Failing after 44s
CI/CD Pipeline / Terraform Validation (push) Failing after 27s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 31s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 56s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 29s
Validation / validate-genesis (push) Successful in 34s
Validation / validate-terraform (push) Failing after 39s
Validation / validate-kubernetes (push) Failing after 14s
Validation / validate-smart-contracts (push) Failing after 20s
Validation / validate-security (push) Failing after 1m19s
Validation / validate-documentation (push) Failing after 27s
Verify Deployment / Verify Deployment (push) Failing after 1m13s

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-28 08:44:42 -07:00
parent 2b1a3ba6af
commit 5dd67e2b1d
113 changed files with 13223 additions and 98 deletions

View File

@@ -0,0 +1,71 @@
/** DBIS Exchange — Chain 138 DEX addresses (Pancake/Uniswap V2 compatible) */
export const DBIS_EXCHANGE_CHAIN_ID = 138;
export const TOKEN_AGGREGATION_URL =
import.meta.env.VITE_TOKEN_AGGREGATION_URL || 'http://localhost:3000';
export const DBIS_EXCHANGE_URL =
import.meta.env.VITE_DBIS_EXCHANGE_URL || 'http://localhost:3012';
export const SETTLEMENT_MIDDLEWARE_URL =
import.meta.env.VITE_SETTLEMENT_MIDDLEWARE_URL || 'http://localhost:3011';
export const ENHANCED_SWAP_ROUTER_V2 =
import.meta.env.VITE_ENHANCED_SWAP_ROUTER_V2 ||
'0xa421706768aeb7fafa2d912c5e10824ef3437ad4';
export const UNISWAP_V2_ROUTER_138 =
import.meta.env.VITE_UNISWAP_V2_ROUTER_138 ||
'0x3019A7fDc76ba7F64F18d78e66842760037ee638';
export type DexToken = {
symbol: string;
name: string;
address: string;
decimals: number;
native?: boolean;
omnlLine?: string;
moneyLayer?: string;
currencyCode?: string;
swappable?: boolean;
convertible?: boolean;
transferableInternal?: boolean;
transferableExternal?: boolean;
};
/** Fallback when exchange API unavailable */

View File

@@ -0,0 +1,31 @@
import { SETTLEMENT_MIDDLEWARE_URL } from './dex';
export type OmnlChainSummary = {
chainId: number;
name: string;
status: string;
tier: string;
omnlRole: string;
nativeSymbol: string;
settlement?: { swapEnabled?: boolean; bridgeEnabled?: boolean; m2LoadEnabled?: boolean };
};
export type ChainRegistryResponse = {
brand: string;
maxCapacity: number;
primaryChainId: number;
mirrorChainId: number;
stats?: { total: number; active: number; staged: number; reserved: number };
chains: OmnlChainSummary[];
};
export async function fetchOmnlChainRegistry(): Promise<ChainRegistryResponse | null> {
try {
const base = SETTLEMENT_MIDDLEWARE_URL.replace(/\/$/, '');
const res = await fetch(`${base}/api/v1/settlement/chains`);
if (!res.ok) return null;
return res.json();
} catch {
return null;
}
}