Skip to content

Public API

Guilherme Dantas edited this page Oct 14, 2025 · 5 revisions

Important

Contract addresses are not part of the public API.

As of version 2.0.0, the public API of the Cartesi Rollups contracts is composed of:

  • the following interfaces:

    • DataAvailability — defines the encoding of data availability identifiers
    • IApplication — the application interface
    • IApplicationFactory — the application factory interface
    • IAuthority — the authority interface
    • IAuthorityFactory — the authority factory interface
    • IConsensus — the consensus interface (implemented by authority and quorum)
    • IERC1155BatchPortal — the ERC-1155 batch transfer portal interface
    • IERC1155SinglePortal — the ERC-1155 single transfer portal interface
    • IERC20Portal — the ERC-20 transfer portal interface
    • IERC721Portal — the ERC-721 transfer portal interface
    • IEtherPortal — the Ether transfer portal interface
    • IInputBox — the input box interface
    • Inputs — defines the encoding of inputs (advance requests)
    • IOutputsMerkleRootValidator — the outputs Merkle root validator interface
    • IOwnable — the ownable interface (inspired by OpenZeppelin's ownable contract)
    • IPortal — the portal interface
    • IQuorum — the quorum interface
    • IQuorumFactory — the quorum factory interface
    • ISelfHostedApplicationFactory — the self-hosted application factory interface
    • Outputs — defines the encoding of outputs (notices and vouchers)
  • the following libraries:

    • InputEncoding — defines the encoding of inputs added by portals
  • the interface of the following contracts:

    • SafeERC20Transfer — a contract that safely transfers ERC-20 tokens (for delegatecall vouchers)
Clone this wiki locally