Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: token_id field type -> numeric #9

Merged
merged 1 commit into from
Dec 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions build/dipdup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ metadata:
mainnet:
datasources:
tzkt: https://api.tzkt.io
# hangzhou:
# datasources:
# tzkt: https://api.hangzhou2net.tzkt.io
# granada:
# datasources:
# tzkt: https://api.granadanet.tzkt.io

database:
kind: postgres
Expand Down
26 changes: 14 additions & 12 deletions cmd/metadata/models/token_metadata.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,27 @@ package models
import (
"context"
"time"

"github.com/shopspring/decimal"
)

// TokenMetadata -
type TokenMetadata struct {
//nolint
tableName struct{} `pg:"token_metadata"`

ID uint64 `gorm:"autoIncrement;not null;" json:"-"`
CreatedAt int64 `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt int64 `gorm:"autoUpdateTime" json:"updated_at"`
UpdateID int64 `gorm:"type:int4;uniqueIndex:token_metadata_update_id_key;autoIncrement:false;not null;" json:"-" pg:",use_zero,notnull"`
TokenID uint64 `gorm:"primaryKey" json:"token_id" pg:",unique:token,use_zero"`
Network string `gorm:"primaryKey" json:"network" pg:",unique:token"`
Contract string `gorm:"primaryKey" json:"contract" pg:",unique:token"`
Link string `json:"link"`
Metadata JSONB `json:"metadata,omitempty" pg:",type:jsonb,use_zero"`
RetryCount int8 `gorm:"type:SMALLINT;default:0" json:"retry_count" pg:",use_zero"`
Status Status `gorm:"type:SMALLINT" json:"status"`
ImageProcessed bool `json:"image_processed" pg:",use_zero,notnull"`
ID uint64 `gorm:"autoIncrement;not null;" json:"-"`
CreatedAt int64 `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt int64 `gorm:"autoUpdateTime" json:"updated_at"`
UpdateID int64 `gorm:"uniqueIndex:token_metadata_update_id_key;autoIncrement:false;not null;" json:"-" pg:",use_zero,notnull"`
TokenID decimal.Decimal `gorm:"primaryKey" json:"token_id" pg:",type:numeric,unique:token,use_zero"`
Network string `gorm:"primaryKey" json:"network" pg:",unique:token"`
Contract string `gorm:"primaryKey" json:"contract" pg:",unique:token"`
Link string `json:"link"`
Metadata JSONB `json:"metadata,omitempty" pg:",type:jsonb,use_zero"`
RetryCount int8 `gorm:"type:SMALLINT;default:0" json:"retry_count" pg:",use_zero"`
Status Status `gorm:"type:SMALLINT" json:"status"`
ImageProcessed bool `json:"image_processed" pg:",use_zero,notnull"`
}

// Table -
Expand Down
8 changes: 4 additions & 4 deletions cmd/metadata/token.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import (
stdJSON "encoding/json"
"fmt"
"net/url"
"strconv"
"unicode/utf8"

jsoniter "github.com/json-iterator/go"
"github.com/shopspring/decimal"

"github.com/dipdup-net/go-lib/tzkt/api"
"github.com/dipdup-net/metadata/cmd/metadata/helpers"
Expand All @@ -22,7 +22,7 @@ var json = jsoniter.ConfigCompatibleWithStandardLibrary

// TokenInfo -
type TokenInfo struct {
TokenID uint64 `json:"token_id"`
TokenID decimal.Decimal `json:"token_id"`
TokenInfo map[string]string `json:"token_info"`
Link string `json:"-"`
}
Expand All @@ -39,7 +39,7 @@ func (tokenInfo *TokenInfo) UnmarshalJSON(data []byte) error {
return err
}

tokenID, err := strconv.ParseUint(ti.TokenID, 10, 64)
tokenID, err := decimal.NewFromString(ti.TokenID)
if err != nil {
return err
}
Expand Down Expand Up @@ -106,7 +106,7 @@ func (indexer *Indexer) processTokenMetadata(update api.BigMapUpdate) (*models.T
}

func (indexer *Indexer) logTokenMetadata(tm models.TokenMetadata, str, level string) {
entry := indexer.log().Str("contract", tm.Contract).Uint64("token_id", tm.TokenID).Str("link", tm.Link)
entry := indexer.log().Str("contract", tm.Contract).Str("token_id", tm.TokenID.String()).Str("link", tm.Link)
switch level {
case "info":
entry.Msg(str)
Expand Down
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ require (
github.com/multiformats/go-multihash v0.1.0 // indirect
github.com/pkg/errors v0.9.1
github.com/rs/zerolog v1.26.0
github.com/shopspring/decimal v1.3.1
github.com/stretchr/testify v1.7.0
github.com/whyrusleeping/tar-utils v0.0.0-20201201191210-20a61371de5b // indirect
golang.org/x/image v0.0.0-20211028202545-6944b10bf410 // indirect
Expand Down