Skip to content
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

Problem: latest hermes is not used in integration tests #1462

Merged
merged 2 commits into from
Jun 11, 2024

Conversation

mmsqe
Copy link
Collaborator

@mmsqe mmsqe commented May 30, 2024

👮🏻👮🏻👮🏻 !!!! REFERENCE THE PROBLEM YOUR ARE SOLVING IN THE PR TITLE AND DESCRIBE YOUR SOLUTION HERE !!!! DO NOT FORGET !!!! 👮🏻👮🏻👮🏻

PR Checklist:

  • Have you read the CONTRIBUTING.md?
  • Does your PR follow the C4 patch requirements?
  • Have you rebased your work on top of the latest master?
  • Have you checked your code compiles? (make)
  • Have you included tests for any non-trivial functionality?
  • Have you checked your code passes the unit tests? (make test)
  • Have you checked your code formatting is correct? (go fmt)
  • Have you checked your basic code style is fine? (golangci-lint run)
  • If you added any dependencies, have you checked they do not contain any known vulnerabilities? (go list -json -m all | nancy sleuth)
  • If your changes affect the client infrastructure, have you run the integration test?
  • If your changes affect public APIs, does your PR follow the C4 evolution of public contracts?
  • If your code changes public APIs, have you incremented the crate version numbers and documented your changes in the CHANGELOG.md?
  • If you are contributing for the first time, please read the agreement in CONTRIBUTING.md now and add a comment to this pull request stating that your PR is in accordance with the Developer's Certificate of Origin.

Thank you for your code, it's appreciated! :)

Summary by CodeRabbit

  • New Features

    • Added support for packed batch call in relayer precompile, enhancing efficiency.
  • Enhancements

    • Aligned gas requirements in relayer precompile with go-ethereum.
    • Updated gas costs for various methods to reflect more accurate calculations.
    • Increased max_gas and adjusted gas_price for the cronos_777-1 chain.
  • Refactor

    • Simplified batchCall function in the TestRelayer contract.
    • Modified IBC transfer functions to improve flexibility and robustness.
  • Tests

    • Updated IBC transfer tests to include new assertions and checks.
    • Replaced specific transfer functions with a more generalized approach in test scripts.
  • Chores

    • Updated package locking configuration in nix/hermes.nix.
    • Revised repository references and hash values in nix/sources.json.

Copy link
Contributor

coderabbitai bot commented May 30, 2024

Walkthrough

This update introduces significant changes to the cronos project. Key modifications include adding support for packed batch calls in the relayer precompile, adjusting gas requirements to align with go-ethereum, and updating several test and configuration files to reflect these changes. Additionally, the IBC transfer mechanism and gas configurations have been refined to improve performance and compatibility.

Changes

Files/Groups Change Summary
CHANGELOG.md Documented support for packed batch calls in relayer precompile and gas adjustments.
integration_tests/contracts/contracts/TestRelayer.sol Modified batchCall to encode payloads and make a single relayer.call.
integration_tests/test_ibc_rly_gas.py Changed diff value in test_ibc function from 0.15 to 0.1.
x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go, x/cronos/events/bindings/src/RelayerFunctions.sol Significant reduction in RelayerFunctionsMetaData ABI definitions, removing several functions.
x/cronos/keeper/precompiles/relayer.go Updated gas constants, RequiredGas and Run methods, and added unpackInput function.
app/app.go Updated New function to include additional parameters in evmkeeper.CustomContractFn.
integration_tests/configs/ibc.jsonnet Increased max_gas for cronos_777-1 and adjusted gas_price.
integration_tests/ibc_utils.py, integration_tests/test_ibc.py, integration_tests/test_ibc_rly.py, integration_tests/test_ibc_timeout.py Refactored IBC transfer functions and updated test logic.
nix/hermes.nix, nix/sources.json Added outputHashes for "ibc-proto-0.46.0" and updated rev and sha256 values for ibc-rs.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant TestRelayer
    participant RelayerContract
    User->>TestRelayer: Call batchCall(payloads)
    TestRelayer->>RelayerContract: Encode and send batch call
    RelayerContract->>TestRelayer: Return success/failure
    TestRelayer->>User: Return result
Loading

Possibly related issues

Poem

In the code where bytes do dance,
A batch call now takes its stance.
Gas aligned with Ethereum's might,
Making transfers swift and light.
Tests refined, configs set,
Cronos shines, no regrets.
A rabbit’s joy, in code’s delight! 🐇✨


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?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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 as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@mmsqe mmsqe changed the title Problem: require gas for single method in relayer is less than consumed Problem: packed batch call is not supported in relayer precompile Jun 3, 2024
@mmsqe mmsqe marked this pull request as ready for review June 3, 2024 03:54
@mmsqe mmsqe requested a review from a team as a code owner June 3, 2024 03:54
@mmsqe mmsqe requested review from devashishdxt and thomas-nguy and removed request for a team June 3, 2024 03:54
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between d41d670 and 7c6a10d.

Files selected for processing (6)
  • CHANGELOG.md (1 hunks)
  • integration_tests/contracts/contracts/TestRelayer.sol (1 hunks)
  • integration_tests/test_ibc_rly_gas.py (1 hunks)
  • x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go (2 hunks)
  • x/cronos/events/bindings/src/RelayerFunctions.sol (1 hunks)
  • x/cronos/keeper/precompiles/relayer.go (3 hunks)
Files skipped from review due to trivial changes (1)
  • x/cronos/events/bindings/src/RelayerFunctions.sol
Additional context used
GitHub Check: codecov/patch
x/cronos/keeper/precompiles/relayer.go

[warning] 127-130: x/cronos/keeper/precompiles/relayer.go#L127-L130
Added lines #L127 - L130 were not covered by tests


[warning] 132-139: x/cronos/keeper/precompiles/relayer.go#L132-L139
Added lines #L132 - L139 were not covered by tests


[warning] 141-141: x/cronos/keeper/precompiles/relayer.go#L141
Added line #L141 was not covered by tests


[warning] 146-147: x/cronos/keeper/precompiles/relayer.go#L146-L147
Added lines #L146 - L147 were not covered by tests


[warning] 152-152: x/cronos/keeper/precompiles/relayer.go#L152
Added line #L152 was not covered by tests


[warning] 154-159: x/cronos/keeper/precompiles/relayer.go#L154-L159
Added lines #L154 - L159 were not covered by tests


[warning] 163-166: x/cronos/keeper/precompiles/relayer.go#L163-L166
Added lines #L163 - L166 were not covered by tests


[warning] 168-171: x/cronos/keeper/precompiles/relayer.go#L168-L171
Added lines #L168 - L171 were not covered by tests


[warning] 173-175: x/cronos/keeper/precompiles/relayer.go#L173-L175
Added lines #L173 - L175 were not covered by tests


[warning] 177-178: x/cronos/keeper/precompiles/relayer.go#L177-L178
Added lines #L177 - L178 were not covered by tests


[warning] 181-182: x/cronos/keeper/precompiles/relayer.go#L181-L182
Added lines #L181 - L182 were not covered by tests


[warning] 184-186: x/cronos/keeper/precompiles/relayer.go#L184-L186
Added lines #L184 - L186 were not covered by tests


[warning] 188-193: x/cronos/keeper/precompiles/relayer.go#L188-L193
Added lines #L188 - L193 were not covered by tests


[warning] 199-199: x/cronos/keeper/precompiles/relayer.go#L199
Added line #L199 was not covered by tests


[warning] 206-206: x/cronos/keeper/precompiles/relayer.go#L206
Added line #L206 was not covered by tests


[warning] 211-214: x/cronos/keeper/precompiles/relayer.go#L211-L214
Added lines #L211 - L214 were not covered by tests


[warning] 217-220: x/cronos/keeper/precompiles/relayer.go#L217-L220
Added lines #L217 - L220 were not covered by tests


[warning] 222-222: x/cronos/keeper/precompiles/relayer.go#L222
Added line #L222 was not covered by tests


[warning] 224-228: x/cronos/keeper/precompiles/relayer.go#L224-L228
Added lines #L224 - L228 were not covered by tests


[warning] 230-238: x/cronos/keeper/precompiles/relayer.go#L230-L238
Added lines #L230 - L238 were not covered by tests


[warning] 240-276: x/cronos/keeper/precompiles/relayer.go#L240-L276
Added lines #L240 - L276 were not covered by tests


[warning] 278-279: x/cronos/keeper/precompiles/relayer.go#L278-L279
Added lines #L278 - L279 were not covered by tests


[warning] 281-281: x/cronos/keeper/precompiles/relayer.go#L281
Added line #L281 was not covered by tests


