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

Update contract pragmas #979

Closed
wants to merge 9 commits into from
Closed

Update contract pragmas #979

wants to merge 9 commits into from

Conversation

0xDEnYO
Copy link
Contributor

@0xDEnYO 0xDEnYO commented Feb 7, 2025

Which Jira task belongs to this PR?

Why did I implement it this way?

These contracts dont have floating pragmas which prevents compiling with another solidity version.

Checklist before requesting a review

Checklist for reviewer (DO NOT DEPLOY and contracts BEFORE CHECKING THIS!!!)

  • I have checked that any arbitrary calls to external contracts are validated and or restricted
  • I have checked that any privileged calls (i.e. storage modifications) are validated and or restricted
  • I have ensured that any new contracts have had AT A MINIMUM 1 preliminary audit conducted on by <company/auditor>

Copy link
Contributor

coderabbitai bot commented Feb 7, 2025

Walkthrough

This pull request updates the Solidity version pragma in several test files (changing from a fixed version to a caret notation) and introduces comprehensive support for the Berachain network. Multiple configuration files (JSON, TOML) now include new entries for Berachain, detailing network properties, RPC and Etherscan settings, and deployment parameters. In addition, the target state for LiFiDiamond facets has been updated with new version numbers and a new RelayFacet. No changes have been made to functional logic beyond these configuration and versioning updates.

Changes

File(s) Change Summary
archive/test/LiFiDiamondImmutable.t.sol; test/solidity/Facets/GasZipFacet.t.sol; test/solidity/Facets/RelayFacet.t.sol; test/solidity/Helpers/WithdrawablePeriphery.t.sol; test/solidity/Periphery/GasZipPeriphery.t.sol; test/solidity/Periphery/Permit2Proxy.t.sol Changed Solidity version pragma from "0.8.17" to "^0.8.17" for broader compiler compatibility.
config/amarok.json; config/dexs.json; config/global.json; config/networks.json; config/permit2Proxy.json; config/relay.json; config/stargate.json; config/symbiosis.json; config/tokenwrapper.json Added new "berachain" network configuration entries along with minor formatting adjustments and additional network properties.
foundry.toml; networks Added new RPC endpoint and Etherscan configuration for Berachain in foundry.toml and included Berachain in the networks list.
deployments/_deployments_log_file.json; deployments/berachain.diamond.json; deployments/berachain.json Introduced new deployment logs and configuration files for Berachain, detailing facet addresses, versions, and periphery settings.
script/deploy/_targetState.json Updated version numbers for various LiFiDiamond facets, removed LIFuelFacet, and added a new RelayFacet.

Possibly related PRs

Suggested reviewers

  • ezynda3
  • maxklenk

Warning

Review ran into problems

🔥 Problems

Errors were encountered while retrieving linked issues.

Errors (1)
  • JIRA integration encountered authorization issues. Please disconnect and reconnect the integration in the CodeRabbit UI.

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>, please review it.
    • 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 gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @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 using 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 generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration 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.

@lifi-action-bot lifi-action-bot marked this pull request as draft February 7, 2025 06:42
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

🧹 Nitpick comments (1)
config/amarok.json (1)

95-100: Formatting Adjustment in Mode Section

The tokensToApprove array in the "mode" section has been reformatted to a single-line array. This change is purely stylistic and improves readability while maintaining functionality.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2cc7956 and 2c41b6b.

📒 Files selected for processing (21)
  • archive/test/LiFiDiamondImmutable.t.sol (1 hunks)
  • config/amarok.json (2 hunks)
  • config/dexs.json (2 hunks)
  • config/global.json (1 hunks)
  • config/networks.json (1 hunks)
  • config/permit2Proxy.json (1 hunks)
  • config/relay.json (1 hunks)
  • config/stargate.json (4 hunks)
  • config/symbiosis.json (1 hunks)
  • config/tokenwrapper.json (1 hunks)
  • deployments/_deployments_log_file.json (25 hunks)
  • deployments/berachain.diamond.json (1 hunks)
  • deployments/berachain.json (1 hunks)
  • foundry.toml (2 hunks)
  • networks (1 hunks)
  • script/deploy/_targetState.json (57 hunks)
  • test/solidity/Facets/GasZipFacet.t.sol (1 hunks)
  • test/solidity/Facets/RelayFacet.t.sol (1 hunks)
  • test/solidity/Helpers/WithdrawablePeriphery.t.sol (1 hunks)
  • test/solidity/Periphery/GasZipPeriphery.t.sol (1 hunks)
  • test/solidity/Periphery/Permit2Proxy.t.sol (1 hunks)
✅ Files skipped from review due to trivial changes (7)
  • networks
  • test/solidity/Periphery/Permit2Proxy.t.sol
  • test/solidity/Facets/GasZipFacet.t.sol
  • test/solidity/Helpers/WithdrawablePeriphery.t.sol
  • archive/test/LiFiDiamondImmutable.t.sol
  • test/solidity/Facets/RelayFacet.t.sol
  • test/solidity/Periphery/GasZipPeriphery.t.sol
🧰 Additional context used
📓 Learnings (1)
config/dexs.json (1)
Learnt from: ezynda3
PR: lifinance/contracts#861
File: config/dexs.json:748-752
Timestamp: 2024-11-21T08:39:29.530Z
Learning: In the 'worldchain' network, the addresses `0x50D5a8aCFAe13Dceb217E9a071F6c6Bd5bDB4155`, `0x8f023b4193a6b18C227B4a755f8e28B3D30Ef9a1`, and `0x603a538477d44064eA5A5d8C345b4Ff6fca1142a` are used as DEXs and should be included in `config/dexs.json`.
🪛 Biome (1.9.4)
script/deploy/_targetState.json

[error] 263-263: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 300-300: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 538-538: expected , but instead found "ReceiverStargateV2"

Remove "ReceiverStargateV2"

(parse)


[error] 537-537: The key ReceiverStargateV2 was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 706-706: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 815-815: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 1023-1023: The key ReceiverStargateV2 was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 1347-1347: expected , but instead found "GasZipFacet"

Remove "GasZipFacet"

(parse)


[error] 1346-1346: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 1463-1463: expected , but instead found "GasZipFacet"

Remove "GasZipFacet"

(parse)


[error] 1462-1462: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)

🪛 GitHub Actions: JSON Checker
script/deploy/_targetState.json

[error] 537-537: Parse error on line 537: Expecting 'EOF', '}', ':', ',', ']', got 'STRING'

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: enforce-min-test-coverage
  • GitHub Check: run-unit-tests
🔇 Additional comments (47)
config/permit2Proxy.json (1)

8-8: New "berachain" entry in permit2Proxy configuration.
The new entry at line 8 correctly adds the Berachain network with its designated address. Please confirm that this address is accurate and consistent with your network’s deployment requirements.

deployments/berachain.json (1)

1-27: New Berachain deployment mappings added.
A complete deployment file for Berachain has been introduced with detailed facet-to-address mappings. Verify that each address corresponds to the correct deployed facet and that the overall structure matches your diamond architecture design.

config/global.json (1)

4-4: Addition of "berachain" in create3Factory.
The new key for Berachain in the create3Factory object (line 4) extends network support. Ensure this address ("0x8b60A21A0e2852cCC944971486868beBB9f32287") is intentional and aligns with the factory contracts for this network.

config/tokenwrapper.json (1)

5-5: New Berachain entry in tokenwrapper configuration.
The addition at line 5 introduces the Berachain network with the address "0x6969696969696969696969696969696969696969". This address appears to use a patterned value; please double-check that it is correct for production or if it is meant to be a placeholder.

deployments/berachain.diamond.json (1)

1-72: Comprehensive LiFiDiamond deployment configuration for Berachain.
This new file outlines the complete facet configuration under "LiFiDiamond" (including facets and periphery details) with specified versions and addresses. Please ensure that:
• All facet addresses and version numbers are accurate and reflect the actual deployed contracts on Berachain.
• The periphery configuration (e.g., ERC20Proxy, Executor, etc.) is fully updated and consistent with your system’s requirements.
It may be beneficial to cross-check these settings against your deployment logs to ensure full consistency.

config/symbiosis.json (1)

22-25: Berachain Entry Addition in Symbiosis Config

A new "berachain" entry has been added with its own metaRouter and gateway values. The addresses ("0xcE8f24A58D85eD5c5A6824f7be1F8d4711A0eb4C" for metaRouter and "0xAdB2d3b711Bb8d8Ea92ff70292c466140432c278" for gateway) are consistent with similar entries in other networks.

config/relay.json (1)

17-21: Berachain Relay Configuration Addition

The new "berachain" section is introduced with chainId 80094 along with a designated relayReceiver ("0x7f4babd2c7d35221e72ab67ea72cba99573a0089") and a relaySolver consistent with other networks. Please double-check that the relayReceiver is correct and that these values align with the overall deployment strategy.

foundry.toml (2)

