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
e192fac276
Simplify UUPSUpgradeable along the lines of ERC1822 ( #3021 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-13 15:46:55 -03: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
c366de3626
Fix encoding of signature+calldata in GovernorCompatibilityBravo ( #3100 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-11 15:45:06 -03:00
80d8da0564
Do not reduce approval on transferFrom if current allowance is type(uint256).max ( #3085 )
...
* add feature request #3084
* Update contracts/token/ERC20/ERC20.sol
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* Add changelog note
* add documentation
* test unlimitted allowance and add ERC777 unlimitted allowance
* reference PR in changelog
* documentation IERC20 -> ERC20
* use asciidoc note syntax
* use asciidoc note syntax
* typo
* typos
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-11 00:08:33 +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
a9f994f063
Reduce ERC20 allowance before triggering transfer ( #3056 )
...
* Reduce ERC20 allowance before triggering transfer
* adapt ERC777 to reduce allowance before transfer
* fix test for ERC777
* use smaller number to reduce balance
* simplify test description
* don't use deprecated expectEvents.inLogs
* fix test
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-12-31 09:17:12 +00: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
10c8fcd3b8
Use invalid opcode to consume all gas in MinimalForwarder ( #3035 )
2021-12-22 19:01:24 -03: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
08840b9f8c
Update initializer modifier to prevent reentrancy during initialization ( #3006 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-12-10 13:02:35 -03:00
0c858e2071
Improve revert reason in ERC721 ( #2975 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-12-09 23:42:18 +00:00
abf6024faf
Add a governor module to protect against late quorum ( #2973 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-12-01 13:56:31 -03:00
6089f11c2f
Add a relay mechanism in the governor ( #2926 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-11-30 17:19:20 -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
a57e638f57
Improve GovernorTimelockControl.state() to detect direct cancel ( #2977 )
2021-11-18 09:53:05 -03:00
b12af48a7d
Add Governor module for governance-settable parameters ( #2904 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-10-19 15:33:02 -03:00
88e4b69bfb
Add a VestingWallet ( #2748 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-10-18 12:47:37 -03: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
efb5b0a28f
Extend PaymentSplitter to support ERC20 tokens ( #2858 )
...
* Add MultiPaymentSplitter
with ERC20 support on top of the existing PaymentSplitter
* consistency and linting
* Add MultiPaymentSplitter tests
* fix lint
* add changelog entry
* add MultiPaymentSplitter to documentation
* rework PaymentSplitter to include ERC20 support by default
* remove test file for MultiPaymentSplitter
* fix lint
* completelly split erc20 and token tracking
* address some PR comments
* add notice about rebasing tokens
* fix minor error in tests
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-10-07 16:17:10 +02:00
abeb0fbf5c
Delay the Pending state until strictly after proposal.voteStart ( #2892 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-10-06 19:29:57 -03:00
b174f067df
Fix typo casted -> cast
2021-08-13 18:44:44 -03:00
73425c22d8
Update lockfile ( #2787 )
...
Co-authored-by: Renovate Bot <bot@renovateapp.com >
2021-08-12 14:35:20 +00: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
d89f2a4ac6
Update ERC721.behavior.js ( #2801 )
2021-08-05 19:44:13 +02:00
4b152bd8ce
Improve Governor ( #2794 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-08-04 18:29:13 -03:00
f782943099
Move variable declaration to top of test file ( #2806 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-08-03 14:19:21 +00:00
3da0cf698f
Uncomment assertion in ERC2771Context.test.js ( #2796 )
2021-08-03 11:06:24 -03:00
e1c0f3eaef
Update tests for RFC 2606 ( #2802 )
2021-08-02 23:41:13 +00:00
0500c9e53e
Use "OpenZeppelin Contracts" where appropriate ( #2778 )
2021-07-20 10:35:58 -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
15b92e4097
Add missing "await" in tests ( #2749 )
...
* add missing await in tests
* fix test description
2021-07-06 17:20:08 +02:00
6842518b1b
Wrapper extension for ERC20 token ( #2633 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-06-22 19:27:33 -03:00
8a775cd8d4
Emit DelegateVotesChanged events after Transfer ( #2733 )
2021-06-22 19:14:40 -03: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
adc50d465c
Tweak ERC20Votes revert reasons and documentation ( #2696 )
...
* adapt revert reason convention
* add whitespace
* tweak documentation
* fix tests
2021-05-27 18:16:37 +02:00
f6efd8aced
Add totalSupply checkpoints to ER20Votes ( #2695 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-05-27 15:13:18 +00:00
406c83649b
Introduce ERC1155 totalSupply() and exists() functions ( #2593 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-05-20 21:46:21 +00: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
100ca0b8a2
ERC20 extension for governance tokens (vote delegation and snapshots) ( #2632 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-05-12 10:13:59 -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
e0a2b195e4
Add modifier & internal function with standard revert message in AccessControl ( #2609 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-04-16 12:15:09 -03:00
1c676ac0ec
Implement UUPS proxy (ERC1822) ( #2542 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-04-16 11:41:47 -03:00