Conversation
| }, nil | ||
| } | ||
|
|
||
| func DenebJsonExecutionPayloadHeaderToScale(e *beaconjson.FullExecutionPayloadHeaderJson) (scale.ExecutionPayloadHeaderDeneb, error) { |
There was a problem hiding this comment.
Unused method.
# Conflicts: # relayer/contracts/gateway.go # relayer/relays/beacon/header/syncer/syncer_test.go # relayer/relays/beacon/store/datastore_test.go
| --rest.namespace="*" \ | ||
| --jwt-secret $config_dir/jwtsecret \ | ||
| --chain.archiveStateEpochFrequency 1 \ | ||
| >"$output_dir/lodestar.log" 2>&1 & |
There was a problem hiding this comment.
should it be output_electra_dir?
There was a problem hiding this comment.
No, it outputs to /tmp/snowbridge, which I think should be fine. :)
web/packages/test/scripts/set-env.sh
Outdated
| if [ "$is_electra" == "true" ]; then | ||
| HOST=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1') |
There was a problem hiding this comment.
This may not work for machines with multi-network interfaces, my PC, e.g.
➜ test git:(electra) ✗ ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
192.168.0.127
26.26.26.1
192.168.64.1
There was a problem hiding this comment.
You may be able to force bind docker to 127.0.0.1 when forwarding ports from host to container. But also maybe we should build from source to avoid docker.
| docker run --rm \ | ||
| -v "${output_electra_dir}:/mnt" \ | ||
| docker.io/ethpandaops/geth:lightclient-prague-devnet-4 \ |
There was a problem hiding this comment.
I would suggest not introducing docker for the local setup, can maybe build from source if necessary like lodestar.
| retries := 5 | ||
| bootstrap, err := s.getCheckpoint() | ||
| if err != nil { | ||
| return scale.BeaconCheckpoint{}, fmt.Errorf("get finalized checkpoint: %w", err) | ||
| for retries > 0 { | ||
| retries = retries - 1 | ||
| bootstrap, err = s.getCheckpoint() | ||
| if err != nil { | ||
| log.WithError(err).Info("retry bootstrap, sleeping") | ||
| time.Sleep(10 * time.Second) | ||
| continue | ||
| } | ||
| break |
There was a problem hiding this comment.
Just curious is the retry necessary here?
There was a problem hiding this comment.
I got intermittent failures from Lodestar (on the Mekong network) where a bootstrap payload was not available for the provided finalized checkpoint, so I added a retry, instead of having to retry the whole e2e script. :)
| } else if forkVersion == protocol.Deneb { | ||
| beaconState = &state.BeaconStateDenebMainnet{} | ||
| } else { | ||
| beaconState = &state.BeaconStateCapellaMainnet{} |
There was a problem hiding this comment.
The Capella branch can be deleted?
| } else { | ||
| executionPayloadScale, err := api.CapellaExecutionPayloadToScale(sszBlock.ExecutionPayloadCapella()) | ||
| executionPayloadScale, err := api.CapellaExecutionPayloadToScale(beaconBlock.ExecutionPayloadCapella()) |
There was a problem hiding this comment.
Can just remove the Capella branch?
# Conflicts: # relayer/templates/inbound-fixtures.mustache
# Description Adds support for the upcoming Ethereum Electra upgrade, while maintaining backwards compatibility for the current Deneb fork. ## Integration Relayers should be updated to send updated Electra consensus data structures. ## Review Notes The [Ethereum Electra hard-fork consensus](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/light-client/sync-protocol.md) changes affecting the Ethereum light client are mainly isolated to the [Generalized Indexes](https://github.com/protolambda/eth2.0-ssz/blob/master/specs/navigation/generalized_indices.md) of data structures changing. Before Electra, these values were hardcoded in config. For Electra, these values change and needed to the updated. Methods were added to return the correct g-index for the current fork version. Data structures used by the Ethereum client did not change in this hard-fork. The BeaconState container has been updated with additional changes, but because the on-chain code does not reference the BeaconState directly (only indirectly through merkle proofs), it is not a concern. Off-chain relayers use the BeaconState to generate proofs, and so the relayer code has been updated accordingly. ### Companion PR for off-chain relayers Snowfork/snowbridge#1283 --------- Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: Vincent Geddes <vincent@snowfork.com> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com> Co-authored-by: Vincent Geddes <117534+vgeddes@users.noreply.github.com>
# Description Adds support for the upcoming Ethereum Electra upgrade, while maintaining backwards compatibility for the current Deneb fork. ## Integration Relayers should be updated to send updated Electra consensus data structures. ## Review Notes The [Ethereum Electra hard-fork consensus](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/light-client/sync-protocol.md) changes affecting the Ethereum light client are mainly isolated to the [Generalized Indexes](https://github.com/protolambda/eth2.0-ssz/blob/master/specs/navigation/generalized_indices.md) of data structures changing. Before Electra, these values were hardcoded in config. For Electra, these values change and needed to the updated. Methods were added to return the correct g-index for the current fork version. Data structures used by the Ethereum client did not change in this hard-fork. The BeaconState container has been updated with additional changes, but because the on-chain code does not reference the BeaconState directly (only indirectly through merkle proofs), it is not a concern. Off-chain relayers use the BeaconState to generate proofs, and so the relayer code has been updated accordingly. ### Companion PR for off-chain relayers Snowfork/snowbridge#1283 --------- Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: Vincent Geddes <vincent@snowfork.com> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com> Co-authored-by: Vincent Geddes <117534+vgeddes@users.noreply.github.com> (cherry picked from commit dd7562a)
# Description Adds support for the upcoming Ethereum Electra upgrade, while maintaining backwards compatibility for the current Deneb fork. ## Integration Relayers should be updated to send updated Electra consensus data structures. ## Review Notes The [Ethereum Electra hard-fork consensus](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/light-client/sync-protocol.md) changes affecting the Ethereum light client are mainly isolated to the [Generalized Indexes](https://github.com/protolambda/eth2.0-ssz/blob/master/specs/navigation/generalized_indices.md) of data structures changing. Before Electra, these values were hardcoded in config. For Electra, these values change and needed to the updated. Methods were added to return the correct g-index for the current fork version. Data structures used by the Ethereum client did not change in this hard-fork. The BeaconState container has been updated with additional changes, but because the on-chain code does not reference the BeaconState directly (only indirectly through merkle proofs), it is not a concern. Off-chain relayers use the BeaconState to generate proofs, and so the relayer code has been updated accordingly. ### Companion PR for off-chain relayers Snowfork/snowbridge#1283 --------- Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: Vincent Geddes <vincent@snowfork.com> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com> Co-authored-by: Vincent Geddes <117534+vgeddes@users.noreply.github.com> (cherry picked from commit dd7562a)
# Description Adds support for the upcoming Ethereum Electra upgrade, while maintaining backwards compatibility for the current Deneb fork. ## Integration Relayers should be updated to send updated Electra consensus data structures. ## Review Notes The [Ethereum Electra hard-fork consensus](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/light-client/sync-protocol.md) changes affecting the Ethereum light client are mainly isolated to the [Generalized Indexes](https://github.com/protolambda/eth2.0-ssz/blob/master/specs/navigation/generalized_indices.md) of data structures changing. Before Electra, these values were hardcoded in config. For Electra, these values change and needed to the updated. Methods were added to return the correct g-index for the current fork version. Data structures used by the Ethereum client did not change in this hard-fork. The BeaconState container has been updated with additional changes, but because the on-chain code does not reference the BeaconState directly (only indirectly through merkle proofs), it is not a concern. Off-chain relayers use the BeaconState to generate proofs, and so the relayer code has been updated accordingly. ### Companion PR for off-chain relayers Snowfork/snowbridge#1283 --------- Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: Vincent Geddes <vincent@snowfork.com> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com> Co-authored-by: Vincent Geddes <117534+vgeddes@users.noreply.github.com> (cherry picked from commit dd7562a)
Adds support for the upcoming Ethereum Electra upgrade, while maintaining backwards compatibility for the current Deneb fork. Relayers should be updated to send updated Electra consensus data structures. The [Ethereum Electra hard-fork consensus](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/light-client/sync-protocol.md) changes affecting the Ethereum light client are mainly isolated to the [Generalized Indexes](https://github.com/protolambda/eth2.0-ssz/blob/master/specs/navigation/generalized_indices.md) of data structures changing. Before Electra, these values were hardcoded in config. For Electra, these values change and needed to the updated. Methods were added to return the correct g-index for the current fork version. Data structures used by the Ethereum client did not change in this hard-fork. The BeaconState container has been updated with additional changes, but because the on-chain code does not reference the BeaconState directly (only indirectly through merkle proofs), it is not a concern. Off-chain relayers use the BeaconState to generate proofs, and so the relayer code has been updated accordingly. Snowfork/snowbridge#1283 --------- Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: Vincent Geddes <vincent@snowfork.com> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com> Co-authored-by: Vincent Geddes <117534+vgeddes@users.noreply.github.com>
* electra upgrade * relayer progress * more electra work * fix config * fixes * fix tests * update go version * containers * electra changes * try testing lodestar + electra * revert local script * mekong network setup * electra updates * fixes * fixes * fix tests * electra local net * fix config * cleanup * fixes * progress * fix execution header proof * revert testing changes * adds tests * cleanup * cleanup * uses geth binary instead of docker * removes all traces of capella * devnet6 fixes * update bindings
Adds support for the upcoming Ethereum Electra upgrade, while maintaining backwards compatibility for the current Deneb fork. Relayers should be updated to send updated Electra consensus data structures. The [Ethereum Electra hard-fork consensus](https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/light-client/sync-protocol.md) changes affecting the Ethereum light client are mainly isolated to the [Generalized Indexes](https://github.com/protolambda/eth2.0-ssz/blob/master/specs/navigation/generalized_indices.md) of data structures changing. Before Electra, these values were hardcoded in config. For Electra, these values change and needed to the updated. Methods were added to return the correct g-index for the current fork version. Data structures used by the Ethereum client did not change in this hard-fork. The BeaconState container has been updated with additional changes, but because the on-chain code does not reference the BeaconState directly (only indirectly through merkle proofs), it is not a concern. Off-chain relayers use the BeaconState to generate proofs, and so the relayer code has been updated accordingly. Snowfork/snowbridge#1283 --------- Co-authored-by: claravanstaden <Cats 4 life!> Co-authored-by: Ron <yrong1997@gmail.com> Co-authored-by: Vincent Geddes <vincent@snowfork.com> Co-authored-by: Alistair Singh <alistair.singh7@gmail.com> Co-authored-by: Vincent Geddes <117534+vgeddes@users.noreply.github.com>
* electra upgrade * relayer progress * more electra work * fix config * fixes * fix tests * update go version * containers * electra changes * try testing lodestar + electra * revert local script * mekong network setup * electra updates * fixes * fixes * fix tests * electra local net * fix config * cleanup * fixes * progress * fix execution header proof * revert testing changes * adds tests * cleanup * cleanup * uses geth binary instead of docker * removes all traces of capella * devnet6 fixes * update bindings
Changes
Testing
Resolves SNO-1140.
Companion: Snowfork/polkadot-sdk#178