Commit Graph

726 Commits

Author SHA1 Message Date
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
2da19eebd3 Update Arrays.sol to require solc 0.4.24. (#1553) 2018-12-12 17:38:26 -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
70e616db7c Optimized ERC721 transfers. (#1539)
* Added _transferToken.

* _transferFrom is now usable by derived contracts, abstracted away enumerable behavior.

* Removed unnecesary check from _clearApprovals
2018-12-11 12:51:26 -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
7ef2730506 Approval events on transferFrom and burnFrom (#1524)
* transferFrom now emits an Approval event, indicating the updated allowance.

* Updated burnFrom to also emit Approval.

* Added notices about the extra Approval events.
2018-11-29 12:06:47 -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
bb6a24e6aa Renamed roles private variables to adhere to code style. (#1507) 2018-11-20 16:03:22 -03:00
83bc045a56 Remove extraneous quantity check, fixes #1454 (#1455) 2018-11-02 07:16:35 -03:00
6363a776f7 Remove redundant require statements (#1409)
* Remove redundant require statements

Now that SafeMath uses require, the require statements are redundant. They were also previously inconsistent because they were only included in some functions, but not others

* Update ERC20.sol
2018-11-02 07:14:06 -03:00
32bc7a6fe5 add an address typecast to this per issue #1457 (#1471) 2018-11-02 06:56:50 -03:00
1186520617 add improvement in simpletoken example #1458 (#1473)
* add improvement in simpletoken example #1458

* fix not calling decimals get function in initial supply
2018-11-01 16:16:21 -03:00
4f356e35a9 The beneficiary parameter of claimRefund is replaced with refundee (#1481)
* 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 #1456
2018-11-01 15:38:54 -03:00
79eb94d3cd fix ERC20.sol#L174 and ERC20.sol#L187 should be casted to an address type. (#1470) 2018-11-01 15:27:51 -03:00
18552a8d5f Fix/add comment erc721 burnable #1464 (#1469)
* fix Add a comment to ERC721Enumerable #1465

* fix Add comments to ERC721Burnable #1464
2018-11-01 15:15:04 -03:00
80458ebc72 Add warning about trading tokens before refundable crowdsale goal is met (#1452)
This attack was reported in https://github.com/OpenZeppelin/openzeppelin-solidity/issues/877
2018-10-19 17:35:04 -06:00
6d415c508b Crowdsale.buyTokens is now nonReentrant. (#1438) 2018-10-19 14:42:20 -06:00
a936cbf5fb InitialRate must be strictly larger than finalRate. (#1441) 2018-10-19 12:37:24 -06:00
1ac1ac984e Fixed how allowance crowdsale checks remaining tokens. (#1449) 2018-10-19 12:12:16 -06:00
8204f6a71f Improved some ERC721 internal shenanigans (#1450)
* Made _clearApproval private, added clarifying comments in _addTokenTo and _removeTokenFrom.

* Added approval information.
2018-10-18 19:07:34 -03:00
bbe804a14b Deleted unnecessary import. (#1437)
* Deleted unnecessary import.

* Added back SafeMath.

* Removed another unnecessary import.
2018-10-18 18:43:44 -03:00
28cf567e41 Made SampleCrowdsale a bit clearer. (#1448) 2018-10-18 18:43:12 -03:00
5bb865218f Now setting the finalized flag before doing finalization to prevent possbile reentrancy issues. (#1447) 2018-10-18 18:42:57 -03:00
94692acb14 Crowdsale docs improvements. (#1446)
* Added a small Crowdsale fallback gas warning.

* Fixed a couple typos.
2018-10-18 16:57:16 -03:00
384dff9abe Renamed internal ERC721 check function. (#1445) 2018-10-18 16:56:58 -03:00
5bf3907862 Made tokenURI external, as per the spec. (#1444) 2018-10-18 16:49:46 -03:00
c8220aeea8 ERC20Capped now capps _all_ minting, even internal calls. (#1443) 2018-10-18 16:49:31 -03:00
9155bfe27f IncPriceCrowdsale consistently returns 0 outside of the crowdsale window. (#1442) 2018-10-18 16:36:27 -03:00
1c5f16ae26 Closing time must be strictly after opening time. (#1440) 2018-10-18 16:36:11 -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
67dac7ae99 TokenVesting improvements (#1431)
* Improved TokenVesting events.

* Added extra checks to TokenVesting.

* Renamed the events.

* Fixed linter error.

* Fixed a test that failed to cover a require.

* Renamed TokensRevoked to TokenVestingRevoked.
2018-10-18 11:27:46 -03:00
a07499796a SplitPayment improvements (#1417)
* Renamed file, added events and set _addPayee to private

* unwanted file

* adjusted test

* adjusted test

* PaymentReceived event added

* Added event testing.

* Fix static tests
2018-10-18 11:26:54 -03:00
fcab9c89f2 Added address of pauser/unpauser in events (#1410)
* Added address of pauser/unpauser in events

* Added the account to the Pausable tests.
2018-10-18 11:26:39 -03:00
cbe414864f Events added to Secondary (#1425)
* Update contracts/ownership/Secondary.sol

* Update Secondary.sol

* Update Secondary.test.js

* Update Secondary.test.js

* Update Secondary.sol
2018-10-18 11:00:33 -03:00
0231fac514 Added leading underscore to internal functions, renamed supportsInterfaces. (#1435) 2018-10-18 10:49:01 -03:00
ff0c048ad9 Added replay attack notice to SignatureBouncer. (#1434) 2018-10-18 10:47:55 -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
df3c113711 Made some TokenVesting public functions private. (#1427)
* Made some TokenVesting public functions private.

* Fixed linter error.
2018-10-17 18:18:41 -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
cfef58361f Removed default value assignments. (#1432) 2018-10-17 17:00:12 -03:00
2733cb4a41 Now using hex for asm memory addresses. (#1429) 2018-10-17 16:58:36 -03:00