mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 07:28:06 -05:00
* 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
217 lines
7.6 KiB
Go
217 lines
7.6 KiB
Go
package enginev1
|
|
|
|
import "github.com/OffchainLabs/prysm/v7/encoding/bytesutil"
|
|
|
|
type copier[T any] interface {
|
|
Copy() T
|
|
}
|
|
|
|
func copySlice[T any, C copier[T]](original []C) []T {
|
|
// Create a new slice with the same length as the original
|
|
newSlice := make([]T, len(original))
|
|
for i := range newSlice {
|
|
newSlice[i] = original[i].Copy()
|
|
}
|
|
return newSlice
|
|
}
|
|
|
|
// Copy --
|
|
func (w *Withdrawal) Copy() *Withdrawal {
|
|
if w == nil {
|
|
return nil
|
|
}
|
|
|
|
return &Withdrawal{
|
|
Index: w.Index,
|
|
ValidatorIndex: w.ValidatorIndex,
|
|
Address: bytesutil.SafeCopyBytes(w.Address),
|
|
Amount: w.Amount,
|
|
}
|
|
}
|
|
|
|
// Copy --
|
|
func (d *DepositRequest) Copy() *DepositRequest {
|
|
if d == nil {
|
|
return nil
|
|
}
|
|
return &DepositRequest{
|
|
Pubkey: bytesutil.SafeCopyBytes(d.Pubkey),
|
|
WithdrawalCredentials: bytesutil.SafeCopyBytes(d.WithdrawalCredentials),
|
|
Amount: d.Amount,
|
|
Signature: bytesutil.SafeCopyBytes(d.Signature),
|
|
Index: d.Index,
|
|
}
|
|
}
|
|
|
|
// Copy --
|
|
func (wr *WithdrawalRequest) Copy() *WithdrawalRequest {
|
|
if wr == nil {
|
|
return nil
|
|
}
|
|
return &WithdrawalRequest{
|
|
SourceAddress: bytesutil.SafeCopyBytes(wr.SourceAddress),
|
|
ValidatorPubkey: bytesutil.SafeCopyBytes(wr.ValidatorPubkey),
|
|
Amount: wr.Amount,
|
|
}
|
|
}
|
|
|
|
// Copy --
|
|
func (cr *ConsolidationRequest) Copy() *ConsolidationRequest {
|
|
if cr == nil {
|
|
return nil
|
|
}
|
|
return &ConsolidationRequest{
|
|
SourceAddress: bytesutil.SafeCopyBytes(cr.SourceAddress),
|
|
SourcePubkey: bytesutil.SafeCopyBytes(cr.SourcePubkey),
|
|
TargetPubkey: bytesutil.SafeCopyBytes(cr.TargetPubkey),
|
|
}
|
|
}
|
|
|
|
// Copy -- Deneb
|
|
func (payload *ExecutionPayloadDeneb) Copy() *ExecutionPayloadDeneb {
|
|
if payload == nil {
|
|
return nil
|
|
}
|
|
return &ExecutionPayloadDeneb{
|
|
ParentHash: bytesutil.SafeCopyBytes(payload.ParentHash),
|
|
FeeRecipient: bytesutil.SafeCopyBytes(payload.FeeRecipient),
|
|
StateRoot: bytesutil.SafeCopyBytes(payload.StateRoot),
|
|
ReceiptsRoot: bytesutil.SafeCopyBytes(payload.ReceiptsRoot),
|
|
LogsBloom: bytesutil.SafeCopyBytes(payload.LogsBloom),
|
|
PrevRandao: bytesutil.SafeCopyBytes(payload.PrevRandao),
|
|
BlockNumber: payload.BlockNumber,
|
|
GasLimit: payload.GasLimit,
|
|
GasUsed: payload.GasUsed,
|
|
Timestamp: payload.Timestamp,
|
|
ExtraData: bytesutil.SafeCopyBytes(payload.ExtraData),
|
|
BaseFeePerGas: bytesutil.SafeCopyBytes(payload.BaseFeePerGas),
|
|
BlockHash: bytesutil.SafeCopyBytes(payload.BlockHash),
|
|
Transactions: bytesutil.SafeCopy2dBytes(payload.Transactions),
|
|
Withdrawals: copySlice(payload.Withdrawals),
|
|
BlobGasUsed: payload.BlobGasUsed,
|
|
ExcessBlobGas: payload.ExcessBlobGas,
|
|
}
|
|
}
|
|
|
|
// Copy -- Capella
|
|
func (payload *ExecutionPayloadCapella) Copy() *ExecutionPayloadCapella {
|
|
if payload == nil {
|
|
return nil
|
|
}
|
|
|
|
return &ExecutionPayloadCapella{
|
|
ParentHash: bytesutil.SafeCopyBytes(payload.ParentHash),
|
|
FeeRecipient: bytesutil.SafeCopyBytes(payload.FeeRecipient),
|
|
StateRoot: bytesutil.SafeCopyBytes(payload.StateRoot),
|
|
ReceiptsRoot: bytesutil.SafeCopyBytes(payload.ReceiptsRoot),
|
|
LogsBloom: bytesutil.SafeCopyBytes(payload.LogsBloom),
|
|
PrevRandao: bytesutil.SafeCopyBytes(payload.PrevRandao),
|
|
BlockNumber: payload.BlockNumber,
|
|
GasLimit: payload.GasLimit,
|
|
GasUsed: payload.GasUsed,
|
|
Timestamp: payload.Timestamp,
|
|
ExtraData: bytesutil.SafeCopyBytes(payload.ExtraData),
|
|
BaseFeePerGas: bytesutil.SafeCopyBytes(payload.BaseFeePerGas),
|
|
BlockHash: bytesutil.SafeCopyBytes(payload.BlockHash),
|
|
Transactions: bytesutil.SafeCopy2dBytes(payload.Transactions),
|
|
Withdrawals: copySlice(payload.Withdrawals),
|
|
}
|
|
}
|
|
|
|
// Copy -- Bellatrix
|
|
func (payload *ExecutionPayload) Copy() *ExecutionPayload {
|
|
if payload == nil {
|
|
return nil
|
|
}
|
|
|
|
return &ExecutionPayload{
|
|
ParentHash: bytesutil.SafeCopyBytes(payload.ParentHash),
|
|
FeeRecipient: bytesutil.SafeCopyBytes(payload.FeeRecipient),
|
|
StateRoot: bytesutil.SafeCopyBytes(payload.StateRoot),
|
|
ReceiptsRoot: bytesutil.SafeCopyBytes(payload.ReceiptsRoot),
|
|
LogsBloom: bytesutil.SafeCopyBytes(payload.LogsBloom),
|
|
PrevRandao: bytesutil.SafeCopyBytes(payload.PrevRandao),
|
|
BlockNumber: payload.BlockNumber,
|
|
GasLimit: payload.GasLimit,
|
|
GasUsed: payload.GasUsed,
|
|
Timestamp: payload.Timestamp,
|
|
ExtraData: bytesutil.SafeCopyBytes(payload.ExtraData),
|
|
BaseFeePerGas: bytesutil.SafeCopyBytes(payload.BaseFeePerGas),
|
|
BlockHash: bytesutil.SafeCopyBytes(payload.BlockHash),
|
|
Transactions: bytesutil.SafeCopy2dBytes(payload.Transactions),
|
|
}
|
|
}
|
|
|
|
// Copy -- Deneb
|
|
func (payload *ExecutionPayloadHeaderDeneb) Copy() *ExecutionPayloadHeaderDeneb {
|
|
if payload == nil {
|
|
return nil
|
|
}
|
|
return &ExecutionPayloadHeaderDeneb{
|
|
ParentHash: bytesutil.SafeCopyBytes(payload.ParentHash),
|
|
FeeRecipient: bytesutil.SafeCopyBytes(payload.FeeRecipient),
|
|
StateRoot: bytesutil.SafeCopyBytes(payload.StateRoot),
|
|
ReceiptsRoot: bytesutil.SafeCopyBytes(payload.ReceiptsRoot),
|
|
LogsBloom: bytesutil.SafeCopyBytes(payload.LogsBloom),
|
|
PrevRandao: bytesutil.SafeCopyBytes(payload.PrevRandao),
|
|
BlockNumber: payload.BlockNumber,
|
|
GasLimit: payload.GasLimit,
|
|
GasUsed: payload.GasUsed,
|
|
Timestamp: payload.Timestamp,
|
|
ExtraData: bytesutil.SafeCopyBytes(payload.ExtraData),
|
|
BaseFeePerGas: bytesutil.SafeCopyBytes(payload.BaseFeePerGas),
|
|
BlockHash: bytesutil.SafeCopyBytes(payload.BlockHash),
|
|
TransactionsRoot: bytesutil.SafeCopyBytes(payload.TransactionsRoot),
|
|
WithdrawalsRoot: bytesutil.SafeCopyBytes(payload.WithdrawalsRoot),
|
|
BlobGasUsed: payload.BlobGasUsed,
|
|
ExcessBlobGas: payload.ExcessBlobGas,
|
|
}
|
|
}
|
|
|
|
// Copy -- Capella
|
|
func (payload *ExecutionPayloadHeaderCapella) Copy() *ExecutionPayloadHeaderCapella {
|
|
if payload == nil {
|
|
return nil
|
|
}
|
|
return &ExecutionPayloadHeaderCapella{
|
|
ParentHash: bytesutil.SafeCopyBytes(payload.ParentHash),
|
|
FeeRecipient: bytesutil.SafeCopyBytes(payload.FeeRecipient),
|
|
StateRoot: bytesutil.SafeCopyBytes(payload.StateRoot),
|
|
ReceiptsRoot: bytesutil.SafeCopyBytes(payload.ReceiptsRoot),
|
|
LogsBloom: bytesutil.SafeCopyBytes(payload.LogsBloom),
|
|
PrevRandao: bytesutil.SafeCopyBytes(payload.PrevRandao),
|
|
BlockNumber: payload.BlockNumber,
|
|
GasLimit: payload.GasLimit,
|
|
GasUsed: payload.GasUsed,
|
|
Timestamp: payload.Timestamp,
|
|
ExtraData: bytesutil.SafeCopyBytes(payload.ExtraData),
|
|
BaseFeePerGas: bytesutil.SafeCopyBytes(payload.BaseFeePerGas),
|
|
BlockHash: bytesutil.SafeCopyBytes(payload.BlockHash),
|
|
TransactionsRoot: bytesutil.SafeCopyBytes(payload.TransactionsRoot),
|
|
WithdrawalsRoot: bytesutil.SafeCopyBytes(payload.WithdrawalsRoot),
|
|
}
|
|
}
|
|
|
|
// Copy -- Bellatrix
|
|
func (payload *ExecutionPayloadHeader) Copy() *ExecutionPayloadHeader {
|
|
if payload == nil {
|
|
return nil
|
|
}
|
|
return &ExecutionPayloadHeader{
|
|
ParentHash: bytesutil.SafeCopyBytes(payload.ParentHash),
|
|
FeeRecipient: bytesutil.SafeCopyBytes(payload.FeeRecipient),
|
|
StateRoot: bytesutil.SafeCopyBytes(payload.StateRoot),
|
|
ReceiptsRoot: bytesutil.SafeCopyBytes(payload.ReceiptsRoot),
|
|
LogsBloom: bytesutil.SafeCopyBytes(payload.LogsBloom),
|
|
PrevRandao: bytesutil.SafeCopyBytes(payload.PrevRandao),
|
|
BlockNumber: payload.BlockNumber,
|
|
GasLimit: payload.GasLimit,
|
|
GasUsed: payload.GasUsed,
|
|
Timestamp: payload.Timestamp,
|
|
ExtraData: bytesutil.SafeCopyBytes(payload.ExtraData),
|
|
BaseFeePerGas: bytesutil.SafeCopyBytes(payload.BaseFeePerGas),
|
|
BlockHash: bytesutil.SafeCopyBytes(payload.BlockHash),
|
|
TransactionsRoot: bytesutil.SafeCopyBytes(payload.TransactionsRoot),
|
|
}
|
|
}
|