ethapi: prevent creating contract if no data is provided (#16108)

* ethapi: prevent creating contract if no data is provided

* internal/ethapi: downcase error for no data on contract creation
This commit is contained in:
Martin Holst Swende 2018-02-21 15:10:18 +01:00 committed by Péter Szilágyi
parent 14c76371ba
commit b585f76128
1 changed files with 12 additions and 0 deletions

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
}