import { Router } from 'express'; import { WalletController } from '../controllers/wallet.controller'; const router = Router(); router.post('/create', WalletController.createWallet); router.get('/', WalletController.getWallets); router.post('/mnemonic/reveal', WalletController.revealMnemonic); // IMPORTANT: /portfolio ДОЛЖЕН быть ПЕРЕД /:chain/... иначе express матчит chain='portfolio'. router.get('/portfolio', WalletController.getPortfolio); router.get('/:chain/balance', WalletController.getChainBalance); router.get('/:chain/transactions', WalletController.getChainTransactions); router.get('/:chain/gas-suggestions', WalletController.getGasSuggestions); // IMPORTANT: more specific paths ДОЛЖНЫ быть зарегистрированы РАНЬШЕ — Express сматчит first. // /:chain/send/cost-estimate ПЕРЕД /:chain/send // /:chain/swap/quote ПЕРЕД /:chain/swap // /:chain/swap/cost-estimate ПЕРЕД /:chain/swap router.post('/:chain/send/cost-estimate', WalletController.estimateSendCost); router.post('/:chain/send', WalletController.sendFromChain); router.post('/:chain/sign-raw-evm-tx', WalletController.signRawEvmTx); router.post('/:chain/swap/quote', WalletController.quoteSwap); router.post('/:chain/swap/cost-estimate', WalletController.estimateSwapCost); router.post('/:chain/swap', WalletController.swapOnChain); router.post('/:chain/app-fee', WalletController.appFeeTransfer); router.post('/SOL/sign-and-broadcast-tx', WalletController.signSolanaTx); export default router;