diff --git a/apps/server/.env b/apps/server/.env index ea989b32c..279ed3faa 100644 --- a/apps/server/.env +++ b/apps/server/.env @@ -23,6 +23,7 @@ WBTC_ADDRESS="0x8B3d701B187D8Eb8c0b9368AebbAAFC62D3fa0e1" EUROC_ADDRESS="0xc8042c992c9627dF9e84ddf57Bc6adc1AB9C3acd" DFI_ADDRESS="0x1f84B07483AC2D5f212a7bF14184310baE087448" MATIC_ADDRESS="0x0B36470228F0B8C8E0313ba0C4356520F50cE85b" +XCHF_ADDRESS="0x75bff147629E93F508483062EE3AeD466028c807" ETHEREUM_WALLET_PRIVATE_KEY="0xbdf16a59fe0d5491874778730f7652f753e0c1341722a0dd315a6f83461ac9cb" APP_VERSION=0.0.0 # Transaction fees @@ -31,8 +32,8 @@ DFC_FEE_PERCENTAGE="0.003" DEFICHAIN_DUST_UTXO="0.003" DEFICHAIN_RESERVED_AMT = "3" # Supported Tokens -SUPPORTED_EVM_TOKENS="WBTC,ETH,USDT,USDC,EUROC,DFI,MATIC" -SUPPORTED_DFC_TOKENS="BTC,ETH,USDT,USDC,EUROC,DFI,MATIC" +SUPPORTED_EVM_TOKENS="WBTC,ETH,USDT,USDC,EUROC,DFI,MATIC,XCHF" +SUPPORTED_DFC_TOKENS="BTC,ETH,USDT,USDC,EUROC,DFI,MATIC,XCHF" # Min Queue Amount for each Token ETH_MIN_QUEUE_AMT = "0" WBTC_MIN_QUEUE_AMT = "0" @@ -40,4 +41,5 @@ USDT_MIN_QUEUE_AMT = "0" USDC_MIN_QUEUE_AMT = "0" EUROC_MIN_QUEUE_AMT = "0" DFI_MIN_QUEUE_AMT = "0" -MATIC_MIN_QUEUE_AMT = "0" \ No newline at end of file +MATIC_MIN_QUEUE_AMT = "0" +XCHF_MIN_QUEUE_AMT = "0" \ No newline at end of file diff --git a/apps/server/src/AppConfig.ts b/apps/server/src/AppConfig.ts index c69c8b985..eb0bab0ca 100644 --- a/apps/server/src/AppConfig.ts +++ b/apps/server/src/AppConfig.ts @@ -47,6 +47,9 @@ export function appConfig() { [SupportedEVMTokenSymbols.MATIC]: { address: process.env.MATIC_ADDRESS, }, + [SupportedEVMTokenSymbols.XCHF]: { + address: process.env.XCHF_ADDRESS, + }, }, ethWalletPrivKey: process.env.ETHEREUM_WALLET_PRIVATE_KEY, queueTokensMinAmt: { @@ -57,6 +60,7 @@ export function appConfig() { EUROC: process.env.EUROC_MIN_QUEUE_AMT, DFI: process.env.DFI_MIN_QUEUE_AMT, MATIC: process.env.MATIC_MIN_QUEUE_AMT, + XCHF: process.env.XCHF_MIN_QUEUE_AMT, }, }, }; @@ -90,6 +94,7 @@ export enum SupportedEVMTokenSymbols { EUROC = 'EUROC', DFI = 'DFI', MATIC = 'MATIC', + XCHF = 'XCHF', } export enum SupportedDFCTokenSymbols { USDC = 'USDC', @@ -99,6 +104,7 @@ export enum SupportedDFCTokenSymbols { DFI = 'DFI', EUROC = 'EUROC', MATIC = 'MATIC', + XCHF = 'XCHF', } export enum Network { @@ -122,7 +128,7 @@ export interface NetworkOptionsI { tokens: TokensI[]; } -export type Erc20Token = 'WBTC' | 'USDT' | 'USDC' | 'ETH' | 'EUROC' | 'DFI' | 'MATIC'; +export type Erc20Token = 'WBTC' | 'USDT' | 'USDC' | 'ETH' | 'EUROC' | 'DFI' | 'MATIC' | 'XCHF'; export interface NetworkI { name: Network; tokens: { @@ -206,6 +212,16 @@ export const NETWORK_TOKENS_LIST: [NetworkI, NetworkI] = [ symbol: 'MATIC', }, }, + { + tokenA: { + name: 'XCHF', + symbol: 'XCHF', + }, + tokenB: { + name: 'dXCHF', + symbol: 'XCHF', + }, + }, ], }, { @@ -282,6 +298,16 @@ export const NETWORK_TOKENS_LIST: [NetworkI, NetworkI] = [ symbol: 'MATIC', }, }, + { + tokenA: { + name: 'dXCHF', + symbol: 'XCHF', + }, + tokenB: { + name: 'XCHF', + symbol: 'XCHF', + }, + }, ], }, ]; diff --git a/apps/server/src/defichain/model/VerifyDto.ts b/apps/server/src/defichain/model/VerifyDto.ts index fc93628fd..0f88cd241 100644 --- a/apps/server/src/defichain/model/VerifyDto.ts +++ b/apps/server/src/defichain/model/VerifyDto.ts @@ -9,6 +9,7 @@ export enum TokenSymbol { 'EUROC' = 'EUROC', 'DFI' = 'DFI', 'MATIC' = 'MATIC', + 'XCHF' = 'XCHF', } export class VerifyObject { diff --git a/apps/server/src/utils/TokensUtils.ts b/apps/server/src/utils/TokensUtils.ts index bd3818b72..3605b8eea 100644 --- a/apps/server/src/utils/TokensUtils.ts +++ b/apps/server/src/utils/TokensUtils.ts @@ -13,37 +13,6 @@ export const getDTokenDetailsByWToken = ( let wTokenToDTokenMap: WTokenToDTokenMapI; switch (network) { case EnvironmentNetwork.RemotePlayground: - wTokenToDTokenMap = { - MDFI: { - id: '0', - symbol: 'DFI', - }, - ETH: { - id: '2', - symbol: 'ETH', - }, - MWBTC: { - id: '1', - symbol: 'BTC', - }, - MUSDT: { - id: '3', - symbol: 'USDT', - }, - MUSDC: { - id: '5', - symbol: 'USDC', - }, - MEURC: { - id: '12', - symbol: 'EUROC', - }, - MMATIC: { - id: '13', - symbol: 'MATIC', - }, - }; - break; case EnvironmentNetwork.LocalPlayground: wTokenToDTokenMap = { MDFI: { @@ -74,6 +43,10 @@ export const getDTokenDetailsByWToken = ( id: '13', symbol: 'MATIC', }, + MXCHF: { + id: '000', // TODO(lyka): Add proper id for local playground + symbol: 'XCHF', + }, }; break; case EnvironmentNetwork.DevNet: @@ -107,6 +80,10 @@ export const getDTokenDetailsByWToken = ( id: '30', symbol: 'MATIC', }, + MXCHF: { + id: '000', // TODO(lyka): Add proper id for testnet + symbol: 'XCHF', + }, }; break; case EnvironmentNetwork.MainNet: @@ -140,6 +117,10 @@ export const getDTokenDetailsByWToken = ( id: '228', symbol: 'MATIC', }, + XCHF: { + id: '234', + symbol: 'XCHF', + }, }; break; } diff --git a/apps/server/test-i9n/defichain/verify.i9n.ts b/apps/server/test-i9n/defichain/verify.i9n.ts index 1897e51c2..8283a2ce4 100644 --- a/apps/server/test-i9n/defichain/verify.i9n.ts +++ b/apps/server/test-i9n/defichain/verify.i9n.ts @@ -127,7 +127,7 @@ describe('DeFiChain Verify fund Testing', () => { expect(response).toStrictEqual({ error: 'Bad Request', - message: ['symbol must be one of the following values: BTC, USDT, USDC, ETH, EUROC, DFI, MATIC'], + message: ['symbol must be one of the following values: BTC, USDT, USDC, ETH, EUROC, DFI, MATIC, XCHF'], statusCode: 400, }); }); diff --git a/apps/server/test-i9n/testing/SettingsController.i9n.ts b/apps/server/test-i9n/testing/SettingsController.i9n.ts index dc5daaea4..e7b603a30 100644 --- a/apps/server/test-i9n/testing/SettingsController.i9n.ts +++ b/apps/server/test-i9n/testing/SettingsController.i9n.ts @@ -16,8 +16,8 @@ describe('Settings Controller Test', () => { testing = new BridgeServerTestingApp( TestingModule.register( buildTestConfig({ - defichain: { transferFee: '0.003', supportedTokens: 'BTC,ETH,USDT,USDC,EUROC,DFI,MATIC' }, - ethereum: { transferFee: '0', supportedTokens: 'WBTC,ETH,USDT,USDC,EUROC,DFI,MATIC' }, + defichain: { transferFee: '0.003', supportedTokens: 'BTC,ETH,USDT,USDC,EUROC,DFI,MATIC,XCHF' }, + ethereum: { transferFee: '0', supportedTokens: 'WBTC,ETH,USDT,USDC,EUROC,DFI,MATIC,XCHF' }, startedPostgresContainer, }), ),