ox 0.12.4 → 0.13.1
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/CHANGELOG.md +21 -0
- package/_cjs/core/P256.js +1 -1
- package/_cjs/core/P256.js.map +1 -1
- package/_cjs/core/WebAuthnP256.js +15 -256
- package/_cjs/core/WebAuthnP256.js.map +1 -1
- package/_cjs/core/WebCryptoP256.js +3 -1
- package/_cjs/core/WebCryptoP256.js.map +1 -1
- package/_cjs/core/internal/webauthn.js +5 -13
- package/_cjs/core/internal/webauthn.js.map +1 -1
- package/_cjs/index.docs.js +1 -0
- package/_cjs/index.docs.js.map +1 -1
- package/_cjs/tempo/KeyAuthorization.js +18 -3
- package/_cjs/tempo/KeyAuthorization.js.map +1 -1
- package/_cjs/tempo/SignatureEnvelope.js +26 -0
- package/_cjs/tempo/SignatureEnvelope.js.map +1 -1
- package/_cjs/tempo/TxEnvelopeTempo.js +5 -10
- package/_cjs/tempo/TxEnvelopeTempo.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_cjs/webauthn/Authentication.js +246 -0
- package/_cjs/webauthn/Authentication.js.map +1 -0
- package/_cjs/webauthn/Authenticator.js +55 -0
- package/_cjs/webauthn/Authenticator.js.map +1 -0
- package/_cjs/webauthn/Credential.js +53 -0
- package/_cjs/webauthn/Credential.js.map +1 -0
- package/_cjs/webauthn/Registration.js +349 -0
- package/_cjs/webauthn/Registration.js.map +1 -0
- package/_cjs/webauthn/Types.js +3 -0
- package/_cjs/webauthn/Types.js.map +1 -0
- package/_cjs/webauthn/index.js +9 -0
- package/_cjs/webauthn/index.js.map +1 -0
- package/_cjs/webauthn/internal/utils.js +53 -0
- package/_cjs/webauthn/internal/utils.js.map +1 -0
- package/_esm/core/P256.js +1 -1
- package/_esm/core/P256.js.map +1 -1
- package/_esm/core/WebAuthnP256.js +13 -261
- package/_esm/core/WebAuthnP256.js.map +1 -1
- package/_esm/core/WebCryptoP256.js +4 -1
- package/_esm/core/WebCryptoP256.js.map +1 -1
- package/_esm/core/internal/webauthn.js +5 -13
- package/_esm/core/internal/webauthn.js.map +1 -1
- package/_esm/erc8021/index.js +2 -2
- package/_esm/index.docs.js +1 -0
- package/_esm/index.docs.js.map +1 -1
- package/_esm/tempo/KeyAuthorization.js +66 -3
- package/_esm/tempo/KeyAuthorization.js.map +1 -1
- package/_esm/tempo/SignatureEnvelope.js +74 -0
- package/_esm/tempo/SignatureEnvelope.js.map +1 -1
- package/_esm/tempo/TransactionReceipt.js +1 -1
- package/_esm/tempo/TransactionRequest.js +1 -1
- package/_esm/tempo/TxEnvelopeTempo.js +5 -10
- package/_esm/tempo/TxEnvelopeTempo.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_esm/webauthn/Authentication.js +453 -0
- package/_esm/webauthn/Authentication.js.map +1 -0
- package/_esm/webauthn/Authenticator.js +176 -0
- package/_esm/webauthn/Authenticator.js.map +1 -0
- package/_esm/webauthn/Credential.js +95 -0
- package/_esm/webauthn/Credential.js.map +1 -0
- package/_esm/webauthn/Registration.js +512 -0
- package/_esm/webauthn/Registration.js.map +1 -0
- package/_esm/webauthn/Types.js +2 -0
- package/_esm/webauthn/Types.js.map +1 -0
- package/_esm/webauthn/index.js +31 -0
- package/_esm/webauthn/index.js.map +1 -0
- package/_esm/webauthn/internal/utils.js +52 -0
- package/_esm/webauthn/internal/utils.js.map +1 -0
- package/_types/core/WebAuthnP256.d.ts +33 -208
- package/_types/core/WebAuthnP256.d.ts.map +1 -1
- package/_types/core/WebCryptoP256.d.ts +2 -0
- package/_types/core/WebCryptoP256.d.ts.map +1 -1
- package/_types/core/internal/webauthn.d.ts +2 -110
- package/_types/core/internal/webauthn.d.ts.map +1 -1
- package/_types/erc8021/index.d.ts +2 -2
- package/_types/index.docs.d.ts +1 -0
- package/_types/index.docs.d.ts.map +1 -1
- package/_types/tempo/KeyAuthorization.d.ts +57 -0
- package/_types/tempo/KeyAuthorization.d.ts.map +1 -1
- package/_types/tempo/SignatureEnvelope.d.ts +75 -0
- package/_types/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/_types/tempo/Transaction.d.ts +2 -2
- package/_types/tempo/TransactionReceipt.d.ts +2 -2
- package/_types/tempo/TransactionRequest.d.ts +2 -2
- package/_types/tempo/TxEnvelopeTempo.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/_types/webauthn/Authentication.d.ts +324 -0
- package/_types/webauthn/Authentication.d.ts.map +1 -0
- package/_types/webauthn/Authenticator.d.ts +182 -0
- package/_types/webauthn/Authenticator.d.ts.map +1 -0
- package/_types/webauthn/Credential.d.ts +77 -0
- package/_types/webauthn/Credential.d.ts.map +1 -0
- package/_types/webauthn/Registration.d.ts +308 -0
- package/_types/webauthn/Registration.d.ts.map +1 -0
- package/_types/webauthn/Types.d.ts +106 -0
- package/_types/webauthn/Types.d.ts.map +1 -0
- package/_types/webauthn/index.d.ts +33 -0
- package/_types/webauthn/index.d.ts.map +1 -0
- package/_types/webauthn/internal/utils.d.ts +17 -0
- package/_types/webauthn/internal/utils.d.ts.map +1 -0
- package/core/P256.ts +1 -1
- package/core/WebAuthnP256.ts +37 -582
- package/core/WebCryptoP256.ts +6 -1
- package/core/internal/webauthn.ts +6 -165
- package/erc8021/index.ts +2 -2
- package/index.docs.ts +1 -0
- package/package.json +31 -1
- package/tempo/KeyAuthorization.test.ts +139 -0
- package/tempo/KeyAuthorization.ts +82 -3
- package/tempo/SignatureEnvelope.test.ts +147 -0
- package/tempo/SignatureEnvelope.ts +113 -0
- package/tempo/Transaction.ts +2 -2
- package/tempo/TransactionReceipt.ts +2 -2
- package/tempo/TransactionRequest.ts +2 -2
- package/tempo/TxEnvelopeTempo.ts +5 -12
- package/tempo/e2e.test.ts +265 -0
- package/version.ts +1 -1
- package/webauthn/Authentication/package.json +6 -0
- package/webauthn/Authentication.ts +673 -0
- package/webauthn/Authenticator/package.json +6 -0
- package/webauthn/Authenticator.ts +259 -0
- package/webauthn/Credential/package.json +6 -0
- package/webauthn/Credential.ts +146 -0
- package/webauthn/Registration/package.json +6 -0
- package/webauthn/Registration.ts +805 -0
- package/webauthn/Types/package.json +6 -0
- package/webauthn/Types.ts +158 -0
- package/webauthn/index.ts +38 -0
- package/webauthn/internal/utils.ts +63 -0
- package/webauthn/package.json +6 -0
|
@@ -336,6 +336,35 @@ export declare function getSignPayload(authorization: KeyAuthorization): Hex.Hex
|
|
|
336
336
|
export declare namespace getSignPayload {
|
|
337
337
|
type ErrorType = hash.ErrorType | Errors.GlobalErrorType;
|
|
338
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* Deserializes an RLP-encoded {@link ox#KeyAuthorization.KeyAuthorization}.
|
|
341
|
+
*
|
|
342
|
+
* @example
|
|
343
|
+
* ```ts twoslash
|
|
344
|
+
* import { KeyAuthorization } from 'ox/tempo'
|
|
345
|
+
* import { Value } from 'ox'
|
|
346
|
+
*
|
|
347
|
+
* const authorization = KeyAuthorization.from({
|
|
348
|
+
* expiry: 1234567890,
|
|
349
|
+
* address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
|
|
350
|
+
* type: 'secp256k1',
|
|
351
|
+
* limits: [{
|
|
352
|
+
* token: '0x20c0000000000000000000000000000000000001',
|
|
353
|
+
* limit: Value.from('10', 6)
|
|
354
|
+
* }],
|
|
355
|
+
* })
|
|
356
|
+
*
|
|
357
|
+
* const serialized = KeyAuthorization.serialize(authorization)
|
|
358
|
+
* const deserialized = KeyAuthorization.deserialize(serialized) // [!code focus]
|
|
359
|
+
* ```
|
|
360
|
+
*
|
|
361
|
+
* @param serialized - The RLP-encoded Key Authorization.
|
|
362
|
+
* @returns The {@link ox#KeyAuthorization.KeyAuthorization}.
|
|
363
|
+
*/
|
|
364
|
+
export declare function deserialize(serialized: Hex.Hex): KeyAuthorization;
|
|
365
|
+
export declare namespace deserialize {
|
|
366
|
+
type ErrorType = Rlp.toHex.ErrorType | fromTuple.ErrorType | Errors.GlobalErrorType;
|
|
367
|
+
}
|
|
339
368
|
/**
|
|
340
369
|
* Computes the hash for an {@link ox#KeyAuthorization.KeyAuthorization}.
|
|
341
370
|
*
|
|
@@ -364,6 +393,34 @@ export declare function hash(authorization: KeyAuthorization): Hex.Hex;
|
|
|
364
393
|
export declare namespace hash {
|
|
365
394
|
type ErrorType = toTuple.ErrorType | Hash.keccak256.ErrorType | Hex.concat.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
|
|
366
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* Serializes a {@link ox#KeyAuthorization.KeyAuthorization} to RLP-encoded hex.
|
|
398
|
+
*
|
|
399
|
+
* @example
|
|
400
|
+
* ```ts twoslash
|
|
401
|
+
* import { KeyAuthorization } from 'ox/tempo'
|
|
402
|
+
* import { Value } from 'ox'
|
|
403
|
+
*
|
|
404
|
+
* const authorization = KeyAuthorization.from({
|
|
405
|
+
* expiry: 1234567890,
|
|
406
|
+
* address: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
|
|
407
|
+
* type: 'secp256k1',
|
|
408
|
+
* limits: [{
|
|
409
|
+
* token: '0x20c0000000000000000000000000000000000001',
|
|
410
|
+
* limit: Value.from('10', 6)
|
|
411
|
+
* }],
|
|
412
|
+
* })
|
|
413
|
+
*
|
|
414
|
+
* const serialized = KeyAuthorization.serialize(authorization) // [!code focus]
|
|
415
|
+
* ```
|
|
416
|
+
*
|
|
417
|
+
* @param authorization - The {@link ox#KeyAuthorization.KeyAuthorization}.
|
|
418
|
+
* @returns The RLP-encoded Key Authorization.
|
|
419
|
+
*/
|
|
420
|
+
export declare function serialize(authorization: KeyAuthorization): Hex.Hex;
|
|
421
|
+
export declare namespace serialize {
|
|
422
|
+
type ErrorType = toTuple.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
|
|
423
|
+
}
|
|
367
424
|
/**
|
|
368
425
|
* Converts an {@link ox#KeyAuthorization.KeyAuthorization} to an {@link ox#KeyAuthorization.Rpc}.
|
|
369
426
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyAuthorization.d.ts","sourceRoot":"","sources":["../../tempo/KeyAuthorization.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"KeyAuthorization.d.ts","sourceRoot":"","sources":["../../tempo/KeyAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,gBAAgB,CAC1B,MAAM,SAAS,OAAO,GAAG,OAAO,EAChC,UAAU,GAAG,MAAM,EACnB,UAAU,GAAG,MAAM,IACjB;IACF,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAChC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAA;IACtC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,CAAA;IACtD,6CAA6C;IAC7C,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAA;CAC7B,GAAG,CAAC,MAAM,SAAS,IAAI,GACpB;IAAE,SAAS,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;CAAE,GAC1E;IACE,SAAS,CAAC,EACN,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,GAC3D,SAAS,CAAA;CACd,CAAC,CAAA;AAEN,6EAA6E;AAC7E,MAAM,MAAM,GAAG,GAAG,IAAI,CACpB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EACzC,SAAS,GAAG,WAAW,GAAG,MAAM,CACjC,GAAG;IACF,KAAK,EAAE,OAAO,CAAC,OAAO,CAAA;IACtB,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAA;IAC/B,SAAS,EAAE,iBAAiB,CAAC,oBAAoB,CAAA;CAClD,CAAA;AAED,oDAAoD;AACpD,MAAM,MAAM,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,gBAAgB,CAC7E,IAAI,EACJ,UAAU,EACV,UAAU,CACX,CAAA;AAED,KAAK,SAAS,GAAG,SAAS;IACxB,OAAO,EAAE,GAAG,CAAC,GAAG;IAChB,OAAO,EAAE,GAAG,CAAC,GAAG;IAChB,KAAK,EAAE,OAAO,CAAC,OAAO;CACvB,CAAA;AAED,mDAAmD;AACnD,MAAM,MAAM,KAAK,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO,IAAI,MAAM,SAAS,IAAI,GACrE,SAAS;IACP,aAAa,EACT,SAAS,GACT,SAAS,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GACxC,SAAS;QACP,GAAG,SAAS;QACZ,MAAM,EAAE,GAAG,CAAC,GAAG;QACf,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;KAC5D;IACL,SAAS,EAAE,GAAG,CAAC,GAAG;CACnB,GACD,SAAS;IACP,aAAa,EACT,SAAS,GACT,SAAS,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GACxC,SAAS;QACP,GAAG,SAAS;QACZ,MAAM,EAAE,GAAG,CAAC,GAAG;QACf,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;KAC5D;CACN,CAAA;AAEL;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,CAAC,UAAU,GAAG,MAAM,IAAI;IAC5C,mCAAmC;IACnC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAA;IACtB,iFAAiF;IACjF,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmIG;AACH,wBAAgB,IAAI,CAClB,KAAK,CAAC,aAAa,SAAS,gBAAgB,GAAG,GAAG,EAClD,KAAK,CAAC,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,SAAS,EAE5E,aAAa,EAAE,aAAa,GAAG,gBAAgB,EAC/C,OAAO,GAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAM,GACpC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAS3C;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,OAAO,CACV,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,GACtD,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAC5B,SAAS,IACX;QACF,6FAA6F;QAC7F,SAAS,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,GAAG,SAAS,CAAA;KACxE,CAAA;IAED,KAAK,UAAU,CACb,aAAa,SAAS,gBAAgB,GAAG,GAAG,GAAG,gBAAgB,EAC/D,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,GACtD,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAC5B,SAAS,IACX,OAAO,CACT,aAAa,SAAS,GAAG,GACrB,MAAM,GACN,aAAa,GACX,CAAC,SAAS,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAC3C;QAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;KAAE,GAC5D,EAAE,CAAC,CACd,CAAA;IAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,OAAO,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM,CAclD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,EACjD,KAAK,EAAE,KAAK,GACX,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAkC7B;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,UAAU,CAAC,aAAa,SAAS,KAAK,GAAG,KAAK,IAAI,OAAO,CAC5D,gBAAgB,CAAC,aAAa,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CACnE,CAAA;IAED,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAEvE;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,KAAK,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAGjE;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,KAAK,SAAS,GACV,GAAG,CAAC,KAAK,CAAC,SAAS,GACnB,SAAS,CAAC,SAAS,GACnB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,aAAa,EAAE,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAI7D;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,SAAS,GACV,OAAO,CAAC,SAAS,GACjB,IAAI,CAAC,SAAS,CAAC,SAAS,GACxB,GAAG,CAAC,MAAM,CAAC,SAAS,GACpB,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAGlE;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,SAAS,GACV,OAAO,CAAC,SAAS,GACjB,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAqBhD;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,aAAa,SAAS,gBAAgB,EAClE,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAgCnC;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,CAAC,aAAa,SAAS,gBAAgB,GAAG,gBAAgB,IACvE,OAAO,CAAC,KAAK,CAAC,aAAa,SAAS,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAA;IAE7E,KAAK,SAAS,GAAG,MAAM,CAAC,eAAe,CAAA;CACxC"}
|
|
@@ -4,6 +4,7 @@ import * as Errors from '../core/Errors.js';
|
|
|
4
4
|
import * as Hex from '../core/Hex.js';
|
|
5
5
|
import type { Assign, Compute, IsNarrowable, OneOf, PartialBy, UnionPartialBy } from '../core/internal/types.js';
|
|
6
6
|
import type * as PublicKey from '../core/PublicKey.js';
|
|
7
|
+
import * as ox_Secp256k1 from '../core/Secp256k1.js';
|
|
7
8
|
import * as Signature from '../core/Signature.js';
|
|
8
9
|
import type * as WebAuthnP256 from '../core/WebAuthnP256.js';
|
|
9
10
|
/** Serialized magic identifier for Tempo signature envelopes. */
|
|
@@ -156,6 +157,80 @@ export declare function assert(envelope: PartialBy<SignatureEnvelope, 'type'>):
|
|
|
156
157
|
export declare namespace assert {
|
|
157
158
|
type ErrorType = CoercionError | MissingPropertiesError | Signature.assert.ErrorType | Errors.GlobalErrorType;
|
|
158
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Extracts the address of the signer from a {@link ox#SignatureEnvelope.SignatureEnvelope}.
|
|
162
|
+
*
|
|
163
|
+
* - **secp256k1**: Recovers the address from the payload via `ecrecover`.
|
|
164
|
+
* - **p256** / **webAuthn**: Derives the address from the embedded public key.
|
|
165
|
+
* - **keychain**: Extracts from the inner signature (or returns `userAddress` if `user` is `true`).
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```ts twoslash
|
|
169
|
+
* import { Secp256k1 } from 'ox'
|
|
170
|
+
* import { SignatureEnvelope } from 'ox/tempo'
|
|
171
|
+
*
|
|
172
|
+
* const payload = '0xdeadbeef'
|
|
173
|
+
* const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
|
|
174
|
+
* const envelope = SignatureEnvelope.from(signature)
|
|
175
|
+
*
|
|
176
|
+
* const address = SignatureEnvelope.extractAddress({ // [!code focus]
|
|
177
|
+
* payload, // [!code focus]
|
|
178
|
+
* signature: envelope, // [!code focus]
|
|
179
|
+
* }) // [!code focus]
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* @param options - The extraction options.
|
|
183
|
+
* @returns The signer address.
|
|
184
|
+
*/
|
|
185
|
+
export declare function extractAddress(options: extractAddress.Options): extractAddress.ReturnType;
|
|
186
|
+
export declare namespace extractAddress {
|
|
187
|
+
type Options = {
|
|
188
|
+
/** The sign payload that was signed (only required for secp256k1 signatures). */
|
|
189
|
+
payload: Hex.Hex | Bytes.Bytes;
|
|
190
|
+
/** The signature envelope. */
|
|
191
|
+
signature: SignatureEnvelope;
|
|
192
|
+
/** Whether to return the root `userAddress` for keychain signatures instead of extracting from the inner signature. */
|
|
193
|
+
root?: boolean | undefined;
|
|
194
|
+
};
|
|
195
|
+
type ReturnType = Address.Address;
|
|
196
|
+
type ErrorType = Address.fromPublicKey.ErrorType | extractPublicKey.ErrorType | Errors.GlobalErrorType;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Extracts the public key of the signer from a {@link ox#SignatureEnvelope.SignatureEnvelope}.
|
|
200
|
+
*
|
|
201
|
+
* - **secp256k1**: Recovers the public key from the payload via `ecrecover`.
|
|
202
|
+
* - **p256** / **webAuthn**: Returns the embedded public key.
|
|
203
|
+
* - **keychain**: Extracts from the inner signature.
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```ts twoslash
|
|
207
|
+
* import { Secp256k1 } from 'ox'
|
|
208
|
+
* import { SignatureEnvelope } from 'ox/tempo'
|
|
209
|
+
*
|
|
210
|
+
* const payload = '0xdeadbeef'
|
|
211
|
+
* const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
|
|
212
|
+
* const envelope = SignatureEnvelope.from(signature)
|
|
213
|
+
*
|
|
214
|
+
* const publicKey = SignatureEnvelope.extractPublicKey({ // [!code focus]
|
|
215
|
+
* payload, // [!code focus]
|
|
216
|
+
* signature: envelope, // [!code focus]
|
|
217
|
+
* }) // [!code focus]
|
|
218
|
+
* ```
|
|
219
|
+
*
|
|
220
|
+
* @param options - The extraction options.
|
|
221
|
+
* @returns The signer's public key.
|
|
222
|
+
*/
|
|
223
|
+
export declare function extractPublicKey(options: extractPublicKey.Options): extractPublicKey.ReturnType;
|
|
224
|
+
export declare namespace extractPublicKey {
|
|
225
|
+
type Options = {
|
|
226
|
+
/** The sign payload that was signed (only required for secp256k1 signatures). */
|
|
227
|
+
payload: Hex.Hex | Bytes.Bytes;
|
|
228
|
+
/** The signature envelope. */
|
|
229
|
+
signature: SignatureEnvelope;
|
|
230
|
+
};
|
|
231
|
+
type ReturnType = PublicKey.PublicKey;
|
|
232
|
+
type ErrorType = ox_Secp256k1.recoverPublicKey.ErrorType | Errors.GlobalErrorType;
|
|
233
|
+
}
|
|
159
234
|
/**
|
|
160
235
|
* Deserializes a hex-encoded signature envelope into a typed signature object.
|
|
161
236
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EACV,MAAM,EACN,OAAO,EACP,YAAY,EACZ,KAAK,EACL,SAAS,EACT,cAAc,EACf,MAAM,2BAA2B,CAAA;AAGlC,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import type { Call } from './TxEnvelopeTempo.js';
|
|
|
11
11
|
/**
|
|
12
12
|
* A Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
|
|
13
13
|
*
|
|
14
|
-
* @see {@link https://docs.tempo.xyz/protocol/transactions
|
|
14
|
+
* @see {@link https://docs.tempo.xyz/protocol/transactions}
|
|
15
15
|
*/
|
|
16
16
|
export type Transaction<pending extends boolean = false, bigintType = bigint, numberType = number> = UnionCompute<OneOf<Tempo<pending, bigintType, numberType> | ox_Transaction.Transaction<pending, bigintType, numberType>>>;
|
|
17
17
|
/**
|
|
@@ -24,7 +24,7 @@ export type Rpc<pending extends boolean = false> = UnionCompute<OneOf<TempoRpc<p
|
|
|
24
24
|
* Features configurable fee tokens, call batching, fee sponsorship, access keys,
|
|
25
25
|
* parallelizable nonces, and scheduled execution via `validAfter`/`validBefore`.
|
|
26
26
|
*
|
|
27
|
-
* @see {@link https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction
|
|
27
|
+
* @see {@link https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction}
|
|
28
28
|
*/
|
|
29
29
|
export type Tempo<pending extends boolean = false, bigintType = bigint, numberType = number, type extends string = 'tempo'> = Compute<Omit<ox_Transaction.Base<type, pending, bigintType, numberType>, 'input' | 'to' | 'value' | 'v' | 'r' | 's' | 'yParity'> & {
|
|
30
30
|
/** EIP-2930 Access List. */
|
|
@@ -8,7 +8,7 @@ import * as ox_TransactionReceipt from '../core/TransactionReceipt.js';
|
|
|
8
8
|
* Extends standard receipts with `feePayer` (the address that paid fees) and
|
|
9
9
|
* `feeToken` (the TIP-20 token used for fee payment).
|
|
10
10
|
*
|
|
11
|
-
* @see {@link https://docs.tempo.xyz/protocol/transactions
|
|
11
|
+
* @see {@link https://docs.tempo.xyz/protocol/transactions}
|
|
12
12
|
*/
|
|
13
13
|
export type TransactionReceipt<status = ox_TransactionReceipt.Status, type = ox_TransactionReceipt.Type, bigintType = bigint, numberType = number> = Compute<ox_TransactionReceipt.TransactionReceipt<status, type, bigintType, numberType> & {
|
|
14
14
|
/** Address of the fee payer. */
|
|
@@ -42,7 +42,7 @@ export declare const toRpcType: {
|
|
|
42
42
|
/**
|
|
43
43
|
* Converts an RPC receipt to a TransactionReceipt.
|
|
44
44
|
*
|
|
45
|
-
* @see {@link https://docs.tempo.xyz/protocol/transactions
|
|
45
|
+
* @see {@link https://docs.tempo.xyz/protocol/transactions}
|
|
46
46
|
*
|
|
47
47
|
* @example
|
|
48
48
|
* ```ts twoslash
|
|
@@ -13,7 +13,7 @@ type KeyType = 'secp256k1' | 'p256' | 'webAuthn';
|
|
|
13
13
|
* Extends the [Execution API specification](https://github.com/ethereum/execution-apis/blob/4aca1d7a3e5aab24c8f6437131289ad386944eaa/src/schemas/transaction.yaml#L358-L423)
|
|
14
14
|
* with Tempo-specific fields for batched calls, fee tokens, access keys, and scheduled execution.
|
|
15
15
|
*
|
|
16
|
-
* @see {@link https://docs.tempo.xyz/protocol/transactions
|
|
16
|
+
* @see {@link https://docs.tempo.xyz/protocol/transactions}
|
|
17
17
|
*/
|
|
18
18
|
export type TransactionRequest<bigintType = bigint, numberType = number, type extends string = string> = Compute<Omit<ox_TransactionRequest.TransactionRequest<bigintType, numberType, type>, 'authorizationList'> & {
|
|
19
19
|
authorizationList?: AuthorizationTempo.ListSigned<bigintType, numberType> | undefined;
|
|
@@ -35,7 +35,7 @@ export type Rpc = Omit<TransactionRequest<Hex.Hex, Hex.Hex, string>, 'authorizat
|
|
|
35
35
|
/**
|
|
36
36
|
* Converts a {@link ox#TransactionRequest.TransactionRequest} to a {@link ox#TransactionRequest.Rpc}.
|
|
37
37
|
*
|
|
38
|
-
* @see {@link https://docs.tempo.xyz/protocol/transactions
|
|
38
|
+
* @see {@link https://docs.tempo.xyz/protocol/transactions}
|
|
39
39
|
*
|
|
40
40
|
* @example
|
|
41
41
|
* ```ts twoslash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TxEnvelopeTempo.d.ts","sourceRoot":"","sources":["../../tempo/TxEnvelopeTempo.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TxEnvelopeTempo.d.ts","sourceRoot":"","sources":["../../tempo/TxEnvelopeTempo.ts"],"names":[],"mappings":"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"}
|
package/_types/version.d.ts
CHANGED
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import * as Base64 from '../core/Base64.js';
|
|
2
|
+
import * as Bytes from '../core/Bytes.js';
|
|
3
|
+
import * as Errors from '../core/Errors.js';
|
|
4
|
+
import * as Hash from '../core/Hash.js';
|
|
5
|
+
import * as Hex from '../core/Hex.js';
|
|
6
|
+
import type { OneOf } from '../core/internal/types.js';
|
|
7
|
+
import * as P256 from '../core/P256.js';
|
|
8
|
+
import type * as PublicKey from '../core/PublicKey.js';
|
|
9
|
+
import * as Signature from '../core/Signature.js';
|
|
10
|
+
import type * as Credential_ from './Credential.js';
|
|
11
|
+
import type * as Types from './Types.js';
|
|
12
|
+
/** Response from a WebAuthn authentication ceremony. */
|
|
13
|
+
export type Response<serialized extends boolean = false> = {
|
|
14
|
+
id: string;
|
|
15
|
+
metadata: Credential_.SignMetadata;
|
|
16
|
+
raw: Types.PublicKeyCredential<serialized>;
|
|
17
|
+
signature: serialized extends true ? Hex.Hex : Signature.Signature<false>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Deserializes credential request options that can be passed to
|
|
21
|
+
* `navigator.credentials.get()`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts twoslash
|
|
25
|
+
* import { Authentication } from 'ox/webauthn'
|
|
26
|
+
*
|
|
27
|
+
* const options = Authentication.getOptions({
|
|
28
|
+
* challenge: '0xdeadbeef',
|
|
29
|
+
* })
|
|
30
|
+
* const serialized = Authentication.serializeOptions(options)
|
|
31
|
+
*
|
|
32
|
+
* // ... send to server and back ...
|
|
33
|
+
*
|
|
34
|
+
* const deserialized = Authentication.deserializeOptions(serialized) // [!code focus]
|
|
35
|
+
* const credential = await window.navigator.credentials.get(deserialized)
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @param options - The serialized credential request options.
|
|
39
|
+
* @returns The deserialized credential request options.
|
|
40
|
+
*/
|
|
41
|
+
export declare function deserializeOptions(options: Types.CredentialRequestOptions<true>): Types.CredentialRequestOptions;
|
|
42
|
+
export declare namespace deserializeOptions {
|
|
43
|
+
type ErrorType = Base64.toBytes.ErrorType | Errors.GlobalErrorType;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Deserializes a serialized authentication response.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts twoslash
|
|
50
|
+
* import { Authentication } from 'ox/webauthn'
|
|
51
|
+
*
|
|
52
|
+
* const response = Authentication.deserializeResponse({ // [!code focus]
|
|
53
|
+
* id: 'm1-bMPuAqpWhCxHZQZTT6e-lSPntQbh3opIoGe7g4Qs', // [!code focus]
|
|
54
|
+
* metadata: { // [!code focus]
|
|
55
|
+
* authenticatorData: '0x49960de5...', // [!code focus]
|
|
56
|
+
* clientDataJSON: '{"type":"webauthn.get",...}', // [!code focus]
|
|
57
|
+
* challengeIndex: 23, // [!code focus]
|
|
58
|
+
* typeIndex: 1, // [!code focus]
|
|
59
|
+
* userVerificationRequired: true, // [!code focus]
|
|
60
|
+
* }, // [!code focus]
|
|
61
|
+
* raw: { // [!code focus]
|
|
62
|
+
* id: 'm1-bMPuAqpWhCxHZQZTT6e-lSPntQbh3opIoGe7g4Qs', // [!code focus]
|
|
63
|
+
* type: 'public-key', // [!code focus]
|
|
64
|
+
* authenticatorAttachment: 'platform', // [!code focus]
|
|
65
|
+
* rawId: 'm1-bMPuAqpWhCxHZQZTT6e-lSPntQbh3opIoGe7g4Qs', // [!code focus]
|
|
66
|
+
* response: { clientDataJSON: 'eyJ0eXBlIjoid2ViYXV0aG4uZ2V0In0' }, // [!code focus]
|
|
67
|
+
* }, // [!code focus]
|
|
68
|
+
* signature: '0x...', // [!code focus]
|
|
69
|
+
* }) // [!code focus]
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @param response - The serialized authentication response.
|
|
73
|
+
* @returns The deserialized authentication response.
|
|
74
|
+
*/
|
|
75
|
+
export declare function deserializeResponse(response: Response<true>): Response;
|
|
76
|
+
export declare namespace deserializeResponse {
|
|
77
|
+
type ErrorType = Base64.toBytes.ErrorType | Signature.from.ErrorType | Errors.GlobalErrorType;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Returns the request options to sign a challenge with the Web Authentication API.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts twoslash
|
|
84
|
+
* import { Authentication } from 'ox/webauthn'
|
|
85
|
+
*
|
|
86
|
+
* const options = Authentication.getOptions({
|
|
87
|
+
* challenge: '0xdeadbeef',
|
|
88
|
+
* })
|
|
89
|
+
*
|
|
90
|
+
* const credential = await window.navigator.credentials.get(options)
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @param options - Options.
|
|
94
|
+
* @returns The credential request options.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getOptions(options: getOptions.Options): Types.CredentialRequestOptions;
|
|
97
|
+
export declare namespace getOptions {
|
|
98
|
+
type Options = {
|
|
99
|
+
/** The credential ID to use. */
|
|
100
|
+
credentialId?: string | string[] | undefined;
|
|
101
|
+
/** The challenge to sign. */
|
|
102
|
+
challenge: Hex.Hex;
|
|
103
|
+
/** List of Web Authentication API credentials to use during creation or authentication. */
|
|
104
|
+
extensions?: Types.PublicKeyCredentialRequestOptions['extensions'] | undefined;
|
|
105
|
+
/** The relying party identifier to use. */
|
|
106
|
+
rpId?: Types.PublicKeyCredentialRequestOptions['rpId'] | undefined;
|
|
107
|
+
/** The user verification requirement. */
|
|
108
|
+
userVerification?: Types.PublicKeyCredentialRequestOptions['userVerification'] | undefined;
|
|
109
|
+
};
|
|
110
|
+
type ErrorType = Bytes.fromHex.ErrorType | Base64.toBytes.ErrorType | Errors.GlobalErrorType;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Constructs the final digest that was signed and computed by the authenticator. This payload includes
|
|
114
|
+
* the cryptographic `challenge`, as well as authenticator metadata (`authenticatorData` + `clientDataJSON`).
|
|
115
|
+
* This value can be also used with raw P256 verification (such as `P256.verify` or
|
|
116
|
+
* `WebCryptoP256.verify`).
|
|
117
|
+
*
|
|
118
|
+
* :::warning
|
|
119
|
+
*
|
|
120
|
+
* This function is mainly for testing purposes or for manually constructing
|
|
121
|
+
* signing payloads. In most cases you will not need this function and
|
|
122
|
+
* instead use `Authentication.sign`.
|
|
123
|
+
*
|
|
124
|
+
* :::
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```ts twoslash
|
|
128
|
+
* import { Authentication } from 'ox/webauthn'
|
|
129
|
+
* import { WebCryptoP256 } from 'ox'
|
|
130
|
+
*
|
|
131
|
+
* const { metadata, payload } = Authentication.getSignPayload({ // [!code focus]
|
|
132
|
+
* challenge: '0xdeadbeef', // [!code focus]
|
|
133
|
+
* }) // [!code focus]
|
|
134
|
+
*
|
|
135
|
+
* const { publicKey, privateKey } = await WebCryptoP256.createKeyPair()
|
|
136
|
+
*
|
|
137
|
+
* const signature = await WebCryptoP256.sign({
|
|
138
|
+
* payload,
|
|
139
|
+
* privateKey,
|
|
140
|
+
* })
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @param options - Options to construct the signing payload.
|
|
144
|
+
* @returns The signing payload.
|
|
145
|
+
*/
|
|
146
|
+
export declare function getSignPayload(options: getSignPayload.Options): getSignPayload.ReturnType;
|
|
147
|
+
export declare namespace getSignPayload {
|
|
148
|
+
type Options = {
|
|
149
|
+
/** The challenge to sign. */
|
|
150
|
+
challenge: Hex.Hex;
|
|
151
|
+
/** If set to `true`, it means that the calling context is an `<iframe>` that is not same origin with its ancestor frames. */
|
|
152
|
+
crossOrigin?: boolean | undefined;
|
|
153
|
+
/** Additional client data to include in the client data JSON. */
|
|
154
|
+
extraClientData?: Record<string, unknown> | undefined;
|
|
155
|
+
/** If set to `true`, the payload will be hashed before being returned. */
|
|
156
|
+
hash?: boolean | undefined;
|
|
157
|
+
/** A bitfield that indicates various attributes that were asserted by the authenticator. [Read more](https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API/Authenticator_data#flags) */
|
|
158
|
+
flag?: number | undefined;
|
|
159
|
+
/** The fully qualified origin of the relying party which has been given by the client/browser to the authenticator. */
|
|
160
|
+
origin?: string | undefined;
|
|
161
|
+
/** The [Relying Party ID](https://w3c.github.io/webauthn/#relying-party-identifier) that the credential is scoped to. */
|
|
162
|
+
rpId?: Types.PublicKeyCredentialRequestOptions['rpId'] | undefined;
|
|
163
|
+
/** A signature counter, if supported by the authenticator (set to 0 otherwise). */
|
|
164
|
+
signCount?: number | undefined;
|
|
165
|
+
/** The user verification requirement that the authenticator will enforce. */
|
|
166
|
+
userVerification?: Types.PublicKeyCredentialRequestOptions['userVerification'] | undefined;
|
|
167
|
+
};
|
|
168
|
+
type ReturnType = {
|
|
169
|
+
metadata: Credential_.SignMetadata;
|
|
170
|
+
payload: Hex.Hex;
|
|
171
|
+
};
|
|
172
|
+
type ErrorType = Hash.sha256.ErrorType | Hex.concat.ErrorType | Hex.fromString.ErrorType | Errors.GlobalErrorType;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Serializes credential request options into a JSON-serializable
|
|
176
|
+
* format, converting `BufferSource` fields to base64url strings.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```ts twoslash
|
|
180
|
+
* import { Authentication } from 'ox/webauthn'
|
|
181
|
+
*
|
|
182
|
+
* const options = Authentication.getOptions({
|
|
183
|
+
* challenge: '0xdeadbeef',
|
|
184
|
+
* })
|
|
185
|
+
*
|
|
186
|
+
* const serialized = Authentication.serializeOptions(options) // [!code focus]
|
|
187
|
+
*
|
|
188
|
+
* // `serialized` is JSON-serializable — send it to a server, store it, etc.
|
|
189
|
+
* const json = JSON.stringify(serialized)
|
|
190
|
+
* ```
|
|
191
|
+
*
|
|
192
|
+
* @param options - The credential request options to serialize.
|
|
193
|
+
* @returns The serialized credential request options.
|
|
194
|
+
*/
|
|
195
|
+
export declare function serializeOptions(options: Types.CredentialRequestOptions): Types.CredentialRequestOptions<true>;
|
|
196
|
+
export declare namespace serializeOptions {
|
|
197
|
+
type ErrorType = Base64.fromBytes.ErrorType | Errors.GlobalErrorType;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Serializes an authentication response into a JSON-serializable
|
|
201
|
+
* format, converting `BufferSource` fields to base64url strings
|
|
202
|
+
* and the signature to a hex string.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```ts twoslash
|
|
206
|
+
* import { Authentication } from 'ox/webauthn'
|
|
207
|
+
*
|
|
208
|
+
* const response = await Authentication.sign({
|
|
209
|
+
* challenge: '0xdeadbeef',
|
|
210
|
+
* })
|
|
211
|
+
*
|
|
212
|
+
* const serialized = Authentication.serializeResponse(response) // [!code focus]
|
|
213
|
+
*
|
|
214
|
+
* // `serialized` is JSON-serializable — send it to a server, store it, etc.
|
|
215
|
+
* const json = JSON.stringify(serialized)
|
|
216
|
+
* ```
|
|
217
|
+
*
|
|
218
|
+
* @param response - The authentication response to serialize.
|
|
219
|
+
* @returns The serialized authentication response.
|
|
220
|
+
*/
|
|
221
|
+
export declare function serializeResponse(response: Response): Response<true>;
|
|
222
|
+
export declare namespace serializeResponse {
|
|
223
|
+
type ErrorType = Base64.fromBytes.ErrorType | Signature.toHex.ErrorType | Errors.GlobalErrorType;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Signs a challenge using a stored WebAuthn P256 Credential. If no Credential is provided,
|
|
227
|
+
* a prompt will be displayed for the user to select an existing Credential
|
|
228
|
+
* that was previously registered.
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* ```ts twoslash
|
|
232
|
+
* import { Registration, Authentication } from 'ox/webauthn'
|
|
233
|
+
*
|
|
234
|
+
* const credential = await Registration.create({
|
|
235
|
+
* name: 'Example',
|
|
236
|
+
* })
|
|
237
|
+
*
|
|
238
|
+
* const { metadata, signature } = await Authentication.sign({ // [!code focus]
|
|
239
|
+
* credentialId: credential.id, // [!code focus]
|
|
240
|
+
* challenge: '0xdeadbeef', // [!code focus]
|
|
241
|
+
* }) // [!code focus]
|
|
242
|
+
* // @log: {
|
|
243
|
+
* // @log: metadata: {
|
|
244
|
+
* // @log: authenticatorData: '0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000',
|
|
245
|
+
* // @log: clientDataJSON: '{"type":"webauthn.get","challenge":"9jEFijuhEWrM4SOW-tChJbUEHEP44VcjcJ-Bqo1fTM8","origin":"http://localhost:5173","crossOrigin":false}',
|
|
246
|
+
* // @log: challengeIndex: 23,
|
|
247
|
+
* // @log: typeIndex: 1,
|
|
248
|
+
* // @log: userVerificationRequired: true,
|
|
249
|
+
* // @log: },
|
|
250
|
+
* // @log: signature: { r: 51231...4215n, s: 12345...6789n },
|
|
251
|
+
* // @log: }
|
|
252
|
+
* ```
|
|
253
|
+
*
|
|
254
|
+
* @param options - Options.
|
|
255
|
+
* @returns The signature.
|
|
256
|
+
*/
|
|
257
|
+
export declare function sign(options: sign.Options): Promise<sign.ReturnType>;
|
|
258
|
+
export declare namespace sign {
|
|
259
|
+
type Options = OneOf<(getOptions.Options & {
|
|
260
|
+
/**
|
|
261
|
+
* Credential request function. Useful for environments that do not support
|
|
262
|
+
* the WebAuthn API natively (i.e. React Native or testing environments).
|
|
263
|
+
*
|
|
264
|
+
* @default window.navigator.credentials.get
|
|
265
|
+
*/
|
|
266
|
+
getFn?: ((options?: Types.CredentialRequestOptions | undefined) => Promise<Types.Credential | null>) | undefined;
|
|
267
|
+
}) | Types.CredentialRequestOptions>;
|
|
268
|
+
type ReturnType = Response;
|
|
269
|
+
type ErrorType = Hex.fromBytes.ErrorType | getOptions.ErrorType | Errors.GlobalErrorType;
|
|
270
|
+
}
|
|
271
|
+
/** Thrown when a WebAuthn P256 credential request fails. */
|
|
272
|
+
export declare class SignFailedError extends Errors.BaseError<Error> {
|
|
273
|
+
readonly name = "Authentication.SignFailedError";
|
|
274
|
+
constructor({ cause }?: {
|
|
275
|
+
cause?: Error | undefined;
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Verifies a signature using the Credential's public key and the challenge which was signed.
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* ```ts twoslash
|
|
283
|
+
* import { Registration, Authentication } from 'ox/webauthn'
|
|
284
|
+
*
|
|
285
|
+
* const credential = await Registration.create({
|
|
286
|
+
* name: 'Example',
|
|
287
|
+
* })
|
|
288
|
+
*
|
|
289
|
+
* const { metadata, signature } = await Authentication.sign({
|
|
290
|
+
* credentialId: credential.id,
|
|
291
|
+
* challenge: '0xdeadbeef',
|
|
292
|
+
* })
|
|
293
|
+
*
|
|
294
|
+
* const result = Authentication.verify({ // [!code focus]
|
|
295
|
+
* metadata, // [!code focus]
|
|
296
|
+
* challenge: '0xdeadbeef', // [!code focus]
|
|
297
|
+
* publicKey: credential.publicKey, // [!code focus]
|
|
298
|
+
* signature, // [!code focus]
|
|
299
|
+
* }) // [!code focus]
|
|
300
|
+
* // @log: true
|
|
301
|
+
* ```
|
|
302
|
+
*
|
|
303
|
+
* @param options - Options.
|
|
304
|
+
* @returns Whether the signature is valid.
|
|
305
|
+
*/
|
|
306
|
+
export declare function verify(options: verify.Options): boolean;
|
|
307
|
+
export declare namespace verify {
|
|
308
|
+
type Options = {
|
|
309
|
+
/** The challenge to verify. */
|
|
310
|
+
challenge: Hex.Hex;
|
|
311
|
+
/** The public key to verify the signature with. */
|
|
312
|
+
publicKey: PublicKey.PublicKey;
|
|
313
|
+
/** The signature to verify. */
|
|
314
|
+
signature: Signature.Signature<false>;
|
|
315
|
+
/** The metadata to verify the signature with. */
|
|
316
|
+
metadata: Credential_.SignMetadata;
|
|
317
|
+
/** Expected origin(s). If provided, the `clientDataJSON` origin will be validated. */
|
|
318
|
+
origin?: string | string[] | undefined;
|
|
319
|
+
/** Expected relying party ID. If provided, the `rpIdHash` in `authenticatorData` will be validated. */
|
|
320
|
+
rpId?: string | undefined;
|
|
321
|
+
};
|
|
322
|
+
type ErrorType = Base64.toBytes.ErrorType | Bytes.concat.ErrorType | Bytes.fromHex.ErrorType | Bytes.isEqual.ErrorType | Hash.sha256.ErrorType | Hex.fromString.ErrorType | P256.verify.ErrorType | Errors.GlobalErrorType;
|
|
323
|
+
}
|
|
324
|
+
//# sourceMappingURL=Authentication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Authentication.d.ts","sourceRoot":"","sources":["../../webauthn/Authentication.ts"],"names":[],"mappings":"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"}
|