Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I want to propose the concept of Dynamic NFT
When we created the standard, almost everything was done for this, all the changes that I propose are fully backward compatible.
Add optional interface to TIP4.2
The implementer of
TIP4_2DYNAMIC_JSON_Metadata
emit events when Metadata forzen or changesFAQ
Why I extend TIP4.2 and don't create new TIP 4.X
This logic directly depends on TIP 4.2 as the metadata that are described in TIP4.2.
I don't think that it's good idea split standarts to
Why event MetadataChanged has no parameters
We can't put the address there, because in theory the metadata can change via an external message.
We can't put the old hash and new hash. Metadata can have link to offchain data that can be changed and hash don't change for this case
We definitely can't push the metadata itself, as it's expensive.
Why event MetadataChanged is optional and not required to be called
Since we may have a link to the offchain part and it may change somehow regardless of the BC, or there may be custom formation logic (for example, from block time), releasing an event for any transaction can be expensive.
Why we can unfreeze and freeze
It seems that it makes no sense to limit in defrosting. For example, while NFT is in the game, it is not frozen, it was brought to the marketplace and frozen. At the same time, we oblige to release
metadataFrozen
every time the value changes and when creating an NFT