Validate NewTx From field is not blank
This commit is contained in:
parent
da427e8843
commit
8b20c3cc97
@ -257,6 +257,11 @@ func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) (err error)
|
|||||||
p.register[ags.From] = append(p.register[args.From], args)
|
p.register[ags.From] = append(p.register[args.From], args)
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if err := args.requirements(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: align default values to have the same type, e.g. not depend on
|
// TODO: align default values to have the same type, e.g. not depend on
|
||||||
// common.Value conversions later on
|
// common.Value conversions later on
|
||||||
if args.Gas.Cmp(big.NewInt(0)) == 0 {
|
if args.Gas.Cmp(big.NewInt(0)) == 0 {
|
||||||
|
@ -145,6 +145,13 @@ func (args *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (args *NewTxArgs) requirements() error {
|
||||||
|
if len(args.From) == 0 {
|
||||||
|
return NewValidationError("From", "Is required")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type GetStorageArgs struct {
|
type GetStorageArgs struct {
|
||||||
Address string
|
Address string
|
||||||
BlockNumber int64
|
BlockNumber int64
|
||||||
|
@ -219,6 +219,34 @@ func TestNewTxArgsEmpty(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNewTxArgsReqs(t *testing.T) {
|
||||||
|
args := new(NewTxArgs)
|
||||||
|
args.From = "0xb60e8dd61c5d32be8058bb8eb970870f07233155"
|
||||||
|
|
||||||
|
err := args.requirements()
|
||||||
|
switch err.(type) {
|
||||||
|
case nil:
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
t.Errorf("Get %T", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestNewTxArgsReqsFromBlank(t *testing.T) {
|
||||||
|
args := new(NewTxArgs)
|
||||||
|
args.From = ""
|
||||||
|
|
||||||
|
err := args.requirements()
|
||||||
|
switch err.(type) {
|
||||||
|
case nil:
|
||||||
|
t.Error("Expected error but didn't get one")
|
||||||
|
case *ValidationError:
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
t.Error("Wrong type of error")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestGetStorageArgs(t *testing.T) {
|
func TestGetStorageArgs(t *testing.T) {
|
||||||
input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]`
|
input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]`
|
||||||
expected := new(GetStorageArgs)
|
expected := new(GetStorageArgs)
|
||||||
|
Loading…
Reference in New Issue
Block a user