Skip to content

Conversation

@yihuang
Copy link
Contributor

@yihuang yihuang commented Sep 8, 2025

Solution:

  • refactor proxygasmeter to be more like a standalone gas meter, but delegate gas consumption to parent in real time.

    the previous version of proxy gas meter's ConsumedGas returns the whole consumed gas of parent gas meter, the new version behaves just like a standalone gas meter which counts gas from 0.

…eter

Solution:
- refactor proxygasmeter to be more like a standalone gas meter, but
  delegate gas consumption to parent in real time.
@coderabbitai
Copy link

coderabbitai bot commented Sep 8, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@yihuang yihuang requested review from freeelancer and mmsqe September 8, 2025 08:06
@codecov
Copy link

codecov bot commented Sep 8, 2025

Codecov Report

❌ Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
x/tokenfactory/types/proxygasmeter.go 87.50% 1 Missing ⚠️
Files with missing lines Coverage Δ
x/tokenfactory/types/proxygasmeter.go 70.58% <87.50%> (+9.98%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 8, 2025

@yihuang yihuang merged commit f0cc871 into MANTRA-Chain:release/v4.0.x Sep 8, 2025
9 checks passed
@yihuang yihuang deleted the release/v4.0.x branch September 8, 2025 08:28
yihuang added a commit to yihuang/mantrachain that referenced this pull request Sep 11, 2025
…eter (backport MANTRA-Chain#439)

Solution:
- refactor proxygasmeter to be more like a standalone gas meter, but
  delegate gas consumption to parent in real time.

* fix String

* fix test

* remove shortcut

* add back shortcut
yihuang added a commit that referenced this pull request Sep 12, 2025
…as (#443)

* Problem: behavioral change between proxygasmeter and standalone gas meter (backport #439)

Solution:
- refactor proxygasmeter to be more like a standalone gas meter, but
  delegate gas consumption to parent in real time.

* fix String

* fix test

* remove shortcut

* add back shortcut

* add test
allthatjazzleo added a commit that referenced this pull request Sep 13, 2025
* chore(deps): bump wasmd fork from v0.55.0-ibc2.0 to v0.60.1 (#350)

* chore: upgrade wasmd fork from v0.55.0-ibc2.0 to v0.60.1

* fix: cosmwasm version (#351)

* fix: cosmwasm version

* fix: WASMVM_VERSION in dockerfile

---------

Co-authored-by: allthatjazzleo <[email protected]>

* test(e2e): add wasm e2e test (#356)

* feat: add support for single-node e2e testing configuration for local machine

* feat: Add rwa_oracle contract for wasm tests

* feat: Enhance e2e test to validate state after execution

* feat: Add end-to-end test for setting token metadata in tokenfactory

* feat: Enhance support for single-node testing in e2e test suite

* feat: Refactor e2e tests to use abstracted function to keep variables consistent

* feat: Improve e2e tests by replacing skips with assertions for contract deployment checks

* feat: Add end-to-end test for token factory admin authority metadata

* feat: Add end-to-end test for contract interaction with token factory

* docs: update README to include instructions for running e2e tests and linting

* feat: enhance end-to-end test setup to support single and multi-node configurations

* feat: add erc20 token address for tokenfactory token (#361)

* feat: deploy erc20 contract and set tokenpair

* hash the denom

* fix: enforce use of noop mempool (#357)

* Merge branch 'main' into release/v5.0.0-rcx (#363)

* fix: connect integration tests and keep cosmos key type as default (#362)

* Merge from main (#365)

* build(golangci-lint): migrate to v2 config and apply lint to repo (#358)

* build(golangci-lint): Migrate to v2 config and apply full repository linting

* update golangci-lint version for github workflow

* feat: block mint burn for disabled tokenfactory coins (#359)

* docs(readme): Update README for modules

* feat: block mint/burn for disabled coins

* test(e2e): add tokenfactory disable token send tests

* point to v5

* Revert "point to v5"

This reverts commit ee7613b.

* ci: add workflow for cosmwasm tests on chain (#360)

* ci: add workflow for cosmwasm tests on chain

* ci: change upload-artifact to v4

* ci: fix ci workflow

* ci: spin off local chain on ci

* chore(deps): bump cosmos-sdk fork from v0.53.0 to v0.53.3 (#369)

* chore(deps): bump cosmos-sdk fork from v0.53.0 to v0.53.3

* fix(lint): staticcheck

* fix: cleanup temp wasmd folder (#334)

Co-authored-by: Lance Lan Meng <[email protected]>

* feat: add empty upgrade handler v5.0.0-rc1

* test(e2e): tokenfactory hooks tests (#370)

* feat: bump cosmos/evm to latest commit + upgradehandler (#373)

* fix: reinstate secp256k1 keys add (#374)

* chore(deps): bump cosmos/evm to latest commit

* fix: update heighliner tag and enable arm64 platform in build configuration (#375)

* fix: register geth core precompiles (#380)

* chore(deps): upgrade wasmvm to v3 and update related imports (#382)

Bumps the following dependencies to their latest versions:

- Bumps github.com/CosmWasm/wasmd from v0.60.1 to v0.61.1
- Bumps github.com/CosmWasm/wasmvm from v2.2.4 to v3.0.0

* chore: consolidate and update test CI workflows into a single tests.yml file (#383)

* chore: consolidate and update test CI workflows into a single tests.yml file

* feat: dynamically determine E2E branch based on target branch in CI workflow

* fix: simplify e2e branch determination and set fixed reference for checkout (#387)

* fix: audit findings patches (#385)

* fix: block module accounts

* fix: cli incorrect denom deconstruction

* fox: add blacklist query standard flags

* fix: remove escrowAddress on channel close

* fix: add pagination flags to blacklist query

* fix: antehandler options adds feegrantkeeper check

* fix: address collision of erc20 precompile

* fix: add pagination flags to blacklist query (#386)

---------

Co-authored-by: mmsqe <[email protected]>

* feat: add IBC middleware to register ERC20 precompile (#384)

* fix: add symbol and display for erc20 symbol and decimals interface

* feat: add ibc middleware for erc20 support

* fix: wrong sendpacket path in comment

* chore: remove obsolete connect-test workflow and integrate it into tests.yml (#389)

* chore(deps): bump github.com/cosmos/evm to latest commit  (#381)

* bump deps

* Revert "feat: allow only single evm msg (#341)"

This reverts commit 93afacf.

* use upstream minGasPriceDecorator

* point to v5

* port mempool fix

* fix: using cosmos prefix (#391)

* fix prefix

---------

Signed-off-by: Lance Lan Meng <[email protected]>
Co-authored-by: Lance Lan Meng <[email protected]>

* fix: callBeforeSendListener reaching max depth if there is recursive call

* feat: v5.0.0-rc3 upgradehandler

* Problem: use of outdated EVM precompiles from the Berlin fork (#392)

* feat: blacklist check for evm (#393)

* feat: blacklist check for evm

* fix: blacklist error change to display bech32 address

* Apply suggestions from code review

---------

Co-authored-by: mmsqe <[email protected]>

* chore(deps): bump github.com/cosmos/evm to latest commit on main (#395)

* Revert "Problem: use of outdated EVM precompiles from the Berlin fork (#392)"

This reverts commit 8321faa.

* feat: add erc20 register migration for tokenfactory tokens (#394)

* fix: tokenfactory migration bugs (#397)

* Problem: secp256k1.PubKey is not supported in multisig (#398)

* fix: migration message format issue

* Problem: not make use of evm debug addr (#399)

* test: add denom related test for tokenfactory (#396)

* align already registered test

* Problem: non-eip155 tx is not supported (#400)

* Problem: non-eip155 tx in evm ecosystem not support

there are some common practices in evm ecosystem that requires
non-eip155 transactions to work.

* fix lint

* fix: comments for for EVMBlacklistCheckDecorator

* fix: incorrect event attributes and comments (#403)

* fix: sanction module wrong comments

* fix: correct tokenfactory burn event + other comments

* chore(deps): bump cosmos/evm to bug fix and msg improvement (#378)

* chore(deps): bump cosmos/evm to bug fix and msg improvement

* bump deps

* add rc4

* bump deps

* doc

* fix: legacy feemarket proposal unmarshal (#408)

* Problem: no migrate for existing dynamic and native precompiles from param (#409)

* chore(deps): bump cosmos/evm to latest commit  (#411)

* pending tx comes after get mined

* allow unsupported public key type when send from old multisign addr

for more info, cosmos/evm#288

bump deps

* bump deps

* align go version

* Problem: redundant baseappOptions in newApp (#414)

* Problem: redundant baseappOptions in newApp

* fix broadcast mode

* fix: cleanup unused cancel function in filter (#415)

* fix: cleanup unused cancel function in filter

* bump up deps

* fix: add [flags] to blacklist use

* fix: readme for sanction module messages

* test upgrade

* Problem: eip-2935 HexAddressFromBech32String and GetStorageRoot fixes are not included (#416)

* Problem: eip-2935 is not implemented

* bump deps

* bump deps

* bump to rc6

* preinstall

* Revert "preinstall"

This reverts commit ad3b610.

* bump deps

* bump deps

* bump deps

* bump to acc check

* bump to getstorageroot fix

* history_serve_window

* bump deps

* bump deps

* bump deps

* feat: change client to eth_secp256k1 keys by default (#422)

* default add eth_secp256k1 key

* fix: test to use eth address

* remove all workflow except to test connect

* change go.mod depedencies for connect

* wip: fail to register /cosmos.evm.crypto.v1.ethsecp256k1.PubKey

* enccodec registry in docker

* Revert "remove all workflow except to test connect"

This reverts commit ad516c0.

---------

Co-authored-by: freeelancer <[email protected]>

* feat: unified v5 upgrade handler (#410)

* renamed v5 to v5rc0 as it was for testnet rc0

* feat: combined v5 upgrade handler

* chore: rename unified upgrade to "v5.0"

---------

Co-authored-by: Leo Pang <[email protected]>

* fix: correct decimal conversion for deposits in werc20 precompile (#424)

* fix: correct decimal conversion for deposits in werc20 precompile

* cleanup

* rc7

* update plan

* update submodule

* feat: emit wasm events for callBeforeSendListener (#430)

* fix: None (#433)

Closes: #432

* feat: support extra chain-id (#426)

* chore(deps): bump github.com/go-viper/mapstructure/v2 to 2.4.0 (#434)

* chore(deps): bump github.com/hashicorp/go-getter to 1.7.9

* chore: update evm chain id for devnet to 7888

* chore: prepare v5rc8 upgrade (#435)

* chore: prepare v5rc8 upgrade

* upgrade both

* feat: parse chain id for evm chain id (#436)

Co-authored-by: mmsqe <[email protected]>

* Problem: ProxyGasMeter fail to consume parent gas meter when out of gas (#443)

* Problem: behavioral change between proxygasmeter and standalone gas meter (backport #439)

Solution:
- refactor proxygasmeter to be more like a standalone gas meter, but
  delegate gas consumption to parent in real time.

* fix String

* fix test

* remove shortcut

* add back shortcut

* add test

* chore: prepare v5rc9 upgrade (#444)

---------

Signed-off-by: Lance Lan Meng <[email protected]>
Co-authored-by: allthatjazzleo <[email protected]>
Co-authored-by: Bigto Chan <[email protected]>
Co-authored-by: mmsqe <[email protected]>
Co-authored-by: Javier ⚛︎ <[email protected]>
Co-authored-by: Leo Pang <[email protected]>
Co-authored-by: yihuang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants