Destination address(es) when redeeming an HTLC Starting from this text at https://en.bitcoin.it/wiki/Script:

"The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide 1. a public key that, when hashed, yields destination address D embedded in the script ..."

and then looking at the HTLC script:

OP_IF
    [HASHOP] &lt;digest&gt; OP_EQUALVERIFY OP_DUP OP_HASH160 &lt;seller pubkey hash&gt;            
OP_ELSE
    &lt;num&gt; [TIMEOUTOP] OP_DROP OP_DUP OP_HASH160 &lt;buyer pubkey hash&gt;
OP_ENDIF
OP_EQUALVERIFY
OP_CHECKSIG


My original thought was that the HTLC could only be redeemed to the address behind &lt;seller pubkey hash&gt; or &lt;buyer pubkey hash&gt;: they are the only data relating to addresses embedded in the script so must be the "destination address" referred to above. I understand this to be wrong.

Am I now correct in thinking:


That the two pubkey hashes merely establish the right of the redeemer to take the respective branch;
There is in fact no "destination address D embedded in the script" for an HTLC;
That the seller or buyer may redeem to any address they like;
And that address can remain undecided through the funding and life of the HTLC until the moments before redemption?
The inputs of a transaction have absolutely no ability to effect the outputs in any situation. They can only define who can spend, not the conditions for how they go about spending it.