cosmos / ibc-go

Inter-Blockchain Communication Protocol (IBC) implementation in Golang.
https://ibc.cosmos.network/
MIT License
548 stars 579 forks source link

Implement ics-721-nft-transfer #1444

Closed dreamer-zq closed 1 year ago

dreamer-zq commented 2 years ago

Summary

Implements ics-721-nft-transfer

implementation reference #1510

Problem Definition

Now I encounter a problem. The function of nft is released in v0.46+ of cosmos-sdk, but ibc-go depends on v0.45.4. When do you plan to upgrade to v0.46+?

Proposal


For Admin Use

crodriguezvega commented 2 years ago

Hi @dreamer-zq! 👋 Thanks for opening this issue; it's great to see that this app is becoming a reality! 🚀 👏

One favor I need to ask for now, though: for the PR that is already open and the ones that you will open, would you be so kind to create a feature branch (let's call it ics-721-nft-transfer) and target the PR against that branch?

I think it would be good if our team spends some quality time reviewing the PRs, but due to our current workload and commitments, that might need to wait a couple of months (we need to finish fee middleware, upgrade SDK 0.46 and 02-client refactor, among other things). So please be patient with us and expect that the review process will take some time.

Now I encounter a problem. The function of nft is released in v0.46+ of cosmos-sdk, but ibc-go depends on v0.45.4. When do you plan to upgrade to v0.46+?

We have this feature branch for all the work to upgrade to SDK 0.46. It currently is updated with 0.46-beta2. There is also this other branch that is updated with 0.46-rc1, for which there is a PR opened to merge it into the feature branch. Regarding timelines for the release of the upgrade, it will probably be end of June or sometime in July. We are busy at the moment finishing fee middleware and we need to release that first as ibc-go v4.0.0.

If you want to keep it in touch and discuss further, please feel also free to reach me out on Discord (Carlos | Interchain#9176).

dreamer-zq commented 2 years ago

Ok, I will close the committed branch and recreate the branch ics-721-nft-transfer.

faddat commented 2 years ago

Hi @dreamer-zq please know that I maintain a branch of IBC-go, which you can find here:

https://github.com/cosmos/ibc-go/pull/1413

that to the best of my knowledge, upgrades the entire stack to cosmos-sdk v46-rc1

There's a second branch here:

https://github.com/cosmos/ibc-go/pull/1455

that to the best of my knowledge, is an upgrade of ibc-go v3 to cosmos-sdk v46-rc1 and to the best of my knowledge, will be used on the cosmos hub in the rho upgrade.

If I was writing ics-721-nft-transfer, I would work from #1413 and furthermore please know that I am very open to collaboration on NFT transfer code, as Notional is working with the following projects that desire those features:

....in an official capacity of some kind, and support several more that desire those features in the capacity of a validator that writes code.

Craft Economy uses the sdk v46 nft module, and though that wasn't planned originally for an1, given timelines, an1 likely will too.

Additionally, we're working with pylons to try to take their NFT's to market on stargaze.

Thanks!

-Jacob

PS:

I was able to make an sdk 46 branch of your work just by updating the storekey type from sdk.storekey to storetypes.storekey, here it is:

https://github.com/cosmos/ibc-go/pull/1484

dreamer-zq commented 2 years ago

Hi @dreamer-zq please know that I maintain a branch of IBC-go, which you can find here:

1413

that to the best of my knowledge, upgrades the entire stack to cosmos-sdk v46-rc1

There's a second branch here:

1455

that to the best of my knowledge, is an upgrade of ibc-go v3 to cosmos-sdk v46-rc1 and to the best of my knowledge, will be used on the cosmos hub in the rho upgrade.

If I was writing ics-721-nft-transfer, I would work from #1413 and furthermore please know that I am very open to collaboration on NFT transfer code, as Notional is working with the following projects that desire those features:

  • craft economy
  • an1
  • pylons
  • omniflix

....in an official capacity of some kind, and support several more that desire those features in the capacity of a validator that writes code.

Craft Economy uses the sdk v46 nft module, and though that wasn't planned originally for an1, given timelines, an1 likely will too.

Additionally, we're working with pylons to try to take their NFT's to market on stargaze.

Thanks!

-Jacob

PS:

I was able to make an sdk 46 branch of your work just by updating the storekey type from sdk.storekey to storetypes.storekey, here it is:

1484

According to crodriguezvega's suggestion, I recreated a branch based on #1455, all subsequent code will be committed on this branch

crodriguezvega commented 1 year ago

Closing this issue since the nft transfer module now lives in its own repository here.