game-of-nfts / gon-evidence

This repo records GoN participants' info and evidence.
26 stars 316 forks source link

BUG: Original NFT data is modified after IBC transfers #253

Open giansalex opened 1 year ago

giansalex commented 1 year ago

Summary

The NFT data is modified when it is sent to chains with nft-transfer module, but not when it is sent to CosmWasm chains (cw-ics721).

Environment

Steps to Reproduce

Expected and Actual Behavior

I would expect that the NFT data will not be modified, or that the behavior will be the same in all ICS721 implementations.

Additional Context

giansalex commented 1 year ago

Another case: NFT not updatable, can be modified via ICS721

An NFT from a collection created with --update-restricted=true, cannot be modified, if you try to edit (iris tx nft edit), you receive the error message:

failed to execute message; message index: 0: nobody can update the NFT under this denom disperze02: unauthorized

but if you transfer to custom remote chain, you can return new data, and modify the original NFT.

dreamer-zq commented 1 year ago

Another case: NFT not updatable, can be modified using ICS721

An NFT from a collection created with --update-restricted=true, cannot be modified, if you try to edit (iris tx nft edit), you receive the error message:

failed to execute message; message index: 0: nobody can update the NFT under this denom disperze02: unauthorized

but if you transfer to custom remote chain, you can return new data, and modify the original NFT.

First of all many thanks, this issue is known.

  1. For the ics721 protocol, it does not stipulate whether the data of nft can be modified, which depends on the application layer implemented.
  2. From the perspective of iris, --update-restricted=true, it is true that the data of nft should not be modified. At that time, only things at the ics721 protocol level were considered. Therefore, in the subsequent release of the main network, this should be implement.