Viewing File: /home/ubuntu/efiexchange-node-base/src/routes/userApp.routes.ts

import express, { Request, Response, NextFunction } from "express";
import {
  transferTokensHandler,
  getTransactionDetails,
  generateWalletAddress,
  transferTokensToAdmin,
  fetchChildWallets,
  fetchChildWalletsRange,
  generateHDWalletAddress,
} from "../controllers/userApp/user.controller";

import {
  transferSolanaTokensHandler,
  getSolanaTransactionDetails,
  generateSolanaWalletAddress,
  fetchSolanaChildWallets,
  fetchSolanaChildWalletsRange,
  generateSolanaHDWalletAddress,
} from "../controllers/userApp/solana.controller";

import {
  transferTronTokensHandler,
  getTronTransactionDetails,
  generateTronWalletAddress,
  transferTronTokensToAdmin,
  fetchTronChildWallets,
  fetchTronChildWalletsRange,
  generateTronHDWalletAddress,
} from "../controllers/userApp/tron.controller";
import { authRequest, authVerification } from "src/middleware/auth.middleware";
import {encrypt} from "src/utils/decrypt";

const Route = express.Router();

const asyncHandler =
  (fn: (req: Request, res: Response, next: NextFunction) => Promise<void>) =>
  (req: Request, res: Response, next: NextFunction) => {
    Promise.resolve(fn(req, res, next)).catch(next);
  };

// Base route
Route.get("/", (req: Request, res: Response) => {
  res.sendResponse({ key: "Exchange user Routes" }, "Exchange user routes");
});

// Ethereum-related routes
Route.post("/transfer_tokens", asyncHandler(transferTokensHandler));
Route.post("/get_transaction_details", asyncHandler(getTransactionDetails));
Route.post("/generate_wallet_address", authVerification, asyncHandler(generateWalletAddress));
Route.post("/generate_hd_wallet_address", authVerification, asyncHandler(generateHDWalletAddress));
Route.post("/admin_transfer", asyncHandler(transferTokensToAdmin));
Route.post("/fetch_child_wallets", asyncHandler(fetchChildWallets));
Route.post("/fetch_child_wallets_range", asyncHandler(fetchChildWalletsRange));

// Solana-related routes
Route.post("/transfer_solana_tokens", asyncHandler(transferSolanaTokensHandler));
Route.post("/get_solana_transaction_details", asyncHandler(getSolanaTransactionDetails));
Route.post("/generate_solana_wallet_address", authVerification, asyncHandler(generateSolanaWalletAddress));
Route.post("/generate_solana_hd_wallet_address", authVerification, asyncHandler(generateSolanaHDWalletAddress));
// Route.post("/solana_admin_transfer", asyncHandler(transferTokensToAdmin));
Route.post("/fetch_solana_child_wallets", asyncHandler(fetchSolanaChildWallets));
Route.post("/fetch_solana_child_wallets_range", asyncHandler(fetchSolanaChildWalletsRange));

// Tron-related routes
Route.post("/transfer_tron_tokens", asyncHandler(transferTronTokensHandler));
Route.post("/get_tron_transaction_details", asyncHandler(getTronTransactionDetails));
Route.post("/generate_tron_wallet_address",authVerification, asyncHandler(generateTronWalletAddress));
Route.post("/generate_tron_hd_wallet_address",authVerification, asyncHandler(generateTronHDWalletAddress));
Route.post("/tron_admin_transfer", asyncHandler(transferTronTokensToAdmin));
Route.post("/fetch_tron_child_wallets", asyncHandler(fetchTronChildWallets));
Route.post("/fetch_tron_child_wallets_range", asyncHandler(fetchTronChildWalletsRange));

Route.post("/encrypt", asyncHandler(encrypt));

export default Route;

Back to Directory File Manager