MCPcopy Index your code
hub / github.com/Consensys/linea-attestation-registry

github.com/Consensys/linea-attestation-registry @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
516 symbols 1,609 edges 258 files 3 documented · 1% updated 1d agov10 · 2025-02-04★ 17589 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Verax Verax Attestation Registry

Verax is a shared registry for storing attestations of public interest on EVM chains, designed to enhance data discoverability and consumption for dApps across the network.

LinksRepository OrganisationGetting StartedContributingContracts AddressesSubgraphs URLsNetwork PrefixesLicense

Links

📚 Documentation
🔍 Subgraphs
🧱 Verax SDK
🌍 Explorer

Repository Organisation

.
├── contracts   # All smart contracts needed to run Verax
├── explorer    # Explorer frontend to discover the main objects
├── governance  # Governance NFTs
├── sdk         # An SDK to easily interact with the contracts and the subgraphs
├── snap        # A MetaMask Snap to leverage the attestations in transactions
├── subgraph    # The subgraph indexing all the data generated by the contracts
├── website     # Verax landing page and

Each package has its own README file for more details and installation process description.

Getting Started

Prerequisites

Global setup

pnpm i

Contributing

Verax Attestation Registry is a community-led initiative, with developers from various companies and different backgrounds. While we are more than happy to get help from multiple sources, we need to rely on strong Ways of Working.

Don't hesitate to check our Contribution Guide before pushing your first code to the repo!

Contracts Addresses

The main contracts (i.e. the "registries") and the helpers contracts are deployed on:

  • Linea Sepolia
  • Linea Mainnet
  • Arbitrum Sepolia
  • Arbitrum Mainnet
  • Base Sepolia
  • Base Mainnet
  • BSC Testnet
  • BSC Mainnet

Here are the addresses on those networks:

Linea Sepolia

Linea Mainnet

Arbitrum Sepolia

Arbitrum Mainnet

Base Sepolia

Base Mainnet

BSC Testnet

BSC

Subgraphs URLs

Subgraph V1

Subgraph V2

Network Prefixes

To easily differentiate the networks on which an attestation has been made, we use network prefixes for the Attestation ID. This prefix is defined in the contracts/script/utils.ts file.

  • Linea Sepolia - 0x0000
  • Linea Mainnet - 0x0000
  • Arbitrum Sepolia - 0x0001
  • Arbitrum Mainnet - 0x0001
  • Base Sepolia - 0x0005
  • Base Mainnet - 0x0005
  • BSC Testnet - 0x0006
  • BSC Mainnet - 0x0006

Deployment of a new Verax instance

Deploying a new Verax instance requires four main steps to cover the four main parts of the stack. Even if these steps are independent, and must not be done right away, they should be done in order.

  1. Deploy the core contracts (cf. documentation in the contracts folder)
  2. Deploy the subgraph (cf. documentation in the subgraph folder)
  3. Upgrade and deploy the SDK (cf. documentation in the sdk folder)
  4. Deploy the Explorer (cf. documentation in the explorer folder)

License

MIT

Extension points exported contracts — how you extend this code

Web3ProviderProps (Interface)
(no doc)
tutorial/src/Web3Provider.tsx
IPaginationProps (Interface)
(no doc)
explorer/src/components/Pagination/interface.ts
Conf (Interface)
(no doc)
sdk/src/types/index.ts
IBasicPaginationProps (Interface)
(no doc)
explorer/src/components/Pagination/Basic/interface.ts
IPFSConfig (Interface)
(no doc)
sdk/src/types/index.ts
PerPageSelectorProps (Interface)
(no doc)
explorer/src/components/Pagination/PerPageSelector/index.tsx
OffChainAttestationConfig (Interface)
(no doc)
sdk/src/types/index.ts
TooltipProps (Interface)
(no doc)
explorer/src/components/Tooltip/index.tsx

Core symbols most depended-on inside this repo

findOneById
called by 44
sdk/src/dataMapper/AttestationDataMapper.ts
findBy
called by 42
sdk/src/dataMapper/AttestationDataMapper.ts
findByMultiChain
called by 30
sdk/src/dataMapper/PortalDataMapper.ts
verifyContract
called by 27
contracts/script/utils.ts
cn
called by 26
explorer/src/utils/index.ts
useNetwork
called by 20
explorer/src/contexts/NetworkContext.ts
useNetworkContext
called by 18
explorer/src/providers/network-provider/context.ts
useNetworkTypeSWR
called by 17
explorer/src/hooks/useNetworkTypeSWR.ts

Shape

Function 307
Method 109
Interface 57
Class 35
Enum 8

Languages

TypeScript100%

Modules by API surface

sdk/src/dataMapper/PortalDataMapper.ts30 symbols
sdk/src/dataMapper/AttestationDataMapper.ts29 symbols
explorer/src/routes/constants.ts17 symbols
sdk/src/dataMapper/ModuleDataMapper.ts16 symbols
sdk/src/dataMapper/BaseDataMapper.ts16 symbols
explorer/src/utils/networkResolver.ts15 symbols
sdk/src/dataMapper/SchemaDataMapper.ts14 symbols
explorer/src/components/Pagination/index.tsx9 symbols
explorer/src/utils/searchUtils.ts8 symbols
subgraph/src/attestation-registry.ts7 symbols
explorer/src/components/Pagination/Basic/index.tsx7 symbols
sdk/src/utils/meshInstanceManager.ts6 symbols

For agents

$ claude mcp add linea-attestation-registry \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact