Switch to using @farcaster/frame-node for webhook parsing & validation

This commit is contained in:
Christian Mladenov
2024-12-12 11:23:51 -08:00
committed by lucas-neynar
parent 8acf07b03e
commit 8edbb2514a
5 changed files with 53 additions and 135 deletions

View File

@@ -1,34 +0,0 @@
const apiKey = process.env.NEYNAR_API_KEY || "";
export async function isSignerValid({
fid,
signerPublicKey,
}: {
fid: number;
signerPublicKey: string;
}): Promise<boolean> {
const url = new URL("https://hub-api.neynar.com/v1/onChainSignersByFid");
url.searchParams.append("fid", fid.toString());
const response = await fetch(url, {
method: "GET",
headers: {
"x-api-key": apiKey,
},
});
if (response.status !== 200) {
throw new Error(await response.text());
}
const responseJson = await response.json();
const signerPublicKeyLC = signerPublicKey.toLowerCase();
const signerExists = responseJson.events.find(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(event: any) =>
event.signerEventBody.key.toLowerCase() === signerPublicKeyLC
);
return signerExists;
}