Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

Commit

Permalink
Merge pull request #51 from 8thlight/update-bytea-columns
Browse files Browse the repository at this point in the history
Update bytea columns
  • Loading branch information
TakaGoto authored Oct 9, 2018
2 parents d598c34 + 347a339 commit 300da63
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
ALTER TABLE maker.bite
ALTER COLUMN ilk SET DATA TYPE bytea,
ALTER COLUMN urn SET DATA TYPE bytea;

ALTER TABLE maker.frob
ALTER COLUMN ilk SET DATA TYPE bytea,
ALTER COLUMN urn SET DATA TYPE bytea;
7 changes: 7 additions & 0 deletions db/migrations/1538670026_update_frob_bite_urn_ilk_type.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
ALTER TABLE maker.bite
ALTER COLUMN ilk SET DATA TYPE text,
ALTER COLUMN urn SET DATA TYPE text;

ALTER TABLE maker.frob
ALTER COLUMN ilk SET DATA TYPE text,
ALTER COLUMN urn SET DATA TYPE text;
12 changes: 6 additions & 6 deletions db/schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
-- PostgreSQL database dump
--

-- Dumped from database version 10.3
-- Dumped by pg_dump version 10.3
-- Dumped from database version 10.4
-- Dumped by pg_dump version 10.4

