OSDN Git Service

fix create-asset success when alias is space, but update-asset-alias will generate...
authoroysheng <33340252+oysheng@users.noreply.github.com>
Thu, 19 Apr 2018 06:15:51 +0000 (14:15 +0800)
committerYongfeng LI <wliyongfeng@gmail.com>
Thu, 19 Apr 2018 06:15:51 +0000 (14:15 +0800)
* fix create-asset success when alias is space, but update-asset-alias will generate execption
modify bytomcli for update-asset-alias

* fix unit test

* optimise

asset/asset.go
asset/asset_test.go
cmd/bytomcli/commands/asset.go

index 053d61a..3bea5ef 100644 (file)
@@ -140,6 +140,10 @@ func (reg *Registry) Define(xpubs []chainkd.XPub, quorum int, definition map[str
        }
 
        normalizedAlias := strings.ToUpper(strings.TrimSpace(alias))
+       if normalizedAlias == "" {
+               return nil, errors.Wrap(ErrNullAlias)
+       }
+
        if normalizedAlias == consensus.BTMAlias {
                return nil, ErrInternalAsset
        }
@@ -179,16 +183,13 @@ func (reg *Registry) Define(xpubs []chainkd.XPub, quorum int, definition map[str
                IssuanceProgram:   issuanceProgram,
                AssetID:           bc.ComputeAssetID(issuanceProgram, vmver, &defHash),
                Signer:            assetSigner,
+               Alias:             &normalizedAlias,
        }
 
        if existAsset := reg.db.Get(Key(&asset.AssetID)); existAsset != nil {
                return nil, ErrDuplicateAsset
        }
 
-       if alias != "" {
-               asset.Alias = &normalizedAlias
-       }
-
        ass, err := json.Marshal(asset)
        if err != nil {
                return nil, ErrMarshalAsset
index 6552857..93e6fe8 100644 (file)
@@ -71,7 +71,7 @@ func TestFindAssetByID(t *testing.T) {
        ctx := context.Background()
        reg := mockNewRegistry(t)
        keys := []chainkd.XPub{testutil.TestXPub}
-       asset, err := reg.Define(keys, 1, nil, "")
+       asset, err := reg.Define(keys, 1, nil, "TESTASSET")
        if err != nil {
                testutil.FatalErr(t, err)
 
index 563c053..c4b111f 100644 (file)
@@ -95,14 +95,14 @@ var listAssetsCmd = &cobra.Command{
 }
 
 var updateAssetAliasCmd = &cobra.Command{
-       Use:   "update-asset-alias <oldAlias> <newAlias>",
+       Use:   "update-asset-alias <assetID> <newAlias>",
        Short: "Update the asset alias",
        Args:  cobra.ExactArgs(2),
        Run: func(cmd *cobra.Command, args []string) {
                var updateAlias = struct {
-                       OldAlias string `json:"old_alias"`
-                       NewAlias string `json:"new_alias"`
-               }{OldAlias: args[0], NewAlias: args[1]}
+                       ID       string `json:"id"`
+                       NewAlias string `json:"alias"`
+               }{ID: args[0], NewAlias: args[1]}
 
                if _, exitCode := util.ClientCall("/update-asset-alias", &updateAlias); exitCode != util.Success {
                        os.Exit(exitCode)