init
This commit is contained in:
@@ -12,10 +12,12 @@ import { globalLimiter, mutateLimiter, sensitiveLimiter, mnemonicRevealLimiter }
|
||||
import { errorHandler } from './middleware/error-handler';
|
||||
import walletRoutes from './routes/wallet.routes';
|
||||
import relayProxyRoutes from './routes/relay-proxy.routes';
|
||||
import jumperProxyRoutes from './routes/jumper-proxy.routes';
|
||||
import tronProxyRoutes from './routes/tron-proxy.routes';
|
||||
import btcProxyRoutes from './routes/btc-proxy.routes';
|
||||
import pricesRoutes from './routes/prices.routes';
|
||||
import tokensRoutes from './routes/tokens.routes';
|
||||
import bridgeRoutes from './routes/bridge.routes';
|
||||
|
||||
const app = express();
|
||||
|
||||
@@ -102,6 +104,9 @@ app.use('/api/wallets/:chain/send', ...protect, sensitiveLimiter);
|
||||
// Mutating (proxy + read endpoints) — повышенный лимит
|
||||
app.use('/api/wallets', ...protect, mutateLimiter, walletRoutes);
|
||||
app.use('/api/relay', ...protect, mutateLimiter, relayProxyRoutes);
|
||||
// Jumper.xyz — LiFi-backed bridge aggregator (50+ chains: ETH/BSC/SOL/TRX/BTC + others).
|
||||
// Используется когда Relay не поддерживает направление (TRX/BTC bridges).
|
||||
app.use('/api/jumper', ...protect, mutateLimiter, jumperProxyRoutes);
|
||||
app.use('/api/tron', ...protect, mutateLimiter, tronProxyRoutes);
|
||||
app.use('/api/btc', ...protect, mutateLimiter, btcProxyRoutes);
|
||||
// Legacy non-custodial swap proxies (/api/bsc/swap, /api/sol/swap, /api/tron/swap)
|
||||
@@ -113,6 +118,11 @@ app.use('/api/prices', ...protect, mutateLimiter, pricesRoutes);
|
||||
// Token registry — всех известных contracts/mints по всем chain'ам. GET-only, auth required.
|
||||
app.use('/api/tokens', ...protect, mutateLimiter, tokensRoutes);
|
||||
|
||||
// Bridge execute — one-click "Подтвердить" для bridge через Jumper (LiFi) / Relay.
|
||||
// Dispatcher по source chain: EVM (approve+fee+bridge) / SOL (versioned tx) / TRX (TRC20 approve+bridge) / BTC (PSBT deposit).
|
||||
// Sign + broadcast custodial через server (mnemonic не покидает API).
|
||||
app.use('/api/bridge', ...protect, mutateLimiter, bridgeRoutes);
|
||||
|
||||
// 404 для всего что не сматчилось выше — единый JSON-ответ, не express default text
|
||||
app.use((_req, res) => {
|
||||
res.status(404).json({ success: false, error: 'Not found' });
|
||||
|
||||
Reference in New Issue
Block a user