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; }