Commit Graph

1576 Commits

Author SHA1 Message Date
59f03f00c5 Fix stalebot exempt labels 2019-04-19 15:25:36 -03:00
ea59f86cdf Update stalebot wording and timing. (#1722) 2019-04-19 02:20:47 -03:00
0df0e1b250 Fixes/Improves constants inline documentation. (#1707)
* Fixes/Improves constants inline documentation.

* Fixed solhint error.

* Moved the comment before the variable
2019-04-17 16:38:33 -03:00
5a2b349992 Feature/erc777 #1159 (#1684)
* IERC777 from specs, constants returned, up to defaultOperators. (#1159)

* IERC777 oprarator approvals (#1159)

* ERC777 oprarator approvals fixes and tests

* IERC777 send and receive with ERC820 (#1159)

* ERC777 Add burn functions and fix send functions (#1159)

* ERC777 Make expectEvent compatible with web3.js 1.0 (#1159)

* ERC777 Add ERC820 deploy script (#1159)

* ERC777 Complete implementation of ERC777 (#1159)

This implementation conforms to the current EIP

* ERC777 Update ERC820 Registry contract to final version (#1159)

* ERC777 Move contracts to 'drafts' folder (#1159)

* ERC777: Update to ERC1820 registry and linter error fix (#1159)

* ERC777: implement recent changes of EIP777 (#1159)

* ERC777 Fix formatting (#1159)

* ERC777 Update to solc 0.5.2 (#1159)

* ERC777 Fix travis CI errors (#1159)

* ERC777 Fix linter errors again... (#1159)

* ERC777 Fix unit test (#1159)

* ERC777 Fix unit test again (#1159)

* Remove extra newlines.

* Rename ERC777Base to ERC777.

* Remove 'Token' from contract names.

* Replace ops for operators.

* Move operator check out of _send.

* Remove ERC777Burnable.

* Remove ERC1820Client, now using the interface directly.

* Minor internal refactors in contracts.

* Delete extra test helpers.

* Simplified tests.

* Add basic 777 tests.

* Add granularity send test.

* Add first operator send tests.

* Add burn tests.

* Refactor send and burn tests.

* Improve send burn refactor.

* Greatly improve test module.

* Burn instead of send removed tokens.

* Add operator tests.

* Improve send tests under changing operators.

* Refactor and merge send and burn tests.

* Add missing and not-implemented tests.

* Make _burn private.

* Fix typo.

* Greatly improve tokensToSend tests.

* Refactor hook tests.

* Fix hook tests.

* Update openzeppelin-test-helpers and ERC1820 address.

* Fix natspec indentation.

* Make interface functions external.

* Remove redundant private revoke and authorize functions.

* Improved readability of if statement.

* Remove unnecessary asserts.

* Add non-one granularity test.

* Fix hook call order in _mint.

* Fix _mint not reverting on failure to implement tokensReceived.

* Remove special case in operatorFn when from is 0.

* Refactor ERC777SenderMock.

* Add tokensReceived tests.

* switch to updated ganache-cli-coverage fork

* Fix linter errors.

* Add mint tests.

* Fix linter errors.

* Fix tests.

* Update test/drafts/ERC777/ERC777.test.js

Co-Authored-By: nventuro <nicolas.venturo@gmail.com>

* Add changelog entry.
2019-04-16 13:13:46 -03:00
963f1eb35b removed unnecessary require and renaming of null to zero (#1717)
* removed unnecessary require

* build pipeline fix

* kept as it is

* Added require
2019-04-15 16:03:44 -03:00
bbe0eefd9f removing unused variables (#1719)
* removing unused variables

* undeleting the _
2019-04-12 13:25:21 -03:00
19c705d928 Fix/rename anyone account #1357 (#1718)
* replacing all instances of from: anyone with from: other

* replacing all instances of from: anyone with from: other

* replacing all instances of from: anyone with from: other

* changing anyone to other

* changing anyone to other
2019-04-11 12:34:10 -03:00
d45f0c89db Update copyright notice 2019-04-10 19:23:54 -03:00
1ebeef7ffd Remove unnecessary SLOAD. (#1715) 2019-04-10 12:29:58 -03:00
b353f7e18c Add more extensive documentation to PaymentSplitter (#1713)
* Update PaymentSplitter.sol

* add back private function docs

* add non-zero address requirement

* add comprehensive contract-level docs

* use capital E for Ether
2019-04-09 19:47:20 -03:00
92e68e3aaa Revert "Add WIP bot."
This reverts commit 07fc8c731a.
2019-04-09 18:52:17 -03:00
07fc8c731a Add WIP bot. 2019-04-09 18:44:39 -03:00
81e36d2e74 Fix from account in remove public role behaviors (#1710) 2019-04-05 18:06:22 -03:00
35d8e860ad Remove unused files (#1698)
* Remove unused dependencies.

* Remove unused mock contracts.
2019-04-01 15:00:39 -03:00
8b44efd035 add note about Counters rename in changelog (#1703) 2019-04-01 13:24:50 -03:00
3cb4a00fce Added basic punctuation to @dev docs (#1697) (#1700)
* Added basic punctuation to @dev docs (#1697)

* add missing uppercase
2019-03-30 16:48:17 -03:00
c008f1f0c6 Exclude on-hold PRs and issues on stalebot. (#1696) 2019-03-26 16:21:13 -03:00
dc5ca8edc4 Edit Ethereum dev framework links in README. (#1695)
Added Buidler.
2019-03-25 16:22:48 -03:00
7ccd224567 Update SafeERC20.sol (#1693) 2019-03-25 14:27:26 -03:00
cf7375d6b8 Update openzeppelin-test-helpers dependency. 2019-03-19 17:54:02 -03:00
308a4c9907 Draft EIP 1820 (#1677)
* Add barebones EIP1820 support.

* Update openzeppelin-test-helpers dependency to have ERC1820 support.

* Add tests for ERC1820.

* Improve inline documentation.

* Add changelog entry.

* Update test-helpers, refactor tests to use new helpers.

* Rename ERC1820 to ERC1820Implementer.

* Improve implementer docstring.

* Remove _implementsInterfaceForAddress.

* update openzeppelin-test-helpers to 0.2.0

* Update contracts/drafts/ERC1820Implementer.sol

Co-Authored-By: nventuro <nicolas.venturo@gmail.com>

* Fix how solidity coverage is run to allow for free events.

* Fix coverage testing script.
2019-03-19 15:13:55 -03:00
269e096c5a Remove unused return variables. (#1686) 2019-03-19 11:51:46 -03:00
edfce5a3dd Add probot/stale to the repo. (#1681) 2019-03-17 22:38:36 -03:00
ab14debb08 Make waiting for ganache to launch more robust. (#1683) 2019-03-17 16:59:29 -03:00
40d2eb3007 Merge branch 'release-v2.2.0' 2019-03-14 18:46:11 -03:00
9ed1b44865 Release v2.2.0 v2.2.0 2019-03-14 18:44:19 -03:00
7aaf15be59 Add v2.2.0 release date. 2019-03-14 18:43:33 -03:00
2a37b09cf6 Improve test script. (#1675) 2019-03-12 17:17:33 -03:00
29fa0a4ce5 Add API stability doc link. (#1672)
* Add API stability doc link.

* Update README.md

Co-Authored-By: nventuro <nicolas.venturo@gmail.com>
2019-03-12 13:31:22 -03:00
06f7266a6e Replace mentions of Slack for forum links. (#1671)
* Replace mentions of Slack for forum links.

* make forum lowercase
2019-03-12 13:15:46 -03:00
4c706480e5 Fix typo in ERC20Snapshot. (#1670) 2019-03-12 13:15:08 -03:00
4dd8575bb6 Improve erc165 testing #1203 (#1666)
* Rename variable from thing to contractUnderTest

* Compute function signatures in ERC165 interfaces

The ERC165 tests currently precompute some known interface ids.
This commit extracts the interfaces into a separate object and
precomputes the individual function signatures.

This will be useful to identify contracts that support an interface
but do not implement all of the corresponding functions.

* Add tests for ERC165 interface implementations

The ERC165 tests confirm that contracts claim to support
particular interfaces ( using the supportsInterface method )

This commit extends those tests to confirm that the corresponding
functions are included in the contract ABI.

It also rewords the existing test names in order to group the
implementation tests with the corresponding interface tests.

* Remove obsolete ERC721Exists interface constant
2019-03-07 19:41:22 -03:00
9c69df5962 Fix changelog entry. 2019-03-07 14:34:51 -03:00
1e5295d304 Release candidate v2.2.0-rc.1 v2.2.0-rc.1 2019-03-07 12:52:10 -03:00
61c4318c33 Reorder 2.2.0 changelog entries. 2019-03-07 12:46:36 -03:00
79dd498b16 Signature Malleability: (#1622)
* Transaction Malleability:
If you allow for both values 0/1 and 27/28, you allow two different
signatures both resulting in a same valid recovery. (r,s,0/1) and
(r,s,27/28) would both be valid, recover the same public key and sign
the same data. Furthermore, given (r,s,0/1), (r,s,27/28) can be
constructed by anyone.

* Transaction Malleability:
EIP-2 still allows signature malleabality for ecrecover(), remove this
possibility and force the signature to be unique.

* Added a reference to appendix F to the yellow paper and improved
comment.

* better test description for testing the version 0, which returns
a zero address

* Check that the conversion from 0/1 to 27/28 only happens if its 0/1

* improved formatting

* Refactor ECDSA code a bit.

* Refactor ECDSA tests a bit.

* Add changelog entry.

* Add high-s check test.
2019-03-07 12:44:28 -03:00
547a5f242a Add extcodesize check to SafeERC20. (#1662)
* Add extcodesize check to SafeERC20.

* Clarify some comments.

* Replace inline assembly with Address.sol.
2019-03-06 14:11:08 -03:00
352ec94579 Add TimedCrowdsale::_extendTime (#1636)
* Add TimedCrowdsale::_extendTime

* Add tests for TimedCrowdsale extending method

* Reverse event arguments order

* Rename method argument

* Refactor TimedCrowdsale test

* Simplify TimedCrowdsaleImpl

* Fix extendTime method behaviour to deny TimedCrowdsale re-opening after it was ended

* Append chengelog

* Update CHANGELOG.md

Co-Authored-By: k06a <k06aaa@gmail.com>

* Update contracts/crowdsale/validation/TimedCrowdsale.sol

Co-Authored-By: k06a <k06aaa@gmail.com>

* Improve tests
2019-03-06 11:38:57 -03:00
3772233cf5 Add guard to ERC20Migrator migrate function (#1659)
* Add guard to ERC20Migrator migrate function

* Add tests for premature migration in ERC20Migrator

These tests apply to the new guard condition, but they don't
fail without it, since the functions revert anyway.
They are added for completeness and to ensure full code coverage.

* Use context block around premature migration tests

We should use context blocks for situational details
and describe for features or functions.
2019-03-02 12:36:36 -03:00
7f54542172 Add latest audit to repository (#1664)
* rename previous audit to date it was performed

* add latest audit

* add note about latest audit in README
2019-03-01 20:04:00 -03:00
3ff2e24518 remove .node-version file (#1665) 2019-03-01 20:01:09 -03:00
0c617b755e fix weird date format (#1663) 2019-03-01 15:36:39 -03:00
8cc3349d1f Fix typo: "an uint256" -> "a uint256" (#1658)
Using "a" instead of "an" makes this consistent with the comment on `allowance`.
2019-03-01 10:03:19 -05:00
41aa39afbc Add no-return-data ERC20 support to SafeERC20. (#1655)
* Add no-return-data ERC20 support to SafeERC20.

* Add changelog entry.

* Replace abi.encodeWithSignature for encodeWithSelector.

* Remove SafeERC20 test code duplication.

* Replace assembly for abi.decode.

* Fix linter errors.
2019-02-28 17:34:46 -03:00
0dded493a0 Nonfunctional typos #1643 (#1652)
* Add IntelliJ IDE config to .gitignore

* Fix variable name in ERC20 function comments

* Fix typos in Arrays function comment

* Fix typos in ownership test names

* Fix typo in Pausable test name

* Fix grammar in Ownable function comment

* Fix grammar in Crowdsale contract comment

* Fix typo in Counters contract comment

* Fix typo in ERC721Enumerable comment

* Fix typo in ERC721PausedToken test name

* Fix typo in Crowdsale function comment

* Fix typo in IncreasingPriceCrowdsale function comment

* Fix grammar in IncreasingPriceCrowdsale test name

* Fix typo in AllowanceCrowdsale test name

* Fix typo in RefundEscrow function comment

* Fix typo in ERC20Migrator contract comment

* Fix typos in SignatureBouncer comments

* Fix typo in SignedSafeMath test name

* Fix typo in TokenVesting contract comment

* Move Ownable comment from @notice section to @dev

The Ownable contract has a comment explaining that renouncing
ownership will prevent execution of functions with the onlyOwner
modifier.

This commit moves that comment to the @dev section and replaces it
with a description suitable for a generic user.

* Clarify purpose of ERC20 transfer function

* Clarify registration of ERC721Enumerable interface

* Clarify purpose of AllowanceCrowdsale test

* Increase specificity of inheritance comments

FinalizableCrowdsale and RefundableCrowsale both have comments
indicating that they are extensions of the Crowdsale contract.

This commit refines those comments to the most immediate ancestor
( TimedCrowdsale and RefundableCrowdsale respectively )

* Remove unused parameter in PaymentSplitter test

* Rename parameter in SignatureBouncer functions

The SignatureBouncer contract has modifiers to validate the
message sender is authorised to perform an action. They pass
msg.sender to internal functions as the variable `account`, but
the function comments refer to the variable as `sender`

This commit changes the variable name to `sender`

* Clarify comments in SignatureBouncer functions

The SignatureBouncer has comments that use the description
`sender` to refer to the variable `account`.

This commit updates the comments for consistency.

Maintainer Note: this reverts changes in the previous commit,
which renamed the variable `account` instead.
2019-02-28 11:46:13 -03:00
a1f168be96 Add the solidity linter command to the PR template (#1653)
* Add the solidity linter command to the PR template

The PR template states that a contributor should run the
Solidity/JS linters before submission. However, it only states the
command for the JS linter.

This commit adds the Solidity linter command explicitly.

* Use past tense in the list of prerequisites
2019-02-27 12:31:56 -03:00
5b93137c26 Merge branch 'release-v2.1.3' 2019-02-26 17:15:07 -03:00
f5ba7e7f0d Merge branch 'release-v2.0.1' 2019-02-26 17:12:39 -03:00
5a64eb2e14 Release v2.0.1 v2.0.1 2019-02-26 16:41:00 -03:00
2648206394 Merge pull request #1647 from nventuro/safeerc20-bugfix
Fix SafeERC20.safeApprove bug

(cherry picked from commit 3111291b4a)
2019-02-26 16:36:17 -03:00