@@ -5,21 +5,25 @@ import { BaseSignatureRequest, SignerUnavailable, SignerReady, SignerActionable,
55import { Signatures } from '../signatures.js'
66import { Guards } from '../guards.js'
77
8+ type RespondFn = ( code : string ) => Promise < void >
9+
10+ export type PromptCodeHandler = (
11+ request : BaseSignatureRequest ,
12+ codeType : 'TOTP' | 'PIN' ,
13+ respond : RespondFn ,
14+ ) => Promise < void >
15+
816export class GuardHandler implements Handler {
917 kind = Kinds . Guard
1018
11- private onPromptCode :
12- | undefined
13- | ( ( codeType : 'TOTP' | 'PIN' , respond : ( code : string ) => Promise < void > ) => Promise < void > )
19+ private onPromptCode : undefined | PromptCodeHandler
1420
1521 constructor (
1622 private readonly signatures : Signatures ,
1723 private readonly guards : Guards ,
1824 ) { }
1925
20- public registerUI (
21- onPromptCode : ( codeType : 'TOTP' | 'PIN' , respond : ( code : string ) => Promise < void > ) => Promise < void > ,
22- ) {
26+ public registerUI ( onPromptCode : PromptCodeHandler ) {
2327 this . onPromptCode = onPromptCode
2428 return ( ) => {
2529 this . onPromptCode = undefined
@@ -90,7 +94,7 @@ export class GuardHandler implements Handler {
9094 resolve ( true )
9195 } catch ( e ) {
9296 if ( e instanceof Guard . AuthRequiredError ) {
93- const respond = async ( code : string ) => {
97+ const respond : RespondFn = async ( code : string ) => {
9498 try {
9599 const signature = await guard . signEnvelope ( request . envelope , { id : e . id , code } )
96100 await this . signatures . addSignature ( request . id , signature )
@@ -100,7 +104,7 @@ export class GuardHandler implements Handler {
100104 }
101105 }
102106
103- await onPromptCode ( e . id , respond )
107+ await onPromptCode ( request , e . id , respond )
104108 } else {
105109 reject ( e )
106110 }
0 commit comments