From 44d0284e04a00b7ad6e9e01b0d5316fa24519f32 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Mon, 23 Oct 2023 21:14:27 +0800 Subject: [PATCH] Problem: ethermint is not updated (#1215) * Problem: ethermint is not updated * Update CHANGELOG.md Signed-off-by: mmsqe * fix lint --------- Signed-off-by: mmsqe --- CHANGELOG.md | 6 ++++++ go.mod | 2 +- go.sum | 4 ++-- gomod2nix.toml | 4 ++-- memiavl/db.go | 7 ++++--- memiavl/db_test.go | 2 +- memiavl/import.go | 2 +- x/cronos/keeper/mock/ibckeeper_mock.go | 2 +- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c48c3da44..bc3d16e300 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [Unreleased] + +### Bug Fixes + +- [#1215](https://github.com/crypto-org-chain/cronos/pull/1215) Update ethermint to fix of concurrent write in fee history. + *October 17, 2023* ## v1.1.0-rc1 diff --git a/go.mod b/go.mod index 1fbf653127..43f9eebe15 100644 --- a/go.mod +++ b/go.mod @@ -234,7 +234,7 @@ replace ( // TODO: remove it: https://github.com/cosmos/cosmos-sdk/issues/13134 github.com/dgrijalva/jwt-go => github.com/golang-jwt/jwt/v4 v4.4.2 github.com/ethereum/go-ethereum => github.com/evmos/go-ethereum v1.10.26-evmos-rc1 - github.com/evmos/ethermint => github.com/crypto-org-chain/ethermint v0.6.1-0.20230925072753-4062d0cc2a32 + github.com/evmos/ethermint => github.com/crypto-org-chain/ethermint v0.6.1-0.20231019015135-65c0efeabb62 // 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 diff --git a/go.sum b/go.sum index 03b46f7274..b77d6ad06e 100644 --- a/go.sum +++ b/go.sum @@ -484,8 +484,8 @@ github.com/crypto-org-chain/cometbft-db v0.0.0-20231011055109-57922ac52a63 h1:R1 github.com/crypto-org-chain/cometbft-db v0.0.0-20231011055109-57922ac52a63/go.mod h1:rocwIfnS+kA060x64gkSIRvWB9StSppIkJuo5MWzL24= github.com/crypto-org-chain/cosmos-sdk v0.46.0-beta2.0.20231013072415-eec017435467 h1:m0/aHPIJAzi2MSP3TXzzbLTFf+koRFQiaYmerRZUtK4= github.com/crypto-org-chain/cosmos-sdk v0.46.0-beta2.0.20231013072415-eec017435467/go.mod h1:G384omH7cXgm90xXR7xpHvsKG7vdBaDuz4To6GpTHUU= -github.com/crypto-org-chain/ethermint v0.6.1-0.20230925072753-4062d0cc2a32 h1:A++epzNCr3EY57dnU6UTSDwbCiPD6MjvUKHKSd/PoI8= -github.com/crypto-org-chain/ethermint v0.6.1-0.20230925072753-4062d0cc2a32/go.mod h1:wnJQyK4n0vShhL+YIAUd7XCzUhgZ9fgG6yJ14n7qefo= +github.com/crypto-org-chain/ethermint v0.6.1-0.20231019015135-65c0efeabb62 h1:vkDT9v2ozR3Y0AJsrs+r+bTtgs2Kll0sq3Q/ZwXDDoc= +github.com/crypto-org-chain/ethermint v0.6.1-0.20231019015135-65c0efeabb62/go.mod h1:wnJQyK4n0vShhL+YIAUd7XCzUhgZ9fgG6yJ14n7qefo= github.com/crypto-org-chain/gravity-bridge/module/v2 v2.0.1-0.20230825054824-75403cd90c6e h1:rSTc35OBjjCBx47rHPWBCIHNGPbMnEj8f7fNcK2TjVI= github.com/crypto-org-chain/gravity-bridge/module/v2 v2.0.1-0.20230825054824-75403cd90c6e/go.mod h1:HBaDqlFjlaXJwVQtA7jHejyaA7xwjXI2o6pU/ccP3tE= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= diff --git a/gomod2nix.toml b/gomod2nix.toml index 4d7250a3d7..b8915fa0d7 100644 --- a/gomod2nix.toml +++ b/gomod2nix.toml @@ -216,8 +216,8 @@ schema = 3 hash = "sha256-GgcReGsIIuBE2TabDYqDO9sBGogdVr9RSh4arQzdPnE=" replaced = "github.com/evmos/go-ethereum" [mod."github.com/evmos/ethermint"] - version = "v0.6.1-0.20230925072753-4062d0cc2a32" - hash = "sha256-8zwdHROHnAVfly2PIaNAfiXfb2fWsTqePaZ58EJtjH4=" + version = "v0.6.1-0.20231019015135-65c0efeabb62" + hash = "sha256-0fyozPeRfig2Nalb031GFSpM50jF4qx1qPDDStTubRs=" replaced = "github.com/crypto-org-chain/ethermint" [mod."github.com/felixge/httpsnoop"] version = "v1.0.2" diff --git a/memiavl/db.go b/memiavl/db.go index 457b357c00..cdfac6de5f 100644 --- a/memiavl/db.go +++ b/memiavl/db.go @@ -20,6 +20,7 @@ const ( DefaultSnapshotInterval = 1000 LockFileName = "LOCK" DefaultSnapshotWriterLimit = 4 + TmpSuffix = "-tmp" ) var errReadOnly = errors.New("db is read-only") @@ -265,7 +266,7 @@ func removeTmpDirs(rootDir string) error { } for _, entry := range entries { - if !entry.IsDir() || !strings.HasSuffix(entry.Name(), "-tmp") { + if !entry.IsDir() || !strings.HasSuffix(entry.Name(), TmpSuffix) { continue } @@ -636,7 +637,7 @@ func (db *DB) RewriteSnapshot() error { } snapshotDir := snapshotName(db.lastCommitInfo.Version) - tmpDir := snapshotDir + "-tmp" + tmpDir := snapshotDir + TmpSuffix path := filepath.Join(db.dir, tmpDir) if err := db.MultiTree.WriteSnapshot(path, db.snapshotWriterPool); err != nil { return errors.Join(err, os.RemoveAll(path)) @@ -978,7 +979,7 @@ func traverseSnapshots(dir string, ascending bool, callback func(int64) (bool, e // atomicRemoveDir is equavalent to `mv snapshot snapshot-tmp && rm -r snapshot-tmp` func atomicRemoveDir(path string) error { - tmpPath := path + "-tmp" + tmpPath := path + TmpSuffix if err := os.Rename(path, tmpPath); err != nil { return err } diff --git a/memiavl/db_test.go b/memiavl/db_test.go index fc56916e17..f8d99222cd 100644 --- a/memiavl/db_test.go +++ b/memiavl/db_test.go @@ -45,7 +45,7 @@ func TestRemoveSnapshotDir(t *testing.T) { defer os.RemoveAll(dbDir) snapshotDir := filepath.Join(dbDir, snapshotName(0)) - tmpDir := snapshotDir + "-tmp" + tmpDir := snapshotDir + TmpSuffix if err := os.MkdirAll(tmpDir, os.ModePerm); err != nil { t.Fatalf("Failed to create dummy snapshot directory: %v", err) } diff --git a/memiavl/import.go b/memiavl/import.go index a64be6d0a8..6cb245ede5 100644 --- a/memiavl/import.go +++ b/memiavl/import.go @@ -36,7 +36,7 @@ func NewMultiTreeImporter(dir string, height uint64) (*MultiTreeImporter, error) } func (mti *MultiTreeImporter) tmpDir() string { - return filepath.Join(mti.dir, mti.snapshotDir+"-tmp") + return filepath.Join(mti.dir, mti.snapshotDir+TmpSuffix) } func (mti *MultiTreeImporter) Add(item interface{}) error { diff --git a/x/cronos/keeper/mock/ibckeeper_mock.go b/x/cronos/keeper/mock/ibckeeper_mock.go index 4c1293ebaf..7647a20b68 100644 --- a/x/cronos/keeper/mock/ibckeeper_mock.go +++ b/x/cronos/keeper/mock/ibckeeper_mock.go @@ -15,7 +15,7 @@ func (i IbcKeeperMock) Transfer(goCtx context.Context, msg *types.MsgTransfer) ( } func (i IbcKeeperMock) GetDenomTrace(ctx sdk.Context, denomTraceHash tmbytes.HexBytes) (types.DenomTrace, bool) { - if denomTraceHash.String() == "6B5A664BF0AF4F71B2F0BAA33141E2F1321242FBD5D19762F541EC971ACB0865" { //nolint:gosec // test only + if denomTraceHash.String() == "6B5A664BF0AF4F71B2F0BAA33141E2F1321242FBD5D19762F541EC971ACB0865" { return types.DenomTrace{ Path: "transfer/channel-0", BaseDenom: "basetcro",