code: func Execute(code, input []byte, cfg *Config) ([]byte, *state.StateDB, error) {
  	if cfg == nil {
  		cfg = new(Config)
  	}
  	setDefaults(cfg)
  
  	if cfg.State == nil {
  		cfg.State, _ = state.New(common.Hash{}, state.NewDatabase(rawdb.NewMemoryDatabase()))
  	}
  	var (
  		address = common.BytesToAddress([]byte("contract"))
  		vmenv   = NewEnv(cfg)
  		sender  = vm.AccountRef(cfg.Origin)
  	)
  	cfg.State.CreateAccount(address)
  	// set the receiver's (the executing contract) code for execution.
  	cfg.State.SetCode(address, code)
  	// Call the code with the given configuration.
  	ret, _, err := vmenv.Call(
  		sender,
  		common.BytesToAddress([]byte("contract")),
  		input,
  		cfg.GasLimit,
  		cfg.Value,
  	)
  
  	return ret, cfg.State, err
  }
docs: // Execute executes the code using the input as call data during the execution.
  // It returns the EVM's return value, the new state and an error if it failed.
  //
  // Executes sets up a in memory, temporarily, environment for the execution of
  // the given code. It makes sure that it's restored to it's original state afterwards.