Files
openzeppelin-contracts/contracts/crosschain
Hadrien Croubois 8c49ad74ea 4.7.0
2022-06-29 11:00:17 +02:00
..
2022-06-29 11:00:17 +02:00
2022-06-29 11:00:17 +02:00
2022-06-29 11:00:17 +02:00
2022-06-29 11:00:17 +02:00
2022-04-27 09:34:09 +02:00
2022-04-27 09:34:09 +02:00
2022-06-01 22:26:39 +02:00

= 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 complex cross-chain aware components such as {AccessControlCrossChain}.

{{CrossChainEnabledAMB}}

{{CrossChainEnabledArbitrumL1}}

{{CrossChainEnabledArbitrumL2}}

{{CrossChainEnabledOptimism}}

{{CrossChainEnabledPolygonChild}}

== Libraries for cross-chain

In addition to the {CrossChainEnabled} 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}}