<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinosv3.git/tools/ark/ln-e2e-test.js, branch fdroid-v1.6</title>
<subtitle>coinos v3 — bitcoin, Ark, Lightning and nostr wallet (web + Android)</subtitle>
<id>https://git.coinos.io/coinosv3.git/atom?h=fdroid-v1.6</id>
<link rel='self' href='https://git.coinos.io/coinosv3.git/atom?h=fdroid-v1.6'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/'/>
<updated>2026-07-31T15:04:33Z</updated>
<entry>
<title>Fix send-form UX around lightning pays; harden ln state machines</title>
<updated>2026-07-31T15:04:33Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-07-31T15:04:33Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=ad281e832ed9e36b777f03ed54e799df7d70ffc9'/>
<id>urn:sha1:ad281e832ed9e36b777f03ed54e799df7d70ffc9</id>
<content type='text'>
- a rejected cosign (gRPC INVALID_ARGUMENT) returns the input vtxo to
  spendable and fails the action instead of leaving it pending forever —
  the stuck-pending state that pushed small zaps onto Boltz's 25k minimum
- ark ln-pay now takes over when funds are settling (retrying quote) rather
  than falling through to Boltz
- typing a destination clears stale send errors (also cleared on tab
  switch); paste path likewise
- typed lightning addresses no longer auto-advance mid-keystroke (the
  matcher fired at `a@b.co` before `.com`, yanking the form away): the send
  form offers an explicit "Zap &lt;addr&gt;" button; pasted/scanned addresses
  still advance immediately
- ln-recv: HTLC vtxos anchored to a not-yet-confirmed pool round park and
  retry instead of throwing; the requested HTLC expiry is anchored on first
  prepare so retries can't inflate it past the server's grant

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Dust-isolate arkoor outputs; prove lightning E2E on regtest</title>
<updated>2026-07-31T08:10:13Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-07-31T08:10:13Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinosv3.git/commit/?id=72e407bf6d7d09923d15461be82685017a0887be'/>
<id>urn:sha1:72e407bf6d7d09923d15461be82685017a0887be</id>
<content type='text'>
The server rejects an arkoor mixing dust and non-dust outputs, which broke
small Lightning payments (a 45-sat HTLC next to change) and tiny plain
sends. Mirror bark's isolation: dust outputs route through a combined
isolation output spent by a fanout tx, splitting a non-dust output to pad
the dust below-threshold. Outputs can therefore split across two vtxos, so
the manager now classifies results by policy instead of index (legacy
single-field actions still resume).

Regtest now runs the full stack: dedicated cln-ark node (secondark/cln-hold,
hold plugin + xpay) wired into captaind with a channel to the coinos dev clc
node. tools/ark/ln-e2e-test.js proves pay (5000 sat and a 25-sat dust zap),
hold-invoice receive with claim, and spending the claimed vtxos.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
