-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: move NewTracer to keeper #126
Conversation
WalkthroughWalkthroughThe changes involve the refactoring of the Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Outside diff range and nitpick comments (1)
x/evm/keeper/tracer.go (1)
29-31
: Add function documentation.Please add a comprehensive documentation comment for the
NewTracer
function, describing its purpose, parameters, and return value. This will enhance code readability and maintainability.Consider adding a comment like this:
// NewTracer creates a new EVMLogger based on the specified tracer type. // It supports various tracer types including AccessList, JSON, Markdown, and Struct. // // Parameters: // - tracer: A string specifying the type of tracer to create. // - msg: The core.Message containing transaction details. // - cfg: The chain configuration. // - height: The current block height. // // Returns: // An vm.EVMLogger implementation based on the specified tracer type.
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (3)
- x/evm/keeper/keeper.go (1 hunks)
- x/evm/keeper/tracer.go (1 hunks)
- x/evm/types/tracer.go (0 hunks)
Files not reviewed due to no reviewable changes (1)
- x/evm/types/tracer.go
Additional comments not posted (3)
x/evm/keeper/tracer.go (2)
1-16
: License header and package declaration are correct.The license header is properly formatted and the package declaration is accurate.
18-27
: Verify usage of all imported packages.Please ensure that all imported packages are utilized within the code. Unused imports should be removed to maintain code cleanliness.
Run the following script to check for unused imports:
x/evm/keeper/keeper.go (1)
289-289
: Approve the change and verify import statementsThe modification to call
NewTracer
directly instead oftypes.NewTracer
is correct and aligns with the PR objective of eliminating references tovm.DefaultActivePrecompiles
within types. This change enhances the modularity of the codebase.To ensure the change is complete, please verify that the necessary import statements have been updated accordingly. Run the following script to check for any remaining references to
types.NewTracer
and to confirm thatNewTracer
is properly imported or defined within the current package:Verification successful
Verified: Import statements are correctly updated
The modification to call
NewTracer
directly has been successfully verified. No remaining references totypes.NewTracer
were found, andNewTracer
is properly defined within the current package.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify import statements and usage of NewTracer # Check for remaining references to types.NewTracer echo "Checking for remaining references to types.NewTracer:" rg --type go "types\.NewTracer" # Check for the import or definition of NewTracer in the current package echo "Checking for import or definition of NewTracer:" rg --type go "^(import\s+.*NewTracer|func\s+NewTracer)"Length of output: 438
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #126 +/- ##
==========================================
+ Coverage 67.74% 67.81% +0.07%
==========================================
Files 124 125 +1
Lines 11451 11451
==========================================
+ Hits 7757 7766 +9
+ Misses 3253 3244 -9
Partials 441 441
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are TODOs part of copied code? I think we should still track these if it makes sense
* ci: add rpcimportable test * add ci * fmt * use github.com/btcsuite/btcd/btcutil in pkg/chains * remove app imports types tests * use standalone sdkconfig package * fix policies test * move crosschain keeper tests from types to keeper * never seal config in tests * use zeta-chain/ethermint#126 * add some comments * use merged ethermint hash * show resulting go.mod
* ci: add rpcimportable test * add ci * fmt * use github.com/btcsuite/btcd/btcutil in pkg/chains * remove app imports types tests * use standalone sdkconfig package * fix policies test * move crosschain keeper tests from types to keeper * never seal config in tests * use zeta-chain/ethermint#126 * add some comments * use merged ethermint hash * show resulting go.mod
…guration (#2953) * update artillery config * more fixes * feat: integrate authenticated calls smart contract functionality into protocol (#2904) * e2e tests and modifications for authenticated call * extend test with sender check and revert case * separate tests into separate files * cleanup * withdraw and call support and tests * bump protocol contracts * split tests into separate files * small cleanup * fmt * generate * lint * changelog * PR comments * fix case in proto * bump vote inbound gas limit in zetaclient * fix test * generate * fixing tests * call options non empty * generate * test fix * rename gateway caller * pr comments rename tests * PR comment * generate * tests * update tests fixes * tests fixes * fix * test fix * feat!: bank precompile (#2860) * feat: bank precompile * feat: add deposit * feat: extend deposit * PoC: spend amount on behalf of EOA * feat: expand deposit with transferFrom * use CallEVM instead on ZRC20 bindings * divide the contract into different files * initialize e2e testing * remove duplicated funding * add codecov * expand e2e * fix: wait for deposit tx to be mined * apply first round of reviews * cover al error types test * fixes using time.Since * Include CallContract interface * fix eth events in deposit precompile method * emit Deposit event * add withdraw function * finalize withdraw * pack event arguments generically * add high level event function * first round of review fixes * second round of reviews * create bank account when instantiating bank * e2e: add good and bad scenarios * modify fmt * chore: group input into eventData struct * docs: document bank's methods * chore: generate files with suffix .gen.go * chore: assert errors with errorIs * chore: reset e2e test by resetting allowance * test: add first batch of unit test * test: cover all cases * test: complete unit test cases * include review suggestions * include e2e through contract * test: add e2e through contract complete * test: revert balance between tests * Update precompiles/bank/const.go Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * fix: changed coin denom --------- Co-authored-by: skosito <skostic9242@gmail.com> Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> * feat: add sender to revert context (#2919) * e2e tests and modifications for authenticated call * extend test with sender check and revert case * separate tests into separate files * cleanup * withdraw and call support and tests * bump protocol contracts * split tests into separate files * small cleanup * fmt * generate * lint * changelog * PR comments * fix case in proto * bump vote inbound gas limit in zetaclient * fix test * generate * fixing tests * call options non empty * generate * test fix * rename gateway caller * pr comments rename tests * PR comment * generate * tests * add sender in test contract * extend e2e tests * generate * changelog * PR comment * generate * update tests fixes * tests fixes * fix * test fix * gas limit fixes * PR comment fix * fix bad merge * ci: add option to enable monitoring stack (#2927) * ci: add option to enable monitoring stack * start prometheus faster * update * ci: add rpcimportable test (#2817) * ci: add rpcimportable test * add ci * fmt * use github.com/btcsuite/btcd/btcutil in pkg/chains * remove app imports types tests * use standalone sdkconfig package * fix policies test * move crosschain keeper tests from types to keeper * never seal config in tests * use zeta-chain/ethermint#126 * add some comments * use merged ethermint hash * show resulting go.mod * ci: Add SARIF upload to GitHub Security Dashboard (#2929) * add semgrep sarif upload to GHAS * added comment to clairfy the usage of the utility script * use ghcr.io instead * add tag to image * bad org name --------- Co-authored-by: jkan2 <5862123+jkan2@users.noreply.github.com> * fix: add recover to InitChainer to diplay informative message when starting a node from block 1 (#2925) * add recover to InitChainer * generate files * add docs link to error message * move InitChainErrorMessage to app.go * Update app/app.go Co-authored-by: Francisco de Borja Aranda Castillejo <borja@zetachain.com> * use const for message --------- Co-authored-by: Francisco de Borja Aranda Castillejo <borja@zetachain.com> * test: add wait for block to tss migration test (#2931) * add wait for block to tss migration test * add comments * refactor identifiers * rename checkNumberOfTssGenerated to checkNumberOfTSSGenerated * chore: allow full zetaclient config overlay (#2945) * test(e2e): add gateway upgrade in upgrade test (#2932) * add gateway upgrade * change reference * add v2 setup for all tests * test v2 in light upgrade * refactor setup to use custody v2 directly * chore: improve localnet build performance (#2928) * chore: improve localnet build performance * propagate NODE_VERSION and NODE_COMMIT * update hashes --------- Co-authored-by: skosito <skostic9242@gmail.com> Co-authored-by: Francisco de Borja Aranda Castillejo <borja@zetachain.com> Co-authored-by: Lucas Bertrand <lucas.bertrand.22@gmail.com> Co-authored-by: Alex Gartner <alexg@zetachain.com> Co-authored-by: jkan2 <jkan2@users.noreply.github.com> Co-authored-by: jkan2 <5862123+jkan2@users.noreply.github.com> Co-authored-by: Tanmay <tanmay@zetachain.com>
Avoid references to
vm.DefaultActivePrecompiles
in types to ensure that types can be imported without requiringreplace github.com/ethereum/go-ethereum => github.com/zeta-chain/go-ethereum v1.10.26-spc
Summary by CodeRabbit
New Features
NewTracer
function for enhanced logging capabilities in the Ethermint library, allowing for various formats of EVM transaction tracing.Bug Fixes
Tracer
method to callNewTracer
directly, ensuring consistent functionality without altering parameters or return types.Refactor
NewTracer
function from thetypes
package, streamlining the codebase by consolidating tracer functionality.