324eda228c
Remove redundant ECDSA constraint ( #3591 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-08-16 18:08:07 +00:00
d693d89d99
Fix ECDSA signature malleability ( #3610 )
2022-08-10 15:40:03 -03:00
dc4869eb23
Avoid returnbomb in ERC165Checker ( #3587 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-07-27 16:41:05 +00:00
628a6e2866
Fix issues caused by abi.decode reverting ( #3552 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-07-18 21:01:20 +00:00
e734b42fc2
Enable using ERC165 check for one supported interface directly ( #3339 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco <frangio.1@gmail.com >
2022-06-27 17:51:33 -03:00
6f88199db9
Optimize Address.functionCall removing redundant isContract check ( #3469 )
...
Co-authored-by: Francisco <frangio.1@gmail.com >
2022-06-27 17:02:33 -03:00
2894059775
Support memory arrays in MerkleTree multiproof ( #3493 )
2022-06-27 13:15:52 +02:00
3ac4add548
Add sqrt for math ( #3242 )
2022-06-07 08:26:45 +02:00
051cc9e446
Revert unwanted breaking change in the Clones library ( #3456 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-06-06 20:41:48 +00:00
113443470c
Reorder arguments for multiProof functions ( #3447 )
2022-06-03 09:36:14 +02:00
35090c1bf1
Add tests for improved coverage ( #3448 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-06-02 23:01:55 +00:00
5e00787199
ERC4626 ( #3171 )
2022-06-02 10:03:03 +02:00
4fc9fd3efe
Support more efficient merkle proofs through calldata ( #3200 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-06-01 20:36:42 +00:00
2b0b0bb186
Fix merkle multiProof for single leaf tree ( #3446 )
2022-06-01 20:21:56 +00:00
f8157ac854
Add multiProofVerify ( #3276 )
2022-05-25 09:39:15 +02:00
de74c8c62c
Add bytes32 to uint enumerable map ( #3416 )
2022-05-23 08:02:27 +00:00
b61faf8368
Procedural SafeCast.sol generation ( #3245 )
2022-05-21 14:38:31 +02:00
c4f76cfa15
Add uint to uint enumerable map ( #3338 )
2022-05-20 13:31:53 +00:00
5772512058
Add address to string conversion ( #3403 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-05-13 18:46:26 +00:00
d4e6236b2b
Fix deprecated expectEvent.inLogs #3332 ( #3333 )
2022-04-23 10:20:55 -03:00
668a648bc6
Add utilities for CrossChain messaging ( #3183 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-03-30 11:41:04 -03:00
faf5820f03
Fix many spelling errors ( #3274 )
2022-03-22 18:16:20 -03:00
b13bdb0249
Add bytes32 to bytes32 enumerable map ( #3192 )
...
* feat(enumerablemap): add bytes32 to bytes32 map
* chore(changelog): edit CHANGELOG
* feat(enumerable map): edit struct visibility
2022-03-22 16:36:29 +01:00
6a5bbfc4cb
Refactor governor testing ( #3194 )
...
* starting a governor test refactor
* improve governor tests
* refactor compatibility tests using the governor helper
* improve governor helper
* improve governor helper
* refactor governor tests
* refactor testing
* fix testing (still TODO)
* fix tests
* fix tests
* fix spelling
* use different instances of GovernorHelper
* add vote with params support
* coverage
* simplify ERC165 helper
* remove unused proposal argument
* refactor setProposal
* lint
* refactor setProposal return values
* add a data default value
* improve proposal reconstruction and storage in helper
* proposal object refactoring
* lint
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-03-11 09:30:30 +01:00
fd07cc6290
Extend Governor with parameterized votes ( #3043 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-03-01 17:55:20 -03:00
aace774961
Add a double ended queue ( #3153 )
...
* add vector, lifo and fifo structures
* fix lint
* need more memory for coverage
* remove Vector wrappers and gas optimization
* refactor Vector testing
* revert package.json changes
* rename to DoubleEndedQueue
* rename and refactor
* refactor tests and expand coverage
* test for custom errors
* add changelog entry
* add docs
* add sample code and note about storage vs. memory
* add available since
* lint
* use underscore for struct members
* add struct documentation
* remove SafeCast in length
* rename i -> index and improve docs
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-02-16 09:32:16 +01:00
ca755ce799
Add AddressToUintMap ( #3150 )
...
* add AddressToUintMap
* Update contracts/utils/structs/EnumerableMap.sol
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* address comments
* lint code
* merge mocks into a single file
* add PR link to changelog entry
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-02-01 17:37:32 +01:00
4f8af2dceb
Add test and docs describing a misuse of MerkleProof ( #3090 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-31 12:10:13 -03:00
783ac759a9
upgrade solidity-coverage to 0.7.18 to support ERC165 coverage ( #3117 )
2022-01-18 00:05:17 -03:00
3eb2d43b06
Move abs(int256) from Math to SafeMath ( #3110 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-14 22:27:04 +00:00
3458c1e854
Add SignedMath with math utilities for signed integers ( #2686 )
...
* add contract and tests
* avoid implicit cast
* add test cases
* fix test names
* modify avarage and add tests
* improve signed average formula
* fix lint
* better average formula
* refactor signed average testing
* add doc and changelog entry
* Update contracts/utils/math/SignedMath.sol
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* remove ceilDiv
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-12 20:08:59 +01:00
a65c03bc0d
Implement Non Fungible Token Royalty (EIP2981) ( #3012 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-01-06 19:34:57 -03:00
ef0273fde1
Add Base64 library to utils ( #2884 )
...
* Add Base64 library to utils
* Fix typo on Base64 padding
* Added documentation for Base64 and references from ERC1155 and ERC721
* Updated Changelog
* Fix typo in utilities doc
* use mstore8 to improve memory accesses
* use shorter strings with encodePacked
* do not use using-for syntax, for clarity
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-12-29 20:41:20 +01:00
b42b05311b
Add ERC721Votes for NFT-based governance ( #2944 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien@openzeppelin.com >
2021-12-10 18:58:45 -03:00
f6db5c1f30
A function which returns the absolute value of a signed value ( #2984 )
...
* Add a function which returns the absolute (and obviously unsigned) value of a signed value.
* add changelog entry and fix lint
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-11-24 14:09:05 +01:00
7006e4e3e6
Remove invalid parameters in MerkleProof tests ( #2912 )
2021-10-14 22:02:49 -03:00
5b28259dac
#890 : Add ECDSA.toEthSignedMessageHash(bytes) for abritrary length message hashing ( #2865 )
...
* #890 : Add ECDSA#toEthSignedMessage for bytes type
* refactor
* add test, refactor
* select overloaded function explicitly
* use short test message string
* add changelog entry
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-10-11 14:59:30 +02:00
541e82144f
Optimize EOA signature verification ( #2661 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-08-06 10:47:52 -03:00
7279273ebb
Fix inconsistencies in contract/test hierachy ( #2814 )
...
* Fix inconsistencies in contract/test hierachy
* changelog entry
2021-08-06 13:43:23 +02:00
4b152bd8ce
Improve Governor ( #2794 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-08-04 18:29:13 -03:00
6c1a634053
Add Governor contracts ( #2672 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-07-16 12:44:01 -03:00
f88e555234
Add values() functions to EnumerableSets ( #2768 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-07-16 12:06:47 -03:00
6d97f09195
Gas optimization on average function of Math.sol ( #2757 )
...
* change implementation to save gas
* add average test with two max uni256 number
2021-07-10 21:28:12 +02:00
f7da53cebd
Add a BitMap struct ( #2710 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-06-11 15:24:00 -03:00
e3661abe84
Split ERC20Votes and ERC20VotesComp ( #2706 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-06-04 12:52:19 -03:00
1488d4f678
Improve ECDSA tests and docs ( #2619 )
2021-06-01 17:59:24 -03:00
7c754d0665
Add ceiling division operation to the Math.sol library ( #2681 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-05-20 13:53:31 +00:00
8ea06b75aa
Add a Counter.reset function ( #2678 )
2021-05-19 15:52:43 -03:00
165e6f1948
EnumerableSet: Remove Boundary Check in _at ( #2606 )
...
* remove boundary check
* fix tests for EnumerableSet "index out of bound"
* Changelog
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-04-20 19:51:26 +00:00
1c676ac0ec
Implement UUPS proxy (ERC1822) ( #2542 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-04-16 11:41:47 -03:00