Skip to content

Commit b20f667

Browse files
authored
Merge branch 'main' into main
Signed-off-by: mmsqe <[email protected]>
2 parents 1381dd5 + 8425423 commit b20f667

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
* [#1617](https://github.com/crypto-org-chain/cronos/pull/1617) Fix unsuppored sign mode SIGN_MODE_TEXTUAL for bank transfer.
2727
* [#1621](https://github.com/crypto-org-chain/cronos/pull/1621), [1630](https://github.com/crypto-org-chain/cronos/pull/1630) Update ethermint to the fix of broken opBlockhash and tx validation.
2828
* [#1623](https://github.com/crypto-org-chain/cronos/pull/1623) Ensure expedited related gov params pass the basic validation.
29+
* [#1633](https://github.com/crypto-org-chain/cronos/pull/1633) Align acknowledgement with underlying_app_success when ack packet does not succeed.
2930
* [#1638](https://github.com/crypto-org-chain/cronos/pull/1638) sync x/tx bug fixes.
3031

3132
*Sep 13, 2024*

integration_tests/test_ica_precompile.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,6 @@ def test_sc_call(ibc, order):
253253
signer=signer,
254254
contract_addr=contract_addr,
255255
)
256-
balance = funds_ica(cli_host, ica_address, signer=signer)
257256
assert tcontract.caller.getAccount() == addr
258257
assert (
259258
tcontract.functions.callQueryAccount(connid, contract_addr).call()
@@ -307,6 +306,7 @@ def submit_msgs_ro(func, str):
307306
expected_seq,
308307
contract.events.SubmitMsgsResult,
309308
channel_id,
309+
need_wait=False,
310310
signer=signer,
311311
)
312312
submit_msgs_ro(tcontract.functions.delegateSubmitMsgs, str)
@@ -315,6 +315,27 @@ def submit_msgs_ro(func, str):
315315
wait_for_status_change(tcontract, channel_id, last_seq)
316316
status = tcontract.caller.getStatus(channel_id, last_seq)
317317
assert expected_seq == last_seq
318+
assert status == Status.FAIL
319+
wait_for_packet_log(start, packet_event, channel_id, last_seq, status)
320+
321+
expected_seq += 1
322+
balance = funds_ica(cli_host, ica_address, signer=signer)
323+
start = w3.eth.get_block_number()
324+
str, diff = submit_msgs(
325+
ibc,
326+
tcontract.functions.callSubmitMsgs,
327+
data,
328+
ica_address,
329+
False,
330+
expected_seq,
331+
contract.events.SubmitMsgsResult,
332+
channel_id,
333+
signer=signer,
334+
)
335+
last_seq = tcontract.caller.getLastSeq()
336+
wait_for_status_change(tcontract, channel_id, last_seq)
337+
status = tcontract.caller.getStatus(channel_id, last_seq)
338+
assert expected_seq == last_seq
318339
assert status == Status.SUCCESS
319340
wait_for_packet_log(start, packet_event, channel_id, last_seq, status)
320341
balance -= diff

x/cronos/keeper/keeper.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,9 @@ func (k Keeper) IBCOnAcknowledgementPacketCallback(
317317
if err := k.cdc.UnmarshalJSON(acknowledgement, &ack); err != nil {
318318
return err
319319
}
320+
if !ack.Success() {
321+
return k.onPacketResult(ctx, packet, false, relayer, contractAddress, packetSenderAddress)
322+
}
320323
var res channeltypes.Acknowledgement
321324
if err := k.cdc.UnmarshalJSON(ack.AppAcknowledgement, &res); err != nil {
322325
return err

0 commit comments

Comments
 (0)