Skip to content

Commit

Permalink
✍️ Debug signing
Browse files Browse the repository at this point in the history
  • Loading branch information
ferdodo committed Dec 19, 2024
1 parent 4681998 commit 7f02d1c
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion back/utils/sign.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export async function sign<T>(

const payloadAsString: string = JSON.stringify(
payload,
Object.keys(payload).sort(),
Object.keys(payload || {}).sort(),
);

const payloadAsBuffer: Buffer = Buffer.from(payloadAsString, "utf8");
Expand Down
9 changes: 7 additions & 2 deletions back/utils/verify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,12 @@ export async function verify<T>({

const ecdsaParams: EcdsaParams = { name: "ECDSA", hash: "SHA-384" };
const signatureBuffer: Buffer = Buffer.from(signature, "hex");
const payloadSerialised: string = JSON.stringify(payload);

const payloadSerialised: string = JSON.stringify(
payload,
Object.keys(payload).sort(),
);

const payloadBuffer: Buffer = Buffer.from(payloadSerialised, "utf-8");

const valid = await subtle.verify(
Expand All @@ -42,7 +47,7 @@ export async function verify<T>({

return valid;
} catch (_e) {
console.log("error", _e);
console.error("error", _e);

return false;
}
Expand Down
2 changes: 1 addition & 1 deletion core/api/shop-buy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ export async function shopBuy(
throw new Error("playsig is required to buy an item !");
}

const shopBuyRequest = await signMessage({ item, publicKey, stamp, playsig });
const shopBuyRequest = await signMessage({ item, stamp, playsig });
connection.send({ shopBuyRequest });
}
5 changes: 4 additions & 1 deletion ingame/utils/sign.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ export async function sign<T>(
["sign"],
);

const payloadAsString: string = JSON.stringify(payload);
const payloadAsString: string = JSON.stringify(
payload,
Object.keys(payload || {}).sort(),
);
const payloadAsBuffer = new TextEncoder().encode(payloadAsString);
const ecdsaParams: EcdsaParams = { name: "ECDSA", hash: "SHA-384" };

Expand Down

0 comments on commit 7f02d1c

Please sign in to comment.