File tree Expand file tree Collapse file tree 6 files changed +7
-3
lines changed Expand file tree Collapse file tree 6 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -798,7 +798,7 @@ size_limits_config#01 max_msg_bits:uint32 max_msg_cells:uint32 max_library_cells
798798size_limits_config_v2#02 max_msg_bits:uint32 max_msg_cells:uint32 max_library_cells:uint32 max_vm_data_depth:uint16
799799 max_ext_msg_size:uint32 max_ext_msg_depth:uint16 max_acc_state_cells:uint32 max_acc_state_bits:uint32
800800 max_acc_public_libraries:uint32 defer_out_queue_size_limit:uint32 max_msg_extra_currencies:uint32
801- max_acc_fixed_prefix_length:uint8 = SizeLimitsConfig;
801+ max_acc_fixed_prefix_length:uint8 acc_state_cells_for_storage_dict:uint32 = SizeLimitsConfig;
802802_ SizeLimitsConfig = ConfigParam 43;
803803
804804// key is [ wc:int32 addr:uint256 ]
Original file line number Diff line number Diff line change @@ -2046,6 +2046,7 @@ td::Result<SizeLimitsConfig> Config::do_get_size_limits_config(td::Ref<vm::CellS
20462046 limits.defer_out_queue_size_limit = rec.defer_out_queue_size_limit ;
20472047 limits.max_msg_extra_currencies = rec.max_msg_extra_currencies ;
20482048 limits.max_acc_fixed_prefix_length = rec.max_acc_fixed_prefix_length ;
2049+ limits.acc_state_cells_for_storage_dict = rec.acc_state_cells_for_storage_dict ;
20492050 };
20502051 gen::SizeLimitsConfig::Record_size_limits_config rec_v1;
20512052 gen::SizeLimitsConfig::Record_size_limits_config_v2 rec_v2;
Original file line number Diff line number Diff line change @@ -403,6 +403,7 @@ struct SizeLimitsConfig {
403403 td::uint32 defer_out_queue_size_limit = 256 ;
404404 td::uint32 max_msg_extra_currencies = 2 ;
405405 td::uint32 max_acc_fixed_prefix_length = 8 ;
406+ td::uint32 acc_state_cells_for_storage_dict = 26 ;
406407};
407408
408409struct CatchainValidatorsConfig {
Original file line number Diff line number Diff line change @@ -3522,8 +3522,7 @@ bool Transaction::compute_state(const SerializeConfig& cfg) {
35223522 // Root of AccountStorage is not counted in AccountStorageStat
35233523 new_storage_used.cells = stats.get_total_cells () + 1 ;
35243524 new_storage_used.bits = stats.get_total_bits () + new_storage_for_stat->size ();
3525- // TODO: think about this limit (25)
3526- if (store_storage_dict_hash && new_storage_used.cells > 25 ) {
3525+ if (store_storage_dict_hash && new_storage_used.cells >= cfg.size_limits .acc_state_cells_for_storage_dict ) {
35273526 auto r_hash = stats.get_dict_hash ();
35283527 if (r_hash.is_error ()) {
35293528 LOG (ERROR) << " Cannot compute storage dict hash for account " << account.addr .to_hex () << " : "
@@ -4184,6 +4183,7 @@ td::Status FetchConfigParams::fetch_config_params(
41844183 serialize_cfg->extra_currency_v2 = config.get_global_version () >= 10 ;
41854184 serialize_cfg->disable_anycast = config.get_global_version () >= 10 ;
41864185 serialize_cfg->store_storage_dict_hash = config.get_global_version () >= 11 ;
4186+ serialize_cfg->size_limits = size_limits;
41874187 }
41884188 {
41894189 // fetch block_grams_created
Original file line number Diff line number Diff line change @@ -186,6 +186,7 @@ struct SerializeConfig {
186186 bool extra_currency_v2{false };
187187 bool disable_anycast{false };
188188 bool store_storage_dict_hash{false };
189+ SizeLimitsConfig size_limits;
189190};
190191
191192struct CreditPhase {
Original file line number Diff line number Diff line change @@ -1079,6 +1079,7 @@ bool ValidateQuery::fetch_config_params() {
10791079 serialize_cfg_.extra_currency_v2 = config_->get_global_version () >= 10 ;
10801080 serialize_cfg_.disable_anycast = config_->get_global_version () >= 10 ;
10811081 serialize_cfg_.store_storage_dict_hash = config_->get_global_version () >= 11 ;
1082+ serialize_cfg_.size_limits = size_limits;
10821083 }
10831084 {
10841085 // fetch block_grams_created
You can’t perform that action at this time.
0 commit comments