UNPKG

@molecularlabs/nucleus-frontend

Version:
1 lines 2.47 kB
{"version":3,"sources":["../../src/api/multi-call.ts"],"sourcesContent":["import { type Address, erc20Abi } from \"viem\";\nimport { AccountantAbi } from \"../contracts/accountant-abi\";\nimport { TellerAbi } from \"../contracts/teller-abi\";\nimport { getClient } from \"../lib/client\";\nimport type { ChainId } from \"./vault-config\";\n\ntype RateInQuoteWithAssetDecimalsProps = {\n assetAddress: Address;\n accountantAddress: Address;\n chainId: ChainId;\n};\n\nconst getRateInQuoteWithAssetDecimals = async ({\n assetAddress,\n accountantAddress,\n chainId,\n}: RateInQuoteWithAssetDecimalsProps) => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: assetAddress,\n functionName: \"decimals\",\n },\n {\n abi: AccountantAbi,\n address: accountantAddress,\n functionName: \"getRateInQuote\",\n args: [assetAddress],\n },\n ],\n });\n return results;\n};\n\ntype PausedStatusProps = {\n accountantAddress: Address;\n tellerAddress: Address;\n chainId: ChainId;\n};\n\nconst getPausedStates = async ({\n accountantAddress,\n tellerAddress,\n chainId,\n}: PausedStatusProps) => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: TellerAbi,\n address: tellerAddress,\n functionName: \"isPaused\",\n },\n {\n abi: AccountantAbi,\n address: accountantAddress,\n functionName: \"accountantState\",\n },\n ],\n });\n return results;\n};\n\nexport { getPausedStates, getRateInQuoteWithAssetDecimals };\n"],"mappings":"AAAA,SAAuB,gBAAgB;AACvC,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAS1B,MAAM,kCAAkC,OAAO;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AACF,MAAyC;AACvC,QAAM,SAAS,MAAM,UAAU,OAAO;AAEtC,QAAM,UAAU,MAAM,OAAO,UAAU;AAAA,IACrC,WAAW;AAAA,MACT;AAAA,QACE,KAAK;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,QACd,MAAM,CAAC,YAAY;AAAA,MACrB;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO;AACT;AAQA,MAAM,kBAAkB,OAAO;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,QAAM,SAAS,MAAM,UAAU,OAAO;AAEtC,QAAM,UAAU,MAAM,OAAO,UAAU;AAAA,IACrC,WAAW;AAAA,MACT;AAAA,QACE,KAAK;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":[]}