diff --git a/core/token_item.go b/core/token_item.go index 81ba4d4..d1ea807 100644 --- a/core/token_item.go +++ b/core/token_item.go @@ -11,10 +11,10 @@ import ( type ( TokenItem struct { AssetID string `json:"asset_id,omitempty"` - AssetKey string `json:"asset_key"` - Name string `json:"name"` - Symbol string `json:"symbol"` - TotalSupply uint64 `json:"total_supply"` + AssetKey string `json:"asset_key,omitempty"` + Name string `json:"name,omitempty"` + Symbol string `json:"symbol,omitempty"` + TotalSupply uint64 `json:"total_supply,omitempty"` } TokenItems []*TokenItem diff --git a/handler/order/order.go b/handler/order/order.go index daf4ac7..8712b6d 100644 --- a/handler/order/order.go +++ b/handler/order/order.go @@ -121,19 +121,19 @@ func HandleCreateOrder( if order.ID == 0 { order = &core.Order{ - Version: 1, - TraceID: body.TraceID, - State: core.OrderStateNew, - FeeAsset: factory.GasAsset(), - Platform: body.Platform, - Tokens: tokens, + Version: 1, + TraceID: body.TraceID, + State: core.OrderStateNew, + FeeAsset: factory.GasAsset(), + Platform: body.Platform, + TokenRequests: tokens, } if err := orders.Create(ctx, order); err != nil { render.Error(w, twirp.InternalErrorWith(err)) return } } else { - t1, _ := core.EncodeTokens(order.Tokens) + t1, _ := core.EncodeTokens(order.TokenRequests) t2, _ := core.EncodeTokens(tokens) if !bytes.Equal(t1, t2) { render.Error(w, twirp.NewErrorf(twirp.AlreadyExists, "order with trace already exists")) diff --git a/store/asset/asset.go b/store/asset/asset.go index 34a577b..7f84361 100644 --- a/store/asset/asset.go +++ b/store/asset/asset.go @@ -30,7 +30,9 @@ type assetStore struct { } func (s *assetStore) Save(ctx context.Context, asset *core.Asset) error { - return s.db.Update().Model(asset).Assign(toUpdateParams(asset)).FirstOrCreate(asset).Error + return s.db.Update().Model(asset). + Where("asset_id = ?", asset.AssetID). + Assign(toUpdateParams(asset)).FirstOrCreate(asset).Error } func (s *assetStore) Find(ctx context.Context, ids ...string) ([]*core.Asset, error) { @@ -56,8 +58,10 @@ func (s *assetStore) ListAll(ctx context.Context) ([]*core.Asset, error) { func toUpdateParams(asset *core.Asset) map[string]interface{} { params := map[string]interface{}{ - "version": asset.Version + 1, - "verified": asset.Verified, + "version": asset.Version + 1, + } + if asset.Verified { + params["verified"] = asset.Verified } if asset.DisplaySymbol != "" { params["display_symbol"] = asset.DisplaySymbol