Un-gate Send: ship the native-ETH send UI - #54
Merged
Conversation
The daemon, frozen wire contract, and the app's key-less send transport (signer::send_blocking / approve_and_execute_blocking) were already built and tested; this adds the held-back UI surface that drives them. - New Surface::Send with a compose -> review -> hold-to-confirm -> done flow mirroring the shield flow (shield_view.rs / shell.rs shield_*). - send_* state on Shell + open/reset/review/confirm/hold_start/hold_cancel, epoch-guarded exactly like their shield twins; lock() clears send state and inputs. - Recipient accepts a 0x address (parsed directly) or an ENS name (forward-resolved via EthProvider::resolve_name, the watch-address path). - signer::build_native_send_intent builds the native Send intent (token: None, empty calldata) the daemon already admits. - welcome.rs Send button un-gated (disabled only while viewing a watched account, like Shield); copy updated to "Swap arrives in the next release." - New "send" command in the Cmd-K palette, handled in run_palette_command. No contract/signerd changes; no new dependencies. Tests: build_native_send_intent_is_a_native_send; palette count 9 -> 10. cargo fmt --all --check clean; just check green on default and --features tray; cargo test --workspace green.
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 daemon, frozen wire contract, and the app's key-less send transport (
signer::send_blocking/approve_and_execute_blocking) were already built and tested; this adds the held-back UI surface that drives them.Surface::Sendwith a compose → review → hold-to-confirm → done flow mirroring the shield flow (shield_view.rs/shell.rsshield_*).send_*state onShell+ open/reset/review/confirm/hold_start/hold_cancel, epoch-guarded exactly like their shield twins;lock()clears send state and inputs.0xaddress (parsed directly) or an ENS name (forward-resolved viaEthProvider::resolve_name, the watch-address path).signer::build_native_send_intentbuilds the native Send intent (token: None, empty calldata) the daemon already admits.welcome.rsSend button un-gated (disabled only while viewing a watched account, like Shield); copy updated to "Swap arrives in the next release."sendcommand in the ⌘K palette, handled inrun_palette_command.No contract/signerd changes; no new dependencies.
Tests:
build_native_send_intent_is_a_native_send; palette count 9 → 10.cargo fmt --all --checkclean;just checkgreen on default and--features tray;cargo test --workspacegreen.Screenshots
Captured live by running the app headlessly (software Vulkan + Xvfb — recipe + the screenshot convention land in #57).