Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions configs/mainnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ SYNC_MESSAGE_DUE_BPS_GLOAS: 2500
# 5000 basis points, 50% of SLOT_DURATION_MS
CONTRIBUTION_DUE_BPS_GLOAS: 5000
# 7500 basis points, 75% of SLOT_DURATION_MS
PAYLOAD_DUE_BPS: 7500
# 7500 basis points, 75% of SLOT_DURATION_MS
PAYLOAD_ATTESTATION_DUE_BPS: 7500

# Heze
Expand Down
2 changes: 2 additions & 0 deletions configs/minimal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ SYNC_MESSAGE_DUE_BPS_GLOAS: 2500
# 5000 basis points, 50% of SLOT_DURATION_MS
CONTRIBUTION_DUE_BPS_GLOAS: 5000
# 7500 basis points, 75% of SLOT_DURATION_MS
PAYLOAD_DUE_BPS: 7500
# 7500 basis points, 75% of SLOT_DURATION_MS
PAYLOAD_ATTESTATION_DUE_BPS: 7500

# Heze
Expand Down
8 changes: 8 additions & 0 deletions specs/gloas/fork-choice.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
- [Modified `get_aggregate_due_ms`](#modified-get_aggregate_due_ms)
- [Modified `get_sync_message_due_ms`](#modified-get_sync_message_due_ms)
- [Modified `get_contribution_due_ms`](#modified-get_contribution_due_ms)
- [New `get_payload_due_ms`](#new-get_payload_due_ms)
- [New `get_payload_attestation_due_ms`](#new-get_payload_attestation_due_ms)
- [New `verify_execution_payload_envelope_signature`](#new-verify_execution_payload_envelope_signature)
- [New `verify_execution_payload_envelope`](#new-verify_execution_payload_envelope)
Expand Down Expand Up @@ -781,6 +782,13 @@ def get_contribution_due_ms() -> uint64:
return get_slot_component_duration_ms(CONTRIBUTION_DUE_BPS_GLOAS)
```

### New `get_payload_due_ms`

```python
def get_payload_due_ms() -> uint64:
return get_slot_component_duration_ms(PAYLOAD_DUE_BPS)
```

### New `get_payload_attestation_due_ms`

```python
Expand Down
6 changes: 4 additions & 2 deletions specs/gloas/validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ validator" to implement Gloas.
| `AGGREGATE_DUE_BPS_GLOAS` | `uint64(5000)` | basis points | 50% of `SLOT_DURATION_MS` |
| `SYNC_MESSAGE_DUE_BPS_GLOAS` | `uint64(2500)` | basis points | 25% of `SLOT_DURATION_MS` |
| `CONTRIBUTION_DUE_BPS_GLOAS` | `uint64(5000)` | basis points | 50% of `SLOT_DURATION_MS` |
| `PAYLOAD_DUE_BPS` | `uint64(7500)` | basis points | 75% of `SLOT_DURATION_MS` |
| `PAYLOAD_ATTESTATION_DUE_BPS` | `uint64(7500)` | basis points | 75% of `SLOT_DURATION_MS` |

## Validator assignment
Expand Down Expand Up @@ -334,8 +335,9 @@ The validator creates `payload_attestation_message` as follows:
for the assigned slot.
- Set `data.slot` to be the assigned slot.
- If a previously seen `SignedExecutionPayloadEnvelope` references the block
with root `data.beacon_block_root`, set `data.payload_present` to `True`;
otherwise, set `data.payload_present` to `False`.
with root `data.beacon_block_root`, and it was seen before
`get_payload_due_ms()` milliseconds into the slot, set `data.payload_present`
to `True`; otherwise, set `data.payload_present` to `False`.
- Set `data.blob_data_available` to `is_data_available(data.beacon_block_root)`.
- Set `payload_attestation_message.validator_index = validator_index` where
`validator_index` is the validator chosen to submit. The private key mapping
Expand Down