@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
25 lines • 1.42 kB
JavaScript
// Goal of this file is to inject all necessary device/signer dependency to coin-modules
import invariant from "invariant";
import { DmkSignerAleo } from "@ledgerhq/live-signer-aleo";
import { createBridges } from "@ledgerhq/coin-aleo/bridge/index";
import makeCliTools from "@ledgerhq/coin-aleo/test/cli";
import aleoAddressResolver from "@ledgerhq/coin-aleo/signer/getAddress";
import aleoViewKeyResolver from "@ledgerhq/coin-aleo/signer/getViewKey";
import { createResolver, executeWithSigner } from "../../bridge/setup";
import { getCurrencyConfiguration } from "../../config";
import { createViewKeyResolver } from "./hw/getViewKey/resolver";
const createSigner = (transport) => {
invariant(transport.dmk, "aleo: transport.dmk is missing");
invariant(transport.sessionId, "aleo: transport.sessionId is missing");
return new DmkSignerAleo(transport.dmk, transport.sessionId);
};
const getCurrencyConfig = (currency) => {
invariant(currency, "aleo: currency is required in getCurrencyConfig");
return getCurrencyConfiguration(currency);
};
const bridge = createBridges(executeWithSigner(createSigner), getCurrencyConfig);
const resolver = createResolver(createSigner, aleoAddressResolver);
const viewKeyResolver = createViewKeyResolver(createSigner, aleoViewKeyResolver);
const cliTools = makeCliTools();
export { bridge, cliTools, resolver, viewKeyResolver };
//# sourceMappingURL=setup.js.map