1 - Why a size of 4 for issuers and signatures field, if most of the time there will be only one of each ? And If there is more, then the SmallVec will move this field into the heap.
2 - The size of unlocks should be equal to the size of outputs, no ? Maybe I haven't understood correctly what's the signification of the unlock field...
By the way, can someone assign this issue to me ? Like that, I can create a pull request.
1 - To prepare for complex transactions that could become commonplace. allocating the heap as early as the 2nd element is not relevant.
2 - No the unlocks are for inputs. There is one unlock per input. You would have realized this by looking at the existing transactions in blockchain :)