1- import { afterEach , beforeEach , describe , expect , it , vi } from 'vitest'
2- import { Address , Hex , Bytes } from 'ox'
1+ import { afterEach , beforeEach , describe , expect , it , Mock , vi } from 'vitest'
2+ import { Address , Bytes , Hex } from 'ox'
33import { Network , Payload } from '@0xsequence/wallet-primitives'
44import { IdentityInstrument , KeyType } from '@0xsequence/identity-instrument'
55import { State } from '@0xsequence/wallet-core'
6- import { IdentitySigner , toIdentityAuthKey } from '../src/identity/signer'
7- import { AuthKey } from '../src/dbs/auth-keys'
6+ import { IdentitySigner , toIdentityAuthKey } from '../src/identity/signer.js '
7+ import { AuthKey } from '../src/dbs/auth-keys.js '
88
99// Mock the global crypto API
1010const mockCryptoSubtle = {
@@ -31,7 +31,7 @@ describe('Identity Signer', () => {
3131 let testAuthKey : AuthKey
3232 let testWallet : Address . Address
3333 let mockStateWriter : State . Writer
34- let mockSignFn : ReturnType < typeof vi . fn >
34+ let mockSignFn : Mock < IdentityInstrument [ 'sign' ] >
3535
3636 beforeEach ( ( ) => {
3737 vi . clearAllMocks ( )
@@ -179,7 +179,7 @@ describe('Identity Signer', () => {
179179
180180 // Verify that identityInstrument.sign was called with correct parameters
181181 expect ( mockSignFn ) . toHaveBeenCalledOnce ( )
182- const [ authKeyArg , digestArg ] = mockSignFn . mock . calls [ 0 ]
182+ const [ authKeyArg , digestArg ] = mockSignFn . mock . calls [ 0 ] !
183183 expect ( authKeyArg . address ) . toBe ( testAuthKey . address )
184184 expect ( authKeyArg . signer ) . toBe ( testAuthKey . identitySigner )
185185 expect ( digestArg ) . toBeDefined ( )
@@ -196,7 +196,7 @@ describe('Identity Signer', () => {
196196
197197 expect ( mockSignFn ) . toHaveBeenCalledOnce ( )
198198 // The digest should be different for different chainIds
199- const [ , digestArg ] = mockSignFn . mock . calls [ 0 ]
199+ const [ , digestArg ] = mockSignFn . mock . calls [ 0 ] !
200200 expect ( digestArg ) . toBeDefined ( )
201201 } )
202202
@@ -255,7 +255,7 @@ describe('Identity Signer', () => {
255255 }
256256
257257 expect ( mockSignFn ) . toHaveBeenCalledOnce ( )
258- const [ authKeyArg , digestArg ] = mockSignFn . mock . calls [ 0 ]
258+ const [ authKeyArg , digestArg ] = mockSignFn . mock . calls [ 0 ] !
259259 expect ( authKeyArg . address ) . toBe ( testAuthKey . address )
260260 expect ( digestArg ) . toBe ( digest )
261261 } )
@@ -295,7 +295,7 @@ describe('Identity Signer', () => {
295295 it ( 'Should handle malformed signature from identity instrument' , async ( ) => {
296296 const digest = Hex . toBytes ( '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' )
297297
298- mockSignFn . mockResolvedValueOnce ( 'invalid-signature' )
298+ mockSignFn . mockResolvedValueOnce ( 'invalid-signature' as any )
299299
300300 await expect ( identitySigner . signDigest ( digest ) ) . rejects . toThrow ( ) // Should throw when Signature.fromHex fails
301301 } )
@@ -317,7 +317,7 @@ describe('Identity Signer', () => {
317317
318318 // Verify witness was saved
319319 expect ( mockSaveWitnesses ) . toHaveBeenCalledOnce ( )
320- const [ wallet , chainId , payload , witness ] = mockSaveWitnesses . mock . calls [ 0 ]
320+ const [ wallet , chainId , payload , witness ] = mockSaveWitnesses . mock . calls [ 0 ] !
321321
322322 expect ( wallet ) . toBe ( testWallet )
323323 expect ( chainId ) . toBe ( 0 ) // Witness signatures use chainId 0
@@ -338,7 +338,7 @@ describe('Identity Signer', () => {
338338 await identitySigner . witness ( mockStateWriter , testWallet )
339339
340340 // Extract the payload that was signed
341- const [ , , payload ] = mockSaveWitnesses . mock . calls [ 0 ]
341+ const [ , , payload ] = mockSaveWitnesses . mock . calls [ 0 ] !
342342
343343 // Parse the message content to verify consent structure
344344 const messageHex = payload . message
@@ -367,7 +367,7 @@ describe('Identity Signer', () => {
367367 await identitySigner . witness ( mockStateWriter , testWallet , extraData )
368368
369369 // Extract and verify extra data was included
370- const [ , , payload ] = mockSaveWitnesses . mock . calls [ 0 ]
370+ const [ , , payload ] = mockSaveWitnesses . mock . calls [ 0 ] !
371371 const messageString = Hex . toString ( payload . message )
372372 const consentData = JSON . parse ( messageString )
373373
@@ -435,7 +435,7 @@ describe('Identity Signer', () => {
435435 expect ( mockSaveWitnesses ) . toHaveBeenCalledOnce ( )
436436
437437 // Verify witness payload includes extra context
438- const [ , , witnessPayload ] = mockSaveWitnesses . mock . calls [ 0 ]
438+ const [ , , witnessPayload ] = mockSaveWitnesses . mock . calls [ 0 ] !
439439 const witnessMessage = JSON . parse ( Hex . toString ( witnessPayload . message ) )
440440 expect ( witnessMessage . signatureId ) . toBe ( 'sig-123' )
441441 expect ( witnessMessage . purpose ) . toBe ( 'authentication' )
@@ -469,8 +469,8 @@ describe('Identity Signer', () => {
469469 expect ( mockSignFn ) . toHaveBeenCalledTimes ( 2 )
470470
471471 // Verify different payloads produce different hashes
472- const [ , messageDigest ] = mockSignFn . mock . calls [ 0 ]
473- const [ , transactionDigest ] = mockSignFn . mock . calls [ 1 ]
472+ const [ , messageDigest ] = mockSignFn . mock . calls [ 0 ] !
473+ const [ , transactionDigest ] = mockSignFn . mock . calls [ 1 ] !
474474 expect ( messageDigest ) . not . toEqual ( transactionDigest )
475475 } )
476476 } )
@@ -500,7 +500,7 @@ describe('Identity Signer', () => {
500500 it ( 'Should handle malformed hex signatures' , async ( ) => {
501501 const digest = Hex . toBytes ( '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' )
502502
503- mockSignFn . mockResolvedValueOnce ( 'not-a-hex-string' )
503+ mockSignFn . mockResolvedValueOnce ( 'not-a-hex-string' as any )
504504
505505 await expect ( identitySigner . signDigest ( digest ) ) . rejects . toThrow ( )
506506 } )
0 commit comments