Improve assetslist.json validation
omniwired opened this issue · comments
Feature request:
When a user adds a ibc trace, compare the value from:
"base": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",
with the one provided at chain path
Example:
"type_asset": "ics20",
"base": "ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",
"name": "Cosmos Hub Atom",
"display": "atom",
"symbol": "ATOM",
"traces": [
{
"type": "ibc",
"counterparty": {
"chain_name": "cosmoshub",
"base_denom": "uatom",
"channel_id": "channel-141"
},
"chain": {
"channel_id": "channel-0",
"path": "transfer/channel-0/uatom"
}
}
],
The algorithm to use is described in the cosmos SDK.
Via command line it would be:
echo -n "transfer/channel-0/uatom" | sha256sum
27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2
I assume you're pointing out the difference being in lower vs uppercase? The on-chain ics20 denoms shift letters to uppercase.
hi Jeremy, it's not about the case being different but adding an automatic check that does the following.
1- Compare the value provided in the base
key against the sha256 of the IBC path.
2- Inform the user and/or refuse to merge if the base and sha256 equivalent are different.