From 6dfd9e2ac6a7c9f7330e06c7f09eff42c6977917 Mon Sep 17 00:00:00 2001 From: abtestingalpha Date: Fri, 3 Nov 2023 19:32:09 -0400 Subject: [PATCH] Routing selection update * Fixes crvUSD issue * More accurate test suite for realistic bridge routing pairs --- .../__tests__/__fixtures__/mockRoutes.ts | 3429 +++++++++++++++++ .../__tests__/getFromChainIds.test.ts | 105 +- .../__tests__/getFromTokens.test.ts | 526 ++- .../__tests__/getToChainIds.test.ts | 104 +- .../__tests__/getToTokens.test.ts | 594 ++- packages/synapse-interface/jest.config.mjs | 4 + .../slices/bridge/reducer.ts | 2 +- .../utils/routeMaker/getToChainIds.ts | 6 +- .../utils/routeMaker/getToTokens.ts | 8 +- 9 files changed, 4422 insertions(+), 356 deletions(-) create mode 100644 packages/synapse-interface/__tests__/__fixtures__/mockRoutes.ts diff --git a/packages/synapse-interface/__tests__/__fixtures__/mockRoutes.ts b/packages/synapse-interface/__tests__/__fixtures__/mockRoutes.ts new file mode 100644 index 0000000000..17380d579c --- /dev/null +++ b/packages/synapse-interface/__tests__/__fixtures__/mockRoutes.ts @@ -0,0 +1,3429 @@ +export const mockRoutes = { + 'AVAX-1284': [ + 'AVAX-8217', + 'WAVAX-43114', + 'AVAX-43114', + 'AVAX-53935', + 'AVAX-1666600000', + 'AVAX-1666600000', + ], + 'AVAX-8217': [ + 'AVAX-1284', + 'WAVAX-43114', + 'AVAX-43114', + 'AVAX-53935', + 'AVAX-1666600000', + 'AVAX-1666600000', + ], + 'AVAX-43114': [ + 'AVAX-1284', + 'AVAX-8217', + 'AVAX-53935', + 'AVAX-1666600000', + 'AVAX-1666600000', + ], + 'AVAX-53935': [ + 'AVAX-1284', + 'AVAX-8217', + 'WAVAX-43114', + 'AVAX-43114', + 'AVAX-1666600000', + 'AVAX-1666600000', + ], + 'AVAX-1666600000': [ + 'AVAX-1284', + 'AVAX-8217', + 'WAVAX-43114', + 'AVAX-43114', + 'AVAX-53935', + 'AVAX-1284', + 'AVAX-8217', + 'WAVAX-43114', + 'AVAX-43114', + 'AVAX-53935', + ], + 'BTC.b-8217': ['BTC.b-43114', 'BTC.b-53935'], + 'BTC.b-43114': ['BTC.b-8217', 'BTC.b-53935'], + 'BTC.b-53935': ['BTC.b-8217', 'BTC.b-43114'], + 'BUSD-56': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'DAI-1': [ + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'USDT-2000', + 'USDC-2000', + 'DAI-2000', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'DAI-8217', + 'USDC-8217', + 'USDT-8217', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'DAI-10': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'DAI-137': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'DAI-288': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'DAI-2000': ['DAI-1', 'DAI-8217'], + 'DAI-8217': ['DAI-1', 'DAI-2000'], + 'DAI-8453': [ + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'USDC-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'FRAX-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + ], + 'DAI-42161': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'DAI.e-43114': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'DOG-1': ['DOG-56', 'DOG-137'], + 'DOG-56': ['DOG-1', 'DOG-137'], + 'DOG-137': ['DOG-1', 'DOG-56'], + 'ETH-1': [ + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'ETH-10': [ + 'ETH-1', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'ETH-288': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'ETH-7700': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'ETH-8453': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'ETH-42161': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'ETH-53935': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'nETH-1666600000', + ], + 'FRAX-1': [ + 'synFRAX-250', + 'synFRAX-1284', + 'synFRAX-1285', + 'FRAX-2000', + 'synFRAX-1666600000', + ], + 'FRAX-2000': [ + 'FRAX-1', + 'synFRAX-250', + 'synFRAX-1284', + 'synFRAX-1285', + 'synFRAX-1666600000', + ], + 'FRAX-42161': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'FTM-250': ['FTM-53935'], + 'FTM-53935': ['WFTM-250', 'FTM-250'], + 'GMX-42161': ['GMX-43114'], + 'GMX-43114': ['GMX-42161'], + 'H2O-1': [ + 'H2O-10', + 'H2O-56', + 'H2O-137', + 'H2O-1284', + 'H2O-1285', + 'H2O-42161', + 'H2O-43114', + ], + 'H2O-10': [ + 'H2O-1', + 'H2O-56', + 'H2O-137', + 'H2O-1284', + 'H2O-1285', + 'H2O-42161', + 'H2O-43114', + ], + 'H2O-56': [ + 'H2O-1', + 'H2O-10', + 'H2O-137', + 'H2O-1284', + 'H2O-1285', + 'H2O-42161', + 'H2O-43114', + ], + 'H2O-137': [ + 'H2O-1', + 'H2O-10', + 'H2O-56', + 'H2O-1284', + 'H2O-1285', + 'H2O-42161', + 'H2O-43114', + ], + 'H2O-1284': [ + 'H2O-1', + 'H2O-10', + 'H2O-56', + 'H2O-137', + 'H2O-1285', + 'H2O-42161', + 'H2O-43114', + ], + 'H2O-1285': [ + 'H2O-1', + 'H2O-10', + 'H2O-56', + 'H2O-137', + 'H2O-1284', + 'H2O-42161', + 'H2O-43114', + ], + 'H2O-42161': [ + 'H2O-1', + 'H2O-10', + 'H2O-56', + 'H2O-137', + 'H2O-1284', + 'H2O-1285', + 'H2O-43114', + ], + 'H2O-43114': [ + 'H2O-1', + 'H2O-10', + 'H2O-56', + 'H2O-137', + 'H2O-1284', + 'H2O-1285', + 'H2O-42161', + ], + 'HIGH-1': ['HIGH-56'], + 'HIGH-56': ['HIGH-1'], + 'JEWEL-8217': [ + 'JEWEL-43114', + 'WJEWEL-53935', + 'JEWEL-53935', + 'synJEWEL-1666600000', + 'JEWEL-1666600000', + ], + 'JEWEL-43114': [ + 'JEWEL-8217', + 'WJEWEL-53935', + 'JEWEL-53935', + 'synJEWEL-1666600000', + 'JEWEL-1666600000', + ], + 'JEWEL-53935': [ + 'JEWEL-8217', + 'JEWEL-43114', + 'synJEWEL-1666600000', + 'JEWEL-1666600000', + ], + 'JEWEL-1666600000': [ + 'JEWEL-8217', + 'JEWEL-43114', + 'WJEWEL-53935', + 'JEWEL-53935', + ], + 'JUMP-56': ['JUMP-250', 'JUMP-1088'], + 'JUMP-250': ['JUMP-56', 'JUMP-1088'], + 'JUMP-1088': ['JUMP-56', 'JUMP-250'], + 'KLAY-8217': ['KLAY-53935'], + 'KLAY-53935': ['WKLAY-8217', 'KLAY-8217'], + 'L2DAO-10': ['L2DAO-42161'], + 'L2DAO-42161': ['L2DAO-10'], + 'LINK-1': ['LINK-8217'], + 'LINK-8217': ['LINK-1'], + 'MATIC-137': ['MATIC-53935'], + 'MATIC-53935': ['WMATIC-137', 'MATIC-137'], + 'MOVR-1284': ['WMOVR-1285', 'MOVR-1285'], + 'MOVR-1285': ['MOVR-1284'], + 'NEWO-1': ['NEWO-42161', 'NEWO-43114'], + 'NEWO-42161': ['NEWO-1', 'NEWO-43114'], + 'NEWO-43114': ['NEWO-1', 'NEWO-42161'], + 'NFD-56': ['NFD-137', 'NFD-2000', 'NFD-43114'], + 'NFD-137': ['NFD-56', 'NFD-2000', 'NFD-43114'], + 'NFD-2000': ['NFD-56', 'NFD-137', 'NFD-43114'], + 'NFD-43114': ['NFD-56', 'NFD-137', 'NFD-2000'], + 'NOTE-7700': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'PEPE-1': ['PEPE-42161'], + 'PEPE-42161': ['PEPE-1'], + 'PLS-10': ['PLS-42161'], + 'PLS-42161': ['PLS-10'], + 'SDT-1': ['SDT-250', 'SDT-42161', 'SDT-43114', 'SDT-1666600000'], + 'SDT-250': ['SDT-1', 'SDT-42161', 'SDT-43114', 'SDT-1666600000'], + 'SDT-42161': ['SDT-1', 'SDT-250', 'SDT-43114', 'SDT-1666600000'], + 'SDT-43114': ['SDT-1', 'SDT-250', 'SDT-42161', 'SDT-1666600000'], + 'SDT-1666600000': ['SDT-1', 'SDT-250', 'SDT-42161', 'SDT-43114'], + 'SFI-1': ['SFI-43114'], + 'SFI-43114': ['SFI-1'], + 'SYN-1': [ + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-10': [ + 'SYN-1', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-25': [ + 'SYN-1', + 'SYN-10', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-56': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-137': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-250': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-288': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-1088': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-1284': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-1285': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-2000': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-7700': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-8453': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-42161': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-43114': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-1313161554', + 'SYN-1666600000', + ], + 'SYN-1313161554': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1666600000', + ], + 'SYN-1666600000': [ + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-8453', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + ], + 'UNIDX-1': ['UNIDX-10', 'UNIDX-250', 'UNIDX-8453', 'UNIDX-42161'], + 'UNIDX-10': ['UNIDX-1', 'UNIDX-250', 'UNIDX-8453', 'UNIDX-42161'], + 'UNIDX-250': ['UNIDX-1', 'UNIDX-10', 'UNIDX-8453', 'UNIDX-42161'], + 'UNIDX-8453': ['UNIDX-1', 'UNIDX-10', 'UNIDX-250', 'UNIDX-42161'], + 'UNIDX-42161': ['UNIDX-1', 'UNIDX-10', 'UNIDX-250', 'UNIDX-8453'], + 'USDC-1': [ + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'USDT-2000', + 'USDC-2000', + 'DAI-2000', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'DAI-8217', + 'USDC-8217', + 'USDT-8217', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-10': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-25': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-56': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-137': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-288': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-2000': ['USDC-1', 'USDC-8217'], + 'USDC-7700': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-8217': ['USDC-1', 'USDC-2000'], + 'USDC-8453': [ + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'USDC-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'FRAX-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + ], + 'USDC-42161': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-43114': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC-53935': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC.e-10': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC.e-42161': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC.e-43114': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDC.e-1313161554': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1666600000', + ], + 'USDT-1': [ + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'USDT-2000', + 'USDC-2000', + 'DAI-2000', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'DAI-8217', + 'USDC-8217', + 'USDT-8217', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT-10': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT-56': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT-137': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT-288': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT-2000': ['USDT-1', 'USDT-8217'], + 'USDT-7700': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT-8217': ['USDT-1', 'USDT-2000'], + 'USDT-42161': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT-43114': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT.e-43114': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'USDT.e-1313161554': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1666600000', + ], + 'USDbC-8453': [ + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'USDC-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'FRAX-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + ], + 'VSTA-1': ['VSTA-42161'], + 'VSTA-42161': ['VSTA-1'], + 'WAVAX-43114': [ + 'AVAX-1284', + 'AVAX-8217', + 'AVAX-53935', + 'AVAX-1666600000', + 'AVAX-1666600000', + ], + 'WBTC-1': ['WBTC-2000', 'WBTC-8217'], + 'WBTC-2000': ['WBTC-1', 'WBTC-8217'], + 'WBTC-8217': ['WBTC-1', 'WBTC-2000'], + 'WETH-1088': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'WETH.e-43114': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'ETH-53935', + 'nETH-1666600000', + ], + 'WFTM-250': ['FTM-53935'], + 'WJEWEL-53935': [ + 'JEWEL-8217', + 'JEWEL-43114', + 'synJEWEL-1666600000', + 'JEWEL-1666600000', + ], + 'WKLAY-8217': ['KLAY-53935'], + 'WMATIC-137': ['MATIC-53935'], + 'WMOVR-1285': ['MOVR-1284'], + 'axlUSDC-8453': [ + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'USDC-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'FRAX-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + ], + 'crvUSD-8453': [ + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'USDC-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'FRAX-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + ], + 'gOHM-1': [ + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-10': [ + 'gOHM-1', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-25': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-56': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-137': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-250': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-288': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-1088': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-1284': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-1285': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-42161': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-43114', + 'gOHM-1666600000', + ], + 'gOHM-43114': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-1666600000', + ], + 'gOHM-1666600000': [ + 'gOHM-1', + 'gOHM-10', + 'gOHM-25', + 'gOHM-56', + 'gOHM-137', + 'gOHM-250', + 'gOHM-288', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-42161', + 'gOHM-43114', + ], + 'm.USDC-1088': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nETH-10': [ + 'ETH-1', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-250': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-288': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-1088': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-7700': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-8453': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-42161': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-43114': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'ETH-53935', + 'nETH-1666600000', + ], + 'nETH-1666600000': [ + 'ETH-1', + 'nETH-10', + 'ETH-10', + 'nETH-250', + 'nETH-288', + 'ETH-288', + 'WETH-1088', + 'nETH-1088', + 'nETH-7700', + 'ETH-7700', + 'ETH-8453', + 'nETH-8453', + 'nETH-42161', + 'ETH-42161', + 'nETH-43114', + 'WETH.e-43114', + 'ETH-53935', + ], + 'nUSD-1': [ + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'USDT-2000', + 'USDC-2000', + 'DAI-2000', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'DAI-8217', + 'USDC-8217', + 'USDT-8217', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-10': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-25': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-56': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-137': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-250': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-288': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-1088': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-7700': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-42161': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-43114': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'nUSD-1313161554': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1666600000', + ], + 'nUSD-1666600000': [ + 'nUSD-1', + 'DAI-1', + 'USDC-1', + 'USDT-1', + 'nUSD-10', + 'USDC.e-10', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'nUSD-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDC.e-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + ], + 'sUSD-10': [ + 'nUSD-1', + 'DAI-1', + 'DAI-1', + 'USDC-1', + 'USDC-1', + 'USDT-1', + 'USDT-1', + 'nUSD-25', + 'USDC-25', + 'nUSD-56', + 'USDT-56', + 'USDC-56', + 'BUSD-56', + 'USDC-137', + 'DAI-137', + 'nUSD-137', + 'USDT-137', + 'nUSD-250', + 'USDT-288', + 'USDC-288', + 'nUSD-288', + 'DAI-288', + 'nUSD-1088', + 'm.USDC-1088', + 'NOTE-7700', + 'USDC-7700', + 'nUSD-7700', + 'USDT-7700', + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'FRAX-42161', + 'nUSD-42161', + 'nUSD-42161', + 'DAI-42161', + 'USDC.e-42161', + 'USDC.e-42161', + 'USDT-42161', + 'USDT-42161', + 'USDC-42161', + 'USDT-43114', + 'USDC.e-43114', + 'USDC.e-43114', + 'USDC-43114', + 'nUSD-43114', + 'nUSD-43114', + 'USDT.e-43114', + 'USDT.e-43114', + 'DAI.e-43114', + 'DAI.e-43114', + 'USDC-53935', + 'nUSD-1313161554', + 'USDT.e-1313161554', + 'USDC.e-1313161554', + 'nUSD-1666600000', + ], + 'synFRAX-250': [ + 'FRAX-1', + 'synFRAX-1284', + 'synFRAX-1285', + 'FRAX-2000', + 'synFRAX-1666600000', + ], + 'synFRAX-1284': [ + 'FRAX-1', + 'synFRAX-250', + 'synFRAX-1285', + 'FRAX-2000', + 'synFRAX-1666600000', + ], + 'synFRAX-1285': [ + 'FRAX-1', + 'synFRAX-250', + 'synFRAX-1284', + 'FRAX-2000', + 'synFRAX-1666600000', + ], + 'synFRAX-1666600000': [ + 'FRAX-1', + 'synFRAX-250', + 'synFRAX-1284', + 'synFRAX-1285', + 'FRAX-2000', + ], + 'synJEWEL-1666600000': [ + 'JEWEL-8217', + 'JEWEL-43114', + 'WJEWEL-53935', + 'JEWEL-53935', + ], + 'veSOLAR-1284': ['veSOLAR-1285'], + 'veSOLAR-1285': ['veSOLAR-1284'], + 'xJEWEL-53935': ['xJEWEL-1666600000'], + 'xJEWEL-1666600000': ['xJEWEL-53935'], +} diff --git a/packages/synapse-interface/__tests__/getFromChainIds.test.ts b/packages/synapse-interface/__tests__/getFromChainIds.test.ts index 0088e6313b..6f38dc9ae5 100644 --- a/packages/synapse-interface/__tests__/getFromChainIds.test.ts +++ b/packages/synapse-interface/__tests__/getFromChainIds.test.ts @@ -1,27 +1,11 @@ import { expect } from '@jest/globals' import { getFromChainIds } from '@/utils/routeMaker/getFromChainIds' +import { mockRoutes } from './__fixtures__/mockRoutes' jest.mock('../constants/existingBridgeRoutes', () => ({ - __esModule: true, - EXISTING_BRIDGE_ROUTES: { - 'GOHM-1': ['GOHM-10', 'GOHM-25', 'GOHM-56'], - 'GOHM-10': ['GOHM-1', 'GOHM-25', 'GOHM-56'], - 'GOHM-25': ['GOHM-1', 'GOHM-10', 'GOHM-56'], - 'GOHM-56': ['GOHM-1', 'GOHM-10', 'GOHM-25'], - 'HIGH-1': ['HIGH-56'], - 'HIGH-56': ['HIGH-1'], - 'USDC-1': ['USDC-10', 'USDC-25', 'USDC-56', 'NUSD-10'], - 'NUSD-10': ['USDC-1'], - 'USDC-10': ['USDC-1', 'USDC-25', 'USDC-56'], - 'USDC-25': ['USDC-1', 'USDC-10', 'USDC-56'], - 'USDC-56': ['USDC-1', 'USDC-10', 'USDC-25'], - 'SYN-1': ['SYN-10', 'SYN-25', 'SYN-56'], - 'SYN-10': ['SYN-1', 'SYN-25', 'SYN-56'], - 'SYN-25': ['SYN-1', 'SYN-10', 'SYN-56'], - 'SYN-56': ['SYN-1', 'SYN-10', 'SYN-25'], - 'XYZ-50': ['XYZ-1'], - 'XYZ-1': ['XYZ-50'], + get EXISTING_BRIDGE_ROUTES() { + return mockRoutes }, })) @@ -48,7 +32,12 @@ describe('getFromChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([1, 10, 25, 56, 50]) + expect(chainIds.sort()).toEqual( + [ + 1, 10, 1284, 8217, 43114, 53935, 1666600000, 56, 137, 288, 2000, 8453, + 42161, 7700, 250, 1285, 1088, 25, 1313161554, + ].sort() + ) }) it('has fromChainId', () => { @@ -59,7 +48,12 @@ describe('getFromChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([1, 10, 25, 56, 50]) + expect(chainIds.sort()).toEqual( + [ + 1, 10, 1284, 8217, 43114, 53935, 1666600000, 56, 137, 288, 2000, 8453, + 42161, 7700, 250, 1285, 1088, 25, 1313161554, + ].sort() + ) }) it('has fromChainId, toChainId', () => { @@ -70,18 +64,23 @@ describe('getFromChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([1, 25, 56]) + expect(chainIds.sort()).toEqual( + [ + 56, 1, 137, 288, 8453, 42161, 43114, 7700, 53935, 1284, 1285, 25, 250, + 1088, 2000, 1313161554, 1666600000, + ].sort() + ) }) it('has fromChainId, fromToken, toChainId', () => { const chainIds = getFromChainIds({ - fromChainId: 1, - fromTokenRouteSymbol: 'USDC', + fromChainId: 8453, + fromTokenRouteSymbol: 'crvUSD', toChainId: 10, toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([1, 25, 56]) + expect(chainIds).toEqual([8453]) }) it('has fromChainId, fromToken, toChainId, toToken', () => { @@ -92,18 +91,18 @@ describe('getFromChainIds', () => { toTokenRouteSymbol: 'USDC', }) - expect(chainIds).toEqual([1, 25, 56]) + expect(chainIds).toEqual([1, 8453, 42161, 43114]) }) it('has fromChainId, fromToken', () => { const chainIds = getFromChainIds({ - fromChainId: 1, - fromTokenRouteSymbol: 'USDC', + fromChainId: 8453, + fromTokenRouteSymbol: 'crvUSD', toChainId: null, toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([1, 10, 25, 56]) + expect(chainIds).toEqual([8453]) }) it('has fromChainId, toToken', () => { @@ -111,43 +110,60 @@ describe('getFromChainIds', () => { fromChainId: 1, fromTokenRouteSymbol: null, toChainId: null, - toTokenRouteSymbol: 'XYZ', + toTokenRouteSymbol: 'crvUSD', }) - expect(chainIds).toEqual([1, 50]) + expect(chainIds).toEqual([ + 10, 25, 56, 137, 250, 288, 1088, 2000, 7700, 8217, 8453, 42161, 43114, + 53935, 1313161554, 1666600000, 1, + ]) }) it('has toChainId', () => { const chainIds = getFromChainIds({ fromChainId: null, fromTokenRouteSymbol: null, - toChainId: 50, + toChainId: 8217, toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([1]) + expect(chainIds).toEqual([1284, 43114, 53935, 1666600000, 1, 2000]) }) it('has toChainId, toToken', () => { + const chainIds = getFromChainIds({ + fromChainId: null, + fromTokenRouteSymbol: null, + toChainId: 1088, + toTokenRouteSymbol: 'm.USDC', + }) + + expect(chainIds).toEqual([ + 56, 1, 10, 137, 288, 42161, 43114, 7700, 25, 53935, 1313161554, 250, + 1666600000, + ]) + }) + + it('has toChainId, toToken, non-existent path', () => { const chainIds = getFromChainIds({ fromChainId: null, fromTokenRouteSymbol: null, toChainId: 50, - toTokenRouteSymbol: 'XYZ', + toTokenRouteSymbol: 'crvUSD', }) - expect(chainIds).toEqual([1]) + expect(chainIds).toEqual([]) }) it('has fromToken', () => { const chainIds = getFromChainIds({ fromChainId: null, - fromTokenRouteSymbol: 'USDC', + fromTokenRouteSymbol: 'crvUSD', toChainId: null, toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([1, 10, 25, 56]) + expect(chainIds).toEqual([8453]) }) it('has fromToken, toToken', () => { @@ -158,7 +174,11 @@ describe('getFromChainIds', () => { toTokenRouteSymbol: 'USDC', }) - expect(chainIds.sort()).toEqual([1, 10, 25, 56].sort()) + expect(chainIds.sort()).toEqual( + [ + 1, 10, 137, 2000, 25, 288, 42161, 43114, 53935, 56, 7700, 8217, 8453, + ].sort() + ) }) it('has toToken', () => { @@ -166,9 +186,14 @@ describe('getFromChainIds', () => { fromChainId: null, fromTokenRouteSymbol: null, toChainId: null, - toTokenRouteSymbol: 'XYZ', + toTokenRouteSymbol: 'USDC.e', }) - expect(chainIds.sort()).toEqual([50, 1].sort()) + expect(chainIds.sort()).toEqual( + [ + 1, 10, 1088, 1313161554, 137, 1666600000, 2000, 25, 250, 288, 42161, + 43114, 53935, 56, 7700, 8217, 8453, + ].sort() + ) }) }) diff --git a/packages/synapse-interface/__tests__/getFromTokens.test.ts b/packages/synapse-interface/__tests__/getFromTokens.test.ts index 74d463a927..9d0eaed553 100644 --- a/packages/synapse-interface/__tests__/getFromTokens.test.ts +++ b/packages/synapse-interface/__tests__/getFromTokens.test.ts @@ -1,27 +1,11 @@ import { expect } from '@jest/globals' import { getFromTokens } from '@/utils/routeMaker/getFromTokens' +import { mockRoutes } from './__fixtures__/mockRoutes' jest.mock('../constants/existingBridgeRoutes', () => ({ - __esModule: true, - EXISTING_BRIDGE_ROUTES: { - 'GOHM-1': ['GOHM-10', 'GOHM-25', 'GOHM-56'], - 'GOHM-10': ['GOHM-1', 'GOHM-25', 'GOHM-56'], - 'GOHM-25': ['GOHM-1', 'GOHM-10', 'GOHM-56'], - 'GOHM-56': ['GOHM-1', 'GOHM-10', 'GOHM-25'], - 'HIGH-1': ['HIGH-56'], - 'HIGH-56': ['HIGH-1'], - 'USDC-1': ['USDC-10', 'USDC-25', 'USDC-56', 'NUSD-10'], - 'NUSD-10': ['USDC-1'], - 'USDC-10': ['USDC-1', 'USDC-25', 'USDC-56'], - 'USDC-25': ['USDC-1', 'USDC-10', 'USDC-56'], - 'USDC-56': ['USDC-1', 'USDC-10', 'USDC-25'], - 'SYN-1': ['SYN-10', 'SYN-25', 'SYN-56'], - 'SYN-10': ['SYN-1', 'SYN-25', 'SYN-56'], - 'SYN-25': ['SYN-1', 'SYN-10', 'SYN-56'], - 'SYN-56': ['SYN-1', 'SYN-10', 'SYN-25'], - 'XYZ-50': ['XYZ-1'], - 'XYZ-1': ['XYZ-50'], + get EXISTING_BRIDGE_ROUTES() { + return mockRoutes }, })) @@ -32,7 +16,7 @@ jest.mock('../utils/flattenPausedTokens', () => ({ }), })) -jest.mock('../constants/tokens/brideable', () => ({ +jest.mock('../constants/tokens/bridgeable', () => ({ __esModule: true, '*': jest.fn(() => { return [] @@ -50,194 +34,489 @@ describe('getFromTokens', () => { expect(fromTokens.sort()).toEqual( [ - 'GOHM-1', - 'GOHM-10', - 'GOHM-25', - 'GOHM-56', + 'AVAX-1284', + 'AVAX-1666600000', + 'AVAX-43114', + 'AVAX-53935', + 'AVAX-8217', + 'BTC.b-43114', + 'BTC.b-53935', + 'BTC.b-8217', + 'BUSD-56', + 'DAI-1', + 'DAI-10', + 'DAI-137', + 'DAI-2000', + 'DAI-288', + 'DAI-42161', + 'DAI-8217', + 'DAI-8453', + 'DAI.e-43114', + 'DOG-1', + 'DOG-137', + 'DOG-56', + 'ETH-1', + 'ETH-10', + 'ETH-288', + 'ETH-42161', + 'ETH-53935', + 'ETH-7700', + 'ETH-8453', + 'FRAX-1', + 'FRAX-2000', + 'FRAX-42161', + 'FTM-250', + 'FTM-53935', + 'GMX-42161', + 'GMX-43114', + 'H2O-1', + 'H2O-10', + 'H2O-1284', + 'H2O-1285', + 'H2O-137', + 'H2O-42161', + 'H2O-43114', + 'H2O-56', 'HIGH-1', 'HIGH-56', - 'USDC-1', - 'USDC-10', - 'NUSD-10', - 'USDC-25', - 'USDC-56', + 'JEWEL-1666600000', + 'JEWEL-43114', + 'JEWEL-53935', + 'JEWEL-8217', + 'JUMP-1088', + 'JUMP-250', + 'JUMP-56', + 'KLAY-53935', + 'KLAY-8217', + 'L2DAO-10', + 'L2DAO-42161', + 'LINK-1', + 'LINK-8217', + 'MATIC-137', + 'MATIC-53935', + 'MOVR-1284', + 'MOVR-1285', + 'NEWO-1', + 'NEWO-42161', + 'NEWO-43114', + 'NFD-137', + 'NFD-2000', + 'NFD-43114', + 'NFD-56', + 'NOTE-7700', + 'PEPE-1', + 'PEPE-42161', + 'PLS-10', + 'PLS-42161', + 'SDT-1', + 'SDT-1666600000', + 'SDT-250', + 'SDT-42161', + 'SDT-43114', + 'SFI-1', + 'SFI-43114', 'SYN-1', 'SYN-10', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-1313161554', + 'SYN-137', + 'SYN-1666600000', + 'SYN-2000', 'SYN-25', + 'SYN-250', + 'SYN-288', + 'SYN-42161', + 'SYN-43114', 'SYN-56', - 'XYZ-50', - 'XYZ-1', + 'SYN-7700', + 'SYN-8453', + 'UNIDX-1', + 'UNIDX-10', + 'UNIDX-250', + 'UNIDX-42161', + 'UNIDX-8453', + 'USDC-1', + 'USDC-10', + 'USDC-137', + 'USDC-2000', + 'USDC-25', + 'USDC-288', + 'USDC-42161', + 'USDC-43114', + 'USDC-53935', + 'USDC-56', + 'USDC-7700', + 'USDC-8217', + 'USDC-8453', + 'USDC.e-10', + 'USDC.e-1313161554', + 'USDC.e-42161', + 'USDC.e-43114', + 'USDT-1', + 'USDT-10', + 'USDT-137', + 'USDT-2000', + 'USDT-288', + 'USDT-42161', + 'USDT-43114', + 'USDT-56', + 'USDT-7700', + 'USDT-8217', + 'USDT.e-1313161554', + 'USDT.e-43114', + 'USDbC-8453', + 'VSTA-1', + 'VSTA-42161', + 'WAVAX-43114', + 'WBTC-1', + 'WBTC-2000', + 'WBTC-8217', + 'WETH-1088', + 'WETH.e-43114', + 'WFTM-250', + 'WJEWEL-53935', + 'WKLAY-8217', + 'WMATIC-137', + 'WMOVR-1285', + 'axlUSDC-8453', + 'crvUSD-8453', + 'gOHM-1', + 'gOHM-10', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-137', + 'gOHM-1666600000', + 'gOHM-25', + 'gOHM-250', + 'gOHM-288', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-56', + 'm.USDC-1088', + 'nETH-10', + 'nETH-1088', + 'nETH-1666600000', + 'nETH-250', + 'nETH-288', + 'nETH-42161', + 'nETH-43114', + 'nETH-7700', + 'nETH-8453', + 'nUSD-1', + 'nUSD-10', + 'nUSD-1088', + 'nUSD-1313161554', + 'nUSD-137', + 'nUSD-1666600000', + 'nUSD-25', + 'nUSD-250', + 'nUSD-288', + 'nUSD-42161', + 'nUSD-43114', + 'nUSD-56', + 'nUSD-7700', + 'sUSD-10', + 'synFRAX-1284', + 'synFRAX-1285', + 'synFRAX-1666600000', + 'synFRAX-250', + 'synJEWEL-1666600000', + 'veSOLAR-1284', + 'veSOLAR-1285', + 'xJEWEL-1666600000', + 'xJEWEL-53935', ].sort() ) }) it('has fromChainId', () => { const fromTokens = getFromTokens({ - fromChainId: 1, + fromChainId: 8453, fromTokenRouteSymbol: null, toChainId: null, toTokenRouteSymbol: null, }) - expect(fromTokens).toEqual(['GOHM-1', 'HIGH-1', 'USDC-1', 'SYN-1', 'XYZ-1']) + expect(fromTokens).toEqual([ + 'DAI-8453', + 'ETH-8453', + 'SYN-8453', + 'UNIDX-8453', + 'USDC-8453', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + 'nETH-8453', + ]) }) it('has fromChainId, toChainId', () => { const fromTokens = getFromTokens({ - fromChainId: 1, + fromChainId: 8453, fromTokenRouteSymbol: null, toChainId: 10, toTokenRouteSymbol: null, }) - expect(fromTokens).toEqual(['GOHM-1', 'USDC-1', 'SYN-1']) + expect(fromTokens).toEqual([ + 'DAI-8453', + 'ETH-8453', + 'SYN-8453', + 'UNIDX-8453', + 'USDC-8453', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + 'nETH-8453', + ]) }) it('has fromChainId, fromToken, toChainId', () => { const fromTokens = getFromTokens({ - fromChainId: 1, - fromTokenRouteSymbol: 'USDC', + fromChainId: 8453, + fromTokenRouteSymbol: 'crvUSD', toChainId: 10, toTokenRouteSymbol: null, }) - expect(fromTokens.sort()).toEqual(['GOHM-1', 'USDC-1', 'SYN-1'].sort()) + expect(fromTokens.sort()).toEqual( + [ + 'DAI-8453', + 'ETH-8453', + 'SYN-8453', + 'UNIDX-8453', + 'USDC-8453', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + 'nETH-8453', + ].sort() + ) }) it('has fromChainId, fromToken, toChainId, toToken', () => { const fromTokens = getFromTokens({ - fromChainId: 1, - fromTokenRouteSymbol: 'USDC', + fromChainId: 8453, + fromTokenRouteSymbol: 'crvUSD', toChainId: 10, toTokenRouteSymbol: 'USDC', }) - expect(fromTokens).toEqual(['USDC-1']) + expect(fromTokens).toEqual([ + 'DAI-8453', + 'USDC-8453', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + ]) }) it('has fromChainId, fromToken', () => { const fromTokens = getFromTokens({ - fromChainId: 1, + fromChainId: 8453, fromTokenRouteSymbol: 'USDC', toChainId: null, toTokenRouteSymbol: null, }) - expect(fromTokens).toEqual(['GOHM-1', 'HIGH-1', 'USDC-1', 'SYN-1', 'XYZ-1']) + expect(fromTokens).toEqual([ + 'DAI-8453', + 'ETH-8453', + 'SYN-8453', + 'UNIDX-8453', + 'USDC-8453', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + 'nETH-8453', + ]) }) - it('has fromChainId, fromToken, NUSD', () => { + it('has fromChainId, toToken', () => { const fromTokens = getFromTokens({ - fromChainId: 10, - fromTokenRouteSymbol: 'NUSD', - toChainId: null, - toTokenRouteSymbol: null, - }) - - expect(fromTokens.sort()).toEqual( - ['GOHM-10', 'NUSD-10', 'USDC-10', 'SYN-10'].sort() - ) - }) - - it('has fromChainId, toToken, single', () => { - const fromTokens = getFromTokens({ - fromChainId: 1, - fromTokenRouteSymbol: null, - toChainId: null, - toTokenRouteSymbol: 'XYZ', - }) - - expect(fromTokens).toEqual(['XYZ-1']) - }) - - it('has fromChainId, toToken, multiple', () => { - const fromTokens = getFromTokens({ - fromChainId: 1, + fromChainId: 8453, fromTokenRouteSymbol: null, toChainId: null, toTokenRouteSymbol: 'USDC', }) - expect(fromTokens).toEqual(['USDC-1']) + expect(fromTokens).toEqual([ + 'DAI-8453', + 'USDC-8453', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + ]) }) it('has toChainId', () => { const fromTokens = getFromTokens({ fromChainId: null, fromTokenRouteSymbol: null, - toChainId: 50, + toChainId: 8453, toTokenRouteSymbol: null, }) - expect(fromTokens).toEqual(['XYZ-1']) + expect(fromTokens).toEqual([ + 'DAI-1', + 'DAI-10', + 'DAI-42161', + 'DAI.e-43114', + 'ETH-1', + 'ETH-10', + 'ETH-288', + 'ETH-7700', + 'ETH-42161', + 'ETH-53935', + 'FRAX-42161', + 'SYN-1', + 'SYN-10', + 'SYN-25', + 'SYN-56', + 'SYN-137', + 'SYN-250', + 'SYN-288', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-2000', + 'SYN-7700', + 'SYN-42161', + 'SYN-43114', + 'SYN-1313161554', + 'SYN-1666600000', + 'UNIDX-1', + 'UNIDX-10', + 'UNIDX-250', + 'UNIDX-42161', + 'USDC-1', + 'USDC-10', + 'USDC-42161', + 'USDC-43114', + 'USDC.e-10', + 'USDC.e-42161', + 'USDC.e-43114', + 'USDT-1', + 'USDT-10', + 'USDT-42161', + 'USDT-43114', + 'USDT.e-43114', + 'WETH-1088', + 'WETH.e-43114', + 'nETH-10', + 'nETH-250', + 'nETH-288', + 'nETH-1088', + 'nETH-7700', + 'nETH-42161', + 'nETH-43114', + 'nETH-1666600000', + 'nUSD-42161', + 'nUSD-43114', + 'sUSD-10', + ]) }) it('has toChainId, toToken', () => { const fromTokens = getFromTokens({ fromChainId: null, fromTokenRouteSymbol: null, - toChainId: 50, - toTokenRouteSymbol: 'XYZ', + toChainId: 8453, + toTokenRouteSymbol: 'ETH', }) - expect(fromTokens).toEqual(['XYZ-1']) + expect(fromTokens).toEqual([ + 'ETH-1', + 'ETH-10', + 'ETH-288', + 'ETH-7700', + 'ETH-42161', + 'ETH-53935', + 'WETH-1088', + 'WETH.e-43114', + 'nETH-10', + 'nETH-250', + 'nETH-288', + 'nETH-1088', + 'nETH-7700', + 'nETH-42161', + 'nETH-43114', + 'nETH-1666600000', + ]) }) - it('has fromToken', () => { + it('has fromToken, toToken', () => { const fromTokens = getFromTokens({ fromChainId: null, - fromTokenRouteSymbol: 'USDC', + fromTokenRouteSymbol: 'crvUSD', toChainId: null, - toTokenRouteSymbol: null, + toTokenRouteSymbol: 'USDC', }) expect(fromTokens.sort()).toEqual( [ - 'GOHM-1', - 'GOHM-10', - 'GOHM-25', - 'GOHM-56', - 'HIGH-1', - 'HIGH-56', + 'BUSD-56', + 'DAI-1', + 'DAI-10', + 'DAI-137', + 'DAI-288', + 'DAI-42161', + 'DAI-8453', + 'DAI.e-43114', + 'FRAX-42161', + 'NOTE-7700', 'USDC-1', - 'NUSD-10', 'USDC-10', + 'USDC-137', + 'USDC-2000', 'USDC-25', + 'USDC-288', + 'USDC-42161', + 'USDC-43114', + 'USDC-53935', 'USDC-56', - 'SYN-1', - 'SYN-10', - 'SYN-25', - 'SYN-56', - 'XYZ-50', - 'XYZ-1', + 'USDC-7700', + 'USDC-8217', + 'USDC-8453', + 'USDC.e-10', + 'USDC.e-1313161554', + 'USDC.e-42161', + 'USDC.e-43114', + 'USDT-1', + 'USDT-10', + 'USDT-137', + 'USDT-288', + 'USDT-42161', + 'USDT-43114', + 'USDT-56', + 'USDT-7700', + 'USDT.e-1313161554', + 'USDT.e-43114', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + 'm.USDC-1088', + 'nUSD-1', + 'nUSD-10', + 'nUSD-1088', + 'nUSD-1313161554', + 'nUSD-137', + 'nUSD-1666600000', + 'nUSD-25', + 'nUSD-250', + 'nUSD-288', + 'nUSD-42161', + 'nUSD-43114', + 'nUSD-56', + 'nUSD-7700', + 'sUSD-10', ].sort() ) }) - it('has fromToken, toToken', () => { - const fromTokens = getFromTokens({ - fromChainId: null, - fromTokenRouteSymbol: 'USDC', - toChainId: null, - toTokenRouteSymbol: 'USDC', - }) - - expect(fromTokens.sort()).toEqual( - ['USDC-1', 'NUSD-10', 'USDC-10', 'USDC-25', 'USDC-56'].sort() - ) - }) - - it('has toToken', () => { - const fromTokens = getFromTokens({ - fromChainId: null, - fromTokenRouteSymbol: null, - toChainId: null, - toTokenRouteSymbol: 'XYZ', - }) - - expect(fromTokens.sort()).toEqual(['XYZ-50', 'XYZ-1'].sort()) - }) - it('has FromChainId and fromToken', () => { const fromTokens = getFromTokens({ fromChainId: 10, @@ -247,7 +526,22 @@ describe('getFromTokens', () => { }) expect(fromTokens.sort()).toEqual( - ['NUSD-10', 'GOHM-10', 'USDC-10', 'SYN-10'].sort() + [ + 'DAI-10', + 'ETH-10', + 'H2O-10', + 'L2DAO-10', + 'PLS-10', + 'SYN-10', + 'UNIDX-10', + 'USDC-10', + 'USDC.e-10', + 'USDT-10', + 'gOHM-10', + 'nETH-10', + 'nUSD-10', + 'sUSD-10', + ].sort() ) }) }) diff --git a/packages/synapse-interface/__tests__/getToChainIds.test.ts b/packages/synapse-interface/__tests__/getToChainIds.test.ts index 024fbbfb04..fce9833937 100644 --- a/packages/synapse-interface/__tests__/getToChainIds.test.ts +++ b/packages/synapse-interface/__tests__/getToChainIds.test.ts @@ -1,27 +1,11 @@ import { expect } from '@jest/globals' import { getToChainIds } from '@/utils/routeMaker/getToChainIds' +import { mockRoutes } from './__fixtures__/mockRoutes' jest.mock('../constants/existingBridgeRoutes', () => ({ - __esModule: true, - EXISTING_BRIDGE_ROUTES: { - 'GOHM-1': ['GOHM-10', 'GOHM-25', 'GOHM-56'], - 'GOHM-10': ['GOHM-1', 'GOHM-25', 'GOHM-56'], - 'GOHM-25': ['GOHM-1', 'GOHM-10', 'GOHM-56'], - 'GOHM-56': ['GOHM-1', 'GOHM-10', 'GOHM-25'], - 'HIGH-1': ['HIGH-56'], - 'HIGH-56': ['HIGH-1'], - 'USDC-1': ['USDC-10', 'USDC-25', 'USDC-56', 'NUSD-10'], - 'NUSD-10': ['USDC-1', 'BUSD-56'], - 'USDC-10': ['USDC-1', 'USDC-25', 'USDC-56'], - 'USDC-25': ['USDC-1', 'USDC-10', 'USDC-56'], - 'USDC-56': ['USDC-1', 'USDC-10', 'USDC-25'], - 'SYN-1': ['SYN-10', 'SYN-25', 'SYN-56'], - 'SYN-10': ['SYN-1', 'SYN-25', 'SYN-56'], - 'SYN-25': ['SYN-1', 'SYN-10', 'SYN-56'], - 'SYN-56': ['SYN-1', 'SYN-10', 'SYN-25'], - 'XYZ-50': ['XYZ-1', 'ABC-1'], - 'XYZ-1': ['XYZ-50', 'ABC-56'], + get EXISTING_BRIDGE_ROUTES() { + return mockRoutes }, })) @@ -48,18 +32,21 @@ describe('getToChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([10, 25, 56, 1, 50]) + expect(chainIds).toEqual([ + 8217, 43114, 53935, 1666600000, 1284, 1, 10, 25, 137, 250, 288, 1088, + 7700, 42161, 1313161554, 56, 2000, 8453, 1285, + ]) }) it('has fromChainId', () => { const chainIds = getToChainIds({ - fromChainId: 1, + fromChainId: 8217, fromTokenRouteSymbol: null, toChainId: null, toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([10, 25, 56, 50]) + expect(chainIds).toEqual([1284, 43114, 53935, 1666600000, 1, 2000]) }) it('has fromChainId, toChainId', () => { @@ -70,7 +57,12 @@ describe('getToChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds.sort()).toEqual([10, 25, 56, 50].sort()) + expect(chainIds.sort()).toEqual( + [ + 10, 1088, 1284, 1285, 1313161554, 137, 1666600000, 2000, 25, 250, 288, + 42161, 43114, 53935, 56, 7700, 8217, 8453, + ].sort() + ) }) it('has fromChainId, fromToken, toChainId', () => { @@ -81,18 +73,21 @@ describe('getToChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([10, 25, 56]) + expect(chainIds).toEqual([ + 10, 25, 56, 137, 250, 288, 1088, 2000, 7700, 8217, 8453, 42161, 43114, + 53935, 1313161554, 1666600000, + ]) }) it('has fromChainId, fromToken, toToken', () => { const chainIds = getToChainIds({ fromChainId: 10, - fromTokenRouteSymbol: 'NUSD', + fromTokenRouteSymbol: 'nUSD', toChainId: null, toTokenRouteSymbol: 'BUSD', }) - expect(chainIds).toEqual([1, 56]) + expect(chainIds).toEqual([56]) }) it('has fromChainId, fromToken, toChainId, toToken', () => { @@ -103,7 +98,10 @@ describe('getToChainIds', () => { toTokenRouteSymbol: 'USDC', }) - expect(chainIds).toEqual([1, 10, 25, 56]) + expect(chainIds).toEqual([ + 56, 1, 10, 137, 288, 8453, 42161, 43114, 7700, 25, 2000, 8217, 53935, + 1313161554, 1088, 250, 1666600000, + ]) }) it('has fromChainId, fromToken', () => { @@ -114,7 +112,10 @@ describe('getToChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([10, 25, 56]) + expect(chainIds).toEqual([ + 10, 25, 56, 137, 250, 288, 1088, 2000, 7700, 8217, 8453, 42161, 43114, + 53935, 1313161554, 1666600000, + ]) }) it('has fromChainId, toToken', () => { @@ -122,24 +123,15 @@ describe('getToChainIds', () => { fromChainId: 1, fromTokenRouteSymbol: null, toChainId: null, - toTokenRouteSymbol: 'XYZ', - }) - - expect(chainIds).toEqual([50]) - }) - - it('has toChainId, signle', () => { - const chainIds = getToChainIds({ - fromChainId: null, - fromTokenRouteSymbol: null, - toChainId: 50, - toTokenRouteSymbol: null, + toTokenRouteSymbol: 'USDC', }) - expect(chainIds.sort()).toEqual([10, 25, 56, 1, 50].sort()) + expect(chainIds).toEqual([ + 10, 25, 56, 137, 288, 2000, 7700, 8217, 8453, 42161, 43114, 53935, + ]) }) - it('has toChainId, multiple', () => { + it('has toChainId', () => { const chainIds = getToChainIds({ fromChainId: null, fromTokenRouteSymbol: null, @@ -147,18 +139,23 @@ describe('getToChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds.sort()).toEqual([10, 25, 56, 1, 50].sort()) + expect(chainIds.sort()).toEqual( + [ + 1, 10, 1088, 1284, 1285, 1313161554, 137, 1666600000, 2000, 25, 250, + 288, 42161, 43114, 53935, 56, 7700, 8217, 8453, + ].sort() + ) }) it('has toChainId, toToken', () => { const chainIds = getToChainIds({ fromChainId: null, fromTokenRouteSymbol: null, - toChainId: 50, - toTokenRouteSymbol: 'XYZ', + toChainId: 1088, + toTokenRouteSymbol: 'm.USDC', }) - expect(chainIds.sort()).toEqual([1, 50].sort()) + expect(chainIds).toEqual([1088]) }) it('has fromToken', () => { @@ -169,7 +166,10 @@ describe('getToChainIds', () => { toTokenRouteSymbol: null, }) - expect(chainIds).toEqual([10, 25, 56, 1]) + expect(chainIds).toEqual([ + 10, 25, 56, 137, 250, 288, 1088, 2000, 7700, 8217, 8453, 42161, 43114, + 53935, 1313161554, 1666600000, 1, + ]) }) it('has fromToken, toToken', () => { @@ -177,20 +177,20 @@ describe('getToChainIds', () => { fromChainId: null, fromTokenRouteSymbol: 'USDC', toChainId: null, - toTokenRouteSymbol: 'USDC', + toTokenRouteSymbol: 'BUSD', }) - expect(chainIds).toEqual([10, 25, 56, 1]) + expect(chainIds).toEqual([56]) }) - it('has toToken', () => { + it('has toToken, m.USDC', () => { const chainIds = getToChainIds({ fromChainId: null, fromTokenRouteSymbol: null, toChainId: null, - toTokenRouteSymbol: 'XYZ', + toTokenRouteSymbol: 'm.USDC', }) - expect(chainIds.sort()).toEqual([1, 50].sort()) + expect(chainIds).toEqual([1088]) }) }) diff --git a/packages/synapse-interface/__tests__/getToTokens.test.ts b/packages/synapse-interface/__tests__/getToTokens.test.ts index 434c015c47..1c46ebfe77 100644 --- a/packages/synapse-interface/__tests__/getToTokens.test.ts +++ b/packages/synapse-interface/__tests__/getToTokens.test.ts @@ -1,27 +1,11 @@ import { expect } from '@jest/globals' import { getToTokens } from '@/utils/routeMaker/getToTokens' +import { mockRoutes } from './__fixtures__/mockRoutes' jest.mock('../constants/existingBridgeRoutes', () => ({ - __esModule: true, - EXISTING_BRIDGE_ROUTES: { - 'GOHM-1': ['GOHM-10', 'GOHM-25', 'GOHM-56'], - 'GOHM-10': ['GOHM-1', 'GOHM-25', 'GOHM-56'], - 'GOHM-25': ['GOHM-1', 'GOHM-10', 'GOHM-56'], - 'GOHM-56': ['GOHM-1', 'GOHM-10', 'GOHM-25'], - 'HIGH-1': ['HIGH-56'], - 'HIGH-56': ['HIGH-1'], - 'USDC-1': ['USDC-10', 'USDC-25', 'USDC-56', 'NUSD-10'], - 'NUSD-10': ['USDC-1'], - 'USDC-10': ['USDC-1', 'USDC-25', 'USDC-56'], - 'USDC-25': ['USDC-1', 'USDC-10', 'USDC-56'], - 'USDC-56': ['USDC-1', 'USDC-10', 'USDC-25'], - 'SYN-1': ['SYN-10', 'SYN-25', 'SYN-56'], - 'SYN-10': ['SYN-1', 'SYN-25', 'SYN-56'], - 'SYN-25': ['SYN-1', 'SYN-10', 'SYN-56'], - 'SYN-56': ['SYN-1', 'SYN-10', 'SYN-25'], - 'XYZ-50': ['XYZ-1'], - 'XYZ-1': ['XYZ-50'], + get EXISTING_BRIDGE_ROUTES() { + return mockRoutes }, })) @@ -40,40 +24,9 @@ jest.mock('../constants/tokens/bridgeable', () => ({ })) describe('getToTokens', () => { - it('all entries null', () => { - const toTokens = getToTokens({ - fromChainId: null, - fromTokenRouteSymbol: null, - toChainId: null, - toTokenRouteSymbol: null, - }) - - expect(toTokens.sort()).toEqual( - [ - 'GOHM-10', - 'GOHM-25', - 'GOHM-56', - 'GOHM-1', - 'HIGH-56', - 'HIGH-1', - 'NUSD-10', - 'USDC-10', - 'USDC-25', - 'USDC-56', - 'USDC-1', - 'SYN-10', - 'SYN-25', - 'SYN-56', - 'SYN-1', - 'XYZ-1', - 'XYZ-50', - ].sort() - ) - }) - it('has fromChainId', () => { const toTokens = getToTokens({ - fromChainId: 1, + fromChainId: 8217, fromTokenRouteSymbol: null, toChainId: null, toTokenRouteSymbol: null, @@ -81,18 +34,28 @@ describe('getToTokens', () => { expect(toTokens.sort()).toEqual( [ - 'GOHM-10', - 'GOHM-25', - 'GOHM-56', - 'HIGH-56', - 'NUSD-10', - 'USDC-10', - 'USDC-25', - 'USDC-56', - 'SYN-10', - 'SYN-25', - 'SYN-56', - 'XYZ-50', + 'AVAX-1284', + 'AVAX-1666600000', + 'AVAX-43114', + 'AVAX-53935', + 'BTC.b-43114', + 'BTC.b-53935', + 'DAI-1', + 'DAI-2000', + 'JEWEL-1666600000', + 'JEWEL-43114', + 'JEWEL-53935', + 'KLAY-53935', + 'LINK-1', + 'USDC-1', + 'USDC-2000', + 'USDT-1', + 'USDT-2000', + 'WAVAX-43114', + 'WBTC-1', + 'WBTC-2000', + 'WJEWEL-53935', + 'synJEWEL-1666600000', ].sort() ) }) @@ -101,22 +64,38 @@ describe('getToTokens', () => { const toTokens = getToTokens({ fromChainId: 1, fromTokenRouteSymbol: null, - toChainId: 10, + toChainId: 8453, toTokenRouteSymbol: null, }) - expect(toTokens).toEqual(['GOHM-10', 'USDC-10', 'NUSD-10', 'SYN-10']) + expect(toTokens).toEqual([ + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'ETH-8453', + 'nETH-8453', + 'SYN-8453', + 'UNIDX-8453', + ]) }) it('has fromChainId, fromToken, toChainId', () => { const toTokens = getToTokens({ - fromChainId: 1, - fromTokenRouteSymbol: 'USDC', + fromChainId: 8453, + fromTokenRouteSymbol: 'crvUSD', toChainId: 10, toTokenRouteSymbol: null, }) - expect(toTokens).toEqual(['USDC-10', 'NUSD-10']) + expect(toTokens).toEqual([ + 'USDC-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + ]) }) it('has fromTokenRouteSymbol, toChainId', () => { @@ -127,7 +106,14 @@ describe('getToTokens', () => { toTokenRouteSymbol: null, }) - expect(toTokens).toEqual(['USDC-10', 'NUSD-10']) + expect(toTokens).toEqual([ + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + ]) }) it('has fromChainId, fromToken, toChainId, toToken', () => { @@ -138,70 +124,150 @@ describe('getToTokens', () => { toTokenRouteSymbol: 'USDC', }) - expect(toTokens).toEqual(['USDC-10', 'NUSD-10']) + expect(toTokens).toEqual([ + 'USDC-10', + 'nUSD-10', + 'USDC.e-10', + 'sUSD-10', + 'USDT-10', + 'DAI-10', + ]) }) it('has fromChainId, fromToken', () => { const toTokens = getToTokens({ - fromChainId: 1, - fromTokenRouteSymbol: 'USDC', + fromChainId: 8217, + fromTokenRouteSymbol: 'BTC.b', toChainId: null, toTokenRouteSymbol: null, }) - expect(toTokens.sort()).toEqual( - ['NUSD-10', 'USDC-10', 'USDC-25', 'USDC-56'].sort() - ) + expect(toTokens).toEqual(['BTC.b-43114', 'BTC.b-53935']) }) - it('has fromChainId, toToken, single', () => { + it('has fromChainId, toToken', () => { const toTokens = getToTokens({ - fromChainId: 1, + fromChainId: 42161, fromTokenRouteSymbol: null, toChainId: null, - toTokenRouteSymbol: 'XYZ', + toTokenRouteSymbol: 'crvUSD', }) expect(toTokens.sort()).toEqual( [ - 'GOHM-10', - 'GOHM-25', - 'GOHM-56', - 'HIGH-56', - 'USDC-10', - 'USDC-25', - 'USDC-56', - 'NUSD-10', + 'BUSD-56', + 'DAI-1', + 'DAI-10', + 'DAI-137', + 'DAI-288', + 'DAI-8453', + 'DAI.e-43114', + 'ETH-1', + 'ETH-10', + 'ETH-288', + 'ETH-53935', + 'ETH-7700', + 'ETH-8453', + 'GMX-43114', + 'H2O-1', + 'H2O-10', + 'H2O-1284', + 'H2O-1285', + 'H2O-137', + 'H2O-43114', + 'H2O-56', + 'L2DAO-10', + 'NEWO-1', + 'NEWO-43114', + 'NOTE-7700', + 'PEPE-1', + 'PLS-10', + 'SDT-1', + 'SDT-1666600000', + 'SDT-250', + 'SDT-43114', + 'SYN-1', 'SYN-10', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-1313161554', + 'SYN-137', + 'SYN-1666600000', + 'SYN-2000', 'SYN-25', + 'SYN-250', + 'SYN-288', + 'SYN-43114', 'SYN-56', - 'XYZ-50', - ].sort() - ) - }) - - it('has fromChainId, toToken, multiple', () => { - const toTokens = getToTokens({ - fromChainId: 1, - fromTokenRouteSymbol: null, - toChainId: null, - toTokenRouteSymbol: 'USDC', - }) - - expect(toTokens.sort()).toEqual( - [ - 'GOHM-10', - 'GOHM-25', - 'GOHM-56', - 'HIGH-56', + 'SYN-7700', + 'SYN-8453', + 'UNIDX-1', + 'UNIDX-10', + 'UNIDX-250', + 'UNIDX-8453', + 'USDC-1', 'USDC-10', + 'USDC-137', 'USDC-25', + 'USDC-288', + 'USDC-43114', + 'USDC-53935', 'USDC-56', - 'NUSD-10', - 'SYN-10', - 'SYN-25', - 'SYN-56', - 'XYZ-50', + 'USDC-7700', + 'USDC-8453', + 'USDC.e-10', + 'USDC.e-1313161554', + 'USDC.e-43114', + 'USDT-1', + 'USDT-10', + 'USDT-137', + 'USDT-288', + 'USDT-43114', + 'USDT-56', + 'USDT-7700', + 'USDT.e-1313161554', + 'USDT.e-43114', + 'USDbC-8453', + 'VSTA-1', + 'WETH-1088', + 'WETH.e-43114', + 'axlUSDC-8453', + 'crvUSD-8453', + 'gOHM-1', + 'gOHM-10', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-137', + 'gOHM-1666600000', + 'gOHM-25', + 'gOHM-250', + 'gOHM-288', + 'gOHM-43114', + 'gOHM-56', + 'm.USDC-1088', + 'nETH-10', + 'nETH-1088', + 'nETH-1666600000', + 'nETH-250', + 'nETH-288', + 'nETH-43114', + 'nETH-7700', + 'nETH-8453', + 'nUSD-1', + 'nUSD-10', + 'nUSD-1088', + 'nUSD-1313161554', + 'nUSD-137', + 'nUSD-1666600000', + 'nUSD-25', + 'nUSD-250', + 'nUSD-288', + 'nUSD-43114', + 'nUSD-56', + 'nUSD-7700', + 'sUSD-10', ].sort() ) }) @@ -210,34 +276,45 @@ describe('getToTokens', () => { const toTokens = getToTokens({ fromChainId: null, fromTokenRouteSymbol: null, - toChainId: 50, + toChainId: 8453, toTokenRouteSymbol: null, }) - expect(toTokens).toEqual(['XYZ-50']) + expect(toTokens).toEqual([ + 'crvUSD-8453', + 'DAI-8453', + 'USDC-8453', + 'axlUSDC-8453', + 'USDbC-8453', + 'ETH-8453', + 'nETH-8453', + 'SYN-8453', + 'UNIDX-8453', + ]) }) it('has toChainId, toToken', () => { const toTokens = getToTokens({ fromChainId: null, fromTokenRouteSymbol: null, - toChainId: 50, - toTokenRouteSymbol: 'XYZ', + toChainId: 8453, + toTokenRouteSymbol: 'crvUSD', }) - expect(toTokens).toEqual(['XYZ-50']) + // NOTE: is this right behavior? + expect(toTokens).toEqual(['crvUSD-8453']) }) it('has fromToken', () => { const toTokens = getToTokens({ fromChainId: null, - fromTokenRouteSymbol: 'USDC', + fromTokenRouteSymbol: 'BTC.b', toChainId: null, toTokenRouteSymbol: null, }) expect(toTokens.sort()).toEqual( - ['NUSD-10', 'USDC-1', 'USDC-10', 'USDC-25', 'USDC-56'].sort() + ['BTC.b-43114', 'BTC.b-53935', 'BTC.b-8217'].sort() ) }) @@ -246,11 +323,71 @@ describe('getToTokens', () => { fromChainId: null, fromTokenRouteSymbol: 'USDC', toChainId: null, - toTokenRouteSymbol: 'USDC', + toTokenRouteSymbol: 'crvUSD', }) expect(toTokens.sort()).toEqual( - ['NUSD-10', 'USDC-1', 'USDC-10', 'USDC-25', 'USDC-56'].sort() + [ + 'BUSD-56', + 'DAI-1', + 'DAI-10', + 'DAI-137', + 'DAI-2000', + 'DAI-288', + 'DAI-42161', + 'DAI-8217', + 'DAI-8453', + 'DAI.e-43114', + 'FRAX-42161', + 'NOTE-7700', + 'USDC-1', + 'USDC-10', + 'USDC-137', + 'USDC-2000', + 'USDC-25', + 'USDC-288', + 'USDC-42161', + 'USDC-43114', + 'USDC-53935', + 'USDC-56', + 'USDC-7700', + 'USDC-8217', + 'USDC-8453', + 'USDC.e-10', + 'USDC.e-1313161554', + 'USDC.e-42161', + 'USDC.e-43114', + 'USDT-1', + 'USDT-10', + 'USDT-137', + 'USDT-2000', + 'USDT-288', + 'USDT-42161', + 'USDT-43114', + 'USDT-56', + 'USDT-7700', + 'USDT-8217', + 'USDT.e-1313161554', + 'USDT.e-43114', + 'USDbC-8453', + 'axlUSDC-8453', + 'crvUSD-8453', + 'm.USDC-1088', + 'nUSD-1', + 'nUSD-10', + 'nUSD-1088', + 'nUSD-1313161554', + 'nUSD-137', + 'nUSD-1666600000', + 'nUSD-25', + 'nUSD-250', + 'nUSD-288', + 'nUSD-42161', + 'nUSD-43114', + 'nUSD-56', + 'nUSD-7700', + 'sUSD-10', + ].sort() ) }) @@ -259,29 +396,204 @@ describe('getToTokens', () => { fromChainId: null, fromTokenRouteSymbol: null, toChainId: null, - toTokenRouteSymbol: 'XYZ', + toTokenRouteSymbol: 'USDC', }) - expect(toTokens.sort()).toEqual( - [ - 'GOHM-1', - 'GOHM-10', - 'GOHM-25', - 'GOHM-56', - 'HIGH-1', - 'HIGH-56', - 'NUSD-10', - 'SYN-1', - 'SYN-10', - 'SYN-25', - 'SYN-56', - 'USDC-1', - 'USDC-10', - 'USDC-25', - 'USDC-56', - 'XYZ-1', - 'XYZ-50', - ].sort() - ) + expect(toTokens.sort()).toEqual([ + 'AVAX-1284', + 'AVAX-1666600000', + 'AVAX-43114', + 'AVAX-53935', + 'AVAX-8217', + 'BTC.b-43114', + 'BTC.b-53935', + 'BTC.b-8217', + 'BUSD-56', + 'DAI-1', + 'DAI-10', + 'DAI-137', + 'DAI-2000', + 'DAI-288', + 'DAI-42161', + 'DAI-8217', + 'DAI-8453', + 'DAI.e-43114', + 'DOG-1', + 'DOG-137', + 'DOG-56', + 'ETH-1', + 'ETH-10', + 'ETH-288', + 'ETH-42161', + 'ETH-53935', + 'ETH-7700', + 'ETH-8453', + 'FRAX-1', + 'FRAX-2000', + 'FRAX-42161', + 'FTM-250', + 'FTM-53935', + 'GMX-42161', + 'GMX-43114', + 'H2O-1', + 'H2O-10', + 'H2O-1284', + 'H2O-1285', + 'H2O-137', + 'H2O-42161', + 'H2O-43114', + 'H2O-56', + 'HIGH-1', + 'HIGH-56', + 'JEWEL-1666600000', + 'JEWEL-43114', + 'JEWEL-53935', + 'JEWEL-8217', + 'JUMP-1088', + 'JUMP-250', + 'JUMP-56', + 'KLAY-53935', + 'KLAY-8217', + 'L2DAO-10', + 'L2DAO-42161', + 'LINK-1', + 'LINK-8217', + 'MATIC-137', + 'MATIC-53935', + 'MOVR-1284', + 'MOVR-1285', + 'NEWO-1', + 'NEWO-42161', + 'NEWO-43114', + 'NFD-137', + 'NFD-2000', + 'NFD-43114', + 'NFD-56', + 'NOTE-7700', + 'PEPE-1', + 'PEPE-42161', + 'PLS-10', + 'PLS-42161', + 'SDT-1', + 'SDT-1666600000', + 'SDT-250', + 'SDT-42161', + 'SDT-43114', + 'SFI-1', + 'SFI-43114', + 'SYN-1', + 'SYN-10', + 'SYN-1088', + 'SYN-1284', + 'SYN-1285', + 'SYN-1313161554', + 'SYN-137', + 'SYN-1666600000', + 'SYN-2000', + 'SYN-25', + 'SYN-250', + 'SYN-288', + 'SYN-42161', + 'SYN-43114', + 'SYN-56', + 'SYN-7700', + 'SYN-8453', + 'UNIDX-1', + 'UNIDX-10', + 'UNIDX-250', + 'UNIDX-42161', + 'UNIDX-8453', + 'USDC-1', + 'USDC-10', + 'USDC-137', + 'USDC-2000', + 'USDC-25', + 'USDC-288', + 'USDC-42161', + 'USDC-43114', + 'USDC-53935', + 'USDC-56', + 'USDC-7700', + 'USDC-8217', + 'USDC-8453', + 'USDC.e-10', + 'USDC.e-1313161554', + 'USDC.e-42161', + 'USDC.e-43114', + 'USDT-1', + 'USDT-10', + 'USDT-137', + 'USDT-2000', + 'USDT-288', + 'USDT-42161', + 'USDT-43114', + 'USDT-56', + 'USDT-7700', + 'USDT-8217', + 'USDT.e-1313161554', + 'USDT.e-43114', + 'USDbC-8453', + 'VSTA-1', + 'VSTA-42161', + 'WAVAX-43114', + 'WBTC-1', + 'WBTC-2000', + 'WBTC-8217', + 'WETH-1088', + 'WETH.e-43114', + 'WFTM-250', + 'WJEWEL-53935', + 'WKLAY-8217', + 'WMATIC-137', + 'WMOVR-1285', + 'axlUSDC-8453', + 'crvUSD-8453', + 'gOHM-1', + 'gOHM-10', + 'gOHM-1088', + 'gOHM-1284', + 'gOHM-1285', + 'gOHM-137', + 'gOHM-1666600000', + 'gOHM-25', + 'gOHM-250', + 'gOHM-288', + 'gOHM-42161', + 'gOHM-43114', + 'gOHM-56', + 'm.USDC-1088', + 'nETH-10', + 'nETH-1088', + 'nETH-1666600000', + 'nETH-250', + 'nETH-288', + 'nETH-42161', + 'nETH-43114', + 'nETH-7700', + 'nETH-8453', + 'nUSD-1', + 'nUSD-10', + 'nUSD-1088', + 'nUSD-1313161554', + 'nUSD-137', + 'nUSD-1666600000', + 'nUSD-25', + 'nUSD-250', + 'nUSD-288', + 'nUSD-42161', + 'nUSD-43114', + 'nUSD-56', + 'nUSD-7700', + 'sUSD-10', + 'synFRAX-1284', + 'synFRAX-1285', + 'synFRAX-1666600000', + 'synFRAX-250', + 'synJEWEL-1666600000', + 'veSOLAR-1284', + 'veSOLAR-1285', + 'xJEWEL-1666600000', + 'xJEWEL-53935', + ]) }) }) diff --git a/packages/synapse-interface/jest.config.mjs b/packages/synapse-interface/jest.config.mjs index a28d384eba..e0dbcba96e 100644 --- a/packages/synapse-interface/jest.config.mjs +++ b/packages/synapse-interface/jest.config.mjs @@ -11,7 +11,11 @@ const config = { // Add more setup options before each test is run // setupFilesAfterEnv: ['/jest.setup.js'], + moduleNameMapper: { + '^__fixtures__/(.*)$': '/__tests__/__fixtures__/$1', + }, testEnvironment: 'jest-environment-jsdom', + testPathIgnorePatterns: ['/__tests__/__fixtures__/'], } // createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async diff --git a/packages/synapse-interface/slices/bridge/reducer.ts b/packages/synapse-interface/slices/bridge/reducer.ts index 2a3ee9ee03..dd96da2145 100644 --- a/packages/synapse-interface/slices/bridge/reducer.ts +++ b/packages/synapse-interface/slices/bridge/reducer.ts @@ -287,7 +287,7 @@ export const bridgeSlice = createSlice({ fromChainId: state.fromChainId ?? null, fromTokenRouteSymbol: state.fromToken?.routeSymbol ?? null, toChainId: incomingToChainId ?? null, - toTokenRouteSymbol: null, + toTokenRouteSymbol: state.toToken?.routeSymbol ?? null, }) ?.map(getSymbol) .map((s) => findTokenByRouteSymbol(s)) diff --git a/packages/synapse-interface/utils/routeMaker/getToChainIds.ts b/packages/synapse-interface/utils/routeMaker/getToChainIds.ts index 4727b7b7a0..03858d7c9b 100644 --- a/packages/synapse-interface/utils/routeMaker/getToChainIds.ts +++ b/packages/synapse-interface/utils/routeMaker/getToChainIds.ts @@ -194,9 +194,9 @@ export const getToChainIds = ({ toTokenRouteSymbol ) { return _.uniq( - EXISTING_BRIDGE_ROUTES[`${fromTokenRouteSymbol}-${fromChainId}`]?.map( - (token) => getTokenAndChainId(token).chainId - ) + EXISTING_BRIDGE_ROUTES[`${fromTokenRouteSymbol}-${fromChainId}`] + ?.filter((token) => token.startsWith(`${toTokenRouteSymbol}-`)) + .map((token) => getTokenAndChainId(token).chainId) ) } diff --git a/packages/synapse-interface/utils/routeMaker/getToTokens.ts b/packages/synapse-interface/utils/routeMaker/getToTokens.ts index 53b50c31d3..2db5d9eda5 100644 --- a/packages/synapse-interface/utils/routeMaker/getToTokens.ts +++ b/packages/synapse-interface/utils/routeMaker/getToTokens.ts @@ -206,8 +206,10 @@ export const getToTokens = ({ } if (fromChainId && fromTokenRouteSymbol && toChainId && toTokenRouteSymbol) { - return EXISTING_BRIDGE_ROUTES[ - `${fromTokenRouteSymbol}-${fromChainId}` - ]?.filter((value) => value.endsWith(`-${toChainId}`)) + return _.uniq( + EXISTING_BRIDGE_ROUTES[`${fromTokenRouteSymbol}-${fromChainId}`]?.filter( + (value) => value.endsWith(`-${toChainId}`) + ) + ) } }