cosmos / chain-registry

Creative Commons Attribution 4.0 International
513 stars 1.24k forks source link

pstake requires gravitybridge-persistence.json to properly calculate IBC denoms #737

Closed pyramation closed 2 years ago

pyramation commented 2 years ago
$ osmosisd q ibc-transfer denom-trace 8061A06D3BD4D52C4A28FFECF7150D370393AF0BA661C3776C54FF32836C3961
denom_trace:
  base_denom: gravity0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006
  path: transfer/channel-4/transfer/channel-38

I can calculate the proper hash, but we're missing gravitybridge-persistence.json from _IBC to dynamically get this data:

const denom = ibcDenom(
    [
      {
        // THIS IS THE CHANNEL TO PERSISTENCE
        // ON OSMOSIS
        channelId: 'channel-4',
        portId: 'transfer'
      },
      {
        // THIS IS THE CHANNEL TO GRAVITYBRIDGE
        // ON PERSISTENCE
        channelId: 'channel-38',
        portId: 'transfer'
      }
    ],
    'gravity0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006'
  );
  expect(denom).toEqual(
    'ibc/8061A06D3BD4D52C4A28FFECF7150D370393AF0BA661C3776C54FF32836C3961'
  );
pyramation commented 2 years ago

@vishrutsingh @puneet2019 @Anmol1696 can one of you help provide us with the IBC info between gravity and persistence?

puneet2019 commented 2 years ago

@pyramation

    "ibc": {
        "source_channel": "channel-24",
        "dst_channel": "channel-38",
        "source_denom": "gravity0xfB5c6815cA3AC72Ce9F5006869AE67f18bF77006"
      },

on persistence side it's channel-38. on gravity side it's channel-24

puneet2019 commented 2 years ago

oh! i see, there is a schema format, will get that info too

puneet2019 commented 2 years ago
{
    "$schema": "../ibc_data.schema.json",
    "chain_1": {
      "chain_name": "gravitybridge",
      "client_id": "07-tendermint-39",
      "connection_id": "connection-50"
    },
    "chain_2": {
      "chain_name": "persistence",
      "client_id": "07-tendermint-51",
      "connection_id": "connection-49"
    },
    "channels": [
      {
        "chain_1": {
          "channel_id": "channel-24",
          "port_id": "transfer"
        },
        "chain_2": {
          "channel_id": "channel-38",
          "port_id": "transfer"
        },
        "ordering": "unordered",
        "version": "ics20-1",
        "tags": {}
      }
    ]
  }

check connections/ channel-ids : gravity q ibc channel channels --node https://gravitychain.io:26657 --output json | jq -c | jq '.channels[] | select(.channel_id == "channel-24") | .' persistenceCore q ibc channel channels --node https://rpc.core.persistence.one:443 --output json | jq -c | jq '.channels[] | select(.channel_id == "channel-38") | .'

OR gravity q ibc channel end transfer channel-24 --node "https://gravitychain.io:26657" persistenceCore q ibc channel end transfer channel-38 --node "https://rpc.core.persistence.one:443"

for client-state: gravity q ibc channel client-state transfer channel-24 --node "https://gravitychain.io:26657" persistenceCore q ibc channel client-state transfer channel-38 --node "https://rpc.core.persistence.one:443"

pyramation commented 2 years ago

you guys rock, thank you!