lightninglabs / lightninglabs/taproot-assets

tapgarden: defund the PSBT

Open
#830 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
525
Forks
150
Avg merge
2d 15h
Merged PRs (30d)
31

Description

Spinoff of #828.

Some in-flight PRs (#787) add logic for 'unwinding' a call to `FundPsbt`. Currently this is only being used in the tapfreighter / transfer logic:

https://github.com/lightninglabs/taproot-assets/pull/787/commits/23bc1756aa4585683ed5ec38da7851dafe3da6c7

Since the minting logic funds all batches with `FundPsbt`, we should also unwind batch funding and unlock anchor inputs on batch funding failure, or other failure points before batch broadcast.

This may involve DB changes to record the `LockedUTXOs` of a minting batch. Right now this is equivalent to all inputs, but once #721 is implemented that may not be true.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the FundPsbt unwinding logic in PR #787 and tracing how minting batches fund inputs before broadcast. Check the tapfreighter/transfer failure paths and determine how minting should release locked anchor inputs, including whether batch DB records must retain LockedUTXOs. Done means every pre-broadcast funding failure unwinds the funding and unlocks the appropriate inputs.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.