(VDB-95) Transform Flop dent events

- Add flopper address to dent config
This commit is contained in:
Rob Mulholand 2018-11-06 12:37:39 -06:00
parent 52bbedd837
commit 9cc9d4d3b6
2 changed files with 69 additions and 1 deletions

View File

@ -18,7 +18,7 @@ import "github.com/vulcanize/vulcanizedb/pkg/transformers/shared"
var DentConfig = shared.TransformerConfig{ var DentConfig = shared.TransformerConfig{
TransformerName: shared.DentLabel, TransformerName: shared.DentLabel,
ContractAddresses: []string{shared.FlipperContractAddress}, ContractAddresses: []string{shared.FlipperContractAddress, shared.FlopperContractAddress},
ContractAbi: shared.FlipperABI, ContractAbi: shared.FlipperABI,
Topic: shared.DentFunctionSignature, Topic: shared.DentFunctionSignature,
StartingBlockNumber: 0, StartingBlockNumber: 0,

View File

@ -0,0 +1,68 @@
package integration_tests
import (
"github.com/ethereum/go-ethereum/ethclient"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/vulcanize/vulcanizedb/pkg/transformers/factories"
"github.com/vulcanize/vulcanizedb/pkg/core"
"github.com/vulcanize/vulcanizedb/pkg/datastore/postgres"
"github.com/vulcanize/vulcanizedb/pkg/geth/client"
"github.com/vulcanize/vulcanizedb/pkg/transformers/dent"
"github.com/vulcanize/vulcanizedb/pkg/transformers/shared"
"github.com/vulcanize/vulcanizedb/test_config"
)
var _ = Describe("Dent transformer", func() {
var (
db *postgres.DB
blockchain core.BlockChain
rpcClient client.RpcClient
err error
ethClient *ethclient.Client
)
BeforeEach(func() {
rpcClient, ethClient, err = getClients(ipc)
Expect(err).NotTo(HaveOccurred())
blockchain, err = getBlockChain(rpcClient, ethClient)
Expect(err).NotTo(HaveOccurred())
db = test_config.NewTestDB(blockchain.Node())
test_config.CleanTestDB(db)
})
It("persists a flop dent log event", func() {
blockNumber := int64(8955613)
err = persistHeader(db, blockNumber)
Expect(err).NotTo(HaveOccurred())
config := dent.DentConfig
config.StartingBlockNumber = blockNumber
config.EndingBlockNumber = blockNumber
initializer := factories.LogNoteTransformer{
Config: config,
Converter: &dent.DentConverter{},
Repository: &dent.DentRepository{},
Fetcher: &shared.Fetcher{},
}
transformer := initializer.NewLogNoteTransformer(db, blockchain)
err := transformer.Execute()
Expect(err).NotTo(HaveOccurred())
var dbResult []dent.DentModel
err = db.Select(&dbResult, `SELECT bid, bid_id, guy, lot FROM maker.dent`)
Expect(err).NotTo(HaveOccurred())
Expect(len(dbResult)).To(Equal(1))
Expect(dbResult[0].Bid).To(Equal("10000000000000000000000"))
Expect(dbResult[0].BidId).To(Equal("2"))
Expect(dbResult[0].Guy).To(Equal("0x0000d8b4147eDa80Fec7122AE16DA2479Cbd7ffB"))
Expect(dbResult[0].Lot).To(Equal("1000000000000000000000000000"))
})
It("persists a flip dent log event", func() {
//TODO: There are currently no Flip.dent events on Kovan
})
})