Skip to content

dgb: RE-LAND sharechain verify+tracker (recover orphaned #116 slice-2) - #121

Merged
frstrtr merged 2 commits into
masterfrom
dgb/share-verify-tracker-recover
Jun 17, 2026
Merged

dgb: RE-LAND sharechain verify+tracker (recover orphaned #116 slice-2)#121
frstrtr merged 2 commits into
masterfrom
dgb/share-verify-tracker-recover

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Recovers commit 534aa5f (share_check + share_tracker), orphaned when #116 auto-closed unmerged after its base branch dgb/pool-layer-port was --delete-branch'd on the #115 merge. Re-landed on current master (now contains #112 + #115).

Commits

  • bb3026e faithful re-land of 534aa5f (cherry-pick, clean, no conflicts) — share_check.hpp + share_tracker.hpp, Scrypt-only sharechain verify+tracker
  • a6bfe37 add to share_tracker.hpp (self-contained-include fix, mirrors btc/share-tracker-cstdint)

Oracle reconciliation (per integrator request)

Verified share_check/share_tracker against the new DGB oracle (frstrtr/p2pool-dgb-scrypt):

  • Both files hardcode ZERO consensus bytes. IDENTIFIER, PREFIX, donation script, address versions, PoW func, max_target are ALL pulled at runtime from core::CoinParams (params.active_identifier_hex(), params.donation_script_func(), params.address_version, params.pow_func, ...).
  • The oracle bytes (IDENTIFIER 4b62545b1a631afe / PREFIX 1c0553f23ebfcffe / donation forrestv P2PK / minproto 1700/3301) live in config_pool.hpp, owned by the separate held dgb/oracle-switch-consensus branch (c6b5fed). These files consume them — no divergence to fold in at this layer.
  • MERGED_KEY_PREFIX ("MERGED:") is the version-neutral sharechain weight-map DB key, matches p2pool merged format.

Status

  • Both headers pass standalone -fsyntax-only against current master headers.
  • Headers remain dormant (not yet compiled by any target) until ci-steward wires the OBJECT-lib; the cstdint fix makes share_tracker self-contained for that wiring.
  • HOLD merge — integrator merges on operator push approval.

frstrtr added 2 commits June 17, 2026 06:37
…rypt-only

Phase B pool-layer slice 2. Ports ltc share_check.hpp (3307L) and
share_tracker.hpp (2814L) into the dgb namespace.

Divergence from src/impl/ltc is namespace-only (ltc -> dgb) EXCEPT one
consensus constant: parent block-period score window uses DGB BLOCK_PERIOD
= 15s (farsider350 digibyte.py:21) vs LTC 150s. SHARE_PERIOD (25),
CHAIN_LENGTH/REAL_CHAIN_LENGTH (8640) already match farsider350 via
config_pool.hpp PoolConfig accessors — no further divergence.

Formatter / wire layout byte-parity with p2pool-merged-v36 preserved.
DOGE-aux merged-mining verify paths carried verbatim, dormant in the
default (no -DAUX_DOGE) build; parent-target semantics now = DGB-Scrypt.

Header-only pillars, not yet wired into node.hpp (later slice), mirroring
prior slices. Verified: standalone -fsyntax-only error set is byte-identical
to the upstream ltc header (pre-existing consumer-provided include order).
Standalone-include fix mirroring btc/share-tracker-cstdint: mul128_shift
uses uint64_t but relied on transitive <cstdint>. Make the dependency
explicit so the header is self-contained when the OBJECT-lib wiring
compiles it directly.
@frstrtr
frstrtr merged commit a0925dc into master Jun 17, 2026
16 checks passed
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