node icon indicating copy to clipboard operation
node copied to clipboard

Outbound hash wrong in case of onAbort

Open skosito opened this issue 4 months ago • 4 comments

Describe the Bug

From slack discussion:

When an incoming (connected chain -> ZetaChain) no-asset call fails and the call is aborted, does outbound_params[0].hash show the call to the universal contract or the abort address?

In this example the abort address is zero: https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/inboundHashToCct[…]3f5c678084407efbde1758408c678411bd203861ebf093f19d66 Here the hash is 0x655d379613ae43350403c4ce858bae3edd265d22406317538d34f564ead6c213. Based on the error in Tenderly: Error Message: execution reverted if (target == address(0)) revert ZeroAddress();

It seems like this hash corresponds to a call to the abort address (which is zero). In this case, where is the cash of the tx to the universal contract?

To Reproduce Steps to reproduce the behavior.

Expected Behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS
  • Version used

skosito avatar Aug 18 '25 13:08 skosito

@lumtis @fadeev

this is not a bug it is by design at the moment that we don't commit revert to cosmos state in case of abort, so revert evm synthetic tx is not indexed

i think we can close the bug and open refactoring task in case we want to change this behavior, that should be investigated a bit and multiple scenarios considered and discussed

please let me know your thoughts

cc: @kingpinXD

skosito avatar Sep 02 '25 13:09 skosito

this is not a bug it is by design at the moment that we don't commit revert to cosmos state in case of abort, so revert evm synthetic tx is not indexed

The initial problem is not about the revert tx but the tx hash of the first call though? If I refer to

When an incoming (connected chain -> ZetaChain) no-asset call fails and the call is aborted, does outbound_params[0].hash show the call to the universal contract or the abort address?

lumtis avatar Sep 02 '25 14:09 lumtis

this is not a bug it is by design at the moment that we don't commit revert to cosmos state in case of abort, so revert evm synthetic tx is not indexed

The initial problem is not about the revert tx but the tx hash of the first call though? If I refer to

When an incoming (connected chain -> ZetaChain) no-asset call fails and the call is aborted, does outbound_params[0].hash show the call to the universal contract or the abort address?

In this case first call is reverted, right? And that revert is never indexed, so it is abort hash. Or I am missundersanding something?

skosito avatar Sep 09 '25 12:09 skosito

In this case first call is reverted, right?

Yes, there was a small misunderstanding in my message

lumtis avatar Sep 16 '25 13:09 lumtis