mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-30 15:48:00 -05:00
Compare commits
3 Commits
debug-stat
...
devnet-2-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dad1b91145 | ||
|
|
e67c16a36e | ||
|
|
88d45f98ea |
10
WORKSPACE
10
WORKSPACE
@@ -227,7 +227,7 @@ filegroup(
|
|||||||
url = "https://github.com/ethereum/EIPs/archive/5480440fe51742ed23342b68cf106cefd427e39d.tar.gz",
|
url = "https://github.com/ethereum/EIPs/archive/5480440fe51742ed23342b68cf106cefd427e39d.tar.gz",
|
||||||
)
|
)
|
||||||
|
|
||||||
consensus_spec_version = "v1.5.0-alpha.4"
|
consensus_spec_version = "v1.5.0-alpha.3"
|
||||||
|
|
||||||
bls_test_version = "v0.1.1"
|
bls_test_version = "v0.1.1"
|
||||||
|
|
||||||
@@ -243,7 +243,7 @@ filegroup(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
""",
|
""",
|
||||||
integrity = "sha256-sSw6c9IR/ZiWjyk1cbfVGC/aUkId4r7+eSl3haWsq0E=",
|
integrity = "sha256-+byv+GUOQytex5GgtjBGVoNDseJZbiBdAjEtlgCbjEo=",
|
||||||
url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/general.tar.gz" % consensus_spec_version,
|
url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/general.tar.gz" % consensus_spec_version,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -259,7 +259,7 @@ filegroup(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
""",
|
""",
|
||||||
integrity = "sha256-OGlKhbA6TjTP0p1ojXVCJPzLEHJzewKkhAa+PQggoiU=",
|
integrity = "sha256-JJUy/jT1h3kGQkinTuzL7gMOA1+qgmPgJXVrYuH63Cg=",
|
||||||
url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/minimal.tar.gz" % consensus_spec_version,
|
url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/minimal.tar.gz" % consensus_spec_version,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -275,7 +275,7 @@ filegroup(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
""",
|
""",
|
||||||
integrity = "sha256-ah2Gj4ci5hw5vQgpUWkNjEQutoBCepg5jcpTi0DKVB0=",
|
integrity = "sha256-T2VM4Qd0SwgGnTjWxjOX297DqEsovO9Ueij1UEJy48Y=",
|
||||||
url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/mainnet.tar.gz" % consensus_spec_version,
|
url = "https://github.com/ethereum/consensus-spec-tests/releases/download/%s/mainnet.tar.gz" % consensus_spec_version,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -290,7 +290,7 @@ filegroup(
|
|||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
""",
|
""",
|
||||||
integrity = "sha256-I+llAsIF6lPP8RUtZ2DFsJqtCs4UPh+st3hFs12FWpY=",
|
integrity = "sha256-OP9BCBcQ7i+93bwj7ktY8pZ5uWsGjgTe4XTp7BDhX+I=",
|
||||||
strip_prefix = "consensus-specs-" + consensus_spec_version[1:],
|
strip_prefix = "consensus-specs-" + consensus_spec_version[1:],
|
||||||
url = "https://github.com/ethereum/consensus-specs/archive/refs/tags/%s.tar.gz" % consensus_spec_version,
|
url = "https://github.com/ethereum/consensus-specs/archive/refs/tags/%s.tar.gz" % consensus_spec_version,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ func ProcessPendingConsolidations(ctx context.Context, st state.BeaconState) err
|
|||||||
return errors.New("nil state")
|
return errors.New("nil state")
|
||||||
}
|
}
|
||||||
|
|
||||||
nextEpoch := slots.ToEpoch(st.Slot()) + 1
|
currentEpoch := slots.ToEpoch(st.Slot())
|
||||||
|
|
||||||
var nextPendingConsolidation uint64
|
var nextPendingConsolidation uint64
|
||||||
pendingConsolidations, err := st.PendingConsolidations()
|
pendingConsolidations, err := st.PendingConsolidations()
|
||||||
@@ -66,7 +66,7 @@ func ProcessPendingConsolidations(ctx context.Context, st state.BeaconState) err
|
|||||||
nextPendingConsolidation++
|
nextPendingConsolidation++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if sourceValidator.WithdrawableEpoch > nextEpoch {
|
if sourceValidator.WithdrawableEpoch > currentEpoch {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ func ProcessPendingBalanceDeposits(ctx context.Context, st state.BeaconState, ac
|
|||||||
|
|
||||||
// constants
|
// constants
|
||||||
ffe := params.BeaconConfig().FarFutureEpoch
|
ffe := params.BeaconConfig().FarFutureEpoch
|
||||||
nextEpoch := slots.ToEpoch(st.Slot()) + 1
|
curEpoch := slots.ToEpoch(st.Slot())
|
||||||
|
|
||||||
for _, balanceDeposit := range deposits {
|
for _, balanceDeposit := range deposits {
|
||||||
v, err := st.ValidatorAtIndexReadOnly(balanceDeposit.Index)
|
v, err := st.ValidatorAtIndexReadOnly(balanceDeposit.Index)
|
||||||
@@ -259,7 +259,7 @@ func ProcessPendingBalanceDeposits(ctx context.Context, st state.BeaconState, ac
|
|||||||
// If the validator is currently exiting, postpone the deposit until after the withdrawable
|
// If the validator is currently exiting, postpone the deposit until after the withdrawable
|
||||||
// epoch.
|
// epoch.
|
||||||
if v.ExitEpoch() < ffe {
|
if v.ExitEpoch() < ffe {
|
||||||
if nextEpoch <= v.WithdrawableEpoch() {
|
if curEpoch <= v.WithdrawableEpoch() {
|
||||||
depositsToPostpone = append(depositsToPostpone, balanceDeposit)
|
depositsToPostpone = append(depositsToPostpone, balanceDeposit)
|
||||||
} else {
|
} else {
|
||||||
// The deposited balance will never become active. Therefore, we increase the balance but do
|
// The deposited balance will never become active. Therefore, we increase the balance but do
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import (
|
|||||||
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives"
|
"github.com/prysmaticlabs/prysm/v5/consensus-types/primitives"
|
||||||
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
"github.com/prysmaticlabs/prysm/v5/encoding/bytesutil"
|
||||||
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
ethpb "github.com/prysmaticlabs/prysm/v5/proto/prysm/v1alpha1"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
"go.opencensus.io/trace"
|
"go.opencensus.io/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -306,8 +307,35 @@ func (s *State) latestAncestor(ctx context.Context, blockRoot [32]byte) (state.B
|
|||||||
|
|
||||||
// Does the state exists in DB.
|
// Does the state exists in DB.
|
||||||
if s.beaconDB.HasState(ctx, parentRoot) {
|
if s.beaconDB.HasState(ctx, parentRoot) {
|
||||||
s, err := s.beaconDB.State(ctx, parentRoot)
|
st, err := s.beaconDB.State(ctx, parentRoot)
|
||||||
return s, errors.Wrap(err, "failed to retrieve state from db")
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
blk, err := s.beaconDB.Block(ctx, parentRoot)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrap(err, "could not get block from db!")
|
||||||
|
}
|
||||||
|
|
||||||
|
if st.Slot() != blk.Block().Slot() {
|
||||||
|
return nil, errors.New("slot mismatch!")
|
||||||
|
}
|
||||||
|
|
||||||
|
stateRoot1, err := st.HashTreeRoot(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrap(err, "could not hash tree root of state!")
|
||||||
|
}
|
||||||
|
stateRoot2 := blk.Block().StateRoot()
|
||||||
|
if stateRoot1 != stateRoot2 {
|
||||||
|
log.WithFields(logrus.Fields{
|
||||||
|
"StateRoot": stateRoot1,
|
||||||
|
"BlockStateRoot": stateRoot2,
|
||||||
|
"ParentBlockRoot": parentRoot,
|
||||||
|
"BlockSlot": blk.Block().Slot(),
|
||||||
|
"StateSlot": st.Slot(),
|
||||||
|
}).Warn("State root missmatch between block and state")
|
||||||
|
}
|
||||||
|
|
||||||
|
return st, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
b, err = s.beaconDB.Block(ctx, parentRoot)
|
b, err = s.beaconDB.Block(ctx, parentRoot)
|
||||||
|
|||||||
@@ -233,6 +233,8 @@ func ConfigToYaml(cfg *BeaconChainConfig) []byte {
|
|||||||
fmt.Sprintf("MESSAGE_DOMAIN_INVALID_SNAPPY: %#x", cfg.MessageDomainInvalidSnappy),
|
fmt.Sprintf("MESSAGE_DOMAIN_INVALID_SNAPPY: %#x", cfg.MessageDomainInvalidSnappy),
|
||||||
fmt.Sprintf("MESSAGE_DOMAIN_VALID_SNAPPY: %#x", cfg.MessageDomainValidSnappy),
|
fmt.Sprintf("MESSAGE_DOMAIN_VALID_SNAPPY: %#x", cfg.MessageDomainValidSnappy),
|
||||||
fmt.Sprintf("MIN_EPOCHS_FOR_BLOCK_REQUESTS: %d", int(cfg.MinEpochsForBlockRequests)),
|
fmt.Sprintf("MIN_EPOCHS_FOR_BLOCK_REQUESTS: %d", int(cfg.MinEpochsForBlockRequests)),
|
||||||
|
fmt.Sprintf("ELECTRA_FORK_EPOCH: %d", cfg.ElectraForkEpoch),
|
||||||
|
fmt.Sprintf("ELECTRA_FORK_VERSION: %#x", cfg.ElectraForkVersion),
|
||||||
}
|
}
|
||||||
|
|
||||||
yamlFile := []byte(strings.Join(lines, "\n"))
|
yamlFile := []byte(strings.Join(lines, "\n"))
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ var placeholderFields = []string{
|
|||||||
"EIP7002_FORK_VERSION",
|
"EIP7002_FORK_VERSION",
|
||||||
"EIP7594_FORK_EPOCH",
|
"EIP7594_FORK_EPOCH",
|
||||||
"EIP7594_FORK_VERSION",
|
"EIP7594_FORK_VERSION",
|
||||||
"EIP7732_FORK_EPOCH",
|
|
||||||
"EIP7732_FORK_VERSION",
|
|
||||||
"FIELD_ELEMENTS_PER_BLOB", // Compile time constant.
|
"FIELD_ELEMENTS_PER_BLOB", // Compile time constant.
|
||||||
"KZG_COMMITMENT_INCLUSION_PROOF_DEPTH", // Compile time constant on BlobSidecar.commitment_inclusion_proof.
|
"KZG_COMMITMENT_INCLUSION_PROOF_DEPTH", // Compile time constant on BlobSidecar.commitment_inclusion_proof.
|
||||||
"MAX_BLOBS_PER_BLOCK",
|
"MAX_BLOBS_PER_BLOCK",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// Code generated by fastssz. DO NOT EDIT.
|
// Code generated by fastssz. DO NOT EDIT.
|
||||||
// Hash: 84572d8fa233c45a41477bced891ee355cc1745ae0fad290f110b7f6b5ed12e1
|
// Hash: ecf364fe5acf3bed144e2e2d74edecf4b9bb2a8433927332e95d28a80b5f733a
|
||||||
package eth
|
package eth
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@@ -30,20 +30,20 @@ func (a *AttestationElectra) MarshalSSZTo(buf []byte) (dst []byte, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Field (2) 'CommitteeBits'
|
// Field (2) 'Signature'
|
||||||
if size := len(a.CommitteeBits); size != 8 {
|
|
||||||
err = ssz.ErrBytesLengthFn("--.CommitteeBits", size, 8)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
dst = append(dst, a.CommitteeBits...)
|
|
||||||
|
|
||||||
// Field (3) 'Signature'
|
|
||||||
if size := len(a.Signature); size != 96 {
|
if size := len(a.Signature); size != 96 {
|
||||||
err = ssz.ErrBytesLengthFn("--.Signature", size, 96)
|
err = ssz.ErrBytesLengthFn("--.Signature", size, 96)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
dst = append(dst, a.Signature...)
|
dst = append(dst, a.Signature...)
|
||||||
|
|
||||||
|
// Field (3) 'CommitteeBits'
|
||||||
|
if size := len(a.CommitteeBits); size != 8 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.CommitteeBits", size, 8)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
dst = append(dst, a.CommitteeBits...)
|
||||||
|
|
||||||
// Field (0) 'AggregationBits'
|
// Field (0) 'AggregationBits'
|
||||||
if size := len(a.AggregationBits); size > 131072 {
|
if size := len(a.AggregationBits); size > 131072 {
|
||||||
err = ssz.ErrBytesLengthFn("--.AggregationBits", size, 131072)
|
err = ssz.ErrBytesLengthFn("--.AggregationBits", size, 131072)
|
||||||
@@ -82,17 +82,17 @@ func (a *AttestationElectra) UnmarshalSSZ(buf []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Field (2) 'CommitteeBits'
|
// Field (2) 'Signature'
|
||||||
if cap(a.CommitteeBits) == 0 {
|
|
||||||
a.CommitteeBits = make([]byte, 0, len(buf[132:140]))
|
|
||||||
}
|
|
||||||
a.CommitteeBits = append(a.CommitteeBits, buf[132:140]...)
|
|
||||||
|
|
||||||
// Field (3) 'Signature'
|
|
||||||
if cap(a.Signature) == 0 {
|
if cap(a.Signature) == 0 {
|
||||||
a.Signature = make([]byte, 0, len(buf[140:236]))
|
a.Signature = make([]byte, 0, len(buf[132:228]))
|
||||||
}
|
}
|
||||||
a.Signature = append(a.Signature, buf[140:236]...)
|
a.Signature = append(a.Signature, buf[132:228]...)
|
||||||
|
|
||||||
|
// Field (3) 'CommitteeBits'
|
||||||
|
if cap(a.CommitteeBits) == 0 {
|
||||||
|
a.CommitteeBits = make([]byte, 0, len(buf[228:236]))
|
||||||
|
}
|
||||||
|
a.CommitteeBits = append(a.CommitteeBits, buf[228:236]...)
|
||||||
|
|
||||||
// Field (0) 'AggregationBits'
|
// Field (0) 'AggregationBits'
|
||||||
{
|
{
|
||||||
@@ -139,20 +139,20 @@ func (a *AttestationElectra) HashTreeRootWith(hh *ssz.Hasher) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Field (2) 'CommitteeBits'
|
// Field (2) 'Signature'
|
||||||
if size := len(a.CommitteeBits); size != 8 {
|
|
||||||
err = ssz.ErrBytesLengthFn("--.CommitteeBits", size, 8)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
hh.PutBytes(a.CommitteeBits)
|
|
||||||
|
|
||||||
// Field (3) 'Signature'
|
|
||||||
if size := len(a.Signature); size != 96 {
|
if size := len(a.Signature); size != 96 {
|
||||||
err = ssz.ErrBytesLengthFn("--.Signature", size, 96)
|
err = ssz.ErrBytesLengthFn("--.Signature", size, 96)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
hh.PutBytes(a.Signature)
|
hh.PutBytes(a.Signature)
|
||||||
|
|
||||||
|
// Field (3) 'CommitteeBits'
|
||||||
|
if size := len(a.CommitteeBits); size != 8 {
|
||||||
|
err = ssz.ErrBytesLengthFn("--.CommitteeBits", size, 8)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
hh.PutBytes(a.CommitteeBits)
|
||||||
|
|
||||||
hh.Merkleize(indx)
|
hh.Merkleize(indx)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user