Commit Graph

927 Commits

Author SHA1 Message Date
40f6dbdbde Merge branch 'master' into fix/enumerable-#1240 2020-01-24 12:46:30 -03:00
81e1bf5d23 Add optimization for removal of last slot 2020-01-24 12:36:59 -03:00
305d714ca7 Fix bug in remove, improve tests. 2020-01-24 12:28:09 -03:00
07c99bc4a8 Rename mock functions 2020-01-23 19:52:31 -03:00
332636da16 Remove comments from mock 2020-01-23 19:27:34 -03:00
b770d89ade Transactions now return false on failure. 2020-01-23 21:17:49 +00:00
be49c332d2 Failed transactions return false. 2020-01-23 21:07:39 +00:00
79b98a4b54 Created AddressSet factory method. 2020-01-23 20:56:51 +00:00
31e9a54c19 Small comment. 2020-01-23 20:46:52 +00:00
41cb935930 Revert on useless operations. 2020-01-23 20:43:57 +00:00
dfdf794e3c Removed events. 2020-01-23 20:29:07 +00:00
71d1716acb Relaxed version pragma to 0.5.0 2020-01-23 20:23:54 +00:00
73abd54cbe Made private methods internal to allow for overriding (#2027)
* Made private methods internal to allow for overriding

* Revert package.lock changes.

* Make _move private again

* Expose the ERC1820 registry address

* Add changelog entry

Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
2020-01-23 16:35:21 -03:00
7d7cbcad14 Fix/improve revert reason #1727 (#2018)
* adding mock contacts, test code

* adding changes to ERC721.sol per @frangio's comments on original PR #1943

* fix solhint warnings

* Update contracts/token/ERC721/ERC721.sol

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

* same revert wording per @frangio's review suggestion

* per @frangio's feedback, changing the inline assembly to accomplish: we want to ignore the first 4 bytes of content, so we should read the length and decrease it by 4, then take the memory location and add 4 to it, then store the new length at the new memory location, then that is the new byte array that we want.

* change revert msg assembly per PR comment by @frangio

* unify revert msg in test code

* fix some failed tests, wording change

* Update contracts/token/ERC721/ERC721.sol

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

* Update contracts/token/ERC721/ERC721.sol

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

* fix test case, revert without reason

* fix 'ERC721ReceiverRevertsMock: Transaction rejected by receiver'

* style change per review by @frangio

* fix revert reason forwarding

* remove duplicate contracts/mocks/ERC721ReceiverRevertsMock.sol per review https://github.com/OpenZeppelin/openzeppelin-contracts/pull/2018\#issuecomment-574381034

* Add changelog entry

* Fix tests

* Make tests more clear

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
2020-01-23 16:33:09 -03:00
e493fb3e95 Add 'available since' notes. Fixes #2054 2020-01-23 15:26:25 -03:00
8c40a5b275 Create2 feature pending tasks (#2013)
* Add Create2 library (#1744)

* feat(contracts): Add Create2 library to use create2 evm opcode

* Upgrade sol-coverage

* Add changelog entry

* Update comments and code style

* Remove create2 helper

* Fix linter error

* Fix truffle dependency

* Fix linter error

* refactor(Create2): Remove _deploy internal function

* test(Create2): test Create2 with inline assembly code

* fix(Create2): Check address returned form create2 instead of codesize of created contract

* refactor(Create2):Add revert reason when Create2 deploy fails (#2062)

* fix merge with master

* fix test

Co-authored-by: Augusto Lemble <me@augustol.com>
2020-01-23 15:08:54 -03:00
8b50c024d5 Renamed struct to AddressSet. 2020-01-22 15:11:44 +00:00
8379d53545 Merge branch 'master' into fix/enumerable-#1240 2020-01-21 16:35:57 +00:00
3700a342b0 Tweaked contract description. 2020-01-21 09:53:55 +00:00
580bbddb90 Improved comments. 2020-01-21 09:36:51 +00:00
ef381e6b50 Moved EnumerableSet to utils. 2020-01-20 22:32:50 +00:00
429cb6df1f Coded EnumerableSet. 2020-01-20 21:14:49 +00:00
06983a2075 add note suggesting reentrancy post (#2059) 2020-01-20 16:02:49 -03:00
410e4f8ab9 Fix link to GSN overview (#2053)
* Fix link to GSN overview

* Update contracts/GSN/README.adoc

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2020-01-15 14:44:09 -03:00
e3227bf87a Drafted test framework. 2020-01-15 16:54:51 +00:00
b74bb85711 Drafted Enumerable.sol. 2020-01-15 09:58:28 +00:00
54d2aec232 issue#1980 (#2038)
* issue#1980

* fix public to external
2020-01-14 16:18:19 -03:00
f9650b4cb8 Remove .gitkeep as it's not needed. (#2046) 2020-01-07 17:18:28 -03:00
fbddf5ba5b Test common case first (#2023) 2019-12-16 16:21:06 -03:00
73a5903789 Update README.adoc 2019-12-10 15:57:14 -03:00
5d47aa85bc Correct documentation for isContract check (#2017)
* Correct documentation for isContract check

* Update Address.sol

* Update Address.sol

* add missing newline before asciidoc list
2019-12-10 13:14:18 -03:00
ca6a5dc8a2 Changes ERC777 external functions to public for allowing overrides #1994 (#2001)
* Changes ERC777 external functions to public for allowing overrides #1994

* Changes ERC777 external functions to public for allowing overrides (#1994)
2019-11-27 19:29:05 -03:00
28b95ef5be ReentrancyGuard gas optimization (#1996)
* Improve gas efficiency of reentrancyGuard

* Add changelog entry

* Fix ReentrancyGuard test
2019-11-23 20:44:45 -03:00
95e54173e9 Update MerkleProof.sol (#1997) 2019-11-19 20:13:22 -03:00
8e980480aa Fix broken crossreference links (#2005)
* Bump solidity-docgen from 0.3.11 to 0.3.13

Bumps solidity-docgen from 0.3.11 to 0.3.13.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* fix broken crossreference links
2019-11-19 17:41:51 -03:00
49042f2b1a feat: add baseTokenURI to ERC721Metadata (#1970)
* feat: add baseTokenURI

* fix: tests

* chore: dev notation

* chore: changelog

* chore: typo

* Remove extra getters, return empty URI by default

* Update docs

* Rename baseTokenURI to baseURI

* Roll back visibility change of tokenURI

* Update changelog entry

* Version setBaseURI docs

* Improve internal names and comments

* Fix compilation errors

* Add an external getter for baseURI
2019-11-15 20:22:37 -03:00
33047ffddc Update ReentrancyGuard for Istanbul Hard Fork (#1992)
* Update ReentrancyGuard for Istanbul Hard Fork

Changes:
Added L37, `_guardCounter = 1;`

Rationale:
The planned _Istanbul Hard Fork_ will implement [EIP 2200](e4d4ea348e/EIPS/eip-2200.md), which implements "net gas metering" for `sstore` operations. If the final value of `_guardCounter` is unchanged relative to the original value of it, a gas refund will be applied and charges for changing the value of `_guardCounter` will effectively not exist. This ends up being cheaper than the current implementation ONLY AFTER Istanbul. Before Istanbul, the added line actually ends up costing more gas.

Note that if `_guardCounter` is `0` initially, the initial cost and subsequent refund will both be larger than if `_guardCounter` is `1` initially. Although in both cases, the net gas cost (`gasCost - gasRefund`) are equal, it's better in terms of cost to have both the gas cost and refund smaller, as there is some limit to the percentage of a gas refund that can actually be realized.

* Update CHANGELOG.md

Added note for change to ReentrancyGuard.sol

* Update ReentrancyGuard.sol

* Update CHANGELOG.md
2019-11-13 14:54:15 -03:00
f90700f3f1 add detail to deprecation notice 2019-11-12 17:52:38 -03:00
5b2de262fd Made _burn internal instead of private (#1908) 2019-10-31 19:57:38 -03:00
8e3563968f add explanation of drafts category 2019-10-30 12:57:19 -03:00
d839c24e4b Merge branch 'release-v2.4.0' 2019-10-29 17:56:10 -03:00
cdf655f770 2.4.0 2019-10-29 17:44:30 -03:00
c4bb7b7bb9 remove beta notice 2019-10-29 17:23:48 -03:00
feaf051fef added feature availability info to documentation
(cherry picked from commit 9113335cb3)
2019-10-29 17:21:29 -03:00
4c997ea09e make PullPayment.withdrawPaymentsWithGas external
(cherry picked from commit 76a1d7a3cd)
2019-10-29 17:21:23 -03:00
1c220e175d Forward all gas on PullPayment withdrawal (#1976)
* Add withdrawWithGas

* Improve docs

* Add changelog entry

* Update contracts/payment/PullPayment.sol

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

* Remove repeated comment

* Update changelog entry

* Fix inline docs

* Fix changelog formatting

(cherry picked from commit d6e10ab786)
2019-10-29 17:21:17 -03:00
ab4d43ce14 fix script for preparing contracts package
(cherry picked from commit eaee98f227)
2019-10-29 17:21:08 -03:00
b0dbe0fc59 Transfer replacement (#1962)
* Add Address.sendEther

* Add documentation to sendEther

* Add changelog entry

* Rename sendEther to sendValue

(cherry picked from commit 8d166f3e35)
2019-10-29 17:20:18 -03:00
6efbee609e GSN renaming (#1963)
* Merge GSNBouncerBase into GSNRecipient

* Remove emtpy implementations for _pre and _post

* Rename bouncers to recipients

* Rename bouncers documentation to strategies

* Rewrite guides and docstrings to use the strategy naming scheme

* Address review comments

* Apply suggestions from code review

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

* change wording of docs

(cherry picked from commit aae95db4e0)
2019-10-29 17:18:26 -03:00
21d014d481 Improve PullPayment docs (#1965)
* Improve PullPayment docs

* Reword escrow note

* Update contracts/payment/PullPayment.sol

Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>
(cherry picked from commit 9e19d90cd9)
2019-10-29 17:18:26 -03:00