e1878ace8c
Fix ECDSA signature malleability ( #3610 )
...
(cherry picked from commit d693d89d99 )
2022-08-10 15:41:37 -03:00
8fb5f5774e
Avoid returnbomb in ERC165Checker ( #3587 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
(cherry picked from commit dc4869eb23 )
2022-07-27 16:45:55 -03:00
67b2572c6a
Keep track of historical quorum values ( #3561 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
(cherry picked from commit 8ea1fc87c9 )
2022-07-27 13:40:16 -03:00
e15862f289
Remove test for feature not in 4.7
2022-07-20 10:52:34 -03:00
212de08e7f
Fix issues caused by abi.decode reverting ( #3552 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
(cherry picked from commit 628a6e2866 )
2022-07-19 18:36:04 -03:00
e4748fbba1
Support memory arrays in MerkleTree multiproof ( #3493 )
...
(cherry picked from commit 2894059775 )
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-06-27 13:16:23 +02:00
80c7a3ef43
Rename ERC20TokenizedVault to ERC4626 ( #3467 )
...
(cherry picked from commit a55b7d1372 )
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-06-14 11:45:28 +02:00
7c75b8aa89
Add a SafeERC20:safePermit function ( #3280 )
2022-06-07 15:17:02 +00: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
d506e3b1a5
Simplify Initializable ( #3450 )
2022-06-03 19:30:50 +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
62f2c0531b
Simplify ERC721 revert reasons ( #3438 )
2022-06-01 18:22:13 -03: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
6766b2de3b
Add getters for number of unclaimed tokens in PaymentSplitter ( #3350 )
2022-05-31 19:26:18 +00:00
82a63f6389
Remove redundant require in ERC721 ( #3434 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-05-26 22:22:35 -03:00
488dd562fb
Improve error messages for ERC721 and 1155 ( #3254 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-05-27 00:52:43 +00:00
61294a62af
Restore previous behavior of initializer during construction ( #3344 )
2022-05-25 15:01:45 -03: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
cd2da98d4d
Refactor magic constant in TimelocController test ( #3397 )
2022-05-12 22:23:56 +00:00
3b9381dfb1
Add customizable fee receiver to ERC20FlashMint ( #3327 )
...
Co-authored-by: Mazen Khalil <mazen@immunityledger.org >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-05-06 18:46:23 -03:00
d4e6236b2b
Fix deprecated expectEvent.inLogs #3332 ( #3333 )
2022-04-23 10:20:55 -03:00
742e85be7c
Change zero address revert message in the balanceOf function of ERC721 and ERC1155 ( #3314 )
2022-04-02 12:13:33 +02:00
69c3781043
Remove unused constructor argument
2022-04-01 00:16:32 -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
02fcc75bb7
Add ERC1155URIStorage ( #3210 )
...
* Add ERC721URIStorage-like extension for ERC1155
* Add tests for ERC1155URIStorage extension
* add changelog entry for ERC721URIStorage
* Fix linting errors
* Emit URI event in ERC1155URIStorage
* Remove exists check and ERC1155Supply dependency
* Fix lint error
* Overwrite ERC1155 uri method
* Update ERC1155URIStorage specs
* Fix ERC1155URIStorageMock
* Rename _setTokenURI => _setURI in ERC1155URIStorage
* Add baseURI to ERC1155URIStorage
* Move super.uri call in ERC1155URIStorage
* Clearify ERC1155URIStorage description in change log
* reorder changelog & add documentation
* improve documentation
* fix typo
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-03-29 09:15:43 +00:00
e029096ca4
Add Initialized event ( #3294 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-03-28 15:36:30 -03:00
76eee35971
Improve revert message in Governor ( #3275 )
...
* Fixed typo
* fix testing and adding changelog
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-03-25 11:02:15 +01:00
76fca3aec8
Add ERC721 and ERC1155 receiver support in Governor, Timelock ( #3230 )
...
* add ERC721 and ERC1155 receiver support in Governor, Timelock and MinimalForwarder (#3174 )
* revert the nft receiver hooks from MinimalForwarder and linting updates
* add ERC165 support & simplify test
* add changelog entry
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-03-24 01:25:00 +01:00
faf5820f03
Fix many spelling errors ( #3274 )
2022-03-22 18:16:20 -03:00
0eba5112c8
Allow the re-initialization of contracts ( #3232 )
...
* allow re-initialization of contracts
* fix lint
* use a private function to avoid code duplication
* use oz-retyped-from syntax
* add documentation
* rephrase
* documentation
* Update contracts/proxy/utils/Initializable.sol
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* reinitialize test
* lint
* typos and style
* add note about relation between initializer and reinitializer
* lint
* set _initializing in the modifier
* remove unnecessary variable set
* rename _preventInitialize -> _disableInitializers
* rename preventInitialize -> disableInitializers
* test nested reinitializers in reverse order
* docs typos and style
* edit docs for consistency between initializer and reinitializer
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-03-22 18:06:29 +00: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
98716177ae
Inherit ERC20Wrapper decimals from the underlying ( #3259 )
2022-03-22 09:55:49 +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
8b162e39b5
Add a canceller role to the TimelockController ( #3165 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-03-08 18:28:20 -03:00
f8bfa560e9
Use _spendAllowance in ERC20FlashMint ( #3226 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-03-08 19:34:24 +00: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
af7ec04b78
Improve security of the onlyGovernance modifier ( #3147 )
...
* add a protection mechanism to prevent relaying transaction that are not
part of an execute operation
* more accurate relay authorization
* force reset the relay authorizations after executions
* refactor of the onlyGovernor modifier
* only whitelist when executor is not governor itself
* fix lint
* add private function for call permission management
* use deque
* fix lint
* remove unecessary dependency
* remove unecessary dependency
* comment rephrasing
* Update contracts/governance/Governor.sol
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* cache keccak256(_msgData())
* use Context
* lint
* conditionnal clear
* add test to cover queue.clear()
* lint
* write more extended docs for onlyGovernance
* add changelog entry
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-02-18 21:03:03 +01: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
c5a6cae898
Add a _spendAllowance function to ERC20 & ERC777 ( #3170 )
2022-02-09 12:26:53 -03: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