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.