ethapi: prevent creating contract if no data is provided

This commit is contained in:
Martin Holst Swende 2018-02-16 13:04:10 +01:00
parent 0544a43c13
commit 3b20705d15
No known key found for this signature in database
GPG key ID: 683B438C05A5DDF0

View file

@ -1135,6 +1135,18 @@ func (args *SendTxArgs) setDefaults(ctx context.Context, b Backend) error {
if args.Data != nil && args.Input != nil && !bytes.Equal(*args.Data, *args.Input) {
return errors.New(`Both "data" and "input" are set and not equal. Please use "input" to pass transaction call data.`)
}
if args.To == nil {
// Contract creation
var input []byte
if args.Data != nil {
input = *args.Data
} else if args.Input != nil {
input = *args.Input
}
if len(input) == 0 {
return errors.New(`Contract creation without any data provided`)
}
}
return nil
}