Skip to content

Commit d32b8a8

Browse files
committed
allegedly fix ESM error for real
1 parent 198220a commit d32b8a8

4 files changed

Lines changed: 33 additions & 10 deletions

File tree

.changeset/humble-ends-give.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@farcaster/snap": patch
3+
---
4+
5+
allegedly fix ESM error for real

pkgs/snap/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
},
3838
"license": "MIT",
3939
"dependencies": {
40-
"@farcaster/jfs": "^0.2.2",
40+
"@farcaster/jfs": "^0.3.0",
4141
"viem": "^2.21.0",
4242
"zod": "^4.3.6"
4343
},

pkgs/snap/src/server/verify.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
import * as jfs from "@farcaster/jfs"; // must be imported like this to avoid ERR_REQUIRE_ESM error
1+
import {
2+
compact,
3+
decode,
4+
decodePayload as jfsDecodePayload,
5+
encodePayload as jfsEncodePayload,
6+
verify,
7+
} from "@farcaster/jfs";
28
import { hexToBytes, type Hex } from "viem";
39
import {
410
DEFAULT_SNAP_HUB_HTTP_BASE_URL,
@@ -26,7 +32,7 @@ export async function verifyJFSRequestBody<TPayload>(
2632
> {
2733
let compactJfs: string;
2834
try {
29-
compactJfs = jfs.compact({
35+
compactJfs = compact({
3036
header: requestBody.header,
3137
payload: requestBody.payload,
3238
signature: requestBody.signature,
@@ -38,9 +44,9 @@ export async function verifyJFSRequestBody<TPayload>(
3844
};
3945
}
4046

41-
let decoded: ReturnType<typeof jfs.decode<TPayload>>;
47+
let decoded: ReturnType<typeof decode<TPayload>>;
4248
try {
43-
decoded = jfs.decode<TPayload>(compactJfs);
49+
decoded = decode<TPayload>(compactJfs);
4450
} catch (error) {
4551
return {
4652
valid: false,
@@ -49,7 +55,7 @@ export async function verifyJFSRequestBody<TPayload>(
4955
}
5056

5157
try {
52-
await jfs.verify({ data: compactJfs, strict: true, keyTypes: ["app_key"] });
58+
await verify({ data: compactJfs, strict: true, keyTypes: ["app_key"] });
5359
} catch (error) {
5460
return {
5561
valid: false,
@@ -106,11 +112,11 @@ export async function verifyJFSRequestBody<TPayload>(
106112
}
107113

108114
export function decodePayload<TPayload>(payload: string): TPayload {
109-
return jfs.decodePayload<TPayload>(payload);
115+
return jfsDecodePayload<TPayload>(payload);
110116
}
111117

112118
export function encodePayload<TPayload>(payload: TPayload): string {
113-
return jfs.encodePayload(payload);
119+
return jfsEncodePayload(payload);
114120
}
115121

116122
function bytesEqual(a: Uint8Array, b: Uint8Array): boolean {

pnpm-lock.yaml

Lines changed: 14 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)