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:
		
				
					committed by
					
						
						Péter Szilágyi
					
				
			
			
				
	
			
			
			
						parent
						
							14c76371ba
						
					
				
				
					commit
					b585f76128
				
			@@ -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
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user