Commit Graph

202 Commits

Author SHA1 Message Date
2b9dc9ae87 Merge tag 'v2.2.0' of github.com:OpenZeppelin/openzeppelin-solidity
v2.2.0
2019-05-28 18:08:44 -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
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
3111291b4a Merge pull request #1647 from nventuro/safeerc20-bugfix
Fix SafeERC20.safeApprove bug
2019-02-26 12:39:02 -03:00
b14c9f4b68 Fix SafeERC20.safeApprove bug, improve test coverage. 2019-02-25 14:41:26 -03:00
2fc0aaabb3 Use canonical EIP reference format 2019-02-24 11:52:22 -05:00
40d15146c4 ERC20 Snapshot Impl #2 (#1617)
* ✏️ Refactor code & Refork OZ Repo

* Refactor ERC20Snapshot to use on-demand snapshots.

* Add ERC20Snapshot changelog entry.

* Move ERC20Snapshot to drafts.

* Improve changelog entry.

* Make snapshot tests clearer.

* Refactor ERC20Snapshots to use Counters.

* Refactor snapshot arrays into a struct.

* Remove .DS_Store files.

* Delete yarn.lock

* Fix linter error.

* simplify gitignore entry
2019-02-06 16:26:59 -03:00
05c7d8c861 fix identation and some linter warnings 2019-01-28 22:04:50 +03:00
8dd92fd6ca Add ERC20 _setTokenURI (#1618)
* Add _setTokenURI internal.

* Rename TokenMetadata to ERC20Metadata.

* Add changelog entry for ERC20Metadata.

* Fix linter error.

* Add breaking change changelog notice.
2019-01-25 15:16:19 -03:00
1fd993bc01 Unify code comments style. (#1603)
* Updated code style to no more than120 characters per line.

* Unify code comments style with Doxygen-style tags.
2019-01-25 13:16:40 -03:00
e357592208 fix linter errors 2019-01-24 13:18:09 -03:00
00f7c19d02 fix remaining tests 2019-01-21 19:28:37 -03:00
07603d5875 Remove unnecessary SafeMath call (#1610)
* Refactor Counter to support increment and decrement.

* Move Counter out of drafts.

* Refactor ERC721 to use Counter.

* Rollback Counter returning the current value in increment and decrement.

* Update test/drafts/Counter.test.js

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

* Improve Counter documentation.

* Move Counter.test to utils.

* Move back Counter to drafts.
2019-01-21 17:24:51 -03:00
3a5da75876 ERC20._approve (#1609)
* Add ERC20._approve.

* Add ERC20._approve tests.

* Fix linter error.

* Require owner in _approve to be non-zero.
2019-01-21 17:23:38 -03:00
877f07f0a9 fix all compilation errors 2019-01-18 17:14:53 -03:00
e808a64649 rename internal initializers 2019-01-18 16:38:26 -03:00
a221c17fb2 Merge tag 'v2.1.1' of github.com:OpenZeppelin/openzeppelin-solidity
v2.1.1
2019-01-18 15:33:51 -03:00
bce2d68e7f convert 2 spaces to 4 spaces 2019-01-17 18:02:50 -03:00
b7d60f2f9a Fix warnings (#1606)
* Bump required compiler version to 0.5.2.

* Fix shadowed variable warning in ERC20Migrator.

* Rename Counter to Counters.

* Add dummy state variable to SafeERC20Helper.

* Update changelog entry.

* Fix CountersImpl name.

* Improve changelog entry.
2019-01-17 15:59:30 -03:00
e5b94c1481 Merge branch 'release-v2.1.0' 2019-01-14 19:19:25 -03:00
76abd1a41e Replaced Solium in favor of Solhint (#1575)
* Adding solhint, working on style fixes.

* Upgraded to solhint 1.5.0.

* Removed all references to Solium

* Updated mocks to make the pass the new linter rules.

* Reformatted the .solhint.json file a bit.

* Removed Solium configuration files.

* Remove Solium dependency.

* Add comment explaing disabled time rule in TokenVesting.

* Revert to the old (ugly?) style.

* Revert SignatureBouncerMock style.

* Fix ERC165InterfacesSupported interface.
2019-01-04 17:01:52 -03:00
35d70397b6 Rename WhitelisterRole to WhitelistAdminRole. (#1589)
* Rename WhitelisterRole to WhitelistAdminRole.

* Update WhitelistAdmin changelog entry.
2019-01-04 15:32:24 -03:00
a5b14f262e Separate unsigned and signed safemath libraries (#1588)
* separate unsigned and signed safemath libraries

* update changelog entry for SignedSafeMath
2019-01-04 14:57:04 -03:00
63ce358f30 Renamed DetailedERC20Mock.sol to ERC20DetailedMock.sol (#1578) 2018-12-28 16:57:05 -03:00
be5ed7364b Release v2.1.0 solc 0.5.x (#1568)
* Now compiling in a separate directory using truffle 5.

* Ported to 0.5.1, now compiling using 0.5.1.

* test now also compiles using the truffle 5 hack.

* Downgraded to 0.5.0.

* Sorted scripts.

* Cleaned up the compile script a bit.
2018-12-20 12:26:43 -03:00
73cbad2f78 Updated PausableCrowdsale to require solc ^0.4.24 (#1567) 2018-12-19 14:19:18 -03:00
d17ae0b806 Signed SafeMath (#1559)
* signed safe math

* fix lint errors

* refactor overflow checks and add descriptions

* remove incorrect description

* add test for reversed arguments in multiplication test

* fix power operator

* improve multiplication test descriptions

* Update SafeMath.test.js

* add feature to changelog
2018-12-18 15:54:44 -03:00
8056433c44 Added PausableCrowdsale contract (#832)
* Added PausableCrowdsale contract

* Changed inheritance order to prevent "Linearization of inheritance graph impossible" error

* Updated mock PausableCrowdsaleImpl to new constructor syntax

* Broke function definition to multiple lines

Comply with new max line length

* Rename events to past-tense in PausableCrowdsale test

* Removed should.be.fullfilled from PausableCrowdsale tests

* Change import assertRevert to require in PausableCrowdsale tests

* Remove dependency on chai-as-promised and added BigNumber support in PausableCrowdsale tests

* reindent solidity with 4 spaces

* add missing view modifier in _preValidatePurchase

* convert assertRevert to new shoulFail helper

* add new setup helper

* use expectEvent

* convert to assert to chai should style

* add description to beforeEach blocks

* extract common step to beforeEach

* improve documentation

* revert inheritance error

* move PausableCrowdsale into crowdsale/validation

* make documentation more specific

* put whitespace in line with convention

* improve test suite account names

* undo beforeEach descriptions

* simplify tests

* fix transaction senders to be the anyone account

* make transaction senders more explicit

* remove mocha only
2018-12-14 12:35:38 -03:00
12533bcb2b ERC721 bugfix + gas optimizations (#1549)
* Now only swapping when needed.

* Removed _addTokenTo and _removeTokenFrom

* Removed removeTokenFrom test.

* Added tests for ERC721 _mint and _burn

* _burn now uses the same swap and pop mechanism as _removeFromOwner

* Gas optimization on burn
2018-12-12 18:51:43 -03:00
7142e25e78 Add back WhitelistedCrowdsale (#1525)
* Added WhitelisterRole.

* Added WhitelisteeRole and WhitelistedCrowdsale.

* Added WhitelistedCrowdsale tests.

* Whitelisters can now remove Whitelistees.

* PublicRole.behavior now supports a manager account, added Whitelistee tests.

* Rephrased tests, added test for whitelistees doing invalid purchases.

* Fixed linter error.

* Fixed typos

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

* Working around JS quirks

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

* Update PublicRole.behavior.js

* Renamed WhitelisteeRole to WhitelistedRole.

* Renamed WhitelistedCrowdsale to WhitelistCrowdsale.

* Now using the new test helper.

* Added basic documentation.
2018-12-12 14:46:07 -03:00
dd2e947976 Deprecated ERC721._burn(address, uint256) (#1550)
* Deprecated ERC721._burn(address, uint256)

* Added missing natspec comment.
2018-12-11 18:07:59 -03:00
357fded2b5 Refundable post delivery crowdsale (#1543)
* Fixed unnecessary dependency of RefundableCrowdsaleImpl on ERC20Mintable.

* Added PostDeliveryRefundableCrowdsale.

* Renamed to RefundablePostDeliveryCrowdsale.

* Added deprecation warning.
2018-12-11 18:07:24 -03:00
5caecf548c getter added for an array of tokens held by an owner (#1522)
* signing prefix added

* Minor improvement

* Tests changed

* Successfully tested

* Minor improvements

* Minor improvements

* Revert "Dangling commas are now required. (#1359)"

This reverts commit a6889776f4.

* updates

* fixes #1404

* approve failing test

* suggested changes done

* ISafeERC20 removed

* conflict fixes

* fixes #1512

* Update test/token/ERC721/ERC721Full.test.js

Co-Authored-By: Aniket-Engg <30843294+Aniket-Engg@users.noreply.github.com>
2018-12-05 17:45:27 -03:00
c0bda4db88 Updated sendTransaction, added tests. (#1528)
* Renamed sendTransaction to send, improved API.

* Added send tests.

* Now using promisified web3
2018-12-01 02:47:32 -03:00
9faebb5365 Added makeInterfaceId tests. (#1530) 2018-11-29 23:10:03 -03:00
c2de8ffd14 Now testing events in constructors! (#1511)
* Added inTransaction tests.

* Added expectEvent.inConstructor.

* Changed inTransaction, removed decodeLogs.

* Flipped comparison to improve the error message.

* Improved expectEvent tests.

* Migrated tests to use expectEvent.

* Added roles constructor tests.

* Fixed linter errors.

* Made lodash a dev dependency.

* Added more inLogs tests.

* Update expectEvent.test.js

* Removed lodash.

* Moved role constructor tests to public role behavior.

* Revert "Flipped comparison to improve the error message."

This reverts commit 438c57833d.

* Replaced chai-as-promised with shouldFail.
2018-11-27 17:56:26 -03:00
f0e12d5301 ether and shouldFail tests (#1513)
* Added ether tests.

* Added shouldFail base function and tests.

* Updated test descriptions.

* Reduced gas limit on out-of-gas tests.
2018-11-27 17:20:21 -03:00
5471fc808a Updated code style to 4 space indentation and 120 characters per line. (#1508)
* Updated code style to 4 spaces and 120 max characters per line.

* Update contracts/token/ERC721/ERC721Pausable.sol

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

* Update contracts/token/ERC721/IERC721.sol

Co-Authored-By: nventuro <nicolas.venturo@gmail.com>
2018-11-22 16:53:30 -03:00
d9fdffe88e Internal crowdsales (#1439)
* Made some internal crowdsale methods internal.

* Made all Crowdsale constructors internal.
2018-10-18 16:35:57 -03:00
315f426f5c Improved SafeERC20 allowance handling (#1407)
* signing prefix added

* Minor improvement

* Tests changed

* Successfully tested

* Minor improvements

* Minor improvements

* Revert "Dangling commas are now required. (#1359)"

This reverts commit a6889776f4.

* updates

* fixes #1404

* approve failing test

* suggested changes done

* ISafeERC20 removed

* allowance methods in library

* Improved SafeERC20 tests.

* Fixed test coverage.
2018-10-18 12:25:03 -03:00
0231fac514 Added leading underscore to internal functions, renamed supportsInterfaces. (#1435) 2018-10-18 10:49:01 -03:00
96d6103e0b Made some inherit-only contracts internal. (#1433)
* Made some inherit-only contracts internal.

* Added OwnableMock.
2018-10-18 10:47:35 -03:00
f3df2dab3d Moved Escrows into an escrow subdirectory, improved docs. (#1430)
* Moved Escrows into an escrow subdirectory, improved docs.

* Fixed escrow mock.

* Fixed some more imports.
2018-10-17 17:22:25 -03:00
9be0f100c4 Removed BreakInvariantBounty. (#1424) 2018-10-16 17:21:24 -03:00
d75ba16223 ERC721 contracts no longer initialize their parents (but have some safety checks). 2018-10-15 13:41:51 -03:00
03dfb2965c Improve encapsulation on ERC165 and update code style guide (#1379)
* use prefix underscore for internal state variables

* make _supportedInterfaces private
2018-10-12 19:13:35 -03:00
9f822906b8 First test helpers tests (#1369)
* Removed unused advanceToBlock.

* Added advanceBlock tests.

* Fixed advanceToBlock tests.

* Added single argument tests.

* Finished inLogs tests.

* Fixed linter errors.

* Fixed linter errors.
2018-10-10 20:55:10 -03:00
7bdefbeb9a Removed BreakInvariantBounty. 2018-10-08 12:51:11 -03:00
f7e53d90fa Add Arrays library with unit tests (#1209) (#1375)
*     Add Arrays library with unit tests (#1209)

    * prepared due to snapshot token requirements
    * add library with method to find upper bound
    * add unit test for basic and edge cases

* Imporove documentation for Arrays library

Simplify Arrays.test.js to use short arrays as test date

* Added comment for uint256 mid variable.
* Explaned why uint256 mid variable calculated as Math.average is safe to use as index of array.
2018-10-08 11:01:33 -03:00
b17de011dc Removed old, unused mocks. (#1382) 2018-10-05 19:18:59 -06:00