Commit Graph

76 Commits

Author SHA1 Message Date
ff16696c9c Update ERC777 event documentation (#3594) 2022-08-10 14:21:23 +02:00
3dac7bbed7 Merge v4.7 back into master (#3516) 2022-06-29 12:34:30 +02:00
07b1b472c0 Improve wording consistency in code/doc (#3365) 2022-05-04 18:20:59 -03:00
a035b235b4 Release v4.6 (#3358)
* 4.6.0-rc.0

* Fix release script to only release @openzeppelin/contracts

(cherry picked from commit 2bd75a44bb)

* make ERC2981:royaltyInfo public (#3305)

(cherry picked from commit d2832ca7a9)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>

* add transpilation guards to the crosschain mocks (#3306)

(cherry picked from commit 9af5af8fff)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>

* Fix tests on upgradeable contracts after transpilation

(cherry picked from commit 0762479dd5)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>

* Remove unused constructor argument

(cherry picked from commit 69c3781043)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>

* Bump minimum Solidity version for Initializable.sol to 0.8.2 (#3328)

(cherry picked from commit cb14ea3c5c)

* Fix update-comment script to ignore invalid tags

(cherry picked from commit 848fef5b6c)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>

* 4.6.0

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2022-04-27 09:34:09 +02:00
c12076fb7e Fix ERC777 link (#3351) 2022-04-23 16:35:04 +02:00
3f49408fb6 Move event definition at the top of IERC20, IERC777 and IERC1820 (#3228) 2022-03-30 12:36:37 -03:00
be3c5ca504 clarify _spendAllowance natspec (#3188) 2022-02-13 14:48:45 +01:00
afb20119b3 Release v4.5 2022-02-09 18:16:53 -03:00
c5a6cae898 Add a _spendAllowance function to ERC20 & ERC777 (#3170) 2022-02-09 12:26:53 -03:00
e298476a90 Simplification of ERC777's transfer & transferFrom by using _send (#3128)
* Update ERC777.sol

* Update ERC777.sol

* Update ERC777.sol

* Update ERC777.sol

* fix revert reasons

Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2022-01-25 14:56:13 +01:00
ecae978cb5 Make more functions virtual (#3078)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2022-01-13 18:56:36 +00: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
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
6bd6b76d11 4.4.1 2021-12-14 13:14:39 -03:00
4961a51cc7 4.4.0 2021-11-25 16:35:37 -03:00
65ef662a2b 4.4.0-rc.1 2021-11-16 10:23:53 -03:00
0a87a4e75b 4.4.0-rc.0 2021-10-20 17:21:04 -03:00
c9bdb1f0ae Add a comment documenting the package version being used (#2918) 2021-10-19 19:18:19 -03:00
b0cf6fbb7a Add Prettier for linting and fix Solhint config (#2697)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-06-07 12:33:03 -03:00
1b37c21da5 reserve unchecked for when guarded by explicit require (#2685) 2021-05-20 16:40:18 +02:00
7144ec8db4 Fix whitespace in ERC777 (#2667) 2021-05-20 11:01:20 -03:00
5f7eda1f98 Tokens: wrap safe substractions in uchecked block (#2669)
* Tokens: wrap definitely safe subs in unchecked

* Add change in changelog

Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2021-05-20 10:33:28 +02:00
78a9821129 Mint ERC777 without reception ack (#2552) 2021-03-08 19:44:31 +00:00
62af16b9f2 Optimize constructor of ERC777 (#2551) 2021-03-02 21:29:05 +01:00
24a0bc23cf Reorganize the repo structure (#2503)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-22 16:44:16 +00:00
a44303c373 Remove double sload when doing math checks in tokens (#2506)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-09 12:58:23 -03:00
5db7413827 re-enabling safemath revert reasons in ERC20, ERC777 and ERC1155 (#2491)
* re-enabling safemath revert reasons in ERC20 and ERC1155

* adding revert messages to ERC777

* removing uncheck block
2021-02-01 11:00:16 +01:00
60205944bb Adopt new Solidity features interfaceId, try/catch, keccak constants (#2487)
* Clean code

-  using type().interfaceId to improve readeability of ERC165 registration
- hardcoding some keccak256 that are otherwise computed at construction.

* hardcode keccak256 result

* Improve code readeability using try/catch

* Remove hardcoded hash 

tests show that solc 0.8.0 does the optimization as expected

* Use try/catch to improve readability

* ERC165Checker: Do not revert when returndata is empty + new test

* Address PR comments

* improve testing of ERC721Receiver errors

* put back comment about invalid interface id

* coverage does not support 0.8.1. Reverting back to 0.8.0

* bubble all data with length > 0 if onERC721Receive fails.

* Fix test: revert without message trigger is bubble with the default message

* using enum object to improve readability
2021-01-29 22:20:49 +01:00
0db76e98f9 Merge branch 'solc-0.7' into solc-0.8 2021-01-27 11:28:23 +01:00
6d202894b6 Merge branch 'master' 2021-01-26 18:58:15 +01:00
18c7efe800 Make view and pure functions virtual (#2473)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-01-26 13:23:23 -03:00
3b4c951838 Fix ERC777 potential reentrancy issues (#2483) 2021-01-26 10:57:18 -03:00
974c534210 Update contracts to support Solidity 0.8.x (#2442)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-01-14 19:38:53 -03:00
faec973e09 Make non-view functions virtual (#2468) 2021-01-13 18:25:39 -03:00
318c4b44ea Move Context from GSN to utils directory (#2453)
Co-authored-by: Hadrien Croubois <hadrien@openzeppelin.com>
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-01-07 13:04:13 -03:00
90ed1af972 Support compiling with solc 0.7 (#2408) 2020-11-17 21:29:39 -03:00
0f55c18595 Fix/solc 0.7.4 warnings #2391 (#2396)
* Fix unnamed return variable warning

This commit fixes warnings thrown by the solc 0.7.4 compiler:
"Warning: Unnamed return variable can remain unassigned. Add an explicit
return with value to all non-reverting code paths or name the variable."

* Fix function state mutability warning

This commit fixes warnings thrown by the solc 0.7.4 compiler:
"Warning: Function state mutability can be restricted to pure"

* Fix shadows an existing declaration warning

This commit fixes warnings thrown by the solc 0.7.4 compiler:
"Warning: This declaration shadows an existing declaration."

1. Arguments by default are not underscored.
2. If the name isn't available due to shadowing, use prefix underscore.
3. If prefix underscore isn't available due to shadowing, use suffix underscore.
2020-10-28 13:42:38 -03:00
0d7bf01ac1 Merge branch 'solc-0.7' into release-v3.2.0-solc-0.7 2020-09-15 17:48:27 -03:00
22de765f3c Merge branch 'release-v3.2.0' into release-v3.2.0-solc-0.7 2020-09-08 20:14:42 -03:00
ded2b0a55c Fix minor typos and grammar in docs (#2338)
* Fix typos and formatting

* Add Solidity release dates: releases-stability
2020-09-01 15:19:17 -03:00
48072e439d Fix function state mutability warning (#2327)
Changes state mutability of granularity function from view to pure.
2020-08-12 16:06:21 -03:00
04fc35707d Migrate contracts to Solidity 0.7 (#2319)
* Update contract pragmas to solidity 0.7

* Remove internal declaration on constructors

* Reference SafeMath explicitely

* Remove public constructor declaration from abstract contracts

* Remove public constructor declaration from non-abstract contracts
2020-07-29 18:11:32 -03:00
ef3bbbcf40 Add readme notices with link to docs site (#2300)
* add readme notices

* remove period after url
2020-06-29 17:23:53 -03:00
394987f365 Fix ERC777 hook docs, fixes #2256 2020-06-01 13:17:15 -03:00
56de324afe Add SPX license identifier (#2235) 2020-05-14 21:58:11 -03:00
e156b617b9 Merge branch 'release-v2.5.0' 2020-04-24 16:04:40 -03:00
c75b016919 Add missing requirements to ERC777 (#2212)
* Restore _approve check for zero sender

* Add non-zero operator check to _send
2020-04-24 15:33:22 -03:00
5bb8d0245b Improve Hooks documentation (#2199)
* Improve Hooks docs

* Improve Utils docs

* Apply suggestions from code review

Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>

* Add enumerable code samples

* Remove import statement from example

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2020-04-20 16:43:05 -03:00
3e139baa50 Add missing hook to ERC777, fix relevant documentation (#2191)
* Improve ERC20/721 Pausable docs

* Add ERC20Pausable mint and burn tests

* Add ERC721Pausable mint and burn tests

* Add _beforeTransfer hook in ERC777 to mint and burn
2020-04-15 17:58:24 -03:00
d2ab599bd3 Update IERC777.sol (#2184) 2020-04-14 14:41:33 -03:00