- Include debug artifacts in git repository and npm package.
- Solidity reason string length checks down from 32 to 31 characters.
- Added a
prepack
script. - Improved the cleaning scripts.
- Add missing usage of the
import-artifacts
plugin in the default plugins loading sequence.
- Added a
README
file for the HardHat plugins.
- Migrated from
@openzeppelin/test-environment
tohardhat
.
hardhat
plugins for workflow customisation.- Support for
evm_snapshot
-based test fixtures through the functioncreateFixtureLoader
. - Support for custom events arg names through the functions
expectEventWithParamsOverride
andexpectEventInTransactionWithParamsOverride
. Pausable
behavior.
- Reason strings optimisation for some
require()
in contracts. - Removed the zero address check in
PauserRole
andMinterRole
.
- Added tests for
Startable.sol
. Startable.sol
: Allrequire()
validations have appropriate error messages set.
- Added
Startable.sol
contract module for adding 'started' state management to derived contracts.
- Added tests for
PayoutWalet.sol
.
- Contracts compiler version fixed at solidity 0.6.8.
shouldSupportInterfaces
is no more exposed at module level but inside thebehaviors
object instead.- Updated mocha dependency from version 7 to version 8.
behaviors
andfixtures
object are now exposed at module level.- Added fixtures for wei-based BN comparison with precision tolerance.
- Added a
verify
and apublish
scripts.
shouldSupportInterfaces
now works onthis.contract
object.
- Updated compiler to
solc:0.6.8
. - Refactored the type conversion libraries following the logic of one contract per function and moved them to
utils/types
. - Applied naming convention where missing: name must starting with
_
forprivate
andinternal
variables and functions only. - Removed
BitsLayoutDecoder
.
MinterRole.sol
public functions will revert if supplied a zero-address target.addMinter()
will revert if the target has already been granted the minter role.renounceMinter()
will revert if the caller was not previously granted the minter role.PauserRole.sol
public functions will revert if supplied a zero-address target.addMinter()
will revert if the target has already been granted the pauser role.renounceMinter()
will revert if the caller was not previously granted the pauser role.- Reworked implementation of the
uint256
tostring
conversions in.
- Fixed an issue with the
uint256.inject()
function where the bitmask clearing step wasn't properly clearing the bits.
- Added
RichString.sol
,RichBytes32.sol
,BitsMask.sol
,UInt256Bits.sol
andBitsLayoutDecoder.sol
(missing tests). - Added
EnumMap.sol
andEnumSet.sol
which are based onopenzeppelin
'sEnumerableMap
andEnumerableSet
. It is exposing the corebytes32
-based structure without specialisation. The importer contract is responsible for any types casting.
- Migration to
solc:0.6.x
. - Migration to
@openzeppelin/contracts:3.x
.
- Added
MinterRole.sol
andPauserRole.sol
for retro-compatibility with existing contracts. - Added
WhitelistedOperators.sol
. - Added
PayoutWallet.sol
.
constants.js
has been moved tosrc/constants.js
. The module now exposes the objectconstants
.
- Added
RichUin256.sol
solidity library. - Added
SupportsInterface.behavior.js
. - Added
interfaces/ERC165/
.
- Fixed value of
EmptyByte
which made some tests fail
- Exported constants are now also classified through a parent object related to the type. For example
BN.Five
, orBytes32.Zero
. The previous exports are still available.
- Initial commit. Add dependencies, config files and constants.