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
- Identify the interface you are changing (API, RPC method, ABI, schema, protobuf).
- Find the producer and consumer(s) below.
- Update all dependent components and re-run their validation steps.
Dependency Map
| Producer | Consumer | Interface | Source of Truth | Notes |
|---|---|---|---|---|
| PCL CLI | dApp API | HTTP API (assertion submit, auth) | credible-layer-dapp ts-rest routes | CLI uses dApp for metadata submit and auth |
| PCL CLI | Assertion DA | JSON-RPC (da_* methods) | credible-sdk DA service | CLI stores assertion bytecode |
| Credible SDK | Credible Std | Assertion interface (types, ABI, serialization) | credible-sdk + credible-std | Keep assertion interface in sync across runtime and std |
| Credible SDK | Phoundry (credible.rs) | Assertion interface (types, ABI, serialization) | credible-sdk + phoundry | phoundry/credible.rs must match SDK assertion interface |
| dApp UI | Chain RPC | JSON-RPC, wallet transactions | credible-layer-dapp chain configs | UI reads/writes contract state |
| dApp UI | AdminVerifier, StateOracle | Contract ABI + events | credible-layer-contracts | UI requires ABI changes for writes/reads |
| dApp API | Supabase | SQL schema + RLS | credible-layer-dapp | Breaking schema changes require API/UI updates |
| dApp UI | Indexer GraphQL | GraphQL schema | credible-layer-dapp/apps/indexer | Used for transparency and queries |
| Ponder Indexer | Chain RPC | JSON-RPC + logs | credible-layer-dapp/apps/indexer | Events drive indexing |
| Sidecar Indexer | Chain RPC | JSON-RPC + logs | credible-sdk sidecar | Watches registry events |
| Sidecar Indexer | Assertion DA | JSON-RPC (da_get_assertion) | credible-sdk DA service | Fetches assertion bytecode |
| Sidecar Engine | Assertion Store | Store API | credible-sdk sidecar + assertion-executor | Local cache of assertions |
| Sidecar | dApp API | HTTP API (incidents) | credible-layer-dapp | Incident ingestion and retries |
| Sidecar | State Store | MDBX/Redis APIs | credible-sdk state-store | State lookups for enforcement |
| Besu Plugin | Sidecar | HTTP JSON-RPC or gRPC | credible-layer-besu-plugin + credible-sdk | Transaction selection enforcement |
| Tracer Service | dApp API | HTTP callbacks | invalidating-trace + dApp API | Trace 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, andphoundry/credible.rs - Sidecar transport: gRPC protobuf + JSON-RPC schema in
credible-sdkandcredible-layer-besu-plugin - Contract ABIs:
credible-layer-contractsbuilds and deployment artifacts - Indexer GraphQL schema:
credible-layer-dapp/apps/indexer - Supabase schema and RLS:
credible-layer-dappmigrations
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.