@@ -192,6 +192,33 @@ func TestSerialize(t *testing.T) {
192192 assert .Contains (t , err .Error (), "subtree length does not match tx data length" )
193193 assert .Nil (t , serializedData )
194194 })
195+
196+ t .Run ("serialize non-extended" , func (t * testing.T ) {
197+ subtree , err := NewTree (2 )
198+ require .NoError (t , err )
199+
200+ _ = subtree .AddNode (* tx1 .TxIDChainHash (), 111 , 0 )
201+ _ = subtree .AddNode (* tx2 .TxIDChainHash (), 111 , 0 )
202+
203+ subtreeData := NewSubtreeData (subtree )
204+
205+ tx2NonExtended , err := bt .NewTxFromBytes (tx2 .Bytes ())
206+ require .NoError (t , err )
207+
208+ _ = subtreeData .AddTx (tx1 , 0 )
209+ _ = subtreeData .AddTx (tx2NonExtended , 1 )
210+
211+ // Second transaction is missing, so serialization should fail
212+ serializedDataBytes , err := subtreeData .Serialize ()
213+ require .NoError (t , err )
214+
215+ subtreeData2 , err := NewSubtreeDataFromBytes (subtree , serializedDataBytes )
216+ require .NoError (t , err )
217+ require .NotNil (t , subtreeData2 )
218+
219+ assert .True (t , subtreeData2 .Txs [0 ].IsExtended ())
220+ assert .False (t , subtreeData2 .Txs [1 ].IsExtended ())
221+ })
195222}
196223
197224func TestNewSubtreeDataFromBytes (t * testing.T ) {
0 commit comments