Commit Graph

224 Commits

Author SHA1 Message Date
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
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
7a29f7df51 Improve MerkleProof tests (#4937)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-01 14:46:52 -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
96e5c0830a Deduplicate code in scripts/helpers and test/helpers/iterate (#4895)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-15 17:40:48 -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
6b30d2d8de Fuzz Base64 and Base64URL (#4853)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-01-24 09:09:41 -06: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
e5f02bc608 Add ERC1363 implementation (#4631)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-24 08:38:25 +00: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
692dbc560f Add Base64Url encoding (#4822)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-01-16 16:12:50 -06:00
e68720efb6 Refactor supports interface (#4817) 2024-01-12 16:45:49 -06:00
04cb014144 Make tests style more uniform (#4812) 2024-01-02 10:31:33 -06:00
a72c9561b9 Finalize test migration: remove legacy dependencies and test helpers (#4797) 2023-12-26 23:46:06 +01:00
015ef69287 Refactor time helper and remove custom error helper. (#4803)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-22 19:50:25 +00:00
f627500649 Update SupportsInterface.behavior.js (#4674)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-19 15:14:25 +01:00
5bca2119ca Migrate ERC165 tests (#4794) 2023-12-18 19:28:16 -06:00
d155600d55 Migrate utils/types/time tests to ethers.js (#4778)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-12-15 17:50:46 +01:00
88512b23d2 Migrate ERC20 extensions tests to ethers v6 (#4773)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-13 22:31:56 +00:00
cffb2f1ddc Migrate math tests to ethers.js v6 (#4769)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-12-04 13:00:00 -06:00
c411700572 Refactor EnumerableSet generation and tests (#4762) 2023-11-28 17:51:58 -06:00
e0ac73cd6e Refactor enumerableMap generate and tests (#4760) 2023-11-28 17:41:10 -06:00
78d5708340 Migrate utils to ethersjs v6 (#4736)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-24 01:32:30 +00:00
e5fb718d40 Optimized gas costs in ceilDiv (#4553) 2023-11-23 09:31:14 -06:00
0950532d9a Migrate utils-structs tests to ethersjs (#4748)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-23 05:38:20 +00:00
bf75bccaea Migrate address to ethersjs (#4739)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 22:52:44 -06:00
6a56b3b08d Migrate EIP712 to ethersjs (#4750)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 22:40:12 -06:00
9702b67ce1 Migrate utils-cryptography to ethers (#4749)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 21:35:55 -06:00
e473bcf859 Migrate metatx tests to ethers.js (#4737)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 20:24:21 -06:00
2ec2ed9695 Migrate AccessControl tests (#4694)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-10-25 20:52:09 -06:00
7c8b7a2728 Migrate MerkleProof tests among other testing utilities (#4689) 2023-10-23 12:24:46 -06:00
33ceb2320c Fix typo in tests (#4625) 2023-09-27 10:12:37 +02:00
2215d9fd5e Remove Time.Delay *At functions (#4606)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-15 12:23:28 -03:00
bba33516b1 Remove unused return value and reuse helper function (#4588)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-08 18:24:23 -03:00
87f7a2cd42 Refactor Time library to use valueBefore/valueAfter (#4555)
Co-authored-by: Francisco <fg@frang.io>
2023-09-05 23:19:21 -03:00