Skip to content

Make Wallet transfer gas defaults privacy-aware#19

Merged
HDauven merged 1 commit into
mainfrom
fix/v01-phoenix-gas-defaults
May 12, 2026
Merged

Make Wallet transfer gas defaults privacy-aware#19
HDauven merged 1 commit into
mainfrom
fix/v01-phoenix-gas-defaults

Conversation

@HDauven
Copy link
Copy Markdown
Member

@HDauven HDauven commented May 12, 2026

Summary

  • Makes transfer gas defaults privacy-aware: public/Moonlight transfers default to 2_000_000, shielded/Phoenix transfers default to 15_000_000.
  • Keeps existing higher defaults for shield, unshield, stake, unstake, withdraw reward, and contract calls unchanged.
  • Updates wallet send UI max-fee/default gas calculations to use the recipient privacy rail.
  • Keeps execution watcher timeout/errors as pending/unknown instead of marking submitted txs failed. Actual executed events with errors still mark txs failed.
  • Updates provider/agent docs and tests for the new defaults and pending-tx lifecycle rule.

Context

Testnet Phoenix transfers are currently failing with Unspendable(OutOfGas) around the old generic transfer default. Current testnet observations show Phoenix transfers spending about 10,913,765 gas without memo and 11,688,779 with a small memo, so 15_000_000 leaves headroom while reducing the public transfer default from the old generic 10_000_000.

Phoenix spends can also remain in node mempool after the wallet execution watcher times out. A watcher timeout is not proof of transaction failure, and mislabeling it as failed encourages users to retry/bump incorrectly while the same spend/nullifier may still be reserved.

Validation

  • npm ci
  • npm run test:run
  • npm run build:chrome
  • npm run build:firefox

Notes

This PR only updates wallet-side defaults and timeout labeling. It does not change node mempool DEFAULT_MIN_GAS_LIMIT, implement replace-by-fee semantics, or add a manual pending-nullifier cleanup path for stale Phoenix reservations.

@HDauven HDauven force-pushed the fix/v01-phoenix-gas-defaults branch from 51c2e13 to 2de98ba Compare May 12, 2026 10:31
@HDauven HDauven merged commit 2ef7a65 into main May 12, 2026
1 check passed
@HDauven HDauven deleted the fix/v01-phoenix-gas-defaults branch May 12, 2026 23:29
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