Skip to content

Commit

Permalink
Fix amount-init and params-parse errors in cli/token
Browse files Browse the repository at this point in the history
  • Loading branch information
mentwang committed Sep 24, 2021
1 parent 6cf6df3 commit 3309498
Showing 1 changed file with 41 additions and 13 deletions.
54 changes: 41 additions & 13 deletions cli/token.go
Original file line number Diff line number Diff line change
Expand Up @@ -295,8 +295,14 @@ var tokenBalancesCmd = &cli.Command{
" ID and address, please give the standard parameter format, refer to: tokenIDs [tokenID1," +
"tokenID2,...] owners [owner1,owner2,...]")
}
tokenIDs := ParseMultiBigNumParams(tokenIDsString)
owners := ParseMultiOwnerAddrParams(ownersAddressString)
tokenIDs, err := ParseMultiBigNumParams(tokenIDsString)
if err != nil {
return err
}
owners, err := ParseMultiOwnerAddrParams(ownersAddressString)
if err != nil {
return err
}

for idx, _ := range owners {
tokenAddrID, err := api.StateLookupID(ctx, owners[idx], types.EmptyTSK)
Expand Down Expand Up @@ -371,7 +377,7 @@ var tokenCreateCmd = &cli.Command{
&cli.StringFlag{
Name: "amount",
Usage: "specify init amount to set for new token",
Value: "0",
Value: "1",
},
&cli.StringFlag{
Name: "gas-premium",
Expand Down Expand Up @@ -419,6 +425,10 @@ var tokenCreateCmd = &cli.Command{
}
}

if amount.Equals(big.Zero()) {
amount = big.NewInt(1)
}

gp, err := types.BigFromString(cctx.String("gas-premium"))
if err != nil {
return err
Expand Down Expand Up @@ -533,8 +543,14 @@ var tokenMintBatchCmd = &cli.Command{
"empty, please refer to the format:addrTos [addrTo1,addrTo2,...] amounts [amount1,amount2,...]"))
}

addrTos := ParseMultiOwnerAddrParams(addrTosString)
amounts := ParseMultiBigNumParams(tokenAmountsString)
addrTos, err := ParseMultiOwnerAddrParams(addrTosString)
if err != nil {
return err
}
amounts, err := ParseMultiBigNumParams(tokenAmountsString)
if err != nil {
return err
}

if len(addrTos) != len(amounts) {
return ShowHelp(cctx, fmt.Errorf("'token mintBatch' expects length of addrTos is equal with amounts"))
Expand Down Expand Up @@ -800,8 +816,14 @@ var tokenSafeTransferCmd = &cli.Command{
"empty, please refer to the format:tokenIDs [tokenID1,tokenID2,...] amounts [amount1,amount2,...]"))
}

tokenIDs := ParseMultiBigNumParams(tokenIDsString)
amounts := ParseMultiBigNumParams(tokenAmountsString)
tokenIDs, err := ParseMultiBigNumParams(tokenIDsString)
if err != nil {
return err
}
amounts, err := ParseMultiBigNumParams(tokenAmountsString)
if err != nil {
return err
}

if len(tokenIDs) != len(amounts) {
return ShowHelp(cctx, fmt.Errorf("'token safeTransfer' expects length of tokenIDs is equal with amounts"))
Expand Down Expand Up @@ -994,7 +1016,7 @@ var tokenApprovesSetCmd = &cli.Command{
}


func ParseMultiBigNumParams(params string) []big.Int {
func ParseMultiBigNumParams(params string) ([]big.Int, error) {
var bigNums []big.Int
var idx = 0
for idx < len(params) {
Expand All @@ -1004,16 +1026,19 @@ func ParseMultiBigNumParams(params string) []big.Int {
strTmp = strTmp + string(params[idx])
idx++
}
tokenID, _ := types.BigFromString(strTmp)
tokenID, err := types.BigFromString(strTmp)
if err != nil {
return nil, err
}
bigNums = append(bigNums, tokenID)
} else {
idx++
}
}
return bigNums
return bigNums, nil
}

func ParseMultiOwnerAddrParams(params string) []address.Address {
func ParseMultiOwnerAddrParams(params string) ([]address.Address, error) {
var owners []address.Address
var idx = 0
for idx < len(params) {
Expand All @@ -1023,11 +1048,14 @@ func ParseMultiOwnerAddrParams(params string) []address.Address {
strTmp = strTmp + string(params[idx])
idx++
}
owner, _ := address.NewFromString(strTmp)
owner, err := address.NewFromString(strTmp)
if err != nil {
return nil, err
}
owners = append(owners, owner)
} else {
idx++
}
}
return owners
return owners, nil
}

0 comments on commit 3309498

Please sign in to comment.