Replies: 1 comment 2 replies
-
Do you think it would make sense to separate namespaces like this:
Constraint submission Would also add a note in the API that for a Constraint polling Constraint & proof versioning A few other open questions:
|
Beta Was this translation helpful? Give feedback.
-
The current constraints-API versions are documented at
In this discussion, we'll try to re-align everything.
Notes
/eth/v1/builder
and/relay/v1/builder
Questions
Constraint submission
The current Bolt
POST /eth/v1/builder/constraints
endpoint does not allow for cancellations. It allows for batch submission, but each constraint could have a different target slot. Would it be better to just have batch submission of constraints with the same target slot? The behaviour would then be:constraint
entry with the following schema:Example simplified body
Pros
Cons
Constraint polling
The current builder-facing constraints-API is an SSE stream with a backfill option. Given that we now treat constraints as more logical units, we could replace this with a simple poll endpoint with a
slot
query parameter, i.e.that the builder could call at their discretion. We don't need an additional SSE stream for realtime streaming of constraints, the builder can engage in continuous polling if they want to have a more up-to-date view of the constraints.
Important
Question: Should we still expose an SSE endpoint as an optimization?
Example response
Constraint & proof versioning
Currently, constraints are pretty simple (spot ILs with expressivity for bundles and ToB / RoB distinction). The associated proofs are also of a very specific format (SSZ Merkle multiproofs). If in the future, new constraint types arise, we'll have to modify the API spec. To allow for extensibility, we could leverage versioning. Example:
Beta Was this translation helpful? Give feedback.
All reactions