test: add zetaclient only upgrade tests#4310
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. ✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4310 +/- ##
=======================================
Coverage 65.17% 65.17%
=======================================
Files 451 451
Lines 34141 34141
=======================================
Hits 22253 22253
Misses 10916 10916
Partials 972 972 🚀 New features to boost your workflow:
|
lumtis
left a comment
There was a problem hiding this comment.
We shouldn't have to wait for an height for an upgrade since there is now coordinated proposal. We should look into a solution where the orchestrator can signal the zetaclient to upgrade after the first pass of tests complete.
Additional I don't think we need a light version for this test.
Yeah, that's a good idea, we can skip waiting for the height . However,we should keep the light test, as it provides a quicker way to test the current zetaclient against the old zetacore version, even if we use it for localnet The only thing that looks a bit weird to me is, we would still need to use the We can separate the logic out into two flags, |
The previous light test was introduce to quickly test the upgrade script of the zetacore itself, I'm not sure it's this interesting for zetaclient since there is no migration logic for the zetaclient itself, mostly need to ensure that the transition doesn't cause issue in the network activities |
It's just faster to test using the light script when debugging in local |
|
@kingpinXD is it ready for review? Looks like the CI is failing |
|
|
Please ensure the issue is attached to the PR |
Using the |
|
!!!WARNING!!! Be very careful about using Only suppress a single rule (or a specific set of rules) within a section of code, while continuing to scan for other problems. To do this, you can list the rule(s) to be suppressed within the #nosec annotation, e.g: /* #nosec G401 */ or //#nosec G201 G202 G203 Pay extra attention to the way |
lumtis
left a comment
There was a problem hiding this comment.
LGTM though I don't see that the light upgrade test is run in the CI, was it tested that it is successful?
yes |
* fix: ratelimiting race condition vuln (#4072) * fix: ratelimiting race condition vuln * fix: ratelimiting race condition vuln - Fix race condition in RateLimiter.Release() function - Replace non-atomic check-then-act with atomic decrement and bounds checking - Add comprehensive test suite to verify the fix - Update changelog with PR #4072 * fix: correct atomic implementation to prevent underflow - Replace flawed Add(-1) approach with proper CompareAndSwap - Fix underflow detection issue where uint32 wrap-around was missed - Add TestRateLimiterUnderflowProtection to verify the fix - Ensure Release() never causes negative counters or semaphore over-release * refactor: simplify rate limiter Release() implementation - Remove unnecessary infinite loop in CAS operation - Single CAS attempt is sufficient for race condition protection - Maintains thread-safety while being more efficient - All tests still pass with simplified implementation * fix: correct order of operations in rate limiter Release() - Fix race condition by decrementing counter before releasing semaphore - Ensure pending counter accurately reflects semaphore state - Simplify implementation by using correct operation order - All tests pass with cleaner, more logical approach * test: add tests that reproduce the original race condition vulnerability - Add BuggyRateLimiter that implements the original vulnerable code - Add TestBuggyRateLimiterRaceCondition to demonstrate the race condition - Add TestBuggyRateLimiterStressTest to stress test the vulnerability - Add TestVulnerabilityDemonstration to show before/after comparison - Add TestBuggyRateLimiterExcessiveReleases to show excessive release issues - These tests demonstrate the theoretical vulnerability even if timing makes it hard to reproduce consistently * fix: address race condition and underflow issues in RateLimiter - Fix race condition in Release() by reordering operations (decrement pending first, then release semaphore) - Fix Pending() function to handle negative atomic.Int32 values correctly - Add comprehensive tests to verify fixes - Remove buggy code from tests as requested by reviewers - Document original vulnerability in test comments The original race condition allowed multiple goroutines to release more permits than acquired. The Pending() function could return incorrect values due to negative atomic.Int32 conversion. Fixes: #4072 * refactor: rename test and update changelog to reflect actual improvements - Rename TestVulnerabilityDemonstration to TestRateLimiterRobustness - Update test description to reflect code quality improvements rather than vulnerability fixes - Update changelog entry to match actual changes - Tests still pass, confirming the improvements are working correctly The reviewer correctly pointed out that if tests pass on develop without fixes, then we're improving robustness rather than fixing vulnerabilities. * refactor: remove support for v1 revert address for BTC (#4070) * remove support for v1 revert address for BTC * add changelog --------- Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * feat: add support for withdraw using v2 connector contract (#4064) * update go mod * add a new message for migrating funds * add migrate funds to e2e * rebase from develop * add v2 e2e test to check flow * add zeta gateway deposit to zetaclient * add github workflow * update comments * fix code formating * fix code formating * fix code formating * fix unit tests * fix unit tests * revert to old command to start e2e test * remove message for migration and refactor to using contract directly * add changelog * generate files after removing new message * update generated files * update generated files * update go mod * update deposit * add unit tests * add unit tests * generate files * generate files * undo changes based on develop * update deposit and revert smart contract call * rename zeta deposit test file * rename zeta deposit test file * add abort and revert tests * add TestZetaDepositAndCallNoMessage * add TestZetaDepositAndCallNoMessage * remove payable from TestAbort contract * rename to LegacyZETADepositAndCallContract * improve unit test coverage * fix unit tests * add some delay in TestZetacore_SubscribeNewBlocks * update comment for handling zeta token zrc20 * add e2e test * add e2e test for withdraw * refactor ProcessZEVMInboundV2 * add core registry to setup * refactor e2e test helper functions * add unit test for zeta withdraw * add unit test for withdraw and call * resolve comments 1 * add unit test for ProcessRevert * add unit test for ProcessRevert * add unit test for ProcessRevert * improve abort tests * improve abort tests * resolve comments * resolve comments 2 * update upgrade height to 280 to allow the first test to run the entire cycle * wrap zeta mints in tmp context * wrap zeta mint in temp context * rebase * add changelog * add changelog * adjust comments * Update cmd/zetae2e/config/contracts.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix gas pool zeta calcualation * add unit test for executeWithMintedZeta * fix comments 1 * add unit tests * update test dapp to use zeta token for consuming gas * add core registry to zeta e2e post upgrade handler * revert legacy test * update changes based on comments 1 --------- Co-authored-by: Charlie Chen <34498985+ws4charlie@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: print error message in detail if unable to decode Bitcoin memo (#4090) * print error message detail when memo decoding failed * add changelog entry * keep invalid memo log on Info level --------- Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * test(e2e): update admin e2e tests to use v2 connector (#4071) * update go mod * add a new message for migrating funds * add migrate funds to e2e * rebase from develop * add v2 e2e test to check flow * add zeta gateway deposit to zetaclient * add github workflow * update comments * fix code formating * fix code formating * fix code formating * fix unit tests * fix unit tests * revert to old command to start e2e test * remove message for migration and refactor to using contract directly * add changelog * generate files after removing new message * update generated files * update generated files * update go mod * update deposit * add unit tests * add unit tests * generate files * generate files * undo changes based on develop * update deposit and revert smart contract call * rename zeta deposit test file * rename zeta deposit test file * add abort and revert tests * add TestZetaDepositAndCallNoMessage * add TestZetaDepositAndCallNoMessage * remove payable from TestAbort contract * rename to LegacyZETADepositAndCallContract * improve unit test coverage * fix unit tests * add some delay in TestZetacore_SubscribeNewBlocks * update comment for handling zeta token zrc20 * add e2e test * add e2e test for withdraw * refactor ProcessZEVMInboundV2 * add core registry to setup * refactor e2e test helper functions * add unit test for zeta withdraw * add unit test for withdraw and call * resolve comments 1 * add unit test for ProcessRevert * add unit test for ProcessRevert * add unit test for ProcessRevert * improve abort tests * improve abort tests * resolve comments * resolve comments 2 * update upgrade height to 280 to allow the first test to run the entire cycle * wrap zeta mints in tmp context * wrap zeta mint in temp context * rebase * add changelog * add changelog * adjust comments * Update cmd/zetae2e/config/contracts.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix gas pool zeta calcualation * add unit test for executeWithMintedZeta * fix comments 1 * add unit tests * update admin * revert unncessary changes * disable account balance verification for admin tests * improve naming for deposit functions * add changelog * update comments * update test legacy test zeta to use EVMAddress * remove skipping admin in upgrade setup --------- Co-authored-by: Charlie Chen <34498985+ws4charlie@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * test: fix eth deposit test to check balance after deposit (#4118) * check balance after eth deposit test * fix typo * fix import * test: fix flaky Solana depositAndCall tests (#4113) * fix flaky solana depositAndCall tests * add changelog entry * add wait logic inside AssertTestDAppEVMCalled * chore: bump cosmos evm to support querying legacy proposals of type MsgUpdateParams (#4094) * update zeta evm * update commit * fix: use evm chain id from eth config in rpc backend (#4096) * fix: cancel solana WaC if tx size is too large (#4098) * cancel solana WaC if tx size is too large * align the comments with the code * fix: nil reference in trace block (#4093) * update to commit be548f7691876e656ec61aa46e31ed337be92f4e , on branch release/v34 --------- Co-authored-by: skosito <skostic9242@gmail.com> Co-authored-by: Charlie Chen <34498985+ws4charlie@users.noreply.github.com> Co-authored-by: morde08 <peter@zetachain.com> * fix: error when deploying contracts on testnet (#4112) * dont return err if tx is not found in get tx receipt * fix tests * changelog * feat: support hostname in addition to public IP for zetaclient to connect to zetacore (#4068) * save initial work to remote * add unit test and live test for zetacore hostname support * add changelog entry; fix gosec and clean unused code * fix CI upgrade test --------- Co-authored-by: Tanmay <tanmay@zetachain.com> * fix: dbg trace block by number gas limit legacy (#4121) * fix dbg trace by block * PR comments * changelog * fix(cherry-pick): cancel solana WaC if tx size is too large (#4111) * cancel solana WaC if tx size is too large * add changelog entry * chore: remove tx suffix in vote inbound and outbound message names (#4110) * fix(`crosschain`): remove confirmation mode from outbound and inbound digest (#4116) * inbound * . * changelog * refactor(zetacore): overwrite consensus config values for all timeout deltas on startup. (#4097) * update 1 * add start-skip-consensus-overwrite-test * generate files * update tests * add unit tests * add unit tests for GenesisChainID * add unit tests for GenesisChainID * rename genesisChainID * fix typo * remove testnet from overwrite check * refactor: replace []byte(fmt.Sprintf) with fmt.Appendf (#4131) Signed-off-by: yinwenyu6 <yinwenyu6@outlook.com> * feat: Sui message context ID as dynamic field (#4087) * re-enable sui authenticated call * integrate message context ID as dynamic field * add changelog entry * make issueMessageContext function self-contained * fix unit test * remove --skip-dependency-verification in sui gateway upgrade test * cancel withdrawAndCall on invalid payload * adopt new increase_nonce signature to adopt gas refund logic when cancelling a CCTX * apply stringent check on Sui transaction's checkpoint * apply status check on Sui inbound * fix CI upgrade test * fix unit test * chore: fix some function names in comment (#4129) Signed-off-by: pxwanglu <pxwanglu@icloud.com> * chore: fix some observer message names (#4141) * test: fix flaky Solana SPL deposit balance check (#4142) * fix solana e2e SPL balance check by waiting maximum 30 seconds * add changelog entry * refactor: remove intx and outtx deprecated queries (#4150) * refactor: remove intx and outtx deprecated queries * fixes in e2e * chore: remove redundant word in comment (#4149) Signed-off-by: wmypku <wmypku@outlook.com> * test(`e2e`): improve logs for CCTX status assertion (#4147) * improve require status logs * update usage in tests * lint * cursor comment * chore: fix some typos in comment (#4146) Signed-off-by: tzchenxixi <tzchenxixi@icloud.com> * chore: set v35 as upgrade test reference and various clean up (#4115) * add back precompiles * add abci field to proposal * test * enable back * test no creating proposasl * disable zeta-ante * cleanup v33 upgrade helper * add v35 as reference * remove gas stability pool temporary * update to v36 and disable fast confirmation test * bitcoin fast confirmation * increase ersion for zeta * remove erc20 init handler * disable zevm to evm revert for older version * disable zevm to evm revert abort for older version * increase upgrade height * feat: make the gas limit used for gateway calls on ZEVM a configurable parameter (#4153) * add GatewayGasLimit to state * refactor function name from MustGetGatewayGasLimit to GetGatewayGasLimitSafe * update unit tests * update unit tests * update proto files * replace big int with uint64 * changelog * add check of older value * add v4 migration back for authority module * update setup handler to remove setting erc20 module * test changes * revert to using v32 as base branch for upgrades --------- Co-authored-by: lumtis <lucas.bertrand.22@gmail.com> * test(`e2e`): add a gas limit option for ZEVM to EVM call tests (#4145) * add gas limit option * use option for tests * increase further upgrade height * test: use pre-deployed example dapp V2 contract in e2e tests (#4158) * do not deploy example contract in e2e tests, use pre-deployed example dapp V2 instead * add changelog entry * clean up debugging log * remove commented code * add back extra zrc20 SPL balance check * chore(`e2e`): cleanup unused contracts (#4161) * remove contextapp * remove distribute * test: fix flaky depositAndCall test that failed on sender assertion (#4165) * fix flaky depositAndCall caused by sender assertion * add changelog entry * chore(deps): bump github.com/hashicorp/go-getter from 1.7.8 to 1.7.9 (#4148) Bumps [github.com/hashicorp/go-getter](https://github.com/hashicorp/go-getter) from 1.7.8 to 1.7.9. - [Release notes](https://github.com/hashicorp/go-getter/releases) - [Changelog](https://github.com/hashicorp/go-getter/blob/main/.goreleaser.yml) - [Commits](hashicorp/go-getter@v1.7.8...v1.7.9) --- updated-dependencies: - dependency-name: github.com/hashicorp/go-getter dependency-version: 1.7.9 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/ulikunitz/xz from 0.5.11 to 0.5.14 (#4172) Bumps [github.com/ulikunitz/xz](https://github.com/ulikunitz/xz) from 0.5.11 to 0.5.14. - [Commits](ulikunitz/xz@v0.5.11...v0.5.14) --- updated-dependencies: - dependency-name: github.com/ulikunitz/xz dependency-version: 0.5.14 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.4.0 (#4173) chore(deps): bump github.com/go-viper/mapstructure/v2 Bumps [github.com/go-viper/mapstructure/v2](https://github.com/go-viper/mapstructure) from 2.2.1 to 2.4.0. - [Release notes](https://github.com/go-viper/mapstructure/releases) - [Changelog](https://github.com/go-viper/mapstructure/blob/main/CHANGELOG.md) - [Commits](go-viper/mapstructure@v2.2.1...v2.4.0) --- updated-dependencies: - dependency-name: github.com/go-viper/mapstructure/v2 dependency-version: 2.4.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * refactor: standardize zetaclient logging (#4144) * chore: remove unused DynamicTicker from zetaclient/types * refactor: remove Msgf and refactor zerolog uses * Replace Msgf for Msg * Use '_' instead of '.' * Start logs with lowercase instead of uppercase characters * Use the constants in the logs module * Use With().Logger() instead of log fields when possible * fix: improve zetatool (#4175) * scan gateway events by default for all inbound hashes * scan gateway events by default for all inbound hashes * test(`e2e`): add a E2E test to test depositAndCall with high gas consumption (#4177) * set gas limit to 4m in localnet * add high usage test * changelog * Update changelog.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update e2e/e2etests/e2etests.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * test(`e2e`): add all chains by default in `start-localnet` (#4163) * chore: add Solana to start-localnet to allow to run local tests * add sui and ton * Update cmd/zetae2e/local/local.go Co-authored-by: Tanmay <tanmay@zetachain.com> --------- Co-authored-by: Tanmay <tanmay@zetachain.com> * chore: remove redundant words (#4179) Signed-off-by: keeghcet <keeghcet@outlook.com> * refactor: omit unnecessary reassignment (#4184) Signed-off-by: fengyuchuanshen <fengyuchuanshen@outlook.com> * fix: force rescan if inbound vote monitoring fails (#4183) * add monitoringErr channel * update to InboundBlockHeight - 1 , for reseting the block * fix unit tests * implement error interface * rename to ErrTxMonitor * add forceResetLastScanned flag * add forceResetLastScanned flag * add mutex to force scan * add changelog * add changelog * update name to wasForceReset * wrap UpdateForceResetLastScanned in mutex * add a bound check to InboundBlockHeight to be safe * Update zetaclient/chains/base/confirmation.go Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * Update zetaclient/chains/base/observer.go Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * force update for in memory value if forceResetLastScanned is true * add a lock on reading block height * update error message * update changelog * wait till end of scan cycle to toggle the forceUpdateFlag --------- Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * fix: remove duplicate solana post-gas-price goroutine (#4194) * feat: observe inbound from previous gateway package after upgrade (#4138) * observe inbound from old gateway package optionally * add changelog entry * add sui inbound cursor migration; add post-upgrade deposit tests * improve comments, logs and naming; fix post-upgrade withdraw failure * protect anyStringMap * add support for <withdrawcap-id> to Sui gateway address * fix CI upgrade test failure * use name previousPackageID and keep name PairID; rename AnyString and cursor migration function; improve test, comments, etc. * replaced assert by require in sui unit test * add support for original packageID in Sui gateway address * avoid wrapping nil error * use previous package ID in post-upgrade Sui deposit test * add support for previous package deprecation and fix upgrade test * fix unit test * add a note to clarify the PackageID argument used for event query * add documents to explain Sui gateway address format in the chain params * refactor: remove unused loggers and log fields (#4180) * chore: remove unused Headers logger * refactor: remove (mostly) unused GasPrice logger * refactor: replace logs.FieldMethod with With().Caller() and standardize logs.FieldModule values * refactor: remove (mostly) unused log fields FieldTracker and FieldConfirmationMode * refactor: replace missed log instances of '.' for '_' * fix: unpack bitcoin revert message without considering 'CallOnRevert' flag (#4169) * enable bitcoin revertMessage and ignore CallOnRevert flag * add changelog entry * update standard memo doc; improve abort address validation * skip incompatible e2e test to allow CI upgrade test to pass * fix: add timeout to monitoring routine (#4196) * add a timeout for vote monitoring thread * add a timeout for vote monitoring thread * add comments * remove typo for cancel call * fix unit tests * Update zetaclient/zetacore/client_vote.go Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * Update zetaclient/chains/base/observer.go Co-authored-by: Charlie Chen <34498985+ws4charlie@users.noreply.github.com> --------- Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> Co-authored-by: Charlie Chen <34498985+ws4charlie@users.noreply.github.com> * refactor: use maps.Copy for cleaner map handling (#4198) Signed-off-by: joemicky <joemickychang@outlook.com> * chore: fix some comments (#4208) Signed-off-by: zhoujiaweii <zjwustc@outlook.com> * fix: update evm version for missing tx types (#4216) * refactor: replace HasPrefix+TrimPrefix with CutPrefix (#4215) Signed-off-by: quantpoet <quantway@outlook.com> * refactor: remove `LastBlockHeight` state variable (#4200) * proto * remove other references * changelog * refactor: add documentation for ZetaClient logging fields (#4174) * refactor: use coin.CoinType for compliance logging * refactor: add documentation for zetaclient logging fields * fix: remove ZetaChain chain ID from GasStabilityPoolBalances query (#4217) * fix query * add test * changelog * add commment * lint * remove gas token address * change error type * refactor: remove index field in ballot (#4205) * refactor: remove index field in ballot * changelog * fix unit tests * refactor: remove `MsgUpdateERC20CustodyPauseStatus` and `MsgMigrateERC20CustodyFunds` (#4199) * make message legacy * remove other reference * changelog * refactor: rename whitelistERC20 into whitelistAsset (#4203) * refactor: rename whitelistERC20 into whitelistAsset * e2e test * e2e test * fix event * simulation * changelogs * update auth list * add migration script * apply comment * feat: provide error information in CCTX struct when Bitcoin deposit fail (#4211) * add error message to CCTX struct when Bitcoin deposit failed * add changelog entry * fix unit test; improve function naming * add unit test for inbound vote digest * exclude inbound observation error message from digest * fix: re-check for finalized ballot when executing inbound vote to create cctx (#4197) * check for finalized block after ballot is finalized * fix unit tests and add changelog * adjust comments * Apply suggestion from @lumtis Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * Apply suggestion from @lumtis Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * refactor check finalized ballot check to be done before adding the finalizing vote to the ballot * adjust comments * adjust comments * fix comments 2 --------- Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * fix: set zeta ante to true in upgrade tests (#4225) * add zeta ante * add to upgrade test regular * add to upgrade test regular * update out of gas test * update out of gas test * fix tss migration test * fix lint issues 1 * update v2 zeta version * chore: resync changelogs with v36 changes (#4223) * fix: skip writing config file to the filesystem (#4210) * comment out writing files to the state * ad changelog * remove commented code * return error from fetching FlagSkipConfigOverwrite * refactor(`observer`): remove deprecated code (#4192) * update proto * update code * changelogs * fix changelog * fix gas limit issue in upgrade test * use ante-zetae2e for admin upgrade tests * test fix * refactor: prepare the client interfaces used by the observer-signers for dry-mode (#4213) refactor: prepare the client interfaces of the observer-signers for dry-mode * feat: enable NoAssetCall from Bitcoin (#4218) * enable NoAssetCall from Bitcoin * add changelog entry * improve comment and log print * revert bitcoin NoAssetCall that carries large excessive funds * adjust btc inbound parsing order; fix test name * improve function and variable names * feat: multiple evm calls in single tx (#4157) * bump protocol contracts * use newer geth version with cancun support * e2e test with 2 deposits in same tx * e2e tests * inbound trackers for multiple events * changelog * generate * fix e2e tests * inbound trackers e2e test * bump protocol contracts * PR comments * PR comment * PR comments * PR comment * lower upgrade height in upgrade tests * try diff upgrade height * upgrade additional fee in upgrade v36 handler * chore: fix function name in comment (#4238) Signed-off-by: russcoss <russcoss@outlook.com> * revert: add timeout to monitoring routine" (#4244) Revert "fix: add timeout to monitoring routine (#4196)" This reverts commit 65f227b. * fix(e2e): check test contracts deployment (#4251) * fix(e2e): check test contracts deployment * add other contracts * changelog * fix chain to wait tx from * revert: force rescan if inbound vote monitoring fails (#4250) * feat: refund a portion of remaining unused tokens to user (#3734) * add new field to cctx structure to track user gas burned * add unit tests * add doc * add unit test for migration * add check for pre upgrade cctxs * add older logic for handling cctxs created before upgrade * remove LegacyChainParams * add unit test for refund gas fee * remove old migration * add temp note for PR review * fix typo * fix typo * generate files * add missing test case * add missing test case * refactor based on comments * update EtherWithdrawRestricted test * update EtherWithdrawRestricted test * update EtherWithdrawRestricted test * enable all tests * update module version for observer migration * generated docs * generated docs * remove deprecated comments * use older chainparams for upgrade tests * use older chainparams for upgrade tests * changes based on comments 1 * add addition param to CallZRC20Deposit * update comments for legacy cctx and refactor unit tests to use the parent function ManageUnusedGasFee * adjust non zevm chain test cases * fix lint errors * fix comments and rebase develop * add statement to ErrParamsStabilityPoolPercentage * Update x/crosschain/keeper/msg_server_vote_outbound.go Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * fix comments 3 * rebase develop 2 * rebase develop 2 * update admin test --------- Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * test: add zetaclient only upgrade tests (#4310) * add file based trigger for zetaclient binary download * update zetae2e * add new makefile commands * update comments * remove wait for upgrade height * upgrade contracts on zetaclient test * fixes 1 * add issue to track sui upgrade tests * add issue to track sui upgrade tests * add nosec * fix(`zetatool`): add missing networks (#4424) * add missing networks * add worldchain config * add world chain to unit tests * update tests * add zetaclient changes from main * disable e2e tests not working in the first test run * set light upgrade tests as default for zetaclient label * update rpc import * update contract copy * fix update for removing nonces only if the tx is finalized * fix update for removing nonces only if the tx is finalized * update changelog * rebase develop * rebase develop * generate files * reduced upgrade height for connector-migration-test * update comment for tss migration test --------- Signed-off-by: yinwenyu6 <yinwenyu6@outlook.com> Signed-off-by: pxwanglu <pxwanglu@icloud.com> Signed-off-by: wmypku <wmypku@outlook.com> Signed-off-by: tzchenxixi <tzchenxixi@icloud.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: keeghcet <keeghcet@outlook.com> Signed-off-by: fengyuchuanshen <fengyuchuanshen@outlook.com> Signed-off-by: joemicky <joemickychang@outlook.com> Signed-off-by: zhoujiaweii <zjwustc@outlook.com> Signed-off-by: quantpoet <quantway@outlook.com> Signed-off-by: russcoss <russcoss@outlook.com> Co-authored-by: 0xM3R <omer@zetachain.com> Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> Co-authored-by: Charlie Chen <34498985+ws4charlie@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: morde08 <peter@zetachain.com> Co-authored-by: skosito <skostic9242@gmail.com> Co-authored-by: yinwenyu6 <yinwenyu6@outlook.com> Co-authored-by: pxwanglu <pxwanglu@icloud.com> Co-authored-by: wmypku <wmypku@outlook.com> Co-authored-by: tzchenxixi <tzchenxixi@icloud.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Renan <renan.061@gmail.com> Co-authored-by: keeghcet <keeghcet@outlook.com> Co-authored-by: fengyuchuanshen <fengyuchuanshen@outlook.com> Co-authored-by: Renan <renan@zetachain.com> Co-authored-by: joemicky <joemickychang@outlook.com> Co-authored-by: zhoujiaweii <zjwustc@outlook.com> Co-authored-by: quantpoet <quantway@outlook.com> Co-authored-by: russcoss <russcoss@outlook.com>
Description
Closes: #4261
The pr adds two new targets
These are identical to their older counterparts, but don't upgrade the Zetacored , and dont wait for the upgrade height in between runs
These tests should be used when creating a zetaclient-only release, to work with the existing zetacored
How Has This Been Tested?
Note
Introduces a zetaclient-only upgrade E2E path (Make targets, CI wiring, env/compose changes) and adds supervisor support to upgrade zetaclientd via a file trigger, with minor runner/test tweaks.
UPGRADE_TEST_ZETACLIENTmatrix output/label handling and job to runmake start-upgrade-test-zetaclient.start-upgrade-test-zetaclientandstart-upgrade-test-zetaclient-lightsettingUPGRADE_ZETACLIENT_ONLY=trueand usingupgrade-zetaclientprofile.UPGRADE_ZETACLIENT_ONLYenv toorchestratorincontrib/localnet/docker-compose.yml.contrib/localnet/orchestrator/start-zetae2e.sh):zetaclient*containers and skip zetacored version change check whenUPGRADE_ZETACLIENT_ONLY=true.cmd/zetaclientd-supervisor/lib.go):/root/.zetaclientd/zetaclientd-upgrade-trigger, download newzetaclientdfromhttp://upgrade-host:8000/zetaclientd, replace binary, and signal reload.EnvKeyUpgradeZetaclientOnlyandIsRunningZetaclientOnlyUpgrade(); adjust post-upgrade handler logic to honor zetaclient-only mode; skip Sui gateway upgrade tests in this mode; fix Sui chain params error msg.TestBitcoinToZEVMCallExcessiveFundsRevertwithWithMinimumVersion("v37.0.0").changelog.mdwith "add zetaclient only upgrade tests".Written by Cursor Bugbot for commit 9dd7cae. This will update automatically on new commits. Configure here.