Skip to content

dash(s8): get_work() job-target assembly (pseudoshare modulation + SANE clip + job targets) - #549

Merged
frstrtr merged 1 commit into
masterfrom
dash/s8-getwork-job-targets
Jun 27, 2026
Merged

dash(s8): get_work() job-target assembly (pseudoshare modulation + SANE clip + job targets)#549
frstrtr merged 1 commit into
masterfrom
dash/s8-getwork-job-targets

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 26, 2026

Copy link
Copy Markdown
Owner

S8 get_work() wiring follow-on to PR #545. Authors the rest of the get_work() target arithmetic the #545 desired_share_target accessor deferred:

  • modulate_desired_pseudoshare_target (work.py:368-374, *1 cap)
  • clip_to_sane (work.py:380-393, math.clip into PARENT.SANE_TARGET_RANGE)
  • assemble_work_job_targets -> {min_share_target, share_target} (work.py:411-426 ba dict)

SANE_TARGET_RANGE added to dash::PoolConfig SSOT from oracle networks/dash.py:33 + dash_testnet.py:27.

Oracle: frstrtr/p2pool-dash @9a0a609 work.py:368-426. Bucket-2 (v36_standardization_goal): modulation+clip algorithm = protocol-universal accessor; SANE_TARGET_RANGE stays per-coin SSOT.

SAFE-ADDITIVE, dash-fenced: new header + new KAT only; no shared/core/other-coin source touched. test_dash_work_job_targets 9/9 green Linux x86_64, oracle-exact.

LAND ORDER (held): stacked on #545; do NOT merge before #545 taps+lands. After #545 lands, rebase onto master for an independent consensus-bearing tap. No self-merge.

@frstrtr
frstrtr changed the base branch from dash/s8-work-target-modulation to master June 26, 2026 20:19
@frstrtr
frstrtr force-pushed the dash/s8-getwork-job-targets branch from 96afee2 to 294707b Compare June 26, 2026 20:19
…ANE clip + job targets

Author dash::stratum::{modulate_desired_pseudoshare_target, clip_to_sane,
assemble_work_job_targets} (work_job_targets.hpp) — the S8 follow-on the #545
desired_share_target modulation accessor explicitly deferred. Together they are
the full get_work() target arithmetic from the DASH oracle frstrtr/p2pool-dash
@9a0a609 work.py:368-426, as pure, header-only, socket-free accessors:

  Pseudoshare modulation (work.py:368-374)  None-path caps the vardiff target
                                            to ~1 share/sec via
                                            average_attempts_to_target(lhr*1).
  SANE clip (work.py:380-393)               math.clip into PARENT.SANE_TARGET_RANGE.
  Job targets (work.py:411-426 ba dict)     min_share_target = min(share bits,
                                            SANE_TARGET_RANGE[1]); share_target =
                                            the clipped pseudoshare target.

SANE_TARGET_RANGE added to dash::PoolConfig SSOT (config_pool.hpp,
sane_target_min/max) from oracle networks/dash.py:33 + dash_testnet.py:27.

Bucket-2 (v36_standardization_goal): the modulation+clip algorithm is the
protocol-universal shape that folds to a v37 unified work-source, authored as a
reusable accessor. Inputs (SANE_TARGET_RANGE) stay per-coin config SSOT — tuning
bounds, not isolation primitives.

SAFE-ADDITIVE, dash-only: new header + new KAT (test_dash_work_job_targets) wired
into the dash allowlist; no shared/core/other-coin source touched.
test_dash_work_job_targets: 9/9 green on Linux x86_64, every expected value
derived independently from the oracle integer formulas (true byte-parity pin).
@frstrtr
frstrtr force-pushed the dash/s8-getwork-job-targets branch from 294707b to c7d77d7 Compare June 26, 2026 22:03
@frstrtr
frstrtr merged commit 7f02492 into master Jun 27, 2026
22 checks passed
@frstrtr
frstrtr deleted the dash/s8-getwork-job-targets branch June 27, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant