protection from adding empty traces && assertion in traces db (#1994)
* protection from readding empty traces && assertion in traces db * simplified assert
This commit is contained in:
parent
d631162440
commit
f6b8dd0e78
@ -262,6 +262,13 @@ impl<T> TraceDatabase for TraceDB<T> where T: DatabaseExtras {
|
|||||||
/// Traces of import request's enacted blocks are expected to be already in database
|
/// Traces of import request's enacted blocks are expected to be already in database
|
||||||
/// or to be the currently inserted trace.
|
/// or to be the currently inserted trace.
|
||||||
fn import(&self, batch: &DBTransaction, request: ImportRequest) {
|
fn import(&self, batch: &DBTransaction, request: ImportRequest) {
|
||||||
|
// valid (canon): retracted 0, enacted 1 => false, true,
|
||||||
|
// valid (branch): retracted 0, enacted 0 => false, false,
|
||||||
|
// valid (bbcc): retracted 1, enacted 1 => true, true,
|
||||||
|
// invalid: retracted 1, enacted 0 => true, false,
|
||||||
|
let ret = request.retracted != 0;
|
||||||
|
let ena = !request.enacted.is_empty();
|
||||||
|
assert!(!(ret && !ena));
|
||||||
// fast return if tracing is disabled
|
// fast return if tracing is disabled
|
||||||
if !self.tracing_enabled() {
|
if !self.tracing_enabled() {
|
||||||
return;
|
return;
|
||||||
@ -278,7 +285,7 @@ impl<T> TraceDatabase for TraceDB<T> where T: DatabaseExtras {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// now let's rebuild the blooms
|
// now let's rebuild the blooms
|
||||||
{
|
if !request.enacted.is_empty() {
|
||||||
let range_start = request.block_number as Number + 1 - request.enacted.len();
|
let range_start = request.block_number as Number + 1 - request.enacted.len();
|
||||||
let range_end = range_start + request.retracted;
|
let range_end = range_start + request.retracted;
|
||||||
let replaced_range = range_start..range_end;
|
let replaced_range = range_start..range_end;
|
||||||
|
Loading…
Reference in New Issue
Block a user