Commit Graph

414 Commits

Author SHA1 Message Date
26f9cc8e74 Moved some test files around to better reflect the directory layout. (#1428)
(cherry picked from commit d8ab8a00f2)
2018-10-20 22:03:46 +00:00
1b79b536cd Roles.add and remove now require pre-conditions on the account. (#1421)
(cherry picked from commit 3bd30f7382)
2018-10-20 22:01:22 +00:00
e990525c2e RefundEscrow's events renamed (#1418)
* fixes #1414

(cherry picked from commit 844a96d0b9)
2018-10-20 22:00:49 +00:00
10a5864fdf 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.

(cherry picked from commit 9f822906b8)
2018-10-20 21:59:32 +00:00
7cd0d5a452 Replaced assertJump, assertRevert and expectThrow with shouldFail. (#1363)
* Replaced assertJump, assertRevert and expectThrow with shouldFail.

* Fixed linter errors.

* Fixed typo.

* Made the helpers async.

(cherry picked from commit b0da0fded0)
2018-10-20 21:54:50 +00:00
eae40c93b6 this is used in tests (#1380)
* 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 #1200

* suggested change

(cherry picked from commit b41b125c15)
2018-10-20 21:35:26 +00:00
13fb1f662a Fixed test path.
(cherry picked from commit f4d6f40442)
2018-10-20 21:31:48 +00:00
2f3f0d3c8a Created test utils directory
(cherry picked from commit 269981ee6a)
2018-10-20 21:31:34 +00:00
0678f67289 Merged latestTime, increaseTime and duration into a time helper. (#1364)
(cherry picked from commit 34bc709bc2)
2018-10-20 21:31:21 +00:00
b03932529c Fix/#1355 test helper to check balance difference (#1368)
* signing prefix added

* Minor improvement

* Tests changed

* Successfully tested

* Minor improvements

* Minor improvements

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

This reverts commit a6889776f4.

* fixex #1355

* linting

* suggested changes

* Update BreakInvariantBounty.test.js

(cherry picked from commit 6ae041bca6)
2018-10-20 21:30:15 +00:00
c25a1e366f Fix #1358 Test helper to send funds (#1367)
* signing prefix added

* Minor improvement

* Tests changed

* Successfully tested

* Minor improvements

* Minor improvements

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

This reverts commit a6889776f4.

* fixes #1358

* linting done

* suggested changes

(cherry picked from commit fa1dfbd113)
2018-10-20 21:29:21 +00:00
598a0358fc Dangling commas are now required. (#1359)
(cherry picked from commit a6889776f4)
2018-10-20 21:23:12 +00:00
39db4b4b05 Feature/use expect event in test logs assertions #1232 (#1343)
* Add BigNumber support to expectEvent/inLogs (#1026)

* switched direct logs array check to expectEvent method in AllowanceCrowdsale.test.js

* Refactor expectEvent.inLogs function to use simple value number check

* Introduced should.be.bignumber method to compare BigNumber values

* Use expectEvent to test logs (#1232)

* Removed trailing space

(cherry picked from commit 536262f2ec)
2018-10-20 21:22:54 +00:00
a9af619c59 Add BigNumber support to expectEvent/inLogs (#1026) (#1338)
* Add BigNumber support to expectEvent/inLogs (#1026)

* switched direct logs array check to expectEvent method in AllowanceCrowdsale.test.js

* Refactor expectEvent.inLogs function to use simple value number check

* Introduced should.be.bignumber method to compare BigNumber values

* Destructure transaction object to extract logs field

(cherry picked from commit 947de54cee)
2018-10-20 21:22:05 +00:00
62ed8e2fe4 Removed BreakInvariantBounty. (#1424)
(cherry picked from commit 9be0f100c4)
2018-10-20 21:20:57 +00:00
49d2dd9e08 Add Mock suffix to variable names #1172 (#1324)
* Add Mock suffix to variable names #1172

* Add Impl suffix to variable names

(cherry picked from commit 4b21fcf5af)
2018-10-20 20:59:51 +00:00
a3bb56769e Remove lodash from tests (#1323)
(cherry picked from commit d062352de7)
2018-10-20 20:59:13 +00:00
f8b0cec15b Add unit test specific to Address utils (#1251) (#1316)
(cherry picked from commit 7825caa1fd)
2018-10-20 20:57:15 +00:00
9f5b73df37 added a test helper with common constants (#1400)
* 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 #1206

(cherry picked from commit 58a42443df)
2018-10-18 19:05:17 -03:00
a811a0be28 Improves Ownable events (#1397)
* 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 #1392

* event tests added

* constructor event added

(cherry picked from commit af42c39e6c)
2018-10-18 19:03:56 -03:00
8d6250cd5a 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.

(cherry picked from commit f7e53d90fa)
2018-10-18 19:02:50 -03:00
66bad4ff2a Removed selfdestruct from BreakInvariantBounty (#1385)
* 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 #1384

* introduced claimable and cancelBounty

* cancelBounty tests

* Update BreakInvariantBounty.test.js

(cherry picked from commit 41f84f8b40)
2018-10-18 19:02:42 -03:00
7c984968d8 Prevents Bounty from being claimed twice (#1374)
* 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 #1356

* Removed extra semicolon.

(cherry picked from commit c87433e0c2)
2018-10-04 11:12:45 -03:00
bd8345a153 Separate ERC721Mintable (#1365)
* separate part of ERC721Mintable into ERC721MetadataMintable

* remove mint and burn from 721 tests

* Fixed linter error.

* fix ERC721 mint tests

* Minor fixes.

(cherry picked from commit 744f567f40)
2018-10-04 11:12:05 -03:00
76169cda40 Fixed a broken payment test (+ another small fix) (#1318)
* Fixed a broken payment test

* In PR template, npm run lint:fix, not lint:all:fix

* In SplitPayment test, replaced an await-in-loop with Promise.all

(cherry picked from commit b79196f911)
2018-09-28 11:36:06 -03:00
08bf6bbed9 Add missing tests to ECSDA (#1248)
* fix: refactor sign.js and related tests

* fix: remove unused dep

* fix: update package.json correctly

* Add missing tests to ECRecovery

* fix lint

* Reorganize the tests

* Reuse signature

* fix static errors

* Apply suggestions by @frangion and @nventuro

* Remove only

* More suggestions

* Remove unnecessary max-len

* remove only

(cherry picked from commit 75c0a59bb4)
2018-09-28 11:28:46 -03:00
8c394de450 Add SignatureBouncer test for when msg.data is too short (#1360)
* add test for msg.data too short

* fix test to hit that branch

* Update SignatureBouncer.test.js

(cherry picked from commit 1a4e5346ed)
2018-09-28 09:38:48 -03:00
fa5ecd03cb Improved bounty tests. (#1350)
* Improved bounty tests.

* Fixed linter errors.

* Addressed review comments.

(cherry picked from commit ae109f69cc)
2018-09-26 16:37:31 -03:00
1b0c6b94b9 Removed mintingFinished. (#1351)
* Removed mintingFinished from ERC20Mintable.

* Removed MintingFinished from ERC721Mintable.

* Removed MintingFinished event.

(cherry picked from commit 5fdeaa81d5)
2018-09-26 16:06:27 -03:00
c9e8a66e85 Add the missing test for ERC721Holder (#1249)
* Add the missing test for ERC721Holder

* fix lint

* Move the holder test to a separate file

(cherry picked from commit 396680b856)
2018-09-26 12:15:08 -03:00
e7c99dd7dd Roles now emit events in construction and when renouncing. (#1329)
* release candidate v2.0.0-rc.1

* fix linter error

(cherry picked from commit c12a1c6898)

* Roles now emit events in construction and when renouncing.

(cherry picked from commit 21198bf1c1)
2018-09-26 12:14:34 -03:00
fa739d8af0 Move BreakInvariantBounty to drafts (#1334)
* move BreakInvariantBounty to drafts

* fix bad imports
2018-09-18 18:05:47 -03:00
6c36bc71a7 Changes to Counter (#1332)
* rename Index.currentId to current

* use += operator for clarity

* rename Counter.Index to Counter.Counter

* move Counter to drafts

(cherry picked from commit 3e55408cb5)
2018-09-18 17:44:57 -03:00
658af64edd Rename AutoIncrementing to Counter (#1307)
(cherry picked from commit b4f87bb8fc)
2018-09-18 17:44:43 -03:00
ed84f3fcf3 fix linter error
(cherry picked from commit c12a1c6898)
2018-09-17 11:49:13 -03:00
904b41ec79 Improve README (#1309)
* add logo

* new readme

* add large logo

* improve readme

* Update README.md

* add link to guides

* remove leftover sentence
2018-09-07 14:33:38 -03:00
92133be7ea Add ERC20 opt-in migration contract (#1054)
* Extract standard token behaviuor to reuse it in other tests

* Add opt in ERC20 migration contract

* Make migration contract not to depend from standard token

* Changes based on feedback

* Improve MigratableERC20 inline documentation

* move behaviors to behaviors directory

* refactor MigratableERC20 into ERC20Migrator

* fix errors

* change expectEvent to support multiple events with same name

* fix tests

* update documentation

* rename MigratableERC20 files to ERC20Migrator

* move to drafts

* test beginMigration

* rename to ERC20Migrator

* missing semicolon  (╯°□°)╯︵ ┻━┻

* add non-zero check

* improve documentation based on review comments

* improve test descriptions

* improve docs

* add getters

* fix contract

* improve tests
2018-09-07 14:13:23 -03:00
4b33eaefa2 Improved ERC721 granularity (#1304)
* Split enumerable and metadata implementations.

* Renamed ERC721Basic to ERC721, and ERC721 to ERC721Full.

* Fixed linter errors.
2018-09-07 14:04:42 -03:00
bafdcf0701 Remove CanReclaimToken (#1306) 2018-09-07 14:01:37 -03:00
6cae0f458d Role library now requires non-zero addresses. (#1303)
* The role library now requires non-zero addresses.

* Fixed SignatureBouncer checks with null address.

* change ternary operator for or operator

* adapt to new variable name convention

* Update Roles.sol
2018-09-07 13:32:12 -03:00
fa49e5189d Remove Minted and TokensBurned events (#1305)
* Remove the Minted event

* Remove the TokensBurned event

* Remove unused
2018-09-07 13:31:23 -03:00
254210f699 Improve role behavior tests (#1300)
* The public role behavior now also tests the modifer.

* Fixed linter error.
2018-09-07 11:11:27 -03:00
951460696e Added events to the role contracts. (#1302)
* Added events to the role contracts.

* Fixed linter error.
2018-09-07 10:04:52 -03:00
84e63bbf8b Fix decrease allowance and add non-zero address precondition to approve (#1293)
* rename {increase,decrease}Approval to {increase,decrease}Allowance

* add non-zero spender check to approve and {increase,decrease}Allowance

* Updated tests to reflect the new behavior.

* fix wrong test description

* fix old function names

* Fixed linter error.

* Fixed typo.
2018-09-07 10:01:31 -03:00
f12817e446 RBAC and Ownable migration towards Roles (#1291)
* Role tests (#1228)

* Moved RBAC tests to access.

* Added Roles.addMany and tests.

* Fixed linter error.

* Now using uint256 indexes.

* Removed RBAC tokens (#1229)

* Deleted RBACCappedTokenMock.

* Removed RBACMintableToken.

* Removed RBACMintableToken from the MintedCrowdsale tests.

* Roles can now be transfered. (#1235)

* Roles can now be transfered.

* Now explicitly checking support for the null address.

* Now rejecting transfer to a role-haver.

* Added renounce, roles can no longer be transfered to 0.

* Fixed linter errors.

* Fixed a Roles test.

* True Ownership (#1247)

* Added barebones Secondary.

* Added transferPrimary

* Escrow is now Secondary instead of Ownable.

* Now reverting on transfers to 0.

* The Secondary's primary is now private.

* MintableToken using Roles (#1236)

* Minor test style improvements (#1219)

* Changed .eq to .equal

* Changed equal(bool) to .to.be.bool

* Changed be.bool to equal(bool), disallowed unused expressions.

* Add ERC165Query library (#1086)

* Add ERC165Query library

* Address PR Comments

* Add tests and mocks from #1024 and refactor code slightly

* Fix javascript and solidity linting errors

* Split supportsInterface into three methods as discussed in #1086

* Change InterfaceId_ERC165 comment to match style in the rest of the repo

* Fix max-len lint issue on ERC165Checker.sol

* Conditionally ignore the asserts during solidity-coverage test

* Switch to abi.encodeWithSelector and add test for account addresses

* Switch to supportsInterfaces API as suggested by @frangio

* Adding ERC165InterfacesSupported.sol

* Fix style issues

* Add test for supportsInterfaces returning false

* Add ERC165Checker.sol newline

* feat: fix coverage implementation

* fix: solidity linting error

* fix: revert to using boolean tests instead of require statements

* fix: make supportsERC165Interface private again

* rename SupportsInterfaceWithLookupMock to avoid name clashing

* Added mint and burn tests for zero amounts. (#1230)

* Changed .eq to .equal. (#1231)

* ERC721 pausable token (#1154)

* ERC721 pausable token

* Reuse of ERC721 Basic behavior for Pausable, split view checks in paused state & style fixes

* [~] paused token behavior

* Add some detail to releasing steps (#1190)

* add note about pulling upstream changes to release branch

* add comment about upstream changes in merging section

* Increase test coverage (#1237)

* Fixed a SplitPayment test

* Deleted unnecessary function.

* Improved PostDeliveryCrowdsale tests.

* Improved RefundableCrowdsale tests.

* Improved MintedCrowdsale tests.

* Improved IncreasingPriceCrowdsale tests.

* Fixed a CappedCrowdsale test.

* Improved TimedCrowdsale tests.

* Improved descriptions of added tests.

*  ci: trigger docs update on tag  (#1186)

* MintableToken now uses Roles.

* Fixed FinalizableCrowdsale test.

* Roles can now be transfered.

* Fixed tests related to MintableToken.

* Removed Roles.check.

* Renamed transferMintPermission.

* Moved MinterRole

* Fixed RBAC.

* Adressed review comments.

* Addressed review comments

* Fixed linter errors.

* Added Events tests of Pausable contract (#1207)

* Fixed roles tests.

* Rename events to past-tense (#1181)

* fix: refactor sign.js and related tests (#1243)

* fix: refactor sign.js and related tests

* fix: remove unused dep

* fix: update package.json correctly

* Added "_" sufix to internal variables (#1171)

* Added PublicRole test.

* Fixed crowdsale tests.

* Rename ERC interfaces to I prefix (#1252)

* rename ERC20 to IERC20

* move ERC20.sol to IERC20.sol

* rename StandardToken to ERC20

* rename StandardTokenMock to ERC20Mock

* move StandardToken.sol to ERC20.sol, likewise test and mock files

* rename MintableToken to ERC20Mintable

* move MintableToken.sol to ERC20Mintable.sol, likewise test and mock files

* rename BurnableToken to ERC20Burnable

* move BurnableToken.sol to ERC20Burnable.sol, likewise for related files

* rename CappedToken to ERC20Capped

* move CappedToken.sol to ERC20Capped.sol, likewise for related files

* rename PausableToken to ERC20Pausable

* move PausableToken.sol to ERC20Pausable.sol, likewise for related files

* rename DetailedERC20 to ERC20Detailed

* move DetailedERC20.sol to ERC20Detailed.sol, likewise for related files

* rename ERC721 to IERC721, and likewise for other related interfaces

* move ERC721.sol to IERC721.sol, likewise for other 721 interfaces

* rename ERC721Token to ERC721

* move ERC721Token.sol to ERC721.sol, likewise for related files

* rename ERC721BasicToken to ERC721Basic

* move ERC721BasicToken.sol to ERC721Basic.sol, likewise for related files

* rename ERC721PausableToken to ERC721Pausable

* move ERC721PausableToken.sol to ERC721Pausable.sol

* rename ERC165 to IERC165

* move ERC165.sol to IERC165.sol

* amend comment that ERC20 is based on FirstBlood

* fix comments mentioning IERC721Receiver

* added explicit visibility (#1261)

* Remove underscores from event parameters. (#1258)

* Remove underscores from event parameters.

Fixes #1175

* Add comment about ERC

* Move contracts to subdirectories (#1253)

* Move contracts to subdirectories

Fixes #1177.

This Change also removes the LimitBalance contract.

* fix import

* move MerkleProof to cryptography

* Fix import

* Remove HasNoEther, HasNoTokens, HasNoContracts, and NoOwner (#1254)

* remove HasNoEther, HasNoTokens, HasNoContracts, and NoOwner

* remove unused ERC223TokenMock

* remove Contactable

* remove TokenDestructible

* remove DeprecatedERC721

* inline Destructible#destroy in Bounty

* remove Destructible

* Functions in interfaces changed to "external" (#1263)

* Add a leading underscore to internal and private functions. (#1257)

* Add a leading underscore to internal and private functions.

Fixes #1176

* Remove super

* update the ERC721 changes

* add missing underscore after merge

* Fix mock

* Improve encapsulation on SignatureBouncer, Whitelist and RBAC example (#1265)

* Improve encapsulation on Whitelist

* remove only

* update whitelisted crowdsale test

* Improve encapsulation on SignatureBouncer

* fix missing test

* Improve encapsulation on RBAC example

* Improve encapsulation on RBAC example

* Remove extra visibility

* Improve encapsulation on ERC20 Mintable

* Improve encapsulation on Superuser

* fix lint

* add missing constant

* Addressed review comments.

* Fixed build error.

* Improved Roles API. (#1280)

* Improved Roles API.

* fix linter error

* Added PauserRole. (#1283)

* Remove Claimable, DelayedClaimable, Heritable (#1274)

* remove Claimable, DelayedClaimable, Heritable

* remove SimpleSavingsWallet example which used Heritable

(cherry picked from commit 0dc711732a)

* Role behavior tests (#1285)

* Added role tests.

* Added PauserRole tests to contracts that have that role.

* Added MinterRole tests to contracts that have that role.

* Fixed linter errors.

* Migrate Ownable to Roles (#1287)

* Added CapperRole.

* RefundEscrow is now Secondary.

* FinalizableCrowdsale is no longer Ownable.

* Removed Whitelist and WhitelistedCrowdsale, redesign needed.

* Fixed linter errors, disabled lbrace due to it being buggy.

* Remove RBAC, SignatureBouncer refactor (#1289)

* Added CapperRole.

* RefundEscrow is now Secondary.

* FinalizableCrowdsale is no longer Ownable.

* Removed Whitelist and WhitelistedCrowdsale, redesign needed.

* Fixed linter errors, disabled lbrace due to it being buggy.

* Moved SignatureBouncer tests.

* Deleted RBAC and Superuser.

* Deleted rbac directory.

* Updated readme.

* SignatureBouncer now uses SignerRole, renamed bouncer to signer.

* feat: implement ERC721Mintable and ERC721Burnable (#1276)

* feat: implement ERC721Mintable and ERC721Burnable

* fix: linting errors

* fix: remove unused mintable mock for ERC721BasicMock

* fix: add finishMinting tests

* fix: catch MintFinished typo

* inline ERC721Full behavior

* undo pretty formatting

* fix lint errors

* rename canMint to onlyBeforeMintingFinished for consistency with ERC20Mintable

* Fix the merge with the privatization branch

* remove duplicate CapperRole test
2018-09-07 07:16:51 -03:00
bf95602404 Simplify IndividuallyCappedCrowdsale interface (#1296)
* remove concept of User and remove setGroupCap

* fix linting error

* remove mention of users from comments
2018-09-07 00:40:12 -03:00
df1fab540e rename MerkleProof.verifyProof to MerkleProof.verify (#1294) 2018-09-06 21:48:04 -03:00
a7ee54e199 getApproved require the given token ID exist (#1256)
* getApproved require the given token ID exist

* missing commit from merge

* clarify the test descriptions
2018-09-06 19:43:48 -03:00
661e5d86dc Rename SupportsInterfaceWithLookup to ERC165 (#1288)
* rename SupportsInterfaceWithLookup to ERC165

* rename SupportsInterfaceWithLookup files to ERC165
2018-09-06 19:37:14 -03:00
616124e37c Update modifiers to call public view functions (#1277)
* Update modifiers to call public view functions.

Fixes #1179.

* remove isMinter

* fix is owner call

* fix isOpen

* Remove unnecessary solium disable
2018-09-06 11:38:29 -03:00