Components:
ExecutionResult
selection (https://github.com/onflow/flow-go/issues/7546)ExecutionResult
instead of existing approachThe Access API will have the following new request parameters which are used to determine which ExecutionResults
should be used to serve the request:
message ExecutionStateQuery {
uint agreeing_executors = 1;
repeated bytes required_executor_id = 2;
bytes ancestor_result_id = 3;
bool include_executor_metadata = 4;
}
agreeing_executors
specifies the minimum number of ExecutionReceipts
for the ExecutionResult
required_executor_id
is a set of execution node IDs, one of which must have produced the ExecutionResult
include_executor_metadata
specifies whether or not to include the executor metadata in the response.ancestor_result_id
(for future use) specifies an ExecutionResult
that must be an ancestor of the given request. Used to ensure the user gets a consistent view of the state (or an error if the fork is abandoned)Each execution state related endpoint will also optionally return the following in the response