diff --git a/tests/sync/connectblocks.go b/tests/sync/connectblocks.go index 36437192..a3b9da9f 100644 --- a/tests/sync/connectblocks.go +++ b/tests/sync/connectblocks.go @@ -106,9 +106,8 @@ func verifyBlockInfo(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) { func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) { type txInfo struct { - txid string - vout int32 - isOutput bool + txid string + index int32 } addr2txs := make(map[string][]txInfo) checkMap := make(map[string][]bool) @@ -122,13 +121,13 @@ func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) for _, tx := range block.TxDetails { for _, vin := range tx.Vin { for _, a := range vin.Addresses { - addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vin.Vout), false}) + addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, ^int32(vin.Vout)}) checkMap[a] = append(checkMap[a], false) } } for _, vout := range tx.Vout { for _, a := range vout.ScriptPubKey.Addresses { - addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vout.N), true}) + addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vout.N)}) checkMap[a] = append(checkMap[a], false) } } @@ -136,10 +135,12 @@ func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) } for addr, txs := range addr2txs { - err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout int32, isOutput bool) error { + err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, height uint32, indexes []int32) error { for i, tx := range txs { - if txid == tx.txid && vout == tx.vout && isOutput == tx.isOutput { - checkMap[addr][i] = true + for _, index := range indexes { + if txid == tx.txid && index == tx.index { + checkMap[addr][i] = true + } } } return nil diff --git a/tests/sync/handlefork.go b/tests/sync/handlefork.go index 2ed99cfa..a47bd88a 100644 --- a/tests/sync/handlefork.go +++ b/tests/sync/handlefork.go @@ -129,9 +129,12 @@ func verifyTransactions2(t *testing.T, d *db.RocksDB, rng Range, addr2txs map[st checkMap[txid] = false } - err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout int32, isOutput bool) error { - if isOutput { - checkMap[txid] = true + err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, height uint32, indexes []int32) error { + for _, index := range indexes { + if index >= 0 { + checkMap[txid] = true + break + } } return nil })