You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider two standard (singlesig) wallets trying to do a coinjoin.
If the last signer is a Trezor One, it raises RuntimeError('ProcessError: Unverifiable external input.').
in wallet2, go to tx Preview. Combine>"Join inputs/outputs", paste psbt1.
now the tx preview dialog shows a new tx, "tx3", which has 2 inputs and 4 outputs
in wallet2 still, tx dialog, now you can click "Sign"
the inputs of tx3 that are owned by wallet2 will be signed now
in wallet2 still, tx dialog, click Share>"Copy to clipboard"
let's call the exported tx "psbt2"
in wallet1, menubar>Tools>"Load transaction">"From text". paste psbt2.
in wallet1, tx dialog, now you can click "Sign"
the inputs of tx3 that are owned by wallet1 will be signed now
tx3 is now fully signed and you can broadcast it
If wallet1 uses a Trezor One (fw 1.12.1), e.g. with p2wpkh scripts, it will raise on step 9: RuntimeError('ProcessError: Unverifiable external input.').
wallet2 could be a software wallet with p2wpkh scripts, or a Trezor T, does not matter
If wallet1 uses a Trezor T, and wallet2 uses a Trezor One, no errors
If wallet1 uses a Trezor Safe 3, and wallet2 uses a Trezor T, no errors
If wallet1 uses a Trezor T, and wallet2 uses a Trezor Safe 3, no errors
It looks like the Trezor One is refusing to sign a tx with external pre-signed inputs. The other trezor models work however. @matejcik any idea?
Trezor One has limited support for EXTERNAL features. Only ownership proofs are accepted and only for segwit/taproot inputs. Pre-signed inputs are not supported.
I see. Thanks.
So the trick is that wallet2 needs to also add ownership proofs besides signing their own inputs.
To do this though, 85ea2df is needed. (EDIT: or actually, if you add the proofs before signing, the commit is not needed)
Consider two standard (singlesig) wallets trying to do a coinjoin.
If the last signer is a Trezor One, it raises
RuntimeError('ProcessError: Unverifiable external input.')
.Example steps for manual coinjoin:
RuntimeError('ProcessError: Unverifiable external input.')
.It looks like the Trezor One is refusing to sign a tx with external pre-signed inputs. The other trezor models work however.
@matejcik any idea?
originally reported at #8871 (comment) by @hynek-jina
related #8324
The text was updated successfully, but these errors were encountered: