@mentaproject/signer-react-native 0.0.13 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/signer.d.ts +1 -0
- package/dist/signer.d.ts.map +1 -1
- package/dist/signer.js +28 -17
- package/dist/signer.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/passkey.d.ts +6 -3
- package/dist/utils/passkey.d.ts.map +1 -1
- package/dist/utils/passkey.js +40 -11
- package/dist/utils/passkey.js.map +1 -1
- package/package.json +1 -1
- package/src/signer.ts +33 -16
- package/src/types/index.ts +3 -1
- package/src/utils/passkey.ts +68 -32
package/dist/signer.d.ts
CHANGED
|
@@ -194,6 +194,7 @@ export declare class ReactNativePasskeySigner {
|
|
|
194
194
|
* Internal method to sign a challenge with the passkey.
|
|
195
195
|
*
|
|
196
196
|
* @param challenge - The Base64URL-encoded challenge
|
|
197
|
+
* @param chainId - Optional chain ID for RIP7212 precompile detection
|
|
197
198
|
* @returns The encoded signature
|
|
198
199
|
*/
|
|
199
200
|
private signWithPasskey;
|
package/dist/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,SAAS,EACd,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,8BAA8B,EAC9B,eAAe,EACf,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAe1B;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,KAAK,CAAC,EAAE,OAAO;gBAD/B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,OAAO,YAAA;CAKlC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,wBAAwB;IACnC;;OAEG;IACH,SAAgB,IAAI,EAAG,OAAO,CAAU;IAExC;;OAEG;IACH,SAAgB,MAAM,EAAG,sBAAsB,CAAU;IAEzD;;;;OAIG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,SAAgB,YAAY,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,SAAgB,eAAe,EAAE,GAAG,CAAC;IAErC;;OAEG;IACH,SAAgB,oBAAoB,EAAE,aAAa,CAAC;IAEpD;;OAEG;IACH,SAAgB,SAAS,EAAE,GAAG,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD;;;;;;OAMG;IACH,OAAO;IAsBP;;;;;;;;;;;;;OAaG;WACiB,QAAQ,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAAC,wBAAwB,CAAC;IA2FpC;;;;;;;;OAQG;WACW,cAAc,CAC1B,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,8BAA8B,GACrC,wBAAwB;IAQ3B;;;;;;;;;OASG;IACU,WAAW,CAAC,EACvB,OAAO,GACR,EAAE;QACD,OAAO,EAAE,eAAe,CAAC;KAC1B,GAAG,OAAO,CAAC,GAAG,CAAC;IAmChB;;;;;;OAMG;IACU,aAAa,CACxB,KAAK,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,YAAY,SAAS,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,UAAU,EACzE,SAAS,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAWzE;;;;;;;OAOG;IACU,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAM5C;;;;;;;;OAQG;IACU,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ3C;;OAEG;IACI,aAAa,IAAI,GAAG;IAI3B;;OAEG;IACI,aAAa,IAAI,GAAG;IAI3B;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;;OAGG;IACH,IAAW,mBAAmB,IAAI,GAAG,CAGpC;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,IAAW,mBAAmB,IAAI,CAChC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC,KACzD,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
|
package/dist/signer.js
CHANGED
|
@@ -331,28 +331,36 @@ export class ReactNativePasskeySigner {
|
|
|
331
331
|
* without relying on @simplewebauthn/browser.
|
|
332
332
|
*/
|
|
333
333
|
get signMessageCallback() {
|
|
334
|
-
return async (message, _rpId,
|
|
335
|
-
//
|
|
336
|
-
let
|
|
334
|
+
return async (message, _rpId, chainId, _allowCredentials) => {
|
|
335
|
+
// Match ZeroDev's behavior: extract message content and treat as hex
|
|
336
|
+
let messageContent;
|
|
337
337
|
if (typeof message === "string") {
|
|
338
|
-
|
|
339
|
-
|
|
338
|
+
// message is a string (treated as hex by ZeroDev)
|
|
339
|
+
messageContent = message;
|
|
340
340
|
}
|
|
341
|
-
else if ("raw" in message) {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
341
|
+
else if ("raw" in message && typeof message.raw === "string") {
|
|
342
|
+
// message.raw is a Hex string
|
|
343
|
+
messageContent = message.raw;
|
|
344
|
+
}
|
|
345
|
+
else if ("raw" in message && message.raw instanceof Uint8Array) {
|
|
346
|
+
// message.raw is a ByteArray - convert to hex string
|
|
347
|
+
messageContent = Array.from(message.raw)
|
|
348
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
349
|
+
.join("");
|
|
348
350
|
}
|
|
349
351
|
else {
|
|
350
|
-
throw new PasskeySignerError("
|
|
352
|
+
throw new PasskeySignerError("Unsupported message format");
|
|
351
353
|
}
|
|
354
|
+
// Remove 0x prefix if present (matches ZeroDev behavior)
|
|
355
|
+
const formattedMessage = messageContent.startsWith("0x")
|
|
356
|
+
? messageContent.slice(2)
|
|
357
|
+
: messageContent;
|
|
358
|
+
// Convert hex string to bytes
|
|
359
|
+
const messageBytes = this.hexToBytes(`0x${formattedMessage}`);
|
|
352
360
|
// Create challenge from message bytes
|
|
353
361
|
const challenge = bytesToBase64Url(messageBytes);
|
|
354
|
-
// Sign with passkey
|
|
355
|
-
return this.signWithPasskey(challenge);
|
|
362
|
+
// Sign with passkey, using the chainId for proper RIP7212 detection
|
|
363
|
+
return this.signWithPasskey(challenge, chainId);
|
|
356
364
|
};
|
|
357
365
|
}
|
|
358
366
|
/**
|
|
@@ -382,9 +390,10 @@ export class ReactNativePasskeySigner {
|
|
|
382
390
|
* Internal method to sign a challenge with the passkey.
|
|
383
391
|
*
|
|
384
392
|
* @param challenge - The Base64URL-encoded challenge
|
|
393
|
+
* @param chainId - Optional chain ID for RIP7212 precompile detection
|
|
385
394
|
* @returns The encoded signature
|
|
386
395
|
*/
|
|
387
|
-
async signWithPasskey(challenge) {
|
|
396
|
+
async signWithPasskey(challenge, chainId) {
|
|
388
397
|
try {
|
|
389
398
|
// Create assertion options
|
|
390
399
|
const options = createAssertionOptions(challenge, this.config.rpId, this.credentialId, this.config.userVerification, this.config.timeout);
|
|
@@ -397,7 +406,9 @@ export class ReactNativePasskeySigner {
|
|
|
397
406
|
signature: result.response.signature,
|
|
398
407
|
});
|
|
399
408
|
// Encode the signature according to the configured format
|
|
400
|
-
|
|
409
|
+
// Use provided chainId, or fall back to config chainId, or default to Sepolia
|
|
410
|
+
const effectiveChainId = chainId ?? this.config.chainId ?? 11155111;
|
|
411
|
+
return encodeWebAuthnSignature(webAuthnSignature, this.config.signatureFormat, effectiveChainId);
|
|
401
412
|
}
|
|
402
413
|
catch (error) {
|
|
403
414
|
if (error instanceof SignatureError) {
|
package/dist/signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -113,5 +113,7 @@ export type SignatureEncodingFormat = "kernel" | "rhinestone" | "raw";
|
|
|
113
113
|
export interface ReactNativePasskeySignerConfig extends PasskeyConfig {
|
|
114
114
|
/** The format to use when encoding signatures */
|
|
115
115
|
signatureFormat?: SignatureEncodingFormat;
|
|
116
|
+
/** Chain ID for RIP7212 precompile detection (default: 11155111 - Sepolia) */
|
|
117
|
+
chainId?: number;
|
|
116
118
|
}
|
|
117
119
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CACjC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB;IAEnE,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC;IAExB;;;OAGG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpE;;;OAGG;IACH,aAAa,EAAE,CACb,KAAK,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,YAAY,SAAS,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,UAAU,EAEzE,SAAS,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,KACrD,OAAO,CAAC,GAAG,CAAC,CAAC;IAElB;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN;IACE,GAAG,EAAE,GAAG,GAAG,UAAU,CAAC;CACvB,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,CAAC,EAAE,GAAG,CAAC;IACP,gDAAgD;IAChD,CAAC,EAAE,GAAG,CAAC;CACR;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,eAAe,EAAE,GAAG,CAAC;IACrB,iCAAiC;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,sDAAsD;IACtD,YAAY,EAAE,GAAG,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,EAAE,GAAG,CAAC;IACd,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,GAAG,EAAE,GAAG,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,iBAAiB,EAAE,GAAG,CAAC;IACvB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,CAAC,EAAE,GAAG,CAAC;IACP,kDAAkD;IAClD,CAAC,EAAE,GAAG,CAAC;IACP,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,YAAY,GACZ,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,aAAa;IACnE,iDAAiD;IACjD,eAAe,CAAC,EAAE,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CACjC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB;IAEnE,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC;IAExB;;;OAGG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpE;;;OAGG;IACH,aAAa,EAAE,CACb,KAAK,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,YAAY,SAAS,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,UAAU,EAEzE,SAAS,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,KACrD,OAAO,CAAC,GAAG,CAAC,CAAC;IAElB;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN;IACE,GAAG,EAAE,GAAG,GAAG,UAAU,CAAC;CACvB,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,CAAC,EAAE,GAAG,CAAC;IACP,gDAAgD;IAChD,CAAC,EAAE,GAAG,CAAC;CACR;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,eAAe,EAAE,GAAG,CAAC;IACrB,iCAAiC;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,sDAAsD;IACtD,YAAY,EAAE,GAAG,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,EAAE,GAAG,CAAC;IACd,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,GAAG,EAAE,GAAG,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,iBAAiB,EAAE,GAAG,CAAC;IACvB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,CAAC,EAAE,GAAG,CAAC;IACP,kDAAkD;IAClD,CAAC,EAAE,GAAG,CAAC;IACP,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,YAAY,GACZ,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,aAAa;IACnE,iDAAiD;IACjD,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/utils/passkey.d.ts
CHANGED
|
@@ -45,12 +45,15 @@ export declare function parseDERSignature(signatureB64: string): {
|
|
|
45
45
|
*/
|
|
46
46
|
export declare function normalizeSignatureS(s: Hex): Hex;
|
|
47
47
|
/**
|
|
48
|
-
* Finds the position of a
|
|
49
|
-
*
|
|
48
|
+
* Finds the position of a JSON field in clientDataJSON.
|
|
49
|
+
* This matches ZeroDev's findQuoteIndices behavior exactly.
|
|
50
|
+
*
|
|
51
|
+
* For "type" field: uses lastIndexOf to find '"type":"webauthn.get"'
|
|
52
|
+
* For "challenge" field: uses indexOf to find '"challenge"'
|
|
50
53
|
*
|
|
51
54
|
* @param json - The JSON string to search
|
|
52
55
|
* @param key - The key to find (e.g., "challenge", "type")
|
|
53
|
-
* @returns The byte offset of the key
|
|
56
|
+
* @returns The byte offset BEFORE the opening quote of the key
|
|
54
57
|
*/
|
|
55
58
|
export declare function findJsonFieldPosition(json: string, key: string): number;
|
|
56
59
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/utils/passkey.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/utils/passkey.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,OAAO,EAAE,KAAK,GAAG,EAAkC,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,oBAAoB,EAAE,MAAM,GAC3B,iBAAiB,CAyBnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,GAAG,CAAC;IAAC,CAAC,EAAE,GAAG,CAAA;CAAE,CAwD1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAgB/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAkCvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,iBAAiB,CA2BpB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,GAAE,uBAAkC,EAC1C,OAAO,GAAE,MAAiB,GACzB,GAAG,CAWL;AAoFD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,MAAM,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,GAAG,CAa7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,gBAAgB,GAAE,UAAU,GAAG,WAAW,GAAG,aAA0B,EACvE,OAAO,SAAQ,GACd;IACD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC5D,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;IAC3D,OAAO,EAAE,MAAM,CAAC;CACjB,CAaA"}
|
package/dist/utils/passkey.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* List of networks that support RIP-7212 (P256 precompile).
|
|
3
3
|
*/
|
|
4
|
-
const RIP7212_SUPPORTED_NETWORKS = [
|
|
4
|
+
const RIP7212_SUPPORTED_NETWORKS = [
|
|
5
|
+
1, 10, 56, 97, 130, 137, 143, 183, 185, 204, 233, 324, 360, 747, 901, 919,
|
|
6
|
+
1301, 1315, 1424, 1514, 1894, 2741, 3343, 5000, 5003, 6343, 7000, 8008, 8333,
|
|
7
|
+
8453, 8765, 10143, 17000, 28802, 33111, 33139, 34443, 42161, 42170, 42220,
|
|
8
|
+
43111, 43113, 43114, 57073, 59141, 59144, 60808, 80002, 80888, 84532, 98866,
|
|
9
|
+
98867, 421614, 534351, 534352, 656476, 743111, 747474, 763373, 11155111,
|
|
10
|
+
11155420, 666666666, 88153591557,
|
|
11
|
+
];
|
|
5
12
|
/**
|
|
6
13
|
* Checks if a network supports RIP-7212 (P256 precompile).
|
|
7
14
|
*/
|
|
@@ -117,22 +124,44 @@ export function normalizeSignatureS(s) {
|
|
|
117
124
|
return padHex(s, 32);
|
|
118
125
|
}
|
|
119
126
|
/**
|
|
120
|
-
* Finds the position of a
|
|
121
|
-
*
|
|
127
|
+
* Finds the position of a JSON field in clientDataJSON.
|
|
128
|
+
* This matches ZeroDev's findQuoteIndices behavior exactly.
|
|
129
|
+
*
|
|
130
|
+
* For "type" field: uses lastIndexOf to find '"type":"webauthn.get"'
|
|
131
|
+
* For "challenge" field: uses indexOf to find '"challenge"'
|
|
122
132
|
*
|
|
123
133
|
* @param json - The JSON string to search
|
|
124
134
|
* @param key - The key to find (e.g., "challenge", "type")
|
|
125
|
-
* @returns The byte offset of the key
|
|
135
|
+
* @returns The byte offset BEFORE the opening quote of the key
|
|
126
136
|
*/
|
|
127
137
|
export function findJsonFieldPosition(json, key) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
138
|
+
if (key === "type") {
|
|
139
|
+
// Match ZeroDev's behavior: find '"type":"webauthn.get"' using lastIndexOf
|
|
140
|
+
const typePattern = '"type":"webauthn.get"';
|
|
141
|
+
const position = json.lastIndexOf(typePattern);
|
|
142
|
+
if (position === -1) {
|
|
143
|
+
throw new SignatureError(`Field "type":"webauthn.get" not found in clientDataJSON`);
|
|
144
|
+
}
|
|
145
|
+
return position;
|
|
146
|
+
}
|
|
147
|
+
else if (key === "challenge") {
|
|
148
|
+
// Match ZeroDev's behavior: find '"challenge' using indexOf
|
|
149
|
+
const challengePattern = `"${key}`;
|
|
150
|
+
const position = json.indexOf(challengePattern);
|
|
151
|
+
if (position === -1) {
|
|
152
|
+
throw new SignatureError(`Field "${key}" not found in clientDataJSON`);
|
|
153
|
+
}
|
|
154
|
+
return position;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// Generic fallback for other keys
|
|
158
|
+
const searchPattern = `"${key}"`;
|
|
159
|
+
const position = json.indexOf(searchPattern);
|
|
160
|
+
if (position === -1) {
|
|
161
|
+
throw new SignatureError(`Field "${key}" not found in clientDataJSON`);
|
|
162
|
+
}
|
|
163
|
+
return position;
|
|
133
164
|
}
|
|
134
|
-
// Return position after the opening quote of the value
|
|
135
|
-
return position + searchPattern.length;
|
|
136
165
|
}
|
|
137
166
|
/**
|
|
138
167
|
* Parses a WebAuthn assertion response into its components.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../src/utils/passkey.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../src/utils/passkey.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/signer.ts
CHANGED
|
@@ -429,30 +429,40 @@ export class ReactNativePasskeySigner {
|
|
|
429
429
|
message: SignableMessage,
|
|
430
430
|
rpId: string,
|
|
431
431
|
chainId: number,
|
|
432
|
-
allowCredentials?: Array<{ id: string; type: "public-key" }
|
|
432
|
+
allowCredentials?: Array<{ id: string; type: "public-key" }>,
|
|
433
433
|
) => Promise<Hex> {
|
|
434
|
-
return async (message, _rpId,
|
|
435
|
-
//
|
|
436
|
-
let
|
|
434
|
+
return async (message, _rpId, chainId, _allowCredentials) => {
|
|
435
|
+
// Match ZeroDev's behavior: extract message content and treat as hex
|
|
436
|
+
let messageContent: string;
|
|
437
437
|
|
|
438
438
|
if (typeof message === "string") {
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
} else if ("raw" in message) {
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
439
|
+
// message is a string (treated as hex by ZeroDev)
|
|
440
|
+
messageContent = message;
|
|
441
|
+
} else if ("raw" in message && typeof message.raw === "string") {
|
|
442
|
+
// message.raw is a Hex string
|
|
443
|
+
messageContent = message.raw;
|
|
444
|
+
} else if ("raw" in message && message.raw instanceof Uint8Array) {
|
|
445
|
+
// message.raw is a ByteArray - convert to hex string
|
|
446
|
+
messageContent = Array.from(message.raw)
|
|
447
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
448
|
+
.join("");
|
|
447
449
|
} else {
|
|
448
|
-
throw new PasskeySignerError("
|
|
450
|
+
throw new PasskeySignerError("Unsupported message format");
|
|
449
451
|
}
|
|
450
452
|
|
|
453
|
+
// Remove 0x prefix if present (matches ZeroDev behavior)
|
|
454
|
+
const formattedMessage = messageContent.startsWith("0x")
|
|
455
|
+
? messageContent.slice(2)
|
|
456
|
+
: messageContent;
|
|
457
|
+
|
|
458
|
+
// Convert hex string to bytes
|
|
459
|
+
const messageBytes = this.hexToBytes(`0x${formattedMessage}` as Hex);
|
|
460
|
+
|
|
451
461
|
// Create challenge from message bytes
|
|
452
462
|
const challenge = bytesToBase64Url(messageBytes);
|
|
453
463
|
|
|
454
|
-
// Sign with passkey
|
|
455
|
-
return this.signWithPasskey(challenge);
|
|
464
|
+
// Sign with passkey, using the chainId for proper RIP7212 detection
|
|
465
|
+
return this.signWithPasskey(challenge, chainId);
|
|
456
466
|
};
|
|
457
467
|
}
|
|
458
468
|
|
|
@@ -487,9 +497,13 @@ export class ReactNativePasskeySigner {
|
|
|
487
497
|
* Internal method to sign a challenge with the passkey.
|
|
488
498
|
*
|
|
489
499
|
* @param challenge - The Base64URL-encoded challenge
|
|
500
|
+
* @param chainId - Optional chain ID for RIP7212 precompile detection
|
|
490
501
|
* @returns The encoded signature
|
|
491
502
|
*/
|
|
492
|
-
private async signWithPasskey(
|
|
503
|
+
private async signWithPasskey(
|
|
504
|
+
challenge: string,
|
|
505
|
+
chainId?: number,
|
|
506
|
+
): Promise<Hex> {
|
|
493
507
|
try {
|
|
494
508
|
// Create assertion options
|
|
495
509
|
const options = createAssertionOptions(
|
|
@@ -511,9 +525,12 @@ export class ReactNativePasskeySigner {
|
|
|
511
525
|
});
|
|
512
526
|
|
|
513
527
|
// Encode the signature according to the configured format
|
|
528
|
+
// Use provided chainId, or fall back to config chainId, or default to Sepolia
|
|
529
|
+
const effectiveChainId = chainId ?? this.config.chainId ?? 11155111;
|
|
514
530
|
return encodeWebAuthnSignature(
|
|
515
531
|
webAuthnSignature,
|
|
516
532
|
this.config.signatureFormat,
|
|
533
|
+
effectiveChainId,
|
|
517
534
|
);
|
|
518
535
|
} catch (error) {
|
|
519
536
|
if (error instanceof SignatureError) {
|
package/src/types/index.ts
CHANGED
|
@@ -32,7 +32,7 @@ export interface SmartAccountSigner<
|
|
|
32
32
|
const TTypedData extends TypedData | Record<string, unknown>,
|
|
33
33
|
TPrimaryType extends keyof TTypedData | "EIP712Domain" = keyof TTypedData,
|
|
34
34
|
>(
|
|
35
|
-
typedData: TypedDataDefinition<TTypedData, TPrimaryType
|
|
35
|
+
typedData: TypedDataDefinition<TTypedData, TPrimaryType>,
|
|
36
36
|
) => Promise<Hex>;
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -137,4 +137,6 @@ export type SignatureEncodingFormat =
|
|
|
137
137
|
export interface ReactNativePasskeySignerConfig extends PasskeyConfig {
|
|
138
138
|
/** The format to use when encoding signatures */
|
|
139
139
|
signatureFormat?: SignatureEncodingFormat;
|
|
140
|
+
/** Chain ID for RIP7212 precompile detection (default: 11155111 - Sepolia) */
|
|
141
|
+
chainId?: number;
|
|
140
142
|
}
|
package/src/utils/passkey.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* List of networks that support RIP-7212 (P256 precompile).
|
|
3
3
|
*/
|
|
4
|
-
const RIP7212_SUPPORTED_NETWORKS = [
|
|
4
|
+
const RIP7212_SUPPORTED_NETWORKS = [
|
|
5
|
+
1, 10, 56, 97, 130, 137, 143, 183, 185, 204, 233, 324, 360, 747, 901, 919,
|
|
6
|
+
1301, 1315, 1424, 1514, 1894, 2741, 3343, 5000, 5003, 6343, 7000, 8008, 8333,
|
|
7
|
+
8453, 8765, 10143, 17000, 28802, 33111, 33139, 34443, 42161, 42170, 42220,
|
|
8
|
+
43111, 43113, 43114, 57073, 59141, 59144, 60808, 80002, 80888, 84532, 98866,
|
|
9
|
+
98867, 421614, 534351, 534352, 656476, 743111, 747474, 763373, 11155111,
|
|
10
|
+
11155420, 666666666, 88153591557,
|
|
11
|
+
];
|
|
5
12
|
|
|
6
13
|
/**
|
|
7
14
|
* Checks if a network supports RIP-7212 (P256 precompile).
|
|
@@ -41,13 +48,13 @@ export class SignatureError extends Error {
|
|
|
41
48
|
* @returns Parsed authenticator data structure
|
|
42
49
|
*/
|
|
43
50
|
export function parseAuthenticatorDataFromAssertion(
|
|
44
|
-
authenticatorDataB64: string
|
|
51
|
+
authenticatorDataB64: string,
|
|
45
52
|
): AuthenticatorData {
|
|
46
53
|
const bytes = base64UrlToBytes(authenticatorDataB64);
|
|
47
54
|
|
|
48
55
|
if (bytes.length < 37) {
|
|
49
56
|
throw new SignatureError(
|
|
50
|
-
"Authenticator data too short: minimum 37 bytes required"
|
|
57
|
+
"Authenticator data too short: minimum 37 bytes required",
|
|
51
58
|
);
|
|
52
59
|
}
|
|
53
60
|
|
|
@@ -88,7 +95,7 @@ export function parseDERSignature(signatureB64: string): { r: Hex; s: Hex } {
|
|
|
88
95
|
// Verify it's a SEQUENCE
|
|
89
96
|
if (bytes[0] !== 0x30) {
|
|
90
97
|
throw new SignatureError(
|
|
91
|
-
`Invalid DER signature: expected SEQUENCE (0x30), got 0x${bytes[0].toString(16)}
|
|
98
|
+
`Invalid DER signature: expected SEQUENCE (0x30), got 0x${bytes[0].toString(16)}`,
|
|
92
99
|
);
|
|
93
100
|
}
|
|
94
101
|
|
|
@@ -97,7 +104,7 @@ export function parseDERSignature(signatureB64: string): { r: Hex; s: Hex } {
|
|
|
97
104
|
// Parse R
|
|
98
105
|
if (bytes[offset] !== 0x02) {
|
|
99
106
|
throw new SignatureError(
|
|
100
|
-
`Invalid DER signature: expected INTEGER (0x02) for R, got 0x${bytes[offset].toString(16)}
|
|
107
|
+
`Invalid DER signature: expected INTEGER (0x02) for R, got 0x${bytes[offset].toString(16)}`,
|
|
101
108
|
);
|
|
102
109
|
}
|
|
103
110
|
offset++;
|
|
@@ -111,7 +118,7 @@ export function parseDERSignature(signatureB64: string): { r: Hex; s: Hex } {
|
|
|
111
118
|
// Parse S
|
|
112
119
|
if (bytes[offset] !== 0x02) {
|
|
113
120
|
throw new SignatureError(
|
|
114
|
-
`Invalid DER signature: expected INTEGER (0x02) for S, got 0x${bytes[offset].toString(16)}
|
|
121
|
+
`Invalid DER signature: expected INTEGER (0x02) for S, got 0x${bytes[offset].toString(16)}`,
|
|
115
122
|
);
|
|
116
123
|
}
|
|
117
124
|
offset++;
|
|
@@ -155,7 +162,7 @@ export function normalizeSignatureS(s: Hex): Hex {
|
|
|
155
162
|
|
|
156
163
|
// P-256 curve order
|
|
157
164
|
const n = BigInt(
|
|
158
|
-
"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"
|
|
165
|
+
"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
|
|
159
166
|
);
|
|
160
167
|
const halfN = n / 2n;
|
|
161
168
|
|
|
@@ -168,24 +175,50 @@ export function normalizeSignatureS(s: Hex): Hex {
|
|
|
168
175
|
}
|
|
169
176
|
|
|
170
177
|
/**
|
|
171
|
-
* Finds the position of a
|
|
172
|
-
*
|
|
178
|
+
* Finds the position of a JSON field in clientDataJSON.
|
|
179
|
+
* This matches ZeroDev's findQuoteIndices behavior exactly.
|
|
180
|
+
*
|
|
181
|
+
* For "type" field: uses lastIndexOf to find '"type":"webauthn.get"'
|
|
182
|
+
* For "challenge" field: uses indexOf to find '"challenge"'
|
|
173
183
|
*
|
|
174
184
|
* @param json - The JSON string to search
|
|
175
185
|
* @param key - The key to find (e.g., "challenge", "type")
|
|
176
|
-
* @returns The byte offset of the key
|
|
186
|
+
* @returns The byte offset BEFORE the opening quote of the key
|
|
177
187
|
*/
|
|
178
188
|
export function findJsonFieldPosition(json: string, key: string): number {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
189
|
+
if (key === "type") {
|
|
190
|
+
// Match ZeroDev's behavior: find '"type":"webauthn.get"' using lastIndexOf
|
|
191
|
+
const typePattern = '"type":"webauthn.get"';
|
|
192
|
+
const position = json.lastIndexOf(typePattern);
|
|
193
|
+
|
|
194
|
+
if (position === -1) {
|
|
195
|
+
throw new SignatureError(
|
|
196
|
+
`Field "type":"webauthn.get" not found in clientDataJSON`,
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return position;
|
|
201
|
+
} else if (key === "challenge") {
|
|
202
|
+
// Match ZeroDev's behavior: find '"challenge' using indexOf
|
|
203
|
+
const challengePattern = `"${key}`;
|
|
204
|
+
const position = json.indexOf(challengePattern);
|
|
205
|
+
|
|
206
|
+
if (position === -1) {
|
|
207
|
+
throw new SignatureError(`Field "${key}" not found in clientDataJSON`);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return position;
|
|
211
|
+
} else {
|
|
212
|
+
// Generic fallback for other keys
|
|
213
|
+
const searchPattern = `"${key}"`;
|
|
214
|
+
const position = json.indexOf(searchPattern);
|
|
215
|
+
|
|
216
|
+
if (position === -1) {
|
|
217
|
+
throw new SignatureError(`Field "${key}" not found in clientDataJSON`);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return position;
|
|
185
221
|
}
|
|
186
|
-
|
|
187
|
-
// Return position after the opening quote of the value
|
|
188
|
-
return position + searchPattern.length;
|
|
189
222
|
}
|
|
190
223
|
|
|
191
224
|
/**
|
|
@@ -238,7 +271,7 @@ export function parseWebAuthnAssertion(assertion: {
|
|
|
238
271
|
export function encodeWebAuthnSignature(
|
|
239
272
|
signature: WebAuthnSignature,
|
|
240
273
|
format: SignatureEncodingFormat = "kernel",
|
|
241
|
-
chainId: number = 11155111
|
|
274
|
+
chainId: number = 11155111,
|
|
242
275
|
): Hex {
|
|
243
276
|
switch (format) {
|
|
244
277
|
case "kernel":
|
|
@@ -264,18 +297,21 @@ export function encodeWebAuthnSignature(
|
|
|
264
297
|
* bool usePrecompile
|
|
265
298
|
* )
|
|
266
299
|
*/
|
|
267
|
-
function encodeKernelSignature(
|
|
300
|
+
function encodeKernelSignature(
|
|
301
|
+
signature: WebAuthnSignature,
|
|
302
|
+
chainId: number,
|
|
303
|
+
): Hex {
|
|
268
304
|
// Find responseTypeLocation (position after "type":" in the JSON)
|
|
269
305
|
const responseTypeIndex = signature.responseTypeLocation;
|
|
270
306
|
|
|
271
307
|
return encodeAbiParameters(
|
|
272
308
|
[
|
|
273
|
-
{ type: "bytes" },
|
|
274
|
-
{ type: "string" },
|
|
275
|
-
{ type: "uint256" },
|
|
276
|
-
{ type: "uint256" },
|
|
277
|
-
{ type: "uint256" },
|
|
278
|
-
{ type: "bool" },
|
|
309
|
+
{ type: "bytes" }, // authenticatorData
|
|
310
|
+
{ type: "string" }, // clientDataJSON
|
|
311
|
+
{ type: "uint256" }, // responseTypeLocation
|
|
312
|
+
{ type: "uint256" }, // r
|
|
313
|
+
{ type: "uint256" }, // s
|
|
314
|
+
{ type: "bool" }, // usePrecompiled
|
|
279
315
|
],
|
|
280
316
|
[
|
|
281
317
|
signature.authenticatorData,
|
|
@@ -284,7 +320,7 @@ function encodeKernelSignature(signature: WebAuthnSignature, chainId: number): H
|
|
|
284
320
|
BigInt(signature.r),
|
|
285
321
|
BigInt(signature.s),
|
|
286
322
|
isRIP7212SupportedNetwork(chainId),
|
|
287
|
-
]
|
|
323
|
+
],
|
|
288
324
|
);
|
|
289
325
|
}
|
|
290
326
|
|
|
@@ -303,15 +339,15 @@ function encodeRhinestoneSignature(signature: WebAuthnSignature): Hex {
|
|
|
303
339
|
|
|
304
340
|
return encodeAbiParameters(
|
|
305
341
|
[
|
|
306
|
-
{ type: "bytes" },
|
|
307
|
-
{ type: "bytes" },
|
|
342
|
+
{ type: "bytes" }, // authenticatorData
|
|
343
|
+
{ type: "bytes" }, // clientDataJSON as bytes
|
|
308
344
|
{ type: "uint256[2]" }, // [r, s]
|
|
309
345
|
],
|
|
310
346
|
[
|
|
311
347
|
signature.authenticatorData,
|
|
312
348
|
bytesToHex(clientDataBytes),
|
|
313
349
|
[BigInt(signature.r), BigInt(signature.s)],
|
|
314
|
-
]
|
|
350
|
+
],
|
|
315
351
|
);
|
|
316
352
|
}
|
|
317
353
|
|
|
@@ -379,7 +415,7 @@ export function createAssertionOptions(
|
|
|
379
415
|
rpId: string,
|
|
380
416
|
credentialId: string,
|
|
381
417
|
userVerification: "required" | "preferred" | "discouraged" = "required",
|
|
382
|
-
timeout = 60000
|
|
418
|
+
timeout = 60000,
|
|
383
419
|
): {
|
|
384
420
|
rpId: string;
|
|
385
421
|
challenge: string;
|