Skip to content

Commit

Permalink
Problem: conflict of index uniqueness constrain violation on trace api (
Browse files Browse the repository at this point in the history
#1753)

* Problem: conflict of index uniqueness constrain violation on trace api

* test

* update deps

* bump go
  • Loading branch information
mmsqe authored Feb 24, 2025
1 parent 635ecb5 commit e1d336f
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 12 deletions.
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/crypto-org-chain/cronos/v2

go 1.23.1
go 1.23.3

require (
cosmossdk.io/api v0.7.6
Expand Down Expand Up @@ -253,7 +253,7 @@ require (
replace (
cosmossdk.io/store => github.com/crypto-org-chain/cosmos-sdk/store v0.0.0-20241217090828-cfbca9fe8254
cosmossdk.io/x/tx => github.com/crypto-org-chain/cosmos-sdk/x/tx v0.0.0-20241217090828-cfbca9fe8254
github.com/cosmos/cosmos-sdk => github.com/crypto-org-chain/cosmos-sdk v0.43.0-beta1.0.20241217090828-cfbca9fe8254
github.com/cosmos/cosmos-sdk => github.com/crypto-org-chain/cosmos-sdk v0.43.0-beta1.0.20250224020346-25e0cb78f920
)

replace (
Expand All @@ -272,7 +272,7 @@ replace (
github.com/dgrijalva/jwt-go => github.com/golang-jwt/jwt/v4 v4.4.2
github.com/ethereum/go-ethereum => github.com/crypto-org-chain/go-ethereum v1.10.20-0.20240926023215-d2275b4afb9a
// release/v1.4.x
github.com/evmos/ethermint => github.com/crypto-org-chain/ethermint v0.6.1-0.20241217094803-acbe290991cc
github.com/evmos/ethermint => github.com/crypto-org-chain/ethermint v0.6.1-0.20250109075157-62042e2252f6
// Fix upstream GHSA-h395-qcrw-5vmq and GHSA-3vp4-m3rf-835h vulnerabilities.
// TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409
github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.9.0
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -424,14 +424,14 @@ github.com/crypto-org-chain/btree v0.0.0-20240406140148-2687063b042c h1:MOgfS4+F
github.com/crypto-org-chain/btree v0.0.0-20240406140148-2687063b042c/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY=
github.com/crypto-org-chain/cometbft v0.0.0-20241106091515-ce418f845d9a h1:0EN1TkzHTAxpgpGaZJY3G7L4jf4+sYnI7FOmBFLCg4U=
github.com/crypto-org-chain/cometbft v0.0.0-20241106091515-ce418f845d9a/go.mod h1:khbgmtxbgwJfMqDmnGY4rl2sQpTdzpPb1f9nqnfpy1o=
github.com/crypto-org-chain/cosmos-sdk v0.43.0-beta1.0.20241217090828-cfbca9fe8254 h1:qmTKLerKyvXGxIt4lThZ9QPpZYw9w8e4Bm36CNPI5S8=
github.com/crypto-org-chain/cosmos-sdk v0.43.0-beta1.0.20241217090828-cfbca9fe8254/go.mod h1:JwwsMeZldLN20b72mmbWPY0EV9rs+v/12hRu1JFttvY=
github.com/crypto-org-chain/cosmos-sdk v0.43.0-beta1.0.20250224020346-25e0cb78f920 h1:T4nlD37kZ2CodSH54l7p/Dg7c56ptMsfDoxndf7bNAM=
github.com/crypto-org-chain/cosmos-sdk v0.43.0-beta1.0.20250224020346-25e0cb78f920/go.mod h1:JwwsMeZldLN20b72mmbWPY0EV9rs+v/12hRu1JFttvY=
github.com/crypto-org-chain/cosmos-sdk/store v0.0.0-20241217090828-cfbca9fe8254 h1:NEgy0r3otU/O+0OAjMdEhbn4VotQlg+98hHbD7M23wU=
github.com/crypto-org-chain/cosmos-sdk/store v0.0.0-20241217090828-cfbca9fe8254/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM=
github.com/crypto-org-chain/cosmos-sdk/x/tx v0.0.0-20241217090828-cfbca9fe8254 h1:JzLOFRiKsDtLJt5h0M0jkEIPDKvFFyja7VEp7gG6O9U=
github.com/crypto-org-chain/cosmos-sdk/x/tx v0.0.0-20241217090828-cfbca9fe8254/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w=
github.com/crypto-org-chain/ethermint v0.6.1-0.20241217094803-acbe290991cc h1:NDD/ddYvUlnJ6TQMf+VUrN7a9YATYiLZA7xbDHwbJxY=
github.com/crypto-org-chain/ethermint v0.6.1-0.20241217094803-acbe290991cc/go.mod h1:9FNO9k70szJ7CEge4tnJraWu3baTbwNxjpZhZBqlMok=
github.com/crypto-org-chain/ethermint v0.6.1-0.20250109075157-62042e2252f6 h1:TFO18Bi2Rp/N/9T+6xSXXHM5CBY8MKSDdo/o39aeBZU=
github.com/crypto-org-chain/ethermint v0.6.1-0.20250109075157-62042e2252f6/go.mod h1:b/zGbkkYhrshNpuHTk1sCA5Teyo5d3Ex3CpPdq8f+ZA=
github.com/crypto-org-chain/go-block-stm v0.0.0-20240919080136-6c49aef68716 h1:OvD5Rm0B6LHUJk6z858UgwdP72jU2DuUdXeclRyKpDI=
github.com/crypto-org-chain/go-block-stm v0.0.0-20240919080136-6c49aef68716/go.mod h1:iwQTX9xMX8NV9k3o2BiWXA0SswpsZrDk5q3gA7nWYiE=
github.com/crypto-org-chain/go-ethereum v1.10.20-0.20240926023215-d2275b4afb9a h1:IUPD+dg1YQl8cLocxQ/Mbx/ObTgAgcrZlcBhFjsLO40=
Expand Down
8 changes: 4 additions & 4 deletions gomod2nix.toml
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,8 @@ schema = 3
version = "v1.0.0-beta.5"
hash = "sha256-Fy/PbsOsd6iq0Njy3DVWK6HqWsogI+MkE8QslHGWyVg="
[mod."github.com/cosmos/cosmos-sdk"]
version = "v0.43.0-beta1.0.20241217090828-cfbca9fe8254"
hash = "sha256-eQTHcObLWp1eq+CzLRzWNYrHUKRSHbeJO8gGojub6x4="
version = "v0.43.0-beta1.0.20250224020346-25e0cb78f920"
hash = "sha256-Hf+IiBP+kroVm9rSA3RVRFT4mjgOKz13jX334vTL5lA="
replaced = "github.com/crypto-org-chain/cosmos-sdk"
[mod."github.com/cosmos/go-bip39"]
version = "v1.0.0"
Expand Down Expand Up @@ -263,8 +263,8 @@ schema = 3
hash = "sha256-ozwVS2BhAoz+OOisAyMhgg+lq8FdQjf90xoOq9cxtGw="
replaced = "github.com/crypto-org-chain/go-ethereum"
[mod."github.com/evmos/ethermint"]
version = "v0.6.1-0.20241217094803-acbe290991cc"
hash = "sha256-rG6pfQzXqAOznkR8bLSQ5va608nzAvfK7xv+8VZ/boI="
version = "v0.6.1-0.20250109075157-62042e2252f6"
hash = "sha256-ZmkYPzUBw0pZyoYFckKMq6/yEdtVfWuV7XvEWxycMWg="
replaced = "github.com/crypto-org-chain/ethermint"
[mod."github.com/fatih/color"]
version = "v1.16.0"
Expand Down
2 changes: 1 addition & 1 deletion integration_tests/configs/upgrade-test-package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ let
(fetchFlake "crypto-org-chain/cronos" "1aea999eef67a0a01b22422bad94b36e45b9759a").default;
# release/v1.3.x
released1_3 =
(fetchFlake "crypto-org-chain/cronos" "e1d819c862b30f0ce978baf2addb12516568639e").default;
(fetchFlake "crypto-org-chain/cronos" "dd3cea2df41732ef030a1f830244e340f3cf6bf0").default;
# release/v1.4.x
released1_4 =
(fetchFlake "crypto-org-chain/cronos" "ce797fa995000530ee53cd1fbeb3c67180648002").default;
Expand Down
5 changes: 5 additions & 0 deletions integration_tests/cosmoscli.py
Original file line number Diff line number Diff line change
Expand Up @@ -1851,6 +1851,11 @@ def restore_versiondb(self, height, format=3):
"changeset", "restore-versiondb", height, format, home=self.data_dir
)

def changeset_fixdata(self, versiondb_dir, dry_run=False):
return self.raw(
"changeset", "fixdata", versiondb_dir, "--dry-run" if dry_run else None
)

def dump_snapshot(self, height, tarball, format=3):
return self.raw(
"snapshots", "dump", height, format, home=self.data_dir, output=tarball
Expand Down
22 changes: 22 additions & 0 deletions integration_tests/test_upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import shutil
import stat
import subprocess
import time
from contextlib import contextmanager
from datetime import datetime, timedelta
from pathlib import Path
Expand All @@ -19,6 +20,7 @@
assert_gov_params,
deploy_contract,
edit_ini_sections,
eth_to_bech32,
get_consensus_params,
get_send_enable,
send_transaction,
Expand Down Expand Up @@ -291,6 +293,23 @@ def do_upgrade(plan_name, target, mode=None):
assert txs == get_txs(base_port, height)

gov_param = cli.query_params("gov")

c.supervisorctl("stop", "cronos_777-1-node0")
time.sleep(3)
cli.changeset_fixdata(f"{c.base_dir}/node0/data/versiondb")
print(cli.changeset_fixdata(f"{c.base_dir}/node0/data/versiondb", dry_run=True))
c.supervisorctl("start", "cronos_777-1-node0")
wait_for_port(ports.evmrpc_port(c.base_port(0)))

to = "0x2D5B6C193C39D2AECb4a99052074E6F325258a0f"
with pytest.raises(AssertionError) as err:
cli.query_account(eth_to_bech32(to))
assert "crc194dkcxfu88f2aj62nyzjqa8x7vjjtzs0jwcj06 not found" in str(err.value)
receipt = send_transaction(w3, {"to": to, "value": 10, "gas": 21000})
method = "debug_traceTransaction"
params = [receipt["transactionHash"].hex(), {"tracer": "callTracer"}]
tx_bf = w3.provider.make_request(method, params)

cli = do_upgrade("v1.4", cli.block_height() + 15)

assert_evm_params(cli, e0, target_height0 - 1)
Expand All @@ -305,6 +324,9 @@ def do_upgrade(plan_name, target, mode=None):
cli = do_upgrade("v1.4.0-rc5-testnet", cli.block_height() + 15)
check_basic_tx(c)

tx_af = w3.provider.make_request(method, params)
assert tx_af.get("result") == tx_bf.get("result"), tx_af


def test_cosmovisor_upgrade(custom_cronos: Cronos, tmp_path_factory):
exec(custom_cronos, tmp_path_factory)

0 comments on commit e1d336f

Please sign in to comment.