QOSGroup/qos

QSC联盟币发币时,指定的`--banker`不是QSC的Banker用户,错误提示需要细化;另外,发币金额`--amount`的入参检查有问题

Closed this issue · 2 comments

指定的--banker不是QSC的Banker用户

$ ./qoscli tx issue-qsc --qsc-name star --banker alice --amount '100000' --indent
Password to sign with 'alice':
{
  "check_tx": {
	"code": 1,
	"log": "{\"codespace\":\"sdk\",\"code\":1,\"message\":\"TxStd's ITx ValidateData error:  ERROR:\\nCodespace: qsc\\nCode: 301\\nMessage: \\\"invalid tx msg\\\"\\n\"}",
	"gasWanted": "100000",
	"gasUsed": "1129"
  },
  "deliver_tx": {},
  "hash": "DB3A684102B3F335062492EE3D4A63A79AEB5584D9E008510DC2151ED3F7EAF8",
  "height": "0"
}
ERROR: {"codespace":"sdk","code":1,"message":"TxStd's ITx ValidateData error:  ERROR:\nCodespace: qsc\nCode: 301\nMessage: \"invalid tx msg\"\n"}

这里错误提示为“301 - invalid tx msg”,可以细化一下

另外,发币金额--amount的入参检查未考虑负值和零值的情况,这两种情况都可以通过入参检查,在check_tx时报错, 错误提示为“301 - invalid tx msg”

the bug has been fixed and the result of verification as follows:

[vagrant@vagrant-192-168-1-201 ~]$ qoscli tx issue-qsc --qsc-name ZZU --banker acc1 --amount 100000000 --indent
Password to sign with 'acc1':
{
  "check_tx": {
    "code": 1,
    "log": "{\"codespace\":\"sdk\",\"code\":1,\"message\":\"TxStd's ITx ValidateData error:  ERROR:\\nCodespace: qsc\\nCode: 301\\nMessage: \\\"Bad banker. banker not match\\\"\\n\"}",
    "gasWanted": "9223372036854775807",
    "gasUsed": "181144",
    "events": []
  },
  "deliver_tx": {},
  "hash": "B017C0621F11DCB893E17420A8B790C4E91D5C9C0A683E10AC52CBFF53090AF1",
  "height": "0"
}
ERROR: {"codespace":"sdk","code":1,"message":"TxStd's ITx ValidateData error:  ERROR:\nCodespace: qsc\nCode: 301\nMessage: \"Bad banker. banker not match\"\n"}

从复测结果可以看到提示修改为:Bad banker. banker not match