initalll
This commit is contained in:
@@ -18,6 +18,9 @@ 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';
|
||||
import stakingRoutes from './routes/staking.routes';
|
||||
import lpRoutes from './routes/lp.routes';
|
||||
import approvalsRoutes from './routes/approvals.routes';
|
||||
|
||||
const app = express();
|
||||
|
||||
@@ -101,9 +104,26 @@ const protect = [authMiddleware, csrfMiddleware];
|
||||
app.use('/api/wallets/create', ...protect, sensitiveLimiter);
|
||||
app.use('/api/wallets/mnemonic/reveal', ...protect, mnemonicRevealLimiter);
|
||||
app.use('/api/wallets/:chain/send', ...protect, sensitiveLimiter);
|
||||
// Sensitive money-flow — строжайший лимит ТОЛЬКО на execute-эндпоинты (точный путь через app.post).
|
||||
// Read-only quote/positions/pools матчатся обычным mutateLimiter (через router mount ниже).
|
||||
app.post('/api/wallets/:chain/stake', ...protect, sensitiveLimiter);
|
||||
app.post('/api/wallets/:chain/unstake', ...protect, sensitiveLimiter);
|
||||
app.post('/api/wallets/:chain/unstake/claim', ...protect, sensitiveLimiter);
|
||||
app.post('/api/wallets/:chain/lp/add', ...protect, sensitiveLimiter);
|
||||
app.post('/api/wallets/:chain/lp/remove', ...protect, sensitiveLimiter);
|
||||
// Custodial revoke approval (approve(spender,0)) — money-safety op, строжайший лимит.
|
||||
app.post('/api/wallets/:chain/approvals/revoke-all', ...protect, sensitiveLimiter);
|
||||
app.post('/api/wallets/:chain/approvals/revoke', ...protect, sensitiveLimiter);
|
||||
|
||||
// Mutating (proxy + read endpoints) — повышенный лимит
|
||||
app.use('/api/wallets', ...protect, mutateLimiter, walletRoutes);
|
||||
// Staking (Lido ETH) — custodial. Тот же namespace; пути /:chain/stake* не пересекаются с walletRoutes.
|
||||
app.use('/api/wallets', ...protect, mutateLimiter, stakingRoutes);
|
||||
// Uniswap v3 LP — custodial. Пути /:chain/lp/* не пересекаются с wallet/staking routes.
|
||||
app.use('/api/wallets', ...protect, mutateLimiter, lpRoutes);
|
||||
// Approval scan/revoke — custodial. Пути /:chain/approvals* не пересекаются с wallet/staking/lp routes.
|
||||
// Закрывает повисший unlimited-approval (drain-вектор) + read-only scan открытых дверей.
|
||||
app.use('/api/wallets', ...protect, mutateLimiter, approvalsRoutes);
|
||||
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).
|
||||
|
||||
Reference in New Issue
Block a user