Skip to content

fix gloas proposal endpoint support - #16818

Merged
james-prysm merged 42 commits into
developfrom
rest-gloas-validation
Jun 10, 2026
Merged

fix gloas proposal endpoint support#16818
james-prysm merged 42 commits into
developfrom
rest-gloas-validation

Conversation

@james-prysm

@james-prysm james-prysm commented May 20, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?

Bug fix

What does this PR do? Why is it needed?

  • support for ssz on get and propose payload envelope and payload envelope content
  • query parameter for gossip validation on payload envelope

relies on #16421 and #16306, needs some small changes to hook ptc up, if ptc is no issue 16421 is mainly required

Testing

participants:
  - el_type: ethrex
    el_image: ethpandaops/ethrex:glamsterdam-devnet-4
    el_extra_params:
      - --http.api=eth,net,web3,admin
    cl_type: prysm
    cl_image: gcr.io/offchainlabs/prysm/beacon-chain:latest
    vc_image: gcr.io/offchainlabs/prysm/validator:latest
    supernode: true
    count: 2
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --stateless
      - --verbosity=debug

  - el_type: ethrex
    el_image: ethpandaops/ethrex:glamsterdam-devnet-4
    el_extra_params:
      - --http.api=eth,net,web3,admin
    cl_type: prysm
    cl_image: gcr.io/offchainlabs/prysm/beacon-chain:latest
    vc_image: gcr.io/offchainlabs/prysm/validator:latest
    validator_count: 63
    cl_extra_params:
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --verbosity=debug

network_params:
  fulu_fork_epoch: 0
  gloas_fork_epoch: 2
  seconds_per_slot: 6
  genesis_delay: 40

additional_services:
  - dora

global_log_level: debug

Which issues(s) does this PR fix?

partially fixes ethereum/beacon-APIs#580 depends on shane-moore/beacon-APIs#10
implements ethereum/beacon-APIs#613

Other notes for review

Acknowledgements

  • I have read CONTRIBUTING.md.
  • I have included a uniquely named changelog fragment file.
  • I have added a description with sufficient context for reviewers to understand this PR.
  • I have tested that my changes work as expected and I added a testing plan to the PR description (if applicable).

@james-prysm james-prysm changed the title Rest gloas validation fix gloas proposal endpoint support May 20, 2026
Comment thread proto/prysm/v1alpha1/gloas.ssz.go Dismissed
return
}

w.Header().Set(api.VersionHeader, version.String(version.Gloas))

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure if we actually need this, commented on the beacon api

@github-project-automation github-project-automation Bot moved this to Unassigned in Gloas May 21, 2026
@james-prysm
james-prysm marked this pull request as ready for review May 21, 2026 15:58
envRoot := bytesutil.ToBytes32(signed.Message.BeaconBlockRoot)

if level == broadcastValidationConsensusAndEquivocation {
if s.ForkchoiceFetcher.HighestReceivedBlockSlot() == envSlot &&

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what happens if you submit a payload late?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed is this more appropriate?

}
}

st, err := s.StateGenService.StateByRoot(ctx, envRoot)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to be slow right

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you're right, it's probably wrong too, we should have a hard requirement that it's head, is a race condition an issue? if we haven't processed block yet for state?

if jerr != nil {
return errors.Wrap(jerr, "could not marshal envelope JSON for fallback")
}
return c.handler.Post(ctx, endpoint, nil, bytes.NewBuffer(body), nil)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@james-prysm

Copy link
Copy Markdown
Contributor Author

made default gossip validation a todo ( would make this pr much bigger breaking it out as a helper function)

Comment thread proto/prysm/v1alpha1/gloas.proto Outdated
Comment thread proto/prysm/v1alpha1/gloas.proto Outdated
Comment thread beacon-chain/rpc/eth/beacon/handlers_gloas.go Outdated
Comment thread beacon-chain/rpc/eth/beacon/handlers_gloas.go
Comment thread beacon-chain/rpc/eth/beacon/handlers_gloas_test.go Outdated
Comment thread validator/client/beacon-api/beacon_api_validator_client.go Outdated
Comment thread beacon-chain/rpc/eth/validator/handlers_block_gloas.go
Comment thread beacon-chain/rpc/endpoints_test.go Outdated
Comment thread beacon-chain/rpc/eth/beacon/handlers_gloas.go Outdated
Comment thread api/server/structs/endpoints_validator.go Outdated
Comment thread beacon-chain/rpc/eth/beacon/handlers_gloas.go Outdated
Comment thread beacon-chain/rpc/eth/beacon/handlers_gloas.go
@james-prysm
james-prysm requested review from satushh and syjn99 June 9, 2026 22:05
syjn99
syjn99 previously approved these changes Jun 10, 2026
satushh
satushh previously approved these changes Jun 10, 2026
@james-prysm
james-prysm enabled auto-merge June 10, 2026 14:54
@james-prysm
james-prysm added this pull request to the merge queue Jun 10, 2026
Merged via the queue into develop with commit c4863fc Jun 10, 2026
24 checks passed
@james-prysm
james-prysm deleted the rest-gloas-validation branch June 10, 2026 20:37
@github-project-automation github-project-automation Bot moved this from Unassigned to Done in Gloas Jun 10, 2026
syjn99 added a commit to syjn99/prysm that referenced this pull request Jun 11, 2026
**What type of PR is this?**

 Bug fix


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

- support for ssz on get and propose payload envelope and payload
envelope content
- query parameter for gossip validation on payload envelope

relies on OffchainLabs#16421 and
OffchainLabs#16306, needs some small
changes to hook ptc up, if ptc is no issue 16421 is mainly required

Testing
```
participants:
  - el_type: ethrex
    el_image: ethpandaops/ethrex:glamsterdam-devnet-4
    el_extra_params:
      - --http.api=eth,net,web3,admin
    cl_type: prysm
    cl_image: gcr.io/offchainlabs/prysm/beacon-chain:latest
    vc_image: gcr.io/offchainlabs/prysm/validator:latest
    supernode: true
    count: 2
    cl_extra_params:
      - --subscribe-all-subnets
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --stateless
      - --verbosity=debug

  - el_type: ethrex
    el_image: ethpandaops/ethrex:glamsterdam-devnet-4
    el_extra_params:
      - --http.api=eth,net,web3,admin
    cl_type: prysm
    cl_image: gcr.io/offchainlabs/prysm/beacon-chain:latest
    vc_image: gcr.io/offchainlabs/prysm/validator:latest
    validator_count: 63
    cl_extra_params:
      - --verbosity=debug
    vc_extra_params:
      - --enable-beacon-rest-api
      - --verbosity=debug

network_params:
  fulu_fork_epoch: 0
  gloas_fork_epoch: 2
  seconds_per_slot: 6
  genesis_delay: 40

additional_services:
  - dora

global_log_level: debug

```

**Which issues(s) does this PR fix?**

partially fixes ethereum/beacon-APIs#580 depends
on shane-moore/beacon-APIs#10
implements ethereum/beacon-APIs#613

**Other notes for review**

**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 with sufficient context for reviewers
to understand this PR.
- [x] I have tested that my changes work as expected and I added a
testing plan to the PR description (if applicable).

---------

Co-authored-by: satushh <satushh@gmail.com>
Co-authored-by: Jun Song <87601811+syjn99@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants