Skip to content

Service Architecture

Provides cached access to chain configs, RPC URLs, contract ABIs, and registry addresses. The ChainContractClient handles:

  • Network configuration with 5-minute cache
  • Contract ABI retrieval with 1-minute cache
  • Registry address lookup for component registration
  • Chain support validation

HTTP client with compile(), verify(), health() methods. Throws on non-2xx responses and handles:

  • Source code compilation without bytecode verification
  • Contract verification against on-chain bytecode
  • Solidity compilation with StandardJsonInput format

Service binding wrapper for EAS worker with tRPC communication and error handling:

  • Code verification attestation requests
  • Component ID generation using keccak256 hash
  • Workflow tracking with process identifiers

Multi-source lookup service using Alchemy API with block explorer fallback for contract deployment data:

  • Deployer address discovery
  • Creation transaction details
  • Block number and timestamp retrieval

Pinata IPFS client handling JSON bundle uploads with automatic versioning and CID retrieval:

  • Verification bundle storage with metadata
  • Enrichment bundle upload with versioning
  • Decentralized storage integration

HTTP client for workflow submission service that validates categories, maps to registry types, and constructs contract calls for blockchain component registration.