v4.1.0
What's Changed
- Minor transfer optimization by @Vectorized in #295
- Delete unnecessary space character by @0xdagarn in #305
- Minor optimization tests by @Vectorized in #316
- Remove check for
owner == to
in approve by @Vectorized in #320 - Remove code duplication in
_safeMint
by @Vectorized in #318 - Use 'ownerOf' function within approve. by @laplace-daemon in #333
- Small gas optimization for burn/transfers/mint by @kadenzipfel in #334
- Add a generic interface for ownership storage hitchhiking by @cxkoda in #323
- Add ERC-2309 support for mints during contract creation by @Vectorized in #311
- Zero out tokenApprovals using assembly by @cygaar in #335
- Some minor optimizations and refactors by @Vectorized in #337
- Minor tidy up by @Vectorized in #339
- Add function to directly set extra data by @Vectorized in #336
- Add stricter timestamp tests by @Vectorized in #341
- Update to v4.1.0 by @cygaar in #342
Bug Fixes
- Fix
startTimestamp
for burned tokens being larger than their correct values.
Castinguint256
toaddress
in Solidity does not necessarily set the upper 96 bits of the word to zero,
causing dirty old bits to overlap with the newer bits.
Addresses are now explicitly masked to clear the upper 96 bits when packed into auint256
.
New Contributors
- @0xdagarn made their first contribution in #305
- @caffeinum made their first contribution in #313
- @mirkopezo made their first contribution in #325
- @laplace-daemon made their first contribution in #333
- @kadenzipfel made their first contribution in #334
- @cxkoda made their first contribution in #323
- @jorrsh made their first contribution in #340
Full Changelog: v4.0.0...v4.1.0