WIP: Enforce enonce1 uniqueness for small enonces #534

Closed
paratoxic wants to merge 8 commits from implement-max-clients into master
Owner

Closes #518

Closes #518
Enforce enonce1 uniqueness
Some checks failed
CI / ckpool (pull_request) Successful in 15s
CI / lint (pull_request) Failing after 2m15s
CI / test-linux (pull_request) Has been cancelled
0a2fe63c78
Modify
Some checks failed
CI / ckpool (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 2m14s
CI / test-linux (pull_request) Has been cancelled
094917e3c2
Change
Some checks failed
CI / ckpool (pull_request) Successful in 23s
CI / lint (pull_request) Successful in 2m24s
CI / test-linux (pull_request) Failing after 7m5s
ab9c2bf41c
Tweak
All checks were successful
CI / ckpool (pull_request) Successful in 17s
CI / lint (pull_request) Successful in 2m6s
CI / test-linux (pull_request) Successful in 7m5s
f8bfe837eb
paratoxic changed title from Enforce enonce1 uniqueness to Enforce enonce1 uniqueness for small enonces 2026-04-22 22:26:58 +00:00
parabit approved these changes 2026-04-22 23:19:00 +00:00
parabit left a comment
Owner

LGTM

Took me a minute to understand why the test showed 256 max clients, could maybe use a comment there?

LGTM Took me a minute to understand why the test showed 256 max clients, could maybe use a comment there?
@ -1,9 +1,12 @@
use super::*;
const MAX_TRACKED_CLIENTS: usize = 1 << 16;
Owner

That's a big number! Also, isn't this just u16::max?

That's a big number! Also, isn't this just u16::max?
@ -76,2 +125,4 @@
}
fn proxy_allocator(extension_size: usize) -> EnonceAllocator {
let upstream_enonce1 = Extranonce::from_bytes(&[0xde, 0xad, 0xbe, 0xef]);
Owner

Unrelated to PR, it may be nice to have a helper function on Extranonce that lets you pass these as a hex string "deadbeef" and it just handles the parse with radix 16.

Unrelated to PR, it may be nice to have a helper function on Extranonce that lets you pass these as a hex string "deadbeef" and it just handles the parse with radix 16.
Tweak
Some checks failed
CI / ckpool (pull_request) Successful in 33s
CI / lint (pull_request) Successful in 3m30s
CI / test-linux (pull_request) Failing after 8m6s
75071981b8
Improve
All checks were successful
CI / ckpool (pull_request) Successful in 20s
CI / lint (pull_request) Successful in 2m12s
CI / test-linux (pull_request) Successful in 6m30s
ea8afdcdef
Modify
Some checks failed
CI / ckpool (pull_request) Successful in 9s
CI / lint (pull_request) Successful in 1m14s
CI / test-linux (pull_request) Failing after 4m31s
4d50974283
Solidify
Some checks failed
CI / ckpool (pull_request) Successful in 8s
CI / lint (pull_request) Successful in 1m18s
CI / test-linux (pull_request) Failing after 4m42s
7b817d2916
paratoxic changed title from Enforce enonce1 uniqueness for small enonces to WIP: Enforce enonce1 uniqueness for small enonces 2026-04-24 20:32:04 +00:00
paratoxic closed this pull request 2026-06-24 17:03:07 +00:00
Some checks failed
CI / ckpool (pull_request) Successful in 8s
CI / lint (pull_request) Successful in 1m18s
CI / test-linux (pull_request) Failing after 4m42s

Pull request closed

Sign in to join this conversation.
No description provided.