Skip to main content

Interface Dependencies

Home · Generic Index · Chain Overlays

This document is a dependency map for interfaces between components. Use it to assess what else must change when an API, protocol, schema, or contract is updated.

How To Use

  1. Identify the interface you are changing (API, RPC method, ABI, schema, protobuf).
  2. Find the producer and consumer(s) below.
  3. Update all dependent components and re-run their validation steps.

Dependency Map

ProducerConsumerInterfaceSource of TruthNotes
PCL CLIdApp APIHTTP API (assertion submit, auth)credible-layer-dapp ts-rest routesCLI uses dApp for metadata submit and auth
PCL CLIAssertion DAJSON-RPC (da_* methods)credible-sdk DA serviceCLI stores assertion bytecode
Credible SDKCredible StdAssertion interface (types, ABI, serialization)credible-sdk + credible-stdKeep assertion interface in sync across runtime and std
Credible SDKPhoundry (credible.rs)Assertion interface (types, ABI, serialization)credible-sdk + phoundryphoundry/credible.rs must match SDK assertion interface
dApp UIChain RPCJSON-RPC, wallet transactionscredible-layer-dapp chain configsUI reads/writes contract state
dApp UIAdminVerifier, StateOracleContract ABI + eventscredible-layer-contractsUI requires ABI changes for writes/reads
dApp APISupabaseSQL schema + RLScredible-layer-dappBreaking schema changes require API/UI updates
dApp UIIndexer GraphQLGraphQL schemacredible-layer-dapp/apps/indexerUsed for transparency and queries
Ponder IndexerChain RPCJSON-RPC + logscredible-layer-dapp/apps/indexerEvents drive indexing
Sidecar IndexerChain RPCJSON-RPC + logscredible-sdk sidecarWatches registry events
Sidecar IndexerAssertion DAJSON-RPC (da_get_assertion)credible-sdk DA serviceFetches assertion bytecode
Sidecar EngineAssertion StoreStore APIcredible-sdk sidecar + assertion-executorLocal cache of assertions
SidecardApp APIHTTP API (incidents)credible-layer-dappIncident ingestion and retries
SidecarState StoreMDBX/Redis APIscredible-sdk state-storeState lookups for enforcement
Besu PluginSidecarHTTP JSON-RPC or gRPCcredible-layer-besu-plugin + credible-sdkTransaction selection enforcement
Tracer ServicedApp APIHTTP callbacksinvalidating-trace + dApp APITrace requests and callbacks

Interface Artifacts To Track

  • dApp API: ts-rest router contracts in credible-layer-dapp
  • Assertion DA: JSON-RPC method set in credible-sdk
  • Assertion interface: shared types/ABI/serialization across credible-sdk, credible-std, and phoundry/credible.rs
  • Sidecar transport: gRPC protobuf + JSON-RPC schema in credible-sdk and credible-layer-besu-plugin
  • Contract ABIs: credible-layer-contracts builds and deployment artifacts
  • Indexer GraphQL schema: credible-layer-dapp/apps/indexer
  • Supabase schema and RLS: credible-layer-dapp migrations

Change Checklist

  • Update the source-of-truth definition.
  • Update all consumers listed in the dependency map.
  • Update docs and diagrams where applicable.
  • Validate using component-specific tests and API checks.