mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-10 07:58:22 -05:00
* created new converstions_execution files moving the from and to consensus functions for execution related items, also created a placeholder for block_execution with the intent of adding execution types there * moving execution types from block.go to block_execution.go * migrating more types and logic * adding all the to consensus functions for payloads * changelog * linting * updating unit tests for conversions * fixing linting * forgot to fix test * updating name based on feedback
158 lines
6.2 KiB
Go
158 lines
6.2 KiB
Go
package structs
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Bellatrix
|
|
// ----------------------------------------------------------------------------
|
|
|
|
type ExecutionPayload struct {
|
|
ParentHash string `json:"parent_hash"`
|
|
FeeRecipient string `json:"fee_recipient"`
|
|
StateRoot string `json:"state_root"`
|
|
ReceiptsRoot string `json:"receipts_root"`
|
|
LogsBloom string `json:"logs_bloom"`
|
|
PrevRandao string `json:"prev_randao"`
|
|
BlockNumber string `json:"block_number"`
|
|
GasLimit string `json:"gas_limit"`
|
|
GasUsed string `json:"gas_used"`
|
|
Timestamp string `json:"timestamp"`
|
|
ExtraData string `json:"extra_data"`
|
|
BaseFeePerGas string `json:"base_fee_per_gas"`
|
|
BlockHash string `json:"block_hash"`
|
|
Transactions []string `json:"transactions"`
|
|
}
|
|
|
|
type ExecutionPayloadHeader struct {
|
|
ParentHash string `json:"parent_hash"`
|
|
FeeRecipient string `json:"fee_recipient"`
|
|
StateRoot string `json:"state_root"`
|
|
ReceiptsRoot string `json:"receipts_root"`
|
|
LogsBloom string `json:"logs_bloom"`
|
|
PrevRandao string `json:"prev_randao"`
|
|
BlockNumber string `json:"block_number"`
|
|
GasLimit string `json:"gas_limit"`
|
|
GasUsed string `json:"gas_used"`
|
|
Timestamp string `json:"timestamp"`
|
|
ExtraData string `json:"extra_data"`
|
|
BaseFeePerGas string `json:"base_fee_per_gas"`
|
|
BlockHash string `json:"block_hash"`
|
|
TransactionsRoot string `json:"transactions_root"`
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Capella
|
|
// ----------------------------------------------------------------------------
|
|
|
|
type ExecutionPayloadCapella struct {
|
|
ParentHash string `json:"parent_hash"`
|
|
FeeRecipient string `json:"fee_recipient"`
|
|
StateRoot string `json:"state_root"`
|
|
ReceiptsRoot string `json:"receipts_root"`
|
|
LogsBloom string `json:"logs_bloom"`
|
|
PrevRandao string `json:"prev_randao"`
|
|
BlockNumber string `json:"block_number"`
|
|
GasLimit string `json:"gas_limit"`
|
|
GasUsed string `json:"gas_used"`
|
|
Timestamp string `json:"timestamp"`
|
|
ExtraData string `json:"extra_data"`
|
|
BaseFeePerGas string `json:"base_fee_per_gas"`
|
|
BlockHash string `json:"block_hash"`
|
|
Transactions []string `json:"transactions"`
|
|
Withdrawals []*Withdrawal `json:"withdrawals"`
|
|
}
|
|
|
|
type ExecutionPayloadHeaderCapella struct {
|
|
ParentHash string `json:"parent_hash"`
|
|
FeeRecipient string `json:"fee_recipient"`
|
|
StateRoot string `json:"state_root"`
|
|
ReceiptsRoot string `json:"receipts_root"`
|
|
LogsBloom string `json:"logs_bloom"`
|
|
PrevRandao string `json:"prev_randao"`
|
|
BlockNumber string `json:"block_number"`
|
|
GasLimit string `json:"gas_limit"`
|
|
GasUsed string `json:"gas_used"`
|
|
Timestamp string `json:"timestamp"`
|
|
ExtraData string `json:"extra_data"`
|
|
BaseFeePerGas string `json:"base_fee_per_gas"`
|
|
BlockHash string `json:"block_hash"`
|
|
TransactionsRoot string `json:"transactions_root"`
|
|
WithdrawalsRoot string `json:"withdrawals_root"`
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Deneb
|
|
// ----------------------------------------------------------------------------
|
|
|
|
type ExecutionPayloadDeneb struct {
|
|
ParentHash string `json:"parent_hash"`
|
|
FeeRecipient string `json:"fee_recipient"`
|
|
StateRoot string `json:"state_root"`
|
|
ReceiptsRoot string `json:"receipts_root"`
|
|
LogsBloom string `json:"logs_bloom"`
|
|
PrevRandao string `json:"prev_randao"`
|
|
BlockNumber string `json:"block_number"`
|
|
GasLimit string `json:"gas_limit"`
|
|
GasUsed string `json:"gas_used"`
|
|
Timestamp string `json:"timestamp"`
|
|
ExtraData string `json:"extra_data"`
|
|
BaseFeePerGas string `json:"base_fee_per_gas"`
|
|
BlockHash string `json:"block_hash"`
|
|
Transactions []string `json:"transactions"`
|
|
Withdrawals []*Withdrawal `json:"withdrawals"`
|
|
BlobGasUsed string `json:"blob_gas_used"`
|
|
ExcessBlobGas string `json:"excess_blob_gas"`
|
|
}
|
|
|
|
type ExecutionPayloadHeaderDeneb struct {
|
|
ParentHash string `json:"parent_hash"`
|
|
FeeRecipient string `json:"fee_recipient"`
|
|
StateRoot string `json:"state_root"`
|
|
ReceiptsRoot string `json:"receipts_root"`
|
|
LogsBloom string `json:"logs_bloom"`
|
|
PrevRandao string `json:"prev_randao"`
|
|
BlockNumber string `json:"block_number"`
|
|
GasLimit string `json:"gas_limit"`
|
|
GasUsed string `json:"gas_used"`
|
|
Timestamp string `json:"timestamp"`
|
|
ExtraData string `json:"extra_data"`
|
|
BaseFeePerGas string `json:"base_fee_per_gas"`
|
|
BlockHash string `json:"block_hash"`
|
|
TransactionsRoot string `json:"transactions_root"`
|
|
WithdrawalsRoot string `json:"withdrawals_root"`
|
|
BlobGasUsed string `json:"blob_gas_used"`
|
|
ExcessBlobGas string `json:"excess_blob_gas"`
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Electra
|
|
// ----------------------------------------------------------------------------
|
|
|
|
type ExecutionRequests struct {
|
|
Deposits []*DepositRequest `json:"deposits"`
|
|
Withdrawals []*WithdrawalRequest `json:"withdrawals"`
|
|
Consolidations []*ConsolidationRequest `json:"consolidations"`
|
|
}
|
|
|
|
type DepositRequest struct {
|
|
Pubkey string `json:"pubkey"`
|
|
WithdrawalCredentials string `json:"withdrawal_credentials"`
|
|
Amount string `json:"amount"`
|
|
Signature string `json:"signature"`
|
|
Index string `json:"index"`
|
|
}
|
|
|
|
type WithdrawalRequest struct {
|
|
SourceAddress string `json:"source_address"`
|
|
ValidatorPubkey string `json:"validator_pubkey"`
|
|
Amount string `json:"amount"`
|
|
}
|
|
|
|
type ConsolidationRequest struct {
|
|
SourceAddress string `json:"source_address"`
|
|
SourcePubkey string `json:"source_pubkey"`
|
|
TargetPubkey string `json:"target_pubkey"`
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Fulu
|
|
// ----------------------------------------------------------------------------
|