mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-15 00:08:01 -05:00
Compare commits
6 Commits
develop
...
geth-1.16.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61c197dfb6 | ||
|
|
aadb5e278d | ||
|
|
8d435d6173 | ||
|
|
cef702e4c1 | ||
|
|
c4dda7b66a | ||
|
|
0990e7b404 |
10
BUILD.bazel
10
BUILD.bazel
@@ -1,4 +1,5 @@
|
||||
load("@bazel_gazelle//:def.bzl", "gazelle")
|
||||
load("@com_github_atlassian_bazel_tools//gometalinter:def.bzl", "gometalinter")
|
||||
load("@com_github_atlassian_bazel_tools//goimports:def.bzl", "goimports")
|
||||
load("@io_kubernetes_build//defs:run_in_workspace.bzl", "workspace_binary")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "nogo")
|
||||
@@ -54,6 +55,15 @@ alias(
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
gometalinter(
|
||||
name = "gometalinter",
|
||||
config = "//:.gometalinter.json",
|
||||
paths = [
|
||||
"./...",
|
||||
],
|
||||
prefix = prefix,
|
||||
)
|
||||
|
||||
goimports(
|
||||
name = "goimports",
|
||||
display_diffs = True,
|
||||
|
||||
@@ -423,6 +423,10 @@ load("@prysm//testing/endtoend:deps.bzl", "e2e_deps")
|
||||
|
||||
e2e_deps()
|
||||
|
||||
load("@com_github_atlassian_bazel_tools//gometalinter:deps.bzl", "gometalinter_dependencies")
|
||||
|
||||
gometalinter_dependencies()
|
||||
|
||||
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
|
||||
|
||||
gazelle_dependencies(go_sdk = "go_sdk")
|
||||
|
||||
@@ -13,7 +13,7 @@ go_library(
|
||||
deps = [
|
||||
"//consensus-types/blocks:go_default_library",
|
||||
"@com_github_crate_crypto_go_kzg_4844//:go_default_library",
|
||||
"@com_github_ethereum_c_kzg_4844_v2//bindings/go:go_default_library",
|
||||
"@com_github_ethereum_c_kzg_4844//bindings/go:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//common/hexutil:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//crypto/kzg4844:go_default_library",
|
||||
"@com_github_pkg_errors//:go_default_library",
|
||||
|
||||
@@ -94,7 +94,6 @@ func (s *Service) spawnProcessAttestationsRoutine() {
|
||||
for {
|
||||
select {
|
||||
case <-s.ctx.Done():
|
||||
ticker.Done()
|
||||
return
|
||||
case slotInterval := <-ticker.C():
|
||||
if slotInterval.Interval > 0 {
|
||||
|
||||
@@ -49,7 +49,6 @@ func (s *Service) prepareForkChoiceAtts() {
|
||||
}
|
||||
case <-s.ctx.Done():
|
||||
log.Debug("Context closed, exiting routine")
|
||||
ticker.Done()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
### Fixed
|
||||
|
||||
- Fix `prysmctl testnet generate-genesis` to use the timestamp from `--geth-genesis-json-in` when `--genesis-time` is not explicitly provided.
|
||||
@@ -1,3 +0,0 @@
|
||||
### Ignored
|
||||
|
||||
- Removed deprecated gometalinter references from Bazel configuration.
|
||||
@@ -1,3 +0,0 @@
|
||||
### Fixed
|
||||
|
||||
- stop SlotIntervalTicker goroutine leaks [#16241](https://github.com/OffchainLabs/prysm/pull/16241)
|
||||
3
changelog/james-prysm_geth-1.16.8.md
Normal file
3
changelog/james-prysm_geth-1.16.8.md
Normal file
@@ -0,0 +1,3 @@
|
||||
### Changed
|
||||
|
||||
- updating geth dependency from 1.16.7 to 1.16.8.
|
||||
@@ -1,3 +0,0 @@
|
||||
### Ignored
|
||||
|
||||
- Gazelle update-repos is now enforced via ./hack/check_gazelle.sh
|
||||
@@ -1,3 +0,0 @@
|
||||
### Security
|
||||
|
||||
- Update go-ethereum to v1.16.8
|
||||
@@ -214,6 +214,13 @@ func setGlobalParams() error {
|
||||
|
||||
func generateGenesis(ctx context.Context) (state.BeaconState, error) {
|
||||
f := &generateGenesisStateFlags
|
||||
if f.GenesisTime == 0 {
|
||||
f.GenesisTime = uint64(time.Now().Unix())
|
||||
log.Info("No genesis time specified, defaulting to now()")
|
||||
}
|
||||
log.Infof("Delaying genesis %v by %v seconds", f.GenesisTime, f.GenesisTimeDelay)
|
||||
f.GenesisTime += f.GenesisTimeDelay
|
||||
log.Infof("Genesis is now %v", f.GenesisTime)
|
||||
|
||||
v, err := version.FromString(f.ForkName)
|
||||
if err != nil {
|
||||
@@ -251,28 +258,7 @@ func generateGenesis(ctx context.Context) (state.BeaconState, error) {
|
||||
if err := json.Unmarshal(gbytes, gen); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// Use input file's timestamp (if `--genesis-time` is NOT explicitly provided)
|
||||
if f.GenesisTime == 0 {
|
||||
f.GenesisTime = gen.Timestamp
|
||||
log.Infof("Using genesis time from input file: %d", f.GenesisTime)
|
||||
}
|
||||
}
|
||||
|
||||
// If still unset (no `--genesis-time` and no input file), default to `now()`
|
||||
if f.GenesisTime == 0 {
|
||||
f.GenesisTime = uint64(time.Now().Unix())
|
||||
log.Info("No genesis time specified, defaulting to now()")
|
||||
}
|
||||
|
||||
// Apply delay (if any) and expose used genesis time
|
||||
if f.GenesisTimeDelay > 0 {
|
||||
log.Infof("Delaying genesis %d by %d seconds", f.GenesisTime, f.GenesisTimeDelay)
|
||||
f.GenesisTime += f.GenesisTimeDelay
|
||||
}
|
||||
log.Infof("Genesis time is %d", f.GenesisTime)
|
||||
|
||||
// Set the timestamps for genesis and forks
|
||||
if f.GethGenesisJsonIn != "" {
|
||||
// set timestamps for genesis and shanghai fork
|
||||
gen.Timestamp = f.GenesisTime
|
||||
genesis := time.Unix(int64(f.GenesisTime), 0)
|
||||
gen.Config.ShanghaiTime = interop.GethShanghaiTime(genesis, params.BeaconConfig())
|
||||
@@ -315,7 +301,7 @@ func generateGenesis(ctx context.Context) (state.BeaconState, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := os.WriteFile(f.GethGenesisJsonOut, gbytes, 0o600); err != nil {
|
||||
if err := os.WriteFile(f.GethGenesisJsonOut, gbytes, 0600); err != nil {
|
||||
return nil, errors.Wrapf(err, "failed to write %s", f.GethGenesisJsonOut)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,75 +125,6 @@ func Test_generateGenesis_BaseFeeValidation(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func Test_generateGenesis_TimestampHandling(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
inputTimestamp uint64 // timestamp in input genesis.json (0 = no input file)
|
||||
genesisTime uint64 // --genesis-time (0 = not set)
|
||||
genesisTimeDelay uint64 // --genesis-time-delay
|
||||
wantTimestamp uint64
|
||||
}{
|
||||
{
|
||||
name: "uses input file timestamp when no --genesis-time",
|
||||
inputTimestamp: 1700000000,
|
||||
wantTimestamp: 1700000000,
|
||||
},
|
||||
{
|
||||
name: "explicit --genesis-time overrides input file",
|
||||
inputTimestamp: 1700000000,
|
||||
genesisTime: 1600000000,
|
||||
wantTimestamp: 1600000000,
|
||||
},
|
||||
{
|
||||
name: "delay applied to input file timestamp",
|
||||
inputTimestamp: 1700000000,
|
||||
genesisTimeDelay: 100,
|
||||
wantTimestamp: 1700000100,
|
||||
},
|
||||
{
|
||||
name: "delay applied to explicit --genesis-time",
|
||||
inputTimestamp: 1700000000,
|
||||
genesisTime: 1600000000,
|
||||
genesisTimeDelay: 50,
|
||||
wantTimestamp: 1600000050,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
originalFlags := generateGenesisStateFlags
|
||||
defer func() {
|
||||
generateGenesisStateFlags = originalFlags
|
||||
}()
|
||||
|
||||
generateGenesisStateFlags.NumValidators = 2
|
||||
generateGenesisStateFlags.GenesisTime = tt.genesisTime
|
||||
generateGenesisStateFlags.GenesisTimeDelay = tt.genesisTimeDelay
|
||||
generateGenesisStateFlags.ForkName = version.String(version.Deneb)
|
||||
|
||||
if tt.inputTimestamp > 0 {
|
||||
genesis := &core.Genesis{
|
||||
Timestamp: tt.inputTimestamp,
|
||||
BaseFee: big.NewInt(1000000000),
|
||||
Difficulty: big.NewInt(0),
|
||||
GasLimit: 15000000,
|
||||
Alloc: types.GenesisAlloc{},
|
||||
Config: ¶ms.ChainConfig{ChainID: big.NewInt(32382)},
|
||||
}
|
||||
genesisJSON, err := json.Marshal(genesis)
|
||||
require.NoError(t, err)
|
||||
tmpFile := t.TempDir() + "/genesis.json"
|
||||
require.NoError(t, writeFile(tmpFile, genesisJSON))
|
||||
generateGenesisStateFlags.GethGenesisJsonIn = tmpFile
|
||||
}
|
||||
|
||||
st, err := generateGenesis(context.Background())
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, int64(tt.wantTimestamp), st.GenesisTime().Unix())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func writeFile(path string, data []byte) error {
|
||||
return os.WriteFile(path, data, 0o644)
|
||||
return os.WriteFile(path, data, 0644)
|
||||
}
|
||||
|
||||
4
deps.bzl
4
deps.bzl
@@ -783,13 +783,13 @@ def prysm_deps():
|
||||
version = "v1.2.1",
|
||||
)
|
||||
go_repository(
|
||||
name = "com_github_ethereum_c_kzg_4844_v2",
|
||||
name = "com_github_ethereum_c_kzg_4844",
|
||||
build_directives = [
|
||||
"gazelle:resolve go github.com/supranational/blst/bindings/go @com_github_supranational_blst//:go_default_library",
|
||||
],
|
||||
importpath = "github.com/ethereum/c-kzg-4844/v2",
|
||||
patch_args = ["-p1"],
|
||||
patches = ["//third_party:com_github_ethereum_c_kzg_4844_v2.patch"],
|
||||
patches = ["//third_party:com_github_ethereum_c_kzg_4844.patch"],
|
||||
sum = "h1:aVtoLK5xwJ6c5RiqO8g8ptJ5KU+2Hdquf6G3aXiHh5s=",
|
||||
version = "v2.1.5",
|
||||
)
|
||||
|
||||
@@ -1,45 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Continuous Integration script to check that BUILD.bazel files and deps.bzl
|
||||
# are as expected when generated from gazelle.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
exit_code=0
|
||||
# Continuous Integration script to check that BUILD.bazel files are as expected
|
||||
# when generated from gazelle.
|
||||
|
||||
# Duplicate redirect 5 to stdout so that it can be captured, but still printed
|
||||
# nicely.
|
||||
exec 5>&1
|
||||
|
||||
echo "Checking deps.bzl is in sync with go.mod..."
|
||||
bazel --batch --bazelrc=.buildkite-bazelrc run //:gazelle -- update-repos -from_file=go.mod -to_macro=deps.bzl%prysm_deps -prune=true
|
||||
# Run gazelle while piping a copy of the output to stdout via 5.
|
||||
changes=$(bazel --batch --bazelrc=.buildkite-bazelrc run //:gazelle -- fix --mode=diff | tee >(cat - >&5))
|
||||
|
||||
if git diff --exit-code deps.bzl; then
|
||||
echo "OK: deps.bzl is in sync with go.mod"
|
||||
# If the captured stdout is not empty then Gazelle has diffs.
|
||||
if [ -z "$changes" ]
|
||||
then
|
||||
echo "OK: Gazelle does not need to be run"
|
||||
exit 0
|
||||
else
|
||||
echo ""
|
||||
echo "FAIL: deps.bzl is out of sync with go.mod"
|
||||
exit_code=1
|
||||
echo "FAIL: Gazelle needs to be run"
|
||||
echo "Please run bazel run //:gazelle -- fix"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Checking BUILD.bazel files..."
|
||||
build_changes=$(bazel --batch --bazelrc=.buildkite-bazelrc run //:gazelle -- fix --mode=diff | tee >(cat - >&5)) || true
|
||||
|
||||
if [ -z "$build_changes" ]; then
|
||||
echo "OK: BUILD.bazel files are in sync"
|
||||
else
|
||||
echo "FAIL: BUILD.bazel files are out of sync"
|
||||
exit_code=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
if [ $exit_code -eq 0 ]; then
|
||||
echo "All gazelle checks passed"
|
||||
else
|
||||
echo "Gazelle checks failed. Please run:"
|
||||
echo " bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=deps.bzl%prysm_deps -prune=true"
|
||||
echo " bazel run //:gazelle -- fix"
|
||||
fi
|
||||
|
||||
exit $exit_code
|
||||
|
||||
@@ -14,7 +14,7 @@ index 7e49df7..1d476f7 100644
|
||||
copts = [
|
||||
- "-Ibindings/go/src",
|
||||
- "-Ibindings/go/bindings/go/blst_headers",
|
||||
+ "-Iexternal/com_github_ethereum_c_kzg_4844_v2/src",
|
||||
+ "-Iexternal/com_github_ethereum_c_kzg_4844/src",
|
||||
+ "-Iexternal/com_github_supranational_blst/bindings/blst_headers",
|
||||
],
|
||||
importpath = "github.com/ethereum/c-kzg-4844/v2/bindings/go",
|
||||
Reference in New Issue
Block a user