json rpc : Comment puis-je signer une feuille TapScript personnalisée à l'aide du point de terminaison RPC Bitcoind `walletprocesspsbt` ?

[pxn_tldr]

J'ai une sortie de racine pivotante qui peut être dépensée via 3 chemins de script différents. En général, tous ces chemins de script sont une sorte de multisig.

Dans mon portefeuille, j'ai une clé qui fait partie de ces multi-signatures. La clé a été créée à l’aide des points de terminaison getnewaddress puis getaddressinfo rpc.

Mon statut actuel est que je suis capable de le faire pour des scripts simples.

json rpc : Comment puis-je signer une feuille TapScript personnalisée à l'aide du point de terminaison RPC Bitcoind `walletprocesspsbt` ?

Par exemple, si le chemin de mon script contient un script sous forme  :

Lorsque key1 est contrôlé par mon portefeuille, je peux obtenir la signature avec le psbt suivant  :

« hash » :  » bcde1″, « version » : 2, « taille » : 82, « vsize » : 82, « poids » : 328, « locktime » : 0, « vin » : [

« txid » : «  »,

« vout » : 0,

« asm » : «  »,

« hex » : «  »

« sequence » : 0

] »vout » : [

« value » : 0.00098000,

« n » : 0,

« asm » : « 0 « ,

« desc » : « addr()#6azty5uq »,

« hex » : «  »,

« address » : «  »,

]

« global_xpubs »  : [

« propriétaire » : [

« entrées » : [

« amount » : 0.00100000,

« asm » : « 1 « ,

« desc » : « rawtr()#865n9v42 »,

« hex » : «  »,

« address » : «  »,

« hex » : «  »,

« type » : « nonstandard »

« script » : «  »,

«  »

]

« taproot_bip32_derivs » : [

« pubkey » : «  »,

« path » : « m »,

]

« taproot_internal_key » : «  » « sorties »  : [

« hash » :  » bcde1″, « version » : 2, « taille » : 82, « vsize » : 82, « poids » : 328, « locktime » : 0, « vin » : [

« txid » : «  »,

« vout » : 0,

« asm » : «  »,

« hex » : «  »

« sequence » : 0

] »vout » : [

« value » : 0.00098000,

« n » : 0,

« asm » : « 0 « ,

« desc » : « addr()#6azty5uq »,

« hex » : «  »,

« address » : «  »,

]

« global_xpubs »  : [

« propriétaire » : [

« entrées » : [

« amount » : 0.00100000,

« asm » : « 1 « ,

« desc » : « rawtr()#865n9v42 »,

« hex » : «  »,

« address » : «  »,

« hex » : «  »,

« type » : « nonstandard »

« pubkey » : «  »,

« sig » : «  »

« script » : «  »,

«  »

]

« taproot_bip32_derivs » : [

« pubkey » : «  »,

« path » : « m »,

]

« taproot_internal_key » : «  » « sorties »  : [

Je n'arrive pas à faire de même lorsque j'ai des scripts plus complexes comme  :

où key3 est contrôlé par mon portefeuille.

Après avoir envoyé psbt  :

« hash » :  » 365c73f4ecd4″, « version » : 2, « taille » : 82, « vsize » : 82, « poids » : 328, « locktime » : 0, « vin » : [

« txid » : «  »,

« vout » : 0,

« asm » : «  »,

« hex » : «  »

« sequence » : 0

] »vout » : [

« value » : 0.00098000,

« n » : 0,

« asm » : « 0 « ,

« desc » : « addr()#cr0chwt0 »,

« hex » : «  »,

« address » : «  »,

]

« global_xpubs »  : [

« propriétaire » : [

« entrées » : [

« amount » : 0.00100000,

« asm » : « 1 « ,

« desc » : « rawtr()#p43tkhf0 »,

« hex » : «  »,

« address » : «  »,

« hex » : «  »,

« type » : « nonstandard »

« script » : «  »,

«  »

]

« taproot_bip32_derivs » : [

« pubkey » : «  »,

« path » : « m »,

]

« taproot_internal_key » : «  » « sorties »  : [

Je reçois le même psbt en retour sans aucune signature.

La question ici est donc la suivante : quelles données supplémentaires dois-je mettre dans psbt pour signer ce script plus complexe ?