Nicolás Venturo
5dfe7215a9
Migrate Contracts to Solidity v0.6 ( #2080 )
...
* Initial migration to Solidity 0.6.x - v3.0 first steps (#2063 )
* Initial migration, missing GSN, 721, 777 and Crowdsales.
* Add _beforeTokenOperation and _afterTokenOperation.
* Add documentation for hooks.
* Add hooks doc
* Add missing drafts
* Add back ERC721 with hooks
* Bring back ERC777
* Notes on hooks
* Bring back GSN
* Make functions virtual
* Make GSN overrides explicit
* Fix ERC20Pausable tests
* Remove virtual from some view functions
* Update linter
* Delete examples
* Remove unnecessary virtual
* Remove roles from Pausable
* Remove roles
* Remove users of roles
* Adapt ERC20 tests
* Fix ERC721 tests
* Add all ERC721 hooks
* Add ERC777 hooks
* Fix remaining tests
* Bump compiler version
* Move 721BurnableMock into mocks directory
* Remove _before hooks
* Fix tests
* Upgrade linter
* Put modifiers last
* Remove _beforeTokenApproval and _beforeOperatorApproval hooks
5 years ago
Nicolás Venturo
5f92adc2e7
Migrate from truffle to test-environment ( #2007 )
...
* Sketch
* Migrate all tests to test-env
* Finish migration to test-env
* Add config
* Work on GSN tests
* Migrate to newer test-env version and loader syntax
* Add GSN setup
* Finish test-env migration
* Setup coverage using test-env
* Migrate to npm package
* Fix package.json
* Add compile step to CI
* Add comment on coverage setup
* Remove dependency on @truffle/contract
* Fix package-lock merge
* Fix linter errors
* Upgrade test-environment, depend locally on ganche-coverage
* Improve coverage script
* Improve sign.js API
* Move accounts destructuring to describe block
* Switch to prebuilt ethereumjs-vm package
* Upgrade test-enviroment version
* use workspace in circleci config
* remove unnecessary npx
5 years ago
Nicolás Venturo
3274d9db00
Upgrade to @openzeppelin/test-helpers@0.5.1 ( #1942 )
5 years ago
Nicolás Venturo
226c6bd8f1
Remove SignatureBouncer from drafts ( #1879 )
...
* Remove SignatureBouncer
* Update changelog entry
* Fix coverage
* Update CHANGELOG.md
6 years ago
Yohann Pereira
489d2e85f1
Replace chai.should with chai.expect ( #1780 )
...
* changed exxpect to expect wherever applicable
* Merged with latest branch
* Updated merkleTree helper to latest master branch
* Made linting fixes
* Fix for test build
* updated for Coverage
* Updated Address.test.js
* Undo package-lock changes.
6 years ago
Andrew B Coathup
fbbff53528
Strings library ( #1746 )
...
* Feature Issue #1745
* Feature Issue #1745 remove whitespace in contract
* Feature Issue #1745 fix Solidity linter issues
* Feature Issue #1745 fix JS lint issues
* Update contracts/drafts/Strings.sol
Co-Authored-By: Nicolás Venturo <nicolas.venturo@gmail.com>
* Update contracts/drafts/Strings.sol
Co-Authored-By: Nicolás Venturo <nicolas.venturo@gmail.com>
* Update contracts/drafts/Strings.sol
Co-Authored-By: Nicolás Venturo <nicolas.venturo@gmail.com>
* Updates based on PR feedback
* Remove trailing whitespace
* Update tests based on @nventuro feedback
* Removed return name
* Rename length as suggested
* Rename temp variables in uint256ToString
* Renamed bytes variable to buffer
* Change concatenate to use abi.encodePacked
* Moved OraclizeAPI reference to unit256ToString
* Add emoji concat test
* Remove concatenate
* Remove concatenate from StringsMock and test
* Rename function to fromUint256
* Update StringsMock.sol
6 years ago
Nicolás Venturo
a71c3bce32
Update test-helpers to v0.4.0. ( #1770 )
6 years ago
Nicolás Venturo
64d6fefc11
Move ERC1820 and ERC777 tests out of drafts.
6 years ago
Nicolás Venturo
6c2b7c260d
Add ERC20 compatibility to ERC777. ( #1735 )
...
* Add ERC20 compatibility.
* Reusing ERC20 tests for ERC777.
* Improve documentation.
* Add changelog entry.
* Improved ERC20 behavior tests.
* Add revert reasons to ERC777.
* ERC20 methods allow sending tokens to contracts with no interface.
* Register ERC20 interface.
* Add comment about avoidLockingTokens.
* Improve revert reason string.
* Make ERC777 implement IERC20.
* Fix test revert string.
* Remove unnecesary require.
* Add private _transfer.
* Update contracts/drafts/ERC777/ERC777.sol
Co-Authored-By: nventuro <nicolas.venturo@gmail.com>
* Update private helper names.
(cherry picked from commit aa4c9feabd
)
6 years ago
Nicolás Venturo
835c23d6f7
Hardcode ERC777 granularity to 1, remove tests. ( #1739 )
...
* Hardcode ERC777 granularity to 1, remove tests.
* Add clarifying title comment.
(cherry picked from commit 376820d55c
)
6 years ago
Nicolás Venturo
aa4c9feabd
Add ERC20 compatibility to ERC777. ( #1735 )
...
* Add ERC20 compatibility.
* Reusing ERC20 tests for ERC777.
* Improve documentation.
* Add changelog entry.
* Improved ERC20 behavior tests.
* Add revert reasons to ERC777.
* ERC20 methods allow sending tokens to contracts with no interface.
* Register ERC20 interface.
* Add comment about avoidLockingTokens.
* Improve revert reason string.
* Make ERC777 implement IERC20.
* Fix test revert string.
* Remove unnecesary require.
* Add private _transfer.
* Update contracts/drafts/ERC777/ERC777.sol
Co-Authored-By: nventuro <nicolas.venturo@gmail.com>
* Update private helper names.
6 years ago
Nicolás Venturo
376820d55c
Hardcode ERC777 granularity to 1, remove tests. ( #1739 )
...
* Hardcode ERC777 granularity to 1, remove tests.
* Add clarifying title comment.
6 years ago
Balaji Pachai
3682c6575c
Added message string for require() ( #1704 )
...
* Error handling in ERC20 and ERC721
* Added message string for require.
* Fixed solhint errors.
* Updated PR as per issue #1709
* changes as per #1709 and openzeppelin forum.
* Changes in require statement
* Changes in require statement
* build pipeline fix
* Changes as per @nventuro's comment.
* Update revert reason strings.
* Fianal update of revert reason strings.
* WIP: Updating reason strings in test cases
* WIP: Added changes to ERC20 and ERC721
* Fixes linting errors in *.tes.js files
* Achieved 100% code coverage
* Updated the test cases with shouldFail.reverting.withMessage()
* Fix package-lock.
* address review comments
* fix linter issues
* fix remaining revert reasons
6 years ago
Bertrand Masius
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.
6 years ago
ckshei
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
6 years ago
Nicolás Venturo
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.
6 years ago
nikeshnazareth
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.
6 years ago
nikeshnazareth
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.
6 years ago
Matt Swezey
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
6 years ago
Nicolás Venturo
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.
6 years ago
Nicolás Venturo
f80c65ff67
Improve SafeMath test coverage. ( #1611 )
...
* Improve SafeMath test coverage.
* Fix linter error.
* Split testCommutative into something more sane.
6 years ago
Nicolás Venturo
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.
6 years ago
Nicolás Venturo
96432bf28e
Renamed test/behavior to test/behaviors.
6 years ago
Nicolás Venturo
6a658f2ac8
Move PublicRole.behavior to behavior directory.
6 years ago
Nicolás Venturo
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.
6 years ago
Nicolás Venturo
3e82db2f6f
Migration to truffle 5 (and web3 1.0 (and BN)) ( #1601 )
...
* Now compiling using truffle 5.
* Migrated some test files, missing BN scientific notation usage.
* Now using BN time values.
* Migrate ERC20 tests.
* Migrate all ERC20 tests.
* Migrate utils, payment and ownership tests.
* All tests save ERC721 migrated.
* Migrated ERC721 tests.
* Fix lint errors.
* Delete old test helpers.
* Fix remaining crowdsale tests.
* Fix signature bouncer tests.
* Update how constants is used.
* Compile script pre-removes the build dir.
* Fix SafeMath tests.
* Revert "Compile script pre-removes the build dir."
This reverts commit 247e745113
.
* Fix linter errors.
* Upgrade openzeppelin-test-helpers dependency.
* Update openzeppelin-test-helpers dependency.
* Define math constants globally.
* Remove unnecessary ether unit.
* Roll back reduced ether amounts in tests.
* Remove unnecessary toNumber conversions.
* Delete compile script.
* Fixed failing test.
6 years ago
Francisco Giordano
a5b14f262e
Separate unsigned and signed safemath libraries ( #1588 )
...
* separate unsigned and signed safemath libraries
* update changelog entry for SignedSafeMath
6 years ago
Aniket
70fd243e3b
Test setup helper added ( #1482 )
...
* 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 #1205
* minor change
* suggested changes
* reviewed changes
* final update
6 years ago
Nicolás Venturo
4115686b4f
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.
(cherry picked from commit 67dac7ae99
)
6 years ago
Nicolás Venturo
3b34436b44
Made some TokenVesting public functions private. ( #1427 )
...
* Made some TokenVesting public functions private.
* Fixed linter error.
(cherry picked from commit df3c113711
)
6 years ago
Nicolás Venturo
26f9cc8e74
Moved some test files around to better reflect the directory layout. ( #1428 )
...
(cherry picked from commit d8ab8a00f2
)
6 years ago
Nicolás Venturo
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
)
6 years ago
Nicolás Venturo
62ed8e2fe4
Removed BreakInvariantBounty. ( #1424 )
...
(cherry picked from commit 9be0f100c4
)
6 years ago
Martín
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
)
6 years ago
Aniket
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
)
6 years ago
Aniket
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
)
6 years ago
Nicolás Venturo
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.
6 years ago
Nicolás Venturo
df3c113711
Made some TokenVesting public functions private. ( #1427 )
...
* Made some TokenVesting public functions private.
* Fixed linter error.
6 years ago
Nicolás Venturo
d8ab8a00f2
Moved some test files around to better reflect the directory layout. ( #1428 )
6 years ago
Nicolás Venturo
b0da0fded0
Replaced assertJump, assertRevert and expectThrow with shouldFail. ( #1363 )
...
* Replaced assertJump, assertRevert and expectThrow with shouldFail.
* Fixed linter errors.
* Fixed typo.
* Made the helpers async.
6 years ago
Aniket
58a42443df
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
6 years ago
Aniket
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
)
6 years ago
Francisco Giordano
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
)
6 years ago
Francisco Giordano
1a4e5346ed
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
6 years ago
Nicolás Venturo
fa5ecd03cb
Improved bounty tests. ( #1350 )
...
* Improved bounty tests.
* Fixed linter errors.
* Addressed review comments.
(cherry picked from commit ae109f69cc
)
6 years ago
Francisco Giordano
fa739d8af0
Move BreakInvariantBounty to drafts ( #1334 )
...
* move BreakInvariantBounty to drafts
* fix bad imports
6 years ago
Francisco Giordano
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
)
6 years ago
Francisco Giordano
3e55408cb5
Changes to Counter ( #1332 )
...
* rename Index.currentId to current
* use += operator for clarity
* rename Counter.Index to Counter.Counter
* move Counter to drafts
6 years ago
Martín
4b21fcf5af
Add Mock suffix to variable names #1172 ( #1324 )
...
* Add Mock suffix to variable names #1172
* Add Impl suffix to variable names
6 years ago
Facundo Spagnuolo
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
7 years ago