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

Update Cross-VM bridge docs #930

Merged
merged 7 commits into from
Oct 3, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions docs/evm/vm-bridge.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,18 @@ sidebar_position: 7

# Cross-VM Bridge

Flow provides the cross-VM bridge which enables Cadence to interact with EVM on Flow in order to bridge tokens, fungible and non-fungible, from one VM environment to the other. The cross-VM bridge is a contract-based, trustless protocol enabling the automated bridging of tokens from Cadence into EVM with  the corresponding ERC-20 and ERC-721 token types. In the opposite direction, it supports bridging of arbitrary EVM ERC-20 and ERC-721 tokens into the corresponding Cadence FT or NFT token types. The cross-VM bridge internalizes the capabilities to deploy new token contracts in either VM state as needed, resolving access to, and maintaining links between , contracts. It additionally automates account and contract calls to enforce source VM asset burn or lock, and target VM token mint or unlock.
Flow provides the cross-VM bridge which enables the movement of fungible and non-fungible tokens between Cadence & EVM.
sisyphusSmiling marked this conversation as resolved.
Show resolved Hide resolved
The cross-VM bridge is a contract-based, trustless protocol enabling the automated and atomic bridging of tokens from
Cadence into EVM with their corresponding ERC-20 and ERC-721 token types. In the opposite direction, it supports
bridging of arbitrary ERC-20 and ERC-721 tokens from EVM to Cadence as their corresponding FT or NFT token types.

Developers wishing to use the cross-VM bridge will be required to use a Cadence transaction as cross-VM bridging functionality is currently not available natively in EVM.
The cross-VM bridge internalizes the capabilities to deploy new token contracts in either VM state as needed, resolving
access to, and maintaining links between associated contracts. It additionally automates account and contract calls to
enforce source VM asset burn or lock, and target VM token mint or unlock.

Developers wishing to use the cross-VM bridge will be required to use a Cadence transaction as cross-VM bridging
sisyphusSmiling marked this conversation as resolved.
Show resolved Hide resolved
functionality is currently not available natively in EVM. By extension, this means that the EVM account bridging from
EVM to Cadence must be a [`CadenceOwnedAccount` (COA)](../evm/cadence/interacting-with-coa.md) as this is the only EVM
account type that can be controlled from the Cadence runtime.

This [FLIP](https://github.com/onflow/flips/pull/233) outlines the architecture and implementation of the VM bridge.
Loading