// Goal of this file is to inject all necessary device/signer dependency to coin-modules import { PolkadotAccount, TransactionStatus, createBridges, type Transaction, } from "@ledgerhq/coin-polkadot"; import Transport from "@ledgerhq/hw-transport"; import Polkadot from "@ledgerhq/hw-app-polkadot"; import type { Bridge } from "@ledgerhq/types-live"; import { PolkadotCoinConfig } from "@ledgerhq/coin-polkadot/config"; import polkadotResolver from "@ledgerhq/coin-polkadot/signer/index"; import makeCliTools, { type CliTools } from "@ledgerhq/coin-polkadot/test/cli"; import { CreateSigner, createResolver, executeWithSigner } from "../../bridge/setup"; import { Resolver } from "../../hw/getAddress/types"; import { getCurrencyConfiguration } from "../../config"; const createSigner: CreateSigner = (transport: Transport) => { return new Polkadot(transport); }; const getCurrencyConfig = (currencyId?: string): PolkadotCoinConfig => { if (!currencyId) { throw new Error("No currency provided"); } return getCurrencyConfiguration(currencyId); }; const bridge: Bridge = createBridges( executeWithSigner(createSigner), getCurrencyConfig, ); const resolver: Resolver = createResolver(createSigner, polkadotResolver); const cliTools: CliTools = makeCliTools(); export { bridge, cliTools, resolver };