Commit Graph

684 Commits

Author SHA1 Message Date
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
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
f31bb101ad Move ERC20Votes and ERC20FlashMint out of draft (#2673)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-05-20 11:00:22 -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
8ad458e955 Explain how baseURI is used for building the tokenURI (#2679) 2021-05-19 16:07:56 -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
8669481309 Fix typo in comment (#2660) 2021-05-05 10:41:46 -03:00
08ba72afa2 Fix ERC721._beforeTokenTransfer docs (#2653) 2021-05-04 11:10:24 -03:00
319afebdc0 Fix typo in ERC20._mint docs (#2648) 2021-05-03 16:54:23 -03:00
a98814b930 Fix documentation typos 2021-04-26 15:41:17 -03:00
440b65bf77 Refactor ERC1155 transfers to use internal functions (#2636)
* Refactor ERC1155 transfers to use internal functions #2622

* apply length check to all internal calls

Co-authored-by: Robert Kaiser <kairo@kairo.at>
2021-04-19 22:13:15 +02:00
9a698e6b7b add Available since 4.1 comments 2021-04-19 20:55:16 +02:00
5bd798c6e1 Add ERC3156 extension of ERC20 (flash minting and lending) (#2543)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-04-06 03:13:10 +00:00
243adff49c fix typo in ERC20's documentation 2021-03-26 14:06:58 +01:00
74e03de760 removes unused dependency (#2603) 2021-03-21 19:22:45 +01:00
3dc374ddcf Make overide of ERC721.isApprovedForAll affect the ERC721 logic (#2597) 2021-03-16 15:32:22 -03:00
7c1625b0e0 Fix ERC721URIStorage in documentation 2021-03-15 16:47:39 -03:00
682def9f89 Typo in ERC20 constructor docstring (#2581) 2021-03-11 17:28:26 +01:00
96aece07f3 Fix docs formatting in IERC20Permit (#2579)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-03-10 19:48:22 -03:00
5171e46c47 Add an internal _useNonce(address) function in ERC20Permit (#2565) 2021-03-10 12:24:12 -03:00
b8ab763581 Add IERC20Metadata with name, symbol and decimals (#2561)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-03-08 19:53:01 +00:00
78a9821129 Mint ERC777 without reception ack (#2552) 2021-03-08 19:44:31 +00:00
5dbbda5435 Make ERC1155.uri public (#2576) 2021-03-08 15:42:34 -03:00
fc004c0ad2 removes invalid character in comments (#2571) 2021-03-08 13:42:35 +01:00
29ffe6f426 Add ERC165 interface detection to AccessControl (#2562)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2021-03-04 18:50:12 -03:00
1705067e65 Add ERC721URIStorage extension (#2555) 2021-03-03 12:13:09 -03:00
62af16b9f2 Optimize constructor of ERC777 (#2551) 2021-03-02 21:29:05 +01:00
36b855972b Optimize implementation of ERC20Capped (#2524) 2021-02-24 22:07:03 +00:00
24a0bc23cf Reorganize the repo structure (#2503)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-22 16:44:16 +00:00
09734e8028 Remove enumerable from ERC721 and add an ERC721Enumerable extension (#2511)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-19 13:24:39 -03:00
7d20d0e2d2 Use immutable variables where possible (#2528)
Co-authored-by: rotciv <victorfage@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2021-02-19 11:11:54 -03:00
e733b24dfe Refactor ERC165 to use function overriding instead of storage (#2505)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-18 19:02:28 +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
b840341a77 Remove the storage associated with decimals (#2502)
* Removing the storage associated with decimals

* changelog entry

* changelog link to new issue number

* Update contracts/token/ERC20/ERC20.sol

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>

* Update contracts/token/ERC20/ERC20.sol

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>

* Update CHANGELOG.md

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-04 20:06:00 +01: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
5609cd4c74 Fix merge errors 2021-01-27 18:04:52 -03: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
65b7e515a2 Align comments (#2458) 2021-01-11 16:43:45 -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
6be0b410dc Use explicit conversions between addresses and numbers (#2439)
Co-authored-by: hrkrshnn <webmail.hari@gmail.com>
Co-authored-by: cameel <cameel2@gmail.com>
2020-12-17 22:51:48 -03:00
ecc66719bd Add ERC20 Permit (EIP-2612) (#2237)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
Co-authored-by: Santiago Palladino <spalladino@gmail.com>
2020-12-11 13:34:02 -03:00
268c6ab36c Edit ERC20 API index to make it clearer 2020-12-09 20:04:08 -03:00