7 "github.com/bytom/asset"
8 "github.com/bytom/crypto/ed25519/chainkd"
10 log "github.com/sirupsen/logrus"
14 func (a *API) createAsset(ctx context.Context, ins struct {
15 Alias string `json:"alias"`
16 RootXPubs []chainkd.XPub `json:"root_xpubs"`
17 Quorum int `json:"quorum"`
18 Definition map[string]interface{} `json:"definition"`
19 Tags map[string]interface{} `json:"tags"`
21 ass, err := a.wallet.AssetReg.Define(
25 strings.ToUpper(strings.TrimSpace(ins.Alias)),
29 return NewErrorResponse(err)
32 annotatedAsset, err := asset.Annotated(ass)
34 return NewErrorResponse(err)
37 log.WithField("asset ID", annotatedAsset.ID.String()).Info("Created asset")
39 return NewSuccessResponse(annotatedAsset)
42 // POST /update-asset-tags
43 func (a *API) updateAssetTags(ctx context.Context, updateTag struct {
44 AssetInfo string `json:"asset_info"`
45 Tags map[string]interface{} `json:"tags"`
47 err := a.wallet.AssetReg.UpdateTags(nil, updateTag.AssetInfo, updateTag.Tags)
49 return NewErrorResponse(err)
52 return NewSuccessResponse(nil)
55 // POST /update-asset-alias
56 func (a *API) updateAssetAlias(updateAlias struct {
57 OldAlias string `json:"old_alias"`
58 NewAlias string `json:"new_alias"`
60 if err := a.wallet.AssetReg.UpdateAssetAlias(updateAlias.OldAlias, updateAlias.NewAlias); err != nil {
61 return NewErrorResponse(err)
64 return NewSuccessResponse(nil)