Skip to content

Release v1.18.63

Choose a tag to compare

@Arrmlet Arrmlet released this 07 Jul 20:09
2eff7dd

Problem
S3 validation runs early in eval_miner, but update_s3_effective_size was at the very end of the method — after three early returns that fire on a failed/invalid GetDataEntityBucket (P2P) response. A miner can intentionally fail the bucket query to hit one of those returns, so the S3 update never runs. Their s3_boost and s3_credibility stay frozen at their last (inflated) values indefinitely, even though they no longer pass S3 validation — letting one miner keep the largest S3 boost while having less data than others.

Fix
Move the S3 boost/credibility update to immediately after _perform_s3_validation, before the P2P bucket query. S3 scoring no longer depends on the P2P outcome, so a failed bucket query can't skip it. No behavior change on the happy path; the same single update runs with the same arguments.