ERC721Consecutive: Fixed a bug when _mintConsecutive is used for batches of size 1 that could lead to balance overflow. Refer to the breaking changes section in the changelog for a note on the behavior of ERC721._beforeTokenTransfer.
Breaking changes
ERC721: The internal function _beforeTokenTransfer no longer updates balances, which it previously did when batchSize was greater than 1. This change has no consequence unless a custom ERC721 extension is explicitly invoking _beforeTokenTransfer. Balance updates in extensions must now be done explicitly using __unsafe_increaseBalance, with a name that indicates that there is an invariant that has to be manually verified.
v4.8.1
ERC4626: Use staticcall instead of call when fetching underlying ERC-20 decimals. (#3943)
v4.8.0
Note
Don't miss the section on Breaking changes at the end.
TimelockController: Added a new admin constructor parameter that is assigned the admin role instead of the deployer account. (#3722)
Initializable: add internal functions _getInitializedVersion and _isInitializing (#3598)
ERC165Checker: add supportsERC165InterfaceUnchecked for consulting individual interfaces without the full ERC165 protocol. (#3339)
Address: optimize functionCall by calling functionCallWithValue directly. (#3468)
Address: optimize functionCall functions by checking contract size only if there is no returned data. (#3469)
Governor: make the relay function payable, and add support for EOA payments. (#3730)
GovernorCompatibilityBravo: remove unused using statements. (#3506)
ERC20: optimize _transfer, _mint and _burn by using unchecked arithmetic when possible. (#3513)
ERC20Votes, ERC721Votes: optimize getPastVotes for looking up recent checkpoints. (#3673)
ERC20FlashMint: add an internal _flashFee function for overriding. (#3551)
ERC4626: use the same decimals() as the underlying asset by default (if available). (#3639)
ERC4626: add internal _initialConvertToShares and _initialConvertToAssets functions to customize empty vaults behavior. (#3639)
ERC721: optimize transfers by making approval clearing implicit instead of emitting an event. (#3481)
ERC721: optimize burn by making approval clearing implicit instead of emitting an event. (#3538)
ERC721: Fix balance accounting when a custom _beforeTokenTransfer hook results in a transfer of the token under consideration. (#3611)
ERC721: use unchecked arithmetic for balance updates. (#3524)
ERC721Consecutive: Implementation of EIP-2309 that allows batch minting of ERC721 tokens during construction. (#3311)
ReentrancyGuard: Reduce code size impact of the modifier by using internal functions. (#3515)
SafeCast: optimize downcasting of signed integers. (#3565)
ECDSA: Remove redundant check on the v value. (#3591)
Create2: optimize address computation by using assembly instead of abi.encodePacked. (#3600)
Clones: optimized the assembly to use only the scratch space during deployments, and optimized predictDeterministicAddress to use fewer operations. (#3640)
Checkpoints: Use procedural generation to support multiple key/value lengths. (#3589)
ERC721Consecutive: Fixed a bug when _mintConsecutive is used for batches of size 1 that could lead to balance overflow. Refer to the breaking changes section in the changelog for a note on the behavior of ERC721._beforeTokenTransfer.
Breaking changes
ERC721: The internal function _beforeTokenTransfer no longer updates balances, which it previously did when batchSize was greater than 1. This change has no consequence unless a custom ERC721 extension is explicitly invoking _beforeTokenTransfer. Balance updates in extensions must now be done explicitly using __unsafe_increaseBalance, with a name that indicates that there is an invariant that has to be manually verified.
4.8.1 (2023-01-12)
ERC4626: Use staticcall instead of call when fetching underlying ERC-20 decimals. (#3943)
4.8.0 (2022-11-08)
TimelockController: Added a new admin constructor parameter that is assigned the admin role instead of the deployer account. (#3722)
Initializable: add internal functions _getInitializedVersion and _isInitializing (#3598)
ERC165Checker: add supportsERC165InterfaceUnchecked for consulting individual interfaces without the full ERC165 protocol. (#3339)
Address: optimize functionCall by calling functionCallWithValue directly. (#3468)
Address: optimize functionCall functions by checking contract size only if there is no returned data. (#3469)
Governor: make the relay function payable, and add support for EOA payments. (#3730)
GovernorCompatibilityBravo: remove unused using statements. (#3506)
ERC20: optimize _transfer, _mint and _burn by using unchecked arithmetic when possible. (#3513)
ERC20Votes, ERC721Votes: optimize getPastVotes for looking up recent checkpoints. (#3673)
ERC20FlashMint: add an internal _flashFee function for overriding. (#3551)
ERC4626: use the same decimals() as the underlying asset by default (if available). (#3639)
ERC4626: add internal _initialConvertToShares and _initialConvertToAssets functions to customize empty vaults behavior. (#3639)
ERC721: optimize transfers by making approval clearing implicit instead of emitting an event. (#3481)
ERC721: optimize burn by making approval clearing implicit instead of emitting an event. (#3538)
ERC721: Fix balance accounting when a custom _beforeTokenTransfer hook results in a transfer of the token under consideration. (#3611)
ERC721: use unchecked arithmetic for balance updates. (#3524)
ERC721Consecutive: Implementation of EIP-2309 that allows batch minting of ERC721 tokens during construction. (#3311)
ReentrancyGuard: Reduce code size impact of the modifier by using internal functions. (#3515)
SafeCast: optimize downcasting of signed integers. (#3565)
ECDSA: Remove redundant check on the v value. (#3591)
Create2: optimize address computation by using assembly instead of abi.encodePacked. (#3600)
Clones: optimized the assembly to use only the scratch space during deployments, and optimized predictDeterministicAddress to use fewer operations. (#3640)
Checkpoints: Use procedural generation to support multiple key/value lengths. (#3589)
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/fairDataSociety/fdp-contracts/network/alerts).
> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps @openzeppelin/contracts from 4.6.0 to 4.8.2.
Release notes
Sourced from
@openzeppelin/contracts
's releases.... (truncated)
Changelog
Sourced from
@openzeppelin/contracts
's changelog.... (truncated)
Commits
d00acef
4.8.2ab9cc4c
Ignore reentrancy inexecuteBatch
and update Slither config (#3955)43aa7ff
Updateforge-std
submodule tov1.2.0
(#3885)167bf67
Fix ERC721Consecutive balance update on batch size 182d47ca
Add Subgraphs to docs sidebar357022c
Update Tally screenshots (#4030)9b610d3
Add warning forsupportsERC165InterfaceUnchecked
edge case (#4017)c018c9c
Remove outdated note about virtual view functions (#4014)d13316e
AddERC*Pausable
warning for public pausing mechanism (#4007)3ab2e11
Show if event parameter is indexed in docs (#3958)You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/fairDataSociety/fdp-contracts/network/alerts).