Repository navigation
chore(deps): bump gonuts-tollgate v0.11.2 → v0.12.0 (melt/swap-retry counter reservation + #480 landing) - #506
Conversation
… counter reservation + #480 landing Picks up the fund-safety train (gonuts-tollgate#28, tagged v0.12.0): - the #480 fix lands: canonical mint-URL bucket keys, one-time max-counter alias merge on open, SaveKeyset monotonic-counter guard — service restarts no longer replay swap outputs on alias-carrying wallets (#480, #496) - Melt reserves its blank-output derivation range before PostMeltBolt11; a lost Paid-with-change response no longer bricks the melt path when the caller retries with a fresh quote (#494) - swapWithRetry reserves its retry range; the counter no longer trails the last exposed range after a 10002-retry (#495) - writer-audit pin: keyset rewrites can never rewind a counter Verification: go build/vet clean; race suites green in the two modules that consume gonuts (src/tollwallet 35s, src/merchant 432s) plus the root module (21s), all -tags testenv.
|
Verification — the #480 fix chain is closed end-to-end at the TollGate level. Live restart-repro green. Checked at head ( Library lineage (v0.12.0/v0.12.1): contains the #480 fix verbatim ( Live discriminator (isolated cloud-lab, real cdk-mintd, exactly the rig that reproduced the brick):
Post-run wallet.db forensics: one canonical bucket per mint (no trailing-slash aliases), derivation counter monotonic at 35 across both restarts. Module spot-battery green at head (tollwallet builds against v0.12.1; merchant expired-keyset tests pass under race). From our side: this PR is the release gate satisfied — land it before any alpha is driven from DQ05. The restart-brick is dead with it. |
#506 bumped the direct declarations (merchant, tollwallet, root) but src/cli's indirect pin stayed v0.11.2, failing make go-battery at that module. Tidied; cli battery green under race. Co-authored-by: Amperstrand <amperstrand@localhost>
|
Independent verification of the #480 fix on this branch — the restart discriminator, run live on an isolated 20-core runner (cloud lab, real cdk-mintd, real payments). Note: the branch was retargeted overnight to gonuts v0.12.1 (serialized The discriminator (exactly the #480 reproduction: fresh wallet seed → payment → plain
On This confirms the release-gate claim: any alpha cut from current (Scope note: this verifies the #480 restart class end-to-end. The #494/#495-class melt-reserve and swap-retry-range fixes are pinned by gonuts' own tests, not re-derived here; the PR's race-suite evidence for the two consuming modules stands as posted.) |
|
Post-merge live validation — the #480 reproducer lane, RED/GREEN A/B on the exact merged head (320896b vs main @61d65454): Lane = the issue's own recipe: full topology up → fresh mint-fees token paid to the upstream (swap #1) →
Live failure line from the RED run's upstream log: Static side, all on the merged head: Lane harness ( |
Pure dependency bump, no source changes (three go.mod replace pins + go.sum), same shape as #266/#392/#394.
Picks up the gonuts v0.12.0 fund-safety train (gonuts-tollgate#28):
OpenTollGate/gonuts-tollgate; this issue tracks it from the TollGate side. #494-class: Melt reserves its blank-output derivation range before PostMeltBolt11; a lost Paid-with-change response no longer bricks melts on caller retryVerification: go build/vet clean from src/; race suites green in the two gonuts-consuming modules (tollwallet 35s, merchant 432s) + root module (21s), all -tags testenv -count=1.