Oh I got it! That’s pretty cool, but sadly I don’t think it will help with my use case.
You can create a rune buy offer today for a single UTXO holding X runes of type R by creating a PSBT with SIGHASH_ALL committing to the entire transaction, leaving the seller’s input for them to sign. This is how ord
implements inscription buy offers.
The problem is that you can’t realistically do this at scale, without creating a ridiculous number of signatures. You would need to sign a distinct PSBT for each UTXO with a balance of at least X runes of type R, which could number in the 1000s or 10s of 1000s, or more.
Unless I’m missing something, CTV can’t help here.
My idea was for the bidder to first create a transaction T_0 that commits to a P2TR output that has a unique script spend path S_i for each UTXO U_i they’re bidding on. There would be no signatures in the script spend path, just a commitment to a transaction T_i that has the buyer’s output, the seller’s output, the seller’s input, and an OP_RETURN
that sends X runes to the buyer’s output.
The transaction T_0 could then be easily broadcast, and any owner of rune R at U_i could create and sign the “reveal” transaction T_i that sends the runes to the bidder and claims the sats for themselves.
This though would require some way to commit to the spent outpoint U_i, but I’m afraid there’s no way to do that with CTV.