{"version":3,"sources":["../src/constants/referenceAssets.ts","../src/constants/coins/coins.ts","../src/constants/coins/index.ts","../src/constants/pools/pools.ts","../src/constants/pools/index.ts"],"sourcesContent":["export enum REFERENCE_ASSETS {\n\tUSD = 'usd',\n\tETH = 'eth'\n}\n\nexport const FIAT_ASSET_TYPES = [REFERENCE_ASSETS.USD];\n","import { ChainId } from '@koyofinance/core-sdk';\nimport { REFERENCE_ASSETS } from '../referenceAssets';\n\nexport const coins: ReadonlyArray<RawCoin> = [\n\t{\n\t\tid: 'boba:dai',\n\t\tcoingeckoId: 'dai',\n\t\tchainId: ChainId.BOBA,\n\t\ttype: REFERENCE_ASSETS.USD,\n\t\tname: 'Dai Stablecoin',\n\t\tsymbol: 'dai',\n\t\tdecimals: 18,\n\t\taddress: '0xf74195Bb8a5cf652411867c5C2C5b8C2a402be35'\n\t},\n\t{\n\t\tid: 'boba:frax',\n\t\tcoingeckoId: 'Frax',\n\t\tchainId: ChainId.BOBA,\n\t\ttype: REFERENCE_ASSETS.USD,\n\t\tname: 'Frax',\n\t\tsymbol: 'Frax',\n\t\tdecimals: 18,\n\t\taddress: '0x7562F525106F5d54E891e005867Bf489B5988CD9'\n\t},\n\t{\n\t\tid: 'boba:usdc',\n\t\tcoingeckoId: 'usd-coin',\n\t\tchainId: ChainId.BOBA,\n\t\ttype: REFERENCE_ASSETS.USD,\n\t\tname: 'USD Coin',\n\t\tsymbol: 'usdc',\n\t\tdecimals: 6,\n\t\taddress: '0x66a2A913e447d6b4BF33EFbec43aAeF87890FBbc'\n\t},\n\t{\n\t\tid: 'boba:usdt',\n\t\tcoingeckoId: 'tether',\n\t\tchainId: ChainId.BOBA,\n\t\ttype: REFERENCE_ASSETS.USD,\n\t\tname: 'Tether',\n\t\tsymbol: 'usdt',\n\t\tdecimals: 6,\n\t\taddress: '0x5DE1677344D3Cb0D7D465c10b72A8f60699C062d'\n\t}\n];\n\nexport interface RawCoin {\n\tid: string;\n\tcoingeckoId: string;\n\n\tchainId: ChainId;\n\n\ttype: REFERENCE_ASSETS;\n\n\tname: string;\n\tsymbol: string;\n\tdecimals: 18 | 6;\n\n\taddress: string;\n}\n","import type { ChainId } from '@koyofinance/core-sdk';\nimport { FIAT_ASSET_TYPES, REFERENCE_ASSETS } from '../referenceAssets';\nimport { coins, RawCoin } from './coins';\n\nexport * from './coins';\n\nexport class Coin {\n\tpublic id: string;\n\n\tpublic name: string;\n\tpublic symbol: string;\n\tpublic decimals: 18 | 6 = 18;\n\n\tpublic coingeckoId: string;\n\n\tpublic chainId: ChainId;\n\n\tpublic type: REFERENCE_ASSETS;\n\n\tpublic address: string;\n\n\tpublic readonly rawCoin: RawCoin;\n\n\tpublic constructor(coin: RawCoin) {\n\t\tthis.id = coin.id;\n\n\t\tthis.name = coin.name;\n\t\tthis.symbol = coin.symbol;\n\t\tthis.decimals = coin.decimals;\n\n\t\tthis.coingeckoId = coin.coingeckoId;\n\n\t\tthis.chainId = coin.chainId;\n\n\t\tthis.type = coin.type;\n\n\t\tthis.address = coin.address;\n\n\t\tthis.rawCoin = coin;\n\t}\n\n\tpublic isFiat() {\n\t\treturn FIAT_ASSET_TYPES.includes(this.type);\n\t}\n\n\tpublic toJSON() {\n\t\treturn this.rawCoin;\n\t}\n}\n\nexport const augmentedCoins = Object.fromEntries(coins.map((coin) => [coin.id, new Coin(coin)]));\n","import { ChainId } from '@koyofinance/core-sdk';\nimport { augmentedCoins, Coin } from '../coins';\n\nexport const pools: ReadonlyArray<Pool> = [\n\t{\n\t\tid: '4pool',\n\t\tname: '4pool',\n\t\tchainId: ChainId.BOBA,\n\t\tlpTokenInfo: {\n\t\t\tname: 'Koyo.finance FRAX/DAI/USDC/USDT',\n\t\t\tsymbol: '4Koyo'\n\t\t},\n\t\tassets: 'FRAX+DAI+USDC+USDT',\n\t\tcoins: [\n\t\t\taugmentedCoins['boba:frax'], //\n\t\t\taugmentedCoins['boba:dai'],\n\t\t\taugmentedCoins['boba:usdc'],\n\t\t\taugmentedCoins['boba:usdt']\n\t\t],\n\t\taddresses: {\n\t\t\tswap: '0x9f0a572be1fcfe96e94c0a730c5f4bc2993fe3f6',\n\t\t\tlpToken: '0xdab3fc342a242add09504bea790f9b026aa1e709'\n\t\t}\n\t}\n];\n\nexport interface PoolLPTokenInfo {\n\tname: string;\n\tsymbol: string;\n}\n\nexport interface PoolAddresses {\n\tswap: string;\n\tlpToken: string;\n}\n\nexport interface Pool {\n\tid: string;\n\tname: string;\n\tchainId: ChainId;\n\n\tlpTokenInfo: PoolLPTokenInfo;\n\n\tassets: string;\n\tcoins: Coin[];\n\n\taddresses: PoolAddresses;\n}\n","import { pools } from './pools';\n\nexport * from './pools';\n\nexport const augmentedPools = pools;\nexport const poolIds = augmentedPools.map(({ id }) => id);\n\nexport function getPoolById(id: string) {\n\treturn augmentedPools.find((pool) => id === pool.id);\n}\n\nexport function findPoolForCoinsIds(coinIdA: string, coinIdB: string) {\n\treturn augmentedPools.find(({ coins }) => coins.some(({ id }) => id === coinIdA) && coins.some(({ id }) => id === coinIdB));\n}\n\nexport function findPoolForSwapAddress(swapAddress: string) {\n\tconst lcSwapAddress = swapAddress.toLowerCase();\n\treturn augmentedPools.find(({ addresses }) => addresses.swap.toLowerCase() === lcSwapAddress);\n}\n"],"mappings":";;;;;;;;;AAAA,IAAO;UAAK,mBAAgB;AAAhB,oBACX,SAAM;AADK,oBAEX,SAAM;GAFK,oBAAA,oBAAgB,CAAA,EAAA;AAKrB,IAAM,mBAAmB;EAAC,iBAAiB;;;;ACLlD;AAGO,IAAM,QAAgC;EAC5C;IACC,IAAI;IACJ,aAAa;IACb,SAAS,QAAQ;IACjB,MAAM,iBAAiB;IACvB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;;EAEV;IACC,IAAI;IACJ,aAAa;IACb,SAAS,QAAQ;IACjB,MAAM,iBAAiB;IACvB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;;EAEV;IACC,IAAI;IACJ,aAAa;IACb,SAAS,QAAQ;IACjB,MAAM,iBAAiB;IACvB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;;EAEV;IACC,IAAI;IACJ,aAAa;IACb,SAAS,QAAQ;IACjB,MAAM,iBAAiB;IACvB,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;;;;;ACpCJ,iBAAU;EAiBhB,YAAmB,MAAe;AAZ3B,oCAAmB;AAazB,SAAK,KAAK,KAAK;AAEf,SAAK,OAAO,KAAK;AACjB,SAAK,SAAS,KAAK;AACnB,SAAK,WAAW,KAAK;AAErB,SAAK,cAAc,KAAK;AAExB,SAAK,UAAU,KAAK;AAEpB,SAAK,OAAO,KAAK;AAEjB,SAAK,UAAU,KAAK;AAEpB,SAAK,UAAU;;EAGT,SAAS;AACf,WAAO,iBAAiB,SAAS,KAAK,IAAI;;EAGpC,SAAS;AACf,WAAO,KAAK;;;AAxCP;AA4CA,IAAM,iBAAiB,OAAO,YAAY,MAAM,IAAI,CAAC,SAAS;EAAC,KAAK;EAAI,IAAI,KAAK,IAAI;CAAE,CAAC;;;AClD/F;AAGO,IAAM,QAA6B;EACzC;IACC,IAAI;IACJ,MAAM;IACN,SAAS,SAAQ;IACjB,aAAa;MACZ,MAAM;MACN,QAAQ;;IAET,QAAQ;IACR,OAAO;MACN,eAAe;MACf,eAAe;MACf,eAAe;MACf,eAAe;;IAEhB,WAAW;MACV,MAAM;MACN,SAAS;;;;;;ACjBL,IAAM,iBAAiB;AACvB,IAAM,UAAU,eAAe,IAAI,CAAC,EAAE,SAAS,EAAE;AAEjD,qBAAqB,IAAY;AACvC,SAAO,eAAe,KAAK,CAAC,SAAS,OAAO,KAAK,EAAE;;AADpC;AAIT,6BAA6B,SAAiB,SAAiB;AACrE,SAAO,eAAe,KAAK,CAAC,EAAE,oBAAY,OAAM,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,KAAK,OAAM,KAAK,CAAC,EAAE,SAAS,OAAO,OAAO,CAAC;;AAD3G;AAIT,gCAAgC,aAAqB;AAC3D,QAAM,gBAAgB,YAAY,YAAW;AAC7C,SAAO,eAAe,KAAK,CAAC,EAAE,gBAAgB,UAAU,KAAK,YAAW,MAAO,aAAa;;AAF7E;","names":[]}