Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Light Client: Electra finality branch #14597

Merged
merged 4 commits into from
Nov 2, 2024
Merged

Conversation

rkapka
Copy link
Contributor

@rkapka rkapka commented Oct 31, 2024

No description provided.

@rkapka rkapka requested a review from a team as a code owner October 31, 2024 15:08
@rkapka rkapka requested review from prestonvanloon, nisdas and james-prysm and removed request for a team October 31, 2024 15:08
if err != nil {
return nil, err
}
finalityBranch = fb[:]
} else {
b, err := update.NextSyncCommitteeBranch()
Copy link
Contributor

@rupam-04 rupam-04 Oct 31, 2024

Choose a reason for hiding this comment

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

Suggested change
b, err := update.NextSyncCommitteeBranch()
scb, err := update.NextSyncCommitteeBranch()

Lets have this for consistency since you used scb before too

@@ -243,7 +239,7 @@ func NewLightClientUpdateFromBeaconState(
return result, nil
}

func CreateDefaultLightClientUpdate(currentSlot primitives.Slot) (interfaces.LightClientUpdate, error) {
func CreateDefaultLightClientUpdate(currentSlot primitives.Slot, attestedBlock interfaces.ReadOnlySignedBeaconBlock) (interfaces.LightClientUpdate, error) {
Copy link
Contributor

Choose a reason for hiding this comment

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

we can pass attestedState here for lesser conflicts with #14585

@rupam-04
Copy link
Contributor

We should be applying the changes in CreateDefaultLightClientUpdate from beacon-chain/core/light-client/lightclient.go to the createDefaultLightClientUpdate function too in beacon-chain/db/kv/lightclient_test.go

@rkapka rkapka force-pushed the lc-finality-branch branch from e4a8ce1 to 5ffe6fb Compare November 2, 2024 12:03
@rkapka rkapka force-pushed the lc-finality-branch branch from 5ffe6fb to 8248f66 Compare November 2, 2024 13:41
@rkapka rkapka merged commit c7d52d7 into epf-light-client Nov 2, 2024
15 of 16 checks passed
@rkapka rkapka deleted the lc-finality-branch branch November 2, 2024 13:49
rkapka added a commit that referenced this pull request Nov 3, 2024
* extract from lc-p2p branch

* generate code

* trixy's review

* test fixes
rkapka added a commit that referenced this pull request Nov 20, 2024
* extract from lc-p2p branch

* generate code

* trixy's review

* test fixes
rkapka added a commit that referenced this pull request Nov 25, 2024
* extract from lc-p2p branch

* generate code

* trixy's review

* test fixes
rkapka added a commit that referenced this pull request Nov 28, 2024
* Light Client - use the new consensus types (#14549)

* in progress

* completed logic

* var name

* additional logic changes

* fix createDefaultLightClientUpdate

* empty fields

* unused context

* Return the correct light client payload proof (#14565)

* Return the correct payload proof

* changelog <3

* Set fields of wrapped proto object in light client setters (#14573)

* Set fields of wrapped proto object in light client setters

* changelog <3

* fix TODOs for events (#14570)

* fix TODOs for events

* address review comments

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* nits

---------

Co-authored-by: Radosław Kapka <[email protected]>

* align changelog with develop branch

* bzl

* LC Updates by Range to read from DB (#14531)

* change updatebyrange

* lcupdateresponse from consensus

* range altair test

* range forks tests

* finish tests

* changelog

* remove unused functions

* Update beacon-chain/rpc/eth/light-client/handlers.go

Co-authored-by: Radosław Kapka <[email protected]>

* Update beacon-chain/rpc/eth/light-client/handlers.go

Co-authored-by: Radosław Kapka <[email protected]>

* use slice instead of array

* refactor code

* refactor tests

* refactor tests

* refactor tests

* add configCleanup in tests

* refactor missing updates testcase

* Light Client - use the new consensus types (#14549)

* in progress

* completed logic

* var name

* additional logic changes

* fix createDefaultLightClientUpdate

* empty fields

* unused context

* change updatesByRange to use new structs

* Light Client - use the new consensus types (#14549)

* in progress

* completed logic

* var name

* additional logic changes

* fix createDefaultLightClientUpdate

* empty fields

* unused context

* fix rpc/helpers_test

* Return the correct light client payload proof (#14565)

* Return the correct payload proof

* changelog <3

* merge

* Set fields of wrapped proto object in light client setters (#14573)

* Set fields of wrapped proto object in light client setters

* changelog <3

* fixing tests...

* core tests fixed

* kv tests fixed

* fix TODOs for events (#14570)

* fix TODOs for events

* address review comments

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* nits

---------

Co-authored-by: Radosław Kapka <[email protected]>

* tests fixed

* remove unused function

* fix slice capacity

* address issues

* address issues

* fix circular import error

* remove unused func

* fix changelog

---------

Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Rupam Dey <[email protected]>

* Light Client: Electra finality branch (#14597)

* extract from lc-p2p branch

* generate code

* trixy's review

* test fixes

* fix issue in `CreateDefaultLightClientUpdate` function (#14585)

* use state in `CreateDefaultLightClientUpdate`

* lint

* add `stateSlot` to `update.go` structs

* Revert "add `stateSlot` to `update.go` structs"

This reverts commit 84468ae.

* set sync committee based on attestedHeader in updateElectra

* dependencies

* add check to `SetNextSyncCommitteeBranchElectra`

* add detailed error messages to `update.go`

* dependencies

* fix `createDefaultLightClientUpdate`

* deps

* fix errors

* deps

* revert error messages

* deps

* save update

* save update

* move create lc bootstrap to core

* bootstrap db

* save bootstrap

* testing

* testing progress

* testing

* testing

* checkpoint working

* set genesis time manually

* savebootstrap tests

* conflicts resolved

* fix lint issues

* fix lint issues

* address reviews

* revert changes to consensus-types/lc/updates.go

* add lightClientHeaderToJSON support for Electra

---------

Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Rupam Dey <[email protected]>
Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Inspector-Butters <[email protected]>
rkapka added a commit that referenced this pull request Nov 29, 2024
* extract from lc-p2p branch

* generate code

* trixy's review

* test fixes
rkapka added a commit that referenced this pull request Nov 29, 2024
* Light Client - use the new consensus types (#14549)

* in progress

* completed logic

* var name

* additional logic changes

* fix createDefaultLightClientUpdate

* empty fields

* unused context

* Return the correct light client payload proof (#14565)

* Return the correct payload proof

* changelog <3

* Set fields of wrapped proto object in light client setters (#14573)

* Set fields of wrapped proto object in light client setters

* changelog <3

* fix TODOs for events (#14570)

* fix TODOs for events

* address review comments

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* nits

---------

Co-authored-by: Radosław Kapka <[email protected]>

* align changelog with develop branch

* bzl

* LC Updates by Range to read from DB (#14531)

* change updatebyrange

* lcupdateresponse from consensus

* range altair test

* range forks tests

* finish tests

* changelog

* remove unused functions

* Update beacon-chain/rpc/eth/light-client/handlers.go

Co-authored-by: Radosław Kapka <[email protected]>

* Update beacon-chain/rpc/eth/light-client/handlers.go

Co-authored-by: Radosław Kapka <[email protected]>

* use slice instead of array

* refactor code

* refactor tests

* refactor tests

* refactor tests

* add configCleanup in tests

* refactor missing updates testcase

* Light Client - use the new consensus types (#14549)

* in progress

* completed logic

* var name

* additional logic changes

* fix createDefaultLightClientUpdate

* empty fields

* unused context

* change updatesByRange to use new structs

* Light Client - use the new consensus types (#14549)

* in progress

* completed logic

* var name

* additional logic changes

* fix createDefaultLightClientUpdate

* empty fields

* unused context

* fix rpc/helpers_test

* Return the correct light client payload proof (#14565)

* Return the correct payload proof

* changelog <3

* merge

* Set fields of wrapped proto object in light client setters (#14573)

* Set fields of wrapped proto object in light client setters

* changelog <3

* fixing tests...

* core tests fixed

* kv tests fixed

* fix TODOs for events (#14570)

* fix TODOs for events

* address review comments

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* Update beacon-chain/rpc/eth/events/events.go

Co-authored-by: Radosław Kapka <[email protected]>

* nits

---------

Co-authored-by: Radosław Kapka <[email protected]>

* tests fixed

* remove unused function

* fix slice capacity

* address issues

* address issues

* fix circular import error

* remove unused func

* fix changelog

---------

Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Rupam Dey <[email protected]>

* Light Client: Electra finality branch (#14597)

* extract from lc-p2p branch

* generate code

* trixy's review

* test fixes

* fix issue in `CreateDefaultLightClientUpdate` function (#14585)

* use state in `CreateDefaultLightClientUpdate`

* lint

* add `stateSlot` to `update.go` structs

* Revert "add `stateSlot` to `update.go` structs"

This reverts commit 84468ae.

* set sync committee based on attestedHeader in updateElectra

* dependencies

* add check to `SetNextSyncCommitteeBranchElectra`

* add detailed error messages to `update.go`

* dependencies

* fix `createDefaultLightClientUpdate`

* deps

* fix errors

* deps

* revert error messages

* deps

* save update

* save update

* move create lc bootstrap to core

* bootstrap db

* save bootstrap

* testing

* testing progress

* testing

* testing

* checkpoint working

* set genesis time manually

* savebootstrap tests

* conflicts resolved

* fix lint issues

* fix lint issues

* address reviews

* revert changes to consensus-types/lc/updates.go

* add lightClientHeaderToJSON support for Electra

---------

Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Rupam Dey <[email protected]>
Co-authored-by: Radosław Kapka <[email protected]>
Co-authored-by: Inspector-Butters <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants