diff --git a/apollo/.env.prod b/apollo/.env.prod index d82473f5..2b30d8a8 100644 --- a/apollo/.env.prod +++ b/apollo/.env.prod @@ -29,5 +29,9 @@ POLYGON_LNV3_ENDPOINT=https://api.studio.thegraph.com/query/59403/lnv3-polygon/v ARBITRUM_LNV3_ENDPOINT=https://api.studio.thegraph.com/query/59403/lnv3-arbitrum/v1.0.0 BSC_LNV3_ENDPOINT=https://api.studio.thegraph.com/query/59403/lnv3-bsc/v1.0.0 LINEA_LNV3_ENDPOINT=https://thegraph-g1.darwinia.network/helix/subgraphs/name/lnv3/linea +OP_LNV3_ENDPOINT=https://api.studio.thegraph.com/query/59403/lnv3-op/v1.0.0 +GNOSIS_LNV3_ENDPOINT=https://api.studio.thegraph.com/query/59403/lnv3-gnosis/v1.0.0 +MANTLE_LNV3_ENDPOINT=https://thegraph-g1.darwinia.network/helix/subgraphs/name/lnv3/mantle +SCROLL_LNV3_ENDPOINT=https://api.studio.thegraph.com/query/59403/lnv3-scroll/v1.0.0 CHAIN_TYPE=formal diff --git a/apollo/src/aggregation/aggregation.service.ts b/apollo/src/aggregation/aggregation.service.ts index 5aee5c86..0897b133 100644 --- a/apollo/src/aggregation/aggregation.service.ts +++ b/apollo/src/aggregation/aggregation.service.ts @@ -291,7 +291,7 @@ export class AggregationService extends PrismaClient implements OnModuleInit { const targetSymbol = lnv3TargetBridge.symbols.find( (item) => item.address.toLowerCase() === targetToken.toLowerCase() ); - return targetSymbol === undefined; + return targetSymbol !== undefined; } } diff --git a/apollo/src/lnv3/transfer.service.ts b/apollo/src/lnv3/transfer.service.ts index a5e5125c..220e9338 100644 --- a/apollo/src/lnv3/transfer.service.ts +++ b/apollo/src/lnv3/transfer.service.ts @@ -11,6 +11,10 @@ export class TransferService extends BaseTransferServiceT2 { private readonly polygonEndpoint = this.configService.get('POLYGON_LNV3_ENDPOINT'); private readonly bscEndpoint = this.configService.get('BSC_LNV3_ENDPOINT'); private readonly lineaEndpoint = this.configService.get('LINEA_LNV3_ENDPOINT'); + private readonly opEndpoint = this.configService.get('OP_LNV3_ENDPOINT'); + private readonly gnosisEndpoint = this.configService.get('GNOSIS_LNV3_ENDPOINT'); + private readonly mantleEndpoint = this.configService.get('MANTLE_LNV3_ENDPOINT'); + private readonly scrollEndpoint = this.configService.get('SCROLL_LNV3_ENDPOINT'); formalChainTransfers: PartnerT2[] = [ { @@ -46,6 +50,22 @@ export class TransferService extends BaseTransferServiceT2 { { chain: 'linea', channel: 'layerzero', + }, + { + chain: 'op', + channel: 'layerzero', + }, + { + chain: 'gnosis', + channel: 'layerzero', + }, + { + chain: 'mantle', + channel: 'layerzero', + }, + { + chain: 'scroll', + channel: 'layerzero', } ] }, @@ -82,6 +102,22 @@ export class TransferService extends BaseTransferServiceT2 { { chain: 'linea', channel: 'layerzero', + }, + { + chain: 'op', + channel: 'layerzero', + }, + { + chain: 'gnosis', + channel: 'layerzero', + }, + { + chain: 'mantle', + channel: 'layerzero', + }, + { + chain: 'scroll', + channel: 'layerzero', } ] }, @@ -111,6 +147,22 @@ export class TransferService extends BaseTransferServiceT2 { { chain: 'linea', channel: 'layerzero', + }, + { + chain: 'op', + channel: 'layerzero', + }, + { + chain: 'gnosis', + channel: 'layerzero', + }, + { + chain: 'mantle', + channel: 'layerzero', + }, + { + chain: 'scroll', + channel: 'layerzero', } ] }, @@ -140,6 +192,202 @@ export class TransferService extends BaseTransferServiceT2 { { chain: 'arbitrum', channel: 'layerzero', + }, + { + chain: 'op', + channel: 'layerzero', + }, + { + chain: 'gnosis', + channel: 'layerzero', + }, + { + chain: 'mantle', + channel: 'layerzero', + }, + { + chain: 'scroll', + channel: 'layerzero', + } + ] + }, + { + chainId: 10, + chain: 'op', + url: this.opEndpoint, + bridge: 'lnv3', + symbols: [ + { + key: 'USDT', + symbol: 'USDT', + address: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58', + protocolFee: 100000, + decimals: 6, + } + ], + channels: [ + { + chain: 'polygon', + channel: 'layerzero', + }, + { + chain: 'bsc', + channel: 'layerzero', + }, + { + chain: 'arbitrum', + channel: 'layerzero', + }, + { + chain: 'linea', + channel: 'layerzero', + }, + { + chain: 'gnosis', + channel: 'layerzero', + }, + { + chain: 'mantle', + channel: 'layerzero', + }, + { + chain: 'scroll', + channel: 'layerzero', + } + ] + }, + { + chainId: 100, + chain: 'gnosis', + url: this.gnosisEndpoint, + bridge: 'lnv3', + symbols: [ + { + key: 'USDT', + symbol: 'USDT', + address: '0x4ECaBa5870353805a9F068101A40E0f32ed605C6', + protocolFee: 100000, + decimals: 6, + } + ], + channels: [ + { + chain: 'polygon', + channel: 'layerzero', + }, + { + chain: 'bsc', + channel: 'layerzero', + }, + { + chain: 'arbitrum', + channel: 'layerzero', + }, + { + chain: 'linea', + channel: 'layerzero', + }, + { + chain: 'op', + channel: 'layerzero', + }, + { + chain: 'mantle', + channel: 'layerzero', + }, + { + chain: 'scroll', + channel: 'layerzero', + } + ] + }, + { + chainId: 5000, + chain: 'mantle', + url: this.mantleEndpoint, + bridge: 'lnv3', + symbols: [ + { + key: 'USDT', + symbol: 'USDT', + address: '0x201EBa5CC46D216Ce6DC03F6a759e8E766e956aE', + protocolFee: 100000, + decimals: 6, + } + ], + channels: [ + { + chain: 'polygon', + channel: 'layerzero', + }, + { + chain: 'bsc', + channel: 'layerzero', + }, + { + chain: 'arbitrum', + channel: 'layerzero', + }, + { + chain: 'linea', + channel: 'layerzero', + }, + { + chain: 'op', + channel: 'layerzero', + }, + { + chain: 'gnosis', + channel: 'layerzero', + }, + { + chain: 'scroll', + channel: 'layerzero', + } + ] + }, + { + chainId: 534352, + chain: 'scroll', + url: this.scrollEndpoint, + bridge: 'lnv3', + symbols: [ + { + key: 'USDT', + symbol: 'USDT', + address: '0xf55BEC9cafDbE8730f096Aa55dad6D22d44099Df', + protocolFee: 100000, + decimals: 6, + } + ], + channels: [ + { + chain: 'polygon', + channel: 'layerzero', + }, + { + chain: 'bsc', + channel: 'layerzero', + }, + { + chain: 'arbitrum', + channel: 'layerzero', + }, + { + chain: 'linea', + channel: 'layerzero', + }, + { + chain: 'op', + channel: 'layerzero', + }, + { + chain: 'gnosis', + channel: 'layerzero', + }, + { + chain: 'mantle', + channel: 'layerzero', } ] }