SET statement_timeout = 0;
SET lock_timeout = 0;
Expand Down Expand Up @@ -64,8 +64,8 @@ SET default_with_oids = false;
CREATE TABLE maker.bite (
id integer NOT NULL,
header_id integer NOT NULL,
ilk bytea,
urn bytea,
ilk text,
urn text,
ink character varying,
art character varying,
iart character varying,
Expand Down Expand Up @@ -490,8 +490,8 @@ ALTER SEQUENCE maker.flop_kick_id_seq OWNED BY maker.flop_kick.id;
CREATE TABLE maker.frob (
id integer NOT NULL,
header_id integer NOT NULL,
ilk bytea,
urn bytea,
ilk text,
urn text,
dink numeric,
dart numeric,
ink numeric,
Expand Down
11 changes: 6 additions & 5 deletions pkg/transformers/bite/converter.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package bite
import (
"encoding/json"
"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"
"github.com/vulcanize/vulcanizedb/pkg/transformers/shared"
Expand All @@ -34,7 +35,7 @@ type BiteConverter struct{}
func (BiteConverter) ToEntities(contractAbi string, ethLogs []types.Log) ([]BiteEntity, error) {
var entities []BiteEntity
for _, ethLog := range ethLogs {
entity := BiteEntity{}
entity := &BiteEntity{}
address := ethLog.Address
abi, err := geth.ParseAbi(contractAbi)
if err != nil {
Expand All @@ -43,15 +44,15 @@ func (BiteConverter) ToEntities(contractAbi string, ethLogs []types.Log) ([]Bite

contract := bind.NewBoundContract(address, abi, nil, nil, nil)

err = contract.UnpackLog(&entity, "Bite", ethLog)
err = contract.UnpackLog(entity, "Bite", ethLog)
if err != nil {
return nil, err
}

entity.Raw = ethLog
entity.TransactionIndex = ethLog.TxIndex

entities = append(entities, entity)
entities = append(entities, *entity)
}

return entities, nil
Expand All @@ -61,8 +62,8 @@ func (converter BiteConverter) ToModels(entities []BiteEntity) ([]BiteModel, err
var models []BiteModel
for _, entity := range entities {
id := entity.Id
ilk := entity.Ilk[:]
urn := entity.Urn[:]
ilk := common.BytesToAddress(entity.Ilk[:common.AddressLength]).String()
urn := common.BytesToAddress(entity.Urn[:common.AddressLength]).String()
ink := entity.Ink
art := entity.Art
iArt := entity.IArt
Expand Down
4 changes: 2 additions & 2 deletions pkg/transformers/bite/converter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ var _ = Describe("Bite Converter", func() {
Expect(err).NotTo(HaveOccurred())
expectedModel := bite.BiteModel{
Id: "1",
Ilk: []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
Urn: []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
Ilk: "0x0000000000000000000000000000000000000000",
Urn: "0x0000000000000000000000000000000000000000",
Ink: "",
Art: "",
IArt: "",
Expand Down
4 changes: 2 additions & 2 deletions pkg/transformers/bite/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ package bite

type BiteModel struct {
Id string
Ilk []byte
Urn []byte
Ilk string
Urn string
Ink string
Art string
IArt string
Expand Down
5 changes: 3 additions & 2 deletions pkg/transformers/frob/converter.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"github.com/ethereum/go-ethereum/core/types"

"encoding/json"
"github.com/ethereum/go-ethereum/common"
"github.com/vulcanize/vulcanizedb/pkg/geth"
)

Expand Down Expand Up @@ -56,8 +57,8 @@ func (FrobConverter) ToModels(entities []FrobEntity) ([]FrobModel, error) {
return nil, err
}
model := FrobModel{
Ilk: entity.Ilk[:],
Urn: entity.Urn[:],
Ilk: common.BytesToAddress(entity.Ilk[:common.AddressLength]).String(),
Urn: common.BytesToAddress(entity.Urn[:common.AddressLength]).String(),
Ink: entity.Ink.String(),
Art: entity.Art.String(),
Dink: entity.Dink.String(),
Expand Down
4 changes: 2 additions & 2 deletions pkg/transformers/frob/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
package frob

type FrobModel struct {
Ilk []byte
Urn []byte
Ilk string
Urn string
Ink string
Art string
Dink string
Expand Down
6 changes: 4 additions & 2 deletions pkg/transformers/test_data/bite.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ var (
biteRawString = string(biteRawJson)
biteIlk = [32]byte{102, 97, 107, 101, 32, 105, 108, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
biteLad = [32]byte{102, 97, 107, 101, 32, 108, 97, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
biteIlkString = "0x66616b6520696c6B000000000000000000000000"
biteLadString = "0x66616B65206c6164000000000000000000000000"
biteId = int64(1)
)

Expand Down Expand Up @@ -76,8 +78,8 @@ var BiteEntity = bite.BiteEntity{

var BiteModel = bite.BiteModel{
Id: strconv.FormatInt(biteId, 10),
Ilk: biteIlk[:],
Urn: biteLad[:],
Ilk: biteIlkString,
Urn: biteLadString,
Ink: biteInk.String(),
Art: biteArt.String(),
Tab: biteTab.String(),
Expand Down
22 changes: 12 additions & 10 deletions pkg/transformers/test_data/frob.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,16 @@ var (

var (
// need to set bytes as 0 or else the big Int 0 evaluates differently from the one unpacked by the abi
art = big.NewInt(20)
dink = big.NewInt(10)
dart = big.NewInt(0).SetBytes([]byte{0})
iArt = big.NewInt(25)
frobLad = [32]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 217, 34, 137, 65, 83, 190, 158, 239, 123, 114, 24, 220, 86, 93, 29, 12, 226, 160, 146}
gem, _ = big.NewInt(0).SetString("115792089237316195423570985008687907853269984665640564039457584007913129639926", 10)
ink = big.NewInt(15)
ilk = [32]byte{102, 97, 107, 101, 32, 105, 108, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
art = big.NewInt(20)
dink = big.NewInt(10)
dart = big.NewInt(0).SetBytes([]byte{0})
iArt = big.NewInt(25)
frobLad = [32]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 217, 34, 137, 65, 83, 190, 158, 239, 123, 114, 24, 220, 86, 93, 29, 12, 226, 160, 146}
gem, _ = big.NewInt(0).SetString("115792089237316195423570985008687907853269984665640564039457584007913129639926", 10)
ink = big.NewInt(15)
ilk = [32]byte{102, 97, 107, 101, 32, 105, 108, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
frobIlkString = "0x66616b6520696c6B000000000000000000000000"
frobUrnString = "0x00000000000000000000000064D922894153BE9E"
)

var EthFrobLog = types.Log{
Expand Down Expand Up @@ -73,8 +75,8 @@ var FrobEntity = frob.FrobEntity{

var rawFrobLog, _ = json.Marshal(EthFrobLog)
var FrobModel = frob.FrobModel{
Ilk: ilk[:],
Urn: frobLad[:],
Ilk: frobIlkString,
Urn: frobUrnString,
Ink: ink.String(),
Art: art.String(),
Dink: dink.String(),
Expand Down

0 comments on commit 300da63

Please sign in to comment.