-
Notifications
You must be signed in to change notification settings - Fork 434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Staging branch for devnet 4 #7607
base: master
Are you sure you want to change the base?
Conversation
(cherry picked from commit df5ba74)
(cherry picked from commit 77f2423)
(cherry picked from commit bf81101)
(cherry picked from commit 7dbfcc3)
(cherry picked from commit 0cc3cfe)
(cherry picked from commit 021792d)
(cherry picked from commit c7e9f61)
(cherry picked from commit 29ea2ec)
(cherry picked from commit 6625445)
(cherry picked from commit 2f70584)
(cherry picked from commit 73b86bd)
(cherry picked from commit 3b8d8fa)
(cherry picked from commit 3dbb0ef)
(cherry picked from commit 419d727)
(cherry picked from commit 19f3ad5)
(cherry picked from commit 5c1e3dc)
(cherry picked from commit 0739aaa)
(cherry picked from commit bf78353)
(cherry picked from commit 6380314)
(cherry picked from commit cf58cd2)
(cherry picked from commit 7974a8b)
src/Nethermind/Ethereum.Blockchain.Pyspec.Test/LoadPyspecTestsStrategy.cs
Outdated
Show resolved
Hide resolved
src/Nethermind/Nethermind.Blockchain.Test/Validators/TxValidatorTests.cs
Outdated
Show resolved
Hide resolved
src/Nethermind/Nethermind.Consensus/ExecutionRequests/ExecutionRequestProcessor.cs
Outdated
Show resolved
Hide resolved
src/Nethermind/Nethermind.Consensus/ExecutionRequests/ExecutionRequestProcessor.cs
Outdated
Show resolved
Hide resolved
src/Nethermind/Nethermind.Blockchain.Test/Validators/BlockValidatorTests.cs
Show resolved
Hide resolved
src/Nethermind/Nethermind.Core/ExecutionRequest/ExecutionRequest.cs
Outdated
Show resolved
Hide resolved
src/Nethermind/Nethermind.Core/ExecutionRequest/ExecutionRequest.cs
Outdated
Show resolved
Hide resolved
src/Nethermind/Nethermind.Core/ExecutionRequest/ExecutionRequest.cs
Outdated
Show resolved
Hide resolved
src/Nethermind/Nethermind.Core/ExecutionRequest/ExecutionRequest.cs
Outdated
Show resolved
Hide resolved
} | ||
} | ||
|
||
public static ArrayPoolList<byte[]> GetFlatEncodedRequests( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this structure really needed in the block itself?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you mean, is there need to specify ExecutionRequests
field in the block ?
It is a workaround to to populate ExecutionRequests
in GetPayloadResultV4
, which is returned by engine_getPaylaodV4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, i can see that. I was thinking maybe we could isolate it to being in IBlockProductionContext
in the cache or something like that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, I was thinking to isolate it, but it would've required to create a wrapper to a block so that result of
Processor.Process(block, ProcessingOptions.ProducingBlock, blockTracer ?? NullBlockTracer.Instance); |
blockProcessor
step.
To avoid all of these complexities, I chose to create a new field under Block
class
Closes #7525
Closes #7524
Closes #7522
Resolves #7521
Changes
Implements changes from
engine: unified list of opaque requests execution-apis#577Types of changes
engine_getPayloadV4
andengine_getPayloadV4
, It incorporates suggestions from pectra-devnet4 doc, which was to exchangerequests
as a side car and remove them from the block bodyengine_getPayloadBodiesByRangeV2
andengine_getPayloadBodiesByHashV2
and all related objects and handlers, which are now obsolete.IExecutionRequestsProcess
and gets rid of all kinds of exiting requests processors.RequestsHash
calculation, more info at: https://eips.ethereum.org/EIPS/eip-7685What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing
Few more tests are yet to be written after a few rounds of discussions.
Documentation
Requires documentation update
Remarks
Please verify the
requestsHash
calculation, which should be done as follow: