Contrato inteligente para reembolsar la transferencia de ETH

Quiero lograr un contrato inteligente para enviar ETH de vuelta al remitente con algunas condiciones:

function() public payable {
    msg.sender.transfer(msg.value);
}

Estoy pasando gasLimitigual a 4700000:

web3.eth.sendTransaction({from: wallet, to: contract.address, value: ether(2), gasLimit: 4700000});

Y todavía veo el error cuando se ejecuta en testrpc:

Error: VM Exception while processing transaction: out of gas

Enviar ETH a otro contrato inteligente generalmente funciona bien. ¿Qué tiene de malo el reembolso instantáneo?

Respuestas (1)

Ha establecido el límite de gas, no el gas. Creo que lo que querías enviar era:

web3.eth.sendTransaction({from: wallet, to: contract.address, value: ether(2), gas: 4700000});