"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createControllers = void 0;
const device_controller_1 = require("../../interface/controllers/device.controller");
const wallet_controller_1 = require("../../interface/controllers/wallet.controller");
const network_controller_1 = require("../../interface/controllers/network.controller");
const token_controller_1 = require("../../interface/controllers/token.controller");
const balance_controller_1 = require("../../interface/controllers/balance.controller");
const transaction_controller_1 = require("../../interface/controllers/transaction.controller");
const admin_controller_1 = require("../../interface/controllers/admin.controller");
const image_controller_1 = require("../../interface/controllers/image.controller");
const address_controller_1 = require("../../interface/controllers/address.controller");
const createControllers = (useCases) => {
    return {
        deviceController: new device_controller_1.DeviceController(useCases.createDevice, useCases.getDeviceById, useCases.getAllDevices, useCases.updateDeviceStatus, useCases.updateDevicePushToken),
        walletController: new wallet_controller_1.WalletController(useCases.generateWalletSeedphrase, useCases.createWallet, useCases.getWalletById, useCases.getWalletsByDevice, useCases.getWalletAddressForNetwork, useCases.getAllNetworkAddressesForWallet, useCases.getWalletSeedPhrase),
        networkController: new network_controller_1.NetworkController(useCases.getNetworksList, useCases.getNetworkGasInfo),
        tokenController: new token_controller_1.TokenController(useCases.getTokenById, useCases.getTokenBySymbol, useCases.getTokensByNetwork, useCases.getAllTokens, useCases.getTokenChart, useCases.getTokenPrices, useCases.resolveTokenByContract),
        balanceController: new balance_controller_1.BalanceController(useCases.getWalletBalancesForNetwork, useCases.getAllWalletBalances),
        transactionController: new transaction_controller_1.TransactionController(useCases.createTransaction, useCases.getTransactions, useCases.getTransactionById, useCases.updateTransaction, useCases.transactionRate),
        adminController: new admin_controller_1.AdminController(useCases.createNetwork, useCases.createToken, useCases.updateToken, useCases.deleteToken, useCases.updateTokenMinimumSwapValue, useCases.fetchTokenData),
        imageController: new image_controller_1.ImageController(useCases.getImage),
        addressController: new address_controller_1.AddressController(useCases.getAddressByAddress),
    };
};
exports.createControllers = createControllers;
//# sourceMappingURL=controllers.factory.js.map