diff --git a/packages/sdk/src/utils/encoding.ts b/packages/sdk/src/utils/encoding.ts index 557c1a41..0473680b 100644 --- a/packages/sdk/src/utils/encoding.ts +++ b/packages/sdk/src/utils/encoding.ts @@ -1,4 +1,4 @@ -import { type Address, encodeAbiParameters, getAbiItem, type Hash, type Hex, parseAbiParameters, toHex } from "viem"; +import { type Address, encodeAbiParameters, getAbiItem, type Hash, type Hex, pad, parseAbiParameters, toHex } from "viem"; import { SessionKeyModuleAbi } from "../abi/SessionKeyModule.js"; import { getPeriodIdsForTransaction, type SessionConfig } from "../utils/session.js"; @@ -52,7 +52,7 @@ export const encodePasskeyModuleParameters = (passkey: { passkeyPublicKey: [Buff { type: "string", name: "expectedOrigin" }, ], [ - [toHex(passkey.passkeyPublicKey[0]), toHex(passkey.passkeyPublicKey[1])], + [pad(toHex(passkey.passkeyPublicKey[0])), pad(toHex(passkey.passkeyPublicKey[1]))], passkey.expectedOrigin, ], ); diff --git a/packages/sdk/src/utils/passkey.ts b/packages/sdk/src/utils/passkey.ts index 68de54d1..264d9dd2 100644 --- a/packages/sdk/src/utils/passkey.ts +++ b/packages/sdk/src/utils/passkey.ts @@ -2,7 +2,7 @@ import { ECDSASigValue } from "@peculiar/asn1-ecc"; import { AsnParser } from "@peculiar/asn1-schema"; import { bigintToBuf, bufToBigint } from "bigint-conversion"; import { Buffer } from "buffer"; -import { type Address, encodeAbiParameters, type Hex, toHex } from "viem"; +import { type Address, encodeAbiParameters, type Hex, pad, toHex } from "viem"; enum COSEKEYS { kty = 1, // Key Type @@ -324,7 +324,7 @@ export function passkeyHashSignatureResponseFormat( [ toHex(base64UrlToUint8Array(passkeyResponse.authenticatorData)), toHex(base64UrlToUint8Array(passkeyResponse.clientDataJSON)), - [toHex(signature.r), toHex(signature.s)], + [pad(toHex(signature.r)), pad(toHex(signature.s))], ], ); const fullFormattedSig = encodeAbiParameters(