**1 — proto + API structs**
New fields: `execution_requests_root` on the bid,
`parent_execution_requests`
on the body. `state_root` gone from the envelope. Nothing uses them yet.
**2 — consensus-types accessors + state interfaces**
Wires up the Go side of (1). Also adds `QueueBuilderPaymentForSlot` and
factors `queueBuilderPaymentAtIndex` out of `QueueBuilderPayment`.
**3 — ProcessParentExecutionPayload + spec tests**
New spec fn, not wired in yet. Read it side-by-side with the pyspec.
**4 — swap the mutation site**
Old `ProcessExecutionPayload` drops all its state mutations and becomes
verify only. `ProcessParentExecutionPayload` gets wired into
`ProcessBlockForStateRoot` before `process_block_header` per spec order.
Also: renames `IsParentBlockFull` → `LatestBlockHashMatchesBidBlockHash`
(old name was misleading, it's just an equality check).
`ProcessSlotsForBlock`
and `head.full` are deleted. Envelope no longer computes a `state_root`.
**5 — proposer**
Sets `parent_execution_requests` on the body, builds the bid with the
new
fields, computes withdrawals via `computePayloadWithdrawals`. That fn
has
three branches (empty parent / pre-Gloas parent / full Gloas parent).
**6 — gossip validation**
Adds `validateParentExecutionRequests`: body's
`parent_execution_requests`
has to hash to what the parent bid said.
**7 — rip out dual-key state access**
State's always keyed by beacon block root now, so all the "sometimes
execution block hash" code across forkchoice, stategen, and the
blockchain
service can go. Almost pure deletions. One actual behavior change: FCU
notifications use `forkchoice.BlockHash()` instead of
`st.LatestBlockHash()`
**8 — rename ProcessExecutionPayload → VerifyExecutionPayloadEnvelope**
Rename only, nothing else. Just approve.
**9 — test utilities + assertions + changelog**
Mechanical. Test builders pick up the new fields, a few stray
`envelope.StateRoot` references get swept up, changelog added.
* Migrate Prysm repo to Offchain Labs organization ahead of Pectra upgrade v6
* Replace prysmaticlabs with OffchainLabs on general markdowns
* Update mock
* Gazelle and add mock.go to excluded generated mock file
* First take at updating everything to v5
* Patch gRPC gateway to use prysm v5
Fix patch
* Update go ssz
---------
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
* in progress
* done, no tests yet
* fix ToBlinded()
* Revert "Auxiliary commit to revert individual files from 2e356b6f5b15d409ac15e825c744528591c13739"
This reverts commit 081ab74e88fb7d0e3f6a81e00fe5e89483b41f90.
* tests
* fix tests
* one more fix
* and one more
* review
* fix proto_test
* another fix
* do not return error when nil object is wrapped
* allow nil payload in body.Proto()
* correctly assert error
* nil checks in body.Execution()
* simplify PR
* Revert "Auxiliary commit to revert individual files from 5736c1f22f2d2f309b9303c13d0fb6b1679c6ecb"
This reverts commit 1ff3a4c864923f5c180aa015aa087a2814498b42.
* fix slice sizes in cloner tests
* better payload tests
* review
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* panic in SizeSSZ
* moving slowly
* adapt old code to new interfaces
* return interfaces from factory functions
* replace the rest of WrappedSignedBeaconBlock
* WrappedBeaconBlock
* WrappedBeaconBlockBody
* miscellaneous
* Test_BeaconBlockIsNil
* replace usages of BeaconBlockIsNil
* replace usages of mutator
* fix all build errors
* fix some more issues
* mutator changes
* relax assertions when initializing
* revert changes in object_mapping.go
* allow calling Proto on nil
* Revert "allow calling Proto on nil"
This reverts commit ecc84e4553.
* modify Copy and Proto methods
* remove unused var
* fix block batch tests
* correct BUILD file
* Error when initializing nil objects
* one more error fix
* add missing comma
* rename alias to blocktest
* add logging
* error when SignedBeaconBlock is nil
* fix last test
* import fix
* broken
* working
* test fixes
* reduce complexity of processPendingBlocks
* simplified