* ✏️ 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
4.5 KiB
4.5 KiB
Changelog
2.2.0 (unreleased)
New features:
ERC20: added internal_approve(address owner, address spender, uint256 value), allowing derived contracts to set the allowance of arbitrary accounts.ERC20Metadata: added internal_setTokenURI(string memory tokenURI).ERC20Snapshot: create snapshots on demand of the token balances and total supply, to later retrieve and e.g. calculate dividends at a past time.
Improvements:
- Upgraded the minimum compiler version to v0.5.2: this removes many Solidity warnings that were false positives.
Counter's API has been improved, and is now used byERC721(though it is still indrafts).ERC721's transfers are now more gas efficient due to removal of unnecessarySafeMathcalls.- Fixed variable shadowing issues.
Bugfixes:
Breaking changes:
TokenMetadata(in drafts) has been renamed toERC20Metadata.
2.1.2 (2019-17-01)
- Removed most of the test suite from the npm package, except
PublicRole.behavior.js, which may be useful to users testing their ownRoles.
2.1.1 (2019-04-01)
- Version bump to avoid conflict in the npm registry.
2.1.0 (2019-04-01)
New features:
- Now targeting the 0.5.x line of Solidity compilers. For 0.4.24 support, use version 2.0 of OpenZeppelin.
WhitelistCrowdsale: a crowdsale where only whitelisted accounts (WhitelistedRole) can purchase tokens. Adding or removing accounts from the whitelist is done by whitelist admins (WhitelistAdminRole). Similar to the pre-2.0WhitelistedCrowdsale. (#1525, #1589)RefundablePostDeliveryCrowdsale: replacement forRefundableCrowdsale(deprecated, see below) where tokens are only granted once the crowdsale ends (if it meets its goal). (#1543)PausableCrowdsale: allows for pausers (PauserRole) to pause token purchases. Other crowdsale operations (e.g. withdrawals and refunds, if applicable) are not affected. (#832)ERC20:transferFromand_burnFromnow emitApprovalevents, to represent the token's state comprehensively through events. (#1524)ERC721: added_burn(uint256 tokenId), replacing the similar deprecated function (see below). (#1550)ERC721: added_tokensOfOwner(address owner), allowing to internally retrieve the array of an account's owned tokens. (#1522)- Crowdsales: all constructors are now
public, meaning it is not necessary to extend these contracts in order to deploy them. The exception isFinalizableCrowdsale, since it is meaningless unless extended. (#1564) SignedSafeMath: added overflow-safe operations for signed integers (int256). (#1559, #1588)
Improvements:
- The compiler version required by
Arraywas behind the rest of the libray so it was updated tov0.4.24. (#1553) - Now conforming to a 4-space indentation code style. (1508)
ERC20: more gas efficient due to removed redundantrequires. (#1409)ERC721: fixed a bug that prevented internal data structures from being properly cleaned, missing potential gas refunds. (#1539 and #1549)ERC721: general gas savings ontransferFrom,_mintand_burn, due to redudantrequires andSSTOREs. (#1549)