[Ethereum] How to a transaction be out of gas but still complete

gasout-of-gas

This one has me scratching my head:
This transaction (which sent in a value of 0.01 ETH) executed correctly according to etherscan:

https://etherscan.io/tx/0x31180d097b7baf3e9804334d24bb2c142dd8a58486bcb487bbb567bac9d3ba63

However:

1- I got an error in the callback that said:

"Error: The contract code couldn't be stored, please check your gas amount."

..and the Total Gas Used looks to be higher than the max gas allowed.

2- Although the Tx says that 0.005 ETH was transferred to two wallets, neither of them actually show that transfer having happened:
https://etherscan.io/address/0xc122ca236edf7b33fb73fbb459a08f7935e6c96b
https://etherscan.io/address/0x39267ec3f4e1610cd871d3545e01918f1dba7b84

So I am totally puzzled. If there was not enough gas, I would expect the TX to fail and to lose the gas, but not the 0.01 ETH in value.
If it did not fail, why did I get the error in the callback and no transfer of value to the wallets?

At the moment it looks to me like 0.01 ETH just disappeared – it left the paying wallet, but did not arrive in the receiving wallets.

Can anyone explain?

Many thanks!

Best Answer

I have checked the transactions you provided in etherscan.

To see the questioned transfers in target accounts, go to the target account and click on "Internal transactions" tab. The inbound transfers are visible there.

Related Topic