RFC: ICS20 Metadata #719
Replies: 4 comments
-
Sorry I forgot that this discussion already existed: #607 As discussed earlier, now that channel upgradability is going to be worked on this becomes a viable feature that we can reopen for discussion. Further rationale and suggested metadata is provided in the linked discussion. |
Beta Was this translation helpful? Give feedback.
-
Quoting from #607:
|
Beta Was this translation helpful? Give feedback.
-
From @hxrts:
|
Beta Was this translation helpful? Give feedback.
-
Great initiative. And a point for all future protocols, that they should not just have one packet type, but some sort of enum / union type that can be more easily extended. I don't have much time to dig in, but would love to see info like DecimalPlaces. Also, user-visible name, like on the normal bank metadata ( I haven't seen logo used on-chain except for cw20 so I wonder if this would be used much or a possible attack vector with urls. |
Beta Was this translation helpful? Give feedback.
-
There have been requests from multiple teams at this point for an in-protocol communication of fungible token metadata. This could be the transfer of information like decimal place, abbreviations, aliases, or logos. After the launch of IBC, this was difficult to add since there was no backwards compatible way of introducing a new packet type to existing channels. However with the introduction of channel upgradability, we can implement a metadata packet that can be optionally adopted by chains without forcing a network-wide upgrade.
This proposal will also be relevant for NFT transfer, since there is a discussion happening there on how best to propagate changes to NFT metadata. See discussion here: #615 (comment)
In both cases, it is theoretically possible for off-chain users to retrieve metadata from the source chain. However, existing infrastructure and UX expects this information to live on the same chain as the asset.
Given the pain points from IBC frontends on the inaccessibility of metadata (currently for ICS20 and in the future for ICS721) and the reduced cost of deploying this with the introduction of channel upgradability. It will be good to understand exactly what metadata is desirable for users of ICS-20 and provide a specification for how to propagate metadata both as a one-time packet when a new asset travels through a channel and as an update if the metadata changes at the source.
From what I have already gathered from users, the following fields would be helpful:
I would like to understand if there is any other metadata that would be important for chains/frontends to have in-state on destination chains.
cc: @alexanderbez @okwme @charleenfei @jackzampolin @sunnya97 @ValarDragon @michaelfig
Ref:
cosmos/ibc-go#366
https://github.com/cosmos/ibc/blob/master/spec/core/ics-004-channel-and-packet-semantics/UPGRADES.md
Beta Was this translation helpful? Give feedback.
All reactions