Skip to content

Commit daab4f6

Browse files
committed
Fix atomic beef
1 parent d749ba3 commit daab4f6

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

transaction/beef.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,6 @@ func readBeefTx(reader *bytes.Reader, BUMPs []*MerklePath) (*map[string]*BeefTx,
103103
sourceTxid := input.SourceTXID.String()
104104
if sourceObj, ok := txs[sourceTxid]; ok {
105105
input.SourceTransaction = sourceObj.Transaction
106-
} else if beefTx.Transaction.MerklePath == nil && beefTx.KnownTxID == nil {
107-
return nil, fmt.Errorf("reference to unknown txid in bump: %s", sourceTxid)
108106
}
109107
}
110108

@@ -118,12 +116,20 @@ func readBeefTx(reader *bytes.Reader, BUMPs []*MerklePath) (*map[string]*BeefTx,
118116

119117
func NewBeefFromBytes(beef []byte) (*Beef, error) {
120118
reader := bytes.NewReader(beef)
121-
122119
version, err := readVersion(reader)
123120
if err != nil {
124121
return nil, err
125122
}
126123

124+
if version == ATOMIC_BEEF {
125+
txid := make([]byte, 32)
126+
if _, err = reader.Read(txid); err != nil {
127+
return nil, err
128+
} else if version, err = readVersion(reader); err != nil {
129+
return nil, err
130+
}
131+
}
132+
127133
if version == BEEF_V1 {
128134
BUMPs, err := readBUMPs(reader)
129135
if err != nil {

0 commit comments

Comments
 (0)