32-33: New RPC Endpoint for Berachain Added

The addition of the Berachain RPC endpoint using the environment variable "${ETH_NODE_URI_BERACHAIN}" fits well within the [rpc_endpoints] section. Ensure that the corresponding environment variable is correctly configured in your deployment environment.


83-83: New Etherscan Configuration for Berachain

A dedicated Etherscan configuration for Berachain has been added with its API key, URL, and chain ID (80094). Verify that the provided URL ("https://api.routescan.io/v2/network/mainnet/evm/80094/etherscan") is correct for Berachain explorers and that the API key variable is properly set.

config/amarok.json (1)

38-43: Berachain Section Added to Amarok Config

A new "berachain" section appears with properties: chainId 80094, a zero-address for connextHandler, an empty domain, and an empty tokensToApprove array. The structure is consistent with similar network entries. Confirm that the zero-address for connextHandler is intentional (perhaps as a placeholder) and that all values meet the integration requirements.

config/stargate.json (4)

10-10: EndpointV2 Update for Berachain

An entry for Berachain has been introduced in the endpointV2 section with the address "0x6F475642a6e85809B1c36Fa62763669b1b48DD5B". Verify that this address is accurate for the Berachain endpoint as per deployment documentation.


52-52: Token Messaging Update for Berachain

The tokenMessaging section now includes a Berachain entry with the address "0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6". Make sure that this address corresponds to the intended token messaging contract for Berachain.


216-216: Composer Entry for Berachain

The composers section features a Berachain entry with a placeholder address ("0x0000000000000000000000000000000000000000"). Please confirm if this is meant to be a temporary placeholder or if an actual deployed address should be provided in subsequent updates.


264-264: Router Entry for Berachain

A new router entry for Berachain has been added with a placeholder address ("0x0000000000000000000000000000000000000000"). Verify that this value is correct for the current deployment phase or if it requires an update when the router is finalized.

config/networks.json (1)

128-145: New 'berachain' network configuration.
A new entry for the "berachain" network has been added with values such as chainId 80094, nativeCurrency "BERA", and specific RPC/explorer URLs. Please verify that the RPC URL ("https://bold-skilled-sheet.furtim-network.quiknode.pro/cece5b4f5d66ab9b4db94dbaa82daac45bc9013e/") and explorer endpoints ("https://80094.routescan.io" and its API) are correct and reliable for production use. Also note that the multicallAddress is an empty string; if the network supports multicall, consider populating this field. Moreover, review the safeWebUrl ("https://www.basdf1234.xyz/transactions/queue?safe=berachain:0xdf61270fDC1A892874Fd3C0143A0A4CBA74F4EF1") to ensure it meets your production standards.

config/dexs.json (1)

199-203: Addition of 'berachain' DEX addresses.
A new entry for "berachain" has been added with three addresses:
• "0x070EC43b4222E0f17EEcD2C839cb9D1D5adeF73c"
• "0xbf7d441A5015d92357bB41DB2552E11619D62326"
• "0x6295b30297C254108E0bF16C70D513d2043E3d45"
These are in line with the style of entries for other networks. Please double-check that these addresses match those of the deployed DEX contracts for Berachain.

script/deploy/_targetState.json (6)

14-25: Mainnet Version Updates:
The version numbers for several facets (e.g., CalldataVerificationFacet, ERC20Proxy, Executor, FeeCollector, Receiver, LiFuelFeeCollector, TokenWrapper, LiFiDEXAggregator, and Permit2Proxy) have been updated as intended in the mainnet production configuration. Please ensure that these changes are synchronized with all related deployment scripts and that any contract references are updated accordingly.


51-51: New Facet Addition – RelayFacet in Mainnet:
The addition of "RelayFacet" with version "1.0.0" appears correct. Please verify that its integration is fully tested and that any dependent configurations reflect its presence properly.


73-84: Polygon Version Updates:
The facets in the polygon production configuration (including CalldataVerificationFacet, ERC20Proxy, Executor, FeeCollector, Receiver, LiFuelFeeCollector, TokenWrapper, LiFiDEXAggregator, and Permit2Proxy) have been updated to their new versions. These changes are consistent with the intended update; just ensure that these revisions propagate to all downstream deployment files.


105-105: New Facet Addition – RelayFacet in Polygon:
The inclusion of "RelayFacet" with version "1.0.0" in the polygon section appears correct. Confirm that its deployment is coordinated with the other facet updates and that any related tests are updated.


