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