Flop deal (#39)

*Refactor deal transformer to take in several contract addresses
* Add flop address to deal transformer
This commit is contained in:
Elizabeth
2018-09-27 10:12:29 -05:00
committed by GitHub
parent 369939ad84
commit b0cd852aa3
66 changed files with 145 additions and 137 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ package flop_kick
import "github.com/vulcanize/vulcanizedb/pkg/transformers/shared"
var Config = shared.TransformerConfig{
ContractAddress: shared.FlopperContractAddress,
ContractAddresses: []string{shared.FlopperContractAddress},
ContractAbi: shared.FlopperABI,
Topics: []string{shared.FlopKickSignature},
StartingBlockNumber: 0,
+3 -4
View File
@@ -19,7 +19,6 @@ import (
"time"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/vulcanize/vulcanizedb/pkg/geth"
@@ -27,17 +26,17 @@ import (
)
type Converter interface {
ToEntities(contractAddress, contractAbi string, ethLogs []types.Log) ([]Entity, error)
ToEntities(contractAbi string, ethLogs []types.Log) ([]Entity, error)
ToModels(entities []Entity) ([]Model, error)
}
type FlopKickConverter struct{}
func (FlopKickConverter) ToEntities(contractAddress, contractAbi string, ethLogs []types.Log) ([]Entity, error) {
func (FlopKickConverter) ToEntities(contractAbi string, ethLogs []types.Log) ([]Entity, error) {
var results []Entity
for _, ethLog := range ethLogs {
entity := Entity{}
address := common.HexToAddress(contractAddress)
address := ethLog.Address
abi, err := geth.ParseAbi(contractAbi)
if err != nil {
return nil, err
+2 -2
View File
@@ -30,7 +30,7 @@ var _ = Describe("FlopKick Converter", func() {
Describe("ToEntities", func() {
It("converts a log to a FlopKick entity", func() {
converter := flop_kick.FlopKickConverter{}
entities, err := converter.ToEntities(shared.FlopperContractAddress, shared.FlopperABI, []types.Log{test_data.FlopKickLog})
entities, err := converter.ToEntities(shared.FlopperABI, []types.Log{test_data.FlopKickLog})
Expect(err).NotTo(HaveOccurred())
entity := entities[0]
@@ -45,7 +45,7 @@ var _ = Describe("FlopKick Converter", func() {
It("returns an error if converting the log to an entity fails", func() {
converter := flop_kick.FlopKickConverter{}
entities, err := converter.ToEntities(shared.FlopperContractAddress, "error abi", []types.Log{test_data.FlopKickLog})
entities, err := converter.ToEntities("error abi", []types.Log{test_data.FlopKickLog})
Expect(err).To(HaveOccurred())
Expect(entities).To(BeNil())
+2 -2
View File
@@ -51,7 +51,7 @@ func (t Transformer) Execute() error {
for _, header := range headers {
topics := [][]common.Hash{{common.HexToHash(shared.FlopKickSignature)}}
matchingLogs, err := t.Fetcher.FetchLogs(config.ContractAddress, topics, header.BlockNumber)
matchingLogs, err := t.Fetcher.FetchLogs(config.ContractAddresses, topics, header.BlockNumber)
if err != nil {
return err
}
@@ -62,7 +62,7 @@ func (t Transformer) Execute() error {
}
}
entities, err := t.Converter.ToEntities(config.ContractAddress, config.ContractAbi, matchingLogs)
entities, err := t.Converter.ToEntities(config.ContractAbi, matchingLogs)
if err != nil {
return err
}
@@ -87,7 +87,7 @@ var _ = Describe("FlopKick Transformer", func() {
Expect(err).NotTo(HaveOccurred())
Expect(fetcher.FetchedBlocks).To(Equal([]int64{headerOne.BlockNumber, headerTwo.BlockNumber}))
Expect(fetcher.FetchedContractAddress).To(Equal(flop_kick.Config.ContractAddress))
Expect(fetcher.FetchedContractAddresses).To(Equal([][]string{flop_kick.Config.ContractAddresses, flop_kick.Config.ContractAddresses}))
Expect(fetcher.FetchedTopics).To(Equal([][]common.Hash{{common.HexToHash(shared.FlopKickSignature)}}))
})
@@ -154,7 +154,7 @@ var _ = Describe("FlopKick Transformer", func() {
err := transformer.Execute()
Expect(err).NotTo(HaveOccurred())
Expect(converter.PassedContractAddress).To(Equal(flop_kick.Config.ContractAddress))
Expect(converter.PassedContractAddresses).To(Equal(flop_kick.Config.ContractAddresses))
Expect(converter.PassedContractABI).To(Equal(flop_kick.Config.ContractAbi))
Expect(converter.PassedLogs).To(Equal([]types.Log{test_data.FlopKickLog}))
})