// POST /get-asset
func (a *API) getAsset(ctx context.Context, filter struct {
- ID string `json:"id"`
+ ID chainjson.HexBytes `json:"id"`
}) Response {
- asset, err := a.wallet.AssetReg.GetAsset(filter.ID)
+ var b32 [32]byte
+ copy(b32[:], filter.ID)
+ assetID := bc.NewAssetID(b32)
+
+ asset, err := a.wallet.AssetReg.GetAsset(&assetID)
if err != nil {
log.Errorf("getAsset: %v", err)
return NewErrorResponse(err)
}
// GetAsset get asset by assetID
-func (reg *Registry) GetAsset(id string) (*Asset, error) {
+func (reg *Registry) GetAsset(id *bc.AssetID) (*Asset, error) {
asset := &Asset{}
- if strings.Compare(id, DefaultNativeAsset.AssetID.String()) == 0 {
+ if id.String() == DefaultNativeAsset.AssetID.String() {
return DefaultNativeAsset, nil
}
- if interAsset := reg.db.Get([]byte(assetPrefix + id)); interAsset != nil {
+ if interAsset := reg.db.Get(Key(id)); interAsset != nil {
if err := json.Unmarshal(interAsset, asset); err != nil {
return nil, err
}
return asset, nil
}
- if extAsset := reg.db.Get([]byte(ExternalAssetPrefix + id)); extAsset != nil {
+ if extAsset := reg.db.Get(CalcExtAssetKey(id)); extAsset != nil {
if err := json.Unmarshal(extAsset, asset); err != nil {
return nil, err
}
return nil
}
- if _, err := wallet.AccountMgr.ListAccounts(""); err != nil {
+ if _, err := wallet.AccountMgr.ListAccounts(); err != nil {
return err
}