Jonathan Underwood

Results 435 comments of Jonathan Underwood

PSBT BIP likes to add new input data types all the time, so maybe you should propose a logical way to store the partial script. We could add it then....

We cache the deserialized Transaction for nonWitnessUtxo. Could probably do something similar. This isn't difficult to code, it's just difficult from an API design perspective. Perhaps it'd be easier to...

You need to provide your own finalizer: ```ts function getFinalScriptsForMyCustomScript( inputIndex: number, input: PsbtInput, script: Buffer, isSegwit: boolean, isP2SH: boolean, isP2WSH: boolean, ): { finalScriptSig: Buffer | undefined; finalScriptWitness: Buffer...

Also, your script doesn't check any signatures from `participantAAddress` or `participantBAddress`..... so the `publicKeyMain` can redeem this script at any time by itself.

> Do i really have to finalize all 3 inputs (0,1,2) ? You need to finalize all inputs. If there's 3, you need to finalize all three. > publicKeyMain should...

Require the signature of that pubkey as well, and that pubkey's owner will only sign if it sees its own address in the outputs.

Please check the integration tests and play around with it a bit first. https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/test/integration/taproot.spec.ts Then let me know if you have any questions. Taproot transactions are done differently compared to...

This is not enough information. Please post a minimal reproduction case that I can run. Pasting a huge blob of code that I can't run locally and pointing to something...

1. I feel like we have a lot of things that aren't publicly exposed that are almost necessary to use taproot. A big smell in that area is the fact...

The interface provided expects a Buffer for input (as shown by the TypeScript and its type definitions). This change is caused by the internal usage of `Uint8Array.from(data)` which will change...