Skip to content

Conversation

@mihaic195
Copy link
Contributor

When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md

We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met:

  • The PR edits only existing draft PRs.
  • The build passes.
  • Your GitHub username or email address is listed in the 'author' header of all affected PRs, inside .
  • If matching on email address, the email address is the one publicly listed on your GitHub profile.

@eip-review-bot
Copy link
Collaborator

eip-review-bot commented Nov 7, 2025

File ERCS/erc-7943.md

Requires 1 more reviewers from @g11tech, @lightclient, @SamWilsn, @xinbenlv

/// @dev Can only be called by accounts holding the `WHITELIST_ROLE`.
/// Emits a {Whitelisted} event.
/// @param account The address whose whitelist status is to be changed.
/// @param account The address whose whitelist status is to be changed. Must not be the zero address.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since it's not enforced, I'd remove this "Must" from here.

/// @param account The address whose whitelist status is to be changed. Must not be the zero address.
/// @param status The new whitelist status (true = whitelisted, false = not whitelisted).
function changeWhitelist(address account, bool status) external onlyRole(WHITELIST_ROLE) {
function changeWhitelist(address account, bool status) external virtual onlyRole(WHITELIST_ROLE) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not virtual in uRWA20 and uRWA721, is it needed ?


/// @inheritdoc IERC7943MultiToken
function getFrozenTokens(address account, uint256 tokenId) external view returns (uint256 amount) {
function getFrozenTokens(address account, uint256 tokenId) public view virtual override returns (uint256 amount) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that you made me think that this is public, instead of using _frozenTokens[account] we could be using getFrozenTokens directly, and improve readability. Wdyt ?

function forcedTransfer(address from, address to, uint256 tokenId, uint256 amount) public onlyRole(FORCE_TRANSFER_ROLE) returns(bool result) {
function forcedTransfer(address from, address to, uint256 tokenId, uint256 amount) public virtual override onlyRole(FORCE_TRANSFER_ROLE) returns(bool result) {
require(to != address(0), ERC1155InvalidReceiver(address(0)));
require(from != address(0), ERC1155InvalidSender(address(0)));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add this check also in uRWA721 to make it consistent all across the three cases ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants