Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discovery for supporting developer defined cross-VM associations #135

Open
sisyphusSmiling opened this issue Nov 22, 2024 · 0 comments
Open

Comments

@sisyphusSmiling
Copy link
Contributor

Description

Currently, developers can only define one side of the bridge assets - they deploy to either EVM or Cadence and the bridge deploys a corresponding contract in the non-native VM according to ecosystem standards (NFT: ERC721 & FT: ERC20). The primary motivation behind this design choice is to support users in permissionlessly moving assets between VMs, thus optimizing for ownership and ecosystem composability at the sacrifice of cross-VM customizability.

While this design satisfies basic use cases, there may be more complex instances that are not fully supported. The highly opinionated nature of the current bridge means that Cadence-native NFTs are relegated to simple ERC721s in EVM, disallowing bespoke functionality enabled by unsupported ERC721 extensions or even other ERC implementations such as ERC1155, etc. There have already been a number of requests asking how either net new or existing assets can be configured to support these bespoke cross-VM implementations and it's clear that this feature will be increasingly demanded.

The end goal ultimately is for a developer to define their implementations across Cadence and EVM and have the bridge satisfy a user's request to bridge the given asset, all without compromising the existing permissionless nature of the bridge. This should be the case for both net new assets and those already onboarded to the bridge. The focus of this discovery will be NFTs as they are a complete asset - a given NFT is either wholly defined by one or another contract.

Below are a number of considerations for this discovery phase:

  • Cross-VM definitions for net new assets - new deployments to both VMs
  • Migration paths for legacy bridged assets to newly associated contracts
  • Mechanisms for app-layer platforms to identify legacy assets
  • Sources of truth for existing and updated associations
  • Upgradability of existing Cadence & Solidity bridge contracts
@sisyphusSmiling sisyphusSmiling moved this to 🔖 Ready for Pickup in 🌊 Flow 4D Nov 22, 2024
@sisyphusSmiling sisyphusSmiling self-assigned this Nov 22, 2024
@Kay-Zee Kay-Zee moved this from 🔖 Ready for Pickup to 🏗 In Progress in 🌊 Flow 4D Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Status: 🏗 In Progress
Development

No branches or pull requests

1 participant