feat: add --ows flag to login for headless wallet creation#382
Open
kevarifin14 wants to merge 1 commit intotempoxyz:mainfrom
Open
feat: add --ows flag to login for headless wallet creation#382kevarifin14 wants to merge 1 commit intotempoxyz:mainfrom
kevarifin14 wants to merge 1 commit intotempoxyz:mainfrom
Conversation
4dfbdc4 to
0885b0c
Compare
Author
Adds `tempo wallet login --ows` as a headless alternative to passkey login. Creates a root key in the OWS vault, then generates a scoped access key with the same defaults ($100 USDC, 30 days). Identical on-chain result — no changes to signing, keystore, or model.
0885b0c to
36431af
Compare
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
Adds
tempo wallet login --ows— headless alternative to passkey login. Same on-chain result, no browser needed.Why
The current login flow requires a browser for WebAuthn passkey authentication. This doesn't work for:
--owsgives these environments a way to create wallets with the same on-chain security model (scoped access keys, $100 spending limit, 30-day expiry) without requiring human interaction in a browser.What it does
save_keys()as passkey login — keys.toml entry is structurally identicalwallet_type: "ows"via PostHogNo changes to the signing path, keystore, or data model. Exported key material is
Zeroizing-wrapped and wiped from memory after use.Changes
Cargo.tomlows-lib = "1.0.0"andows-core = "1.0.0"keys/ows.rskeys/mod.rsowsmoduleargs.rs--owsflag to Loginapp.rscommands/login.rsrun_ows()— mirrors passkey flow without browserTest plan
cargo check --workspacepassescargo test --package tempo-common --lib— 279/279 tests pass (274 original + 5 OWS)loginflow unchanged