Use the right MaxEB to create validator from deposit
This commit is contained in:
parent
698367e78c
commit
ada5524610
|
@ -87,6 +87,7 @@
|
||||||
- [Attestations](#attestations)
|
- [Attestations](#attestations)
|
||||||
- [Modified `process_attestation`](#modified-process_attestation)
|
- [Modified `process_attestation`](#modified-process_attestation)
|
||||||
- [Deposits](#deposits)
|
- [Deposits](#deposits)
|
||||||
|
- [Modified `get_validator_from_deposit`](#modified-get_validator_from_deposit)
|
||||||
- [Modified `apply_deposit`](#modified-apply_deposit)
|
- [Modified `apply_deposit`](#modified-apply_deposit)
|
||||||
- [New `is_valid_deposit_signature`](#new-is_valid_deposit_signature)
|
- [New `is_valid_deposit_signature`](#new-is_valid_deposit_signature)
|
||||||
- [Voluntary exits](#voluntary-exits)
|
- [Voluntary exits](#voluntary-exits)
|
||||||
|
@ -1268,6 +1269,31 @@ def process_attestation(state: BeaconState, attestation: Attestation) -> None:
|
||||||
|
|
||||||
##### Deposits
|
##### Deposits
|
||||||
|
|
||||||
|
###### Modified `get_validator_from_deposit`
|
||||||
|
|
||||||
|
*Note*: The function is modified to use `MAX_EFFECTIVE_BALANCE_ELECTRA` for compounding withdrawal credential.
|
||||||
|
|
||||||
|
```python
|
||||||
|
def get_validator_from_deposit(pubkey: BLSPubkey, withdrawal_credentials: Bytes32, amount: uint64) -> Validator:
|
||||||
|
if is_compounding_withdrawal_credential(withdrawal_credentials):
|
||||||
|
max_effective_balance = MAX_EFFECTIVE_BALANCE_ELECTRA
|
||||||
|
else:
|
||||||
|
max_effective_balance = MIN_ACTIVATION_BALANCE
|
||||||
|
|
||||||
|
# [Modified in Electra:EIP7251]
|
||||||
|
effective_balance = min(amount - amount % EFFECTIVE_BALANCE_INCREMENT, max_effective_balance)
|
||||||
|
|
||||||
|
return Validator(
|
||||||
|
pubkey=pubkey,
|
||||||
|
withdrawal_credentials=withdrawal_credentials,
|
||||||
|
activation_eligibility_epoch=FAR_FUTURE_EPOCH,
|
||||||
|
activation_epoch=FAR_FUTURE_EPOCH,
|
||||||
|
exit_epoch=FAR_FUTURE_EPOCH,
|
||||||
|
withdrawable_epoch=FAR_FUTURE_EPOCH,
|
||||||
|
effective_balance=effective_balance,
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
###### Modified `apply_deposit`
|
###### Modified `apply_deposit`
|
||||||
|
|
||||||
*Note*: The function `process_deposit` is modified to support EIP7251.
|
*Note*: The function `process_deposit` is modified to support EIP7251.
|
||||||
|
|
Loading…
Reference in New Issue