Skip to main content

Smart Contracts

Equito is a cutting-edge cross-chain messaging protocol designed to facilitate seamless, secure, and efficient communication across diverse blockchain networks. As a gateway for interoperability, Equito empowers developers to extend the functionality of decentralized applications (dApps) beyond the constraints of single blockchains.

This page provides an overview on the smart contracts used in EVM-compatible networks to interact with the Equito cross-chain messaging protocol.

EquitoApp

EquitoApp is the entry point for applications built on Equito Smart Contracts. EquitoApp simplifies the development of cross-chain applications by abstracting interactions with the Router and other standard practices, by implementing multiple interfaces, including IEquitoReceiver, which features the crucial receiveMessage function for message delivery.

Router

Router is a key component of the Equito protocol, managing the sending and receiving of cross-chain messages. Equito Validators monitor Router events and perform consensus operations to generate proofs necessary for validating messages across different chains. It handles message reception, verification, and storage via the deliverMessages function and executes stored messages with the executeMessage function.

ECDSAVerifier

ECDSAVerifier ensures the validity of ECDSA signatures generated by Equito Validators for cross-chain messages sent by the Router. By executing messages generated by the protocol itself, ECDSAVerifier stays up to date with the changes of the Validator Set. For this reason, its purpose is twofold: while it implements the IEquitoVerifier interface, which provides methods for messages and signatures verification, it also implements the IEquitoFees trait, useful for retrieving the current fee amount through the getFee function, and for paying said fees to the protocol, using the payFee function.

Oracle

In Equito, a message send request has a fixed cost, denominated in USD and upgradable by the Equito Governance, are fees paid on each chain withitsnative currency. For this reason, Oracle is crucial for providing current price information of native tokens relative to the USD. The getTokenPriceUsd is used by the IEquitoFees contracts to calculate accurate and fair fees for cross-chain messages.