@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
22 lines (19 loc) • 831 B
text/typescript
import { getCurrencyBridge } from "../../bridge/index";
import type { ConcordiumCurrencyBridge } from "@ledgerhq/coin-concordium";
import type { CurrencyBridge } from "@ledgerhq/types-live";
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
function isConcordiumCurrencyBridge(bridge: CurrencyBridge): bridge is ConcordiumCurrencyBridge {
return (
"onboardAccount" in bridge &&
typeof bridge.onboardAccount === "function" &&
"pairWalletConnect" in bridge &&
typeof bridge.pairWalletConnect === "function"
);
}
export function getConcordiumBridge(currency: CryptoCurrency): ConcordiumCurrencyBridge {
const bridge = getCurrencyBridge(currency);
if (!isConcordiumCurrencyBridge(bridge)) {
throw new Error(`Expected ConcordiumCurrencyBridge for ${currency.id}`);
}
return bridge;
}