wallet.help discovery method - #42
Merged
Merged
Conversation
Every app answers <ns>.help with its methods and params. The wallet didn't, so agents had no way to learn its surface from the store. wallet.help lists exactly the methods the dispatcher serves, including the EVM and settler sets when those are wired; a test keeps help and the dispatcher in step. Also released as 0.3.4 from release/0.3.x. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
wallet.request and wallet.topup were documented as taking a string amount, but Amount is a uint64 and both handlers reject a JSON string. Document it as an int, as wallet.settler_transfer already does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
The wallet was the only app-store app without a
<ns>.helpmethod, the discovery contract every app answers. So agents couldn't learn its surface, andpilotctl appstore call io.pilot.wallet wallet.helpfailed.wallet.helpreturns{app, version, description, methods[{method, summary, params, duration}]}. It lists exactly the methods the dispatcher serves: core methods, plus the EVM set when EVM is enabled, plus the settler set when a settler is wired.TestHelpListsEveryRegisteredMethodfails if help and the dispatcher drift apart. The version comes from the binary'sVersion(already pinned tomanifest.jsonbymanifest_test.go).0.3.4
The catalogue's wallet 0.3.3 is a single Mach-O bundle, so it can't install on Linux. Its signing key is also lost. I cut 0.3.4 on
release/0.3.xso the fix doesn't ship the unreleased settler work onmain. It is 0.3.3 plus the merged fixes up to #27 (including tamper-evident spend-cap state), the Base Sepolia EIP-712 fix (#30), and this help method. It is built for all four platforms and signed by a new Pilot-held publisher key (ed25519:8LTmMLNN…), which the audit's catalogue PR re-pins.Tested on macOS through a signed test catalogue: install, spawn,
wallet.help,wallet.address,wallet.evm.chains,wallet.balances.Related: app-store#42 fixes
wallet.addressreturning the supervisor's sentinel0:0001.0000.0000on every node.🤖 Generated with Claude Code