@@ -39,7 +39,17 @@ defmodule Types.BeaconState do
3939 :latest_execution_payload_header ,
4040 :next_withdrawal_index ,
4141 :next_withdrawal_validator_index ,
42- :historical_summaries
42+ :historical_summaries ,
43+ # New Electra fields
44+ :deposit_requests_start_index ,
45+ :deposit_balance_to_consume ,
46+ :exit_balance_to_consume ,
47+ :earliest_exit_epoch ,
48+ :consolidation_balance_to_consume ,
49+ :earliest_consolidation_epoch ,
50+ :pending_deposits ,
51+ :pending_partial_withdrawals ,
52+ :pending_consolidations
4353 ]
4454
4555 @ enforce_keys fields
@@ -105,7 +115,25 @@ defmodule Types.BeaconState do
105115 # Deep history valid from Capella onwards
106116 # [New in Capella]
107117 # HISTORICAL_ROOTS_LIMIT
108- historical_summaries: list ( Types.HistoricalSummary . t ( ) )
118+ historical_summaries: list ( Types.HistoricalSummary . t ( ) ) ,
119+ # [New in Electra:EIP6110]
120+ deposit_requests_start_index: Types . uint64 ( ) ,
121+ # [New in Electra:EIP7251]
122+ deposit_balance_to_consume: Types . gwei ( ) ,
123+ # [New in Electra:EIP7251]
124+ exit_balance_to_consume: Types . gwei ( ) ,
125+ # [New in Electra:EIP7251]
126+ earliest_exit_epoch: Types . epoch ( ) ,
127+ # [New in Electra:EIP7251]
128+ consolidation_balance_to_consume: Types . gwei ( ) ,
129+ # [New in Electra:EIP7251]
130+ earliest_consolidation_epoch: Types . epoch ( ) ,
131+ # [New in Electra:EIP7251]
132+ pending_deposits: list ( Types.PendingDeposit . t ( ) ) ,
133+ # [New in Electra:EIP7251]
134+ pending_partial_withdrawals: list ( Types.PendingPartialWithdrawal . t ( ) ) ,
135+ # [New in Electra:EIP7251]
136+ pending_consolidations: list ( Types.PendingConsolidation . t ( ) )
109137 }
110138
111139 @ impl LambdaEthereumConsensus.Container
@@ -145,7 +173,19 @@ defmodule Types.BeaconState do
145173 { :next_withdrawal_index , TypeAliases . withdrawal_index ( ) } ,
146174 { :next_withdrawal_validator_index , TypeAliases . validator_index ( ) } ,
147175 { :historical_summaries ,
148- { :list , Types.HistoricalSummary , ChainSpec . get ( "HISTORICAL_ROOTS_LIMIT" ) } }
176+ { :list , Types.HistoricalSummary , ChainSpec . get ( "HISTORICAL_ROOTS_LIMIT" ) } } ,
177+ # New Electra fields
178+ { :deposit_requests_start_index , TypeAliases . uint64 ( ) } ,
179+ { :deposit_balance_to_consume , TypeAliases . gwei ( ) } ,
180+ { :exit_balance_to_consume , TypeAliases . gwei ( ) } ,
181+ { :earliest_exit_epoch , TypeAliases . epoch ( ) } ,
182+ { :consolidation_balance_to_consume , TypeAliases . gwei ( ) } ,
183+ { :earliest_consolidation_epoch , TypeAliases . epoch ( ) } ,
184+ { :pending_deposits , { :list , Types.PendingDeposit , ChainSpec . get ( "PENDING_DEPOSITS_LIMIT" ) } } ,
185+ { :pending_partial_withdrawals ,
186+ { :list , Types.PendingPartialWithdrawal , ChainSpec . get ( "PENDING_PARTIAL_WITHDRAWALS_LIMIT" ) } } ,
187+ { :pending_consolidations ,
188+ { :list , Types.PendingConsolidation , ChainSpec . get ( "PENDING_CONSOLIDATIONS_LIMIT" ) } }
149189 ]
150190 end
151191
0 commit comments