1-1619: Overall Duplicate Keys and JSON Syntax Issues:
Across multiple environments in this JSON file, several keys (such as "GasZipFacet" and "ReceiverStargateV2") are declared more than once. Duplicate keys in JSON are problematic because only the last defined value is used, and they can trigger parsing errors—as evidenced by the static analysis and pipeline messages. Please review each environment block throughout the file and remove or consolidate duplicate definitions to ensure a valid and unambiguous JSON structure.

🧰 Tools
🪛 Biome (1.9.4)

[error] 538-538: expected , but instead found "ReceiverStargateV2"

Remove "ReceiverStargateV2"

(parse)


[error] 1347-1347: expected , but instead found "GasZipFacet"

Remove "GasZipFacet"

(parse)


[error] 1463-1463: expected , but instead found "GasZipFacet"

Remove "GasZipFacet"

(parse)


[error] 41-41: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 99-99: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 223-223: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 263-263: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 300-300: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 339-339: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 390-390: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 443-443: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 537-537: The key ReceiverStargateV2 was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 706-706: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 815-815: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 1023-1023: The key ReceiverStargateV2 was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 1346-1346: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 1462-1462: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)

🪛 GitHub Actions: JSON Checker

[error] 537-537: Parse error on line 537: Expecting 'EOF', '}', ':', ',', ']', got 'STRING'


537-538: ⚠️ Potential issue

Pipeline JSON Parse Error:
The JSON checker reported a parse error (expected ',', '}', ':', or ']' but found a string) likely due to duplicate key occurrences or missing commas—such as with "ReceiverStargateV2". Revisit the affected sections and fix the syntax so the file adheres strictly to JSON format.

🧰 Tools
🪛 Biome (1.9.4)

[error] 538-538: expected , but instead found "ReceiverStargateV2"

Remove "ReceiverStargateV2"

(parse)


[error] 537-537: The key ReceiverStargateV2 was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)

🪛 GitHub Actions: JSON Checker

[error] 537-537: Parse error on line 537: Expecting 'EOF', '}', ':', ',', ']', got 'STRING'

deployments/_deployments_log_file.json (25)

763-777: Berachain entry for DiamondLoupeFacet added.
A new "berachain" key is inserted with a production configuration block for version "1.0.0". All expected fields (ADDRESS, OPTIMIZER_RUNS, TIMESTAMP, CONSTRUCTOR_ARGS, SALT, VERIFIED) are present and formatted consistently.


1527-1542: Berachain entry for OwnershipFacet added.
The deployment record for "berachain" under the OwnershipFacet is clearly added with version "1.0.0". The details (address "0x95a05b09d2c84d8a37c03536A0BAd75876F8F8e9", optimizer runs, timestamp, etc.) match the expected format.


2290-2305: Berachain entry for DexManagerFacet added.
This block adds a production deployment for version "1.0.0" with the given address "0x696d81Ff9FCa84aCA9Aba638CbB6Bf6904121000". The configuration values look consistent with the other entries.


3352-3371: Berachain entry for AccessManagerFacet added.
A new configuration appears with version "1.0.1" and expected properties under "production". Please verify that the version increment (from 1.0.0 to 1.0.1) accurately reflects the intended deployment update.


4116-4135: Berachain entry for WithdrawFacet added.
The production deployment entry for "berachain" is introduced with version "1.0.0". All keys and values (ADDRESS, OPTIMIZER_RUNS, TIMESTAMP, etc.) are consistent with the overall log format.


4866-4885: Berachain entry for PeripheryRegistryFacet added.
This new section provides production deployment details for version "1.0.0". The fields are complete and follow the same schema as other network entries.


5629-5647: Berachain entry for LiFiDiamond added.
The configuration adds a production deployment for version "1.0.0" under the LiFiDiamond facet. The parameters, including the address and timestamp, are present and correctly formatted.


6367-6386: Berachain entry for LiFiDiamondImmutable added.
A new "berachain" production record is added with version "1.0.0" for the immutable variant. The JSON structure is consistent with previous entries.


8176-8195: Berachain entry for HopFacetOptimized added.
This block adds a deployment record for version "1.0.0" under HopFacetOptimized. The uniformity in fields and their values is maintained, ensuring consistency across facets.


9716-9734: Berachain entry for MultichainFacet added.
The new section under MultichainFacet introduces a production deployment for version "1.0.1". Verify that the versioning is intended and consistent with this facet’s release scheme.


11666-11685: Berachain entry for Executor added.
A production deployment block for Executor is added with version "1.1.0". The inclusion of a non-empty CONSTRUCTOR_ARGS (hex-encoded) suggests additional configuration details—confirm that these are verified.


