Skip to content

Commit

Permalink
Merge branch 'main' into async-check-tx
Browse files Browse the repository at this point in the history
Signed-off-by: yihuang <[email protected]>
  • Loading branch information
yihuang authored Oct 28, 2024
2 parents 8346650 + 7dd3362 commit 02c1a1c
Show file tree
Hide file tree
Showing 11 changed files with 293 additions and 225 deletions.
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,22 @@

## UNRELEASED

### Improvements

* [#1660](https://github.com/crypto-org-chain/cronos/pull/1660) Support async check tx.

*Oct 24, 2024*

## v1.4.0-rc2

### Bug Fixes

* (testground)[1649](https://github.com/crypto-org-chain/cronos/pull/1649) Fix running single validator benchmark locally.
* (cli)[#1647](https://github.com/crypto-org-chain/cronos/pull/1647) Fix node can't shutdown by signal.
* (testground)[#1652](https://github.com/crypto-org-chain/cronos/pull/1652) Remove unexpected conflicts in benchmark transactions.
* [#1654](https://github.com/crypto-org-chain/cronos/pull/1654) Set relayer as payee for relayer caller when enabled incentivized packet.
* [#1655](https://github.com/crypto-org-chain/cronos/pull/1655) Fix state overwrite in debug trace APIs.
* [#1663](https://github.com/crypto-org-chain/cronos/pull/1663) Align attributes for ibc timeout event.

### Improvements

Expand All @@ -18,7 +28,7 @@
* (testground)[#1650](https://github.com/crypto-org-chain/cronos/pull/1650) Benchmark support batch mode.
* [#1658](https://github.com/crypto-org-chain/cronos/pull/1658) Optimize when block-list is empty.
* (testground)[#1659](https://github.com/crypto-org-chain/cronos/pull/1659) Support skip check-tx in benchmark.
* [#1660](https://github.com/crypto-org-chain/cronos/pull/1660) Support async check tx.
* [#1662](https://github.com/crypto-org-chain/cronos/pull/1662) Emit more packet info for ibc relayer event.

*Oct 14, 2024*

Expand Down
78 changes: 67 additions & 11 deletions integration_tests/contracts/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 12 additions & 10 deletions integration_tests/cosmoscli.py
Original file line number Diff line number Diff line change
Expand Up @@ -601,9 +601,12 @@ def combine_batch_multisig_tx(
def broadcast_tx(self, tx_file, **kwargs):
kwargs.setdefault("broadcast_mode", "sync")
kwargs.setdefault("output", "json")
return json.loads(
rsp = json.loads(
self.raw("tx", "broadcast", tx_file, node=self.node_rpc, **kwargs)
)
if rsp["code"] == 0:
rsp = self.event_query_tx_for(rsp["txhash"])
return rsp

def broadcast_tx_json(self, tx, **kwargs):
with tempfile.NamedTemporaryFile("w") as fp:
Expand Down Expand Up @@ -1612,10 +1615,7 @@ def register_counterparty_payee(
return rsp

def register_payee(self, port_id, channel_id, relayer, payee, **kwargs):
default_kwargs = {
"home": self.data_dir,
}
return json.loads(
rsp = json.loads(
self.raw(
"tx",
"ibc-fee",
Expand All @@ -1625,14 +1625,15 @@ def register_payee(self, port_id, channel_id, relayer, payee, **kwargs):
relayer,
payee,
"-y",
**(default_kwargs | kwargs),
home=self.data_dir,
**kwargs,
)
)
if rsp["code"] == 0:
rsp = self.event_query_tx_for(rsp["txhash"])
return rsp

def pay_packet_fee(self, port_id, channel_id, packet_seq, **kwargs):
default_kwargs = {
"home": self.data_dir,
}
rsp = json.loads(
self.raw(
"tx",
Expand All @@ -1642,7 +1643,8 @@ def pay_packet_fee(self, port_id, channel_id, packet_seq, **kwargs):
channel_id,
str(packet_seq),
"-y",
**(default_kwargs | kwargs),
home=self.data_dir,
**kwargs,
)
)
if rsp["code"] == 0:
Expand Down
27 changes: 16 additions & 11 deletions integration_tests/test_ibc_rly.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

from .ibc_utils import (
RATIO,
RELAYER_CALLER,
assert_duplicate,
cronos_transfer_source_tokens,
cronos_transfer_source_tokens_with_proxy,
Expand Down Expand Up @@ -93,15 +92,15 @@ def coin_spent(spender, amt, denom):
def distribute_fee(receiver, fee):
return {
"receiver": receiver,
"fee": keccak(text=fee),
"fee": fee,
}


def fungible(dst, src, amt, denom):
return {
"receiver": dst,
"sender": src,
"denom": keccak(text=denom),
"denom": denom,
"amount": amt,
}

Expand All @@ -123,9 +122,11 @@ def burn(burner, amt, denom):

def recv_packet(seq, src, dst, amt, denom):
return {
"packetSequence": keccak(text=f"{seq}"),
"packetSequence": seq,
"packetSrcPort": keccak(text="transfer"),
"packetSrcChannel": keccak(text=channel),
"packetSrcPortInfo": "transfer",
"packetSrcChannelInfo": channel,
"packetDstPort": "transfer",
"packetDstChannel": channel,
"connectionId": "connection-0",
Expand All @@ -141,9 +142,11 @@ def recv_packet(seq, src, dst, amt, denom):

def acknowledge_packet(seq):
return {
"packetSequence": keccak(text=f"{seq}"),
"packetSequence": seq,
"packetSrcPort": keccak(text="transfer"),
"packetSrcChannel": keccak(text=channel),
"packetSrcPortInfo": "transfer",
"packetSrcChannelInfo": channel,
"packetDstPort": "transfer",
"packetDstChannel": channel,
"connectionId": "connection-0",
Expand All @@ -152,15 +155,17 @@ def acknowledge_packet(seq):

def denom_trace(denom):
return {
"denom": keccak(text=denom),
"denom": denom,
}


def write_ack(seq, src, dst, amt, denom):
return {
"packetSequence": keccak(text=f"{seq}"),
"packetSequence": seq,
"packetSrcPort": keccak(text="transfer"),
"packetSrcChannel": keccak(text=channel),
"packetSrcPortInfo": "transfer",
"packetSrcChannelInfo": channel,
"packetDstPort": "transfer",
"packetDstChannel": channel,
"connectionId": "connection-0",
Expand Down Expand Up @@ -209,7 +214,7 @@ def get_send_packet_seq(
events = parse_events_rpc(res["events"])
target = events.get("send_packet")
if target and target["packet_sequence"]:
return target["packet_sequence"]
return int(target["packet_sequence"])
return None


Expand All @@ -220,7 +225,7 @@ def filter_logs_since(w3, start, name, seq):
{
"fromBlock": start,
"address": [CONTRACT],
"topics": [topic, "0x" + keccak(text=f"{seq}").hex()],
"topics": [topic, "0x{:064x}".format(seq)],
}
)

Expand Down Expand Up @@ -287,8 +292,8 @@ def test_ibc_incentivized_transfer(ibc):
acknowledge_packet(seq0),
distribute_fee(src_relayer, fee),
*send_coins(feeibc_addr, src_relayer, src_amount, fee_denom),
distribute_fee(RELAYER_CALLER, fee),
*send_coins(feeibc_addr, RELAYER_CALLER, src_amount, fee_denom),
distribute_fee(src_relayer, fee),
*send_coins(feeibc_addr, src_relayer, src_amount, fee_denom),
distribute_fee(cronos_signer2, ""),
*send_coins(feeibc_addr, cronos_signer2, 0, fee_denom),
fungible(checksum_dst_adr, cronos_signer2, amount, dst_denom),
Expand Down
2 changes: 1 addition & 1 deletion x/cronos/events/bindings/cosmos/lib/cosmos_types.abigen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 02c1a1c

Please sign in to comment.