We only decide what's a self transfer at the end, once we can see all outputs.
We no longer worry about any "source is destination case", a "self-transfer" is one only to the change path, and the actual self address doesn't matter.
I have to write the first output for dao deposit to work. This makes 0 sense to me, except the old code also relied on this, due to due deposits (unintentionally?) hitting self-transfer code path. We ought to investigate this further, later, I think.
We only decide what's a self transfer at the end, once we can see all outputs.
We no longer worry about any "source is destination case", a "self-transfer" is one only to the change path, and the actual self address doesn't matter.
I have to write the first output for dao deposit to work. This makes 0 sense to me, except the old code also relied on this, due to due deposits (unintentionally?) hitting self-transfer code path. We ought to investigate this further, later, I think.