Body
SHARE_TIMESTAMPS and IS_RATE_LIMITED in src/translator/utils.rs:23-29 are lazy_static! globals. every downstream's check_share_rate_limit task hits the same counter.
- one miner filling the 70/min window throttles every other miner on the proxy.
allow_submit_share() returns false for all of them.
- when bridge drops a rate-limited share at
bridge.rs:304-309, it logs a warn and returns Ok(()). no rejection record, no stat bump. but update_accepted_shares already fired in downstream.rs:handle_submit, so accepted counts drift above what the pool got.
- every per-downstream task reacts to the global flag by calling
try_update_difficulty_settings on its own miner. one noisy miner makes every quiet miner bump diff too.
not a dup, searched for rate limit / 70 shares / silently drop / SHARE_TIMESTAMPS / allow_submit_share, only PR #109 (introduced this) and PR #218 (unrelated) come up (related to #152 but separate - #152 is inside validate_share, this is in the bridge drop path after validate_share already passed.)
Body
SHARE_TIMESTAMPSandIS_RATE_LIMITEDinsrc/translator/utils.rs:23-29arelazy_static!globals. every downstream'scheck_share_rate_limittask hits the same counter.allow_submit_share()returns false for all of them.bridge.rs:304-309, it logs a warn and returns Ok(()). no rejection record, no stat bump. butupdate_accepted_sharesalready fired indownstream.rs:handle_submit, so accepted counts drift above what the pool got.try_update_difficulty_settingson its own miner. one noisy miner makes every quiet miner bump diff too.not a dup, searched for rate limit / 70 shares / silently drop / SHARE_TIMESTAMPS / allow_submit_share, only PR #109 (introduced this) and PR #218 (unrelated) come up (related to #152 but separate - #152 is inside validate_share, this is in the bridge drop path after validate_share already passed.)