mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Make fine multiplicators rational with 256 base
This commit is contained in:
parent
41255daa54
commit
46204d918d
2 changed files with 9 additions and 9 deletions
|
@ -720,10 +720,10 @@ _ (HashmapE 256 ValidatorSignedTempKey) = ConfigParam 39;
|
|||
|
||||
misbehaviour_punishment_config_v1#01
|
||||
default_flat_fine:Grams default_proportional_fine:uint32
|
||||
severity_flat_mult:uint8 severity_proportional_mult:uint8
|
||||
severity_flat_mult:uint16 severity_proportional_mult:uint16
|
||||
unpunishable_interval:uint16
|
||||
long_interval:uint16 long_flat_mult:uint8 long_proportional_mult:uint8
|
||||
medium_interval:uint16 medium_flat_mult:uint8 medium_proportional_mult:uint8
|
||||
long_interval:uint16 long_flat_mult:uint16 long_proportional_mult:uint16
|
||||
medium_interval:uint16 medium_flat_mult:uint16 medium_proportional_mult:uint16
|
||||
= MisbehaviourPunishmentConfig;
|
||||
_ MisbehaviourPunishmentConfig = ConfigParam 40;
|
||||
|
||||
|
|
|
@ -3722,18 +3722,18 @@ bool compute_punishment(int interval, bool severe, td::RefInt256& fine, unsigned
|
|||
fine_part = rec.default_proportional_fine;
|
||||
|
||||
if (severe) {
|
||||
fine = fine * rec.severity_flat_mult;
|
||||
fine_part = fine_part * rec.severity_proportional_mult;
|
||||
fine = fine * rec.severity_flat_mult; fine >>= 8;
|
||||
fine_part = fine_part * rec.severity_proportional_mult; fine_part >>= 8;
|
||||
}
|
||||
|
||||
if (interval >= rec.long_interval) {
|
||||
fine = fine * rec.long_flat_mult;
|
||||
fine_part = fine_part * rec.long_proportional_mult;
|
||||
fine = fine * rec.long_flat_mult; fine >>= 8;
|
||||
fine_part = fine_part * rec.long_proportional_mult; fine_part >>= 8;
|
||||
return true;
|
||||
}
|
||||
if (interval >= rec.medium_interval) {
|
||||
fine = fine * rec.medium_flat_mult;
|
||||
fine_part = fine_part * rec.medium_proportional_mult;
|
||||
fine = fine * rec.medium_flat_mult; fine >>= 8;
|
||||
fine_part = fine_part * rec.medium_proportional_mult; fine_part >>= 8;
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue