Skip TxIn on coinbase transaction when indexing

This commit is contained in:
Alex 2017-02-02 10:44:22 -07:00 committed by Olaoluwa Osuntokun
parent b8c3be740f
commit 9780ef5997

View file

@ -160,10 +160,13 @@ func makeBasicFilterForBlock(block *btcutil.Block) ([]byte, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
for _, tx := range block.Transactions() { for i, tx := range block.Transactions() {
// Skip the inputs for the coinbase transaction
if i != 0 {
for _, txIn := range tx.MsgTx().TxIn { for _, txIn := range tx.MsgTx().TxIn {
b.AddOutPoint(txIn.PreviousOutPoint) b.AddOutPoint(txIn.PreviousOutPoint)
} }
}
for _, txOut := range tx.MsgTx().TxOut { for _, txOut := range tx.MsgTx().TxOut {
b.AddScript(txOut.PkScript) b.AddScript(txOut.PkScript)
} }
@ -183,12 +186,15 @@ func makeExtendedFilterForBlock(block *btcutil.Block) ([]byte, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
for _, tx := range block.Transactions() { for i, tx := range block.Transactions() {
b.AddHash(tx.Hash()) b.AddHash(tx.Hash())
// Skip the inputs for the coinbase transaction
if i != 0 {
for _, txIn := range tx.MsgTx().TxIn { for _, txIn := range tx.MsgTx().TxIn {
b.AddScript(txIn.SignatureScript) b.AddScript(txIn.SignatureScript)
} }
} }
}
f, err := b.Build() f, err := b.Build()
if err != nil { if err != nil {
return nil, err return nil, err