Files
wallet/crates
grenadeandClaude Opus 5.5 384c79446b
ci / gate (push) Failing after 1m27s
feat(near): the sponsor creates the intents account from the wallet
The Accounts page now offers "Create account" when the wallet's NEAR
Intents account does not exist yet. The sponsor (#81) creates it as
b<…>.blackbeard-observer.near with the wallet's ML-DSA-65 key, and pays
its NEAR fees from then on, so the panel no longer shows gas.

- NearSponsor is the port. HttpSponsor reads the terms, asks for an
  account and relays a signed delegate, keeping the sponsor's own reason
  when it refuses.
- The wallet acts only on terms it accepts: the sponsor is running, it
  names the account the wallet expects, and its fee is at most
  MAX_FEE_BPS (50). Otherwise the panel says why and offers nothing.
- The account the sponsor reports must be the one the wallet derived
  from its key, or the wallet refuses to use it.
- The sponsor answers once its transaction is in a final block, but the
  account is made by a receipt a block or two later. The command waits
  for it to be readable before reading the summary back.

Verified in a dev run with the dev-phrase fixture: Create account made
bffbod6n6ey7jdk4j.blackbeard-observer.near (0.0025 NEAR deposited, 182
bytes, the sponsor logged "created"). It read back as active once
refreshed, which is the race the wait now covers. The live tests
(ignored by default) read the terms and send a malformed key, which the
sponsor refuses without creating anything.

Closes #74

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NUx7SPonBnB3ofU4mH41WT
2026-10-09 20:18:59 +03:00
..