{"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":[]}