// Goal of this file is to inject all necessary device/signer dependency to coin-modules
import { createBridges } from "@ledgerhq/coin-celo/bridge";
import makeCliTools from "@ledgerhq/coin-celo/cli-transaction";
import CeloResolver from "@ledgerhq/coin-celo/hw-getAddress";
import Celo from "@ledgerhq/hw-app-celo";
import { createResolver, executeWithSigner } from "../../bridge/setup";
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets";
import { createApi as createEvmApi } from "@ledgerhq/coin-evm/api/index";
import { getCurrencyConfiguration } from "../../config";
const createSigner = (transport) => new Celo(transport);
// NOTE Create an unused instance of EVM API with Celo configuration.
// It has the side effect of initializing the EVM coin config as well as injecting
// the input Celo config.
// TODO Remove this hack while deleting the Celo bridge
const getCurrencyConfig = () => {
    return { info: getCurrencyConfiguration(getCryptoCurrencyById("celo")) };
};
createEvmApi(getCurrencyConfig, "celo");
const bridge = createBridges(executeWithSigner(createSigner));
const resolver = createResolver(createSigner, CeloResolver);
const cliTools = makeCliTools();
export { bridge, cliTools, resolver };
//# sourceMappingURL=setup.js.map