ERC-7943: Universal RWA Interface (uRWA)

Thanks for putting it together @xaler! Adding some thoughts on the discussion points you shared:

  • Now that interfaces are split, the getFrozenTokens of the ERC-721 has a different signatures (it returns a bool), should we keep uint256 instead ?

I think the bool return type is correct and should be kept. This aligns perfectly with the semantic model of ERC-721 tokens where each token is either frozen or not, given there’s no partial freezing concept for unique tokens.

From the EVM perspective, both bool and uint256 are stored in 32-byte slots, so there’s no technical incompatibility. The semantic clarity is more valuable than maintaining identical signatures imo

  • Now same errors have different signatures across different interfaces, should we keep the same naming or use more specific ones for each interface ?

Historically, OpenZeppelin has never recommended relying on custom errors for backwards compatibility, so I wouldn’t be too worried about having different errors per interface. The current approach follows the principle of error specificity of ERC-6093

I hope I didn’t miss anything but I’ve refactored the showed examples.

The updates look sound to me. The _unfrozenBalance function seems fine. Also the interfaces were applied correctly.

1 Like