Radosław Kapka 6be1541e57 Initialize the ExecutionRequests field in gossip block map (#16047)
**What type of PR is this?**

Other

**What does this PR do? Why is it needed?**

When unmarshaling a block with fastssz, if the target block's
`ExecutionRequests` field is nil, it will not get populated
```
if b.ExecutionRequests == nil {
	b.ExecutionRequests = new(v1.ExecutionRequests)
}
if err = b.ExecutionRequests.UnmarshalSSZ(buf); err != nil {
	return err
}
```
This is true for other fields and that's why we initialize them in our
gossip data maps. There is no bug at the moment because even if
execution requests are nil, we initialize them in
`consensus-types/blocks/proto.go`
```
er := pb.ExecutionRequests
if er == nil {
	er = &enginev1.ExecutionRequests{}
}
```
However, since we initialize other fields in the data map, it's safer to
do it for execution requests too, to avoid a bug in case the code in
`consensus-types/blocks/proto.go` changes in the future.

**Acknowledgements**

- [x] I have read
[CONTRIBUTING.md](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md).
- [x] I have included a uniquely named [changelog fragment
file](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md#maintaining-changelogmd).
- [x] I have added a description to this PR with sufficient context for
reviewers to understand this PR.
2025-11-25 16:17:44 +00:00
2021-11-12 15:55:45 +00:00
2025-11-06 16:16:23 +00:00
2025-11-21 21:51:03 +00:00
2025-11-06 16:16:23 +00:00
2025-01-24 04:53:23 +00:00
2025-11-06 16:16:23 +00:00
2024-09-20 17:18:17 +00:00
2025-05-28 01:57:44 +00:00
2025-09-08 20:40:18 +00:00
2022-11-18 19:12:19 +00:00
2018-07-20 10:23:48 -05:00
2024-01-10 15:34:11 +00:00
2025-01-24 04:53:23 +00:00
2023-10-19 12:23:11 +00:00
2025-05-28 01:57:44 +00:00

Prysm: An Ethereum Consensus Implementation Written in Go

Build status Go Report Card Consensus_Spec_Version 1.4.0 Execution_API_Version 1.0.0-beta.2 Discord GitPOAP Badge


📖 Overview

This is the core repository for Prysm, a Golang implementation of the Ethereum Consensus specification, developed by Offchain Labs.

See the Changelog for details of the latest releases and upcoming breaking changes.


🚀 Getting Started

A detailed set of installation and usage instructions as well as breakdowns of each individual component are available in the official documentation portal.

💬 Need help? Join our Discord Community for support.


🏆 Staking on Mainnet

To participate in staking, you can join the official Ethereum launchpad. The launchpad is the only recommended way to become a validator on mainnet.

🔍 Explore validator rewards/penalties:


🤝 Contributing

🔥 Branches

Prysm maintains two permanent branches:

  • master - This points to the latest stable release. It is ideal for most users.
  • develop - This is used for development and contains the latest PRs. Developers should base their PRs on this branch.

🛠 Contribution Guide

Want to get involved? Check out our Contribution Guide to learn more!


📜 License

License: GPL v3

This project is licensed under the GNU General Public License v3.0.


📜 Terms of Use

Description
No description provided
Readme 885 MiB
Languages
Go 95.3%
Starlark 4.1%
Shell 0.4%
Smarty 0.1%