OSDN Git Service

fix conflix
authorpaladz <453256728@qq.com>
Thu, 19 Apr 2018 12:52:15 +0000 (20:52 +0800)
committerpaladz <453256728@qq.com>
Thu, 19 Apr 2018 12:52:15 +0000 (20:52 +0800)
api/query.go
asset/asset.go

index e3091f8..455e1ed 100644 (file)
@@ -31,13 +31,9 @@ func (a *API) listAccounts(ctx context.Context) Response {
 
 // POST /get-asset
 func (a *API) getAsset(ctx context.Context, filter struct {
-       ID chainjson.HexBytes `json:"id"`
+       ID string `json:"id"`
 }) Response {
-       var b32 [32]byte
-       copy(b32[:], filter.ID)
-       assetID := bc.NewAssetID(b32)
-
-       asset, err := a.wallet.AssetReg.GetAsset(&assetID)
+       asset, err := a.wallet.AssetReg.GetAsset(filter.ID)
        if err != nil {
                log.Errorf("getAsset: %v", err)
                return NewErrorResponse(err)
index b26d883..0498f12 100644 (file)
@@ -275,21 +275,25 @@ func (reg *Registry) GetAliasByID(id string) string {
 }
 
 // GetAsset get asset by assetID
-func (reg *Registry) GetAsset(id *bc.AssetID) (*Asset, error) {
-       asset := &Asset{}
+func (reg *Registry) GetAsset(id string) (*Asset, error) {
+       var assetID bc.AssetID
+       if err := assetID.UnmarshalText([]byte(id)); err != nil {
+               return nil, err
+       }
 
-       if id.String() == DefaultNativeAsset.AssetID.String() {
+       if assetID.String() == DefaultNativeAsset.AssetID.String() {
                return DefaultNativeAsset, nil
        }
 
-       if interAsset := reg.db.Get(Key(id)); interAsset != nil {
+       asset := &Asset{}
+       if interAsset := reg.db.Get(Key(&assetID)); interAsset != nil {
                if err := json.Unmarshal(interAsset, asset); err != nil {
                        return nil, err
                }
                return asset, nil
        }
 
-       if extAsset := reg.db.Get(ExtAssetKey(id)); extAsset != nil {
+       if extAsset := reg.db.Get(ExtAssetKey(&assetID)); extAsset != nil {
                if err := json.Unmarshal(extAsset, asset); err != nil {
                        return nil, err
                }