Skip to content

bug: a released on-chain allowance payment keeps holding allowance capacity #1585

Open

Description

@ovitrif

Refs:

What happened?

When an automatic on-chain allowance payment's broadcast is refused or its result is unknown, the attempt is recorded as unknown in the allowance ledger. Recovery now settles it only on positive evidence from the wallet (the send attempt accepted or observed, or a verified payment proof). If the wallet later releases that send (its request ended and the coins are spent back to the wallet), the release deletes the send-attempt record and the request's proof, so recovery finds nothing to read. The attempt then stays unknown for good and keeps holding allowance capacity.

Expected behavior

A released on-chain send records the allowance attempt as failed, so its capacity returns to the allowance.

Steps to Reproduce

  1. Let an allowance pay a request on-chain while the broadcast is refused.
  2. After the request ends, release the unresolved send.
  3. Restart the app: the allowance still counts the payment against its limit.

Bitkit Version

Unreleased: allowances branch of #1340.

Reproducibility

From the code path; not yet run on a device.

Activity

  1. added this to the 3.2.0 milestone on Oct 19, 2026
  2. self-assigned this
    on Oct 19, 2026
  3. added theissue type on Oct 19, 2026
  4. removed their assignment
    on Oct 19, 2026
  5. ovitrif commented on Oct 19, 2026

    @ovitrif
    CollaboratorAuthor

    Rescoped: #1340 no longer pays on-chain automatically (6e36ce4), so no automatic attempt holds allowance capacity this way. What remains is a manual on-chain allowance payment whose send is released: its ledger attempt stays unknown instead of being recorded failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions