Skip to content

Commit 8a23d66

Browse files
fynnssjoey0612
andauthored
Release v0.0.3 (#66)
* doc: add CODEOWNERS * fix ci error (#67) --------- Co-authored-by: joey <10592664+joey0612@users.noreply.github.com>
1 parent e2721fe commit 8a23d66

5 files changed

Lines changed: 19 additions & 20 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @graceharuki @joey0612

src/consensus/parlia/consensus.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
6969
}
7070

7171
let is_luban_active = self.spec.is_luban_active_at_block(header.number);
72-
let is_epoch = header.number % epoch_length == 0;
72+
let is_epoch = header.number.is_multiple_of(epoch_length);
7373

7474
if is_luban_active {
7575
if !is_epoch {
@@ -91,9 +91,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
9191
Some(header.extra_data[start..end].to_vec())
9292
} else {
9393
if is_epoch &&
94-
(extra_len - EXTRA_VANITY_LEN - EXTRA_SEAL_LEN) %
95-
VALIDATOR_BYTES_LEN_BEFORE_LUBAN !=
96-
0
94+
!(extra_len - EXTRA_VANITY_LEN - EXTRA_SEAL_LEN).is_multiple_of(VALIDATOR_BYTES_LEN_BEFORE_LUBAN)
9795
{
9896
return None;
9997
}
@@ -104,7 +102,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
104102

105103
/// Get turn length from header
106104
pub fn get_turn_length_from_header(&self, header: &Header, epoch_length: u64) -> Result<Option<u8>, ParliaConsensusError> {
107-
if header.number % epoch_length != 0 ||
105+
if !header.number.is_multiple_of(epoch_length) ||
108106
!self.spec.is_bohr_active_at_timestamp(header.number, header.timestamp)
109107
{
110108
return Ok(None);
@@ -138,7 +136,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
138136
return Ok(None);
139137
}
140138

141-
let mut raw_attestation_data = if header.number() % epoch_length != 0 {
139+
let mut raw_attestation_data = if !header.number().is_multiple_of(epoch_length) {
142140
&header.extra_data[EXTRA_VANITY_LEN..extra_len - EXTRA_SEAL_LEN]
143141
} else {
144142
let validator_count =
@@ -218,7 +216,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
218216
&self,
219217
header: &Header,
220218
) -> Result<usize, ParliaConsensusError> {
221-
if header.number % self.get_epoch_length(header) != 0 {
219+
if !header.number.is_multiple_of(self.get_epoch_length(header)) {
222220
return Ok(0);
223221
}
224222

@@ -241,7 +239,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
241239
return Err(ParliaConsensusError::ExtraSignatureMissing);
242240
}
243241

244-
if header.number % self.get_epoch_length(header) != 0 {
242+
if !header.number.is_multiple_of(self.get_epoch_length(header)) {
245243
return Ok(());
246244
}
247245

@@ -259,7 +257,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
259257
} else {
260258
let validator_bytes_len = extra_len - EXTRA_VANITY_LEN - EXTRA_SEAL_LEN;
261259
if validator_bytes_len / VALIDATOR_BYTES_LEN_BEFORE_LUBAN == 0 ||
262-
validator_bytes_len % VALIDATOR_BYTES_LEN_BEFORE_LUBAN != 0
260+
!validator_bytes_len.is_multiple_of(VALIDATOR_BYTES_LEN_BEFORE_LUBAN)
263261
{
264262
return Err(ParliaConsensusError::InvalidHeaderExtraLen {
265263
header_extra_len: extra_len as u64,
@@ -273,7 +271,7 @@ where ChainSpec: EthChainSpec + BscHardforks + 'static,
273271
pub fn check_header_extra(&self, header: &Header) -> Result<(), ParliaConsensusError> {
274272
self.check_header_extra_len(header)?;
275273

276-
let is_epoch = header.number % self.get_epoch_length(header) == 0;
274+
let is_epoch = header.number.is_multiple_of(self.get_epoch_length(header));
277275
let validator_bytes_len = self.get_validator_len_from_header(header)?;
278276
if (!is_epoch && validator_bytes_len != 0) || (is_epoch && validator_bytes_len == 0) {
279277
return Err(ParliaConsensusError::InvalidHeaderExtraValidatorBytesLen {

src/consensus/parlia/provider.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ impl<DB: Database + 'static> SnapshotProvider for DbSnapshotProvider<DB> {
166166

167167
fn insert(&self, snapshot: Snapshot) {
168168
self.cache.write().insert(snapshot.block_number, snapshot.clone());
169-
if snapshot.block_number % crate::consensus::parlia::snapshot::CHECKPOINT_INTERVAL == 0 {
169+
if snapshot.block_number.is_multiple_of(crate::consensus::parlia::snapshot::CHECKPOINT_INTERVAL) {
170170
match self.persist_to_db(&snapshot) {
171171
Ok(()) => {
172172
tracing::debug!("Succeed to persist snapshot for block {} to DB", snapshot.block_number);
@@ -207,7 +207,7 @@ impl<DB: Database + 'static> SnapshotProvider for EnhancedDbSnapshotProvider<DB>
207207
}
208208

209209
// Check database at checkpoint intervals (every 1024 blocks)
210-
if current_block % crate::consensus::parlia::snapshot::CHECKPOINT_INTERVAL == 0 {
210+
if current_block.is_multiple_of(crate::consensus::parlia::snapshot::CHECKPOINT_INTERVAL) {
211211
if let Some(snap) = self.base.load_from_db(current_block) {
212212
tracing::debug!("Succeed to load snap, block_number: {}, snap_block_number: {}, wanted_block_number: {}", current_block, snap.block_number, block_number);
213213
if snap.block_number == current_block {
@@ -353,7 +353,7 @@ impl<DB: Database + 'static> EnhancedDbSnapshotProvider<DB> {
353353

354354
// Cache and persist snapshots at checkpoints
355355
self.base.cache.write().insert(working_snapshot.block_number, working_snapshot.clone());
356-
if working_snapshot.block_number % crate::consensus::parlia::snapshot::CHECKPOINT_INTERVAL == 0 {
356+
if working_snapshot.block_number.is_multiple_of(crate::consensus::parlia::snapshot::CHECKPOINT_INTERVAL) {
357357
tracing::info!("Persisting snapshot checkpoint for block {}", working_snapshot.block_number);
358358
self.base.insert(working_snapshot.clone());
359359
}
@@ -362,7 +362,7 @@ impl<DB: Database + 'static> EnhancedDbSnapshotProvider<DB> {
362362
current_block = chunk_end + 1;
363363

364364
// Log progress and memory usage every 50k blocks
365-
if current_block % 50000 == 0 {
365+
if current_block.is_multiple_of(50000) {
366366
let mem_info = Self::get_memory_usage();
367367
tracing::info!("Incremental rebuild progress: {} / {} blocks completed, Memory: RSS={}MB VSZ={}MB",
368368
current_block - 1, target_block, mem_info.0, mem_info.1);

src/consensus/parlia/snapshot.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,10 @@ impl Snapshot {
193193

194194
let epoch_length = snap.epoch_num;
195195
let next_block_number = block_number + 1;
196-
if snap.epoch_num == DEFAULT_EPOCH_LENGTH && is_lorentz_active && next_block_number % LORENTZ_EPOCH_LENGTH == 0 {
196+
if snap.epoch_num == DEFAULT_EPOCH_LENGTH && is_lorentz_active && next_block_number.is_multiple_of(LORENTZ_EPOCH_LENGTH) {
197197
snap.epoch_num = LORENTZ_EPOCH_LENGTH;
198198
}
199-
if snap.epoch_num == LORENTZ_EPOCH_LENGTH && is_maxwell_active && next_block_number % MAXWELL_EPOCH_LENGTH == 0 {
199+
if snap.epoch_num == LORENTZ_EPOCH_LENGTH && is_maxwell_active && next_block_number.is_multiple_of(MAXWELL_EPOCH_LENGTH) {
200200
snap.epoch_num = MAXWELL_EPOCH_LENGTH;
201201
}
202202

src/node/evm/post_execution.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ where
9797
}
9898

9999
let epoch_length = self.parlia.get_epoch_length(&header);
100-
if (header.number + 1)% epoch_length == 0 {
100+
if (header.number + 1).is_multiple_of(epoch_length) {
101101
// cache it on pre block.
102102
self.get_current_validators(header.number)?;
103103
}
@@ -113,7 +113,7 @@ where
113113
) -> Result<(), BlockExecutionError> {
114114
let header_ref = header.as_ref().unwrap();
115115
let epoch_length = self.parlia.get_epoch_length(header_ref);
116-
if header_ref.number % epoch_length != 0 {
116+
if !header_ref.number.is_multiple_of(epoch_length) {
117117
tracing::trace!("Skip verify validator, block_number {} is not an epoch boundary, epoch_length: {}", header_ref.number, epoch_length);
118118
return Ok(());
119119
}
@@ -160,7 +160,7 @@ where
160160
) -> Result<(), BlockExecutionError> {
161161
let header_ref = header.as_ref().unwrap();
162162
let epoch_length = self.inner_ctx.snap.as_ref().unwrap().epoch_num;
163-
if header_ref.number % epoch_length != 0 || !self.spec.is_bohr_active_at_timestamp(header_ref.number, header_ref.timestamp) {
163+
if !header_ref.number.is_multiple_of(epoch_length) || !self.spec.is_bohr_active_at_timestamp(header_ref.number, header_ref.timestamp) {
164164
tracing::trace!("Skip verify turn length, block_number {} is not an epoch boundary, epoch_length: {}", header_ref.number, epoch_length);
165165
return Ok(());
166166
}
@@ -346,7 +346,7 @@ where
346346
) -> Result<(), BlockExecutionError> {
347347
// distribute finality reward per 200 blocks.
348348
let distribute_interval = 200;
349-
if header.number % distribute_interval != 0 {
349+
if !header.number.is_multiple_of(distribute_interval) {
350350
return Ok(());
351351
}
352352

0 commit comments

Comments
 (0)