Skip to content

Conversation

@mirooon
Copy link
Contributor

@mirooon mirooon commented May 7, 2025

Which Jira task belongs to this PR?

Why did I implement it this way?

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>

@coderabbitai
Copy link
Contributor

coderabbitai bot commented May 7, 2025

## Walkthrough

The configuration file `config/glacis.json` was updated to include new network entries for several blockchain networks. Deployment JSON files for these networks were also updated to add a new `"GlacisFacet"` contract address entry. A deployment log file was extended with new deployment metadata for these networks. A script was modified to remove an unnecessary argument in a private key retrieval function call. No existing entries were removed or altered.

## Changes

| File(s)                                                                                      | Change Summary                                                                                                                        |
|----------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| config/glacis.json                                                                           | Added new network entries (`berachain`, `blast`, `celo`, `gnosis`, `ink`, `lisk`, `polygonzkevm`, `sonic`, `swellchain`, `unichain`) with the same `"airlift"` address. No existing entries were changed or removed. |
| deployments/berachain.json, deployments/blast.json, deployments/celo.json, deployments/gnosis.json, deployments/lisk.json, deployments/polygonzkevm.json, deployments/sonic.json | Added `"GlacisFacet"` entry with address `"0xf34B594fDBC0dD8477756Cb7C6e77CF9A71691d6"` to each deployment JSON file. Added trailing commas to previous last entries to maintain JSON validity. |
| deployments/ink.json, deployments/unichain.json                                              | Added `"GlacisFacet"` entry with addresses `"0x5789928b75C05aC6E8B8765D6f87dAC396A656a2"` to deployment files. Added trailing commas as needed. |
| deployments/swellchain.json                                                                  | Added `"GlacisFacet"` entry with address `"0xe81aB8385FA41d7789c89c802eaB76EB7Dc06066"`. Added trailing comma to previous last entry. |
| deployments/_deployments_log_file.json                                                       | Added new deployment log entries for multiple networks (`berachain`, `blast`, `celo`, `gnosis`, `ink`, `lisk`, `polygonzkevm`, `sonic`, `swellchain`, `unichain`) under production environment with contract addresses, optimizer runs, timestamps, constructor args, and verification status. |
| deployments/berachain.diamond.json, deployments/blast.diamond.json, deployments/celo.diamond.json, deployments/gnosis.diamond.json, deployments/ink.diamond.json, deployments/lisk.diamond.json, deployments/polygonzkevm.diamond.json, deployments/sonic.diamond.json, deployments/swellchain.diamond.json, deployments/unichain.diamond.json | Added new `"GlacisFacet"` facet entries with version `"1.0.0"` and corresponding addresses to the `"Facets"` section. Modified periphery entries by removing `"LiFuelFeeCollector"` and `"Receiver"`, adding `"ReceiverChainflip"` and other empty string placeholders as applicable. Some diamond files also updated facet versions or replaced facet addresses. |
| script/deploy/safe/confirm-safe-tx.ts                                                       | Removed an unnecessary `undefined` argument from the `getPrivateKey` function call, adjusting the invocation to match the expected signature without altering logic. |

## Possibly related PRs

- lifinance/contracts#918: Adds deployment and configuration support for the "sonic" network, including facets and deployment logs, overlapping with this PR's additions for sonic.
- lifinance/contracts#1060: Adds and modifies "MayanFacet" deployment entries for Unichain; related through Unichain deployment updates with different facets.
- lifinance/contracts#1087: Introduces the "swellchain" network with environment variables, configuration, deployment JSONs, and facets, overlapping with this PR's swellchain additions.

## Suggested reviewers

- mirooon

Tip

⚡️ Faster reviews with caching
  • CodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure Review - Disable Cache at either the organization or repository level. If you prefer to disable all data retention across your organization, simply turn off the Data Retention setting under your Organization Settings.

Enjoy the performance boost—your workflow just got faster.

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.

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

❤️ Share
🪧 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.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this 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.

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 May 7, 2025 12:05
@mirooon mirooon marked this pull request as ready for review May 7, 2025 12:06
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

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

2-62: Consider reducing duplication of the airlift address
Every network entry repeats the same address string. To improve maintainability and avoid drift, you might generate this JSON via a small script or template that DRYs the address across all chains, or leverage a JSON Schema with $ref for shared values.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between e3b354d and a606050.

