Sync the daemon pairing to wavelength v0.1.1-rc1 - #65
Merged
Conversation
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.
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.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_allfield onOnchainAddressRequest. 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-jsonflags, one shared confirmation gate for fund-moving commands (exit 5CONFIRMATION_REQUIREDnon-interactively unless--yes), dry runs exiting 0 instead of the retired exit 10,retryable/remediationfields on error envelopes, and an explicit--password-stdinreplacing 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
ErrCreditReceiveUnavailablefacade 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-allto--sweep-allin thesweep_alldoc 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-pincheck is green and the deploy's release-asset fetch path works: the demo smoke test passes against assets fetched from the release archive, andbindings:fetchstages the published.aar/.xcframeworkcleanly.Steps to Test
pnpm --filter web-wallet-demo run wasm:fetch(orwasm:localfrom a checkout) to stage the runtime assetspnpm --filter web-wallet-demo run build && pnpm --filter web-wallet-demo run test(smoke test, 8/8 here, against release-fetched assets)PORT=4399 pnpm --filter @lightninglabs/wavelength-docs test(175 here)