special thanks to the Aztec team (@saleel) for building out the indexing logic
A Ponder-based indexer for tracking Continuous Clearing Auction events on Ethereum mainnet.
Disclaimer: This indexer is not production-ready and is intended for development and testing purposes only.
- Node.js >= 18.14
- npm or yarn
npm installCreate a .env file in the root directory with the following variables:
RPC_URL={your_ethereum_rpc_url}
AUCTION_CONTRACT_ADDRESS={0x_auction_contract_address}
START_BLOCK={deployment_block_number}
RPC_URL: Ethereum mainnet RPC endpoint (e.g., from Infura, Alchemy, or your own node)AUCTION_CONTRACT_ADDRESS: The address of the auction contract to indexSTART_BLOCK: The block number to start indexing from (use the deployment block of the auction to index)
Start the indexer in development mode with hot reloading:
npm run devStart the indexer in production mode:
npm run startManage the Ponder database:
npm run dbGenerate TypeScript types from your schema:
npm run codegenOnce the indexer is running, you can access the GraphQL API at:
http://localhost:42069/graphql
The GraphQL playground provides an interactive interface to explore the schema and query auction data
npm run lint- Run ESLintnpm run format- Format code with Prettiernpm run typecheck- Run TypeScript type checking
- Check out the CCA site: cca.uniswap.org
- CCA contracts: github.com/Uniswap/continuous-clearing-auction
- Ponder documentation: ponder.sh/docs
PRs welcome!
- Separate out the fill math from core indexer logic into a separate file
- Improve performance of the indexer