code: func Call(address common.Address, input []byte, cfg *Config) ([]byte, uint64, error) {
  	setDefaults(cfg)
  
  	vmenv := NewEnv(cfg)
  
  	sender := cfg.State.GetOrNewStateObject(cfg.Origin)
  	// Call the code with the given configuration.
  	ret, leftOverGas, err := vmenv.Call(
  		sender,
  		address,
  		input,
  		cfg.GasLimit,
  		cfg.Value,
  	)
  
  	return ret, leftOverGas, err
  }
docs: // Call executes the code given by the contract's address. It will return the
  // EVM's return value or an error if it failed.
  //
  // Call, unlike Execute, requires a config and also requires the State field to
  // be set.