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
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:
71
frontend-dapp/src/config/dex.ts
Normal file
71
frontend-dapp/src/config/dex.ts
Normal 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 */
|
||||
31
frontend-dapp/src/config/supported-chains.ts
Normal file
31
frontend-dapp/src/config/supported-chains.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user