NameWrapper updates (including testnet deployment addresses)

Hey @jefflau.eth @nick.eth etc

I’ve been playing with the wrapper and realized that when a .eth 2LD expires (ERC721) the ERC1155 is still transferrable / tradable / sellable until or unless the .eth 2LD (ERC721) is re-registered.

As getData sets all fuses to 0 (false) if block.timestamp > expiry.

I think it should set CANNOT_TRANSFER to True instead of setting CAN_DO_ANYTHING?

        function getData(uint256 tokenId)
        ...
            if (block.timestamp > expiry) {
                //fuses = 0; // allow transfers on expiration
                fuses = 4; // CANNOT_TRANSFER ?
            } else {
                fuses = uint32(t >> 160);
            }
        ...

My concern here is that people can register .eth 2LD name’s for 1 month or wrap and let any currently owned .eth 2LD expire - then still be able to sell the ERC1155 on market places after the name expires until someone decides to manually re-register the .eth 2LD.

The 1155 could be traded many times before that happens or someone realizes. Then the person who “paid” for the name will get rugged when a new person registers it again and the token is burned and finally transferred away from the current “holder”.

my foundry test : gist:9b3e75ecc77fdf74a4380e89404f015d (github.com)

2 Likes