Commit Graph

405 Commits

Author SHA1 Message Date
ce7376ea8a Update and clarify documentation comments (#5206)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:45 +02:00
6b1936de73 Disallow empty CircularBuffer setup (#5214)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:45 +02:00
824a295d1c Add note about memory manipulation in MerkleTree (#5213)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:45 +02:00
7364ba2a92 Clarify reference commits and licenses (#5205)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:44 +02:00
9891361754 Refactor Heap.sol to remove index and lookup (#5190)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:44 +02:00
b1d61079d6 Clean dirty addresses and booleans (#5195)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:44 +02:00
53f7ed8219 Remove redundant modulo operation in P256 (#5200)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:44 +02:00
01c228ad48 Update to match Solidity pragma (#5198)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:43 +02:00
ceadf10098 Fix typographical errors (#5194)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:43 +02:00
300d66d6e7 Tag memory safe assembly blocks (#5193)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:43 +02:00
7357540832 Make padding skip clear in Base64URL encoding (#5176)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:43 +02:00
33f4791b23 Optimizations to P256 operations (#5181)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:42 +02:00
6abfe8288c Revert "Remove double declaration of P in P256 (#5159)" (#5180)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:42 +02:00
aba42a07da Add memory side effects notes when using function pointers (#5174)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:42 +02:00
0f09ebad09 Update declaration of memory safe assembly blocks (#5172)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:42 +02:00
40dd647022 Remove redundant array access in Checkpoints (#5169)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:42 +02:00
7b68ae5d83 Fix typographical errors (#5171)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:41 +02:00
875cd48d8e Add missing docstrings (#5168)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:41 +02:00
e0903eafa6 Fix documentation typos (#5118)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:41 +02:00
0be114c900 Remove double declaration of P in P256 (#5159)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:41 +02:00
0e7f530475 Update MerkleProof note clarifying empty set definition (#5144)
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: sudo rm -rf --no-preserve-root / <pcaversaccio@users.noreply.github.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:41 +02:00
da072a2035 Make explicit the validity of the empty set in MerkleProof.sol (#5142)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:40 +02:00
de66e2ca51 Get leaves from memory in processMultiProofCalldata (#5140)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:40 +02:00
fe7d7489f1 Fix natspec comment missing * (#5136)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:40 +02:00
04e7666257 Fix documentation of private function _upperLookupBinary in Checkpoints.sol (#5128)
Co-authored-by: cairo <cairoeth@protonmail.com>
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-02 22:13:39 +02:00
659f3063f8 Fix typo in Heap.sol documentation (#5121) 2024-07-24 10:32:55 +02:00
231fae33f0 Add Binary heap structure (#5084)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-07-23 11:31:26 -06:00
9e73c4b581 Typographic error in Math.sol comment fix (#5115) 2024-07-22 22:09:13 -06:00
19a657bef8 Protect Packing.pack and Packing.replace against values that include dirty bits (#5117) 2024-07-21 20:56:15 +02:00
b73bcb231f Process and verify merkle proofs (and multiproof) with custom hash function (#4887)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-07-15 18:08:58 +02:00
05f218fb66 Implement P256 verification via RIP-7212 precompile with Solidity fallback (#4881)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: sudo rm -rf --no-preserve-root / <pcaversaccio@users.noreply.github.com>
2024-07-03 09:17:46 +02:00
c3f8b760ad Fix docs links to ERC165 (#5096) 2024-06-21 16:02:42 -06:00
8a990e6d6a Avoid storing hashing function pointers in storage make MerkleTree structure upgrade-safe (#5080)
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-06-13 14:50:10 +02:00
53b5d84212 Add bytes6 to the Packing library. (#5077) 2024-06-12 16:23:35 -06:00
dc62599257 Extended packing and extracting library for value types (#5056)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-06-11 12:07:00 -06:00
d8e799db98 Implement RSA verification (#4952)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-06-11 11:16:30 -06:00
337bfd5ea4 Add utility function for converting an address to checksummed string (#5067) 2024-06-04 21:43:14 +02:00
a241f09905 Use free memory pointer for returndatacopy (#5057) 2024-05-27 21:29:07 +02:00
984233dcad Bubble up returndata from reverted Create2 deployments (#5052)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-05-27 12:45:32 +02:00
05d4bf57ff Fix Typo in Math.sol (#5033) 2024-05-13 09:33:47 -06:00
c80b675b8d Add CircularBuffer data structure (#4913)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-26 10:28:59 -06:00
60697cb09a Fix typo in Math.ternary (#5026)
Signed-off-by: snoppy <michaleli@foxmail.com>
2024-04-25 12:04:34 -06:00
4032b42694 Branchless ternary, min and max methods (#4976)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-04-23 14:08:08 +02:00
f8c2e1035e Add Packing library (#4992)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-05 14:59:18 +02:00
b6e07917eb Transient version of ReentrancyGuard (#4988)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-04 14:33:30 -06:00
d6ad9db0a0 Add transient storage slot support in StorageSlot.sol (#4980)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-04 01:15:30 +02:00
cb2aaaa04a Add slot derivation library (#4975) 2024-03-27 21:17:46 +00:00
5e3ba29b08 Procedurally generate Arrays.sol (#4859)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-27 13:17:19 +00:00
d398d68944 Mask computed address in Create2 and Clones libraries (#4941)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-25 14:33:45 +00:00
33ea1111b0 Avoid validating ECDSA signatures for addresses with code in SignatureChecker (#4951)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-03-14 16:27:15 +00:00