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
pull/16152/head
Martin Holst Swende 7 years ago committed by Péter Szilágyi
parent 14c76371ba
commit b585f76128
  1. 12
      internal/ethapi/api.go

@ -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) { 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.`) 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 return nil
} }

Loading…
Cancel
Save