@charterlabs/rhinestone-sdk 0.1.11 → 0.1.13
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EAMV,KAAK,GAAG,EACR,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ exports.getGuardianSmartAccount = getGuardianSmartAccount;
|
|
|
16
16
|
exports.getPackedSignature = getPackedSignature;
|
|
17
17
|
exports.deployStandaloneWithEoa = deployStandaloneWithEoa;
|
|
18
18
|
const viem_1 = require("viem");
|
|
19
|
+
const p256_1 = require("@noble/curves/p256");
|
|
19
20
|
const execution_1 = require("../execution");
|
|
20
21
|
const smart_session_1 = require("../execution/smart-session");
|
|
21
22
|
const modules_1 = require("../modules");
|
|
@@ -432,14 +433,54 @@ async function signEcdsa(account, hash) {
|
|
|
432
433
|
}
|
|
433
434
|
async function signPasskey(validators, chain, hash) {
|
|
434
435
|
const { account, credentialIds } = validators;
|
|
436
|
+
console.log('credentialIds in the signPasskey', credentialIds);
|
|
435
437
|
const { webauthn: rawWebauthn, signature } = await account.sign({ hash });
|
|
438
|
+
console.log('rawWebauthn in the signPasskey', rawWebauthn);
|
|
439
|
+
console.log('signature in the signPasskey', signature);
|
|
436
440
|
const { authenticatorData, clientDataJSON, challengeIndex, typeIndex } = rawWebauthn;
|
|
437
441
|
const usePrecompiled = (0, modules_1.isRip7212SupportedNetwork)(chain);
|
|
442
|
+
// Convert signature to object { r, s } in r||s format using noble p256
|
|
443
|
+
function lowSNormalize(r, s) {
|
|
444
|
+
const n = BigInt('0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551');
|
|
445
|
+
if (s > n / 2n)
|
|
446
|
+
return { r, s: n - s };
|
|
447
|
+
return { r, s };
|
|
448
|
+
}
|
|
449
|
+
function toRS(sig) {
|
|
450
|
+
if (typeof sig === 'object' && 'r' in sig && 's' in sig) {
|
|
451
|
+
return lowSNormalize(sig.r, sig.s);
|
|
452
|
+
}
|
|
453
|
+
const bytes = typeof sig === 'string' ? (0, viem_1.hexToBytes)(sig) : sig;
|
|
454
|
+
let compact;
|
|
455
|
+
if (bytes.length > 0 && bytes[0] === 0x30) {
|
|
456
|
+
// DER
|
|
457
|
+
const derSig = p256_1.secp256r1.Signature.fromDER(bytes);
|
|
458
|
+
compact = derSig.toCompactRawBytes(); // 64 bytes r||s
|
|
459
|
+
}
|
|
460
|
+
else if (bytes.length === 64) {
|
|
461
|
+
compact = bytes;
|
|
462
|
+
}
|
|
463
|
+
else if (typeof sig === 'string' && sig.length === 2 + 64 * 2) {
|
|
464
|
+
// Hex r||s
|
|
465
|
+
compact = (0, viem_1.hexToBytes)(sig);
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
// Fallback: treat as r||s if size permits
|
|
469
|
+
compact = bytes;
|
|
470
|
+
}
|
|
471
|
+
const rHex = (0, viem_1.bytesToHex)(compact.slice(0, 32));
|
|
472
|
+
const sHex = (0, viem_1.bytesToHex)(compact.slice(32, 64));
|
|
473
|
+
const r = BigInt(rHex);
|
|
474
|
+
const s = BigInt(sHex);
|
|
475
|
+
return lowSNormalize(r, s);
|
|
476
|
+
}
|
|
477
|
+
const processedSignature = toRS(signature);
|
|
478
|
+
console.log('processedSignature in the signPasskey', processedSignature);
|
|
438
479
|
return (0, modules_1.getWebauthnValidatorSignature)({
|
|
439
480
|
credentialIds,
|
|
440
481
|
usePrecompiled,
|
|
441
482
|
webauthn: { authenticatorData, clientDataJSON, challengeIndex, typeIndex },
|
|
442
|
-
signature,
|
|
483
|
+
signature: processedSignature,
|
|
443
484
|
});
|
|
444
485
|
}
|
|
445
486
|
function is7702(config) {
|