[warning] 283-285: x/cronos/keeper/precompiles/relayer.go#L283-L285
Added lines #L283 - L285 were not covered by tests

LanguageTool
CHANGELOG.md

[grammar] ~22-~22: The conjunction “when” requires the past participle “registered”. Or did you mean “you register”?
Context: ...ronos/pull/1421) Validate e2ee key when register. * (store) [#1448](https://github.com/c...


[misspelling] ~125-~125: Did you mean “or”? ‘Of’ refers to parts of a whole, while ‘or’ refers to alternatives.
Context: ...onos/pull/1216) Update ethermint to fix of avoid redundant parse chainID from gens...


[style] ~166-~166: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...n processing and double spend check. - [cronos#742](https://github.com/crypto-org-chai...


[style] ~167-~167: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...e handler for v0.8.0-gravity-alpha2. - [cronos#750](https://github.com/crypto-org-chai...


[style] ~168-~168: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...e handler for v0.8.0-gravity-alpha3. - [cronos#769](https://github.com/crypto-org-chai...


[style] ~169-~169: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...cope of the contract that manage it. - [cronos#775](https://github.com/crypto-org-chai...


[style] ~170-~170: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...775) Support turnbridge transaction. - [cronos#781](https://github.com/crypto-org-chai...


[style] ~171-~171: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: .../cronos/pull/781) Add prune command. - [cronos#830](https://github.com/crypto-org-chai...


[style] ~174-~174: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...upgrade handler for v2.0.0-testnet3. - [cronos#795](https://github.com/crypto-org-chai...


[style] ~175-~175: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: .../795) Support permissions in cronos. - [cronos#997](https://github.com/crypto-org-chai...


[style] ~176-~176: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ontract for cronos originated crc20. - [cronos#1005](https://github.com/crypto-org-cha...


[style] ~177-~177: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...o-ibc event in case of source token. - [cronos#1069](https://github.com/crypto-org-cha...


[style] ~178-~178: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...o v1.10.26 and ibc-go to v6.2.0. - [cronos#1147](https://github.com/crypto-org-cha...


[style] ~182-~182: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...adjusted correctly in ibc-go v7.2.0. - [cronos#1163](https://github.com/crypto-org-cha...


[style] ~183-~183: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ateful precompiled contract for ica. - [cronos#837](https://github.com/crypto-org-chai...


[style] ~184-~184: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...teful precompiled contract for bank. - [cronos#1184](https://github.com/crypto-org-cha...


[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ull/1184) Update ibc-go to v7.3.1. - [cronos#1186](https://github.com/crypto-org-cha...


[style] ~186-~186: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... max block gas limit in new version. - [cronos#1187](https://github.com/crypto-org-cha...


[style] ~187-~187: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...1187) Disable gravity module in app. - [cronos#1185](https://github.com/crypto-org-cha...


[style] ~188-~188: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...nos/pull/1185) Support ibc callback. - [cronos#1196](https://github.com/crypto-org-cha...


[grammar] ~207-~207: It seems that “to” is missing before the verb.
Context: .../cronos/pull/1150) Fix memiavl's unsafe retain of the root hashes. ### Features - [#...


[misspelling] ~211-~211: Did you mean the phrasal verb “clean up” instead of the noun ‘cleanup’?
Context: .../pull/1042) call Close method on app to cleanup resource on graceful shutdown ([ethermi...


[grammar] ~327-~327: After ‘it’, use the third-person verb form “fixes”.
Context: ...790) Update cosmos-sdk to v0.46.7, it fix a migration issue which affects pending...


[style] ~394-~394: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...file state streamer (backport #702). - [cronos#730](https://github.com/crypto-org-chai...


[style] ~416-~416: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...elSendToChain support from evm call. - [cronos#600](https://github.com/crypto-org-chai...


[style] ~417-~417: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...plement bidirectional token mapping. - [cronos#611](https://github.com/crypto-org-chai...


[style] ~418-~418: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...owledgement error in ibc middleware. - [cronos#627](https://github.com/crypto-org-chai...


[style] ~433-~433: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...leware, use ibc-go upstream version. - [cronos#550](https://github.com/crypto-org-chai...


[style] ~434-~434: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...basic json-rpc apis on pruned nodes. - [cronos#549](https://github.com/crypto-org-chai...


[style] ~435-~435: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...tom tx indexer feature of ethermint. - [cronos#673](https://github.com/crypto-org-chai...


[style] ~453-~453: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ed in json-rpc apis (backport #502). - [cronos#526](https://github.com/crypto-org-chai...


[style] ~454-~454: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... Fix tendermint duplicated tx issue. - [cronos#584](https://github.com/crypto-org-chai...


[style] ~455-~455: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...shes returned in some JSON-RPC apis. - [cronos#587](https://github.com/crypto-org-chai...


[style] ~456-~456: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... tx patch cmd recompute eth tx hash. - [cronos#595](https://github.com/crypto-org-chai...


[style] ~462-~462: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...nd to patch txs post v0.7.0 upgrade. - [cronos#522](https://github.com/crypto-org-chai...


[style] ~463-~463: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... the tendermint tx duplicated issue. - [cronos#585](https://github.com/crypto-org-chai...


[style] ~477-~477: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ase fee related logic in the code. - [ethermint#817](https://github.com/tharsis/ethermi...


[style] ~478-~478: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ogic related to effectiveGasPrice. - [ethermint#822](https://github.com/tharsis/ethermi...


[style] ~481-~481: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... tx when block gas limit exceeded. - [cosmos-sdk#10725](https://github.com/cosmos/cosmos...


[style] ~489-~489: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...e url query parameter in swagger-ui. - [cronos#328](https://github.com/crypto-org-chai...


[style] ~490-~490: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...query result when --trace enabled. - [cronos#441](https://github.com/crypto-org-chai...


[style] ~497-~497: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...ll/329) Fix panic of eth_call on blocks prior to upgrade. - [cronos#340](https://github....


[style] ~498-~498: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...eth_call on blocks prior to upgrade. - [cronos#340](https://github.com/crypto-org-chai...


[style] ~499-~499: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...t, b) fix data races traceContext. - [cronos#370](https://github.com/crypto-org-chai...


[style] ~500-~500: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...g, add websockets integration tests. - [cronos#378](https://github.com/crypto-org-chai...


[style] ~501-~501: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... add returnValue message on tracing. - [cronos#446](https://github.com/crypto-org-chai...


[grammar] ~621-~621: After ‘it’, use the third-person verb form “upgrades”.
Context: ...org Chain. In addition to that, it also upgrade ethermint to its latest version (v0.5.0...

Markdownlint
CHANGELOG.md

49-49: Expected: asterisk; Actual: dash
Unordered list style


61-61: Expected: asterisk; Actual: dash
Unordered list style


69-69: Expected: asterisk; Actual: dash
Unordered list style


77-77: Expected: asterisk; Actual: dash
Unordered list style


85-85: Expected: asterisk; Actual: dash
Unordered list style


86-86: Expected: asterisk; Actual: dash
Unordered list style


87-87: Expected: asterisk; Actual: dash
Unordered list style


91-91: Expected: asterisk; Actual: dash
Unordered list style


99-99: Expected: asterisk; Actual: dash
Unordered list style


100-100: Expected: asterisk; Actual: dash
Unordered list style


101-101: Expected: asterisk; Actual: dash
Unordered list style


102-102: Expected: asterisk; Actual: dash
Unordered list style


103-103: Expected: asterisk; Actual: dash
Unordered list style


104-104: Expected: asterisk; Actual: dash
Unordered list style


108-108: Expected: asterisk; Actual: dash
Unordered list style


109-109: Expected: asterisk; Actual: dash
Unordered list style


115-115: Expected: asterisk; Actual: dash
Unordered list style


116-116: Expected: asterisk; Actual: dash
Unordered list style


117-117: Expected: asterisk; Actual: dash
Unordered list style


118-118: Expected: asterisk; Actual: dash
Unordered list style


119-119: Expected: asterisk; Actual: dash
Unordered list style


123-123: Expected: asterisk; Actual: dash
Unordered list style


124-124: Expected: asterisk; Actual: dash
Unordered list style


125-125: Expected: asterisk; Actual: dash
Unordered list style


126-126: Expected: asterisk; Actual: dash
Unordered list style


127-127: Expected: asterisk; Actual: dash
Unordered list style


128-128: Expected: asterisk; Actual: dash
Unordered list style


132-132: Expected: asterisk; Actual: dash
Unordered list style


133-133: Expected: asterisk; Actual: dash
Unordered list style


134-134: Expected: asterisk; Actual: dash
Unordered list style


135-135: Expected: asterisk; Actual: dash
Unordered list style


136-136: Expected: asterisk; Actual: dash
Unordered list style


137-137: Expected: asterisk; Actual: dash
Unordered list style


141-141: Expected: asterisk; Actual: dash
Unordered list style


142-142: Expected: asterisk; Actual: dash
Unordered list style


143-143: Expected: asterisk; Actual: dash
Unordered list style


151-151: Expected: asterisk; Actual: dash
Unordered list style


152-152: Expected: asterisk; Actual: dash
Unordered list style


156-156: Expected: asterisk; Actual: dash
Unordered list style


164-164: Expected: asterisk; Actual: dash
Unordered list style


165-165: Expected: asterisk; Actual: dash
Unordered list style


166-166: Expected: asterisk; Actual: dash
Unordered list style


167-167: Expected: asterisk; Actual: dash
Unordered list style


168-168: Expected: asterisk; Actual: dash
Unordered list style


169-169: Expected: asterisk; Actual: dash
Unordered list style


170-170: Expected: asterisk; Actual: dash
Unordered list style


171-171: Expected: asterisk; Actual: dash
Unordered list style


172-172: Expected: asterisk; Actual: dash
Unordered list style


173-173: Expected: asterisk; Actual: dash
Unordered list style


174-174: Expected: asterisk; Actual: dash
Unordered list style


175-175: Expected: asterisk; Actual: dash
Unordered list style


176-176: Expected: asterisk; Actual: dash
Unordered list style


177-177: Expected: asterisk; Actual: dash
Unordered list style


178-178: Expected: asterisk; Actual: dash
Unordered list style


179-179: Expected: asterisk; Actual: dash
Unordered list style


180-180: Expected: asterisk; Actual: dash
Unordered list style


181-181: Expected: asterisk; Actual: dash
Unordered list style


182-182: Expected: asterisk; Actual: dash
Unordered list style


183-183: Expected: asterisk; Actual: dash
Unordered list style


184-184: Expected: asterisk; Actual: dash
Unordered list style


185-185: Expected: asterisk; Actual: dash
Unordered list style


186-186: Expected: asterisk; Actual: dash
Unordered list style


187-187: Expected: asterisk; Actual: dash
Unordered list style


188-188: Expected: asterisk; Actual: dash
Unordered list style


192-192: Expected: asterisk; Actual: dash
Unordered list style


193-193: Expected: asterisk; Actual: dash
Unordered list style


194-194: Expected: asterisk; Actual: dash
Unordered list style


195-195: Expected: asterisk; Actual: dash
Unordered list style


196-196: Expected: asterisk; Actual: dash
Unordered list style


197-197: Expected: asterisk; Actual: dash
Unordered list style


198-198: Expected: asterisk; Actual: dash
Unordered list style


199-199: Expected: asterisk; Actual: dash
Unordered list style


200-200: Expected: asterisk; Actual: dash
Unordered list style


201-201: Expected: asterisk; Actual: dash
Unordered list style


202-202: Expected: asterisk; Actual: dash
Unordered list style


203-203: Expected: asterisk; Actual: dash
Unordered list style


204-204: Expected: asterisk; Actual: dash
Unordered list style


205-205: Expected: asterisk; Actual: dash
Unordered list style


206-206: Expected: asterisk; Actual: dash
Unordered list style


207-207: Expected: asterisk; Actual: dash
Unordered list style


211-211: Expected: asterisk; Actual: dash
Unordered list style


212-212: Expected: asterisk; Actual: dash
Unordered list style


213-213: Expected: asterisk; Actual: dash
Unordered list style


214-214: Expected: asterisk; Actual: dash
Unordered list style


215-215: Expected: asterisk; Actual: dash
Unordered list style


216-216: Expected: asterisk; Actual: dash
Unordered list style


217-217: Expected: asterisk; Actual: dash
Unordered list style


218-218: Expected: asterisk; Actual: dash
Unordered list style


222-222: Expected: asterisk; Actual: dash
Unordered list style


223-223: Expected: asterisk; Actual: dash
Unordered list style


224-224: Expected: asterisk; Actual: dash
Unordered list style


225-225: Expected: asterisk; Actual: dash
Unordered list style


226-226: Expected: asterisk; Actual: dash
Unordered list style


227-227: Expected: asterisk; Actual: dash
Unordered list style


228-228: Expected: asterisk; Actual: dash
Unordered list style


229-229: Expected: asterisk; Actual: dash
Unordered list style


230-230: Expected: asterisk; Actual: dash
Unordered list style


231-231: Expected: asterisk; Actual: dash
Unordered list style


232-232: Expected: asterisk; Actual: dash
Unordered list style


233-233: Expected: asterisk; Actual: dash
Unordered list style


234-234: Expected: asterisk; Actual: dash
Unordered list style


235-235: Expected: asterisk; Actual: dash
Unordered list style


236-236: Expected: asterisk; Actual: dash
Unordered list style


237-237: Expected: asterisk; Actual: dash
Unordered list style


238-238: Expected: asterisk; Actual: dash
Unordered list style


239-239: Expected: asterisk; Actual: dash
Unordered list style


240-240: Expected: asterisk; Actual: dash
Unordered list style


241-241: Expected: asterisk; Actual: dash
Unordered list style


242-242: Expected: asterisk; Actual: dash
Unordered list style


243-243: Expected: asterisk; Actual: dash
Unordered list style


244-244: Expected: asterisk; Actual: dash
Unordered list style


245-245: Expected: asterisk; Actual: dash
Unordered list style


246-246: Expected: asterisk; Actual: dash
Unordered list style


254-254: Expected: asterisk; Actual: dash
Unordered list style


255-255: Expected: asterisk; Actual: dash
Unordered list style


256-256: Expected: asterisk; Actual: dash
Unordered list style


260-260: Expected: asterisk; Actual: dash
Unordered list style


261-261: Expected: asterisk; Actual: dash
Unordered list style


262-262: Expected: asterisk; Actual: dash
Unordered list style


263-263: Expected: asterisk; Actual: dash
Unordered list style


264-264: Expected: asterisk; Actual: dash
Unordered list style


265-265: Expected: asterisk; Actual: dash
Unordered list style


266-266: Expected: asterisk; Actual: dash
Unordered list style


274-274: Expected: asterisk; Actual: dash
Unordered list style


282-282: Expected: asterisk; Actual: dash
Unordered list style


286-286: Expected: asterisk; Actual: dash
Unordered list style


287-287: Expected: asterisk; Actual: dash
Unordered list style


288-288: Expected: asterisk; Actual: dash
Unordered list style


296-296: Expected: asterisk; Actual: dash
Unordered list style


300-300: Expected: asterisk; Actual: dash
Unordered list style


301-301: Expected: asterisk; Actual: dash
Unordered list style


302-302: Expected: asterisk; Actual: dash
Unordered list style


310-310: Expected: asterisk; Actual: dash
Unordered list style


318-318: Expected: asterisk; Actual: dash
Unordered list style


326-326: Expected: asterisk; Actual: dash
Unordered list style


327-327: Expected: asterisk; Actual: dash
Unordered list style


336-336: Expected: asterisk; Actual: dash
Unordered list style


344-344: Expected: asterisk; Actual: dash
Unordered list style


352-352: Expected: asterisk; Actual: dash
Unordered list style


360-360: Expected: asterisk; Actual: dash
Unordered list style


361-361: Expected: asterisk; Actual: dash
Unordered list style


362-362: Expected: asterisk; Actual: dash
Unordered list style


363-363: Expected: asterisk; Actual: dash
Unordered list style


371-371: Expected: asterisk; Actual: dash
Unordered list style


379-379: Expected: asterisk; Actual: dash
Unordered list style


380-380: Expected: asterisk; Actual: dash
Unordered list style


388-388: Expected: asterisk; Actual: dash
Unordered list style


392-392: Expected: asterisk; Actual: dash
Unordered list style


393-393: Expected: asterisk; Actual: dash
Unordered list style


394-394: Expected: asterisk; Actual: dash
Unordered list style


402-402: Expected: asterisk; Actual: dash
Unordered list style


414-414: Expected: asterisk; Actual: dash
Unordered list style


415-415: Expected: asterisk; Actual: dash
Unordered list style


416-416: Expected: asterisk; Actual: dash
Unordered list style


417-417: Expected: asterisk; Actual: dash
Unordered list style


418-418: Expected: asterisk; Actual: dash
Unordered list style


419-419: Expected: asterisk; Actual: dash
Unordered list style


420-420: Expected: asterisk; Actual: dash
Unordered list style


424-424: Expected: asterisk; Actual: dash
Unordered list style


425-425: Expected: asterisk; Actual: dash
Unordered list style


426-426: Expected: asterisk; Actual: dash
Unordered list style


430-430: Expected: asterisk; Actual: dash
Unordered list style


431-431: Expected: asterisk; Actual: dash
Unordered list style


432-432: Expected: asterisk; Actual: dash
Unordered list style


433-433: Expected: asterisk; Actual: dash
Unordered list style


434-434: Expected: asterisk; Actual: dash
Unordered list style


435-435: Expected: asterisk; Actual: dash
Unordered list style


443-443: Expected: asterisk; Actual: dash
Unordered list style


451-451: Expected: asterisk; Actual: dash
Unordered list style


452-452: Expected: asterisk; Actual: dash
Unordered list style


453-453: Expected: asterisk; Actual: dash
Unordered list style


454-454: Expected: asterisk; Actual: dash
Unordered list style


455-455: Expected: asterisk; Actual: dash
Unordered list style


456-456: Expected: asterisk; Actual: dash
Unordered list style


460-460: Expected: asterisk; Actual: dash
Unordered list style


461-461: Expected: asterisk; Actual: dash
Unordered list style


462-462: Expected: asterisk; Actual: dash
Unordered list style


463-463: Expected: asterisk; Actual: dash
Unordered list style


471-471: Expected: asterisk; Actual: dash
Unordered list style


472-472: Expected: asterisk; Actual: dash
Unordered list style


473-473: Expected: asterisk; Actual: dash
Unordered list style


474-474: Expected: asterisk; Actual: dash
Unordered list style


475-475: Expected: asterisk; Actual: dash
Unordered list style


476-476: Expected: asterisk; Actual: dash
Unordered list style


477-477: Expected: asterisk; Actual: dash
Unordered list style


478-478: Expected: asterisk; Actual: dash
Unordered list style


479-479: Expected: asterisk; Actual: dash
Unordered list style


480-480: Expected: asterisk; Actual: dash
Unordered list style


481-481: Expected: asterisk; Actual: dash
Unordered list style


482-482: Expected: asterisk; Actual: dash
Unordered list style


486-486: Expected: asterisk; Actual: dash
Unordered list style


487-487: Expected: asterisk; Actual: dash
Unordered list style


488-488: Expected: asterisk; Actual: dash
Unordered list style


489-489: Expected: asterisk; Actual: dash
Unordered list style


490-490: Expected: asterisk; Actual: dash
Unordered list style


494-494: Expected: asterisk; Actual: dash
Unordered list style


495-495: Expected: asterisk; Actual: dash
Unordered list style


496-496: Expected: asterisk; Actual: dash
Unordered list style


497-497: Expected: asterisk; Actual: dash
Unordered list style


498-498: Expected: asterisk; Actual: dash
Unordered list style


499-499: Expected: asterisk; Actual: dash
Unordered list style


500-500: Expected: asterisk; Actual: dash
Unordered list style


501-501: Expected: asterisk; Actual: dash
Unordered list style


509-509: Expected: asterisk; Actual: dash
Unordered list style


510-510: Expected: asterisk; Actual: dash
Unordered list style


518-518: Expected: asterisk; Actual: dash
Unordered list style


526-526: Expected: asterisk; Actual: dash
Unordered list style


527-527: Expected: asterisk; Actual: dash
Unordered list style


528-528: Expected: asterisk; Actual: dash
Unordered list style


532-532: Expected: asterisk; Actual: dash
Unordered list style


533-533: Expected: asterisk; Actual: dash
Unordered list style


541-541: Expected: asterisk; Actual: dash
Unordered list style


542-542: Expected: asterisk; Actual: dash
Unordered list style


543-543: Expected: asterisk; Actual: dash
Unordered list style


544-544: Expected: asterisk; Actual: dash
Unordered list style


545-545: Expected: asterisk; Actual: dash
Unordered list style


553-553: Expected: asterisk; Actual: dash
Unordered list style


557-557: Expected: asterisk; Actual: dash
Unordered list style


558-558: Expected: asterisk; Actual: dash
Unordered list style


559-559: Expected: asterisk; Actual: dash
Unordered list style


560-560: Expected: asterisk; Actual: dash
Unordered list style


570-570: Expected: asterisk; Actual: dash
Unordered list style


574-574: Expected: asterisk; Actual: dash
Unordered list style


575-575: Expected: asterisk; Actual: dash
Unordered list style


576-576: Expected: asterisk; Actual: dash
Unordered list style


577-577: Expected: asterisk; Actual: dash
Unordered list style


581-581: Expected: asterisk; Actual: dash
Unordered list style


582-582: Expected: asterisk; Actual: dash
Unordered list style


593-593: Expected: asterisk; Actual: dash
Unordered list style


594-594: Expected: asterisk; Actual: dash
Unordered list style


595-595: Expected: asterisk; Actual: dash
Unordered list style


596-596: Expected: asterisk; Actual: dash
Unordered list style


597-597: Expected: asterisk; Actual: dash
Unordered list style


601-601: Expected: asterisk; Actual: dash
Unordered list style


602-602: Expected: asterisk; Actual: dash
Unordered list style


603-603: Expected: asterisk; Actual: dash
Unordered list style


613-613: Expected: asterisk; Actual: dash
Unordered list style


614-614: Expected: asterisk; Actual: dash
Unordered list style


625-625: Expected: asterisk; Actual: dash
Unordered list style


629-629: Expected: asterisk; Actual: dash
Unordered list style


630-630: Expected: asterisk; Actual: dash
Unordered list style


631-631: Expected: asterisk; Actual: dash
Unordered list style


632-632: Expected: asterisk; Actual: dash
Unordered list style


633-633: Expected: asterisk; Actual: dash
Unordered list style


634-634: Expected: asterisk; Actual: dash
Unordered list style


636-636: Expected: asterisk; Actual: dash
Unordered list style


637-637: Expected: asterisk; Actual: dash
Unordered list style


645-645: Expected: asterisk; Actual: dash
Unordered list style


649-649: Expected: asterisk; Actual: dash
Unordered list style


653-653: Expected: asterisk; Actual: dash
Unordered list style


663-663: Expected: asterisk; Actual: dash
Unordered list style


664-664: Expected: asterisk; Actual: dash
Unordered list style


665-665: Expected: asterisk; Actual: dash
Unordered list style


666-666: Expected: asterisk; Actual: dash
Unordered list style


672-672: Expected: asterisk; Actual: dash
Unordered list style


673-673: Expected: asterisk; Actual: dash
Unordered list style


677-677: Expected: asterisk; Actual: dash
Unordered list style


35-35: null
Emphasis used instead of a heading


43-43: null
Emphasis used instead of a heading


55-55: null
Emphasis used instead of a heading


63-63: null
Emphasis used instead of a heading


71-71: null
Emphasis used instead of a heading


79-79: null
Emphasis used instead of a heading


93-93: null
Emphasis used instead of a heading


111-111: null
Emphasis used instead of a heading


145-145: null
Emphasis used instead of a heading


158-158: null
Emphasis used instead of a heading


248-248: null
Emphasis used instead of a heading


268-268: null
Emphasis used instead of a heading


276-276: null
Emphasis used instead of a heading


290-290: null
Emphasis used instead of a heading


304-304: null
Emphasis used instead of a heading


312-312: null
Emphasis used instead of a heading


320-320: null
Emphasis used instead of a heading


330-330: null
Emphasis used instead of a heading


338-338: null
Emphasis used instead of a heading


346-346: null
Emphasis used instead of a heading


354-354: null
Emphasis used instead of a heading


365-365: null
Emphasis used instead of a heading


373-373: null
Emphasis used instead of a heading


382-382: null
Emphasis used instead of a heading


396-396: null
Emphasis used instead of a heading


404-404: null
Emphasis used instead of a heading


408-408: null
Emphasis used instead of a heading


437-437: null
Emphasis used instead of a heading


445-445: null
Emphasis used instead of a heading


465-465: null
Emphasis used instead of a heading


503-503: null
Emphasis used instead of a heading


512-512: null
Emphasis used instead of a heading


520-520: null
Emphasis used instead of a heading


535-535: null
Emphasis used instead of a heading


547-547: null
Emphasis used instead of a heading


562-562: null
Emphasis used instead of a heading


584-584: null
Emphasis used instead of a heading


605-605: null
Emphasis used instead of a heading


616-616: null
Emphasis used instead of a heading


639-639: null
Emphasis used instead of a heading


655-655: null
Emphasis used instead of a heading

Additional comments not posted (4)
integration_tests/test_ibc_rly_gas.py (1)

26-26: Change in diff value noted. Ensure this adjustment is validated by performance data or additional tests.

x/cronos/keeper/precompiles/relayer.go (1)

50-52: Significant changes to gas constants. Ensure these are justified by corresponding system changes or requirements.

x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go (1)

34-34: Significant reduction in ABI definitions. Verify that all necessary functionality is still supported.

CHANGELOG.md (1)

12-12: The changelog entry succinctly summarizes the enhancements made in PR #1462.

integration_tests/contracts/contracts/TestRelayer.sol Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 7c6a10d and 4344f05.

Files selected for processing (3)
  • app/app.go (1 hunks)
  • x/cronos/keeper/precompiles/relayer.go (4 hunks)
  • x/cronos/keeper/precompiles/utils.go (2 hunks)
Additional context used
GitHub Check: codecov/patch
x/cronos/keeper/precompiles/relayer.go

[warning] 96-99: x/cronos/keeper/precompiles/relayer.go#L96-L99
Added lines #L96 - L99 were not covered by tests


[warning] 101-108: x/cronos/keeper/precompiles/relayer.go#L101-L108
Added lines #L101 - L108 were not covered by tests


[warning] 110-110: x/cronos/keeper/precompiles/relayer.go#L110
Added line #L110 was not covered by tests


[warning] 115-117: x/cronos/keeper/precompiles/relayer.go#L115-L117
Added lines #L115 - L117 were not covered by tests


[warning] 122-130: x/cronos/keeper/precompiles/relayer.go#L122-L130
Added lines #L122 - L130 were not covered by tests


[warning] 138-140: x/cronos/keeper/precompiles/relayer.go#L138-L140
Added lines #L138 - L140 were not covered by tests


[warning] 142-179: x/cronos/keeper/precompiles/relayer.go#L142-L179
Added lines #L142 - L179 were not covered by tests


[warning] 181-181: x/cronos/keeper/precompiles/relayer.go#L181
Added line #L181 was not covered by tests


[warning] 185-189: x/cronos/keeper/precompiles/relayer.go#L185-L189
Added lines #L185 - L189 were not covered by tests


[warning] 191-191: x/cronos/keeper/precompiles/relayer.go#L191
Added line #L191 was not covered by tests


[warning] 193-193: x/cronos/keeper/precompiles/relayer.go#L193
Added line #L193 was not covered by tests


[warning] 195-196: x/cronos/keeper/precompiles/relayer.go#L195-L196
Added lines #L195 - L196 were not covered by tests


[warning] 198-200: x/cronos/keeper/precompiles/relayer.go#L198-L200
Added lines #L198 - L200 were not covered by tests


[warning] 202-204: x/cronos/keeper/precompiles/relayer.go#L202-L204
Added lines #L202 - L204 were not covered by tests


[warning] 206-206: x/cronos/keeper/precompiles/relayer.go#L206
Added line #L206 was not covered by tests


[warning] 209-209: x/cronos/keeper/precompiles/relayer.go#L209
Added line #L209 was not covered by tests


[warning] 214-218: x/cronos/keeper/precompiles/relayer.go#L214-L218
Added lines #L214 - L218 were not covered by tests


[warning] 220-222: x/cronos/keeper/precompiles/relayer.go#L220-L222
Added lines #L220 - L222 were not covered by tests


[warning] 227-231: x/cronos/keeper/precompiles/relayer.go#L227-L231
Added lines #L227 - L231 were not covered by tests


[warning] 233-234: x/cronos/keeper/precompiles/relayer.go#L233-L234
Added lines #L233 - L234 were not covered by tests


[warning] 236-237: x/cronos/keeper/precompiles/relayer.go#L236-L237
Added lines #L236 - L237 were not covered by tests


[warning] 244-244: x/cronos/keeper/precompiles/relayer.go#L244
Added line #L244 was not covered by tests


[warning] 249-252: x/cronos/keeper/precompiles/relayer.go#L249-L252
Added lines #L249 - L252 were not covered by tests


[warning] 255-258: x/cronos/keeper/precompiles/relayer.go#L255-L258
Added lines #L255 - L258 were not covered by tests


[warning] 260-260: x/cronos/keeper/precompiles/relayer.go#L260
Added line #L260 was not covered by tests


[warning] 262-266: x/cronos/keeper/precompiles/relayer.go#L262-L266
Added lines #L262 - L266 were not covered by tests


[warning] 268-276: x/cronos/keeper/precompiles/relayer.go#L268-L276
Added lines #L268 - L276 were not covered by tests


[warning] 278-314: x/cronos/keeper/precompiles/relayer.go#L278-L314
Added lines #L278 - L314 were not covered by tests


[warning] 316-317: x/cronos/keeper/precompiles/relayer.go#L316-L317
Added lines #L316 - L317 were not covered by tests


[warning] 319-319: x/cronos/keeper/precompiles/relayer.go#L319
Added line #L319 was not covered by tests

Additional comments not posted (4)
x/cronos/keeper/precompiles/utils.go (2)

29-40: The implementation of extractMsg function looks good and improves error reporting by including the type information in the error message.


Line range hint 41-52: Integration of extractMsg in exec function enhances modularity and readability. The additional checks for signers and caller authentication improve security.

app/app.go (2)

609-609: Ensure that the NewIcaContract function correctly handles the passed parameters (ctx, &app.ICAAuthKeeper, &app.CronosKeeper, appCodec, gasConfig).

Verification successful

The NewIcaContract function correctly handles the passed parameters (ctx, &app.ICAAuthKeeper, &app.CronosKeeper, appCodec, gasConfig).

  • The function is implemented in ./x/cronos/keeper/precompiles/ica.go.
  • It initializes an IcaContract struct with the provided parameters.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the implementation of `NewIcaContract` to ensure it handles the parameters correctly.

# Test: Search for the function implementation. Expect: Proper handling of parameters.
ast-grep --lang go --pattern $'func NewIcaContract($_, $_, $_, $_, $_) $_ {
  $$$
}'

Length of output: 884


608-609: Ensure that the NewRelayerContract function correctly handles the passed parameters (ctx, txConfig, app.IBCKeeper, app.Simulate, appCodec, rules, app.Logger()).

Verification successful

Ensure that the second new function call in the New function is correctly implemented and handles the parameters appropriately.


Refine the search to specifically target the New function within app/app.go to identify the second new function call.


Extract the full implementation of the New function from app/app.go to identify the second new function call.


Use rg to search for the New function and extract a larger context from app/app.go to ensure the full implementation is captured.


Extract additional lines to capture the full implementation of the New function and identify the second new function call.


Extract additional lines to capture the full implementation of the New function and identify the second new function call.


Extract additional lines to capture the full implementation of the New function and identify the second new function call.


The NewRelayerContract function correctly handles the passed parameters (ctx, txConfig, app.IBCKeeper, app.Simulate, appCodec, rules, app.Logger()). Additionally, the second new function call, NewIcaContract, also appears to be correctly implemented and handles its parameters appropriately.

  • NewRelayerContract is defined in ./x/cronos/keeper/precompiles/relayer.go and correctly initializes the RelayerContract with the provided parameters.
  • The New function in app/app.go includes the NewRelayerContract and NewIcaContract calls, both of which are correctly integrated.

No issues were found with the changes.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the implementation of `NewRelayerContract` to ensure it handles the parameters correctly.

# Test: Search for the function implementation. Expect: Proper handling of parameters.
ast-grep --lang go --pattern $'func NewRelayerContract($_, $_, $_, $_, $_, $_, $_) $_ {
  $$$
}'

Length of output: 1276



Script:

#!/bin/bash
# Description: Verify the second new function call in the `New` function.

# Test: Search for the `New` function implementation to identify the second new function call.
ast-grep --lang go --pattern $'func New($_, $_) $_ {
  $$$
}'

Length of output: 4228



Script:

#!/bin/bash
# Description: Refine the search to specifically target the `New` function within `app/app.go`.

# Test: Search for the `New` function implementation within `app/app.go`.
rg 'func New' app/app.go

Length of output: 36



Script:

#!/bin/bash
# Description: Extract the full implementation of the `New` function from `app/app.go`.

# Test: Use `ast-grep` to extract the full implementation of the `New` function from `app/app.go`.
ast-grep --lang go --pattern $'func New($_, $_) $_ {
  $$$
}' app/app.go

Length of output: 73



Script:

#!/bin/bash
# Description: Use `rg` to search for the `New` function and extract a larger context from `app/app.go`.

# Test: Search for the `New` function implementation within `app/app.go` and extract surrounding lines for context.
rg -A 50 'func New' app/app.go

Length of output: 2006



Script:

#!/bin/bash
# Description: Extract additional lines to capture the full implementation of the `New` function in `app/app.go`.

# Test: Search for the `New` function implementation within `app/app.go` and extract more surrounding lines for full context.
rg -A 100 'func New' app/app.go

Length of output: 4033



Script:

#!/bin/bash
# Description: Extract additional lines to capture the full implementation of the `New` function in `app/app.go`.

# Test: Search for the `New` function implementation within `app/app.go` and extract more surrounding lines for full context.
rg -A 200 'func New' app/app.go

Length of output: 6661



Script:

#!/bin/bash
# Description: Extract additional lines to capture the full implementation of the `New` function in `app/app.go`.

# Test: Search for the `New` function implementation within `app/app.go` and extract more surrounding lines for full context.
rg -A 300 'func New' app/app.go

Length of output: 10673

x/cronos/keeper/precompiles/relayer.go Outdated Show resolved Hide resolved
x/cronos/keeper/precompiles/relayer.go Outdated Show resolved Hide resolved
x/cronos/keeper/precompiles/relayer.go Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 4344f05 and dc3a920.

Files selected for processing (1)
  • x/cronos/keeper/precompiles/relayer.go (3 hunks)
Additional context used
GitHub Check: codecov/patch
x/cronos/keeper/precompiles/relayer.go

[warning] 127-130: x/cronos/keeper/precompiles/relayer.go#L127-L130
Added lines #L127 - L130 were not covered by tests


[warning] 132-139: x/cronos/keeper/precompiles/relayer.go#L132-L139
Added lines #L132 - L139 were not covered by tests


[warning] 141-141: x/cronos/keeper/precompiles/relayer.go#L141
Added line #L141 was not covered by tests


[warning] 146-147: x/cronos/keeper/precompiles/relayer.go#L146-L147
Added lines #L146 - L147 were not covered by tests


[warning] 152-152: x/cronos/keeper/precompiles/relayer.go#L152
Added line #L152 was not covered by tests


[warning] 154-159: x/cronos/keeper/precompiles/relayer.go#L154-L159
Added lines #L154 - L159 were not covered by tests


[warning] 163-166: x/cronos/keeper/precompiles/relayer.go#L163-L166
Added lines #L163 - L166 were not covered by tests


[warning] 168-171: x/cronos/keeper/precompiles/relayer.go#L168-L171
Added lines #L168 - L171 were not covered by tests


[warning] 173-175: x/cronos/keeper/precompiles/relayer.go#L173-L175
Added lines #L173 - L175 were not covered by tests


[warning] 177-178: x/cronos/keeper/precompiles/relayer.go#L177-L178
Added lines #L177 - L178 were not covered by tests


[warning] 181-182: x/cronos/keeper/precompiles/relayer.go#L181-L182
Added lines #L181 - L182 were not covered by tests


[warning] 184-186: x/cronos/keeper/precompiles/relayer.go#L184-L186
Added lines #L184 - L186 were not covered by tests


[warning] 188-193: x/cronos/keeper/precompiles/relayer.go#L188-L193
Added lines #L188 - L193 were not covered by tests


[warning] 199-199: x/cronos/keeper/precompiles/relayer.go#L199
Added line #L199 was not covered by tests


[warning] 206-206: x/cronos/keeper/precompiles/relayer.go#L206
Added line #L206 was not covered by tests


[warning] 211-214: x/cronos/keeper/precompiles/relayer.go#L211-L214
Added lines #L211 - L214 were not covered by tests


[warning] 217-220: x/cronos/keeper/precompiles/relayer.go#L217-L220
Added lines #L217 - L220 were not covered by tests


[warning] 222-222: x/cronos/keeper/precompiles/relayer.go#L222
Added line #L222 was not covered by tests


[warning] 224-228: x/cronos/keeper/precompiles/relayer.go#L224-L228
Added lines #L224 - L228 were not covered by tests


[warning] 230-238: x/cronos/keeper/precompiles/relayer.go#L230-L238
Added lines #L230 - L238 were not covered by tests


[warning] 240-276: x/cronos/keeper/precompiles/relayer.go#L240-L276
Added lines #L240 - L276 were not covered by tests


[warning] 278-279: x/cronos/keeper/precompiles/relayer.go#L278-L279
Added lines #L278 - L279 were not covered by tests


[warning] 281-281: x/cronos/keeper/precompiles/relayer.go#L281
Added line #L281 was not covered by tests


[warning] 283-285: x/cronos/keeper/precompiles/relayer.go#L283-L285
Added lines #L283 - L285 were not covered by tests

Additional comments not posted (3)
x/cronos/keeper/precompiles/relayer.go (3)

50-52: Update gas constants to reflect new operational requirements.

Ensure that these new gas values are validated against actual usage to prevent over or underestimation.


64-92: Updated gas requirements for various IBC-related methods.

These changes should be cross-verified with the actual gas usage in a test environment to ensure they align with the expected resource consumption.


206-285: Updated Run function to handle multiple inputs and execute corresponding methods based on the input.

This is a significant change that enhances the flexibility of the contract execution. Ensure that this function is thoroughly tested to handle all possible scenarios.

Tools
GitHub Check: codecov/patch

[warning] 206-206: x/cronos/keeper/precompiles/relayer.go#L206
Added line #L206 was not covered by tests


[warning] 211-214: x/cronos/keeper/precompiles/relayer.go#L211-L214
Added lines #L211 - L214 were not covered by tests


[warning] 217-220: x/cronos/keeper/precompiles/relayer.go#L217-L220
Added lines #L217 - L220 were not covered by tests


[warning] 222-222: x/cronos/keeper/precompiles/relayer.go#L222
Added line #L222 was not covered by tests


[warning] 224-228: x/cronos/keeper/precompiles/relayer.go#L224-L228
Added lines #L224 - L228 were not covered by tests


[warning] 230-238: x/cronos/keeper/precompiles/relayer.go#L230-L238
Added lines #L230 - L238 were not covered by tests


[warning] 240-276: x/cronos/keeper/precompiles/relayer.go#L240-L276
Added lines #L240 - L276 were not covered by tests


[warning] 278-279: x/cronos/keeper/precompiles/relayer.go#L278-L279
Added lines #L278 - L279 were not covered by tests


[warning] 281-281: x/cronos/keeper/precompiles/relayer.go#L281
Added line #L281 was not covered by tests


[warning] 283-285: x/cronos/keeper/precompiles/relayer.go#L283-L285
Added lines #L283 - L285 were not covered by tests

x/cronos/keeper/precompiles/relayer.go Outdated Show resolved Hide resolved
x/cronos/keeper/precompiles/relayer.go Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between dc3a920 and 152e1fd.

Files selected for processing (4)
  • CHANGELOG.md (1 hunks)
  • integration_tests/ibc_utils.py (1 hunks)
  • integration_tests/test_ibc_rly_gas.py (2 hunks)
  • x/cronos/keeper/precompiles/relayer.go (5 hunks)
Files skipped from review due to trivial changes (1)
  • integration_tests/ibc_utils.py
Files skipped from review as they are similar to previous changes (1)
  • integration_tests/test_ibc_rly_gas.py
Additional context used
LanguageTool
CHANGELOG.md

[grammar] ~22-~22: The conjunction “when” requires the past participle “registered”. Or did you mean “you register”? (IF_VB_PCT)
Context: ...ronos/pull/1421) Validate e2ee key when register. * (store) [#1448](https://github.com/c...


[misspelling] ~125-~125: Did you mean “or”? ‘Of’ refers to parts of a whole, while ‘or’ refers to alternatives. (CONFUSION_OF_OR)
Context: ...onos/pull/1216) Update ethermint to fix of avoid redundant parse chainID from gens...


[uncategorized] ~125-~125: This verb may not be in the correct form. Consider using a different form for this context. (AI_EN_LECTOR_REPLACEMENT_VERB_FORM)
Context: ...edundant parse chainID from gensis when start server. - [#1230](https://github.com/cr...


[uncategorized] ~137-~137: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...52) Add plan v1.1.0-testnet to update default max_callback_gas param. ### Improvemen...


[style] ~166-~166: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...n processing and double spend check. - [cronos#742](https://github.com/crypto-org-chai...


[style] ~167-~167: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...e handler for v0.8.0-gravity-alpha2. - [cronos#750](https://github.com/crypto-org-chai...


[style] ~168-~168: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...e handler for v0.8.0-gravity-alpha3. - [cronos#769](https://github.com/crypto-org-chai...


[uncategorized] ~168-~168: This verb may not be in the correct form. Consider using a different form for this context. (AI_EN_LECTOR_REPLACEMENT_VERB_FORM)
Context: ...l/769) Prevent cancellation function to be called outside the scope of the contrac...


[uncategorized] ~168-~168: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ... outside the scope of the contract that manage it. - [cronos#775](https://github.com/c...


[style] ~169-~169: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...cope of the contract that manage it. - [cronos#775](https://github.com/crypto-org-chai...


[style] ~170-~170: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...775) Support turnbridge transaction. - [cronos#781](https://github.com/crypto-org-chai...


[style] ~171-~171: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: .../cronos/pull/781) Add prune command. - [cronos#830](https://github.com/crypto-org-chai...


[style] ~174-~174: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...upgrade handler for v2.0.0-testnet3. - [cronos#795](https://github.com/crypto-org-chai...


[style] ~175-~175: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: .../795) Support permissions in cronos. - [cronos#997](https://github.com/crypto-org-chai...


[style] ~176-~176: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...ontract for cronos originated crc20. - [cronos#1005](https://github.com/crypto-org-cha...


[style] ~177-~177: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...o-ibc event in case of source token. - [cronos#1069](https://github.com/crypto-org-cha...


[style] ~178-~178: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...o v1.10.26 and ibc-go to v6.2.0. - [cronos#1147](https://github.com/crypto-org-cha...


[style] ~182-~182: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...adjusted correctly in ibc-go v7.2.0. - [cronos#1163](https://github.com/crypto-org-cha...


[style] ~183-~183: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...ateful precompiled contract for ica. - [cronos#837](https://github.com/crypto-org-chai...


[style] ~184-~184: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...teful precompiled contract for bank. - [cronos#1184](https://github.com/crypto-org-cha...


[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...ull/1184) Update ibc-go to v7.3.1. - [cronos#1186](https://github.com/crypto-org-cha...


[style] ~186-~186: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... max block gas limit in new version. - [cronos#1187](https://github.com/crypto-org-cha...


[style] ~187-~187: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...1187) Disable gravity module in app. - [cronos#1185](https://github.com/crypto-org-cha...


[style] ~188-~188: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...nos/pull/1185) Support ibc callback. - [cronos#1196](https://github.com/crypto-org-cha...


[grammar] ~207-~207: It seems that “to” is missing before the verb. (MISSING_TO_BETWEEN_BE_AND_VB)
Context: .../cronos/pull/1150) Fix memiavl's unsafe retain of the root hashes. ### Features - [#...


[misspelling] ~211-~211: Did you mean the phrasal verb “clean up” instead of the noun ‘cleanup’? (CLEAN_UP)
Context: .../pull/1042) call Close method on app to cleanup resource on graceful shutdown ([ethermi...


[uncategorized] ~212-~212: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...pto-org-chain/cronos/pull/1083) memiavl support both sdk 46 and 47 root hash rules. - [...


[uncategorized] ~214-~214: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...pto-org-chain/cronos/pull/1100) memiavl support read-only mode, and grab exclusive lock...


[uncategorized] ~224-~224: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...ypto-org-chain/cronos/pull/924) memiavl support Export API. - [#950](https://github.c...


[uncategorized] ~255-~255: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...949) Release static-linked binaries for linux platform. - [#934](https://github.com/c...


[grammar] ~327-~327: After ‘it’, use the third-person verb form “fixes”. (IT_VBZ)
Context: ...790) Update cosmos-sdk to v0.46.7, it fix a migration issue which affects pending...


[style] ~394-~394: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...file state streamer (backport #702). - [cronos#730](https://github.com/crypto-org-chai...


[uncategorized] ~414-~414: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...0, cosmos sdk to v0.45.4 and gravity to latest, remove v0.7.0 related upgradeHandler. ...


[style] ~416-~416: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...elSendToChain support from evm call. - [cronos#600](https://github.com/crypto-org-chai...


[style] ~417-~417: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...plement bidirectional token mapping. - [cronos#611](https://github.com/crypto-org-chai...


[style] ~418-~418: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...owledgement error in ibc middleware. - [cronos#627](https://github.com/crypto-org-chai...


[style] ~433-~433: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...leware, use ibc-go upstream version. - [cronos#550](https://github.com/crypto-org-chai...


[style] ~434-~434: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...basic json-rpc apis on pruned nodes. - [cronos#549](https://github.com/crypto-org-chai...


[style] ~435-~435: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...tom tx indexer feature of ethermint. - [cronos#673](https://github.com/crypto-org-chai...


[style] ~453-~453: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...ed in json-rpc apis (backport #502). - [cronos#526](https://github.com/crypto-org-chai...


[style] ~454-~454: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... Fix tendermint duplicated tx issue. - [cronos#584](https://github.com/crypto-org-chai...


[style] ~455-~455: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...shes returned in some JSON-RPC apis. - [cronos#587](https://github.com/crypto-org-chai...


[style] ~456-~456: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... tx patch cmd recompute eth tx hash. - [cronos#595](https://github.com/crypto-org-chai...


[style] ~462-~462: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...nd to patch txs post v0.7.0 upgrade. - [cronos#522](https://github.com/crypto-org-chai...


[style] ~463-~463: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... the tendermint tx duplicated issue. - [cronos#585](https://github.com/crypto-org-chai...


[style] ~477-~477: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...ase fee related logic in the code. - [ethermint#817](https://github.com/tharsis/ethermi...


[style] ~478-~478: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...ogic related to effectiveGasPrice. - [ethermint#822](https://github.com/tharsis/ethermi...


[style] ~481-~481: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... tx when block gas limit exceeded. - [cosmos-sdk#10725](https://github.com/cosmos/cosmos...


[style] ~489-~489: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...e url query parameter in swagger-ui. - [cronos#328](https://github.com/crypto-org-chai...


[uncategorized] ~489-~489: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...b.com//pull/328) display detail panic information in query resul...


[style] ~490-~490: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...query result when --trace enabled. - [cronos#441](https://github.com/crypto-org-chai...


[uncategorized] ~495-~495: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ... Upgrade gravity bridge to v0.3.9 which contain a bugfix on batchTxExecuted. - [crono...


[style] ~497-~497: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...ll/329) Fix panic of eth_call on blocks prior to upgrade. - [cronos#340](https://github....


[style] ~498-~498: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...eth_call on blocks prior to upgrade. - [cronos#340](https://github.com/crypto-org-chai...


[style] ~499-~499: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...t, b) fix data races traceContext. - [cronos#370](https://github.com/crypto-org-chai...


[style] ~500-~500: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...g, add websockets integration tests. - [cronos#378](https://github.com/crypto-org-chai...


[uncategorized] ~500-~500: This verb may not be in the correct form. Consider using a different form for this context. (AI_EN_LECTOR_REPLACEMENT_VERB_FORM)
Context: ...bug fixes: a) fix tx inclusion issue by report correct gasWanted of eth tx, b) Add buf...


[style] ~501-~501: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... add returnValue message on tracing. - [cronos#446](https://github.com/crypto-org-chai...


[uncategorized] ~557-~557: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...l/187) multiple denoms can be mapped to same contract - [cronos#157](https://github....


[uncategorized] ~566-~566: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ... 2021* ## v0.6.0 This version removes gravity-bridge from cronos, also includes multi...


[uncategorized] ~609-~609: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ...th a patched version of ethermint which include a bug fix on the transaction receipts e...


[uncategorized] ~621-~621: This verb may not be in the correct tense. Consider changing the tense to fit the context better. (AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)
Context: ...org Chain. In addition to that, it also upgrade ethermint to its latest version (v0.5.0...


[uncategorized] ~621-~621: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ... to its latest version (v0.5.0.x) which bring several breaking changes (see [changelo...


[uncategorized] ~659-~659: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ... version is a new scaffolding of cronos project where ethermint is included as a librar...


[uncategorized] ~665-~665: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...arsis/ethermint/issues/342) Don't clear balance when resetting the account. - (ethermin...

Markdownlint
CHANGELOG.md

49-49: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


61-61: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


69-69: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


77-77: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


85-85: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


86-86: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


87-87: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


91-91: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


99-99: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


100-100: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


101-101: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


102-102: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


103-103: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


104-104: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


108-108: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


109-109: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


115-115: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


116-116: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


117-117: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


118-118: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


119-119: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


123-123: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


124-124: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


125-125: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


126-126: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


127-127: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


128-128: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


132-132: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


133-133: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


134-134: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


135-135: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


136-136: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


137-137: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


141-141: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


142-142: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


143-143: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


151-151: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


152-152: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


156-156: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


164-164: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


165-165: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


166-166: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


167-167: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


168-168: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


169-169: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


170-170: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


171-171: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


172-172: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


173-173: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


174-174: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


175-175: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


176-176: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


177-177: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


178-178: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


179-179: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


180-180: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


181-181: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


182-182: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


183-183: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


184-184: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


185-185: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


186-186: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


187-187: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


188-188: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


192-192: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


193-193: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


194-194: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


195-195: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


196-196: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


197-197: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


198-198: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


199-199: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


200-200: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


201-201: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


202-202: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


203-203: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


204-204: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


205-205: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


206-206: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


207-207: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


211-211: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


212-212: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


213-213: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


214-214: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


215-215: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


216-216: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


217-217: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


218-218: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


222-222: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


223-223: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


224-224: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


225-225: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


226-226: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


227-227: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


228-228: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


229-229: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


230-230: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


231-231: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


232-232: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


233-233: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


234-234: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


235-235: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


236-236: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


237-237: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


238-238: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


239-239: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


240-240: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


241-241: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


242-242: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


243-243: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


244-244: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


245-245: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


246-246: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


254-254: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


255-255: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


256-256: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


260-260: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


261-261: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


262-262: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


263-263: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


264-264: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


265-265: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


266-266: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


274-274: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


282-282: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


286-286: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


287-287: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


288-288: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


296-296: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


300-300: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


301-301: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


302-302: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


310-310: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


318-318: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


326-326: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


327-327: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


336-336: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


344-344: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


352-352: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


360-360: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


361-361: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


362-362: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


363-363: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


371-371: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


379-379: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


380-380: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


388-388: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


392-392: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


393-393: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


394-394: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


402-402: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


414-414: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


415-415: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


416-416: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


417-417: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


418-418: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


419-419: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


420-420: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


424-424: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


425-425: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


426-426: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


430-430: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


431-431: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


432-432: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


433-433: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


434-434: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


435-435: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


443-443: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


451-451: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


452-452: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


453-453: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


454-454: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


455-455: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


456-456: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


460-460: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


461-461: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


462-462: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


463-463: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


471-471: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


472-472: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


473-473: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


474-474: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


475-475: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


476-476: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


477-477: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


478-478: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


479-479: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


480-480: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


481-481: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


482-482: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


486-486: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


487-487: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


488-488: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


489-489: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


490-490: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


494-494: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


495-495: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


496-496: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


497-497: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


498-498: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


499-499: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


500-500: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


501-501: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


509-509: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


510-510: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


518-518: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


526-526: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


527-527: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


528-528: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


532-532: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


533-533: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


541-541: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


542-542: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


543-543: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


544-544: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


545-545: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


553-553: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


557-557: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


558-558: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


559-559: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


560-560: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


570-570: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


574-574: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


575-575: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


576-576: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


577-577: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


581-581: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


582-582: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


593-593: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


594-594: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


595-595: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


596-596: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


597-597: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


601-601: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


602-602: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


603-603: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


613-613: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


614-614: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


625-625: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


629-629: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


630-630: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


631-631: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


632-632: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


633-633: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


634-634: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


636-636: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


637-637: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


645-645: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


649-649: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


653-653: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


663-663: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


664-664: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


665-665: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


666-666: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


672-672: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


673-673: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


677-677: Expected: asterisk; Actual: dash (MD004, ul-style)
Unordered list style


35-35: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


43-43: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


55-55: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


63-63: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


71-71: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


79-79: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


93-93: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


111-111: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


145-145: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


158-158: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


248-248: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


268-268: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


276-276: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


290-290: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


304-304: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


312-312: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


320-320: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


330-330: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


338-338: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


346-346: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


354-354: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


365-365: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


373-373: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


382-382: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


396-396: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


404-404: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


408-408: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


437-437: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


445-445: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


465-465: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


503-503: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


512-512: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


520-520: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


535-535: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


547-547: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


562-562: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


584-584: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


605-605: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


616-616: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


639-639: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading


655-655: null (MD036, no-emphasis-as-heading)
Emphasis used instead of a heading

Additional comments not posted (4)
x/cronos/keeper/precompiles/relayer.go (3)

48-49: Update gas constants to align with new requirements.

Ensure that these new constants are validated against expected values from go-ethereum as mentioned in the PR description.


61-61: Update method-specific gas requirements.

Ensure that these new gas values are derived from accurate calculations or benchmarks to maintain system performance and cost-efficiency.

Also applies to: 63-63, 67-67, 69-69, 71-71, 73-73, 75-75, 77-77, 81-81, 83-83, 87-87, 89-89


Line range hint 125-155: Refactor RequiredGas function to handle new gas calculation logic.

This function now handles method-specific gas calculations and special cases like RecvPacket. Ensure comprehensive testing to cover all new scenarios and edge cases, especially the handling of RecvPacket.

CHANGELOG.md (1)

12-12: The changelog entry for PR #1462 is accurately documented.

@mmsqe mmsqe changed the title Problem: packed batch call is not supported in relayer precompile Problem: latest hermes is not used in integration tests Jun 11, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Outside diff range and nitpick comments (3)
integration_tests/ibc_utils.py (3)

99-99: Consider using a more descriptive variable name than hostchain.

Using a more descriptive variable name than hostchain could improve code readability. For example, host_chain_id or host_chain_name might immediately convey the purpose of the variable to future maintainers.


Line range hint 215-218: Refactor to use a ternary operator for setting the port.

- if is_hermes:
-     port = hermes.port
- else:
-     port = 5183
+ port = hermes.port if is_hermes else 5183

This change simplifies the code and improves readability by reducing the number of lines and making the conditional assignment more concise.


Line range hint 376-376: Bind the loop variable i within the lambda function to avoid potential bugs.

- wait_for_fn("assert balance", lambda: assert_trace_balance(addrs1[i]))
+ wait_for_fn("assert balance", lambda i=i: assert_trace_balance(addrs1[i]))

In Python, closures capture variables by reference, not by value. This means that the value of i used in the lambda function may not be what you expect if i changes after the lambda function is defined. Binding i at function definition ensures that the correct value is used.

Also applies to: 402-402

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 152e1fd and 9e93dca.

Files selected for processing (8)
  • integration_tests/configs/ibc.jsonnet (2 hunks)
  • integration_tests/ibc_utils.py (5 hunks)
  • integration_tests/test_ibc.py (2 hunks)
  • integration_tests/test_ibc_rly.py (3 hunks)
  • integration_tests/test_ibc_rly_gas.py (2 hunks)
  • integration_tests/test_ibc_timeout.py (2 hunks)
  • nix/hermes.nix (1 hunks)
  • nix/sources.json (1 hunks)
Files skipped from review due to trivial changes (2)
  • integration_tests/configs/ibc.jsonnet
  • nix/sources.json
Files skipped from review as they are similar to previous changes (1)
  • integration_tests/test_ibc_rly_gas.py
Additional context used
Ruff
integration_tests/ibc_utils.py

215-218: Use ternary operator port = hermes.port if is_hermes else 5183 instead of if-else-block (SIM108)

Replace if-else-block with port = hermes.port if is_hermes else 5183


376-376: Function definition does not bind loop variable i (B023)


402-402: Function definition does not bind loop variable i (B023)


830-830: Loop control variable i not used within loop body (B007)

Rename unused i to _i

Additional comments not posted (7)
nix/hermes.nix (1)

24-26: Verify the correctness of the new hash value for "ibc-proto-0.46.0".

integration_tests/test_ibc_timeout.py (1)

18-18: Ensure the integration of ibc_transfer function aligns with the test logic for IBC timeout.

integration_tests/test_ibc.py (1)

8-21: Verify the integration and usage of new utility functions find_duplicate and parse_events_rpc in the test logic.

integration_tests/test_ibc_rly.py (1)

55-55: Ensure the relayer parameter change from RLY to HERMES correctly aligns with the updated relayer configuration.

integration_tests/ibc_utils.py (3)

302-303: Add flexibility to the ibc_transfer function by allowing a custom transfer function.

The addition of a transfer_fn parameter to the ibc_transfer function enhances its flexibility, allowing different transfer mechanisms to be used. This is a positive change for modularity and reusability.


Line range hint 830-830: Rename unused loop variable to _i to indicate it is intentionally unused.
[REFACTOR_SUGGESTion]

- for i, _ in enumerate(users):
+ for _i, _ in enumerate(users):

Renaming the unused loop variable to _i makes it clear that the variable is intentionally unused, which can help prevent confusion and improve code readability.


857-857: Log gas usage records efficiently.

Storing gas usage records can be useful for debugging and performance analysis. This implementation captures the essential functionality needed for these purposes.

integration_tests/ibc_utils.py Show resolved Hide resolved
@mmsqe mmsqe enabled auto-merge June 11, 2024 09:03
@mmsqe mmsqe added this pull request to the merge queue Jun 11, 2024
Merged via the queue into crypto-org-chain:main with commit 90ac130 Jun 11, 2024
42 checks passed
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