@molecularlabs/nucleus-frontend
Version:
Nucleus BoringVault Frontend SDK
1 lines • 1.87 kB
Source Map (JSON)
{"version":3,"sources":["../../src/display/vault-status.ts"],"sourcesContent":["import { getPausedStates } from \"../api/multi-call\";\nimport type { ChainId } from \"../api/vault-config\";\nimport { getVaultByKey } from \"../vaults\";\nimport type { VaultKey } from \"../vaults/config\";\n\ntype VaultStatusParams = {\n vaultKey: VaultKey;\n chainId: ChainId;\n};\n\nconst getVaultStatus = async ({ vaultKey, chainId }: VaultStatusParams) => {\n const vault = await getVaultByKey(vaultKey);\n if (!vault) {\n throw new Error(`Vault not found: ${vaultKey}`);\n }\n\n const tellerAddress = vault.contracts.teller;\n const accountantAddress = vault.contracts.accountant;\n\n const [tellerStatus, accountantStatus] = await getPausedStates({\n accountantAddress,\n tellerAddress,\n chainId,\n });\n\n if (tellerStatus.status === \"failure\") {\n throw new Error(tellerStatus.error.message);\n }\n\n if (accountantStatus.status === \"failure\") {\n throw new Error(accountantStatus.error.message);\n }\n\n if (tellerStatus.result === true || accountantStatus.result[7] === true) {\n return {\n isPaused: true,\n };\n }\n\n return {\n isPaused: false,\n };\n};\n\nexport { getVaultStatus };\n"],"mappings":"AAAA,SAAS,uBAAuB;AAEhC,SAAS,qBAAqB;AAQ9B,MAAM,iBAAiB,OAAO,EAAE,UAAU,QAAQ,MAAyB;AACzE,QAAM,QAAQ,MAAM,cAAc,QAAQ;AAC1C,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,oBAAoB,QAAQ,EAAE;AAAA,EAChD;AAEA,QAAM,gBAAgB,MAAM,UAAU;AACtC,QAAM,oBAAoB,MAAM,UAAU;AAE1C,QAAM,CAAC,cAAc,gBAAgB,IAAI,MAAM,gBAAgB;AAAA,IAC7D;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI,aAAa,WAAW,WAAW;AACrC,UAAM,IAAI,MAAM,aAAa,MAAM,OAAO;AAAA,EAC5C;AAEA,MAAI,iBAAiB,WAAW,WAAW;AACzC,UAAM,IAAI,MAAM,iBAAiB,MAAM,OAAO;AAAA,EAChD;AAEA,MAAI,aAAa,WAAW,QAAQ,iBAAiB,OAAO,CAAC,MAAM,MAAM;AACvE,WAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,EACF;AAEA,SAAO;AAAA,IACL,UAAU;AAAA,EACZ;AACF;","names":[]}