From b9dc8437c9bd708ad906c1402dd87c382890e24f Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Tue, 5 Feb 2019 12:33:52 +1100 Subject: [PATCH] Move all beacon_block fns into the same file --- .../{beacon_block/mod.rs => beacon_block.rs} | 19 ++++++++++++++++--- eth2/types/src/beacon_block/signing.rs | 19 ------------------- 2 files changed, 16 insertions(+), 22 deletions(-) rename eth2/types/src/{beacon_block/mod.rs => beacon_block.rs} (84%) delete mode 100644 eth2/types/src/beacon_block/signing.rs diff --git a/eth2/types/src/beacon_block/mod.rs b/eth2/types/src/beacon_block.rs similarity index 84% rename from eth2/types/src/beacon_block/mod.rs rename to eth2/types/src/beacon_block.rs index 3e07572d12..3e2c51ede7 100644 --- a/eth2/types/src/beacon_block/mod.rs +++ b/eth2/types/src/beacon_block.rs @@ -1,12 +1,10 @@ -use super::{BeaconBlockBody, Eth1Data, Hash256}; +use super::{BeaconBlockBody, ChainSpec, Eth1Data, Hash256, ProposalSignedData}; use crate::test_utils::TestRandom; use bls::Signature; use rand::RngCore; use serde_derive::Serialize; use ssz::{hash, Decodable, DecodeError, Encodable, SszStream, TreeHash}; -mod signing; - #[derive(Debug, PartialEq, Clone, Serialize)] pub struct BeaconBlock { pub slot: u64, @@ -22,6 +20,21 @@ impl BeaconBlock { pub fn canonical_root(&self) -> Hash256 { Hash256::from(&self.hash_tree_root()[..]) } + + pub fn proposal_root(&self, spec: &ChainSpec) -> Hash256 { + let block_without_signature_root = { + let mut block_without_signature = self.clone(); + block_without_signature.signature = spec.empty_signature.clone(); + block_without_signature.canonical_root() + }; + + let proposal = ProposalSignedData { + slot: self.slot, + shard: spec.beacon_chain_shard_number, + block_root: block_without_signature_root, + }; + Hash256::from_slice(&proposal.hash_tree_root()[..]) + } } impl Encodable for BeaconBlock { diff --git a/eth2/types/src/beacon_block/signing.rs b/eth2/types/src/beacon_block/signing.rs deleted file mode 100644 index e3317b920f..0000000000 --- a/eth2/types/src/beacon_block/signing.rs +++ /dev/null @@ -1,19 +0,0 @@ -use crate::{BeaconBlock, ChainSpec, Hash256, ProposalSignedData}; -use ssz::TreeHash; - -impl BeaconBlock { - pub fn proposal_root(&self, spec: &ChainSpec) -> Hash256 { - let block_without_signature_root = { - let mut block_without_signature = self.clone(); - block_without_signature.signature = spec.empty_signature.clone(); - block_without_signature.canonical_root() - }; - - let proposal = ProposalSignedData { - slot: self.slot, - shard: spec.beacon_chain_shard_number, - block_root: block_without_signature_root, - }; - Hash256::from_slice(&proposal.hash_tree_root()[..]) - } -}