mirror of openzeppelin-contracts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
openzeppelin-contracts/contracts/crosschain
Hadrien Croubois 668a648bc6
Add utilities for CrossChain messaging (#3183)
3 years ago
..
amb Add utilities for CrossChain messaging (#3183) 3 years ago
arbitrum Add utilities for CrossChain messaging (#3183) 3 years ago
optimism Add utilities for CrossChain messaging (#3183) 3 years ago
polygon Add utilities for CrossChain messaging (#3183) 3 years ago
CrossChainEnabled.sol Add utilities for CrossChain messaging (#3183) 3 years ago
README.adoc Add utilities for CrossChain messaging (#3183) 3 years ago
errors.sol Add utilities for CrossChain messaging (#3183) 3 years ago

README.adoc

= Cross Chain Awareness

[.readme-notice]
NOTE: This document is better viewed at https://docs.openzeppelin.com/contracts/api/crosschain

This directory provides building blocks to improve cross-chain awareness of smart contracts.

- {CrossChainEnabled} is an abstraction that contains accessors and modifiers to control the execution flow when receiving cross-chain messages.

== CrossChainEnabled specializations

The following specializations of {CrossChainEnabled} provide implementations of the {CrossChainEnabled} abstraction for specific bridges. This can be used to complexe cross-chain aware components such as {AccessControlCrossChain}.

{{CrossChainEnabledAMB}}

{{CrossChainEnabledArbitrumL1}}

{{CrossChainEnabledArbitrumL2}}

{{CrossChainEnabledOptimism}}

{{CrossChainEnabledPolygonChild}}

== Libraries for cross-chain

In addition to the {CrossChainEnable} abstraction, cross-chain awareness is also available through libraries. These libraries can be used to build complex designs such as contracts with the ability to interact with multiple bridges.

{{LibAMB}}

{{LibArbitrumL1}}

{{LibArbitrumL2}}

{{LibOptimism}}