Commit Graph

1891 Commits

Author SHA1 Message Date
1e0f07751e Implementation of an address Enumerable Set (#2061)
* Drafted Enumerable.sol.

* Drafted test framework.

* Tweaked the tests to follow oz structure.

* Coded EnumerableSet.

* Moved EnumerableSet to `utils`.

* Fixed linting.

* Improved comments.

* Tweaked contract description.

* Renamed struct to AddressSet.

* Relaxed version pragma to 0.5.0

* Removed events.

* Revert on useless operations.

* Small comment.

* Created AddressSet factory method.

* Failed transactions return false.

* Transactions now return false on failure.

* Remove comments from mock

* Rename mock functions

* Adapt tests to code style, use test-helpers

* Fix bug in remove, improve tests.

* Add changelog entry

* Add entry on Utils doc

* Add optimization for removal of last slot

* Update docs

* Fix headings of utilities documentation

Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
2020-01-24 14:50:24 -03: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
d6698c3bfb Copy docsite landing to readme (#2058)
* Copy docsite landing to readme

* Fix code sample

* Apply suggestions from code review

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

* Update code sample

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2020-01-23 13:36:21 -03:00
b1e811430a Upgrade test-environment dependency 2020-01-20 16:32:42 -03:00
06983a2075 add note suggesting reentrancy post (#2059) 2020-01-20 16:02:49 -03:00
d037217769 Update README (#2056)
* Update README to use releases-stability URL

Change https://docs.openzeppelin.com/contracts/api-stability to https://docs.openzeppelin.com/contracts/releases-stability (even though it redirects)

* Update README to include CLI as dev env

Add OpenZeppelin CLI to list of development environments

* Update README to use releases-stability URL

Change https://docs.openzeppelin.com/contracts/api-stability to https://docs.openzeppelin.com/contracts/releases-stability (even though it redirects)
2020-01-16 14:51:06 -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
54d2aec232 issue#1980 (#2038)
* issue#1980

* fix public to external
2020-01-14 16:18:19 -03:00
d006a750ee Bump eslint-plugin-import from 2.18.2 to 2.20.0 (#2051)
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.18.2 to 2.20.0.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.18.2...v2.20.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 11:54:34 -03:00
5376e5d349 Bump @openzeppelin/gsn-helpers from 0.2.1 to 0.2.3 (#2052)
Bumps [@openzeppelin/gsn-helpers](https://github.com/OpenZeppelin/openzeppelin-gsn-helpers) from 0.2.1 to 0.2.3.
- [Release notes](https://github.com/OpenZeppelin/openzeppelin-gsn-helpers/releases)
- [Commits](https://github.com/OpenZeppelin/openzeppelin-gsn-helpers/compare/v0.2.1...v0.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 11:54:17 -03:00
e5805c4979 Bump openzeppelin-docs-utils from dc7ce30 to f6b5291 (#2050)
Bumps [openzeppelin-docs-utils](https://github.com/OpenZeppelin/docs-utils) from `dc7ce30` to `f6b5291`.
- [Release notes](https://github.com/OpenZeppelin/docs-utils/releases)
- [Commits](dc7ce3006b...f6b5291a2e)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 11:54:01 -03:00
73cbd6a38b fix typo 2020-01-13 15:52:29 -03:00
7014d94108 Fix doc links 2020-01-13 13:46:53 -03:00
62651e8147 Docs overhaul (#2045)
* Reorder navbar

* Adapt content to new docsite structure, add links

* Fix list

* fix list

* Apply suggestions from code review

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

* Update index.adoc

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2020-01-13 13:44:34 -03:00
f9650b4cb8 Remove .gitkeep as it's not needed. (#2046) 2020-01-07 17:18:28 -03:00
249b5e9a4b Bump mocha from 6.2.2 to 7.0.0 (#2042)
Bumps [mocha](https://github.com/mochajs/mocha) from 6.2.2 to 7.0.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v6.2.2...v7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 14:42:13 -03:00
67a71519d3 [Security] Bump handlebars from 4.1.2 to 4.5.3 (#2033)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.2 to 4.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.1.2...v4.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-26 17:41:23 -03:00
ccdeca65a1 make stalebot ignore prs tagged "meta" 2019-12-19 19:13:42 -03:00
fbddf5ba5b Test common case first (#2023) 2019-12-16 16:21:06 -03:00
cf0e71b4ed Update crowdsales.adoc fix invalid conversion (#2026)
Code sample for MyCrowdsaleDeployer causes TypeError:
```
browser/MyCrowdsaleDeployer.sol:21:13: TypeError: Invalid type for argument in function call. 
Invalid implicit conversion from address to contract IERC20 requested.
            address(token)            // the token
            ^------------^
```
Change: 
```solidity
address(token)   // the token
```
To:
```solidity
token   // the token
```

Reported by community member in the forum: https://forum.openzeppelin.com/t/invalid-implicit-conversion-from-address-to-contract-ierc20-requested/1937
2019-12-16 16:15:03 -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
3eaf50005f disable oz cli interactivity in compile script 2019-12-09 16:55:17 -03:00
aec642c5ab [Security] Bump eslint-utils from 1.4.0 to 1.4.3 (#2019)
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.4.0 to 1.4.3. **This update includes security fixes.**
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.4.0...v1.4.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 16:25:16 -03:00
d0d5c2835e Bump openzeppelin-docs-utils from 8e3fa25 to dc7ce30 (#2021)
Bumps [openzeppelin-docs-utils](https://github.com/OpenZeppelin/docs-utils) from `8e3fa25` to `dc7ce30`.
- [Release notes](https://github.com/OpenZeppelin/docs-utils/releases)
- [Commits](8e3fa25573...dc7ce3006b)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 15:44:01 -03:00
2593457503 rename docs-utils dependency 2019-12-03 12:28:01 -03:00
b56e00eb61 Fix documentation previews in pull requests (#2015)
* migrate to openzeppelin-docs-preview script

* update netlify configuration

* update docs-preview-script dependency

* remove old docs directory from gitignore

* update oz-docs script for live reload

* update oz-docs scripts to latest

* replace child_process.execFileSync with spawnSync

* update oz-docs-preview
2019-12-02 19:13:13 -03:00
0c644cc470 [Security] Bump eslint-utils from 1.4.0 to 1.4.3 (#2012)
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.4.0 to 1.4.3. **This update includes security fixes.**
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.4.0...v1.4.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 10:22:38 -03:00
5f92adc2e7 Migrate from truffle to test-environment (#2007)
* Sketch

* Migrate all tests to test-env

* Finish migration to test-env

* Add config

* Work on GSN tests

* Migrate to newer test-env version and loader syntax

* Add GSN setup

* Finish test-env migration

* Setup coverage using test-env

* Migrate to npm package

* Fix package.json

* Add compile step to CI

* Add comment on coverage setup

* Remove dependency on @truffle/contract

* Fix package-lock merge

* Fix linter errors

* Upgrade test-environment, depend locally on ganche-coverage

* Improve coverage script

* Improve sign.js API

* Move accounts destructuring to describe block

* Switch to prebuilt ethereumjs-vm package

* Upgrade test-enviroment version

* use workspace in circleci config

* remove unnecessary npx
2019-11-28 15:46:42 -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
cc0f89e331 Bump nodemon from 1.19.4 to 2.0.1 (#2008)
Bumps [nodemon](https://github.com/remy/nodemon) from 1.19.4 to 2.0.1.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v1.19.4...v2.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 12:20:22 -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
4237eea7d8 Bump @openzeppelin/test-helpers from 0.5.3 to 0.5.4 (#1999)
Bumps [@openzeppelin/test-helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers) from 0.5.3 to 0.5.4.
- [Release notes](https://github.com/OpenZeppelin/openzeppelin-test-helpers/releases)
- [Changelog](https://github.com/OpenZeppelin/openzeppelin-test-helpers/blob/master/CHANGELOG.md)
- [Commits](https://github.com/OpenZeppelin/openzeppelin-test-helpers/compare/v0.5.3...v0.5.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 20:21:17 -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
714f13df7e fix docs template to include only own items 2019-11-15 18:53:20 -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
ab43553f0f add explicit npm ci in prepare-docs 2019-11-11 17:50:56 -03:00
9cac50e428 Bump ethereumjs-util from 6.1.0 to 6.2.0 (#1988)
Bumps [ethereumjs-util](https://github.com/ethereumjs/ethereumjs-util) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/ethereumjs/ethereumjs-util/releases)
- [Changelog](https://github.com/ethereumjs/ethereumjs-util/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ethereumjs/ethereumjs-util/compare/v6.1.0...v6.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 16:40:01 -03:00
bc84ea450c Bump solidity-docgen from 0.3.9 to 0.3.11 (#1989)
Bumps solidity-docgen from 0.3.9 to 0.3.11.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 15:42:13 -03:00
3608fb4ae9 Bump truffle from 5.0.42 to 5.0.44 (#1990)
Bumps [truffle](https://github.com/trufflesuite/truffle) from 5.0.42 to 5.0.44.
- [Release notes](https://github.com/trufflesuite/truffle/releases)
- [Commits](https://github.com/trufflesuite/truffle/compare/truffle@5.0.42...truffle@5.0.44)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 15:19:54 -03:00
aa73460a8d Update CHANGELOG.md 2019-11-07 23:09:32 -03:00
a20408a9e0 Update CHANGELOG.md 2019-11-07 23:09:18 -03:00
81b1e48107 typo fixes (#1983)
"standard also bring" -> "standard also brings"
"killer feature are" -> "killer feature is"
2019-11-05 15:38:17 -03:00
207f315231 tweak formatting of changelog 2019-11-05 12:59:50 -03:00