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)
.
- 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 unnecessarySafeMath
calls.- Fixed variable shadowing issues.
TokenMetadata
(in drafts) has been renamed toERC20Metadata
.
- Removed most of the test suite from the npm package, except
PublicRole.behavior.js
, which may be useful to users testing their ownRoles
.
- Version bump to avoid conflict in the npm registry.
- 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
:transferFrom
and_burnFrom
now emitApproval
events, 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)
- The compiler version required by
Array
was 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 redundantrequire
s. (#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
,_mint
and_burn
, due to redudantrequire
s andSSTORE
s. (#1549)