Add checks for eth1 chain connection before inserting to op pool (#868)
This commit is contained in:
parent
fbb630793e
commit
6368be148d
@ -977,8 +977,10 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
|
||||
// Provide the valid attestation to op pool, which may choose to retain the
|
||||
// attestation for inclusion in a future block.
|
||||
if self.eth1_chain.is_some() {
|
||||
self.op_pool
|
||||
.insert_attestation(attestation, state, &self.spec)?;
|
||||
};
|
||||
|
||||
// Update the metrics.
|
||||
metrics::inc_counter(&metrics::ATTESTATION_PROCESSING_SUCCESSES);
|
||||
@ -993,7 +995,13 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
exit: SignedVoluntaryExit,
|
||||
) -> Result<(), ExitValidationError> {
|
||||
match self.wall_clock_state() {
|
||||
Ok(state) => self.op_pool.insert_voluntary_exit(exit, &state, &self.spec),
|
||||
Ok(state) => {
|
||||
if self.eth1_chain.is_some() {
|
||||
self.op_pool.insert_voluntary_exit(exit, &state, &self.spec)
|
||||
} else {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
error!(
|
||||
&self.log,
|
||||
@ -1013,8 +1021,12 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
) -> Result<(), ProposerSlashingValidationError> {
|
||||
match self.wall_clock_state() {
|
||||
Ok(state) => {
|
||||
if self.eth1_chain.is_some() {
|
||||
self.op_pool
|
||||
.insert_proposer_slashing(proposer_slashing, &state, &self.spec)
|
||||
} else {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
error!(
|
||||
@ -1035,8 +1047,12 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
) -> Result<(), AttesterSlashingValidationError> {
|
||||
match self.wall_clock_state() {
|
||||
Ok(state) => {
|
||||
if self.eth1_chain.is_some() {
|
||||
self.op_pool
|
||||
.insert_attester_slashing(attester_slashing, &state, &self.spec)
|
||||
} else {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
error!(
|
||||
|
@ -518,6 +518,7 @@ pub fn proposer_slashing<T: BeaconChainTypes>(
|
||||
.and_then(move |proposer_slashing| {
|
||||
let spec = &beacon_chain.spec;
|
||||
let state = &beacon_chain.head().unwrap().beacon_state;
|
||||
if beacon_chain.eth1_chain.is_some() {
|
||||
beacon_chain
|
||||
.op_pool
|
||||
.insert_proposer_slashing(proposer_slashing, state, spec)
|
||||
@ -527,6 +528,11 @@ pub fn proposer_slashing<T: BeaconChainTypes>(
|
||||
e
|
||||
))
|
||||
})
|
||||
} else {
|
||||
Err(ApiError::BadRequest(
|
||||
"Cannot insert proposer slashing on node without Eth1 connection.".to_string(),
|
||||
))
|
||||
}
|
||||
})
|
||||
.and_then(|_| response_builder?.body(&true));
|
||||
|
||||
@ -554,6 +560,7 @@ pub fn attester_slashing<T: BeaconChainTypes>(
|
||||
.and_then(move |attester_slashing| {
|
||||
let spec = &beacon_chain.spec;
|
||||
let state = &beacon_chain.head().unwrap().beacon_state;
|
||||
if beacon_chain.eth1_chain.is_some() {
|
||||
beacon_chain
|
||||
.op_pool
|
||||
.insert_attester_slashing(attester_slashing, state, spec)
|
||||
@ -563,6 +570,11 @@ pub fn attester_slashing<T: BeaconChainTypes>(
|
||||
e
|
||||
))
|
||||
})
|
||||
} else {
|
||||
Err(ApiError::BadRequest(
|
||||
"Cannot insert attester slashing on node without Eth1 connection.".to_string(),
|
||||
))
|
||||
}
|
||||
})
|
||||
.and_then(|_| response_builder?.body(&true));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user