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.