Skip to content

Commit 603d1d1

Browse files
authored
More precise calculation of expected shard blocks in checkload (#1279)
* More precise calculation of expected shard blocks in checkload * Fix monte-carlo checkload
1 parent 5920f80 commit 603d1d1

File tree

6 files changed

+279
-64
lines changed

6 files changed

+279
-64
lines changed

crypto/block/create-state.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ bool store_validator_list_hash(vm::CellBuilder& cb) {
426426
LOG_CHECK(vset) << "unpacked validator set is empty";
427427
auto ccvc = block::Config::unpack_catchain_validators_config(config_dict.lookup_ref(td::BitArray<32>{28}));
428428
ton::ShardIdFull shard{ton::masterchainId};
429-
auto nodes = block::Config::do_compute_validator_set(ccvc, shard, *vset, now, 0);
429+
auto nodes = block::Config::do_compute_validator_set(ccvc, shard, *vset, 0);
430430
LOG_CHECK(!nodes.empty()) << "validator node list in unpacked validator set is empty";
431431
auto vset_hash = block::compute_validator_set_hash(0, shard, std::move(nodes));
432432
LOG(DEBUG) << "initial validator set hash is " << vset_hash;

crypto/block/mc-config.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1746,7 +1746,7 @@ ton::CatchainSeqno ConfigInfo::get_shard_cc_seqno(ton::ShardIdFull shard) const
17461746

17471747
std::vector<ton::ValidatorDescr> Config::compute_validator_set(ton::ShardIdFull shard, const block::ValidatorSet& vset,
17481748
ton::UnixTime time, ton::CatchainSeqno cc_seqno) const {
1749-
return do_compute_validator_set(get_catchain_validators_config(), shard, vset, time, cc_seqno);
1749+
return do_compute_validator_set(get_catchain_validators_config(), shard, vset, cc_seqno);
17501750
}
17511751

17521752
std::vector<ton::ValidatorDescr> Config::compute_validator_set(ton::ShardIdFull shard, ton::UnixTime time,
@@ -1773,7 +1773,7 @@ std::vector<ton::ValidatorDescr> ConfigInfo::compute_validator_set_cc(ton::Shard
17731773
if (cc_seqno_delta) {
17741774
cc_seqno = *cc_seqno_delta += cc_seqno;
17751775
}
1776-
return do_compute_validator_set(get_catchain_validators_config(), shard, vset, time, cc_seqno);
1776+
return do_compute_validator_set(get_catchain_validators_config(), shard, vset, cc_seqno);
17771777
}
17781778

17791779
std::vector<ton::ValidatorDescr> ConfigInfo::compute_validator_set_cc(ton::ShardIdFull shard, ton::UnixTime time,
@@ -1856,9 +1856,8 @@ int ValidatorSet::lookup_public_key(td::ConstBitPtr pubkey) const {
18561856
return -1;
18571857
}
18581858

1859-
std::vector<ton::ValidatorDescr> Config::do_compute_validator_set(const block::CatchainValidatorsConfig& ccv_conf,
1860-
ton::ShardIdFull shard,
1861-
const block::ValidatorSet& vset, ton::UnixTime time,
1859+
std::vector<ton::ValidatorDescr> Config::do_compute_validator_set(const CatchainValidatorsConfig& ccv_conf,
1860+
ton::ShardIdFull shard, const ValidatorSet& vset,
18621861
ton::CatchainSeqno cc_seqno) {
18631862
// LOG(DEBUG) << "in Config::do_compute_validator_set() for " << shard.to_str() << " ; cc_seqno=" << cc_seqno;
18641863
std::vector<ton::ValidatorDescr> nodes;

crypto/block/mc-config.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -456,10 +456,11 @@ class ShardConfig {
456456
ShardConfig() = default;
457457
ShardConfig(const ShardConfig& other);
458458
ShardConfig(ShardConfig&& other) = default;
459-
ShardConfig(Ref<vm::Cell> shard_hashes, Ref<McShardHash> mc_shard_hash = {})
459+
explicit ShardConfig(Ref<vm::Cell> shard_hashes, Ref<McShardHash> mc_shard_hash = {})
460460
: shard_hashes_(std::move(shard_hashes)), mc_shard_hash_(std::move(mc_shard_hash)) {
461461
init();
462462
}
463+
ShardConfig& operator=(ShardConfig&& other) = default;
463464
bool is_valid() const {
464465
return valid_;
465466
}
@@ -659,9 +660,8 @@ class Config {
659660
BurningConfig get_burning_config() const;
660661
td::Ref<vm::Tuple> get_unpacked_config_tuple(ton::UnixTime now) const;
661662
PrecompiledContractsConfig get_precompiled_contracts_config() const;
662-
static std::vector<ton::ValidatorDescr> do_compute_validator_set(const block::CatchainValidatorsConfig& ccv_conf,
663-
ton::ShardIdFull shard,
664-
const block::ValidatorSet& vset, ton::UnixTime time,
663+
static std::vector<ton::ValidatorDescr> do_compute_validator_set(const CatchainValidatorsConfig& ccv_conf,
664+
ton::ShardIdFull shard, const ValidatorSet& vset,
665665
ton::CatchainSeqno cc_seqno);
666666

667667
static td::Result<std::unique_ptr<Config>> unpack_config(Ref<vm::Cell> config_root,

0 commit comments

Comments
 (0)