File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -737,6 +737,11 @@ type Witness struct {
737737// the witness should be encoded or not.
738738func (w * Witness ) encodeRecords (encodeType EncodeType ) []tlv.Record {
739739 var records []tlv.Record
740+
741+ if w == nil {
742+ return records
743+ }
744+
740745 if w .PrevID != nil {
741746 records = append (records , NewWitnessPrevIDRecord (& w .PrevID ))
742747 }
@@ -771,6 +776,10 @@ func (w *Witness) DecodeRecords() []tlv.Record {
771776
772777// Encode encodes an asset witness into a TLV stream.
773778func (w * Witness ) Encode (writer io.Writer ) error {
779+ if w == nil {
780+ return fmt .Errorf ("cannot encode nil witness" )
781+ }
782+
774783 stream , err := tlv .NewStream (w .EncodeRecords ()... )
775784 if err != nil {
776785 return err
Original file line number Diff line number Diff line change @@ -287,6 +287,10 @@ func NewWitnessPrevIDRecord(prevID **PrevID) tlv.Record {
287287
288288func NewWitnessTxWitnessRecord (witness * wire.TxWitness ) tlv.Record {
289289 recordSize := func () uint64 {
290+ if witness == nil {
291+ return 0
292+ }
293+
290294 return uint64 ((* witness ).SerializeSize ())
291295 }
292296 return tlv .MakeDynamicRecord (
You can’t perform that action at this time.
0 commit comments