From b99dd46aafa28e968776a97930e0256a3b2d502b Mon Sep 17 00:00:00 2001 From: esteblock Date: Thu, 19 Jun 2025 17:42:09 -0400 Subject: [PATCH 1/4] use network external: true --- docker-compose.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b9b8aa8..f07e682 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -76,6 +76,5 @@ services: - default networks: - default: - external: - name: soroswap-network \ No newline at end of file + soroswap-network: + external: true \ No newline at end of file From 0ca98d15fe45c1161f1a16b53baafa54834352e7 Mon Sep 17 00:00:00 2001 From: esteblock Date: Thu, 19 Jun 2025 17:43:00 -0400 Subject: [PATCH 2/4] on Testnet only handle Soroswap --- project.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/project.ts b/project.ts index 42d78ba..a68b935 100755 --- a/project.ts +++ b/project.ts @@ -144,7 +144,9 @@ const project: StellarProject = { startBlock: soroswapFactory.startBlock, mapping: { file: "./dist/index.js", - handlers: [...soroswapHandlers, ...phoenixHandlers, ...aquaHandlers], + handlers: (process.env.NETWORK as NETWORK) === NETWORK.MAINNET ? + [...soroswapHandlers, ...phoenixHandlers, ...aquaHandlers] : + [...soroswapHandlers], // If Testnet we will only use Soroswap handlers }, }, ], From 86446ef2b45ba61395c15e87466ca88901cd5118 Mon Sep 17 00:00:00 2001 From: esteblock Date: Thu, 19 Jun 2025 17:44:34 -0400 Subject: [PATCH 3/4] on testnet only pre start soroswap --- scripts/index.ts | 60 ++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/scripts/index.ts b/scripts/index.ts index d1533b1..22548e4 100755 --- a/scripts/index.ts +++ b/scripts/index.ts @@ -1,20 +1,24 @@ -import { config } from "dotenv"; -import { generatePairTokenReservesList } from "./soroswap/pairsTokensMaker"; -import { getLatestRouterLedger } from "./soroswap/latestLedger"; -import { getPhoenixPreStart } from "./phoenix/pairs"; -import { getAquaPreStart } from "./aqua/aquaPoolsTokensMaker"; -config(); - -export const { SOROBAN_ENDPOINT, SECRET_KEY_HELPER, NETWORK } = process.env; - -function validateEnvVariables() { - if (!SOROBAN_ENDPOINT || !SECRET_KEY_HELPER) { - console.error( - "❌ Error: SOROBAN_ENDPOINT and SECRET_KEY_HELPER environment variables are required" - ); - process.exit(1); + import { config } from "dotenv"; + import { generatePairTokenReservesList } from "./soroswap/pairsTokensMaker"; + import { getLatestRouterLedger } from "./soroswap/latestLedger"; + import { getPhoenixPreStart } from "./phoenix/pairs"; + import { getAquaPreStart } from "./aqua/aquaPoolsTokensMaker"; + import { NETWORK } from "../src/constants"; + + + + config(); + + export const { SOROBAN_ENDPOINT, SECRET_KEY_HELPER } = process.env; + + function validateEnvVariables() { + if (!SOROBAN_ENDPOINT || !SECRET_KEY_HELPER) { + console.error( + "❌ Error: SOROBAN_ENDPOINT and SECRET_KEY_HELPER environment variables are required" + ); + process.exit(1); + } } -} async function main() { validateEnvVariables(); @@ -27,19 +31,21 @@ async function main() { console.error("❌ Error generating Soroswap pairs:", error); } - // PHOENIX - try { - await getPhoenixPreStart(); - } catch (error) { - console.error("❌ Error generating Phoenix pairs:", error); + if ((process.env.NETWORK as NETWORK) == NETWORK.MAINNET) { + // PHOENIX + try { + await getPhoenixPreStart(); + } catch (error) { + console.error("❌ Error generating Phoenix pairs:", error); + } + // AQUA + try { + await getAquaPreStart(); + } catch (error) { + console.error("❌ Error generating Aqua pairs:", error); + } } - // AQUA - try { - await getAquaPreStart(); - } catch (error) { - console.error("❌ Error generating Aqua pairs:", error); - } process.exit(1); } From 1d5577218f14f5ef35220e668667c4c9b9b1c73d Mon Sep 17 00:00:00 2001 From: esteblock Date: Thu, 19 Jun 2025 17:46:05 -0400 Subject: [PATCH 4/4] use better start block --- src/constants/soroswapContracts.ts | 2 +- src/soroswap/pairReservesData.ts | 473 ++--------------------------- 2 files changed, 24 insertions(+), 451 deletions(-) diff --git a/src/constants/soroswapContracts.ts b/src/constants/soroswapContracts.ts index 05ac198..493134a 100755 --- a/src/constants/soroswapContracts.ts +++ b/src/constants/soroswapContracts.ts @@ -7,7 +7,7 @@ const soroswapFactory = { }, testnet: { address: "CB7X4DSYW4UTKJSJMO7A3ZX2YQQG4NQUD3TQOTAZ7UHOK2BGGLRW2ZIC", - startBlock: 15631, + startBlock: 19243, }, }; diff --git a/src/soroswap/pairReservesData.ts b/src/soroswap/pairReservesData.ts index cf12ad2..88f5054 100755 --- a/src/soroswap/pairReservesData.ts +++ b/src/soroswap/pairReservesData.ts @@ -10,476 +10,49 @@ export interface PairTokenReserves { reserve_b: string; } -export const soroswapPairsGeneratedDate = "2025-05-05T13:27:43.421Z"; +export const soroswapPairsGeneratedDate = "2025-06-19T20:10:10.406Z"; export const pairTokenReservesList: PairTokenReserves[] = [ { - "address": "CB46LMGJC7SYSH4C7SBNLV635OX5BSNQDGRR32NRXAV7N2AVNZMQUJ3A", - "token_a": "CBCU5VMZ3GNHHKJUWZ2GI7K36MEAXOJW2RJCIJHFPVFGBME3WADLXA6W", - "token_b": "CCBJNX4B23ZDXEE3KRS2IAQJSLNQY4ZJ24K44BI7FYYIF5ZAZMRYPRRD", - "reserve_a": "2000000000000", - "reserve_b": "1250000000000" + "address": "CAQ2DG6YRCZ334Q7LGGQ34GDXK4NS3YLXNEMS643P2HCV4ZHMCF4ZG3T", + "token_a": "CBBHRKEP5M3NUDRISGLJKGHDHX3DA2CN2AZBQY6WLVUJ7VNLGSKBDUCM", + "token_b": "CDYZ6I4FTABFDVWIH2RSVDVIFSJF7FMA2CTUBFHWCLPSLIGO55K4HNSN", + "reserve_a": "1250000000000", + "reserve_b": "2000000000000" }, { - "address": "CBVOZM3YLSK3IEKTL3XB3V7CMRU2JNTC3MISPEDMMU4XEUIXDQT6FP6T", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "reserve_a": "19803639470", - "reserve_b": "249346038324712" + "address": "CCE6RQH3S5NZY3L35JUBLB3CHWWVQQLN6M5BTESII77DXP3VFP6FJMYX", + "token_a": "CCXQWO33QBEUDVTWDDOYLD2SYEJSWUM6DIJUX6NDAOSXNCGK3PSIWQJG", + "token_b": "CDYZ6I4FTABFDVWIH2RSVDVIFSJF7FMA2CTUBFHWCLPSLIGO55K4HNSN", + "reserve_a": "1250000000000", + "reserve_b": "2000000000000" }, { - "address": "CACXB6KH5DQVQKQGXKHF2M5TEKFY5KIDCKSEXZYJ27Z5465V2SSALCBW", - "token_a": "CBCU5VMZ3GNHHKJUWZ2GI7K36MEAXOJW2RJCIJHFPVFGBME3WADLXA6W", - "token_b": "CD6IN4UFNPDX35H7YB53XAA2XE6S2UPXL7AZL6DSFZFNNZSLE7FFSIVP", + "address": "CCG2PXUGOMQH2RR56V774THABWB2NP5E5GEAIVDUXIUZD7NYMJJGPPLZ", + "token_a": "CA34FYW2SL7VZW5E6WIPA2NOTLGG7TNAOKQLEO5YZHVUGNRFHM4HJ7WD", + "token_b": "CBBHRKEP5M3NUDRISGLJKGHDHX3DA2CN2AZBQY6WLVUJ7VNLGSKBDUCM", "reserve_a": "2000000000000", "reserve_b": "1250000000000" }, { - "address": "CBJYBRJAAI4NMALSD6S3FNOKKDJR463CXYIGW7A7FCHOZIBAC4HIJEB7", - "token_a": "CCBJNX4B23ZDXEE3KRS2IAQJSLNQY4ZJ24K44BI7FYYIF5ZAZMRYPRRD", - "token_b": "CD4NTX2UXD2X257XCNSWRB45N5GUXVSHFY7L5W53IULIM5EVYAFENQGO", + "address": "CA6ISHIGYZROQVWGQEUBGVXC4IRB6NTEY6XY4E6ITVIEXKHYZTHCP5EW", + "token_a": "CA34FYW2SL7VZW5E6WIPA2NOTLGG7TNAOKQLEO5YZHVUGNRFHM4HJ7WD", + "token_b": "CCXQWO33QBEUDVTWDDOYLD2SYEJSWUM6DIJUX6NDAOSXNCGK3PSIWQJG", "reserve_a": "1250000000000", "reserve_b": "2000000000000" }, { - "address": "CDRS7NJPAX2HLYNENMUH3USUV6LP6KYSLZZ4ULY27RQLKIVC5DGLEVKI", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CAUIKL3IYGMERDRUN6YSCLWVAKIFG5Q4YJHUKM4S4NJZQIA3BAS6OJPK", - "reserve_a": "499724826", - "reserve_b": "187604638181" - }, - { - "address": "CB4LVW7XBXM4YMKREJK7ZLMI6H44FEEFZVRUTOYEZ5DOLS44KDS6J6XV", - "token_a": "CBCU5VMZ3GNHHKJUWZ2GI7K36MEAXOJW2RJCIJHFPVFGBME3WADLXA6W", - "token_b": "CD5E7YM4MTL5S4B4FKLAMFLMXCN26L4QGPAS7JCVBG4TPW5EIP5WXIQO", + "address": "CCNT43KXNYL2PUORSJMV4MHLOS5KSYB6XTTO4W7MHF5YRTKRHOQNSFDL", + "token_a": "CAVCOKZ5XZ5GONIP2M7QJARHZMELBVPZXVTZU5AJEJTOLNWAT5R43LPO", + "token_b": "CBBHRKEP5M3NUDRISGLJKGHDHX3DA2CN2AZBQY6WLVUJ7VNLGSKBDUCM", "reserve_a": "2000000000000", "reserve_b": "1250000000000" }, { - "address": "CBJ3WO7M3H7EI7ATEBYHLZBJCW4OXHU3FRG7LK6ZTRHLKKLFW5NHY4Q6", - "token_a": "CCBJNX4B23ZDXEE3KRS2IAQJSLNQY4ZJ24K44BI7FYYIF5ZAZMRYPRRD", - "token_b": "CD5E7YM4MTL5S4B4FKLAMFLMXCN26L4QGPAS7JCVBG4TPW5EIP5WXIQO", + "address": "CCHMZNXOASHVWL5RT5ZLVOJDEFYWCCL6TBZRB6VHWMZNLS3APTCCLSKX", + "token_a": "CAVCOKZ5XZ5GONIP2M7QJARHZMELBVPZXVTZU5AJEJTOLNWAT5R43LPO", + "token_b": "CDYZ6I4FTABFDVWIH2RSVDVIFSJF7FMA2CTUBFHWCLPSLIGO55K4HNSN", "reserve_a": "1250000000000", "reserve_b": "2000000000000" - }, - { - "address": "CA4VTJFKCIXVH3G2MEYAGA4U5A7IBWFFDODTSR3KUAQ4KZMI37J75CYX", - "token_a": "CD4NTX2UXD2X257XCNSWRB45N5GUXVSHFY7L5W53IULIM5EVYAFENQGO", - "token_b": "CD6IN4UFNPDX35H7YB53XAA2XE6S2UPXL7AZL6DSFZFNNZSLE7FFSIVP", - "reserve_a": "1250000000000", - "reserve_b": "2000000000000" - }, - { - "address": "CB2IMINSODLFTKXG6AAS7DZNETFRTJ4ES5WRBO4ROY4ANFQJTKOC6SS6", - "token_a": "CBCU5VMZ3GNHHKJUWZ2GI7K36MEAXOJW2RJCIJHFPVFGBME3WADLXA6W", - "token_b": "CDME3GWAU7YSHVB6GWKDOQORR6TYKKQG6G7FDMMO7OPMQALBCNI5A2JR", - "reserve_a": "22502250101", - "reserve_b": "22497757075" - }, - { - "address": "CAM7DY53G63XA4AJRS24Z6VFYAFSSF76C3RZ45BE5YU3FQS5255OOABP", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "4038312535721", - "reserve_b": "1058710436188" - }, - { - "address": "CC7CDFY2VGDODJ7WPO3JIK2MXLOAXL4LRQCC43UJDBAIJ4SVFO3HNPOC", - "token_a": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "token_b": "CDTKPWPLOURQA2SGTKTUQOWRCBZEORB4BWBOMJ3D3ZTQQSGE5F6JBQLV", - "reserve_a": "2715498592109", - "reserve_b": "2416336645576" - }, - { - "address": "CDDEKHF7HRD3JSTIK2BQ4IHJQI64V3SO3HPR2DZBP3OBDBQBKOJNNQU7", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBYFV4W2LTMXYZ3XWFX5BK2BY255DU2DSXNAE4FJ5A5VYUWGIBJDOIGG", - "reserve_a": "10692168", - "reserve_b": "2078720450" - }, - { - "address": "CCOGGZBP22NP2NPNGU4IA44AUPD7BAOVU42XGLMK4IA4SVSSDC3375PU", - "token_a": "CAUIKL3IYGMERDRUN6YSCLWVAKIFG5Q4YJHUKM4S4NJZQIA3BAS6OJPK", - "token_b": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "reserve_a": "60000000", - "reserve_b": "1167168173" - }, - { - "address": "CAX57ZNIZKVBDZ36OFH5IAMBTDDCJ4F54KUKCJRUKG5POIISYWL46P3U", - "token_a": "CAZQYRFG7A2CZTZ2NEODHZGIOORFFKOEFV7WWZOBJEYXER56ASCUBD7P", - "token_b": "CDHBIACXSM5K2NFCCHQIJQNDJPHGPW4OHIYVXGCFMVT7PNLWXY4NGRNH", - "reserve_a": "21003469", - "reserve_b": "48087006591" - }, - { - "address": "CDJXIUCWP3BWZWNPPL52YRG7FHG6LWAHN5RTYR4FLY7A3PJKSZ7LGCSC", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CAZQYRFG7A2CZTZ2NEODHZGIOORFFKOEFV7WWZOBJEYXER56ASCUBD7P", - "reserve_a": "1510657886", - "reserve_b": "15643926" - }, - { - "address": "CAI7B3M2EPGDA2GMHCHUD5JS7MEJ7HA7U7GP5L2IOJWWAE7VRTMTJPNX", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CDHBIACXSM5K2NFCCHQIJQNDJPHGPW4OHIYVXGCFMVT7PNLWXY4NGRNH", - "reserve_a": "1836493792", - "reserve_b": "44105500186" - }, - { - "address": "CC2MSLNFYG63SKXLUTOJJOJWBORZ7NKH4IC66MG5SITKSN5MMFYH6FPE", - "token_a": "CAZQYRFG7A2CZTZ2NEODHZGIOORFFKOEFV7WWZOBJEYXER56ASCUBD7P", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "7668596", - "reserve_b": "189090706" - }, - { - "address": "CCB6AP3L24Q7KW3LTMO6D3KLNV6MAFTK2TDTJ3XP7BRI2OP4O6SWQM53", - "token_a": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "token_b": "CDHBIACXSM5K2NFCCHQIJQNDJPHGPW4OHIYVXGCFMVT7PNLWXY4NGRNH", - "reserve_a": "211861477", - "reserve_b": "19560970223" - }, - { - "address": "CAURS6NIANW7PQEZX35NBZZFGQFTULHREJFP44YWNBR33KGKJLOASZIW", - "token_a": "CAZQYRFG7A2CZTZ2NEODHZGIOORFFKOEFV7WWZOBJEYXER56ASCUBD7P", - "token_b": "CBZVSNVB55ANF24QVJL2K5QCLOAB6XITGTGXYEAF6NPTXYKEJUYQOHFC", - "reserve_a": "6168858", - "reserve_b": "608353525" - }, - { - "address": "CAX7KGAVK4YBJJWLNV22DFEWC53LKQG3TNSUORMYEDGRT57PTW5K7BZ2", - "token_a": "CBZVSNVB55ANF24QVJL2K5QCLOAB6XITGTGXYEAF6NPTXYKEJUYQOHFC", - "token_b": "CDHBIACXSM5K2NFCCHQIJQNDJPHGPW4OHIYVXGCFMVT7PNLWXY4NGRNH", - "reserve_a": "689177683", - "reserve_b": "16331809922" - }, - { - "address": "CADRWHW2ASLZYF7C4UL4IGGXQGL3ERHBNYYYYTZFRIM36U4CNTS7C3SA", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBHIQPUXLFLC5O44ZJVUTCL5LMZFLVGU5DEIGSYKBSAPFMOGTKOQEPFM", - "reserve_a": "104269438", - "reserve_b": "17534229350" - }, - { - "address": "CCXCD5BD576T7DUQ7VMKMZLOQWWDQRDCKCKCN6SJBRYWIQ3Q2OEKXHWQ", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBDRPADR3KIBJNUBNRTTO4P7NO5RVPMYKRJB5YCZUZ6B66RKYK324UJY", - "reserve_a": "10000000", - "reserve_b": "4912939525" - }, - { - "address": "CB4UVMNV25WS24YN3RCFK2DYQXHAZWAWT7LLB2NLTRXTVTHMJ52YHNGS", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBZVSNVB55ANF24QVJL2K5QCLOAB6XITGTGXYEAF6NPTXYKEJUYQOHFC", - "reserve_a": "9871620", - "reserve_b": "9871620" - }, - { - "address": "CC7Z3FQD2FRBN2QQMN5R335YGSS7QO7YLYTJZV3HGPPS6GI373O5UZDI", - "token_a": "CBVDRT5474OBUEXF5MJB3UGQ5CG7CKGCAH5M4RV5NBCDJUBZ5OXHJLOU", - "token_b": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "reserve_a": "62677", - "reserve_b": "16000000000" - }, - { - "address": "CAC7CX77YKAXS2LES3W54KTY6KDDMDBXRJ5TWK7UX2N4OFBY2OJEUJQW", - "token_a": "CBZVSNVB55ANF24QVJL2K5QCLOAB6XITGTGXYEAF6NPTXYKEJUYQOHFC", - "token_b": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "reserve_a": "1000000", - "reserve_b": "10000000000" - }, - { - "address": "CDQ4UKVWHJKR465B3NN2YP3IMWBEZ77YYJYTHYZA3BWNTPRHFOJ4OY57", - "token_a": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "token_b": "CDOIEBW5LN7T7PSFY6ADLPIDF52PFRX57WIYWJ637PCZ7ZFDDN5T6NCH", - "reserve_a": "676", - "reserve_b": "1481" - }, - { - "address": "CB63RYTOXPVHXJAM7BGN7AUKFGHUCT5KVCK4H2BV4CHPEWIV4J3WDY3W", - "token_a": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "token_b": "CDIKURWHYS4FFTR5KOQK6MBFZA2K3E26WGBQI6PXBYWZ4XIOPJHDFJKP", - "reserve_a": "0", - "reserve_b": "0" - }, - { - "address": "CCXOKQBBNRJ7YKY4Y6HTXAU5ZLV7PKENA7ZT74UAAXZ6XUEE22YQGBCS", - "token_a": "CBN3NCJSMOQTC6SPEYK3A44NU4VS3IPKTARJLI3Y77OH27EWBY36TP7U", - "token_b": "CDTKPWPLOURQA2SGTKTUQOWRCBZEORB4BWBOMJ3D3ZTQQSGE5F6JBQLV", - "reserve_a": "1016975951339", - "reserve_b": "912499723899" - }, - { - "address": "CABIXKWFCRM6VYUPNKF5C24O5LRCINE4XGB7SRUK67T6EVYMQSRUROKH", - "token_a": "CAUIKL3IYGMERDRUN6YSCLWVAKIFG5Q4YJHUKM4S4NJZQIA3BAS6OJPK", - "token_b": "CCG27OZ5AV4WUXS6XTECWAXEY5UOMEFI2CWFA3LHZGBTLYZWTJF3MJYQ", - "reserve_a": "1000000000", - "reserve_b": "980000000" - }, - { - "address": "CATUJXDUO7SSSTAKSUV5YU6RSTB4B5AVIHQDV26QTCXOB46T6SLMWNMY", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CDTKPWPLOURQA2SGTKTUQOWRCBZEORB4BWBOMJ3D3ZTQQSGE5F6JBQLV", - "reserve_a": "9697087628930", - "reserve_b": "2271475311641" - }, - { - "address": "CCH3CJZWG6UMW522ESP3UHL4DCZLNXZLUHKYG5GCGNG5HXRL4A6O4A23", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBLLEW7HD2RWATVSMLAGWM4G3WCHSHDJ25ALP4DI6LULV5TU35N2CIZA", - "reserve_a": "39735089422", - "reserve_b": "42965382013" - }, - { - "address": "CACTIOUW5FHYD3Q6ENKAU2IBLO2YFRWST4OGPDB4H32OGFMMJQF6SAJ5", - "token_a": "CACXKRVCW7I6CWX6RS6ANFDKVCOUI2PB6LTDUROL3J3FMJCRZ4ZLQRF6", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "1235", - "reserve_b": "810" - }, - { - "address": "CAYSBVJOBO34WZHGAG2RNQZ52ZUBZRUHOTSIUIBJ2ZFSAZQPY73FPQNI", - "token_a": "CAAV3AE3VKD2P4TY7LWTQMMJHIJ4WOCZ5ANCIJPC3NRSERKVXNHBU2W7", - "token_b": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "reserve_a": "405", - "reserve_b": "2471" - }, - { - "address": "CCHAZKZPWUN7YFY5Y2TABRKJ2REEMW4QSU6HGKWPIKO7KGU3VAW2K5SL", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBF4E5GSTVSITE5Q2ENOTEUQJPBZAU3SBDVLQMSQ7GLBRTSYGUAT722K", - "reserve_a": "131474107", - "reserve_b": "103253899" - }, - { - "address": "CABJYKXLX5PIXGUAHJS7VG7XVMGFEPRGI5KH37F45H37YIJNEHDBVXCN", - "token_a": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "token_b": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "reserve_a": "802438", - "reserve_b": "13614847878" - }, - { - "address": "CDJDRGUCHANJDXALZVJ5IZVB76HX4MWCON5SHF4DE5HB64CBBR7W2ZCD", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CDIKURWHYS4FFTR5KOQK6MBFZA2K3E26WGBQI6PXBYWZ4XIOPJHDFJKP", - "reserve_a": "29403667529036", - "reserve_b": "7712107233963" - }, - { - "address": "CCWSFAZM5GRH4TPJKPUZC3KEB757T3QEFP3JUXUDDBJVAHZFPIBNMOG5", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBPMFYWP4FFV7PQUYHXJZBXS75EHR6FXYSYEZWH2UM7AUYSKI2Z3PTCG", - "reserve_a": "535", - "reserve_b": "563381" - }, - { - "address": "CAHSKDP66SYCGYQZ3NULGZMEUSN5Z67UFBYADJVCNXVKV3E7PKYR5PQ4", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CCN2LGXV7U3LLRQNAXGPQ7XK2JT2PGMUFOLDZTSLFCKNUXE3QVYEC3PF", - "reserve_a": "12980229652", - "reserve_b": "6570227663725" - }, - { - "address": "CBVCMXUCN4TXJAIBB6G3QTUZ2LNEXXJKLCBQVDFH77CBV43NK6XC44TL", - "token_a": "CAPIOPSODD5QP4SJNIS4ASUWML4LH7ZEKTAPBJYZSMKXCATEKDZFKLHK", - "token_b": "CBBJTE34KZHJACB2A6OXCRTDDLX4LI7GKYYD6XYJSGMX46BLNAG752HS", - "reserve_a": "264053307972", - "reserve_b": "1780000000" - }, - { - "address": "CDLMAKG5TSJA6FGP7LLC2FKJRQW6DQYMEPP6FURFVULDEQMP3PRZ4ISI", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBEM2CAIYLM3HBOPU5HLQL7V5BUAKM3N77DYQKX4FNHTQLQUUD2ZFBOX", - "reserve_a": "742300984", - "reserve_b": "295675146907" - }, - { - "address": "CADMFEOU6YZBJ3RTRBU4SXLHKTTQ32YD2YVABBYERKDWP5TVFGWKFADH", - "token_a": "CBEM2CAIYLM3HBOPU5HLQL7V5BUAKM3N77DYQKX4FNHTQLQUUD2ZFBOX", - "token_b": "CCN2LGXV7U3LLRQNAXGPQ7XK2JT2PGMUFOLDZTSLFCKNUXE3QVYEC3PF", - "reserve_a": "145602236543", - "reserve_b": "166197794855" - }, - { - "address": "CCPZ3DPINLAJZ7RLMVKZY77FZDTN3DXNSLF5TYC5CUYGGJ35OF5KJ47U", - "token_a": "CAUIKL3IYGMERDRUN6YSCLWVAKIFG5Q4YJHUKM4S4NJZQIA3BAS6OJPK", - "token_b": "CBEM2CAIYLM3HBOPU5HLQL7V5BUAKM3N77DYQKX4FNHTQLQUUD2ZFBOX", - "reserve_a": "45409808481", - "reserve_b": "42601201035" - }, - { - "address": "CBIQ5MND5I4AXWFSSDPDVN2X3DPR366YMBXUL6TABGUKMKVGOM2IAZJF", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CD25MNVTZDL4Y3XBCPCJXGXATV5WUHHOWMYFF4YBEGU5FCPGMYTVG5JY", - "reserve_a": "784853747", - "reserve_b": "4100222459" - }, - { - "address": "CBKG7Y3LSLTSK76LCKM52EQP3I7GMGL2VOR6S46ZEJZW62WFPAKP4NIG", - "token_a": "CAUIKL3IYGMERDRUN6YSCLWVAKIFG5Q4YJHUKM4S4NJZQIA3BAS6OJPK", - "token_b": "CBRP2VD3CZLEQIQZ4JMBXGA5AC2U6JE26YU5CCIOICIZCVWPGBO2QRUB", - "reserve_a": "411835568211", - "reserve_b": "1130760452" - }, - { - "address": "CCYPLDHUEYWJEOIZJTXUH56NLIQLKYGR5H2BEFQMBYG5IC3G52QF4WVD", - "token_a": "CB226ZOEYXTBPD3QEGABTJYSKZVBP2PASEISLG3SBMTN5CE4QZUVZ3CE", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "110315133773", - "reserve_b": "109682356129" - }, - { - "address": "CAF65BIHBIHC44QPWIFZRL46BDDH4FN3VSRBB2DZJFPWQRAOSRPKRRQZ", - "token_a": "CBN3NCJSMOQTC6SPEYK3A44NU4VS3IPKTARJLI3Y77OH27EWBY36TP7U", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "1025323682452", - "reserve_b": "1029979499065" - }, - { - "address": "CDGLVQDF2QUD6P4XJXBATP3HT2MSBEV3NH246ZDQPP6JPNPFAYO44P5E", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBCO65UOWXY2GR66GOCMCN6IU3Y45TXCPBY3FLUNL4AOUMOCKVIVV6JC", - "reserve_a": "5990074796179", - "reserve_b": "1342179596899" - }, - { - "address": "CD3XW7RGZIQMSVCTLK2NOFAGPTCBKXAVXIXN6QAMEPTJRY45325BZT67", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CBN3NCJSMOQTC6SPEYK3A44NU4VS3IPKTARJLI3Y77OH27EWBY36TP7U", - "reserve_a": "15746996737363", - "reserve_b": "4120237778883" - }, - { - "address": "CDLJHWJZS3KZDIFLGEFTXUOULRAZ3Z437JTEZLGHMUZEX4DFBFYWXRFR", - "token_a": "CBCO65UOWXY2GR66GOCMCN6IU3Y45TXCPBY3FLUNL4AOUMOCKVIVV6JC", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "796259544578", - "reserve_b": "934852421049" - }, - { - "address": "CA5JJHF5LKBB6LKFKOVVTOO5QE4ZPFIHULSBC5AB5PZXKX2J543HZQJX", - "token_a": "CBH5FAS7EPGM4KGSUHTGMJYGNAMUUMFDXLFD7CWDWWG4JLSXBCCPAXTZ", - "token_b": "CCCWT5Q6RZJWEUEICQXST5UX46MFTQNZRXBIEMP6LIPV7PJYAPH4CR3W", - "reserve_a": "100000000", - "reserve_b": "100000000" - }, - { - "address": "CC4S3VFV4UHIBAKUUBRLSIQTGA33NY4DF36A6ZT7GNJWJFUDZBZNPNUS", - "token_a": "CAUIKL3IYGMERDRUN6YSCLWVAKIFG5Q4YJHUKM4S4NJZQIA3BAS6OJPK", - "token_b": "CCCWT5Q6RZJWEUEICQXST5UX46MFTQNZRXBIEMP6LIPV7PJYAPH4CR3W", - "reserve_a": "8587912", - "reserve_b": "2" - }, - { - "address": "CD2VHT23WGUKG7RWOSFCQLWDLGNPCTTKHO6LVBYYO2CVG3KZKHDIJTAA", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CDOIEBW5LN7T7PSFY6ADLPIDF52PFRX57WIYWJ637PCZ7ZFDDN5T6NCH", - "reserve_a": "68553615", - "reserve_b": "396068574645" - }, - { - "address": "CCCDU62TWI744KFK6COAW2PARPVPXKKE3DBVBUZCFWZOGGD7HZ5YEY3X", - "token_a": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "token_b": "CD25MNVTZDL4Y3XBCPCJXGXATV5WUHHOWMYFF4YBEGU5FCPGMYTVG5JY", - "reserve_a": "502", - "reserve_b": "24012" - }, - { - "address": "CBDAIZSNXOEKPJRDD56HFED5LKA2PUDAZANIHRRSMMSCH37P2I4W4CI4", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CCEBHXWHT2UX6QQ7WZOV6KRGUILICPRFOZD2CEAHZ5AYX7EFW3RG6I2F", - "reserve_a": "7003469", - "reserve_b": "286683" - }, - { - "address": "CAKST7SVAVUZPYCDJ7QIUFLHHDAZV6HOY74F3PSVN5EKBMAGEZDR5D3I", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CCKCKCPHYVXQD4NECBFJTFSCU2AMSJGCNG4O6K4JVRE2BLPR7WNDBQIQ", - "reserve_a": "1764811174", - "reserve_b": "58704598502" - }, - { - "address": "CAYFEOB7X3O5VVGCQPQ4CDURGNGPBAJ6XNXFVW7G4ETLL4K2KNHYP5QZ", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CDAHEWKJHBOBREILPDRLCHIGTPV52UVQZWYBFVXQZAPSZVPP6BPOH4WH", - "reserve_a": "10000000", - "reserve_b": "80000000000" - }, - { - "address": "CARXFUVRVZAFWLARBP4PPUM6PF44G4D74WDOBW5ZQYP4XC2QW7SGPGAL", - "token_a": "CCN2LGXV7U3LLRQNAXGPQ7XK2JT2PGMUFOLDZTSLFCKNUXE3QVYEC3PF", - "token_b": "CDAHEWKJHBOBREILPDRLCHIGTPV52UVQZWYBFVXQZAPSZVPP6BPOH4WH", - "reserve_a": "2660000000", - "reserve_b": "83524075454" - }, - { - "address": "CBDWBXGAP5JECCTYBDZXYIGZCWR253Y2DUKXHQRVC24ZWJAXASJZL2DW", - "token_a": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "token_b": "CDAHEWKJHBOBREILPDRLCHIGTPV52UVQZWYBFVXQZAPSZVPP6BPOH4WH", - "reserve_a": "11711800", - "reserve_b": "388344580055" - }, - { - "address": "CCRF4YDURHCHURPZDEF32RAIIDXWGQFXYLRX3Z64U6DKC4AJBLISVKWI", - "token_a": "CCG27OZ5AV4WUXS6XTECWAXEY5UOMEFI2CWFA3LHZGBTLYZWTJF3MJYQ", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "12196125456", - "reserve_b": "11519149" - }, - { - "address": "CCSJOTOGCEBGAXBJKLG3ETD644XI264U54N54W74K4TYUFAKPNBQ6VDI", - "token_a": "CBEM2CAIYLM3HBOPU5HLQL7V5BUAKM3N77DYQKX4FNHTQLQUUD2ZFBOX", - "token_b": "CBYFV4W2LTMXYZ3XWFX5BK2BY255DU2DSXNAE4FJ5A5VYUWGIBJDOIGG", - "reserve_a": "20000000", - "reserve_b": "200000000" - }, - { - "address": "CDFD72XQSA6AHBRUHCVIMSOUXQCXKLMCFHYS2RIEGZAD64PFTYV22DMH", - "token_a": "CBEM2CAIYLM3HBOPU5HLQL7V5BUAKM3N77DYQKX4FNHTQLQUUD2ZFBOX", - "token_b": "CCYFFNXEMQZG4TGMYDRQYRWROCSJCDJBZI6JC6BGBTYB2SJAQKQICON5", - "reserve_a": "65338613041", - "reserve_b": "70274249336" - }, - { - "address": "CAFRE2UJJFZ557VWRBU5MFRCW2TWJWXMZLZLEVPIX2MDOV3KRICOL5N2", - "token_a": "CBEM2CAIYLM3HBOPU5HLQL7V5BUAKM3N77DYQKX4FNHTQLQUUD2ZFBOX", - "token_b": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "reserve_a": "10000000", - "reserve_b": "20000000" - }, - { - "address": "CBLMYCEG52NRGDVLNJZB4FM3NGPUCYF7LH6VIV4JVZ6SEDP6FV6F7HVH", - "token_a": "CBRP2VD3CZLEQIQZ4JMBXGA5AC2U6JE26YU5CCIOICIZCVWPGBO2QRUB", - "token_b": "CDCKFBZYF2AQCSM3JOF2ZM27O3Y6AJAI4OTCQKAFNZ3FHBYUTFOKICIY", - "reserve_a": "1000", - "reserve_b": "1000000000" - }, - { - "address": "CDIXSYDR7S5OLT56JM7G5Y5LHH6NEFINZOE2YG2TJEXHHYWKLV3FDCCU", - "token_a": "CBLV4ATSIWU67CFSQU2NVRKINQIKUZ2ODSZBUJTJ43VJVRSBTZYOPNUR", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "441806439745", - "reserve_b": "452309921018" - }, - { - "address": "CAQJUHO6KIBTEDT53DKDPHFMQ32KDWU5MDCAZE2MXT4ECBMTDQQF5FGB", - "token_a": "CAL6ER2TI6CTRAY6BFXWNWA7WTYXUXTQCHUBCIBU5O6KM3HJFG6Z6VXV", - "token_b": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75", - "reserve_a": "9122100439293", - "reserve_b": "505722801281" - }, - { - "address": "CBFGP42OT2EHAQB55WE6N4JS3U5FAPT3RNFQYYORWT7VE7GQI4PEE7TF", - "token_a": "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA", - "token_b": "CB23WRDQWGSP6YPMY4UV5C4OW5CBTXKYN3XEATG7KJEZCXMJBYEHOUOV", - "reserve_a": "646401294", - "reserve_b": "481320427832" - }, - { - "address": "CDQE2IR23YR56HCQMCXXTQLE63DZX6ZKBB7OHBHATFTINLMS3PBTD3SR", - "token_a": "CB23WRDQWGSP6YPMY4UV5C4OW5CBTXKYN3XEATG7KJEZCXMJBYEHOUOV", - "token_b": "CCYFFNXEMQZG4TGMYDRQYRWROCSJCDJBZI6JC6BGBTYB2SJAQKQICON5", - "reserve_a": "6441084692", - "reserve_b": "4348351042" } ];