Commit Graph

927 Commits

Author SHA1 Message Date
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
ab13379653 Improve encapsulation on TimedCrowdsale (#1281)
* Improve encapsulation on ERC165

* Improve encapsulation on ERC20

* Improve encapsulation on ERC721

* Add tests, use standard getters

* fix tests

* Fix lint

* move interface ids to implementation contracts

* Do not prefix getters

* Improve encapsulation on Crowdsales

* add missing tests

* remove only

* Improve encapsulation on Pausable

* add the underscore

* Improve encapsulation on ownership

* fix rebase

* fix ownership

* Improve encapsulation on payments

* Add missing tests

* add missing test

* Do not prefix getters

* Do not prefix getters

* Fix tests.

* Update modifiers to call public view functions.

Fixes #1179.

* remove isMinter

* fix is owner call

* fix isOpen

* Fix merge

* Improve encapsulation on TimedCrowdsale

* Add missing parentheses

* remove duplicate function definition
2018-09-06 15:06:28 -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
b8a70f0e55 Improve encapsulation on Crowdsales (#1268)
* Improve encapsulation on Crowdsales

* add missing tests

* remove only

* Do not prefix getters
2018-09-05 18:34:21 -03:00
7bb87237f3 Improve encapsulation on ERCs (#1270)
* Improve encapsulation on ERC165

* Improve encapsulation on ERC20

* Improve encapsulation on ERC721

* Add tests, use standard getters

* fix tests

* Fix lint

* move interface ids to implementation contracts

* Do not prefix getters
2018-09-05 17:37:29 -03:00
45c0c072d1 Improve encapsulation on lifecycle, ownership and payments (#1269)
* Improve encapsulation on Pausable

* add the underscore

* Improve encapsulation on ownership

* fix rebase

* fix ownership

* Improve encapsulation on payments

* Add missing tests

* add missing test

* Do not prefix getters

* Fix tests.

* revert pending owner reset

* add missing underscore

* Add missing underscore
2018-09-05 16:11:29 -03:00
4eb4d7114d Allow non-beneficiaries to trigger release of their funds (#1275)
* add address argument to PullPayments#withdrawPayments

* add argument to SplitPayment#claim

* add address argument to PostDeliveryCrowdsale#withdrawTokens

* add address argument to RefundableCrowdsale#claimRefund

* rename SplitPayment#claim to SplitPayment#release
2018-09-05 12:01:27 -03:00
2aa5dd26be Improve encapsulation on BreakInvariantBounty (#1267)
* Improve encapsulation on BreakInvariantBounty

* Make researchers private

* Do not prefix getters
2018-09-05 11:24:26 -03:00
0dc711732a Remove Claimable, DelayedClaimable, Heritable (#1274)
* remove Claimable, DelayedClaimable, Heritable

* remove SimpleSavingsWallet example which used Heritable
2018-09-05 11:17:18 -03:00
00abd3aadc Rename proposals directory to drafts and move some contracts there (#1271)
* rename proposals directory to drafts directory

* move TokenVesting and SignatureBouncer to drafts/

* rename BouncerMock.sol to SignatureBouncerMock.sol
2018-09-04 20:37:07 -06:00
f4eb51a7e9 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
2018-09-03 19:06:43 -03:00
b0f20d43df 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
2018-09-03 18:08:25 -03:00
fbfd1fed45 Functions in interfaces changed to "external" (#1263) 2018-09-03 17:28:38 -03:00
bd994a88de 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
2018-09-03 17:27:16 -03:00
2441fd7d17 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
2018-09-03 10:53:28 -03:00
964bc4044a Remove underscores from event parameters. (#1258)
* Remove underscores from event parameters.

Fixes #1175

* Add comment about ERC
2018-09-03 10:47:22 -03:00
4385fd5a23 added explicit visibility (#1261) 2018-08-31 19:13:39 -06:00
2e0713becb 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
2018-08-31 16:13:07 -03:00
b6943263d2 Added "_" sufix to internal variables (#1171) 2018-08-29 08:59:18 -06:00
1c0532455a Rename events to past-tense (#1181) 2018-08-28 20:14:06 -06:00
a9f910d34f 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.
2018-08-24 19:23:11 -03:00
9e6307f34b 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
2018-08-24 07:02:54 -03:00
2adb491637 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
2018-08-22 12:07:53 -07:00
7618b91d9c Fix balance and allowance checks in _burn and _burnFrom (#1218)
* fix off by one error in _burn and _burnFrom

* add tests for off-by-one error

* change amount used
2018-08-17 19:18:05 -03:00
4dcdd293e8 StandardToken encapsulation (#1197)
* make StandardToken state variables private

* simplify mocks

* document new internal functions

* fix link to ERC20 document

* revert order of Transfer and Mint events

* Revert "simplify mocks"

This reverts commit 371fe3e567.

* add tests for new internal functions

* add check for null account

* add checks for balances and allowance

* add inline docs to BurnableToken._burn

* remove redundant checks and clarify why
2018-08-16 13:03:40 -03:00
8d11dcc0e5 Increase testing coverage (#1195)
* Added non-target bounty test

* Increased ERC721 testing coverage.

* Addressed review comments.

* fix linter error

* Fixed linter error

* Removed unnecessary bouncer require

* Improved Crowdsale tests.

* Added missing SuperUser test.

* Improved payment tests.

* Improved token tests.

* Fixed ERC721 test.

* Reviewed phrasing.
2018-08-14 19:37:30 -03:00
d51e38758e Math.average (#1170)
* Added Math.average

* Removed assertion.
2018-08-13 20:07:18 -03:00
9aa30e1960 Add Modulo operation for getting the quotient (#915)
* Add Modulo operation for getting the quotient

* Improved modulo tests and implementation.

* Removed assertion.
2018-08-13 17:40:48 -03:00
41e6b2e992 Make ERC721.exists internal (#1193)
* Made ERC721.exists internal.

* Removed exists ERC165 identifiers
2018-08-13 16:07:27 -03:00
66c1968913 Changed SplitPayment require to assert. (#1188) 2018-08-12 15:34:37 -03:00
a2e7103869 Improved SafeMath inline comments. 2018-08-10 17:34:34 -03:00
c9e91586e7 feat: use require in SafeMath (#1187)
* feat: use require in SafeMath

* fix: grammar with revert
2018-08-10 15:41:06 -03:00
e819416d04 SafeMath is now more consistent with itself. (#1168) 2018-08-08 11:21:23 -03:00
17309e5924 Change uint to uint256 (#1160)
This is a minor change, aligning to the same convention used in the other contracts.
2018-08-07 15:05:56 -03:00
94797978bb SplitPayment now requires payees. (#1131)
* SplitPayment now requires payees.

* Improved test phrasing.
2018-08-06 16:21:34 -03:00
31ac59b224 reentrancy mutex gas optimization (#1155)
* reentrancy mutex gas optimization

* 1) uint => uint256 2) ++ to += 1
2018-08-06 15:22:08 -03:00
bf34911857 Remove Math.min64 and Math.max64 (#1156)
* remove Math.min64 and Math.max64

* refactor Math tests to use return values

* enhance Math coverage
2018-08-06 15:18:19 -03:00
ef347ffccc Consolidated ERC20 Interface and Implementation Files (#1125)
* Consolidted ERC20 Interface and Implementation Files

* Fixed CanReclaimToken's tests to use StandardTokenMock instead of BasicTokenMock

* Changed token's variable type in TokenTimelock to ERC20

* Merged the StandardBurnableToken with BurnableToken since it now inherits from StandardToken; Fixed TokenTimelock so it uses SafeERC20 for ERC20

* Fixed variable type for _token in TokenTimelock constructor

* Fixed linting warning in BurnableToken

* Added back burnFrom tests.
2018-08-02 23:12:31 -03:00
3d86c58d2c Crowdsale inheritance order (#1128)
* Changed Crowdsale inheritance order.

* Changed FinalizableCrowdsale inheritance order.
2018-08-02 17:57:17 -03:00
f49721576f Remove abbreviations from parameters (#1142)
* Add an initial document for our code style

* Remove abbreviations from parameters

* Rename the param in AddressUtils

* fix comment
2018-08-02 16:38:54 -03:00
ca9e317259 Update Truffle and Solium (#1105)
* fixed visibility warnings

* solved visibility and line length warning

* change a test assertion that fails due to chai dependence update

* linter, constructor style and solved visibility warnings

* Changed Windows line endings to Unix.
2018-08-01 10:11:37 -03:00
9638ecd87a Typo fix. 2018-08-01 08:31:05 -03:00
56735a706c Use address(this) instead of this (#1134)
* Use address(this) instead of this

It's preferred to use `address(this)` vs `this`

* Change to address(this) vs this
2018-07-31 13:36:38 -03:00
2765350248 Prefix all parameters with underscore (#1133) 2018-07-31 13:06:53 -03:00
1200969eb6 Refactor/reentrancy guard gas optimization #1056 (#1057)
* optimizing ReentrancyGuard gas usage

* style fixed
2018-07-27 22:36:17 -03:00
90b98a7bef Add pure to tokenFallback function (#1122)
Silences warning
2018-07-27 22:25:39 -03:00
16429b1522 Making visibility explicit for storage variables (#759)
* Making visibility explicit for storage variables

* Made BasicToken's variables internal.
2018-07-27 17:50:33 -03:00
4c6575bf2f fix: solium linting errors (#1113)
* fix: solium linting errors, fixes #1092

* fix: remove uppercase requirement
2018-07-26 23:53:24 -03:00
e6c15b34da Remove chai-as-promised (#1116)
* Test: Remove chai-as-promised calls

* Test/Helpers: expectThrow accepts optional message

* NPM: Remove chai-as-promised

* Contracts/DestructibleMock: Fix lint
2018-07-26 11:53:33 -03:00