// Goal of this file is to inject all necessary device/signer dependency to coin-modules import invariant from "invariant"; import { createBridges } from "@ledgerhq/coin-hedera/bridge/index"; import Transport from "@ledgerhq/hw-transport"; import Hedera from "@ledgerhq/hw-app-hedera"; import type { HederaCoinConfig } from "@ledgerhq/coin-hedera/config"; import hederaResolver from "@ledgerhq/coin-hedera/signer/index"; import type { TransactionStatus, Transaction, HederaAccount, } from "@ledgerhq/coin-hedera/types/index"; import type { Bridge } from "@ledgerhq/types-live"; import makeCliTools from "@ledgerhq/coin-hedera/test/cli"; import { CreateSigner, createResolver, executeWithSigner } from "../../bridge/setup"; import { getCurrencyConfiguration } from "../../config"; import { Resolver } from "../../hw/getAddress/types"; const createSigner: CreateSigner = (transport: Transport) => { return new Hedera(transport); }; const getCurrencyConfig = (currencyId?: string) => { invariant(currencyId, "hedera: currencyId is required in getCurrencyConfig"); return getCurrencyConfiguration(currencyId); }; const bridge: Bridge = createBridges( executeWithSigner(createSigner), getCurrencyConfig, ); const resolver: Resolver = createResolver(createSigner, hederaResolver); const cliTools = makeCliTools(); export { bridge, cliTools, resolver };