Skip to main content

dApp, CLI, and Smart Contract Interactions

Home · Generic Index · Chain Overlays

This document focuses on high-level interactions between the dApp, CLI, and on-chain contracts, plus how the on-chain registry feeds both the sidecar and the two indexers.

dApp + CLI + Contracts (High-Level)

Notes:

  • The dApp uses wagmi write calls to the State Oracle contract for assertion registry actions.
  • The dApp reads AdminVerifier to validate ownership before allowing project/contract actions.
  • Contract interactions from the UI flow through wallet RPC endpoints configured in chain profiles.
  • Chain profiles select production or staging State Oracle addresses; staging is used for pre-production workflows.
  • The CLI (pcl) pushes bytecode to Assertion DA and submits metadata to the dApp API.
  • On-chain registry updates are validated by AdminVerifier and DA verifier contracts inside State Oracle.
  • Contract structure and roles are summarized in docs/generic/contracts.md.

Contracts + Sidecar + Indexers

Notes:

  • The sidecar indexer watches State Oracle events and keeps the local assertion store in sync by fetching bytecode from Assertion DA.
  • The Ponder indexer watches both production and staging State Oracle events (when configured) and updates its own database for the dApp UI.