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 // ----------------------------------------------------------------------------