I’m making an attempt to signal an incoming PSBT in customized software program I am constructing and I am having bother understanding how the signing technique of a PSBT truly works. I’ve a Trezor the place the xPub I used within the 2-of-3 multi-sig setup is definitely the kid of the primary key of the Trezor (for instance’s sake, say the xPub is situated at m/26H).
From my understanding, I can use HWI to signal the PSBT, however I do not know what data is important for me to supply and what the Trezor assumes. I feel that the Trezor fetches the personal key for every of the inputs based mostly on the derivation path within the decoded PSBT, however I wish to exchange it with the proper path for my program, Ex: If the PSBT exhibits m/44/0/0/1/0, I would like to switch it with m/26H/44/0/0/1/0 as a result of bear in mind; my xPub will not be from the seed however relatively one in all its kids. Additionally, I consider for multi-sig signing, I would like to supply the opposite public keys used within the transaction to be able to create the subsequent script, however is not that included within the PSBT? If not, is it even doable for me to get the general public keys of the opposite 2 wallets if all I’ve are their xPubs? (Does not hardened derivation stop me from discovering baby public keys subsequently if the PSBT makes use of keys at, say, path m/44H/0H/0H/1/0, I am unable to generate the keys?)
General, my aim is to easily signal a PSBT with my restoration key that exists in my Trezor. And, this is all the data I’ve:
-
PSBT (created and signed by one key in BlueWallet)
-
Derivation path from seed xPub to the pockets xPub (instance: m/26H will get the xPub of the restoration pockets)
-
The opposite two pockets xPubs
Let me know if I have to make any further clarifications.
Thanks.