"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBalanceRoutes = void 0;
const express_1 = require("express");
const validation_middleware_1 = require("../middleware/validation.middleware");
const dto_1 = require("../../application/dto");
/**
 * Balance routes mounted under `/api/v1`.
 *
 * Routes:
 *  - GET /wallets/:walletId/networks/:networkId/balances  Calculate token balances for a wallet on a specific network.
 *                                                            Params: { walletId: string (UUID), networkId: string (UUID) }
 *  - GET /wallets/:walletId/balances                        Calculate token balances across all networks.
 *                                                            Param: { walletId: string (UUID) }
 */
const createBalanceRoutes = (controller) => {
    const router = (0, express_1.Router)();
    router.get('/wallets/:walletId/networks/:networkId/balances', (0, validation_middleware_1.validateRequest)({ params: dto_1.walletNetworkBalanceParamsSchema }), controller.getForNetwork);
    router.get('/wallets/:walletId/balances', (0, validation_middleware_1.validateRequest)({ params: dto_1.walletBalanceParamsSchema }), controller.getAll);
    return router;
};
exports.createBalanceRoutes = createBalanceRoutes;
//# sourceMappingURL=balance.routes.js.map