Skip to content

Commit fb47e01

Browse files
authored
Merge pull request #217 from r4topunk/chore/mor-note3
chore: mor diag + redeploy for env
2 parents 079299f + 669ef73 commit fb47e01

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

src/app/api/stake-graph/route.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { NextResponse } from "next/server";
2-
import { getStakeGraph } from "@/services/stake-graph";
2+
import { getStakeGraph, lastMorNote } from "@/services/stake-graph";
33

44
// Recompute at most once a minute; serve stale for 5 more while revalidating.
55
export const revalidate = 60;
66

77
export async function GET() {
88
try {
99
const graph = await getStakeGraph();
10-
return NextResponse.json(graph, {
10+
return NextResponse.json({ ...graph, _morNote: lastMorNote() }, {
1111
headers: { "Cache-Control": "public, s-maxage=60, stale-while-revalidate=300" },
1212
});
1313
} catch {

src/services/stake-graph.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ const ETHERSCAN_KEY = process.env.ETHERSCAN_API_KEY || process.env.BASESCAN_API_
143143
const USER_REFERRED_SIG = keccak256(toHex("UserReferred(uint256,address,address,uint256)"));
144144
const pad32 = (a: Address) => `0x000000000000000000000000${a.slice(2).toLowerCase()}`;
145145

146+
// Temporary diag: which key env is set + the last Etherscan response.
147+
let _morNote = "init";
148+
export function lastMorNote() {
149+
return `esk=${process.env.ETHERSCAN_API_KEY ? "Y" : "n"} bsk=${process.env.BASESCAN_API_KEY ? "Y" : "n"} | ${_morNote}`;
150+
}
151+
146152
/** A rider's referred stakes on a pool, straight from the UserReferred events.
147153
* Needs a mainnet-capable Etherscan key (a Basescan-only key returns NOTOK for
148154
* chainid=1) — set ETHERSCAN_API_KEY in the env. */
@@ -155,6 +161,7 @@ async function etherscanReferred(pool: Address, referrer: Address, key: string):
155161
try {
156162
const res = await fetch(url, { cache: "no-store" });
157163
const j = (await res.json()) as { status?: string; message?: string; result?: unknown };
164+
_morNote = `${j.status ?? "?"}|${String(j.message ?? "?").slice(0, 24)}|${Array.isArray(j.result) ? `n=${j.result.length}` : String(j.result).slice(0, 50)}`;
158165
if (j.status === "1" && Array.isArray(j.result)) {
159166
return (j.result as Array<{ topics: string[]; data: string }>).map((l) => ({ user: getAddress(`0x${l.topics[2].slice(26)}`), amount: BigInt(l.data) }));
160167
}

0 commit comments

Comments
 (0)