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)
Arbitrum: Update the vendored arbitrum contracts to match the nitro upgrade. (#3692)
Breaking changes
ERC721: In order to add support for batch minting via ERC721Consecutive it was necessary to make a minor breaking change in the internal interface of ERC721. Namely, the hooks _beforeTokenTransfer and _afterTokenTransfer have one additional argument that may need to be added to overrides:
function _beforeTokenTransfer(
address from,
address to,
uint256 tokenId,
</tr></table>
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)
Arbitrum: Update the vendored arbitrum contracts to match the nitro upgrade. (#3692)
Breaking changes
ERC721: In order to add support for batch minting via ERC721Consecutive it was necessary to make a minor breaking change in the internal interface of ERC721. Namely, the hooks _beforeTokenTransfer and _afterTokenTransfer have one additional argument that may need to be added to overrides:
function _beforeTokenTransfer(
address from,
address to,
uint256 tokenId,
+ uint256 batchSize
</tr></table>
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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)
Bumps @openzeppelin/contracts from 3.2.0 to 4.8.1.
Release notes
Sourced from
@openzeppelin/contracts
's releases.... (truncated)
Changelog
Sourced from
@openzeppelin/contracts
's changelog.... (truncated)
Commits
0457042
4.8.11dfccff
Add docs on non-stability of internal function use (#3952)472b996
Add explicit permissions to docs workflowcd50a86
Use a staticcall to fetch ERC20.decimals in ERC4626 (#3943)873a01b
Fix governance tutorial contract (#3948)011a0fb
Add documentation about the security of overrides (#3725)4e5b119
Improve documentation of Initializable getters (#3861)3e97221
Add ERC-4626 Upgrade Note (#3849)fad1172
Add Ownable2Step to the docs (#3836)53eb531
Improve some NatSpec (#3809)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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)