diff --git a/validator_client/src/block_producer/mod.rs b/validator_client/src/block_producer/mod.rs
index 2efcbd6ef8..db65ee7896 100644
--- a/validator_client/src/block_producer/mod.rs
+++ b/validator_client/src/block_producer/mod.rs
@@ -1,11 +1,11 @@
mod grpc;
mod service;
+#[cfg(test)]
mod test_node;
mod traits;
use self::traits::{BeaconNode, BeaconNodeError};
use super::EpochDutiesMap;
-use crate::duties::EpochDuties;
use slot_clock::SlotClock;
use spec::ChainSpec;
use std::sync::{Arc, RwLock};
@@ -139,6 +139,7 @@ mod tests {
use super::*;
use slot_clock::TestingSlotClock;
use types::test_utils::{SeedableRng, TestRandom, XorShiftRng};
+ use crate::duties::EpochDuties;
// TODO: implement more thorough testing.
//
diff --git a/validator_client/src/duties/grpc.rs b/validator_client/src/duties/grpc.rs
index 4032d49f3e..4ea9c6d41e 100644
--- a/validator_client/src/duties/grpc.rs
+++ b/validator_client/src/duties/grpc.rs
@@ -1,63 +1,34 @@
+use super::EpochDuties;
use super::traits::{BeaconNode, BeaconNodeError};
-use protos::services::{
- BeaconBlock as GrpcBeaconBlock, ProduceBeaconBlockRequest, PublishBeaconBlockRequest,
-};
+use protos::services::ValidatorAssignmentRequest;
use protos::services_grpc::BeaconBlockServiceClient;
-use ssz::{ssz_encode, Decodable};
-use types::{BeaconBlock, BeaconBlockBody, Hash256, Signature};
+use ssz::ssz_encode;
+use types::{PublicKey};
impl BeaconNode for BeaconBlockServiceClient {
- fn produce_beacon_block(&self, slot: u64) -> Result