Skip to content

Sync the daemon pairing to wavelength v0.1.1-rc1 - #65

Merged
jamaljsr merged 6 commits into
mainfrom
pr/daemon-sync-v0-1-1-rc1-230468
Jul 30, 2026
Merged

Sync the daemon pairing to wavelength v0.1.1-rc1#65
jamaljsr merged 6 commits into
mainfrom
pr/daemon-sync-v0-1-1-rc1-230468

Conversation

@jamaljsr

@jamaljsr jamaljsr commented Jul 30, 2026

Copy link
Copy Markdown
Member

Summary

Moves the daemon pin from v0.1.0 to v0.1.1-rc1 and updates everything downstream of it. The SDK surface is nearly untouched: generated.ts regenerates byte-identically and the API data only gains the new sweep_all field on OnchainAddressRequest. The bulk of the diff is CLI docs, because this release reworks wavecli's agent-facing contract: canonical kebab-case flags (snake_case still accepted as aliases), new global --timeout, --json, --no-input, and --request-json flags, one shared confirmation gate for fund-moving commands (exit 5 CONFIRMATION_REQUIRED non-interactively unless --yes), dry runs exiting 0 instead of the retired exit 10, retryable/remediation fields on error envelopes, and an explicit --password-stdin replacing implicit stdin password reads on create/unlock.

Technical Notes

The daemon-side proto additions in this range (expired VTXO status, round fee attribution, OOR admission deadlines, exit cost) all land on DaemonService, which wallet.json doesn't cover, so the empty diff there is expected. The new ErrCreditReceiveUnavailable facade sentinel needs no SDK change since core maps daemon errors to 'wavelength_error' generically. Package versions move to 0.1.1-rc1 in lockstep so the release workflow's tag check passes.

One deliberate deviation: wallet.json carries a one-word hand-patch (--send-all to --sweep-all in the sweep_all doc comment) so the deployed API reference doesn't publish a flag that doesn't exist. The typo is fixed upstream in lightninglabs/wavelength#1075, and the next pin bump regenerates the file to identical content.

The v0.1.1-rc1 release is published, so the runtime-pin check is green and the deploy's release-asset fetch path works: the demo smoke test passes against assets fetched from the release archive, and bindings:fetch stages the published .aar/.xcframework cleanly.

Steps to Test

  1. pnpm --filter web-wallet-demo run wasm:fetch (or wasm:local from a checkout) to stage the runtime assets
  2. pnpm --filter web-wallet-demo run build && pnpm --filter web-wallet-demo run test (smoke test, 8/8 here, against release-fetched assets)
  3. PORT=4399 pnpm --filter @lightninglabs/wavelength-docs test (175 here)

jamaljsr added 5 commits July 30, 2026 08:49
Move RUNTIME_MANIFEST_VERSION from v0.1.0 to the v0.1.1-rc1 release
candidate (commit ea3bffa1), so the runtime asset directory matches
the daemon build it was produced from.

The facade in sdk/wavewalletdk only gains a new error sentinel
(ErrCreditReceiveUnavailable) across the range, so generated.ts
regenerates byte-identically, and the SDK has no reason-string
mapping to extend. The wasm runtime assets are rebuilt from the tag
under the new version directory.
Regenerate wallet.json from the release's wallet.proto. The only
schema change is the new OnchainAddressRequest.sweep_all marker,
which lets activity completion net the settled operator fee back
out of a sweep-all onchain send's displayed amount.
The release reworks the CLI's agent-facing contract:

- Flags are canonically kebab-case everywhere, with snake_case
  spellings accepted as aliases via a global normalization func.
- New global flags: --timeout (per-RPC deadline, default 30s),
  --json (machine-readable output shorthand), and --no-input
  (never prompt; CI=true suppresses prompts the same way). The raw
  request payload flag is now --request-json.
- Fund-moving actions (send, ark send inround/oor, ark sweep
  --broadcast, wallet-sweep --broadcast, vtxos refresh/leave,
  recovery escalate) share one confirmation gate: prompt on a TTY,
  exit 5 with a CONFIRMATION_REQUIRED envelope non-interactively
  unless --yes approves up front. The MCP raw send tools carry the
  same gate via yes:true.
- Dry runs exit 0 with a preview instead of the dedicated exit 10,
  which is retired.
- Error envelopes gain retryable and remediation fields, and
  Ctrl-C reports a CANCELED envelope with the last observed phase.
- Wallet passwords are never read from implicit stdin: an explicit
  --password-stdin flag replaces pipe sniffing on create and
  unlock, and wallet-not-ready failures exit 3 to match their
  WALLET_LOCKED envelope.
- ark rounds watch gains --max-events and --for bounds, and schema
  entries report side_effect and an output-schema id/version.
Keep the npm package versions in lockstep with the daemon pin so
the release workflow's tag check passes.
Note that global flag, exit-code, and error-envelope changes ripple
across every CLI docs page, and point at the exact mobile-bindings.yml
step that carries the upstream copy of the wasm asset file list.
@jamaljsr jamaljsr self-assigned this Jul 30, 2026
Comment thread apps/docs/src/data/api/wallet.json Outdated
The upstream doc comment names a wavecli flag that does not exist
(--send-all instead of --sweep-all), and the API reference renders
straight from this file, so deploying it as generated would publish
a broken invocation. Patch the one word by hand, deliberately
diverging from gen:api-docs output.

The divergence is temporary: the comment is fixed upstream in
wavelength#1075, so the next pin bump regenerates this file to the
same content and the pipeline is clean again.
@claude

claude Bot commented Jul 30, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@jamaljsr
jamaljsr merged commit 14c3019 into main Jul 30, 2026
5 checks passed
@jamaljsr
jamaljsr deleted the pr/daemon-sync-v0-1-1-rc1-230468 branch July 30, 2026 16:06
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