📒 Files selected for processing (1)
  • config/glacis.json (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (8)
  • GitHub Check: version-control
  • GitHub Check: enforce-min-test-coverage
  • GitHub Check: run-unit-tests
  • GitHub Check: validate-json
  • GitHub Check: protect_audit_labels
  • GitHub Check: check-new-network-health
  • GitHub Check: run-unit-tests
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (10)
config/glacis.json (10)

14-16: Add 'berachain' network configuration
The new entry is correctly formatted, adheres to the existing indentation and alphabetical ordering, and uses the same validated airlift address. JSON syntax is valid.


17-19: Add 'blast' network configuration
This block follows the established pattern and placement (alphabetically between berachain and bsc). Indentation and JSON structure are correct.


23-25: Add 'celo' network configuration
Inserted in the correct alphabetical position, with matching address and proper JSON formatting.


26-28: Add 'gnosis' network configuration
Consistent with neighboring entries. The key placement, indentation, and comma usage are all correct.


29-31: Add 'ink' network configuration
Properly inserted, valid JSON, and maintains the alphabetical ordering among existing chains.


35-37: Add 'lisk' network configuration
This addition is well-placed between linea and mode, follows the same structure, and is syntactically correct.


47-49: Add 'polygonzkevm' network configuration
Correctly positioned after polygon, with consistent formatting and the expected airlift address.


52-55: Insert comma for scroll block and add 'sonic' entry

  • The comma at the end of the scroll block is necessary to maintain valid JSON.
  • The new sonic network entry matches the style and ordering of other entries.

56-58: Add 'swell' network configuration
Properly placed in alphabetical order, with correct indentation and JSON syntax.


59-61: Add 'unichain' network configuration
Final entry in the list, correctly formatted without a trailing comma, and uses the standard airlift address.

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

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 3a81602 and 0642e72.

📒 Files selected for processing (10)
  • deployments/berachain.diamond.json (2 hunks)
  • deployments/blast.diamond.json (2 hunks)
  • deployments/celo.diamond.json (1 hunks)
  • deployments/gnosis.diamond.json (1 hunks)
  • deployments/ink.diamond.json (1 hunks)
  • deployments/lisk.diamond.json (1 hunks)
  • deployments/polygonzkevm.diamond.json (2 hunks)
  • deployments/sonic.diamond.json (1 hunks)
  • deployments/swellchain.diamond.json (1 hunks)
  • deployments/unichain.diamond.json (1 hunks)
✅ Files skipped from review due to trivial changes (8)
  • deployments/gnosis.diamond.json
  • deployments/swellchain.diamond.json
  • deployments/ink.diamond.json
  • deployments/sonic.diamond.json
  • deployments/lisk.diamond.json
  • deployments/unichain.diamond.json
  • deployments/berachain.diamond.json
  • deployments/polygonzkevm.diamond.json
🧰 Additional context used
🪛 Gitleaks (8.21.2)
deployments/blast.diamond.json

88-88: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: run-unit-tests
🔇 Additional comments (5)
deployments/blast.diamond.json (3)

80-83: Ensure "AcrossFacetV3" version bump aligns with deployment.
The version for "AcrossFacetV3" was updated to "1.1.0" at address 0x5052fc5c7486162deDf7458E1f7c6ABaFbcd6895. Please confirm that this reflects the actual deployed contract and update any related changelogs or documentation.


88-91: Approve addition of new "GlacisFacet".
The "GlacisFacet" (v1.0.0) has been introduced at 0xf34B594fDBC0dD8477756Cb7C6e77CF9A71691d6. This matches the plan for extending support to new networks. Ensure the address is EIP-55 checksummed and corresponds to the audited contract.

🧰 Tools
🪛 Gitleaks (8.21.2)

88-88: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)


101-101: ⚠️ Potential issue

Critical: Populate or remove empty "ReceiverChainflip" value.
An empty string for "ReceiverChainflip" will cause configuration errors at runtime. Either provide the correct periphery contract address or remove this entry if it’s not required on Blast.

⛔ Skipped due to learnings
Learnt from: 0xDEnYO
PR: lifinance/contracts#1112
File: deployments/soneium.diamond.json:81-81
Timestamp: 2025-04-22T09:04:44.244Z
Learning: In the lifinance/contracts repository, it's normal and expected for periphery contracts to have empty address values in deployment files when they are not deployed on a particular network. This applies to all periphery contracts including ReceiverChainflip, ReceiverStargateV2, and others. PRs should not flag empty periphery contract addresses as issues.
deployments/celo.diamond.json (2)

67-71: Approve addition of "GlacisFacet" on Celo.
Added "GlacisFacet" (v1.0.0) at 0xf34B594fDBC0dD8477756Cb7C6e77CF9A71691d6. Please verify this address against the audited Celo deployment.


81-81: ⚠️ Potential issue

Critical: Populate or remove empty "ReceiverChainflip".
Leaving "ReceiverChainflip": "" without a valid address will lead to initialization failures. Please fill in the proper periphery address or remove this field if unused on Celo.

⛔ Skipped due to learnings
Learnt from: 0xDEnYO
PR: lifinance/contracts#1112
File: deployments/soneium.diamond.json:81-81
Timestamp: 2025-04-22T09:04:44.244Z
Learning: In the lifinance/contracts repository, it's normal and expected for periphery contracts to have empty address values in deployment files when they are not deployed on a particular network. This applies to all periphery contracts including ReceiverChainflip, ReceiverStargateV2, and others. PRs should not flag empty periphery contract addresses as issues.

@ezynda3 ezynda3 enabled auto-merge (squash) May 8, 2025 11:11
@ezynda3 ezynda3 merged commit 625aa41 into main May 8, 2025
35 of 39 checks passed
@ezynda3 ezynda3 deleted the update-glacis-config branch May 8, 2025 11:11
@mirooon mirooon changed the title Update glacis.json to add airlift configurations for new networks Deployed GlacisFacet on new chains, updated glacis.json to add airlift configurations for new networks May 12, 2025
@coderabbitai coderabbitai bot mentioned this pull request May 30, 2025
8 tasks
@coderabbitai coderabbitai bot mentioned this pull request Sep 15, 2025
8 tasks
@coderabbitai coderabbitai bot mentioned this pull request Oct 28, 2025
8 tasks
@coderabbitai coderabbitai bot mentioned this pull request Nov 14, 2025
8 tasks
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.

4 participants