terence
5bbdebee22
Add Gloas consensus type block package ( #15618 )
...
Co-authored-by: Bastin <43618253+Inspector-Butters@users.noreply.github.com >
2025-11-25 09:21:19 +00:00
Preston Van Loon
2fd6bd8150
Add golang.org/x/tools modernize static analyzer and fix violations ( #15946 )
...
* Ran gopls modernize to fix everything
go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...
* Override rules_go provided dependency for golang.org/x/tools to v0.38.0.
To update this, checked out rules_go, then ran `bazel run //go/tools/releaser -- upgrade-dep -mirror=false org_golang_x_tools` and copied the patches.
* Fix buildtag violations and ignore buildtag violations in external
* Introduce modernize analyzer package.
* Add modernize "any" analyzer.
* Fix violations of any analyzer
* Add modernize "appendclipped" analyzer.
* Fix violations of appendclipped
* Add modernize "bloop" analyzer.
* Add modernize "fmtappendf" analyzer.
* Add modernize "forvar" analyzer.
* Add modernize "mapsloop" analyzer.
* Add modernize "minmax" analyzer.
* Fix violations of minmax analyzer
* Add modernize "omitzero" analyzer.
* Add modernize "rangeint" analyzer.
* Fix violations of rangeint.
* Add modernize "reflecttypefor" analyzer.
* Fix violations of reflecttypefor analyzer.
* Add modernize "slicescontains" analyzer.
* Add modernize "slicessort" analyzer.
* Add modernize "slicesdelete" analyzer. This is disabled by default for now. See https://go.dev/issue/73686 .
* Add modernize "stringscutprefix" analyzer.
* Add modernize "stringsbuilder" analyzer.
* Fix violations of stringsbuilder analyzer.
* Add modernize "stringsseq" analyzer.
* Add modernize "testingcontext" analyzer.
* Add modernize "waitgroup" analyzer.
* Changelog fragment
* gofmt
* gazelle
* Add modernize "newexpr" analyzer.
* Disable newexpr until go1.26
* Add more details in WORKSPACE on how to update the override
* @nalepae feedback on min()
* gofmt
* Fix violations of forvar
2025-11-14 01:27:22 +00:00
Bastin
de0825f880
fulu lc ( #15995 )
...
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com >
2025-11-06 22:47:35 +00:00
Bastin
92bd211e4d
upgrade v6 to v7 ( #15989 )
...
* upgrade v6 to v7
* changelog
* update-go-ssz
2025-11-06 16:16:23 +00:00
Bastin
e589588f47
move lc package out of core ( #15698 )
2025-09-16 15:23:00 +00:00
Bastin
360e89767f
Canonical LC ( #15585 )
...
* create lc cache to track branches
* save lc stuff
* remove finalized data from LC cache on finalization
* read lc stuff
* edit tests
* changelog
* linter
* address commments
* address commments 2
* address commments 3
* address commments 4
* lint
* address commments 5 x_x
* set beacon lcStore to mimick registrable services
* clean up the error propagation
* pass the state to saveLCBootstrap since it's not saved in db yet
2025-09-16 12:20:07 +00:00
Bastin
ae4b982a6c
Fix finality update bugs & Move broadcast logic to LC Store ( #15540 )
...
* fix IsBetterFinalityUpdate and add tests
fix finality update bugs
* Update lightclient.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/core/light-client/lightclient.go
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-08-01 12:35:21 +00:00
Bastin
deb3ba7f21
Remove unused parameter from LC functions ( #15514 )
...
* remove unused parameter
* format code
2025-07-21 13:50:21 +00:00
Bastin
8b53887891
Save LC Bootstraps only on finalized checkpoints ( #15497 )
...
* Unify LC API (updates)
* Remove unused fields in LC beacon API server
* bootstraps only on checkpoints
* Update beacon-chain/blockchain/receive_block.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* move tests
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-07-18 15:53:31 +00:00
Bastin
dce89a1627
Unify LC API 2/2 (updates) ( #15488 )
...
* Unify LC API (updates)
* Update beacon-chain/core/light-client/store.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-07-17 10:59:51 +00:00
Bastin
5c1d827335
Unify LC API 1/2 (bootstrap) ( #15476 )
...
* add versiotToForkEpoch map
* Unify LC API (bootstrap)
2025-07-10 13:07:46 +00:00
Bastin
68d7df0e4f
add versiotToForkEpoch map ( #15482 )
2025-07-10 12:57:28 +00:00
Bastin
f0ad3dfaeb
Refactor lc bootstrap tests ( #15462 )
...
* fix versioning
* changelog
* fix blockchain tests
* fix linter issue
* fix spec tests
* fix default lc update version
* fix lc header version
* gzl
* clean up the code
* Update testing/spectest/shared/common/light_client/update_ranking.go
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com >
* add fulu set up in update ranking
* pass att block to createDefaultLCUpdate
* address comments
* linter
* Update lightclient.go
* refactor lc bootstrap tests
* changelog
* sort imports
* refactor lc bootstrap tests
* changelog
* Implement the new Fulu Metadata. (#15440 )
* clean up
---------
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com >
Co-authored-by: Manu NALEPA <enalepa@offchainlabs.com >
2025-07-02 13:23:39 +00:00
Bastin
bddcc158e4
Fix LC versioning bug ( #15400 )
...
* fix versioning
* changelog
* fix blockchain tests
* fix linter issue
* fix spec tests
* fix default lc update version
* fix lc header version
* gzl
* clean up the code
* Update testing/spectest/shared/common/light_client/update_ranking.go
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com >
* add fulu set up in update ranking
* pass att block to createDefaultLCUpdate
* address comments
* linter
* Update lightclient.go
* sort imports
---------
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com >
2025-07-01 21:40:18 +00:00
Preston Van Loon
62fec4d1f3
Replace context.Background with testing.TB.Context where possible ( #15416 )
...
* Replace context.Background with testing.TB.Context where possible
* Fix failing tests
2025-06-16 22:09:18 +00:00
Bastin
edab145001
endpoint registration behind flag ( #15303 )
2025-05-20 12:29:07 +00:00
Bastin
e4acab4187
Refactor lc handlers tests ( #15177 )
...
* refactor tests
* gazelle
* Update beacon-chain/rpc/eth/light-client/handlers_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/rpc/eth/light-client/handlers_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* remove space
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-04-15 17:54:55 +00:00
Bastin
b99399c1f1
Read lc updates from LCStore in RPC ( #15172 )
...
* add lcstore to rpc config and lc server
* read updates from store
* remove unused func
* optimistic tests
* finality tests
* changelog entry
* Update changelog/bastin_read-updates-from-store-in-rpc.md
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* pass lcstore to rpc service
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-04-15 15:06:49 +00:00
Bastin
cd87082f25
Refactor lc tests ( #15155 )
...
* refactor setUpAltair
* remove debug code
* refactor bellatrix setup
* refactor capella setup
* refactor rest - core tests remain
* refactor tests to use new functional options utils
* use the options
* add noFinalizedCheckpoint and finalizedCheckpointInPrevFork options
* add tests
* changelog entry
* refactor tests
* deps
* Update testing/util/lightclient.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update testing/util/lightclient.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update testing/util/lightclient.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* address comments
* address comments
* address comments
* go mod tidy
* fix annoying conflicts
* go mod tidy
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-04-14 10:57:31 +00:00
terence
774b9a7159
Migrate Prysm repo to Offchain Labs organization ahead of Pectra V6 ( #15140 )
...
* Migrate Prysm repo to Offchain Labs organization ahead of Pectra upgrade v6
* Replace prysmaticlabs with OffchainLabs on general markdowns
* Update mock
* Gazelle and add mock.go to excluded generated mock file
2025-04-10 15:40:39 +00:00
Bastin
09309ab1f2
Refactor LC Test Utils ( #15131 )
...
* refactor test utils
* refactor test utils
* rename parameter
2025-04-04 11:35:21 +00:00
Bastin
38a6a7a4ea
Add SSZ support for light client updates by range API ( #15082 )
...
* create ssz payload
* remove unused function
* remove access to state
* gazelle fix
* fix ssz size for electra finality update
* fix fork digest version problem
* fix chunk size
* fix fork version
* fix fork version
* add tests
* add changelog entry
* add PR link in changelog entry
* fix lint error
* Update beacon-chain/rpc/eth/light-client/handlers.go
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com >
* check for context error
* send response in chunks
* remove content disposition header
---------
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com >
2025-03-26 15:06:03 +00:00
Bastin
8369056027
SSZ Support for LC finality and optimistic update APIs ( #14836 )
...
* bundle handlers test
* ssz support for optimistic and finality updates APIs
* changelog PR link
* delete helpers
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-02-25 13:09:28 +00:00
Bastin
7c17af2a41
bundle handlers test ( #14834 )
...
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-02-07 16:00:22 +00:00
Bastin
86fc64c917
Lightclient Bootstrap API SSZ support tests ( #14824 )
...
* add bootstrap ssz tests
* add changelog entry
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-01-27 12:20:48 +00:00
Bastin
39cf2c8f06
Read LC Bootstraps from DB ( #14718 )
...
* fix bootstrap handler
* add tests for get bootstrap handler
* changelog
* make CreateDefaultLightClientBootstrap private
* remove fulu test
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-01-10 16:51:55 +00:00
Manu NALEPA
c48d40907c
Add Fulu fork boilerplate ( #14771 )
...
* Prepare for future fork boilerplate.
* Implement the Fulu fork boilerplate.
* `Upgraded state to <fork> log`: Move from debug to info.
Rationale:
This log is the only one notifying the user a new fork happened.
A new fork is always a little bit stressful for a node operator.
Having at least one log indicating the client switched fork is something useful.
* Update testing/util/helpers.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Fix Radek's comment.
* Fix Radek's comment.
* Update beacon-chain/state/state-native/state_trie.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/state/state-native/state_trie.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Fix Radek's comment.
* Fix Radek's comment.
* Fix Radek's comment.
* Remove Electra struct type aliasing.
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-01-07 20:09:12 +00:00
Manu NALEPA
8a439a6f5d
Simplify next Fork boilerplate creation. ( #14761 )
...
* Simplify next Fork boilerplate creation.
* Update beacon-chain/blockchain/execution_engine.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/blockchain/execution_engine.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/blockchain/execution_engine.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/state/state-native/spec_parameters.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/state/state-native/spec_parameters.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/state/state-native/spec_parameters.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Update beacon-chain/state/state-native/spec_parameters.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* Fix Radek's comments.
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2025-01-03 14:39:08 +00:00
Rupam Dey
0b7c005d7d
add light client flag check to rpc handlers ( #14736 )
...
* add lc flag check to rpc handlers
* deps
* changelog
* update tests
* deps
2024-12-19 08:06:37 +00:00
Bastin
08c14f02f6
clean up the updates by range handler ( #14719 )
...
* clean up the updates by range handler
* remove redundant HandleErrors
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2024-12-18 08:08:29 +00:00
Rupam Dey
30a136f1fb
save light client updates (diff) ( #14683 )
...
* update diff
* deps
* add tests for `SaveLightClientUpdate`
* cleanup imports
* lint
* changelog
* fix incorrect arithmetic
* check for lightclient feature flag
* fix tests
* fix `saveLightClientBootstrap` and `saveLightClientUpdate`
* replace and with or
* move feature check to `postBlockProcess`
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2024-12-04 21:22:43 +00:00
Rupam Dey
e40d2cbd2c
feat: add Bellatrix tests for light clients ( #14520 )
...
* add tests for Bellatrix
* update `CHANGELOG.md`
* Update CHANGELOG.md
Co-authored-by: Radosław Kapka <radoslaw.kapka@gmail.com >
---------
Co-authored-by: Radosław Kapka <radoslaw.kapka@gmail.com >
2024-10-09 09:02:48 +00:00
Rupam Dey
56f0eb1437
feat: add Electra support to light client functions ( #14506 )
...
* add Electra to switch case in light client functions
* replace `!=` with `<` in `blockToLightClientHeaderXXX`
* add Electra tests
* update `CHANGELOG.md`
* add constant for Electra
* add constant to `minimal.go`
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2024-10-08 18:13:13 +00:00
Rupam Dey
21ca4e008f
Update lc functions to use the dev branch of CL specs ( #14471 )
...
* create finalized header based on finalized block version
* changelog entry
* pass attested block from handlers
* fix core tests
* add test for attested header exectution fields
* changelog entry
* remove unused functions
* update `createLightClientBootstrapXXX` functions
* fix for getBootstrapAltair
* fix for getBootstrapAltair
* fix tests for Capella and Deneb
* update `CHANGELOG.md`
* remove Electra from `createLightClientBootstrap` switch case
* update dependencies
* minor fixes
* remove unnecessary comments
* replace `!reflect.DeepEqual` with `!=`
* replace `%s` with `%#x` for `[32]byte`
---------
Co-authored-by: Inspector-Butters <mohamadbastin@gmail.com >
Co-authored-by: Bastin <43618253+Inspector-Butters@users.noreply.github.com >
2024-10-03 20:52:21 +00:00
Radosław Kapka
7ac3c01b5b
Refactor light client functions ( #14434 )
...
* Use correct types in light client functions
* conversions
* more refactoring
* test fixes
* changelog
* error fix
* revert test changes
* revert test skip
* Update api/server/structs/conversions_lightclient.go
Co-authored-by: Rupam Dey <117000803+rupam-04@users.noreply.github.com >
* use BlockToLightClientHeader
* reviewer suggestion
* Revert "use BlockToLightClientHeader"
This reverts commit f3df56ded5 .
---------
Co-authored-by: Rupam Dey <117000803+rupam-04@users.noreply.github.com >
2024-09-13 22:08:28 +00:00
Md Amaan
a5317f8117
Replaced mux with http.Servemux ( #14416 )
...
* Replaced mux with http.Servmux
* updated change log
* james suggestions
* lint
* lint fix 2
* passed middlewares from validatorclient
* gazelle fix
* fixed issue
* added middlewares field to rpc config
* suggestions applied
* updated godoc
* fixed TestCors
* refactor
* godoc added
* cli code removed and lint fixed
---------
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com >
2024-09-11 19:39:05 +00:00
Rupam Dey
eec3b0b7fe
feat: introduce Capella and Deneb full-node.md lc changes ( #14376 )
...
* feat: introduce Capella and Deneb `full-node.md` lc changes
* add switch-case and replace `[][]byte` with `[][]string`
* return version name in http header
* populate header and use `interfaces.ReadOnlyBeaconBlock`
* fix lint
* merge cases in switch case and replace `interfaces.ExecutionData` with `*ExecutionPayloadHeader`
* minor fixes
* refactor `createLightClientBootstrapCapella` and `createLightClientBootstrapDeneb`
* use lightclientheader instead of different versions
* fix failing `TestLightClientHandler_GetLightClientBootstrap` tests
* fix lint
* refactor handlers
* refactor handlers more
* refactor handlers even more
* create conversions_lightclient
* fix lint errors
* add deneb and capella proto headers
* update lightclientbootstrap proto struct to capella&deneb
* update usecases
* update usecases
* resolve panic in header.GetBeacon
* fix spacings
* refactor core/lightclient.go
* fix isBetterUpdate
* use errors.wrap instead of fmt.errorf
* changelog entry
* fix lint errors
* fix api structs to use json rawMessage
* inline unmarshal
* remove redundant nil check
* revert remove redundant nil check
* return error in newLightClientUpdateToJSON
* inline getExecutionData
* better error handling
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
Co-authored-by: Inspector-Butters <mohamadbastin@gmail.com >
Co-authored-by: Bastin <43618253+Inspector-Butters@users.noreply.github.com >
2024-09-06 17:06:31 +00:00
Bastin
3015eea4e3
Fix lightclient header ( #14389 )
...
* change LCUpdate to use LCHeader
* fix api struct usages
* fix api struct finalized_header
* add lightclientheader to proto structs
* fix proto usages
* fix proto usages in events
* fix uppercase field in protobuf defenition
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2024-08-29 15:57:21 +00:00
Rupam Dey
dd3c9652c3
fix: replace BeaconBlockHeader in createLightClientBootstrap with LightClientHeader ( #14374 )
...
* fix: replace `BeaconBlockHeader` in `createLightClientBootstrap` with `LightClientHeader`
* minor fix in `handlers_test.go`
* check if `beacon` is `nil` instead of `header`
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2024-08-22 17:13:10 +00:00
Khanh Hoa
7a394062e1
refactor: enable errorlint and refactor code ( #14110 )
...
* refactor: enable errorlint and refactor code
* revert
* revert
* add bazel
* gofmt
* gofmt
* gofmt
* gofmt
* gci
* lint
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2024-07-04 22:40:13 +00:00
terence
5a66807989
Update to V5 ( #13622 )
...
* First take at updating everything to v5
* Patch gRPC gateway to use prysm v5
Fix patch
* Update go ssz
---------
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com >
2024-02-15 05:46:47 +00:00
Radosław Kapka
e3ce1bde45
Move API structs to api module ( #13577 )
2024-02-03 11:57:01 +00:00
qinlz2
b8c5af665f
[3/5] light client events ( #13225 )
...
* add http streaming light client events
* expose ForkChoiceStore
* return error in insertFinalizedDeposits
* send light client updates
* Revert "return error in insertFinalizedDeposits"
This reverts commit f7068663b8c8b3a3bf45950d5258011a5e4d803e.
* fix: lint
* fix: patch the wrong error response
* refactor: rename the JSON structs
* fix: LC finalized stream return correct format
* fix: LC op stream return correct JSON format
* fix: omit nil JSON fields
* chore: gazzle
* fix: make update by range return list directly based on spec
* chore: remove unneccessary json annotations
* chore: adjust comments
* feat: introduce EnableLightClientEvents feature flag
* feat: use enable-lightclient-events flag
* chore: more logging details
* chore: fix rebase errors
* chore: adjust data structure to save mem
* Update beacon-chain/blockchain/process_block.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
* refactor: rename config EnableLightClient
* refactor: rename feature flag
* refactor: move helper functions to helper pkg
* test: fix broken unit tests
---------
Co-authored-by: Nicolás Pernas Maradei <nicolas@polymerlabs.org >
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2024-01-11 18:38:59 +00:00
Nicolás Pernas Maradei
10ccf1840f
[2/5] light client http api ( #12984 )
...
Co-authored-by: Lizhang <lizhang@polymerlabs.org >
2023-11-21 13:26:39 +01:00