mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 18:32:23 +00:00
core/rawdb: move deriveLogFields into the test file
This commit is contained in:
parent
a6751d6fc8
commit
237f3f9e31
2 changed files with 22 additions and 22 deletions
|
|
@ -19,7 +19,6 @@ package rawdb
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
"math/big"
|
||||||
"slices"
|
"slices"
|
||||||
|
|
@ -695,27 +694,6 @@ func (r *receiptLogs) DecodeRLP(s *rlp.Stream) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// deriveLogFields fills the logs in receiptLogs with information such as block number, txhash, etc.
|
|
||||||
func deriveLogFields(receipts []*receiptLogs, hash common.Hash, number uint64, txs types.Transactions) error {
|
|
||||||
logIndex := uint(0)
|
|
||||||
if len(txs) != len(receipts) {
|
|
||||||
return errors.New("transaction and receipt count mismatch")
|
|
||||||
}
|
|
||||||
for i := 0; i < len(receipts); i++ {
|
|
||||||
txHash := txs[i].Hash()
|
|
||||||
// The derived log fields can simply be set from the block and transaction
|
|
||||||
for j := 0; j < len(receipts[i].Logs); j++ {
|
|
||||||
receipts[i].Logs[j].BlockNumber = number
|
|
||||||
receipts[i].Logs[j].BlockHash = hash
|
|
||||||
receipts[i].Logs[j].TxHash = txHash
|
|
||||||
receipts[i].Logs[j].TxIndex = uint(i)
|
|
||||||
receipts[i].Logs[j].Index = logIndex
|
|
||||||
logIndex++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReadLogs retrieves the logs for all transactions in a block. In case
|
// ReadLogs retrieves the logs for all transactions in a block. In case
|
||||||
// receipts is not found, a nil is returned.
|
// receipts is not found, a nil is returned.
|
||||||
// Note: ReadLogs does not derive unstored log fields.
|
// Note: ReadLogs does not derive unstored log fields.
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ package rawdb
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
"math/big"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
|
@ -767,6 +768,27 @@ func TestReadLogs(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// deriveLogFields fills the logs in receiptLogs with information such as block number, txhash, etc.
|
||||||
|
func deriveLogFields(receipts []*receiptLogs, hash common.Hash, number uint64, txs types.Transactions) error {
|
||||||
|
logIndex := uint(0)
|
||||||
|
if len(txs) != len(receipts) {
|
||||||
|
return errors.New("transaction and receipt count mismatch")
|
||||||
|
}
|
||||||
|
for i := 0; i < len(receipts); i++ {
|
||||||
|
txHash := txs[i].Hash()
|
||||||
|
// The derived log fields can simply be set from the block and transaction
|
||||||
|
for j := 0; j < len(receipts[i].Logs); j++ {
|
||||||
|
receipts[i].Logs[j].BlockNumber = number
|
||||||
|
receipts[i].Logs[j].BlockHash = hash
|
||||||
|
receipts[i].Logs[j].TxHash = txHash
|
||||||
|
receipts[i].Logs[j].TxIndex = uint(i)
|
||||||
|
receipts[i].Logs[j].Index = logIndex
|
||||||
|
logIndex++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func TestDeriveLogFields(t *testing.T) {
|
func TestDeriveLogFields(t *testing.T) {
|
||||||
// Create a few transactions to have receipts for
|
// Create a few transactions to have receipts for
|
||||||
to2 := common.HexToAddress("0x2")
|
to2 := common.HexToAddress("0x2")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue