fix(deps): update smart-contracts #14979
Open
+130
−265
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.0.8->3.1.01.0.12->1.1.02.0.14->2.1.15.0.2->5.4.05.0.2->5.4.03.4.0->3.9.11.39.0->1.44.19.22.0->9.38.06.13.5->6.15.011.2.0->11.3.22.22.19->2.26.32.2.3->2.3.03.1.0->3.4.03.3.3->3.6.25.0.5->5.2.0Release Notes
NomicFoundation/hardhat (@nomicfoundation/hardhat-ethers)
v3.1.0Compare Source
v3.0.9Compare Source
This release updates
ethersto include its new Pectra support.Changes
d77ecab: Update ethers to v6.14.0 with Pectra supportNomicFoundation/hardhat (@nomicfoundation/hardhat-network-helpers)
v1.1.0Compare Source
Minor Changes
14b3042: Updated the minimal supported version of Node to v20 (#6982)v1.0.13Compare Source
Patch Changes
538b03c: Accept0xas a valid value forsetCode, thanks @arr00 (#6844)NomicFoundation/hardhat (@nomicfoundation/hardhat-verify)
v2.1.1Compare Source
Patch Changes
11ee260: Don't useundici's global dispatcher, making Hardhat more stable across Node.js versionsv2.1.0Compare Source
Minor Changes
14b3042: Updated the minimal supported version of Node to v20 (#6982)OpenZeppelin/openzeppelin-contracts (@openzeppelin/contracts)
v5.4.0Compare Source
Breaking changes
SignatureChecker,Governorand Governor's extensions. (#5716).Pragma changes
Changes by category
Account
Account: Added a simple ERC-4337 account implementation with minimal logic to process user operations. (#5657)AccountERC7579: Extension ofAccountthat implements support for ERC-7579 modules of type executor, validator, and fallback handler. (#5657)AccountERC7579Hooked: Extension ofAccountERC7579that implements support for ERC-7579 hook modules. (#5657)EIP7702Utils: Add a library for checking if an address has an EIP-7702 delegation in place. (#5587)IERC7821,ERC7821: Interface and logic for minimal batch execution. No support for additionalopDatais included. (#5657)Governance
GovernorNoncesKeyed: Extension ofGovernorthat adds support for keyed nonces when voting by sig. (#5574)Tokens
ERC20Bridgeable: Implementation of ERC-7802 that makes an ERC-20 compatible with crosschain bridges. (#5739)Cryptography
Signers
AbstractSigner,SignerECDSA,SignerP256, andSignerRSA: Add an abstract contract and various implementations for contracts that deal with signature verification. (#5657)SignerERC7702: Implementation ofAbstractSignerfor Externally Owned Accounts (EOAs). Useful with ERC-7702. (#5657)SignerERC7913: Abstract signer that verifies signatures using the ERC-7913 workflow. (#5659)MultiSignerERC7913: Implementation ofAbstractSignerthat supports multiple ERC-7913 signers with a threshold-based signature verification system. (#5659)MultiSignerERC7913Weighted: Extension ofMultiSignerERC7913that supports assigning different weights to each signer, enabling more flexible governance schemes. (#5741)Verifiers
ERC7913P256VerifierandERC7913RSAVerifier: Ready to use ERC-7913 verifiers that implement key verification for P256 (secp256r1) and RSA keys. (#5659)Other
SignatureChecker: Add support for ERC-7913 signatures alongside existing ECDSA and ERC-1271 signature verification. (#5659)ERC7739: An abstract contract to validate signatures following the rehashing scheme fromERC7739Utils. (#5664)ERC7739Utils: Add a library that implements a defensive rehashing mechanism to prevent replayability of smart contract signatures based on the ERC-7739. (#5664)Structures
EnumerableMap: Add support forBytesToBytesMaptype. (#5658)EnumerableMap: Addkeys(uint256,uint256)that returns a subset (slice) of the keys in the map. (#5713)EnumerableSet: Add support forStringSetandBytesSettypes. (#5658)EnumerableSet: Addvalues(uint256,uint256)that returns a subset (slice) of the values in the set. (#5713)Utils
Arrays: AddunsafeAccess,unsafeMemoryAccessandunsafeSetLengthforbytes[]andstring[]. (#5568)Blockhash: Add a library that provides access to historical block hashes using EIP-2935's history storage, extending the standard 256-block limit to 8191 blocks. (#5642)Bytes: FixlastIndexOf(bytes,byte,uint256)with empty buffers and finite position to correctly returntype(uint256).maxinstead of accessing uninitialized memory sections. (#5797)v5.3.0Compare Source
Breaking Changes
GovernorCountingOverridable.VoteReceiptstruct parameter member nameshasOverridenandoverridenWeightforhasOverriddenandoverriddenWeightrespectively.Custom error changes
GovernorAlreadyOverridenVotewithGovernorAlreadyOverriddenVote.GovernorOnlyProposerwithGovernorUnableToCancel.Changes by category
Account
ERC4337Utils: Update thehashfunction to callgetUserOpHashon the specified entrypoint and add anENTRYPOINT_V08constant. (#5614)ERC7579Utils: Add ABI decoding checks on calldata bounds withindecodeBatch. (#5371)ERC7579Utils: Replaceaddress(0)withaddress(this)during execution for calldata compression efficiency. (#5614)Governance
IGovernor: Add thegetProposalIdfunction to the governor interface. (#5290)GovernorProposalGuardian: Add a governance extension that defines a proposal guardian who can cancel proposals at any stage in their lifecycle. (#5303)GovernorSequentialProposalId: Adds aGovernorextension that sequentially numbers proposal ids instead of using the hash. (#5290)GovernorSuperQuorum: Add a governance extension to support a super quorum. Proposals that meet the super quorum (and have a majority of for votes) advance to theSucceededstate before the proposal deadline. (#5526)GovernorVotesSuperQuorumFraction: Add a variant of theGovernorSuperQuorumextensions where the super quorum is expressed as a fraction of the total supply. (#5526)TimelockController: Receive function is now virtual. (#5509)Structures
EnumerableSet: Addclearfunction to EnumerableSets which deletes all values in the set. (#5486)EnumerableMap: Addclearfunction to EnumerableMaps which deletes all entries in the map. (#5486)MerkleTree: Add an update function that replaces a previously inserted leaf with a new value, updating the tree root along the way. (#5526)Tokens
ERC4626: Use theassetgetter intotalAssets,_depositand_withdraw. (#5322)IERC6909: Add the interface for ERC-6909. (#5343)ERC6909: Add a standard implementation of ERC6909. (#5394)ERC6909TokenSupply: Add an extension of ERC6909 which tracks total supply for each token id. (#5394)ERC6909Metadata: Add an extension of ERC6909 which adds metadata functionality. (#5394)ERC6909ContentURI: Add an extension of ERC6909 which adds content URI functionality. (#5394)SafeERC20: AddtrySafeTransferandtrySafeTransferFromthat do not revert and return false if the transfer is not successful. (#5483)Other
Address: bubble up revert data onsendValuefailed call. (#5379)Calldata: Library withemptyBytesandemptyStringfunctions to generate emptybytesandstringcalldata types. (#5422)ERC2771Forwarder: Expose the_isTrustedByTargetinternal function to check whether a target trusts the forwarder. (#5416)Hashes: ExposeefficientKeccak256for hashing non-commutative pairs of bytes32 without allocating extra memory. (#5442)Initializable: Add_initializableStorageSlotfunction that returns a pointer to the storage struct. The function allows customizing with a custom storage slot with anoverride. (#5526)Math: Addadd512,mul512andmulShr. (#5526)Math: Add saturating arithmetic operationssaturatingAdd,saturatingSubandsaturatingMul. (#5526)MessageHashUtils: AddtoDataWithIntendedValidatorHash(address, bytes32). (#5526)P256: Adjust precompile detection inverifyNativeto consider emptyreturndataon invalid verification. Previously, invalid signatures would've reverted with aMissingPrecompileerror in chains with RIP-7212 support. (#5620)Pausable: Stop explicitly settingpausedtofalseduring construction. (#5448)Strings: AddespaceJSONthat escapes special characters in JSON strings. (#5526)v5.2.0Compare Source
Breaking Changes
Custom error changes
This version comes with changes to the custom error identifiers. Contracts previously depending on the following errors should be replaced accordingly:
Errors.FailedCallwith a bubbled-up revert reason inAddress.sendValue.Changes by category
General
Account
ERC4337Utils: Add a reusable library to manipulate user operations and interact with ERC-4337 contracts (#5274)ERC7579Utils: Add a reusable library to interact with ERC-7579 modular accounts (#5274)Governance
GovernorCountingOverridable: Add a governor counting module that enables token holders to override the vote of their delegate. (#5192)VotesExtended: Create an extension ofVoteswhich checkpoints balances and delegates. (#5192)Proxy
Clones: AddcloneWithImmutableArgsandcloneDeterministicWithImmutableArgsvariants that create clones with per-instance immutable arguments. The immutable arguments can be retrieved usingfetchCloneArgs. The correspondingpredictDeterministicWithImmutableArgsfunction is also included. (#5109)Tokens
ERC1363Utils: Add helper similar to the existingERC721UtilsandERC1155Utils(#5133)Utils
Address: bubble up revert data onsendValuefailed call (#5418)Bytes: Add a library of common operations that operate onbytesobjects. (#5252)CAIP2andCAIP10: Add libraries for formatting and parsing CAIP-2 and CAIP-10 identifiers. (#5252)NoncesKeyed: Add a variant ofNoncesthat implements the ERC-4337 entrypoint nonce system. (#5272)Packing: Add variants for packingbytes10andbytes22(#5274)Strings: AddparseUint,parseInt,parseHexUintandparseAddressto parse strings into numbers and addresses. Also provide variants of these functions that parse substrings, andtryXxxvariants that do not revert on invalid input. (#5166)v5.1.0Compare Source
Breaking changes
ERC1967Utils: Removed duplicate declaration of theUpgraded,AdminChangedandBeaconUpgradedevents. These events are still available through theIERC1967interface located under thecontracts/interfaces/directory. Minimum pragma version is now 0.8.21.Governor,GovernorCountingSimple: The_countVotevirtual function now returns anuint256with the total votes cast. This change allows for more flexibility for partial and fractional voting. Upgrading users may get a compilation error that can be fixed by adding a return statement to the_countVotefunction.Custom error changes
This version comes with changes to the custom error identifiers. Contracts previously depending on the following errors should be replaced accordingly:
Address.FailedInnerCallwithErrors.FailedCallAddress.AddressInsufficientBalancewithErrors.InsufficientBalanceClones.Create2InsufficientBalancewithErrors.InsufficientBalanceClones.ERC1167FailedCreateClonewithErrors.FailedDeploymentClones.Create2FailedDeploymentwithErrors.FailedDeploymentSafeERC20: ReplaceAddress.AddressEmptyCodewithSafeERC20FailedOperationif there is no code at the token's address.SafeERC20: Replace genericError(string)withSafeERC20FailedOperationif the returned data can't be decoded asbool.SafeERC20: Replace genericSafeERC20FailedOperationwith the revert message from the contract call if it fails.Changes by category
General
AccessManager,VestingWallet,TimelockControllerandERC2771Forwarder: Added a publicinitializerfunction in their corresponding upgradeable variants. (#5008)Access
AccessControlEnumerable: Add agetRoleMembersmethod to return all accounts that haverole. (#4546)AccessManager: Allow theonlyAuthorizedmodifier to restrict functions added to the manager. (#5014)Finance
VestingWalletCliff: Add an extension of theVestingWalletcontract with an added cliff. (#4870)Governance
GovernorCountingFractional: Add a governor counting module that allows distributing voting power amongst 3 options (For, Against, Abstain). (#5045)Votes: Set_moveDelegateVotesvisibility to internal instead of private. (#5007)Proxy
Clones: Add version ofcloneandcloneDeterministicthat support sending value at creation. (#4936)TransparentUpgradeableProxy: Make internal_proxyAdmin()getter haveviewvisibility. (#4688)ProxyAdmin: Fixed documentation forUPGRADE_INTERFACE_VERSIONgetter. (#5031)Tokens
ERC1363: Add implementation of the token payable standard allowing execution of contract code after transfers and approvals. (#4631)ERC20TemporaryApproval: Add an ERC-20 extension that implements temporary approval using transient storage, based on ERC7674 (draft). (#5071)SafeERC20: Add "relaxed" function for interacting with ERC-1363 functions in a way that is compatible with EOAs. (#4631)SafeERC20: Document risks ofsafeIncreaseAllowanceandsafeDecreaseAllowancewhen associated with ERC-7674. (#5262)ERC721UtilsandERC1155Utils: Add reusable libraries with functions to perform acceptance checks onIERC721ReceiverandIERC1155Receiverimplementers. (#4845)ERC1363Utils: Add helper similar to the existing ERC721Utils and ERC1155Utils. (#5133)Utils
Arrays: add asortfunctions foraddress[],bytes32[]anduint256[]memory arrays. (#4846)Arrays: add new functionslowerBound,upperBound,lowerBoundMemoryandupperBoundMemoryfor lookups in sorted arrays with potential duplicates. (#4842)Arrays: deprecatefindUpperBoundin favor of the newlowerBound. (#4842)Base64: AddencodeURLfollowing section 5 of RFC4648 for URL encoding (#4822)Comparator: A library of comparator functions, useful for customizing the behavior of the Heap structure. (#5084)Create2: Bubbles up returndata from a deployed contract that reverted during construction. (#5052)Create2,Clones: MaskcomputeAddressandcloneDeterministicoutputs to produce a clean value for anaddresstype (i.e. only use 20 bytes) (#4941)Errors: New library of common custom errors. (#4936)Hashes: A library with commonly used hash functions. (#3617)Packing: Added a new utility for packing, extracting and replacing bytesXX values. (#4992)Panic: Add a library for reverting with panic codes. (#3298)ReentrancyGuardTransient: Added a variant ofReentrancyGuardthat uses transient storage. (#4988)Strings: Added a utility function for converting an address to checksummed string. (#5067)SlotDerivation: Add a library of methods for derivating common storage slots. (#4975)TransientSlot: Add primitives for operating on the transient storage space using a typed-slot representation. (#4980)Cryptography
SignatureChecker: refactorisValidSignatureNowto avoid validating ECDSA signatures if there is code deployed at the signer's address. (#4951)MerkleProof: Add variations ofverify,processProof,multiProofVerifyandprocessMultiProof(and equivalent calldata version) with support for custom hashing functions. (#4887)P256: Library for verification and public key recovery of P256 (aka secp256r1) signatures. (#4881)RSA: Library to verify signatures according to RFC 8017 Signature Verification Operation (#4952)Math
Math: add aninvModfunction to get the modular multiplicative inverse of a number in Z/nZ. (#4839)Math: AddmodExpfunction that exposes theEIP-198precompile. Includesuint256andbytes memoryversions. (#3298)Math: Custom errors replaced with native panic codes. (#3298)Math,SignedMath: Add a branchlessternaryfunction that computescond ? a : bin constant gas cost. (#4976)SafeCast: AddtoUint(bool)for operating onboolvalues asuint256. (#4878)Structures
CircularBuffer: Add a data structure that stores the lastNvalues pushed to it. (#4913)DoubleEndedQueue: Custom errors replaced with native panic codes. (#4872)EnumerableMap: addUintToBytes32Map,AddressToAddressMap,AddressToBytes32MapandBytes32ToAddressMap. (#4843)Heap: A data structure that implements a heap-based priority queue. (#5084)MerkleTree: A data structure that allows inserting elements into a merkle tree and updating its root hash. (#3617)OpenZeppelin/openzeppelin-upgrades (@openzeppelin/hardhat-upgrades)
v3.9.1Compare Source
"@​nomicfoundation/hardhat-ethers": "^3.0.6""@​nomicfoundation/hardhat-verify": "^2.0.14""hardhat": "^2.24.1"v3.9.0Compare Source
v3.8.0Compare Source
deployProxy,upgradeProxy,deployBeaconProxy, anddefender.deployContract. (#1099)v3.7.0Compare Source
proxyFactoryanddeployFunctionoptions which can be used to deploy a custom proxy contract. (#1104)v3.6.0Compare Source
v3.5.0Compare Source
eslint/eslint (eslint)
v9.38.0Compare Source
Features
ce40f74feat: updatecomplexityrule to only highlight function header (#20048) (Atul Nair)e37e590feat: correctno-loss-of-precisionfalse positives withenotation (#20187) (Francesco Trotta)Bug Fixes
50c3dfdfix: improve type support for isolated dependencies in pnpm (#20201) (Francesco Trotta)a1f06a3fix: correct SourceCode typings (#20114) (Pixel998)Documentation
462675adocs: improve web accessibility by hiding non-semantic character (#20205) (루밀LuMir)c070e65docs: correct formatting inno-irregular-whitespacerule documentation (#20203) (루밀LuMir)b39e71adocs: Update README (GitHub Actions Bot)cd39983docs: movecustom-formatterstype descriptions tonodejs-api(#20190) (Percy Ma)Chores
d17c795chore: upgrade @eslint/js@9.38.0 (#20221) (Milos Djermanovic)25d0e33chore: package.json update for @eslint/js release (Jenkins)c82b5efrefactor: Use types from @eslint/core (#20168) (Nicholas C. Zakas)ff31609ci: add Node.js 25 toci.yml(#20220) (루밀LuMir)004577eci: bump github/codeql-action from 3 to 4 (#20211) (dependabot[bot])eac71fbtest: remove use ofnodejsScopeoption of eslint-scope from tests (#20206) (Milos Djermanovic)4168a18chore: fix typo in legacy-eslint.js (#20202) (Sweta Tanwar)205dbd2chore: fix typos (#20200) (ntnyq)dbb200echore: use team member's username when name is not available in data (#20194) (Milos Djermanovic)8962089chore: mark deprecated rules as available until v11.0.0 (#20184) (Pixel998)v9.37.0Compare Source
Features
39f7fb4feat:preserve-caught-errorshould recognize all static "cause" keys (#20163) (Pixel998)f81eabcfeat: support TS syntax inno-restricted-imports(#19562) (Nitin Kumar)Bug Fixes
a129ccefix: correctno-loss-of-precisionfalse positives for leading zeros (#20164) (Francesco Trotta)09e04fcfix: add missing AST token types (#20172) (Pixel998)861c6dafix: correctESLinttypings (#20122) (Pixel998)Documentation
b950359docs: fix typos across the docs (#20182) (루밀LuMir)42498a2docs: improve ToC accessibility by hiding non-semantic character (#20181) (Percy Ma)29ea092docs: Update README (GitHub Actions Bot)5c97a04docs: showavailableUntilin deprecated rule banner (#20170) (Pixel998)90a71bfdocs: updateREADMEfiles to add badge and instructions (#20115) (루밀LuMir)1603ae1docs: update references frommastertomain(#20153) (루밀LuMir)Chores
afe8a13chore: update@eslint/jsdependency to version 9.37.0 (#20183) (Francesco Trotta)abee4cachore: package.json update for @eslint/js release (Jenkins)fc9381fchore: fix typos in comments (#20175) (overlookmotel)e1574a2chore: unpin jiti (#20173) (renovate[bot])e1ac05erefactor: markESLint.findConfigFile()asasync, add missing docs (#20157) (Pixel998)347906dchore: update eslint (#20149) (renovate[bot])0cb5897test: remove tmp dir created for circular fixes in multithread mode test (#20146) (Milos Djermanovic)bb99566ci: pinjitito version 2.5.1 (#20151) (Pixel998)177f669perf: improve worker count calculation for"auto"concurrency (#20067) (Francesco Trotta)448b57bchore: Mark deprecated formatting rules as available until v11.0.0 (#20144) (Milos Djermanovic)v9.36.0Compare Source
Features
47afcf6feat: correctpreserve-caught-erroredge cases (#20109) (Francesco Trotta)Bug Fixes
75b74d8fix: add missing rule option types (#20127) (ntnyq)1c0d850fix: updateeslint-all.jsto useObject.freezeforrulesobject (#20116) (루밀LuMir)7d61b7ffix: add missing scope types toScope.type(#20110) (Pixel998)7a670c3fix: correct rule option typings inrules.d.ts(#20084) (Pixel998)Documentation
b73ab12docs: update examples to usedefineConfig(#20131) (sethamus)31d9392docs: fix typos (#20118) (Pixel998)c7f861bdocs: Update README (GitHub Actions Bot)6b0c08bdocs: Update README (GitHub Actions Bot)91f97c5docs: Update README (GitHub Actions Bot)Chores
12411e8chore: upgrade @eslint/js@9.36.0 (#20139) (Milos Djermanovic)488cba6chore: package.json update for @eslint/js release (Jenkins)bac82a2ci: simplify renovate configuration (#19907) (唯然)c00bb37ci: bump actions/labeler from 5 to 6 (#20090) (dependabot[bot])fee751drefactor: usedefaultOptionsin rules (#20121) (Pixel998)1ace67dchore: update example to usedefineConfig(#20111) (루밀LuMir)4821963test: add missing loc information to error objects in rule tests (#20112) (루밀LuMir)b42c42echore: disallow use of deprecatedtypeproperty in core rule tests (#20094) (Milos Djermanovic)7bb498dtest: remove deprecatedtypeproperty from core rule tests (#20093) (Pixel998)e10cf2aci: bump actions/setup-node from 4 to 5 (#20089) (dependabot[bot])5cb0ce4refactor: usemeta.defaultOptionsinpreserve-caught-error(#20080) (Pixel998)f9f7cb5chore: package.json update for eslint-config-eslint release (Jenkins)81764b2chore: updateeslintpeer dependency ineslint-config-eslint(#20079) (Milos Djermanovic)v9.35.0Compare Source
Features
42761fafeat: implement suggestions for no-empty-function (#20057) (jaymarvelz)102f444feat: implement suggestions for no-empty-static-block ([#20056](https://redirect.github.com/eslint/Configuration
📅 Schedule: Branch creation - "on the first day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.