Skip to content

Commit ec60b5b

Browse files
authored
Add a way to reset 2fa when using a backup code (#911)
* Add a way to reset 2fa when using a backup code * use the GuardToken type instead of breaking out the props
1 parent 9ecb034 commit ec60b5b

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

packages/services/guard/src/client/guard.gen.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
/* eslint-disable */
2-
// sequence-guard v0.4.0 b62e755c3f81d6b5a8e7462abc063a57a744cdef
2+
// sequence-guard v0.5.0 910e01c32ffb24b42386d4ca6be119b0acc55c5f
33
// --
44
// Code generated by [email protected] with typescript generator. DO NOT EDIT.
55
//
66
// webrpc-gen -schema=guard.ridl -target=typescript -client -out=./clients/guard.gen.ts
77

88
export const WebrpcHeader = 'Webrpc'
99

10-
export const WebrpcHeaderValue = '[email protected];[email protected];sequence-guard@v0.4.0'
10+
export const WebrpcHeaderValue = '[email protected];[email protected];sequence-guard@v0.5.0'
1111

1212
// WebRPC description and code-gen version
1313
export const WebRPCVersion = 'v1'
1414

1515
// Schema version of your RIDL schema
16-
export const WebRPCSchemaVersion = 'v0.4.0'
16+
export const WebRPCSchemaVersion = 'v0.5.0'
1717

1818
// Schema hash generated from your RIDL schema
19-
export const WebRPCSchemaHash = 'b62e755c3f81d6b5a8e7462abc063a57a744cdef'
19+
export const WebRPCSchemaHash = '910e01c32ffb24b42386d4ca6be119b0acc55c5f'
2020

2121
type WebrpcGenVersions = {
2222
webrpcGenVersion: string
@@ -131,6 +131,7 @@ export interface OwnershipProof {
131131
export interface AuthToken {
132132
id: string
133133
token: string
134+
resetAuth?: boolean
134135
}
135136

136137
export interface RecoveryCode {

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ import { Attestation, Payload } from '@0xsequence/wallet-primitives'
33
import * as GuardService from '@0xsequence/guard'
44
import * as Envelope from '../envelope.js'
55

6-
type GuardToken = {
6+
export type GuardToken = {
77
id: 'TOTP' | 'PIN' | 'recovery'
88
code: string
9+
resetAuth?: boolean
910
}
1011

1112
export class Guard {
@@ -36,7 +37,7 @@ export class Guard {
3637
digest,
3738
message,
3839
previousSignatures,
39-
token ? { id: token.id, token: token.code } : undefined,
40+
token ? { id: token.id, token: token.code, resetAuth: token.resetAuth } : undefined,
4041
)
4142
return {
4243
address: this.guard.address,

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import { Address, Hex } from 'ox'
22
import * as Guard from '@0xsequence/guard'
3+
import { Signers } from '@0xsequence/wallet-core'
34
import { Handler } from './handler.js'
45
import { BaseSignatureRequest, SignerUnavailable, SignerReady, SignerActionable, Kinds } from '../types/index.js'
56
import { Signatures } from '../signatures.js'
67
import { Guards } from '../guards.js'
78

8-
type RespondFn = (id: 'TOTP' | 'PIN' | 'recovery', code: string) => Promise<void>
9+
type RespondFn = (token: Signers.GuardToken) => Promise<void>
910

1011
export type PromptCodeHandler = (
1112
request: BaseSignatureRequest,
@@ -94,9 +95,9 @@ export class GuardHandler implements Handler {
9495
resolve(true)
9596
} catch (e) {
9697
if (e instanceof Guard.AuthRequiredError) {
97-
const respond: RespondFn = async (id, code) => {
98+
const respond: RespondFn = async (token) => {
9899
try {
99-
const signature = await guard.signEnvelope(request.envelope, { id, code })
100+
const signature = await guard.signEnvelope(request.envelope, token)
100101
await this.signatures.addSignature(request.id, signature)
101102
resolve(true)
102103
} catch (e) {

0 commit comments

Comments
 (0)