// 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)
}
// 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
}