Skip to content

Commit 9ecb034

Browse files
guard: allow using recovery code as 2FA token (#910)
* guard: allow using recovery code as 2FA token * Cleanup types of ResponseFn --------- Co-authored-by: Corban Riley <[email protected]>
1 parent 0909e3e commit 9ecb034

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

packages/wallet/core/src/signers/guard.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as GuardService from '@0xsequence/guard'
44
import * as Envelope from '../envelope.js'
55

66
type GuardToken = {
7-
id: 'TOTP' | 'PIN'
7+
id: 'TOTP' | 'PIN' | 'recovery'
88
code: string
99
}
1010

packages/wallet/wdk/src/sequence/handlers/guard.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { BaseSignatureRequest, SignerUnavailable, SignerReady, SignerActionable,
55
import { Signatures } from '../signatures.js'
66
import { Guards } from '../guards.js'
77

8-
type RespondFn = (code: string) => Promise<void>
8+
type RespondFn = (id: 'TOTP' | 'PIN' | 'recovery', code: string) => Promise<void>
99

1010
export type PromptCodeHandler = (
1111
request: BaseSignatureRequest,
@@ -94,9 +94,9 @@ export class GuardHandler implements Handler {
9494
resolve(true)
9595
} catch (e) {
9696
if (e instanceof Guard.AuthRequiredError) {
97-
const respond: RespondFn = async (code: string) => {
97+
const respond: RespondFn = async (id, code) => {
9898
try {
99-
const signature = await guard.signEnvelope(request.envelope, { id: e.id, code })
99+
const signature = await guard.signEnvelope(request.envelope, { id, code })
100100
await this.signatures.addSignature(request.id, signature)
101101
resolve(true)
102102
} catch (e) {

packages/wallet/wdk/src/sequence/handlers/mnemonic.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export class MnemonicHandler implements Handler {
9595
message: 'enter-mnemonic',
9696
handle: () =>
9797
new Promise(async (resolve, reject) => {
98-
const respond: RespondFn = async (mnemonic: string) => {
98+
const respond: RespondFn = async (mnemonic) => {
9999
const signer = MnemonicHandler.toSigner(mnemonic)
100100
if (!signer) {
101101
return reject('invalid-mnemonic')

packages/wallet/wdk/src/sequence/handlers/otp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export class OtpHandler extends IdentityHandler implements Handler {
9999
try {
100100
const { loginHint, challenge: codeChallenge } = await this.nitroCommitVerifier(challenge)
101101

102-
const respond: RespondFn = async (otp: string) => {
102+
const respond: RespondFn = async (otp) => {
103103
try {
104104
const { signer, email: returnedEmail } = await this.nitroCompleteAuth(
105105
challenge.withAnswer(codeChallenge, otp),

0 commit comments

Comments
 (0)