import { BigNumber } from "@ethersproject/bignumber"; import { Decimal } from "@mahadao/arth-base"; export const numberify = (bigNumber: BigNumber): number => bigNumber.toNumber(); export const decimalify = (bigNumber: BigNumber): Decimal => Decimal.fromBigNumberString(bigNumber.toHexString()); export const panic = (e: unknown): T => { throw e; }; export type Resolved = T extends Promise ? U : T; export type ResolvedValues = { [P in keyof T]: Resolved }; export const promiseAllValues = (object: T): Promise> => { const keys = Object.keys(object); return Promise.all(Object.values(object)).then(values => Object.fromEntries(values.map((value, i) => [keys[i], value])) ) as Promise>; };