
Gravity Bridge ERC721

Bridge Ethereum NFTs to Cosmos
We've implemented support for ERC721 tokens to be transferred over to Gravity Bridge and beyond (using the ICS721 standard).
For a full, detailed breakdown of the implementation, see the GoN README: https://github.com/EmpowerPlastic/Gravity-Bridge/blob/game-of-nfts-stargaze/GAME_OF_NFTS.md
We've also implemented a UI to showcase the implementation:
This can be found at: https://gravity-nft-ui.vercel.app/
x/nft
and x/nft-transfer
to Gravity ChainSendERC721ToCosmosClaim
to x/gravity
and implemented attestiation handlingGravityERC721.sol
contractgravityjs
(and its use can be found in the gravity-nft-ui code)At this point, implementation supports only transfers of Ethereum-based NFTs to Cosmos and that's what can be tested on the running testnet. GraivtyERC721.sol
has a withdrawERC721()
function, so it would be possible to unlock NFTs held in the contract with the appropriate Gravity Bridge upgrade. However, we plan to implement flows that will allow NFT transfers back and forth (see General Concept above). UI with good UX is also needed for transfers from Cosmos to Ethereum, because of the need to relay Ethereum transactions manually. Additionaly, for a better security, we plan to move NFT bridging logic from x/gravity
to a dedicated module.
For a full, detailed breakdown of the implementation, see the GoN README: https://github.com/EmpowerPlastic/Gravity-Bridge/blob/game-of-nfts-stargaze/GAME_OF_NFTS.md