Raised in the review of #2199.
extractIssueOutputs and extractTransferOutputs each number outputs by their own loop index, so issuedToEIDAndRH separates issue outputs from transfer outputs only via the len(o.Issuer) != 0 && len(o.Owner) != 0 heuristic. A request combining an upgrade issue at index 0 with a transfer at index 0 already mixes both actions' outputs in the filter; it is correct today only because no driver attaches an issuer to an owned transfer output.
Scoping the filter by the action itself rather than by ActionIndex + issuer presence would make it correct by construction.
Raised in the review of #2199.
extractIssueOutputsandextractTransferOutputseach number outputs by their own loop index, soissuedToEIDAndRHseparates issue outputs from transfer outputs only via thelen(o.Issuer) != 0 && len(o.Owner) != 0heuristic. A request combining an upgrade issue at index 0 with a transfer at index 0 already mixes both actions' outputs in the filter; it is correct today only because no driver attaches an issuer to an owned transfer output.Scoping the filter by the action itself rather than by
ActionIndex+ issuer presence would make it correct by construction.