@@ -47,4 +47,49 @@ describe('generateKeyPair', () => {
4747 { address : '0x2345' , message : '0x3456' , signature : '0x1234' } ,
4848 ] ) ;
4949 } ) ;
50+
51+ it ( 'generateKeyPair - leading 0s' , async ( ) => {
52+ const signMessageAsync = jest . fn ( ) ;
53+ const verifyMessage = jest . fn ( ) ;
54+ const signature =
55+ '0x00c4fafca785d8b4da5e15265e4e58767a3f2502cdea2fcc4408cee5149e2a697fb7aaba14dceb096abd78cd4e9576859dcef262a4b51f2bb4554ebfd4fb72f5cf02' ;
56+
57+ signMessageAsync . mockResolvedValueOnce ( signature ) ;
58+ verifyMessage . mockResolvedValueOnce ( true ) ;
59+
60+ await expect (
61+ generateKeyPair ( {
62+ signMessageAsync,
63+ verifyMessage,
64+ keySeed : '0x3456' ,
65+ account : '0x2345' ,
66+ accountId : 1 ,
67+ chainId : 1 ,
68+ } )
69+ ) . resolves . toEqual ( {
70+ keyPair : {
71+ publicKeyX :
72+ '13177128602008476316648007186770414467529839960903001891999762356783519376339' ,
73+ publicKeyY :
74+ '12345804151819755343032722751269003874303422211927604135345729794881772258791' ,
75+ secretKey :
76+ '110363126876775936939184191137732252584845853294910358210190810231166593026' ,
77+ } ,
78+ formatedPx :
79+ '0x1d21fd9096f5e99a270d0692b2e88127669a6980029513b1ca1459bea0e423d3' ,
80+ formatedPy :
81+ '0x1b4b7a3ef37cb12bdd53c1dd25e71c032c6a06ab1490dbafc7c304bbbf1305e7' ,
82+ sk : '0x3e769be3e46e6ca29d3b493f3ddfd7b66b18f404f4bd6e9f3d51a791f9e802' ,
83+ } ) ;
84+
85+ expect ( signMessageAsync . mock . calls ) . toHaveLength ( 1 ) ;
86+ expect ( verifyMessage . mock . calls ) . toHaveLength ( 1 ) ;
87+
88+ expect ( signMessageAsync . mock . calls [ 0 ] ) . toStrictEqual ( [
89+ { message : '0x3456' } ,
90+ ] ) ;
91+ expect ( verifyMessage . mock . calls [ 0 ] ) . toStrictEqual ( [
92+ { address : '0x2345' , message : '0x3456' , signature : signature } ,
93+ ] ) ;
94+ } ) ;
5095} ) ;
0 commit comments