UNPKG

@molecularlabs/nucleus-frontend

Version:
1 lines 1.17 kB
{"version":3,"sources":["../../src/api/chainlink.ts"],"sourcesContent":["import { CHAINLINK_ADDRESS } from \"../constants\";\nimport { ChainlinkAbi } from \"../contracts/chainlink-abi\";\nimport { getClient } from \"../lib/client\";\nimport type { ChainId } from \"./vault-config\";\n\ninterface GetEthPriceProps {\n chainId: ChainId;\n}\n\nexport async function getEthPrice({\n chainId,\n}: GetEthPriceProps): Promise<bigint> {\n const client = await getClient(chainId);\n const priceData = (await client.readContract({\n abi: ChainlinkAbi,\n address: CHAINLINK_ADDRESS,\n functionName: \"latestRoundData\",\n args: [],\n })) as Array<bigint>;\n\n if (!priceData || !priceData[1]) {\n throw new Error(\"Failed to fetch ETH price from Chainlink\");\n }\n\n return priceData[1];\n}\n"],"mappings":"AAAA,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAO1B,eAAsB,YAAY;AAAA,EAChC;AACF,GAAsC;AACpC,QAAM,SAAS,MAAM,UAAU,OAAO;AACtC,QAAM,YAAa,MAAM,OAAO,aAAa;AAAA,IAC3C,KAAK;AAAA,IACL,SAAS;AAAA,IACT,cAAc;AAAA,IACd,MAAM,CAAC;AAAA,EACT,CAAC;AAED,MAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG;AAC/B,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC5D;AAEA,SAAO,UAAU,CAAC;AACpB;","names":[]}