Commit Graph

384 Commits

Author SHA1 Message Date
bcd4beb5e7 Make explicit the validity of the empty set in MerkleProof.sol (#5142) 2024-08-07 09:34:02 -06:00
24a641d9c9 Get leaves from memory in processMultiProofCalldata (#5140) 2024-08-03 00:00:26 +02:00
e3786e63e6 Fix natspec comment missing * (#5136) 2024-07-31 20:18:27 +02:00
9d6a0cc7e9 Fix documentation of private function _upperLookupBinary in Checkpoints.sol (#5128)
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-07-29 18:58:02 +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
6b4ec6c6c6 Remove root from MerkleTree (#4949)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-12 10:30:54 -06:00
8cc7f2dcbf Remove repetitive words in the docs (#4944)
Signed-off-by: cuinix <915115094@qq.com>
2024-03-08 13:17:53 +01:00
92ff025622 Add a MerkleTree builder (#3617)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-03-07 16:27:38 +01:00
e83142944f Add ability to create clones with initial value in Clones.sol (#4936)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-03-06 13:44:42 -06:00
5705e8208b Merge release-v5.0 branch (#4930) 2024-02-29 13:48:02 -06:00
92224533b1 Merge pull request from GHSA-9vx6-7xxf-x967
* add tests for the encode reads dirty data issue

* Fix the encode reads dirty data issue

* add changeset

* trigger the issue without assembly

* rename mock

* gas optimization

* Apply suggestions from code review

Co-authored-by: Ernesto García <ernestognw@gmail.com>

* alternative fix: cheaper

* update comment

* fix lint

---------

Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-29 10:03:32 -06:00
141c947921 Update chai matchers (#4899)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-19 19:27:39 +01:00
3def8f9d15 Rewrite comments using superscript for avoid confusion with xor operator (#4903) 2024-02-16 16:06:07 +00:00
140d66fad8 Improved integer square root (#4403)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-16 09:56:29 -06:00
4e7e6e54da Add bytes memory version of Math.modExp (#4893)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-02-14 10:06:34 +01:00
f8b1ddf591 Add variants of Array.sort for address[] and bytes32[] (#4883)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-12 16:34:07 +00:00
17a8955cd8 Optimize Math operations using branchless bool to uint translation. (#4878)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-07 10:20:25 +01:00
0a757ec463 Add sort in memory to Arrays library (#4846)
Co-authored-by: RenanSouza2 <renan.rodrigues.souza1@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-06 20:49:12 +00:00
036c3cbef2 Replace custom errors with native panic codes in DoubleEndedQueue (#4872)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-06 21:02:01 +01:00
192e873fcb Add Math.modExp and a Panic library (#3298)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-02 18:40:00 +01:00
61117c4db8 Bound lookup in arrays with duplicate (#4842)
Co-authored-by: RenanSouza2 <renan.rodrigues.souza1@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-29 20:44:33 +01:00
e86bb45477 Add a Math.inv function that inverse a number in Z/nZ (#4839)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-24 09:57:24 +01:00
a51f1e1354 List every contract in each API doc section (#4848)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-01-23 09:55:09 -06:00
a5c4cd8182 Add new EnumerableMap types (#4843)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-22 19:25:01 +00:00
dfae50fa5b Refactor abs without logical branching (#4497)
Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-18 20:22:47 +00:00
d2ba1f6251 Remove redundant memory usage in Checkpoints (#4540)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-01-17 10:51:36 +01:00