UNPKG

@ledgerhq/live-common

Version:
36 lines (29 loc) 1.5 kB
import type { ConcordiumSigner } from "@ledgerhq/coin-concordium"; import { createBridges } from "@ledgerhq/coin-concordium/bridge/index"; import concordiumResolver from "@ledgerhq/coin-concordium/signer"; import type { ConcordiumCoinConfig } from "@ledgerhq/coin-concordium/config"; import { ConcordiumAccount, Transaction, TransactionStatus } from "@ledgerhq/coin-concordium/types"; import makeCliTools from "@ledgerhq/coin-concordium/test/cli"; import Concordium from "@ledgerhq/hw-app-concordium"; import Transport from "@ledgerhq/hw-transport"; import { CryptoCurrency } from "@ledgerhq/types-cryptoassets"; import type { Bridge } from "@ledgerhq/types-live"; import { CreateSigner, createResolver, executeWithSigner } from "../../bridge/setup"; import { getCurrencyConfiguration } from "../../config"; import type { Resolver } from "../../hw/getAddress/types"; const createSigner: CreateSigner<ConcordiumSigner> = (transport: Transport): ConcordiumSigner => { return new Concordium(transport); }; const getCurrencyConfig = (currency?: CryptoCurrency) => { if (!currency) { throw new Error("currency not defined"); } return getCurrencyConfiguration<ConcordiumCoinConfig>(currency); }; const bridge: Bridge<Transaction, ConcordiumAccount, TransactionStatus> = createBridges( executeWithSigner(createSigner), getCurrencyConfig, ); const resolver: Resolver = createResolver(createSigner, concordiumResolver); const cliTools = makeCliTools(); export { bridge, cliTools, resolver };