UNPKG

@ledgerhq/live-common

Version:
39 lines (31 loc) 1.64 kB
// Goal of this file is to inject all necessary device/signer dependency to coin-modules import { createBridges } from "@ledgerhq/coin-canton/bridge/index"; import { getEnv } from "@ledgerhq/live-env"; import Transport from "@ledgerhq/hw-transport"; import { CantonSigner } from "@ledgerhq/coin-canton"; import cantonResolver from "@ledgerhq/coin-canton/signer"; import type { Account, Bridge } from "@ledgerhq/types-live"; import makeCliTools from "@ledgerhq/coin-canton/test/cli"; import { CantonCoinConfig } from "@ledgerhq/coin-canton/config"; import { TransactionStatus, Transaction } from "@ledgerhq/coin-canton/types"; import { LegacySignerCanton } from "@ledgerhq/live-signer-canton"; import { CreateSigner, createResolver, executeWithSigner } from "../../bridge/setup"; import cantonBridgeMock from "./bridge/mock"; import { Resolver } from "../../hw/getAddress/types"; import { getCurrencyConfiguration } from "../../config"; import { CryptoCurrency } from "@ledgerhq/types-cryptoassets"; const createSigner: CreateSigner<CantonSigner> = (transport: Transport) => { return new LegacySignerCanton(transport); }; const getCurrencyConfig = (currency?: CryptoCurrency) => { if (!currency) { throw new Error("currency not defined"); } return getCurrencyConfiguration<CantonCoinConfig>(currency); }; const bridge: Bridge<Transaction, Account, TransactionStatus> = getEnv("MOCK") ? cantonBridgeMock : createBridges(executeWithSigner(createSigner), getCurrencyConfig); const resolver: Resolver = createResolver(createSigner, cantonResolver); const cliTools = makeCliTools(); export { bridge, cliTools, resolver };