feat: bridges, PMM, flash workflow, token-aggregation, and deployment docs

- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault.
- Token-aggregation service routes, planner, chain config, relay env templates.
- Config snapshots and multi-chain deployment markdown updates.
- gitignore services/btc-intake/dist/ (tsc output); do not track dist.

Run forge build && forge test before deploy (large solc graph).

Made-with: Cursor
This commit is contained in:
defiQUG
2026-04-07 23:40:52 -07:00
parent 0fb7bba07b
commit 76aa419320
289 changed files with 28367 additions and 824 deletions

View File

@@ -10,22 +10,31 @@ const DEFAULT_TTL = 60 * 1000; // 1 minute
export function cacheMiddleware(ttl: number = DEFAULT_TTL) {
return (req: Request, res: Response, next: NextFunction) => {
const bypassCache =
req.query.refresh === '1' ||
req.query.noCache === '1' ||
/\bno-cache\b|\bno-store\b/i.test(req.header('cache-control') || '');
const key = `${req.method}:${req.originalUrl}`;
const cached = cache.get(key);
const cached = bypassCache ? undefined : cache.get(key);
if (cached && cached.expiresAt > Date.now()) {
res.setHeader('X-Token-Aggregation-Cache', 'hit');
return res.json(cached.data);
}
res.setHeader('X-Token-Aggregation-Cache', bypassCache ? 'bypass' : 'miss');
// Store original json method
const originalJson = res.json.bind(res);
// Override json method to cache response
res.json = function (body: unknown) {
cache.set(key, {
data: body,
expiresAt: Date.now() + ttl,
});
if (!bypassCache) {
cache.set(key, {
data: body,
expiresAt: Date.now() + ttl,
});
}
return originalJson(body);
};