gitextract_uesrq4i8/ ├── .claude/ │ └── commands/ │ ├── audit-feature.md │ ├── generate-release-notes.md │ ├── nitpick.md │ ├── preprocess-logs.md │ └── prune-deadcode.md ├── .devcontainer/ │ ├── Dockerfile │ ├── devcontainer.json │ └── install.sh ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── documentation.yml │ │ ├── enhancement.yml │ │ ├── feature.yml │ │ └── question.yml │ ├── actions/ │ │ └── test-coverage/ │ │ └── action.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── benchmark-tests.yml │ ├── claude-security-reviewer.yaml │ ├── claude.yml │ ├── codeql-scanning.yaml │ ├── compile-protobufs.yaml │ ├── docker-publish-encoder-icicle.yaml │ ├── docker-publish-release.yaml │ ├── docker-publish.yaml │ ├── eigenda-releaser.yaml │ ├── golangci-lint.yml │ ├── integration-tests.yml │ ├── live-network-tests.yaml │ ├── mdbook-publish.yaml │ ├── mdbook-test.yaml │ ├── pr-title.yaml │ ├── rust-ci.yml │ ├── subgraph-tests.yml │ ├── test-contracts.yml │ ├── test-proxy.yml │ └── unit-tests.yml ├── .gitignore ├── .gitmodules ├── .golangci.yml ├── .yamlfmt ├── CLAUDE.md ├── Dockerfile ├── GitVersion.yml ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── api/ │ ├── Makefile │ ├── builder/ │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── build-docker.sh │ │ ├── clean.sh │ │ ├── debug-docker.sh │ │ ├── is-repo-clean.sh │ │ ├── protoc.sh │ │ └── rm-docker.sh │ ├── clients/ │ │ ├── codecs/ │ │ │ ├── blob_codec.go │ │ │ ├── blob_codec_test.go │ │ │ ├── default_blob_codec.go │ │ │ ├── fft.go │ │ │ ├── ifft_codec.go │ │ │ ├── no_ifft_codec.go │ │ │ └── polynomial_form.go │ │ ├── mock/ │ │ │ ├── disperser_server.go │ │ │ ├── node_client.go │ │ │ ├── retrieval_client.go │ │ │ └── static_request_signer.go │ │ ├── node_client.go │ │ ├── retrieval_client.go │ │ ├── retrieval_client_test.go │ │ └── v2/ │ │ ├── README.md │ │ ├── cert_builder.go │ │ ├── cert_verifier_address_provider.go │ │ ├── coretypes/ │ │ │ ├── blob.go │ │ │ ├── blob_test.go │ │ │ ├── conversion_utils.go │ │ │ ├── conversion_utils_test.go │ │ │ ├── derivation_errors.go │ │ │ ├── eigenda_cert.go │ │ │ ├── eigenda_cert_test.go │ │ │ ├── encoded_payload.go │ │ │ ├── encoded_payload_test.go │ │ │ ├── errors.go │ │ │ ├── payload.go │ │ │ └── payload_to_blob_test.go │ │ ├── dispersal/ │ │ │ ├── check_thresholds.go │ │ │ ├── disperser_client.go │ │ │ ├── disperser_client_multiplexer.go │ │ │ ├── disperser_client_multiplexer_config.go │ │ │ ├── disperser_client_multiplexer_test.go │ │ │ ├── disperser_client_test.go │ │ │ ├── payload_disperser.go │ │ │ ├── payload_disperser_config.go │ │ │ └── payload_disperser_test.go │ │ ├── dispersal_request_signer.go │ │ ├── dispersal_request_signer_test.go │ │ ├── metrics/ │ │ │ ├── accountant.go │ │ │ ├── dispersal.go │ │ │ ├── metrics.go │ │ │ └── retrieval.go │ │ ├── mock/ │ │ │ ├── node_client.go │ │ │ ├── relay_client.go │ │ │ └── retrieval_client.go │ │ ├── node_client.go │ │ ├── payload_client_config.go │ │ ├── payload_retriever.go │ │ ├── payloadretrieval/ │ │ │ ├── relay_payload_retriever.go │ │ │ ├── relay_payload_retriever_config.go │ │ │ ├── relay_payload_retriever_test.go │ │ │ ├── test/ │ │ │ │ └── test_relay_url_provider.go │ │ │ ├── validator_payload_retriever.go │ │ │ └── validator_payload_retriever_config.go │ │ ├── relay/ │ │ │ ├── key_lock.go │ │ │ ├── key_lock_test.go │ │ │ ├── relay_client.go │ │ │ └── relay_url_provider.go │ │ ├── utils.go │ │ ├── validator/ │ │ │ ├── internal/ │ │ │ │ ├── blob_decoder.go │ │ │ │ ├── chunk_deserializer.go │ │ │ │ └── validator_grpc_manager.go │ │ │ ├── mock/ │ │ │ │ ├── mock_blob_decoder.go │ │ │ │ ├── mock_chunk_deserializer.go │ │ │ │ └── mock_validator_grpc_manager.go │ │ │ ├── retrieval_worker.go │ │ │ ├── validator_client.go │ │ │ ├── validator_client_config.go │ │ │ ├── validator_client_metrics.go │ │ │ ├── validator_client_test.go │ │ │ └── validator_non_mock_test.go │ │ └── verification/ │ │ ├── block_number_monitor.go │ │ ├── block_number_monitor_test.go │ │ ├── cert_verifier.go │ │ ├── commitment_utils.go │ │ ├── commitment_utils_test.go │ │ ├── contract_status_codes.go │ │ ├── errors.go │ │ ├── router_cert_verifier_address_provider.go │ │ ├── static_cert_verifier_address_provider.go │ │ └── test/ │ │ └── test_cert_verifier_address_provider.go │ ├── errors.go │ ├── errors_test.go │ ├── grpc/ │ │ ├── churner/ │ │ │ ├── churner.pb.go │ │ │ └── churner_grpc.pb.go │ │ ├── common/ │ │ │ ├── common.pb.go │ │ │ └── v2/ │ │ │ └── common_v2.pb.go │ │ ├── controller/ │ │ │ ├── controller_service.pb.go │ │ │ ├── controller_service_grpc.pb.go │ │ │ └── mocks/ │ │ │ └── mock_controller_service_client.go │ │ ├── disperser/ │ │ │ ├── disperser.pb.go │ │ │ ├── disperser_grpc.pb.go │ │ │ └── v2/ │ │ │ ├── disperser_v2.pb.go │ │ │ ├── disperser_v2_grpc.pb.go │ │ │ └── mock/ │ │ │ └── disperser_mock.go │ │ ├── encoder/ │ │ │ ├── encoder.pb.go │ │ │ ├── encoder_grpc.pb.go │ │ │ └── v2/ │ │ │ ├── encoder_v2.pb.go │ │ │ └── encoder_v2_grpc.pb.go │ │ ├── mock/ │ │ │ ├── disperser.go │ │ │ └── node_disperser_client.go │ │ ├── node/ │ │ │ ├── node.pb.go │ │ │ └── node_grpc.pb.go │ │ ├── relay/ │ │ │ ├── relay.pb.go │ │ │ └── relay_grpc.pb.go │ │ ├── retriever/ │ │ │ ├── retriever.pb.go │ │ │ ├── retriever_grpc.pb.go │ │ │ └── v2/ │ │ │ ├── retriever_v2.pb.go │ │ │ └── retriever_v2_grpc.pb.go │ │ └── validator/ │ │ ├── node_v2.pb.go │ │ ├── node_v2_grpc.pb.go │ │ └── signing_rate.pb.go │ ├── hashing/ │ │ ├── authorize_payment_request_hashing.go │ │ ├── disperser_hashing.go │ │ ├── node_hashing.go │ │ ├── payment_state_hashing.go │ │ ├── relay_hashing.go │ │ └── utils.go │ ├── logging.go │ ├── proto/ │ │ ├── README.md │ │ ├── churner/ │ │ │ └── churner.proto │ │ ├── common/ │ │ │ ├── common.proto │ │ │ └── v2/ │ │ │ └── common_v2.proto │ │ ├── controller/ │ │ │ └── controller_service.proto │ │ ├── disperser/ │ │ │ ├── disperser.proto │ │ │ └── v2/ │ │ │ └── disperser_v2.proto │ │ ├── encoder/ │ │ │ ├── encoder.proto │ │ │ └── v2/ │ │ │ └── encoder_v2.proto │ │ ├── node/ │ │ │ └── node.proto │ │ ├── relay/ │ │ │ └── relay.proto │ │ ├── retriever/ │ │ │ ├── retriever.proto │ │ │ └── v2/ │ │ │ └── retriever_v2.proto │ │ └── validator/ │ │ ├── node_v2.proto │ │ └── signing_rate.proto │ └── proxy/ │ ├── .envrc │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── clients/ │ │ ├── doc.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── memconfig_client/ │ │ │ ├── client.go │ │ │ └── memstore_example_test.go │ │ └── standard_client/ │ │ ├── client.go │ │ └── example_memstore_test.go │ ├── cmd/ │ │ └── server/ │ │ ├── entrypoint.go │ │ └── main.go │ ├── common/ │ │ ├── client_config_v2.go │ │ ├── common.go │ │ ├── common_test.go │ │ ├── compatibility_config.go │ │ ├── compatibility_config_test.go │ │ ├── consts/ │ │ │ └── consts.go │ │ ├── eigenda_network.go │ │ ├── proxyerrors/ │ │ │ ├── 4xx.go │ │ │ └── 5xx.go │ │ ├── secret_config.go │ │ ├── secret_config_test.go │ │ ├── store.go │ │ └── types/ │ │ ├── certs/ │ │ │ ├── eigenda.go │ │ │ └── offchain_derivation.go │ │ └── commitments/ │ │ ├── arb.go │ │ ├── mode.go │ │ ├── op.go │ │ └── standard.go │ ├── config/ │ │ ├── app_config.go │ │ ├── enablement/ │ │ │ ├── cli.go │ │ │ ├── enabled_apis.go │ │ │ └── enabled_apis_test.go │ │ ├── flags.go │ │ └── v2/ │ │ └── eigendaflags/ │ │ ├── cli.go │ │ └── deprecated.go │ ├── docker-compose.yaml │ ├── docs/ │ │ ├── help_out.txt │ │ └── metrics_out.txt │ ├── logging/ │ │ └── logging.go │ ├── metrics/ │ │ ├── cli.go │ │ ├── memory.go │ │ ├── metrics.go │ │ └── server.go │ ├── monitor/ │ │ ├── grafana/ │ │ │ ├── dashboards/ │ │ │ │ └── simple_dashboard.json │ │ │ └── provisioning/ │ │ │ ├── dashboards/ │ │ │ │ └── all.yml │ │ │ └── datasources/ │ │ │ └── all.yml │ │ └── prometheus.yml │ ├── resources/ │ │ ├── g1.point │ │ ├── g2.point │ │ ├── g2.trailing.point │ │ └── srs.go │ ├── scripts/ │ │ ├── create-test-s3-bucket.sh │ │ ├── test-proxy-startup-with-env-vars.sh │ │ └── wait-for.sh │ ├── servers/ │ │ ├── arbitrum_altda/ │ │ │ ├── cli.go │ │ │ ├── handlers.go │ │ │ ├── handlers_test.go │ │ │ ├── mocks.go │ │ │ ├── server.go │ │ │ └── types.go │ │ └── rest/ │ │ ├── cli.go │ │ ├── handlers_cert.go │ │ ├── handlers_cert_test.go │ │ ├── handlers_misc.go │ │ ├── handlers_misc_test.go │ │ ├── middleware/ │ │ │ ├── error.go │ │ │ ├── error_test.go │ │ │ ├── logging.go │ │ │ ├── metrics.go │ │ │ ├── middleware.go │ │ │ ├── request_context.go │ │ │ ├── request_context_test.go │ │ │ └── status_capture_writer.go │ │ ├── routing.go │ │ ├── routing_test.go │ │ └── server.go │ ├── store/ │ │ ├── builder/ │ │ │ ├── config.go │ │ │ └── storage_manager_builder.go │ │ ├── cli.go │ │ ├── config.go │ │ ├── config_test.go │ │ ├── deprecated_flags.go │ │ ├── eigenda_manager.go │ │ ├── generated_key/ │ │ │ ├── memstore/ │ │ │ │ ├── README.md │ │ │ │ ├── cli.go │ │ │ │ ├── ephemeraldb/ │ │ │ │ │ ├── ephemeral_db.go │ │ │ │ │ └── ephemeral_db_test.go │ │ │ │ ├── memconfig/ │ │ │ │ │ ├── config.go │ │ │ │ │ ├── http_handlers.go │ │ │ │ │ └── http_handlers_test.go │ │ │ │ └── v2/ │ │ │ │ ├── memstore.go │ │ │ │ └── memstore_test.go │ │ │ ├── utils/ │ │ │ │ └── store_utils.go │ │ │ └── v2/ │ │ │ ├── eigenda.go │ │ │ └── verify_test.go │ │ ├── keccak_manager.go │ │ └── secondary/ │ │ ├── redis/ │ │ │ └── cli.go │ │ ├── s3/ │ │ │ ├── cli.go │ │ │ ├── errors.go │ │ │ ├── s3.go │ │ │ └── s3_test.go │ │ └── secondary.go │ └── test/ │ ├── benchmark/ │ │ └── benchmark_test.go │ ├── e2e/ │ │ ├── configuration_test.go │ │ ├── main_test.go │ │ ├── op_contract_rest_test.go │ │ ├── safety_checks_rest_test.go │ │ ├── server_arb_test.go │ │ └── server_rest_test.go │ ├── fuzz/ │ │ └── server_fuzz_test.go │ ├── mocks/ │ │ ├── eigen_da_manager.go │ │ ├── eth_client.go │ │ └── keccak_manager.go │ └── testutils/ │ ├── setup.go │ ├── test_suite.go │ └── utils.go ├── codecov.yml ├── common/ │ ├── CLAUDE.md │ ├── abi.go │ ├── abis/ │ │ └── EigenDAServiceManager.json │ ├── aws/ │ │ ├── cli.go │ │ ├── dynamodb/ │ │ │ ├── client.go │ │ │ ├── client_test.go │ │ │ ├── utils/ │ │ │ │ └── test_utils.go │ │ │ └── utils_test.go │ │ ├── kms.go │ │ ├── kms_fuzz_test.go │ │ ├── mock/ │ │ │ └── dynamodb_client.go │ │ └── secretmanager/ │ │ └── secretmanager.go │ ├── cache/ │ │ ├── cache.go │ │ ├── cache_metrics.go │ │ ├── fifo_cache.go │ │ ├── fifo_cache_test.go │ │ └── thread_safe_cache.go │ ├── chain_id.go │ ├── common.go │ ├── common_test.go │ ├── config/ │ │ ├── README.md │ │ ├── bootstrap.go │ │ ├── bootstrap_test/ │ │ │ ├── README.md │ │ │ ├── config.toml │ │ │ └── main.go │ │ ├── config_document_generator.go │ │ ├── config_parser.go │ │ ├── config_test.go │ │ ├── doc_generator/ │ │ │ └── main.go │ │ ├── secret/ │ │ │ ├── secret.go │ │ │ ├── secret_parser.go │ │ │ └── secret_test.go │ │ ├── simple_logger_config.go │ │ ├── test/ │ │ │ ├── config.json │ │ │ ├── config.toml │ │ │ ├── config.yaml │ │ │ ├── config_doc_test_structs.go │ │ │ ├── config_document_generator_test.go │ │ │ ├── config_override.json │ │ │ ├── config_override.toml │ │ │ ├── config_override.yaml │ │ │ └── invalid_config.toml │ │ ├── util.go │ │ ├── util_test.go │ │ └── verifiable_config.go │ ├── disperser/ │ │ ├── disperser_registry.go │ │ ├── disperser_registry_legacy.go │ │ └── mock_disperser_registry.go │ ├── enforce/ │ │ ├── assertions.go │ │ └── assertions_test.go │ ├── ethclient.go │ ├── fireblocks_config.go │ ├── geth/ │ │ ├── cli.go │ │ ├── client.go │ │ ├── failover.go │ │ ├── handle_error.go │ │ ├── instrumented_client.go │ │ ├── multihoming_client.go │ │ ├── multihoming_client_test.go │ │ ├── rpc_utils.go │ │ └── rpc_utils_test.go │ ├── grpc_client_pool.go │ ├── grpc_server_config.go │ ├── healthcheck/ │ │ ├── heartbeat.go │ │ ├── heartbeat_test.go │ │ └── server.go │ ├── kms_wallet_config.go │ ├── kvstore/ │ │ ├── batch.go │ │ ├── key.go │ │ ├── leveldb/ │ │ │ ├── leveldb_store.go │ │ │ └── metrics.go │ │ ├── store.go │ │ ├── table.go │ │ └── test/ │ │ └── store_test.go │ ├── logger_config.go │ ├── math/ │ │ ├── math.go │ │ └── math_test.go │ ├── memory/ │ │ ├── Dockerfile.memtest │ │ ├── memory.go │ │ ├── memory_test.go │ │ └── run_memory_test.sh │ ├── metrics/ │ │ └── metrics.go │ ├── mock/ │ │ ├── ethclient.go │ │ ├── ratelimiter.go │ │ ├── rpc_ethclient.go │ │ └── workerpool.go │ ├── nameremapping/ │ │ └── name_remapping.go │ ├── param_store.go │ ├── pprof/ │ │ └── server.go │ ├── pubip/ │ │ ├── mock_provider.go │ │ ├── multi_provider.go │ │ ├── pubip.go │ │ ├── pubip_test.go │ │ └── simple_provider.go │ ├── ratelimit/ │ │ ├── leaky_bucket.go │ │ ├── leaky_bucket_test.go │ │ ├── limiter.go │ │ ├── limiter_cli.go │ │ ├── overfill_behavior.go │ │ └── ratelimit_test.go │ ├── ratelimit.go │ ├── ratelimit_test.go │ ├── read_only_map.go │ ├── read_only_map_test.go │ ├── replay/ │ │ ├── no_op_replay_gaurdian.go │ │ ├── replay_gaurdian.go │ │ ├── replay_gaurdian_test.go │ │ └── replay_guardian_impl.go │ ├── reputation/ │ │ ├── reputation.go │ │ ├── reputation_config.go │ │ ├── reputation_selector.go │ │ ├── reputation_selector_config.go │ │ ├── reputation_selector_test.go │ │ └── reputation_test.go │ ├── rpc_ethclient.go │ ├── s3/ │ │ ├── aws/ │ │ │ ├── aws_s3_client.go │ │ │ └── aws_s3_client_test.go │ │ ├── mock_s3_client.go │ │ ├── oci/ │ │ │ └── oci_s3_client.go │ │ ├── s3_client.go │ │ └── scoped_keys.go │ ├── stage_timer.go │ ├── store/ │ │ ├── dynamo_store.go │ │ ├── dynamo_store_test.go │ │ ├── local_store.go │ │ └── local_store_test.go │ ├── structures/ │ │ ├── CLAUDE.md │ │ ├── index_lock.go │ │ ├── priority_queue.go │ │ ├── priority_queue_test.go │ │ ├── queue.go │ │ ├── queue_test.go │ │ ├── random_access_deque.go │ │ └── random_access_deque_test.go │ ├── units.go │ ├── variable_ticker.go │ ├── version/ │ │ ├── default_version.go │ │ ├── default_version_test.go │ │ ├── semver.go │ │ └── semver_test.go │ └── workerpool.go ├── contracts/ │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── Makefile │ ├── README.md │ ├── bindings/ │ │ ├── AVSDirectory/ │ │ │ └── binding.go │ │ ├── BLSApkRegistry/ │ │ │ └── binding.go │ │ ├── BN254/ │ │ │ └── binding.go │ │ ├── BitmapUtils/ │ │ │ └── binding.go │ │ ├── DelegationManager/ │ │ │ └── binding.go │ │ ├── EigenDACertVerifier/ │ │ │ └── binding.go │ │ ├── EigenDACertVerifierRouter/ │ │ │ └── binding.go │ │ ├── EigenDACertVerifierV1/ │ │ │ └── binding.go │ │ ├── EigenDACertVerifierV2/ │ │ │ └── binding.go │ │ ├── EigenDADisperserRegistry/ │ │ │ └── binding.go │ │ ├── EigenDARegistryCoordinator/ │ │ │ └── binding.go │ │ ├── EigenDARelayRegistry/ │ │ │ └── binding.go │ │ ├── EigenDAServiceManager/ │ │ │ └── binding.go │ │ ├── EigenDAThresholdRegistry/ │ │ │ └── binding.go │ │ ├── EjectionManager/ │ │ │ └── binding.go │ │ ├── IEigenDACertTypeBindings/ │ │ │ └── binding.go │ │ ├── IEigenDACertVerifierLegacy/ │ │ │ └── binding.go │ │ ├── IEigenDADirectory/ │ │ │ └── binding.go │ │ ├── IEigenDAEjectionManager/ │ │ │ └── binding.go │ │ ├── IEigenDARelayRegistry/ │ │ │ └── binding.go │ │ ├── IEigenDAServiceManager/ │ │ │ └── binding.go │ │ ├── IIndexRegistry/ │ │ │ └── binding.go │ │ ├── OperatorStateRetriever/ │ │ │ └── binding.go │ │ ├── PaymentVault/ │ │ │ └── binding.go │ │ ├── SocketRegistry/ │ │ │ └── binding.go │ │ ├── StakeRegistry/ │ │ │ └── binding.go │ │ └── v2/ │ │ ├── EigenDACertVerifier/ │ │ │ └── binding.go │ │ └── PaymentVault/ │ │ └── binding.go │ ├── foundry.toml │ ├── generate-bindings.sh │ ├── package.json │ ├── remappings.txt │ ├── script/ │ │ ├── DeployOpenEigenLayer.s.sol │ │ ├── EigenDADeployer.s.sol │ │ ├── EigenLayerUtils.s.sol │ │ ├── EjectionManagerDeployer.s.sol │ │ ├── GenerateUnitTestHashes.s.sol │ │ ├── SetUpEigenDA.s.sol │ │ ├── deploy/ │ │ │ ├── certverifier/ │ │ │ │ ├── CertVerifierDeployerV1.s.sol │ │ │ │ ├── CertVerifierDeployerV2.s.sol │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ ├── v1/ │ │ │ │ │ │ └── sepolia/ │ │ │ │ │ │ └── testnet.config.json │ │ │ │ │ └── v2/ │ │ │ │ │ ├── hoodi.preprod.config.json │ │ │ │ │ ├── hoodi.testnet.config.json │ │ │ │ │ ├── mainnet.prod.config.json │ │ │ │ │ └── sepolia.testnet.config.json │ │ │ │ └── output/ │ │ │ │ └── h.txt │ │ │ ├── eigenda/ │ │ │ │ ├── DeployEigenDA.s.sol │ │ │ │ ├── DeployEigenDAConfig.sol │ │ │ │ ├── README.md │ │ │ │ ├── mainnet.beta.config.toml │ │ │ │ ├── preprod.hoodi.config.toml │ │ │ │ └── testnet.hoodi.config.toml │ │ │ ├── existing/ │ │ │ │ ├── Holesky_preprod.json │ │ │ │ └── Holesky_testnet.json │ │ │ └── router/ │ │ │ ├── CertVerifierRouterDeployer.s.sol │ │ │ ├── README.md │ │ │ └── config/ │ │ │ └── example_config.json │ │ └── input/ │ │ └── .gitkeep │ ├── src/ │ │ ├── Imports.sol │ │ ├── core/ │ │ │ ├── EigenDAAccessControl.sol │ │ │ ├── EigenDADirectory.sol │ │ │ ├── EigenDADisperserRegistry.sol │ │ │ ├── EigenDADisperserRegistryStorage.sol │ │ │ ├── EigenDARegistryCoordinator.sol │ │ │ ├── EigenDARegistryCoordinatorStorage.sol │ │ │ ├── EigenDARelayRegistry.sol │ │ │ ├── EigenDARelayRegistryStorage.sol │ │ │ ├── EigenDAServiceManager.sol │ │ │ ├── EigenDAServiceManagerStorage.sol │ │ │ ├── EigenDAThresholdRegistry.sol │ │ │ ├── EigenDAThresholdRegistryImmutableV1.sol │ │ │ ├── EigenDAThresholdRegistryStorage.sol │ │ │ ├── PaymentVault.sol │ │ │ ├── PaymentVaultStorage.sol │ │ │ ├── interfaces/ │ │ │ │ ├── IEigenDABatchMetadataStorage.sol │ │ │ │ ├── IEigenDADirectory.sol │ │ │ │ ├── IEigenDADisperserRegistry.sol │ │ │ │ ├── IEigenDARelayRegistry.sol │ │ │ │ ├── IEigenDASemVer.sol │ │ │ │ ├── IEigenDAServiceManager.sol │ │ │ │ ├── IEigenDASignatureVerifier.sol │ │ │ │ ├── IEigenDAThresholdRegistry.sol │ │ │ │ └── IPaymentVault.sol │ │ │ └── libraries/ │ │ │ ├── v1/ │ │ │ │ └── EigenDATypesV1.sol │ │ │ ├── v2/ │ │ │ │ └── EigenDATypesV2.sol │ │ │ └── v3/ │ │ │ ├── access-control/ │ │ │ │ └── AccessControlConstants.sol │ │ │ ├── address-directory/ │ │ │ │ ├── AddressDirectoryConstants.sol │ │ │ │ ├── AddressDirectoryLib.sol │ │ │ │ └── AddressDirectoryStorage.sol │ │ │ ├── config-registry/ │ │ │ │ ├── ConfigRegistryLib.sol │ │ │ │ ├── ConfigRegistryStorage.sol │ │ │ │ └── ConfigRegistryTypes.sol │ │ │ └── initializable/ │ │ │ ├── InitializableLib.sol │ │ │ └── InitializableStorage.sol │ │ ├── integrations/ │ │ │ └── cert/ │ │ │ ├── EigenDACertTypes.sol │ │ │ ├── EigenDACertVerifier.sol │ │ │ ├── interfaces/ │ │ │ │ ├── IEigenDACertTypeBindings.sol │ │ │ │ ├── IEigenDACertVerifier.sol │ │ │ │ ├── IEigenDACertVerifierBase.sol │ │ │ │ ├── IEigenDACertVerifierRouter.sol │ │ │ │ └── IVersionedEigenDACertVerifier.sol │ │ │ ├── legacy/ │ │ │ │ ├── IEigenDACertVerifierLegacy.sol │ │ │ │ ├── v1/ │ │ │ │ │ ├── EigenDACertVerificationV1Lib.sol │ │ │ │ │ └── EigenDACertVerifierV1.sol │ │ │ │ └── v2/ │ │ │ │ ├── EigenDACertVerificationV2Lib.sol │ │ │ │ └── EigenDACertVerifierV2.sol │ │ │ ├── libraries/ │ │ │ │ └── EigenDACertVerificationLib.sol │ │ │ └── router/ │ │ │ ├── CertVerifierRouterFactory.sol │ │ │ └── EigenDACertVerifierRouter.sol │ │ └── periphery/ │ │ └── ejection/ │ │ ├── EigenDAEjectionManager.sol │ │ ├── IEigenDAEjectionManager.sol │ │ └── libraries/ │ │ ├── EigenDAEjectionLib.sol │ │ ├── EigenDAEjectionStorage.sol │ │ └── EigenDAEjectionTypes.sol │ └── test/ │ ├── MockEigenDADeployer.sol │ ├── mock/ │ │ ├── MockRegistryCoordinator.sol │ │ └── MockStakeRegistry.sol │ └── unit/ │ ├── ConfigRegistryUnit.t.sol │ ├── EigenDABlobUtilsV1Unit.t.sol │ ├── EigenDACertVerifierRouterUnit.t.sol │ ├── EigenDACertVerifierV2Unit.t.sol │ ├── EigenDADirectory.t.sol │ ├── EigenDADisperserRegistryUnit.t.sol │ ├── EigenDAEjectionManager.t.sol │ ├── EigenDARelayRegistryUnit.t.sol │ ├── EigenDAServiceManagerUnit.t.sol │ ├── EigenDAThresholdRegistryUnit.t.sol │ └── PaymentVaultUnit.t.sol ├── core/ │ ├── CLAUDE.md │ ├── aggregation.go │ ├── aggregation_test.go │ ├── assignment.go │ ├── assignment_test.go │ ├── attestation.go │ ├── auth/ │ │ ├── auth_test.go │ │ ├── authenticator.go │ │ ├── signer.go │ │ └── v2/ │ │ ├── auth_test.go │ │ ├── authenticator.go │ │ ├── signer.go │ │ └── signer_test.go │ ├── auth.go │ ├── bn254/ │ │ └── attestation.go │ ├── chainio.go │ ├── data.go │ ├── data_test.go │ ├── eth/ │ │ ├── directory/ │ │ │ ├── contract_directory.go │ │ │ └── contract_names.go │ │ ├── operatorstate/ │ │ │ ├── mock_operator_state_cache.go │ │ │ └── operator_state_cache.go │ │ ├── quorum_scanner.go │ │ ├── reader.go │ │ ├── reference_block_provider.go │ │ ├── state.go │ │ ├── utils.go │ │ ├── validator_id_to_address.go │ │ ├── validator_quorum_lookup.go │ │ ├── validator_stake_lookup.go │ │ └── writer.go │ ├── indexer/ │ │ ├── errors.go │ │ ├── indexer.go │ │ ├── indexer_suite_test.go │ │ ├── operator_pubkeys.go │ │ ├── operator_pubkeys_filterer.go │ │ ├── operator_sockets.go │ │ ├── operator_sockets_filterer.go │ │ ├── state.go │ │ ├── state_test.go │ │ └── upgrader.go │ ├── meterer/ │ │ ├── dynamodb_metering_store.go │ │ ├── dynamodb_metering_store_test.go │ │ ├── meterer.go │ │ ├── meterer_test.go │ │ ├── metering_store.go │ │ ├── on_demand_meterer.go │ │ ├── on_demand_meterer_metrics.go │ │ ├── on_demand_meterer_test.go │ │ ├── onchain_state.go │ │ ├── onchain_state_test.go │ │ └── util.go │ ├── mock/ │ │ ├── indexed_state.go │ │ ├── operator_sockets_filterer.go │ │ ├── payment_state.go │ │ ├── state.go │ │ ├── v2/ │ │ │ └── validator.go │ │ ├── validator.go │ │ └── writer.go │ ├── payments/ │ │ ├── CLAUDE.md │ │ ├── clientledger/ │ │ │ ├── CLAUDE.md │ │ │ ├── client_ledger.go │ │ │ ├── client_ledger_mode.go │ │ │ └── client_ledger_test.go │ │ ├── ondemand/ │ │ │ ├── CLAUDE.md │ │ │ ├── cumulative_payment_store.go │ │ │ ├── errors.go │ │ │ ├── on_demand_ledger.go │ │ │ ├── on_demand_vault_monitor.go │ │ │ ├── ondemandvalidation/ │ │ │ │ ├── CLAUDE.md │ │ │ │ ├── on_demand_cache_metrics.go │ │ │ │ ├── on_demand_ledger_cache.go │ │ │ │ ├── on_demand_ledger_cache_config.go │ │ │ │ ├── on_demand_payment_validator.go │ │ │ │ └── on_demand_validator_metrics.go │ │ │ └── test/ │ │ │ ├── cumulative_payment_store_test.go │ │ │ ├── on_demand_ledger_cache_test.go │ │ │ ├── on_demand_ledger_test.go │ │ │ ├── on_demand_payment_validator_test.go │ │ │ ├── on_demand_vault_monitor_test.go │ │ │ └── setup_test.go │ │ ├── payment_vault.go │ │ ├── reservation/ │ │ │ ├── CLAUDE.md │ │ │ ├── errors.go │ │ │ ├── reservation.go │ │ │ ├── reservation_ledger.go │ │ │ ├── reservation_ledger_config.go │ │ │ ├── reservation_ledger_test.go │ │ │ ├── reservation_test.go │ │ │ ├── reservation_vault_monitor.go │ │ │ ├── reservation_vault_monitor_test.go │ │ │ └── reservationvalidation/ │ │ │ ├── CLAUDE.md │ │ │ ├── reservation_cache_metrics.go │ │ │ ├── reservation_ledger_cache.go │ │ │ ├── reservation_ledger_cache_config.go │ │ │ ├── reservation_ledger_cache_test.go │ │ │ ├── reservation_payment_validator.go │ │ │ ├── reservation_payment_validator_test.go │ │ │ └── reservation_validator_metrics.go │ │ ├── utils.go │ │ └── vault/ │ │ ├── CLAUDE.md │ │ ├── payment_vault.go │ │ └── test_payment_vault.go │ ├── serialization.go │ ├── serialization_test.go │ ├── signingrate/ │ │ ├── dynamo_signing_rate_storage.go │ │ ├── no_op_signing_rate_tracker.go │ │ ├── signing_rate_bucket.go │ │ ├── signing_rate_bucket_test.go │ │ ├── signing_rate_flusher.go │ │ ├── signing_rate_loader.go │ │ ├── signing_rate_mirroring.go │ │ ├── signing_rate_storage.go │ │ ├── signing_rate_storage_test.go │ │ ├── signing_rate_tracker.go │ │ ├── signing_rate_tracker_impl.go │ │ ├── signing_rate_tracker_test.go │ │ ├── threadsafe_signing_rate_tracker.go │ │ └── util.go │ ├── state.go │ ├── state_test.go │ ├── test/ │ │ └── core_test.go │ ├── thegraph/ │ │ ├── config.go │ │ ├── querier.go │ │ ├── querier_test.go │ │ ├── state.go │ │ ├── state_integration_test.go │ │ └── state_test.go │ ├── utils.go │ ├── v2/ │ │ ├── assignment.go │ │ ├── assignment_test.go │ │ ├── auth.go │ │ ├── blob_params.go │ │ ├── core_test.go │ │ ├── errors.go │ │ ├── serialization.go │ │ ├── serialization_test.go │ │ ├── types.go │ │ ├── types_test.go │ │ └── validator.go │ └── validator.go ├── crypto/ │ └── ecc/ │ └── bn254/ │ ├── attestation.go │ └── utils.go ├── disperser/ │ ├── .gitignore │ ├── Makefile │ ├── apiserver/ │ │ ├── config.go │ │ ├── disperse_blob_v2.go │ │ ├── get_blob_status_v2.go │ │ ├── metrics_v2.go │ │ ├── server_v2.go │ │ └── server_v2_test.go │ ├── batcher/ │ │ ├── batcher.go │ │ ├── batcher_test.go │ │ ├── encoded_blob_store.go │ │ ├── encoding_streamer.go │ │ ├── encoding_streamer_test.go │ │ ├── finalizer.go │ │ ├── finalizer_test.go │ │ ├── grpc/ │ │ │ └── dispatcher.go │ │ ├── metrics.go │ │ ├── mock/ │ │ │ ├── finalizer.go │ │ │ └── txn_manager.go │ │ ├── txn_manager.go │ │ └── txn_manager_test.go │ ├── cmd/ │ │ ├── apiserver/ │ │ │ ├── flags/ │ │ │ │ └── flags.go │ │ │ ├── lib/ │ │ │ │ ├── apiserver.go │ │ │ │ └── config.go │ │ │ └── main.go │ │ ├── batcher/ │ │ │ ├── config.go │ │ │ ├── flags/ │ │ │ │ └── flags.go │ │ │ └── main.go │ │ ├── blobapi/ │ │ │ └── main.go │ │ ├── controller/ │ │ │ ├── config.go │ │ │ ├── flags/ │ │ │ │ └── flags.go │ │ │ └── main.go │ │ ├── dataapi/ │ │ │ ├── config.go │ │ │ ├── docs/ │ │ │ │ └── docs.go │ │ │ ├── flags/ │ │ │ │ └── flags.go │ │ │ └── main.go │ │ └── encoder/ │ │ ├── config.go │ │ ├── flags/ │ │ │ └── flags.go │ │ ├── icicle.Dockerfile │ │ └── main.go │ ├── common/ │ │ ├── blobstore/ │ │ │ ├── blob_metadata_store.go │ │ │ ├── blob_metadata_store_test.go │ │ │ ├── blobstore_test.go │ │ │ ├── client_factory.go │ │ │ ├── client_factory_test.go │ │ │ ├── shared_storage.go │ │ │ └── shared_storage_test.go │ │ ├── errors.go │ │ ├── inmem/ │ │ │ ├── store.go │ │ │ └── store_test.go │ │ ├── semver/ │ │ │ └── semver.go │ │ ├── utils.go │ │ └── v2/ │ │ ├── blob.go │ │ └── blobstore/ │ │ ├── blobstore_test.go │ │ ├── dynamo_metadata_store.go │ │ ├── dynamo_metadata_store_test.go │ │ ├── errors.go │ │ ├── instrumented_metadata_store.go │ │ ├── metadata_store.go │ │ ├── s3_blob_store.go │ │ └── s3_blob_store_test.go │ ├── controller/ │ │ ├── blob_dispersal_queue.go │ │ ├── controller.go │ │ ├── controller_config.go │ │ ├── controller_metrics.go │ │ ├── controller_test.go │ │ ├── dispatcher_test.go │ │ ├── dynamodb_blob_dispersal_queue.go │ │ ├── encoding_manager.go │ │ ├── encoding_manager_metrics.go │ │ ├── encoding_manager_test.go │ │ ├── metadata/ │ │ │ ├── batch_metadata.go │ │ │ ├── batch_metadata_manager.go │ │ │ └── mock_batch_metadata_manager.go │ │ ├── metrics/ │ │ │ └── server_metrics.go │ │ ├── mock_node_client_manager.go │ │ ├── node_client_manager.go │ │ ├── node_client_manager_test.go │ │ ├── payment_authorization.go │ │ ├── payments/ │ │ │ └── payment_authorization_handler.go │ │ ├── recover_state.go │ │ ├── recover_state_test.go │ │ ├── server/ │ │ │ └── server.go │ │ ├── signature_receiver.go │ │ └── signature_receiver_test.go │ ├── dataapi/ │ │ ├── Makefile │ │ ├── blobs_handlers.go │ │ ├── config.go │ │ ├── docs/ │ │ │ ├── v1/ │ │ │ │ ├── V1_docs.go │ │ │ │ ├── V1_swagger.json │ │ │ │ └── V1_swagger.yaml │ │ │ └── v2/ │ │ │ ├── V2_docs.go │ │ │ ├── V2_swagger.json │ │ │ └── V2_swagger.yaml │ │ ├── feed_cache_metrics.go │ │ ├── grpc_service_availability_handler.go │ │ ├── http_service_availability_handler.go │ │ ├── metrics.go │ │ ├── metrics_handler.go │ │ ├── metrics_handlers.go │ │ ├── nonsigner_handler.go │ │ ├── nonsigner_utils.go │ │ ├── nonsigner_utils_test.go │ │ ├── operator_handler.go │ │ ├── prometheus/ │ │ │ ├── api.go │ │ │ ├── config.go │ │ │ └── mock/ │ │ │ └── api.go │ │ ├── prometheus_client.go │ │ ├── queried_operators_handlers.go │ │ ├── server.go │ │ ├── server_test.go │ │ ├── subgraph/ │ │ │ ├── api.go │ │ │ ├── mock/ │ │ │ │ └── api.go │ │ │ └── queries.go │ │ ├── subgraph_client.go │ │ ├── subgraph_client_test.go │ │ ├── testdata/ │ │ │ ├── prometheus-resp-avg-throughput.json │ │ │ └── prometheus-response-sample.json │ │ ├── utils.go │ │ └── v2/ │ │ ├── accounts.go │ │ ├── batches.go │ │ ├── blobs.go │ │ ├── circular_queue.go │ │ ├── circular_queue_test.go │ │ ├── feed_cache.go │ │ ├── feed_cache_test.go │ │ ├── metrics.go │ │ ├── operators.go │ │ ├── reservation_collector.go │ │ ├── server_v2.go │ │ ├── server_v2_test.go │ │ ├── swagger.go │ │ ├── testdata/ │ │ │ ├── prometheus-resp-avg-throughput.json │ │ │ ├── prometheus-response-network-signing-rate.json │ │ │ └── prometheus-response-sample.json │ │ ├── time.go │ │ └── types.go │ ├── disperser.go │ ├── encoder/ │ │ ├── client.go │ │ ├── client_v2.go │ │ ├── config.go │ │ ├── metrics.go │ │ ├── server.go │ │ ├── server_test.go │ │ ├── server_v2.go │ │ ├── server_v2_test.go │ │ └── setup_test.go │ ├── encoder_client.go │ ├── encoder_client_v2.go │ ├── local_encoder_client.go │ ├── metrics.go │ ├── mock/ │ │ ├── dispatcher.go │ │ ├── encoder.go │ │ └── encoder_v2.go │ └── server_config.go ├── doc_generator ├── docker-bake.hcl ├── docs/ │ ├── CLAUDE.md │ ├── config/ │ │ ├── Controller.md │ │ ├── Ejector.md │ │ └── TrafficGenerator.md │ ├── contributing.md │ ├── release/ │ │ ├── release-example.md │ │ └── release-process.md │ ├── spec/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── book.toml │ │ ├── last-changed.css │ │ ├── mermaid-init.js │ │ └── src/ │ │ ├── SUMMARY.md │ │ ├── glossary.md │ │ ├── integration/ │ │ │ ├── rollup-stacks/ │ │ │ │ ├── 1-op-secure-integration-workflow.md │ │ │ │ ├── 2-op-hokulea-secure-integration.md │ │ │ │ ├── 3-op-optimistic-fault-proof.md │ │ │ │ └── 4-arbitrum-secure-integration.md │ │ │ ├── rollup-stacks.md │ │ │ ├── spec/ │ │ │ │ ├── 1-apis.md │ │ │ │ ├── 2-rollup-payload-lifecycle.md │ │ │ │ ├── 3-data-structs.md │ │ │ │ ├── 4-contracts.md │ │ │ │ ├── 5-lifecycle-phases.md │ │ │ │ ├── 6-secure-integration.md │ │ │ │ └── 7-secure-upgrade.md │ │ │ └── spec.md │ │ ├── integration.md │ │ ├── introduction.md │ │ ├── protocol/ │ │ │ ├── architecture/ │ │ │ │ ├── amortized-proving.md │ │ │ │ ├── assignment.md │ │ │ │ ├── encoding.md │ │ │ │ ├── security-parameters.md │ │ │ │ └── write-and-read-workflow.md │ │ │ ├── architecture.md │ │ │ ├── contracts.md │ │ │ ├── payments/ │ │ │ │ ├── payment_system.md │ │ │ │ └── payment_system_migration.md │ │ │ └── validator-set-governance.md │ │ ├── protocol.md │ │ └── v1.md │ └── style-guide.md ├── ejector/ │ ├── Makefile │ ├── controller_signing_rate_lookup.go │ ├── data_api_signing_rate_lookup.go │ ├── ejection_manager.go │ ├── ejection_manager_test.go │ ├── ejection_transactor.go │ ├── ejector.go │ ├── ejector_config.go │ ├── main/ │ │ └── main.go │ ├── mock_ejection_transactor.go │ ├── signing_rate_lookup.go │ ├── signing_rate_lookup_test.go │ ├── threaded_ejection_manager.go │ └── utils.go ├── encoding/ │ ├── README.md │ ├── backend.go │ ├── codec/ │ │ ├── README.md │ │ ├── codec.go │ │ └── test/ │ │ └── codec_test.go │ ├── constants.go │ ├── data.go │ ├── icicle/ │ │ ├── const.go │ │ ├── const_noicicle.go │ │ ├── device_setup.go │ │ ├── msm_setup.go │ │ ├── ntt_setup.go │ │ └── utils.go │ ├── kzgflags/ │ │ └── cli.go │ ├── params.go │ ├── serialization.go │ ├── serialization_test.go │ ├── utils/ │ │ └── reverseBits/ │ │ └── reverseBits.go │ ├── utils.go │ ├── v1/ │ │ ├── fft/ │ │ │ ├── fft.go │ │ │ ├── fft_fr.go │ │ │ ├── fft_fr_test.go │ │ │ ├── fft_g1.go │ │ │ ├── fft_test.go │ │ │ ├── recover_from_samples.go │ │ │ ├── recover_from_samples_test.go │ │ │ ├── zero_poly.go │ │ │ └── zero_poly_test.go │ │ ├── kzg/ │ │ │ ├── constants.go │ │ │ ├── kzgconfig.go │ │ │ ├── pointsIO.go │ │ │ ├── pointsIO_test.go │ │ │ ├── prover/ │ │ │ │ ├── decode.go │ │ │ │ ├── decode_test.go │ │ │ │ ├── gnark/ │ │ │ │ │ ├── commitments.go │ │ │ │ │ └── multiframe_proof.go │ │ │ │ ├── icicle/ │ │ │ │ │ ├── ecntt.go │ │ │ │ │ ├── msm.go │ │ │ │ │ └── multiframe_proof.go │ │ │ │ ├── icicle.go │ │ │ │ ├── noicicle.go │ │ │ │ ├── parametrized_prover.go │ │ │ │ ├── parametrized_prover_test.go │ │ │ │ ├── precompute.go │ │ │ │ ├── precompute_test.go │ │ │ │ ├── proof_backend.go │ │ │ │ ├── prover.go │ │ │ │ ├── prover_fuzz_test.go │ │ │ │ ├── prover_test.go │ │ │ │ └── toeplitz/ │ │ │ │ ├── toeplitz.go │ │ │ │ └── toeplitz_test.go │ │ │ ├── srs.go │ │ │ └── verifier/ │ │ │ ├── batch_commit_equivalence.go │ │ │ ├── batch_commit_equivalence_test.go │ │ │ ├── frame_test.go │ │ │ ├── length_test.go │ │ │ ├── multiframe.go │ │ │ ├── multiframe_test.go │ │ │ ├── parametrized_verifier.go │ │ │ ├── verifier.go │ │ │ └── verifier_test.go │ │ └── rs/ │ │ ├── encoder.go │ │ ├── encoder_test.go │ │ ├── frame_coeffs.go │ │ ├── frame_coeffs_test.go │ │ ├── gnark/ │ │ │ └── extend_poly.go │ │ ├── icicle/ │ │ │ └── extend_poly.go │ │ ├── icicle.go │ │ ├── noicicle.go │ │ ├── parametrized_encoder.go │ │ ├── utils.go │ │ └── utils_test.go │ └── v2/ │ ├── bench/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── benchmark_eigenda_test.go │ │ ├── benchmark_icicle_test.go │ │ ├── benchmark_primitives_test.go │ │ └── results/ │ │ ├── golang_bench_eigenda_darwin_arm64.txt │ │ ├── golang_bench_eigenda_linux_amd64_ec2_g6.xlarge.txt │ │ ├── golang_bench_primitives_darwin_arm64.txt │ │ └── golang_bench_primitives_linux_amd64_ec2_g6.xlarge.txt │ ├── fft/ │ │ ├── fft.go │ │ ├── fft_fr.go │ │ ├── fft_fr_test.go │ │ ├── fft_g1.go │ │ ├── fft_test.go │ │ ├── recover_from_samples.go │ │ ├── recover_from_samples_test.go │ │ ├── zero_poly.go │ │ └── zero_poly_test.go │ ├── kzg/ │ │ ├── committer/ │ │ │ ├── committer.go │ │ │ ├── committer_test.go │ │ │ ├── config.go │ │ │ ├── doc.go │ │ │ ├── verify_length_proof.go │ │ │ └── verify_length_proof_test.go │ │ ├── constants.go │ │ ├── pointsIO.go │ │ ├── pointsIO_test.go │ │ ├── prover/ │ │ │ ├── backend/ │ │ │ │ ├── gnark/ │ │ │ │ │ └── multiframe_proof.go │ │ │ │ ├── icicle/ │ │ │ │ │ ├── multiframe_proof.go │ │ │ │ │ └── noicicle.go │ │ │ │ └── proof_backend.go │ │ │ ├── config.go │ │ │ ├── parametrized_prover.go │ │ │ ├── parametrized_prover_test.go │ │ │ ├── precompute.go │ │ │ ├── precompute_test.go │ │ │ ├── prover.go │ │ │ ├── prover_test.go │ │ │ └── test_harness_test.go │ │ └── verifier/ │ │ ├── config.go │ │ ├── parametrized_verifier.go │ │ ├── test_harness_test.go │ │ ├── verifier.go │ │ └── verifier_test.go │ └── rs/ │ ├── backend/ │ │ ├── gnark/ │ │ │ └── extend_poly.go │ │ ├── icicle/ │ │ │ ├── extend_poly.go │ │ │ └── noicicle.go │ │ └── rs_backend.go │ ├── encoder.go │ ├── encoder_test.go │ ├── frame_coeffs.go │ ├── frame_coeffs_test.go │ ├── parametrized_encoder.go │ ├── utils.go │ └── utils_test.go ├── go.mod ├── go.sum ├── inabox/ │ ├── .gitignore │ ├── AnvilStateGen_README.md │ ├── Makefile │ ├── README.md │ ├── create-s3-bucket.sh │ ├── deploy/ │ │ ├── cmd/ │ │ │ └── main.go │ │ ├── codegen/ │ │ │ ├── gen.sh │ │ │ └── main.go │ │ ├── config.go │ │ ├── config_types.go │ │ ├── deploy.go │ │ ├── env_vars.go │ │ └── utils.go │ ├── ratelimit.sh │ ├── templates/ │ │ ├── testconfig-anvil-nochurner.yaml │ │ └── testconfig-anvil.yaml │ └── tests/ │ ├── integration_suite_test.go │ ├── integration_v2_test.go │ ├── payments/ │ │ ├── payload_submitter.go │ │ └── payments_test.go │ ├── setup_chain_harness.go │ ├── setup_disperser_harness.go │ ├── setup_infra.go │ ├── setup_operator_harness.go │ ├── setup_test_harness.go │ ├── test_harness.go │ ├── test_payload_disperser_config.go │ └── utils.go ├── indexer/ │ ├── accumulator.go │ ├── cli.go │ ├── config.go │ ├── eth/ │ │ ├── header_service.go │ │ └── header_service_test.go │ ├── filterer.go │ ├── header.go │ ├── header_service.go │ ├── header_store.go │ ├── indexer.go │ ├── inmem/ │ │ ├── encoding.go │ │ ├── header_store.go │ │ ├── header_store_test.go │ │ └── testdata/ │ │ ├── fork1.json │ │ └── fork2.json │ ├── leveldb/ │ │ ├── encoding.go │ │ ├── header_store.go │ │ ├── header_store_test.go │ │ ├── leveldb.go │ │ ├── schema.go │ │ └── testdata/ │ │ ├── fork1.json │ │ ├── fork2.json │ │ └── headers.json │ ├── mock/ │ │ └── indexer.go │ ├── test/ │ │ ├── accumulator/ │ │ │ ├── accumulator.go │ │ │ ├── bindings/ │ │ │ │ └── binding.go │ │ │ └── filterer.go │ │ ├── accumulator.go │ │ ├── contracts/ │ │ │ ├── WETH9.abi │ │ │ ├── Weth.go │ │ │ └── weth.sol │ │ ├── filterer.go │ │ ├── indexer_test.go │ │ ├── mock/ │ │ │ ├── chain.json │ │ │ ├── contract_simulator.go │ │ │ ├── contract_simulator_test.go │ │ │ └── simulated_backend.go │ │ └── upgrader.go │ └── upgrades.go ├── litt/ │ ├── Makefile │ ├── README.md │ ├── benchmark/ │ │ ├── benchmark_engine.go │ │ ├── benchmark_metrics.go │ │ ├── cmd/ │ │ │ └── main.go │ │ ├── cohort.go │ │ ├── cohort_test.go │ │ ├── config/ │ │ │ ├── basic-config.json │ │ │ ├── benchmark-grafana-dashboard.json │ │ │ ├── benchmark_config.go │ │ │ └── benchmark_config_test.go │ │ ├── data_generator.go │ │ ├── data_generator_test.go │ │ ├── data_tracker.go │ │ ├── data_tracker_test.go │ │ └── run.sh │ ├── cache/ │ │ └── cached_table.go │ ├── cli/ │ │ ├── benchmark.go │ │ ├── litt_cli.go │ │ ├── ls.go │ │ ├── ls_test.go │ │ ├── main.go │ │ ├── prune.go │ │ ├── prune_test.go │ │ ├── push.go │ │ ├── push_test.go │ │ ├── rebase.go │ │ ├── rebase_test.go │ │ ├── sync.go │ │ ├── table_info.go │ │ ├── table_info_test.go │ │ └── unlock.go │ ├── db.go │ ├── disktable/ │ │ ├── boundary_file.go │ │ ├── boundary_file_test.go │ │ ├── control_loop.go │ │ ├── control_loop_messages.go │ │ ├── disk_table.go │ │ ├── disk_table_flush_loop.go │ │ ├── disk_table_test.go │ │ ├── flush_coordinator.go │ │ ├── flush_coordinator_test.go │ │ ├── flush_loop.go │ │ ├── flush_loop_messages.go │ │ ├── keymap/ │ │ │ ├── keymap.go │ │ │ ├── keymap_test.go │ │ │ ├── keymap_type.go │ │ │ ├── keymap_type_file.go │ │ │ ├── level_db_keymap.go │ │ │ └── mem_keymap.go │ │ ├── segment/ │ │ │ ├── address_test.go │ │ │ ├── key_file.go │ │ │ ├── key_file_test.go │ │ │ ├── metadata_file.go │ │ │ ├── metadata_file_test.go │ │ │ ├── segment.go │ │ │ ├── segment_path.go │ │ │ ├── segment_path_test.go │ │ │ ├── segment_scanner.go │ │ │ ├── segment_test.go │ │ │ ├── segment_version.go │ │ │ ├── value_file.go │ │ │ └── value_file_test.go │ │ ├── table_metadata.go │ │ └── unlock.go │ ├── docs/ │ │ ├── architecture.md │ │ ├── benchmark-data/ │ │ │ └── 8-27-2025/ │ │ │ └── README.md │ │ ├── filesystem_layout.md │ │ └── littdb_cli.md │ ├── littbuilder/ │ │ ├── build_utils.go │ │ └── db_impl.go │ ├── littdb_config.go │ ├── memtable/ │ │ └── mem_table.go │ ├── metrics/ │ │ └── littdb_metrics.go │ ├── table.go │ ├── test/ │ │ ├── cache_test.go │ │ ├── db_test.go │ │ ├── generate_example_tree_test.go │ │ ├── keymap_migration_test.go │ │ ├── lock_test.go │ │ ├── migration_data.go │ │ ├── migration_test.go │ │ ├── snapshot_test.go │ │ ├── table_test.go │ │ ├── testdata/ │ │ │ ├── v0/ │ │ │ │ └── test/ │ │ │ │ ├── keymap/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── 000001.log │ │ │ │ │ │ ├── CURRENT │ │ │ │ │ │ ├── LOCK │ │ │ │ │ │ ├── LOG │ │ │ │ │ │ └── MANIFEST-000000 │ │ │ │ │ ├── initialized │ │ │ │ │ └── keymap-type.txt │ │ │ │ ├── segments/ │ │ │ │ │ ├── 0-0.values │ │ │ │ │ ├── 0-1.values │ │ │ │ │ ├── 0-2.values │ │ │ │ │ ├── 0-3.values │ │ │ │ │ ├── 0.keys │ │ │ │ │ ├── 0.metadata │ │ │ │ │ ├── 1-0.values │ │ │ │ │ ├── 1-1.values │ │ │ │ │ ├── 1-2.values │ │ │ │ │ ├── 1-3.values │ │ │ │ │ ├── 1.keys │ │ │ │ │ ├── 1.metadata │ │ │ │ │ ├── 2-0.values │ │ │ │ │ ├── 2-1.values │ │ │ │ │ ├── 2-2.values │ │ │ │ │ ├── 2-3.values │ │ │ │ │ ├── 2.keys │ │ │ │ │ ├── 2.metadata │ │ │ │ │ ├── 3-0.values │ │ │ │ │ ├── 3-1.values │ │ │ │ │ ├── 3-2.values │ │ │ │ │ ├── 3-3.values │ │ │ │ │ ├── 3.keys │ │ │ │ │ ├── 3.metadata │ │ │ │ │ ├── 4-0.values │ │ │ │ │ ├── 4-1.values │ │ │ │ │ ├── 4-2.values │ │ │ │ │ ├── 4-3.values │ │ │ │ │ ├── 4.keys │ │ │ │ │ ├── 4.metadata │ │ │ │ │ ├── 5-0.values │ │ │ │ │ ├── 5-1.values │ │ │ │ │ ├── 5-2.values │ │ │ │ │ ├── 5-3.values │ │ │ │ │ ├── 5.keys │ │ │ │ │ ├── 5.metadata │ │ │ │ │ ├── 6-0.values │ │ │ │ │ ├── 6-1.values │ │ │ │ │ ├── 6-2.values │ │ │ │ │ ├── 6-3.values │ │ │ │ │ ├── 6.keys │ │ │ │ │ └── 6.metadata │ │ │ │ └── table.metadata │ │ │ ├── v1/ │ │ │ │ └── test/ │ │ │ │ ├── keymap/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── 000001.log │ │ │ │ │ │ ├── CURRENT │ │ │ │ │ │ ├── LOCK │ │ │ │ │ │ ├── LOG │ │ │ │ │ │ └── MANIFEST-000000 │ │ │ │ │ ├── initialized │ │ │ │ │ └── keymap-type.txt │ │ │ │ ├── segments/ │ │ │ │ │ ├── 0-0.values │ │ │ │ │ ├── 0-1.values │ │ │ │ │ ├── 0-2.values │ │ │ │ │ ├── 0-3.values │ │ │ │ │ ├── 0.keys │ │ │ │ │ ├── 0.metadata │ │ │ │ │ ├── 1-0.values │ │ │ │ │ ├── 1-1.values │ │ │ │ │ ├── 1-2.values │ │ │ │ │ ├── 1-3.values │ │ │ │ │ ├── 1.keys │ │ │ │ │ ├── 1.metadata │ │ │ │ │ ├── 2-0.values │ │ │ │ │ ├── 2-1.values │ │ │ │ │ ├── 2-2.values │ │ │ │ │ ├── 2-3.values │ │ │ │ │ ├── 2.keys │ │ │ │ │ ├── 2.metadata │ │ │ │ │ ├── 3-0.values │ │ │ │ │ ├── 3-1.values │ │ │ │ │ ├── 3-2.values │ │ │ │ │ ├── 3-3.values │ │ │ │ │ ├── 3.keys │ │ │ │ │ ├── 3.metadata │ │ │ │ │ ├── 4-0.values │ │ │ │ │ ├── 4-1.values │ │ │ │ │ ├── 4-2.values │ │ │ │ │ ├── 4-3.values │ │ │ │ │ ├── 4.keys │ │ │ │ │ ├── 4.metadata │ │ │ │ │ ├── 5-0.values │ │ │ │ │ ├── 5-1.values │ │ │ │ │ ├── 5-2.values │ │ │ │ │ ├── 5-3.values │ │ │ │ │ ├── 5.keys │ │ │ │ │ ├── 5.metadata │ │ │ │ │ ├── 6-0.values │ │ │ │ │ ├── 6-1.values │ │ │ │ │ ├── 6-2.values │ │ │ │ │ ├── 6-3.values │ │ │ │ │ ├── 6.keys │ │ │ │ │ └── 6.metadata │ │ │ │ └── table.metadata │ │ │ └── v2/ │ │ │ └── test/ │ │ │ ├── keymap/ │ │ │ │ ├── data/ │ │ │ │ │ ├── 000001.log │ │ │ │ │ ├── CURRENT │ │ │ │ │ ├── LOCK │ │ │ │ │ ├── LOG │ │ │ │ │ └── MANIFEST-000000 │ │ │ │ ├── initialized │ │ │ │ └── keymap-type.txt │ │ │ ├── segments/ │ │ │ │ ├── 0-0.values │ │ │ │ ├── 0-1.values │ │ │ │ ├── 0-2.values │ │ │ │ ├── 0-3.values │ │ │ │ ├── 0.keys │ │ │ │ ├── 0.metadata │ │ │ │ ├── 1-0.values │ │ │ │ ├── 1-1.values │ │ │ │ ├── 1-2.values │ │ │ │ ├── 1-3.values │ │ │ │ ├── 1.keys │ │ │ │ ├── 1.metadata │ │ │ │ ├── 2-0.values │ │ │ │ ├── 2-1.values │ │ │ │ ├── 2-2.values │ │ │ │ ├── 2-3.values │ │ │ │ ├── 2.keys │ │ │ │ ├── 2.metadata │ │ │ │ ├── 3-0.values │ │ │ │ ├── 3-1.values │ │ │ │ ├── 3-2.values │ │ │ │ ├── 3-3.values │ │ │ │ ├── 3.keys │ │ │ │ ├── 3.metadata │ │ │ │ ├── 4-0.values │ │ │ │ ├── 4-1.values │ │ │ │ ├── 4-2.values │ │ │ │ ├── 4-3.values │ │ │ │ ├── 4.keys │ │ │ │ ├── 4.metadata │ │ │ │ ├── 5-0.values │ │ │ │ ├── 5-1.values │ │ │ │ ├── 5-2.values │ │ │ │ ├── 5-3.values │ │ │ │ ├── 5.keys │ │ │ │ ├── 5.metadata │ │ │ │ ├── 6-0.values │ │ │ │ ├── 6-1.values │ │ │ │ ├── 6-2.values │ │ │ │ ├── 6-3.values │ │ │ │ ├── 6.keys │ │ │ │ ├── 6.metadata │ │ │ │ ├── 7-0.values │ │ │ │ ├── 7-1.values │ │ │ │ ├── 7-2.values │ │ │ │ ├── 7-3.values │ │ │ │ ├── 7.keys │ │ │ │ └── 7.metadata │ │ │ └── table.metadata │ │ └── unlock_test.go │ ├── types/ │ │ ├── address.go │ │ ├── kv_pair.go │ │ └── scoped_key.go │ └── util/ │ ├── constants.go │ ├── error_monitor.go │ ├── file_lock.go │ ├── file_lock_test.go │ ├── file_utils.go │ ├── file_utils_test.go │ ├── hashing.go │ ├── recursive_move.go │ ├── recursive_move_test.go │ ├── ssh.go │ ├── ssh_self_destruct_test.go │ ├── ssh_test.go │ ├── ssh_test_utils.go │ ├── testdata/ │ │ ├── ssh-test.Dockerfile │ │ └── start.sh │ └── unsafe_string.go ├── mise.toml ├── node/ │ ├── .gitignore │ ├── Makefile │ ├── auth/ │ │ ├── authenticator.go │ │ ├── authenticator_test.go │ │ ├── request_signing.go │ │ ├── request_signing_test.go │ │ └── request_signing_test_utils.go │ ├── churner_client.go │ ├── cmd/ │ │ ├── main.go │ │ └── resources/ │ │ ├── nginx-ec2.conf │ │ └── nginx-local.conf │ ├── config.go │ ├── config_test.go │ ├── database-paths.md │ ├── ejection/ │ │ └── ejection_sentinel.go │ ├── errors.go │ ├── flags/ │ │ ├── deprecated.go │ │ ├── deprecated_test.go │ │ └── flags.go │ ├── grpc/ │ │ ├── listeners.go │ │ ├── metrics_v2.go │ │ ├── middleware/ │ │ │ ├── disperser_ratelimiter.go │ │ │ ├── disperser_ratelimiter_test.go │ │ │ ├── storechunks_interceptor.go │ │ │ └── storechunks_interceptor_test.go │ │ ├── run.go │ │ ├── server_v2.go │ │ └── server_v2_test.go │ ├── index_to_range_test.go │ ├── metrics.go │ ├── mock/ │ │ ├── .keep │ │ ├── churner_client.go │ │ ├── store_v2.go │ │ ├── testdata.go │ │ └── timestamp.go │ ├── node.go │ ├── node_internal_test.go │ ├── node_on_demand_test.go │ ├── node_test.go │ ├── node_v2.go │ ├── node_v2_test.go │ ├── operator.go │ ├── operator_test.go │ ├── plugin/ │ │ ├── cmd/ │ │ │ └── main.go │ │ ├── config.go │ │ ├── tests/ │ │ │ └── plugin_test.go │ │ └── utils.go │ ├── store.go │ ├── store_test.go │ ├── store_utils.go │ ├── store_utils_test.go │ ├── timestamp.go │ ├── utils.go │ ├── v1_deprecation.go │ ├── v1_deprecation_test.go │ ├── validator_store.go │ ├── validator_store_test.go │ └── version.go ├── operators/ │ ├── churner/ │ │ ├── Makefile │ │ ├── churner.go │ │ ├── churner_test.go │ │ ├── cmd/ │ │ │ └── main.go │ │ ├── config.go │ │ ├── flags/ │ │ │ └── flags.go │ │ ├── metrics.go │ │ ├── server.go │ │ ├── server_test.go │ │ └── tests/ │ │ └── churner_test.go │ ├── ejector/ │ │ ├── ejector.go │ │ └── metrics.go │ └── utils.go ├── prometheus.yml ├── relay/ │ ├── Makefile │ ├── auth/ │ │ ├── authenticator.go │ │ ├── authenticator_test.go │ │ ├── request_signing.go │ │ └── request_signing_test.go │ ├── blob_provider.go │ ├── blob_provider_test.go │ ├── cache/ │ │ ├── cache_accessor.go │ │ ├── cache_accessor_metrics.go │ │ └── cache_accessor_test.go │ ├── chunk_provider.go │ ├── chunk_provider_test.go │ ├── chunkstore/ │ │ ├── chunk_reader.go │ │ ├── chunk_store_test.go │ │ ├── chunk_writer.go │ │ └── config.go │ ├── cmd/ │ │ ├── flags/ │ │ │ └── flags.go │ │ ├── lib/ │ │ │ ├── config.go │ │ │ └── relay.go │ │ └── main.go │ ├── config.go │ ├── limiter/ │ │ ├── blob_rate_limiter.go │ │ ├── blob_rate_limiter_test.go │ │ ├── chunk_rate_limiter.go │ │ ├── chunk_rate_limiter_test.go │ │ ├── config.go │ │ └── limiter_test.go │ ├── metadata_provider.go │ ├── metadata_provider_test.go │ ├── metrics/ │ │ └── metrics.go │ ├── relay_test_utils.go │ ├── server.go │ ├── server_test.go │ ├── testutils.go │ └── timeout_config.go ├── resources/ │ └── srs/ │ ├── README.md │ ├── g1.point │ ├── g2.point │ ├── g2.point.powerOf2 │ ├── g2.trailing.point │ ├── srs-files-16777216.sha256 │ ├── srs.go │ └── srs_test.go ├── retriever/ │ ├── Makefile │ ├── cmd/ │ │ ├── .keep │ │ └── main.go │ ├── config.go │ ├── eth/ │ │ ├── chain_client.go │ │ └── chain_client_test.go │ ├── flags/ │ │ └── flags.go │ ├── metrics.go │ ├── mock/ │ │ └── chain_client.go │ ├── server.go │ ├── server_test.go │ └── v2/ │ ├── server.go │ └── server_test.go ├── rust/ │ ├── .cargo/ │ │ └── config.toml │ ├── Cargo.toml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── crates/ │ │ ├── eigenda-ethereum/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── address.rs │ │ │ ├── contracts.rs │ │ │ ├── lib.rs │ │ │ └── provider.rs │ │ ├── eigenda-proxy/ │ │ │ ├── Cargo.toml │ │ │ ├── build.rs │ │ │ └── src/ │ │ │ ├── client.rs │ │ │ ├── lib.rs │ │ │ └── managed_proxy.rs │ │ ├── eigenda-srs-data/ │ │ │ ├── Cargo.toml │ │ │ ├── build.rs │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── eigenda-tests/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ └── lib.rs │ │ │ └── tests/ │ │ │ ├── common/ │ │ │ │ ├── mod.rs │ │ │ │ ├── proxy.rs │ │ │ │ └── tracing.rs │ │ │ └── integration.rs │ │ └── eigenda-verification/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── benches/ │ │ │ ├── blob_verification.rs │ │ │ └── cert_verification.rs │ │ └── src/ │ │ ├── cert/ │ │ │ ├── mod.rs │ │ │ └── solidity.rs │ │ ├── error.rs │ │ ├── extraction/ │ │ │ ├── contract.rs │ │ │ ├── decode_helpers.rs │ │ │ ├── extractor.rs │ │ │ ├── mod.rs │ │ │ └── storage_key_helpers.rs │ │ ├── lib.rs │ │ └── verification/ │ │ ├── blob/ │ │ │ ├── codec.rs │ │ │ ├── error.rs │ │ │ └── mod.rs │ │ ├── cert/ │ │ │ ├── bitmap.rs │ │ │ ├── check.rs │ │ │ ├── convert.rs │ │ │ ├── error.rs │ │ │ ├── hash.rs │ │ │ ├── mod.rs │ │ │ ├── signature/ │ │ │ │ ├── aggregation.rs │ │ │ │ ├── mod.rs │ │ │ │ └── verification.rs │ │ │ └── types/ │ │ │ ├── conversions.rs │ │ │ ├── history.rs │ │ │ └── mod.rs │ │ └── mod.rs │ ├── deny.toml │ ├── mise.toml │ ├── rust-toolchain.toml │ ├── rustfmt.toml │ └── taplo.toml ├── scripts/ │ ├── hooks/ │ │ └── pre-commit │ └── install-hooks.sh ├── subgraphs/ │ ├── .gitignore │ ├── README.md │ ├── constants.ts │ ├── eigenda-batch-metadata/ │ │ ├── abis/ │ │ │ └── EigenDAServiceManager.json │ │ ├── package.json │ │ ├── schema.graphql │ │ ├── src/ │ │ │ └── edasm.ts │ │ ├── templates/ │ │ │ ├── .gitignore │ │ │ ├── anvil.json │ │ │ ├── devnet.json │ │ │ ├── hoodi.json │ │ │ ├── mainnet.json │ │ │ ├── preprod-hoodi.json │ │ │ ├── sepolia.json │ │ │ └── subgraph.template.yaml │ │ └── tests/ │ │ ├── edasm-utils.ts │ │ └── edasm.test.ts │ ├── eigenda-operator-state/ │ │ ├── .matchstickrc.yaml │ │ ├── VERSION │ │ ├── abis/ │ │ │ ├── BLSApkRegistry.json │ │ │ ├── EjectionManager.json │ │ │ └── RegistryCoordinator.json │ │ ├── package.json │ │ ├── schema.graphql │ │ ├── src/ │ │ │ ├── bls-apk-registry.ts │ │ │ ├── ejection-manager.ts │ │ │ ├── operator-creation.ts │ │ │ ├── operator-registration-status.ts │ │ │ ├── quorum-apk-updates.ts │ │ │ └── registry-coordinator.ts │ │ ├── templates/ │ │ │ ├── .gitignore │ │ │ ├── anvil.json │ │ │ ├── devnet.json │ │ │ ├── hoodi.json │ │ │ ├── mainnet.json │ │ │ ├── preprod-hoodi.json │ │ │ ├── sepolia.json │ │ │ └── subgraph.template.yaml │ │ └── tests/ │ │ ├── operator-state-utils.ts │ │ ├── operator-state.test.ts │ │ ├── quorum-apk-utils.ts │ │ └── quorum-apk.test.ts │ ├── eigenda-payments/ │ │ ├── .gitignore │ │ ├── QUERY_EXAMPLES.md │ │ ├── abis/ │ │ │ └── PaymentVault.json │ │ ├── package.json │ │ ├── schema.graphql │ │ ├── src/ │ │ │ └── payment-vault.ts │ │ ├── templates/ │ │ │ ├── .gitignore │ │ │ ├── devnet.json │ │ │ ├── hoodi.json │ │ │ ├── mainnet.json │ │ │ ├── preprod-hoodi.json │ │ │ ├── sepolia.json │ │ │ └── subgraph.template.yaml │ │ ├── tests/ │ │ │ ├── payment-vault-utils.ts │ │ │ └── payment-vault.test.ts │ │ └── tsconfig.json │ ├── package.json │ └── tsconfig.json ├── test/ │ ├── assertions.go │ ├── localstack_setup.go │ ├── logger.go │ ├── random/ │ │ ├── random.go │ │ ├── random_deprecated.go │ │ └── random_test.go │ ├── scripts/ │ │ ├── test-with-blacklist.sh │ │ └── test-with-whitelist.sh │ ├── skip_in_ci.go │ ├── testbed/ │ │ ├── deploy_anvil.go │ │ ├── deploy_anvil_test.go │ │ ├── deploy_contracts.go │ │ ├── deploy_contracts_test.go │ │ ├── deploy_localstack_resources.go │ │ ├── deploy_subgraphs.go │ │ ├── graph_node.go │ │ ├── localstack.go │ │ ├── logger_adapter.go │ │ └── secrets/ │ │ ├── bls_keys/ │ │ │ ├── keys/ │ │ │ │ ├── 1.bls.key.json │ │ │ │ ├── 10.bls.key.json │ │ │ │ ├── 11.bls.key.json │ │ │ │ ├── 12.bls.key.json │ │ │ │ ├── 13.bls.key.json │ │ │ │ ├── 14.bls.key.json │ │ │ │ ├── 15.bls.key.json │ │ │ │ ├── 16.bls.key.json │ │ │ │ ├── 17.bls.key.json │ │ │ │ ├── 18.bls.key.json │ │ │ │ ├── 19.bls.key.json │ │ │ │ ├── 2.bls.key.json │ │ │ │ ├── 20.bls.key.json │ │ │ │ ├── 21.bls.key.json │ │ │ │ ├── 22.bls.key.json │ │ │ │ ├── 23.bls.key.json │ │ │ │ ├── 24.bls.key.json │ │ │ │ ├── 25.bls.key.json │ │ │ │ ├── 26.bls.key.json │ │ │ │ ├── 27.bls.key.json │ │ │ │ ├── 28.bls.key.json │ │ │ │ ├── 29.bls.key.json │ │ │ │ ├── 3.bls.key.json │ │ │ │ ├── 30.bls.key.json │ │ │ │ ├── 31.bls.key.json │ │ │ │ ├── 32.bls.key.json │ │ │ │ ├── 4.bls.key.json │ │ │ │ ├── 5.bls.key.json │ │ │ │ ├── 6.bls.key.json │ │ │ │ ├── 7.bls.key.json │ │ │ │ ├── 8.bls.key.json │ │ │ │ └── 9.bls.key.json │ │ │ ├── password.txt │ │ │ └── private_key_hex.txt │ │ └── ecdsa_keys/ │ │ ├── keys/ │ │ │ ├── 1.ecdsa.key.json │ │ │ ├── 10.ecdsa.key.json │ │ │ ├── 11.ecdsa.key.json │ │ │ ├── 12.ecdsa.key.json │ │ │ ├── 13.ecdsa.key.json │ │ │ ├── 14.ecdsa.key.json │ │ │ ├── 15.ecdsa.key.json │ │ │ ├── 16.ecdsa.key.json │ │ │ ├── 17.ecdsa.key.json │ │ │ ├── 18.ecdsa.key.json │ │ │ ├── 19.ecdsa.key.json │ │ │ ├── 2.ecdsa.key.json │ │ │ ├── 20.ecdsa.key.json │ │ │ ├── 21.ecdsa.key.json │ │ │ ├── 22.ecdsa.key.json │ │ │ ├── 23.ecdsa.key.json │ │ │ ├── 24.ecdsa.key.json │ │ │ ├── 25.ecdsa.key.json │ │ │ ├── 26.ecdsa.key.json │ │ │ ├── 27.ecdsa.key.json │ │ │ ├── 28.ecdsa.key.json │ │ │ ├── 29.ecdsa.key.json │ │ │ ├── 3.ecdsa.key.json │ │ │ ├── 30.ecdsa.key.json │ │ │ ├── 31.ecdsa.key.json │ │ │ ├── 32.ecdsa.key.json │ │ │ ├── 4.ecdsa.key.json │ │ │ ├── 5.ecdsa.key.json │ │ │ ├── 6.ecdsa.key.json │ │ │ ├── 7.ecdsa.key.json │ │ │ ├── 8.ecdsa.key.json │ │ │ └── 9.ecdsa.key.json │ │ ├── password.txt │ │ └── private_key_hex.txt │ ├── timeout.go │ └── v2/ │ ├── Makefile │ ├── client/ │ │ ├── proxy_wrapper.go │ │ ├── test_client.go │ │ ├── test_client_config.go │ │ ├── test_client_metrics.go │ │ └── test_client_setup.go │ ├── config/ │ │ └── testnet-sepolia.toml │ ├── live/ │ │ ├── live_network_test.go │ │ └── proxy_test.go │ └── load/ │ ├── load_generator.go │ ├── load_generator_config.go │ └── main/ │ └── load_main.go └── tools/ ├── calculator/ │ └── calculator.html ├── compactotron/ │ ├── Makefile │ ├── README.md │ ├── compactotron.go │ └── compactotron_test.go ├── discovery/ │ ├── Makefile │ ├── directory_scanner.go │ └── main.go ├── ejections/ │ ├── Makefile │ ├── cmd/ │ │ └── main.go │ ├── config.go │ └── flags/ │ └── flags.go ├── integration_utils/ │ ├── Makefile │ ├── README.md │ ├── altdacommitment_parser/ │ │ ├── display.go │ │ └── parser.go │ ├── calldata_gas_estimator/ │ │ ├── display.go │ │ └── estimator.go │ ├── cmd/ │ │ └── main.go │ ├── data/ │ │ ├── cert_v2.sepolia.rlp.hex │ │ ├── cert_v3.mainnet.rlp.hex │ │ └── cert_v3.sepolia.rlp.hex │ ├── flags/ │ │ ├── calldata_gas_estimator.go │ │ ├── gas_exhaustion_cert_meter.go │ │ ├── parser.go │ │ └── validate_cert_verifier.go │ ├── gas_exhaustion_cert_meter/ │ │ ├── config.go │ │ └── meter.go │ ├── main │ └── validate_cert_verifier/ │ └── validate.go ├── kzgpad/ │ ├── Makefile │ └── main.go ├── quorumscan/ │ ├── Makefile │ ├── cmd/ │ │ └── main.go │ ├── config.go │ ├── flags/ │ │ └── flags.go │ └── quorum.go ├── semverscan/ │ ├── Makefile │ ├── cmd/ │ │ └── main.go │ ├── config.go │ └── flags/ │ └── flags.go └── srs-utils/ ├── README.md ├── cmd/ │ └── main.go ├── downloader/ │ ├── downloader.go │ ├── downloader_config.go │ ├── flags.go │ └── srs_hash_file.go ├── internal/ │ └── download/ │ └── download.go ├── parser/ │ ├── flags.go │ ├── g1FileIO.go │ ├── g2FileIO.go │ ├── params.go │ ├── parser.go │ └── parser_test.go ├── resources/ │ └── challenge_0085_with_4_g1_points ├── table_downloader/ │ ├── flags.go │ └── tables_downloader.go └── verifier/ ├── flags.go ├── gnarkParser.go ├── verifier.go └── verifier_test.go