Save Logs to DB (#100)

* Save logs to database

* Save multiple logs to db

* Add block number parameter to `FindLogs`
This commit is contained in:
Matt K
2017-12-12 15:55:26 -06:00
committed by GitHub
parent 5e64283a12
commit a68f277066
13 changed files with 366 additions and 19 deletions
+4 -3
View File
@@ -8,9 +8,9 @@ import (
func GethLogToCoreLog(gethLog types.Log) core.Log {
topics := gethLog.Topics
var hexTopics []string
for _, topic := range topics {
hexTopics = append(hexTopics, topic.Hex())
var hexTopics = make(map[int]string)
for i, topic := range topics {
hexTopics[i] = topic.Hex()
}
return core.Log{
Address: gethLog.Address.Hex(),
@@ -18,6 +18,7 @@ func GethLogToCoreLog(gethLog types.Log) core.Log {
BlockNumber: int64(gethLog.BlockNumber),
Topics: hexTopics,
TxHash: gethLog.TxHash.Hex(),
Index: int64(gethLog.Index),
Data: hexutil.Encode(gethLog.Data),
}
}
+5 -3
View File
@@ -32,9 +32,10 @@ var _ = Describe("Conversion of GethLog to core.Log", func() {
BlockNumber: int64(gethLog.BlockNumber),
Data: hexutil.Encode(gethLog.Data),
TxHash: gethLog.TxHash.Hex(),
Topics: []string{
common.HexToHash("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef").Hex(),
common.HexToHash("0x00000000000000000000000080b2c9d7cbbf30a1b0fc8983c647d754c6525615").Hex(),
Index: 2,
Topics: map[int]string{
0: common.HexToHash("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef").Hex(),
1: common.HexToHash("0x00000000000000000000000080b2c9d7cbbf30a1b0fc8983c647d754c6525615").Hex(),
},
}
@@ -43,6 +44,7 @@ var _ = Describe("Conversion of GethLog to core.Log", func() {
Expect(coreLog.Address).To(Equal(expected.Address))
Expect(coreLog.BlockNumber).To(Equal(expected.BlockNumber))
Expect(coreLog.Data).To(Equal(expected.Data))
Expect(coreLog.Index).To(Equal(expected.Index))
Expect(coreLog.Topics[0]).To(Equal(expected.Topics[0]))
Expect(coreLog.Topics[1]).To(Equal(expected.Topics[1]))
Expect(coreLog.TxHash).To(Equal(expected.TxHash))