30 lines
1.5 KiB
TypeScript
30 lines
1.5 KiB
TypeScript
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;
|