ValidatorRecord serialization fixed
This commit is contained in:
parent
03bf0a6855
commit
d61ab50f45
@ -1,5 +1,5 @@
|
|||||||
use super::bls::PublicKey;
|
use super::bls::PublicKey;
|
||||||
use super::{Address, Hash256};
|
use super::{Hash256};
|
||||||
use crate::test_utils::TestRandom;
|
use crate::test_utils::TestRandom;
|
||||||
use rand::RngCore;
|
use rand::RngCore;
|
||||||
use ssz::{Decodable, DecodeError, Encodable, SszStream};
|
use ssz::{Decodable, DecodeError, Encodable, SszStream};
|
||||||
@ -96,37 +96,43 @@ impl<T: RngCore> TestRandom<T> for ValidatorStatus {
|
|||||||
impl Encodable for ValidatorRecord {
|
impl Encodable for ValidatorRecord {
|
||||||
fn ssz_append(&self, s: &mut SszStream) {
|
fn ssz_append(&self, s: &mut SszStream) {
|
||||||
s.append(&self.pubkey);
|
s.append(&self.pubkey);
|
||||||
s.append(&self.withdrawal_shard);
|
s.append(&self.withdrawal_credentials);
|
||||||
s.append(&self.withdrawal_address);
|
|
||||||
s.append(&self.randao_commitment);
|
s.append(&self.randao_commitment);
|
||||||
s.append(&self.randao_last_change);
|
s.append(&self.randao_layers);
|
||||||
s.append(&self.balance);
|
|
||||||
s.append(&self.status);
|
s.append(&self.status);
|
||||||
s.append(&self.exit_slot);
|
s.append(&self.latest_status_change_slot);
|
||||||
|
s.append(&self.exit_count);
|
||||||
|
s.append(&self.poc_commitment);
|
||||||
|
s.append(&self.last_poc_change_slot);
|
||||||
|
s.append(&self.second_last_poc_slot);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Decodable for ValidatorRecord {
|
impl Decodable for ValidatorRecord {
|
||||||
fn ssz_decode(bytes: &[u8], i: usize) -> Result<(Self, usize), DecodeError> {
|
fn ssz_decode(bytes: &[u8], i: usize) -> Result<(Self, usize), DecodeError> {
|
||||||
let (pubkey, i) = <_>::ssz_decode(bytes, i)?;
|
let (pubkey, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
let (withdrawal_shard, i) = <_>::ssz_decode(bytes, i)?;
|
let (withdrawal_credentials, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
let (withdrawal_address, i) = <_>::ssz_decode(bytes, i)?;
|
|
||||||
let (randao_commitment, i) = <_>::ssz_decode(bytes, i)?;
|
let (randao_commitment, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
let (randao_last_change, i) = <_>::ssz_decode(bytes, i)?;
|
let (randao_layers, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
let (balance, i) = <_>::ssz_decode(bytes, i)?;
|
|
||||||
let (status, i) = <_>::ssz_decode(bytes, i)?;
|
let (status, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
let (exit_slot, i) = <_>::ssz_decode(bytes, i)?;
|
let (latest_status_change_slot, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
|
let (exit_count, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
|
let (poc_commitment, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
|
let (last_poc_change_slot, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
|
let (second_last_poc_slot, i) = <_>::ssz_decode(bytes, i)?;
|
||||||
|
|
||||||
Ok((
|
Ok((
|
||||||
Self {
|
Self {
|
||||||
pubkey,
|
pubkey,
|
||||||
withdrawal_shard,
|
withdrawal_credentials,
|
||||||
withdrawal_address,
|
|
||||||
randao_commitment,
|
randao_commitment,
|
||||||
randao_last_change,
|
randao_layers,
|
||||||
balance,
|
|
||||||
status,
|
status,
|
||||||
exit_slot,
|
latest_status_change_slot,
|
||||||
|
exit_count,
|
||||||
|
poc_commitment,
|
||||||
|
last_poc_change_slot,
|
||||||
|
second_last_poc_slot
|
||||||
},
|
},
|
||||||
i,
|
i,
|
||||||
))
|
))
|
||||||
@ -137,13 +143,15 @@ impl<T: RngCore> TestRandom<T> for ValidatorRecord {
|
|||||||
fn random_for_test(rng: &mut T) -> Self {
|
fn random_for_test(rng: &mut T) -> Self {
|
||||||
Self {
|
Self {
|
||||||
pubkey: <_>::random_for_test(rng),
|
pubkey: <_>::random_for_test(rng),
|
||||||
withdrawal_shard: <_>::random_for_test(rng),
|
withdrawal_credentials: <_>::random_for_test(rng),
|
||||||
withdrawal_address: <_>::random_for_test(rng),
|
|
||||||
randao_commitment: <_>::random_for_test(rng),
|
randao_commitment: <_>::random_for_test(rng),
|
||||||
randao_last_change: <_>::random_for_test(rng),
|
randao_layers: <_>::random_for_test(rng),
|
||||||
balance: <_>::random_for_test(rng),
|
|
||||||
status: <_>::random_for_test(rng),
|
status: <_>::random_for_test(rng),
|
||||||
exit_slot: <_>::random_for_test(rng),
|
latest_status_change_slot: <_>::random_for_test(rng),
|
||||||
|
exit_count: <_>::random_for_test(rng),
|
||||||
|
poc_commitment: <_>::random_for_test(rng),
|
||||||
|
last_poc_change_slot: <_>::random_for_test(rng),
|
||||||
|
second_last_poc_slot: <_>::random_for_test(rng),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user