Skip to content

Fix resubmit burn crash recovery and concurrent-push safety - #457

Merged
dylanuys merged 1 commit into
testnetfrom
fix/durable-resubmit-burn
Sep 15, 2026
Merged

dylanuys merged 1 commit into
testnetfrom
fix/durable-resubmit-burn

Conversation

@dylanuys

Copy link
Copy Markdown
Contributor

Summary

  • Persist the exact signed burn transaction, hash, chain identity, amount, and intended submission before broadcast, using private atomic/fsynced files. A failed write prevents broadcast.
  • Recover pending burns from finalized chain history and reuse confirmed proof through upload retries. Unknown outcomes, corrupt state, and contradictory execution events block a fresh burn.
  • Lock the full upload/burn workflow per hotkey/subnet across local processes and threads, including proof acceptance and cleanup.
  • Display the actual alpha amount, up to 2% price padding, and additional transaction fees before confirmation. Apply durable signing to both burn_alpha and add_stake_burn.

Protection requires preserving the same local GAS_HOME; it is not a cross-machine exactly-once guarantee. Missing transactions remain blocked even after expiry and require investigation. Confirmed on-chain failures permit a newly authorized attempt on the next run. Recovery behavior and limits are documented.

Validation

  • Full subnet suite: 197 tests passed.
  • CI Ruff rules and git diff --check passed.
  • Fault injection covers crash/timeout before and after broadcast, disk/fsync failures, malformed/mismatched state, ambiguous receipts/events, concurrent CLI processes, and upload retries. Transaction hashing checked against the installed SDK.
  • No live burn transactions submitted.

@dylanuys
dylanuys merged commit a149ea4 into testnet Sep 15, 2026
2 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