Skip to content

Commit

Permalink
Webauthn verifier (#25)
Browse files Browse the repository at this point in the history
* forge install: openzeppelin-contracts

v5.0.0

* working webauthn verifier

* remove

* rename

* review comments

* 100% coverage
  • Loading branch information
nalinbhardwaj authored Oct 19, 2023
1 parent 4287b17 commit 88bbcc7
Show file tree
Hide file tree
Showing 14 changed files with 2,411 additions and 227 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std
[submodule "lib/openzeppelin-contracts"]
path = lib/openzeppelin-contracts
url = https://github.com/openzeppelin/openzeppelin-contracts
326 changes: 101 additions & 225 deletions lcov.info
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
TN:
SF:src/P256.sol
FN:10,P256.verifySignatureAllowMalleability
FNDA:3,P256.verifySignatureAllowMalleability
DA:17,3
DA:18,3
DA:19,3
FNDA:6,P256.verifySignatureAllowMalleability
DA:17,6
DA:18,6
DA:19,6
BRDA:19,0,0,-
BRDA:19,0,1,-
DA:21,3
DA:21,6
FN:28,P256.verifySignature
FNDA:2,P256.verifySignature
DA:36,2
BRDA:36,1,0,1
FNDA:5,P256.verifySignature
DA:36,5
BRDA:36,1,0,4
BRDA:36,1,1,1
DA:37,1
DA:40,1
DA:40,4
FNF:2
FNH:2
LF:7
Expand Down Expand Up @@ -235,224 +235,100 @@ BRF:46
BRH:39
end_of_record
TN:
SF:test/FCL_elliptic.sol
FN:58,FCL_Elliptic_ZZ.FCL_nModInv
FNDA:0,FCL_Elliptic_ZZ.FCL_nModInv
DA:59,0
DA:71,0
BRDA:71,0,0,-
DA:74,0
FN:82,FCL_Elliptic_ZZ.FCL_pModInv
FNDA:0,FCL_Elliptic_ZZ.FCL_pModInv
DA:83,0
DA:95,0
BRDA:95,1,0,-
DA:98,0
FN:105,FCL_Elliptic_ZZ.ecAff_SetZZ
FNDA:0,FCL_Elliptic_ZZ.ecAff_SetZZ
DA:110,0
DA:111,0
DA:112,0
DA:113,0
FN:121,FCL_Elliptic_ZZ.ecZZ_SetAff
FNDA:0,FCL_Elliptic_ZZ.ecZZ_SetAff
DA:127,0
DA:128,0
DA:129,0
DA:130,0
DA:131,0
FN:139,FCL_Elliptic_ZZ.ecZZ_Dbl
FNDA:0,FCL_Elliptic_ZZ.ecZZ_Dbl
DA:147,0
DA:148,0
DA:149,0
DA:150,0
DA:151,0
DA:152,0
DA:157,0
DA:158,0
DA:159,0
DA:160,0
DA:163,0
FN:171,FCL_Elliptic_ZZ.ecZZ_AddN
FNDA:0,FCL_Elliptic_ZZ.ecZZ_AddN
DA:180,0
BRDA:180,2,0,-
BRDA:180,2,1,-
DA:181,0
DA:185,0
DA:186,0
DA:187,0
DA:188,0
DA:189,0
DA:190,0
DA:191,0
DA:192,0
DA:193,0
DA:198,0
DA:206,0
FN:212,FCL_Elliptic_ZZ.ecZZ_SetZero
FNDA:0,FCL_Elliptic_ZZ.ecZZ_SetZero
DA:217,0
FN:225,FCL_Elliptic_ZZ.ecZZ_IsZero
FNDA:0,FCL_Elliptic_ZZ.ecZZ_IsZero
DA:231,0
FN:238,FCL_Elliptic_ZZ.ecAff_SetZero
FNDA:0,FCL_Elliptic_ZZ.ecAff_SetZero
DA:239,0
FN:246,FCL_Elliptic_ZZ.ecAff_IsZero
FNDA:0,FCL_Elliptic_ZZ.ecAff_IsZero
DA:250,0
FN:256,FCL_Elliptic_ZZ.ecAff_isOnCurve
FNDA:0,FCL_Elliptic_ZZ.ecAff_isOnCurve
DA:260,0
BRDA:260,3,0,-
BRDA:260,3,1,-
DA:261,0
DA:264,0
DA:265,0
DA:270,0
DA:272,0
FN:280,FCL_Elliptic_ZZ.ecAff_add
FNDA:0,FCL_Elliptic_ZZ.ecAff_add
DA:286,0
DA:287,0
DA:289,0
BRDA:289,4,0,-
BRDA:289,4,1,-
DA:290,0
BRDA:290,5,0,-
BRDA:290,5,1,-
DA:292,0
DA:294,0
FN:300,FCL_Elliptic_ZZ.ecZZ_mulmuladd_S_asm
FNDA:0,FCL_Elliptic_ZZ.ecZZ_mulmuladd_S_asm
DA:306,0
DA:307,0
DA:308,0
DA:309,0
DA:310,0
DA:311,0
DA:312,0
DA:315,0
BRDA:315,6,0,-
BRDA:315,6,1,-
DA:317,0
DA:334,0
DA:339,0
BRDA:339,7,0,-
DA:340,0
DA:341,0
DA:343,0
BRDA:343,8,0,-
DA:344,0
DA:345,0
DA:347,0
BRDA:347,9,0,-
DA:348,0
DA:349,0
DA:352,0
DA:353,0
DA:354,0
DA:478,0
BRDA:478,10,0,-
DA:485,0
DA:489,0
FN:496,FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_extcode
FNDA:0,FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_extcode
DA:502,0
DA:504,0
DA:505,0
DA:507,0
DA:508,0
DA:510,0
DA:531,0
DA:534,0
DA:693,0
BRDA:693,11,0,-
DA:697,0
DA:698,0
FN:704,FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_hackmem
FNDA:0,FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_hackmem
DA:709,0
DA:711,0
DA:712,0
DA:715,0
DA:716,0
DA:718,0
DA:738,0
DA:741,0
DA:850,0
BRDA:850,12,0,-
DA:854,0
DA:855,0
FN:863,FCL_Elliptic_ZZ.ecdsa_verify
FNDA:0,FCL_Elliptic_ZZ.ecdsa_verify
DA:868,0
BRDA:868,13,0,-
BRDA:868,13,1,-
DA:869,0
DA:872,0
BRDA:872,14,0,-
BRDA:872,14,1,-
DA:873,0
DA:876,0
DA:878,0
DA:879,0
DA:880,0
DA:882,0
DA:885,0
DA:888,0
FN:897,FCL_Elliptic_ZZ.ecdsa_precomputed_verify
FNDA:0,FCL_Elliptic_ZZ.ecdsa_precomputed_verify
DA:902,0
BRDA:902,15,0,-
BRDA:902,15,1,-
DA:903,0
DA:910,0
DA:912,0
DA:915,0
DA:922,0
DA:925,0
FN:934,FCL_Elliptic_ZZ.ecdsa_precomputed_hackmem
FNDA:0,FCL_Elliptic_ZZ.ecdsa_precomputed_hackmem
DA:939,0
BRDA:939,16,0,-
BRDA:939,16,1,-
DA:940,0
DA:947,0
DA:948,0
DA:951,0
DA:958,0
DA:960,0
FNF:18
FNH:0
LF:127
LH:0
BRF:26
BRH:0
SF:src/WebAuthn.sol
FN:12,WebAuthn.contains
FNDA:11,WebAuthn.contains
DA:17,11
DA:18,11
DA:20,11
DA:21,11
DA:23,11
DA:24,168
BRDA:24,0,0,167
BRDA:24,0,1,1
DA:25,1
DA:28,167
BRDA:28,1,0,165
BRDA:28,1,1,2
DA:29,2
DA:33,8
FN:44,WebAuthn.checkAuthFlags
FNDA:9,WebAuthn.checkAuthFlags
DA:49,9
BRDA:49,2,0,8
BRDA:49,2,1,1
DA:50,1
DA:57,8
DA:58,2
BRDA:56,3,0,7
BRDA:56,3,1,1
DA:60,1
DA:65,7
BRDA:65,4,0,1
BRDA:65,4,1,1
DA:66,2
BRDA:66,5,0,1
BRDA:66,5,1,1
DA:67,1
DA:71,6
FN:124,WebAuthn.verifySignature
FNDA:10,WebAuthn.verifySignature
DA:138,10
DA:139,9
BRDA:137,6,0,6
BRDA:137,6,1,4
DA:141,4
DA:145,6
DA:146,6
BRDA:146,7,0,5
BRDA:146,7,1,1
DA:147,1
DA:151,5
DA:152,5
DA:158,5
BRDA:158,8,0,3
BRDA:158,8,1,2
DA:159,2
DA:163,3
DA:164,3
DA:168,3
FNF:3
FNH:3
LF:32
LH:32
BRF:18
BRH:18
end_of_record
TN:
SF:test/GasBenchmark.t.sol
FN:28,FCLWrapperEIP7212.
FNDA:1778,FCLWrapperEIP7212.
DA:29,1778
BRDA:29,0,0,1778
BRDA:29,0,1,-
DA:30,0
DA:33,1778
DA:34,1778
DA:35,1778
DA:36,1778
DA:37,1778
DA:39,1778
DA:40,1778
DA:42,1778
DA:44,1778
SF:src/utils/Base64URL.sol
FN:7,Base64URL.encode
FNDA:1799,Base64URL.encode
DA:8,1799
DA:9,1799
DA:12,1799
DA:13,1799
DA:14,3342
BRDA:14,0,0,1547
BRDA:14,0,1,1795
DA:15,1547
DA:17,1795
DA:21,1799
DA:22,1799
DA:24,1799
DA:25,524845
BRDA:25,1,0,1248
BRDA:25,1,1,523597
DA:26,1248
DA:27,523597
BRDA:27,2,0,176191
BRDA:27,2,1,347406
DA:28,176191
DA:30,347406
DA:34,1799
FNF:1
FNH:1
LF:11
LH:10
BRF:2
BRH:1
LF:16
LH:16
BRF:6
BRH:6
end_of_record
1 change: 1 addition & 0 deletions lib/openzeppelin-contracts
Submodule openzeppelin-contracts added at 932fdd
3 changes: 2 additions & 1 deletion remappings.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
forge-std/=lib/forge-std/src/
forge-std/=lib/forge-std/src/
openzeppelin-contracts/=lib/openzeppelin-contracts/
Loading

0 comments on commit 88bbcc7

Please sign in to comment.