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