12604-12623: Berachain entry for FeeCollector added.
This section introduces a production deployment for version "2.1.0". Note that the "VERIFIED" flag is set to "false" in this record; please ensure that the unverified status is intentional and understood.


13343-13362: Berachain entry for Receiver added.
The deployment record for Receiver now includes a production configuration for "berachain" with version "1.0.1". All the mandatory fields appear correctly formatted.


14637-14656: Berachain entry for ServiceFeeCollector added.
Here, a new deployment record for version "2.1.0" is added under ServiceFeeCollector. The JSON structure and field values (especially long CONSTRUCTOR_ARGS) appear proper.


20297-20316: Berachain entry for CalldataVerificationFacet added.
This block adds a production deployment for version "1.1.0". The fields are in line with the expected JSON schema; please double-check that the configuration details match the intended deployment contract.


21099-21118: Berachain entry for LiFuelFeeCollector added.
A production deployment is added for version "1.2.0". The details are consistent with other facets; ensure that the version update is in line with contract changes.


22901-22920: Berachain entry for MayanBridgeFacet added.
The new record introduces a production deployment for version "1.0.0". All fields are present and appropriately formatted for logging purposes.


23528-23547: Berachain entry for GasRebateDistributor added.
This addition specifies a production deployment for version "1.1.0". It is consistent with the established schema; the address and deployment parameters appear accurate.


24280-24299: Berachain entry for StargateFacetV2 added.
A production deployment entry for version "1.0.1" is now included with complete fields. The configuration is uniform; please ensure consolidation of this network’s record with external documentation if needed.


24726-24745: Berachain entry for ReceiverStargateV2 added.
This new section provides production deployment details for version "1.0.1". All expected attributes are present and adhere to the overall format.


25020-25039: Berachain entry for LiFiDEXAggregator added.
The entry for version "1.1.0" includes a lengthy CONSTRUCTOR_ARGS parameter. Ensure that this hex string has been thoroughly validated to match the constructor’s expected input.


25612-25631: Berachain entry for EmergencyPauseFacet added.
A production deployment record for version "1.6.0" is introduced. The parameters look complete; it is advisable to verify that the complex CONSTRUCTOR_ARGS value is correct as per the deployment requirements.


26208-26227: Berachain entry for AcrossFacetV3 added.
This block adds a production deployment for version "1.0.1", with all key fields formatted correctly. The consistency with other facets is maintained.


27391-27410: Berachain entry for GasZipFacet added.
A new deployment record for version "1.0.2" is added under GasZipFacet. Notice that the "VERIFIED" flag is set to "false"; please double-check whether this status is expected or requires further verification.


28475-28494: Berachain entry for GetGasFacet added.
The final addition provides a production deployment for version "1.0.0". The entry is complete with all necessary parameters, and the structure aligns well with the rest of the file.

@@ -97,10 +97,12 @@
"RelayerCelerIM": "2.0.0",
"CelerIMFacetMutable": "2.0.0",
"GasZipFacet": "2.0.2",
"GasZipFacet": "2.0.2",
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

⚠️ Potential issue

Duplicate Key Detected – GasZipFacet in Polygon:
A duplicate "GasZipFacet" key exists in the polygon configuration. Duplicate keys may cause parsing issues and lead to unintended behavior. Please remove one of the duplicate entries so that each key is uniquely defined.

Comment on lines 41 to +42
"GasZipFacet": "2.0.2",
"GasZipFacet": "2.0.2",
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

⚠️ Potential issue

Duplicate Key Detected – GasZipFacet in Mainnet:
In the mainnet configuration, "GasZipFacet" is declared twice with the same value ("2.0.2"). Duplicate keys in JSON cause only the last occurrence to be effective and can lead to JSON parsing errors. Please remove one of these entries to resolve the issue.

Suggested Diff:

-        "GasZipFacet": "2.0.2",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"GasZipFacet": "2.0.2",
"GasZipFacet": "2.0.2",
"GasZipFacet": "2.0.2",
🧰 Tools
🪛 Biome (1.9.4)

[error] 41-41: The key GasZipFacet was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)

@lifi-action-bot
Copy link
Collaborator

Test Coverage Report

Line Coverage: 78.66% (2238 / 2845 lines)
Function Coverage: 84.71% ( 388 / 458 functions)
Branch Coverage: 39.60% ( 221 / 558 branches)
Test coverage (78.66%) is above min threshold (76%). Check passed.

@0xDEnYO 0xDEnYO closed this Feb 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants