I am working on a Bitcoin transaction where two parties are involved. The goal is to lock funds and create a custom struct in the transaction output. Here's how I intend to set it up:
First party provides the funds and initiates a Partially Signed Bitcoin Transaction (PSBT) using BIP-174. Second party will add a custom struct (possibly metadata or a specific output detail) to the PSBT without providing any funds. I'm wondering if the following is possible:
Can the second party add a custom struct (output or metadata) to the PSBT, while the first party is the only one providing funds? Who will be responsible for paying the transaction fees? Will the first party bear all the fees since they are providing the input funds, or is there a way to distribute this between the parties? Are there any known constraints or best practices for achieving this within Bitcoin's protocol and the PSBT standard? I would appreciate any guidance on whether this setup is feasible and how to handle fees and struct addition in a PSBT.