v5.3.0-rc.0
Pre-release
Pre-release
·
202 commits
to master
since this release
Breaking Changes
- Replace
GovernorCountingOverridable.VoteReceiptstruct parameter member nameshasOverridenandoverridenWeightforhasOverriddenandoverriddenWeightrespectively.
Custom error changes
- Replace
GovernorAlreadyOverridenVotewithGovernorAlreadyOverriddenVote.
Changes by category
Account
ERC7579Utils: Add ABI decoding checks on calldata bounds withindecodeBatch. (#5371)
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)Pausable: Stop explicitly settingpausedtofalseduring construction. (#5448)Strings: AddespaceJSONthat escapes special characters in JSON strings. (#5526)