Skip to content

Add internal solver competition endpoint#4335

Open
fafk wants to merge 8 commits intomainfrom
internal-competition-ep
Open

Add internal solver competition endpoint#4335
fafk wants to merge 8 commits intomainfrom
internal-competition-ep

Conversation

@fafk
Copy link
Copy Markdown
Contributor

@fafk fafk commented Apr 15, 2026

Description

In #4330 we started hiding auctions until their deadline passed. Our solver team however needs to have access to the unfiltered data, so this PR adds and endpoint that returns it and we're going to restrict access to it on the infra level.

@fafk fafk requested a review from a team as a code owner April 15, 2026 13:51
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an internal API endpoint /api/v2/solver_competition/internal/{auction_id} that allows retrieving solver competition data without deadline filtering. It includes the necessary handler implementation in the orderbook crate, route registration, and updates to the E2E testing framework to support and verify this new functionality. No critical issues found; I have no feedback to provide.

Copy link
Copy Markdown
Contributor

@jmg-duarte jmg-duarte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but IMO we could improve on the endpoint path

Comment thread crates/orderbook/src/api.rs Outdated
fafk and others added 6 commits April 15, 2026 16:43
Checked latest versions available for all alloy and sub dependencies.
Bumps all alloy workspace dependencies to their latest 1.x versions:

alloy, alloy-consensus, alloy-contract, alloy-eips, alloy-json-rpc,
alloy-network, alloy-provider, alloy-rpc-client, alloy-rpc-types,
alloy-rpc-types-eth, alloy-rpc-types-trace, alloy-signer,
alloy-signer-local, alloy-transport, alloy-transport-ws: 1.7.3 → 1.8.3
alloy-primitives: 1.5.2 → 1.5.7
alloy-sol-types: 1.5.2 → 1.5.7
alloy-dyn-abi, alloy-json-abi were already at latest (1.5.7)


Separated from #4205 (pod network integration) PR to isolate the
dependency upgrade.
# Description

The reference driver rejects new solutions when there is already a
backlog of solutions that still need to be submitted because they will
most likely not be mined in time. This is intended to protect very
competitive solvers from penalties when they win too much but can't
submit fast enough.
#4167 introduced a bug where
the check whether to reject the `/solve` request only looks at the
available tx submission slots but not the settle queue.
This has the consequence that a solver with only a single submission EOA
that won an auction will reject `/solve` requests until the previous
solution was submitted.

# Changes

Add a semaphore with capacity equal to queue size to mimic missing queue
behavior.

---------

Co-authored-by: Martin Magnus <martin.beckmann@protonmail.com>
# Description

We now have a few endpoints that we don't want to expose to the public
and every single one of them has a) a rule in WAF b) a rule on the infra
level that exposes it to partners with an API key.

Instead of setting these every time we create a new internal endpoint we
can use the same rules for all endpoints with the `/api/internal`
prefix.

# How to test

Existing e2e tests.
@github-actions
Copy link
Copy Markdown

Reminder: Please consider backward compatibility when modifying the API specification.
If breaking changes are unavoidable, ensure:

  • You explicitly pointed out breaking changes.
  • You communicate the changes to affected teams (at least Frontend team and SAFE team).
  • You provide proper versioning and migration mechanisms.

Caused by:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants