Ernesto García

Results 51 issues of Ernesto García

**📝 Details** Currently, `IAccessControl` and `IAccessControlEnumerable` are kept along with their implementations. This is done to better support ERC165 without hardcoding the `interfaceId`, as follows: ```solidity interface IAccessControl { ......

**🧐 Motivation** Currently, [ERC20Pausable](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/17cfabbfd508c3d0ab338086575435a1c08bf760/contracts/token/ERC20/extensions/ERC20Pausable.sol), [ERC721Pausable](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/17cfabbfd508c3d0ab338086575435a1c08bf760/contracts/token/ERC721/extensions/ERC721Pausable.sol) and [ERC1155Pausable](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/17cfabbfd508c3d0ab338086575435a1c08bf760/contracts/token/ERC1155/extensions/ERC1155Pausable.sol) doesn't have `public` or `external` pause and unpause mechanisms. This dates since v3.0 (some context [here](https://github.com/OpenZeppelin/openzeppelin-contracts/commit/7650210ad630f4bfc4b966263038e62b0283a136), [here](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/2161), and [here](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2086)), in which `Pausable` became...

breaking change

From #1985 > I'm not sure if https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3298 's implementation is actually useful in the majority of the cases. The main reason why I see developers using `modexp` is because...

From the 5.0 release audit, this recommendation was made and considered for next versions. > N-18 Lack of Inclusion of a "Vesting Cliff" > > A "vesting cliff" is a...

feature
idea

Added a note referencing the [Access Manager explorer](https://access-manager.openzeppelin.com/). Following our announcement plans. #### PR Checklist - [ ] Tests - [ ] Documentation - [ ] Changeset entry (run `npx...

ignore-changeset

**📝 Details** Currently, we reference errors, functions and events from the docs by using the special braces syntax. Its format was reported as inconsistency in the 5.0 audit report: >...

**📝 Details** In recent CI runs (e.g [this one](https://github.com/OpenZeppelin/openzeppelin-contracts/actions/runs/7884037744/job/21512184063)), the CI has failed because the ERC2771Forwarder tests use a signatured that's directly modified without any validation. This seems to be...

**📝 Details** Similar to #4888, but regarding the following variables: - [`_governanceCall`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/Governor.sol#L55) in Governor - [`executionId`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/3e6c86392c97fbc30d3d20a378a6f58beba08eba/contracts/access/manager/AccessManager.sol#L109) in AccessManager The Governor call is a Bytes32Deque, which makes me wonder if we...

**📝 Details** As pointed out by @ZumZoom in https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4941#discussion_r1528458911: > Should it still be a case though? It seems that after merging https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4288 there is little sense in sticking with...

In both MerkleTree and MerkleProof, we're currently using the `Hashes.commutativeKeccak256`. Ideally, we would test for non-commutative hashing functions before releasing and when the [Javascript Library for merkle trees](https://github.com/OpenZeppelin/merkle-tree) is released

tests