The Endpoint + Libraries

Tier 1: The API tier

On each supported chain, the Earlybird Protocol has 1 central Endpoint contract, which communicates with the application for three purposes:

  • Configuring and managing Earlybird applications

  • Routing messages from applications on the source chain

  • Delivering messages to applications on the destination chain

For each Library supported by the Endpoint, there is a SendModule which broadcasts messages routed from the endpoint and one ReceiveModule which validates incoming messages to the endpoint.

Terms and Components

Earlybird Endpoint is the primary contract with which applications interact. It is the contract through which applications send and receive messages from Earlybird. The endpoint also keeps track of which interoperability library an application is using.

Earlybird Libraries are an append-only list of module pairs that implement specific interoperability standards. Each library has two modules: send and receive. Earlybirdโ€™s use of libraries allows us to expand Earlybird with interoperability standards that have different levels of efficiency and security in the future. They also allow us to deploy new and improved versions of existing libraries without putting existing applications at risk by forcing them to switch.

The Send Module is one of two contracts in every Earlybird library. The send module is responsible for encoding how the library sends messages. Different libraries may encode their messages differently for their off-chain actors to decode.

The Receive Module is one of the two contracts in every Earlybird library. The receive module is responsible for encoding the process that verifies whether messages from off-chain actors are authentic. Different libraries may encode different schemas and processes for accepting and verifying messages from off-chain actors.

Last updated