Commit Graph

718 Commits

Author SHA1 Message Date
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
3157aff844 Update docs for setting ERC20 decimals (#2629) 2021-04-14 16:00:22 +00:00
555be63c90 Add support for EIP2098 "short signatures" in the ECDSA library (#2582)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-04-09 22:58:03 +00:00
7f6a1666fa Add Multicall module (#2608) 2021-04-07 17:26:40 +00:00
0c621246d3 Add tooling to verify signatures with support for ERC1271 (#2532)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-04-07 13:09:17 +00: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
cd443f0d5b Add tests to extend code coverage (#2586) 2021-03-15 13:01:47 -03:00
82e3ec3afe Fix MerkleProof generation in tests and add some documentation (#2585) 2021-03-12 21:41:54 +00:00
508a879ef0 Remove merkleTree.js in favor of merkletreejs dependency (#2578) 2021-03-10 18:30:16 +01:00
78a9821129 Mint ERC777 without reception ack (#2552) 2021-03-08 19:44:31 +00:00
7adf0d88a0 Fix AccessControlEnumerable not tracking renounceRole (#2572)
* Fix AccessControlEnumerable not tracking renounceRole

* Updated changelog
2021-03-08 13:44:20 +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
c789941d76 Rename UpgradeableProxy to ERC1967Proxy (#2547)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-03-02 11:20:59 -03:00
4519c237c5 Fix migrate-imports.js test for upgradeable paths 2021-02-23 23:50:40 -03:00
4ee9fd77fd Check upgradeable paths in migrate-imports test 2021-02-23 23:29:43 -03:00
24a0bc23cf Reorganize the repo structure (#2503)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-22 16:44:16 +00:00
f8cc8b844a Minimal support for ERC2771 (GSNv2) (#2508)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-19 15:36:48 -03:00
e341bdc1b7 Remove enumerable from AccessControl and add AccessControlEnumerable extension (#2512)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-19 17:36:56 +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
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
f7c8252611 Remove GSNv1 contracts (#2521)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-18 15:27:18 +00:00
e66e3ca523 Improve gas efficiency of EnumerableMap (#2518)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-18 15:19:57 +00:00
9c1e703990 Add a Strings.toHexString function (#2504)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-02-08 20:55:56 +00:00
f2112be4d8 Add revert string to Counter decrement overflow (#2500) 2021-02-04 20:28:13 +00:00
93438eca0b Merge 3.4 master into solc-0.8 (#2499)
* 3.4.0-rc.0

* Allow manual dispatch of Test CI job

* Update lockfile (#2481)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add "available since" comments in documentation

* Add "available since" comments in documentation

(cherry picked from commit 63a0343dda)

* Remove SafeMathMock compilation warnings (#2497)

* Remove SafeMathMock compilation warnings (#2497)

(cherry picked from commit f4e57fd529)

* 3.4.0

* fix safemath test to use renamed function from the mock

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-02 22:07:56 +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
fdf57a9788 Lint 2021-01-27 18:14:15 -03:00
a0323d446c Transition from buidler to hardhat 2021-01-27 11:37:18 +01:00
0db76e98f9 Merge branch 'solc-0.7' into solc-0.8 2021-01-27 11:28:23 +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
c2c08af16d Add ERC165Checker.getSupportedInterfaces (#2469)
Co-authored-by: conspyrosy <1027439+Spyros-Stylianou@users.noreply.github.com>
Co-authored-by: kamiebisu <kamiebisu@protonmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-01-19 17:55:22 -03:00
9e49be41b6 Add ERC1167 library (minimal proxy) (#2449)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-01-19 17:54:47 -03:00
c34211417c Refactor SafeMath to avoid memory leaks (#2462)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2021-01-18 18:06:27 -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
1e8cb4b4a4 Bubble revert reasons in proxy initialization (#2454)
Co-authored-by: Hadrien Croubois <hadrien@openzeppelin.com>
2021-01-07 12:45:36 -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
883116e4af Add ERC20 and ERC777 fixed supply presets #2377 (#2399)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2020-12-02 14:51:33 -03:00