-
Notifications
You must be signed in to change notification settings - Fork 30
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
v3 SIN testnet deployment #2395
Conversation
WalkthroughThe recent updates encompass a series of changes across various smart contracts and their deployment configurations on the Ethereum Sepolia testnet. These modifications primarily involve updates to contract addresses, receipt details, and enhancements in functionality. Notably, there are refinements in role management, fee calculation, and execution control mechanisms, reflecting an evolution in the smart contract ecosystem. Changes
Warning Following problems were encountered
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2395 +/- ##
=============================================
Coverage 46.93892% 46.93892%
=============================================
Files 383 383
Lines 29189 29189
Branches 83 83
=============================================
Hits 13701 13701
Misses 14032 14032
Partials 1456 1456
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Deploying sanguine-fe with Cloudflare Pages
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Review Status
Configuration used: .coderabbit.yaml
Files selected for processing (21)
- packages/contracts-communication/deployments/eth_sepolia/ExecutionFees.json (1 hunks)
- packages/contracts-communication/deployments/eth_sepolia/InterchainClientV1.json (2 hunks)
- packages/contracts-communication/deployments/eth_sepolia/InterchainDB.json (4 hunks)
- packages/contracts-communication/deployments/eth_sepolia/PingPongApp.json (16 hunks)
- packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Implementation.json (1 hunks)
- packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Proxy.json (1 hunks)
- packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.ProxyAdmin.json (1 hunks)
- packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.json (1 hunks)
- packages/contracts-communication/deployments/eth_sepolia/SynapseGasOracleV1.json (1 hunks)
- packages/contracts-communication/deployments/eth_sepolia/SynapseModule.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/ExecutionFees.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/InterchainClientV1.json (2 hunks)
- packages/contracts-communication/deployments/op_sepolia/InterchainDB.json (4 hunks)
- packages/contracts-communication/deployments/op_sepolia/PingPongApp.json (16 hunks)
- packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.Implementation.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.Proxy.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.ProxyAdmin.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/SynapseGasOracleV1.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/SynapseModule.json (1 hunks)
- packages/contracts-communication/script/config/ConfigureAppV1.s.sol (1 hunks)
Files skipped from review due to trivial changes (1)
- packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.Proxy.json
Additional Context Used
Additional comments not posted (67)
packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Proxy.json (4)
2-2
: The contract address has been updated. Ensure that this new address is correct and has been deployed successfully on theeth_sepolia
network.
3-3
: The constructor arguments have been updated. Verify that these arguments are correct and match the expected values for the deployment.
4-6
: The transaction receipt details have been updated. Confirm that the hash and block number are accurate and correspond to a successful transaction on theeth_sepolia
network.
8-114
: The ABI definition has been provided. Ensure that it accurately reflects the contract's interface, especially in light of any recent changes to the contract's functions or events.packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.ProxyAdmin.json (4)
2-2
: The contract address for the ProxyAdmin has been updated. Confirm that this address is correct and corresponds to a successful deployment on theeth_sepolia
network.
3-3
: The constructor arguments have been updated. Verify that these arguments are correct and align with the expected deployment parameters.
4-6
: The transaction receipt details have been updated. Ensure that the hash and block number accurately reflect a successful transaction on theeth_sepolia
network.
8-130
: The ABI definition for the ProxyAdmin contract is provided. Verify that it accurately reflects the contract's interface, especially considering any recent changes to the contract's functions or events.packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.ProxyAdmin.json (4)
2-2
: The contract address for the ProxyAdmin on theop_sepolia
network has been updated. Confirm that this address is correct and corresponds to a successful deployment.
3-3
: The constructor arguments have been updated. Verify that these arguments are correct and align with the expected deployment parameters for theop_sepolia
network.
4-6
: The transaction receipt details have been updated. Ensure that the hash and block number accurately reflect a successful transaction on theop_sepolia
network.
8-130
: The ABI definition for the ProxyAdmin contract is provided. Verify that it accurately reflects the contract's interface, especially considering any recent changes to the contract's functions or events.packages/contracts-communication/script/config/ConfigureAppV1.s.sol (1)
117-117
: ThesetExecutionService
function now retrieves the deployment address for "SynapseExecutionServiceV1" instead of "ExecutionService". Confirm that this change aligns with the updated contract structure and deployment strategy.packages/contracts-communication/deployments/eth_sepolia/SynapseGasOracleV1.json (2)
2-2
: The contract address forSynapseGasOracleV1
has been updated. Ensure that this new address is correct and has been deployed successfully on theeth_sepolia
network.
5-6
: The transaction receipt details have been updated. Confirm that the hash and block number are accurate and correspond to a successful transaction on theeth_sepolia
network.packages/contracts-communication/deployments/op_sepolia/SynapseGasOracleV1.json (2)
2-2
: The contract address forSynapseGasOracleV1
on theop_sepolia
network has been updated. Confirm that this address is correct and corresponds to a successful deployment.
5-6
: The transaction receipt details have been updated. Ensure that the hash and block number accurately reflect a successful transaction on theop_sepolia
network.packages/contracts-communication/deployments/eth_sepolia/ExecutionFees.json (2)
2-2
: The contract address forExecutionFees
has been updated. Ensure that this new address is correct and has been deployed successfully on theeth_sepolia
network.
5-6
: The transaction receipt details have been updated. Confirm that the hash and block number are accurate and correspond to a successful transaction on theeth_sepolia
network.packages/contracts-communication/deployments/op_sepolia/ExecutionFees.json (2)
2-6
: Please verify the correctness of the updated contract address and receipt details (hash and block number) to ensure they accurately reflect the intended deployment transaction on the blockchain.
1-9
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [7-187]
Ensure the ABI definition accurately reflects the contract's code. It's recommended to generate the ABI using the correct compilation process to avoid discrepancies between the contract code and its interface.
packages/contracts-communication/deployments/eth_sepolia/InterchainDB.json (3)
2-6
: The updated contract address and transaction receipt details (hash and blockNumber) are noted. Ensure these values are accurate and correspond to the successful deployment of theInterchainDB
contract on theeth_sepolia
network. It's crucial to verify these details to avoid any discrepancies in the deployment process.
195-210
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [183-224]
Function renaming from
getEntry
togetEntryProof
and adjusting its return type tobytes32[]
for the proof is observed. Ensure that all external calls to the oldgetEntry
function are updated to reflect this change. This renaming could impact integrations or scripts that rely on the old function name or expect a different return type.
219-227
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [207-224]
The renaming of the function from
getEntryProof
togetEntryValue
and its return type change tobytes32
is noted. Similar to the previous comment, verify that all references and calls to the oldgetEntryProof
function are updated accordingly. This change affects how data is retrieved from the contract, potentially impacting data handling in consuming applications.packages/contracts-communication/deployments/op_sepolia/InterchainDB.json (3)
2-6
: The updated contract address and transaction receipt details for theop_sepolia
network are acknowledged. Double-check these values for accuracy to ensure they reflect the correct deployment details of theInterchainDB
contract.
195-210
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [183-224]
Function renaming from
getEntry
togetEntryProof
with an adjusted return type is noted. As with theeth_sepolia
version, confirm that all interactions with the oldgetEntry
function are updated to use the new name and handle the updated return type correctly.
219-227
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [207-224]
The change from
getEntryProof
togetEntryValue
and the modification of its return type are recognized. Ensure compatibility with these changes in all parts of the system that interact with this function, similar to the previous file's review.packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Implementation.json (2)
2-6
: The contract address and transaction receipt details for theSynapseExecutionServiceV1
implementation on theeth_sepolia
network are provided. Verify these details to ensure they accurately represent the deployment status of this contract.
8-546
: The ABI definition forSynapseExecutionServiceV1
is extensive, covering constructors, functions, events, and errors. Key points to verify include:
- Correctness of function signatures and their visibility.
- Proper role management through
grantRole
,revokeRole
, and related functions.- Error handling through custom errors like
AccessControlUnauthorizedAccount
andSynapseExecutionService__FeeAmountTooLow
.- Initialization and upgradeability patterns, especially the
initialize
function.Ensure that the ABI aligns with the intended functionality and security practices for smart contract development.
packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.json (3)
2-2
: Ensure the contract address0x33cc7c8cF7aef0322670baEb9812012A0B83B9C8
is correct and has been deployed to theeth_sepolia
network as intended. It's crucial to verify this to avoid any discrepancies or issues with contract interactions.
5-6
: Verify the transaction receipt details, especially thehash
andblockNumber
, to ensure they correspond to the actual deployment transaction on theeth_sepolia
network. This is important for traceability and auditing purposes.
8-547
: Review the ABI to ensure it accurately reflects the contract's interface, especially after any updates or modifications to the contract's functions, events, or errors. This is crucial for client applications that interact with the contract to function correctly.packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.Implementation.json (3)
2-2
: Ensure the contract address0x5869d8406da435D92a5213d32EfB805eF0A616b4
is correct and has been deployed to theop_sepolia
network as intended. Accurate contract addresses are essential for the correct operation of the deployed contracts.
5-6
: Verify the transaction receipt details, particularly thehash
andblockNumber
, to confirm they match the actual deployment transaction on theop_sepolia
network. Correct transaction details are important for auditing and historical reference.
8-547
: Review the ABI to confirm it accurately represents the contract's interface post any updates or changes. The ABI is critical for ensuring that client applications can correctly interact with the contract.packages/contracts-communication/deployments/op_sepolia/SynapseExecutionServiceV1.json (3)
2-2
: Confirm the contract address0x3782c0AF5F7A5f96fb9451c07377b1451aAcc135
is accurate and has been correctly deployed to theop_sepolia
network. Correct contract addresses are crucial for the functionality of deployed contracts.
5-6
: Check the transaction receipt details, especially thehash
andblockNumber
, to ensure they align with the actual deployment transaction on theop_sepolia
network. This verification is important for traceability and auditing.
8-547
: Examine the ABI to ensure it correctly reflects the contract's interface after any updates or changes. An accurate ABI is essential for client applications to interact properly with the contract.packages/contracts-communication/deployments/eth_sepolia/SynapseModule.json (1)
5-6
: Thereceipt
object has been updated with a newhash
andblockNumber
. This is expected after deploying a new contract version. It's good practice to verify that these details are accurate and correspond to a successful transaction on the blockchain.packages/contracts-communication/deployments/op_sepolia/SynapseModule.json (2)
2-3
: Theaddress
andconstructorArgs
fields have been updated for the op_sepolia deployment. It's crucial to ensure that these new values are correctly integrated into all relevant parts of the project, including interaction scripts, other smart contracts, and potentially frontend applications.
5-6
: Thereceipt
object'shash
andblockNumber
have been updated, indicating a new deployment transaction. Confirm that these details accurately reflect the transaction on the blockchain and that the deployment was successful.packages/contracts-communication/deployments/eth_sepolia/InterchainClientV1.json (4)
2-2
: The contract address has been updated to0x30d74341Eb0C556b592eb8b10ef8Fb158A2E7821
. Ensure this address is correct and corresponds to the newly deployed contract on theeth_sepolia
network.
3-3
: The constructor arguments have been updated. Verify that these arguments are correct and match the expected deployment parameters for theInterchainClientV1
contract.
5-6
: The receipt hash and block number have been updated. Confirm that these values accurately reflect the transaction details of the contract deployment on theeth_sepolia
network.
206-208
: An update has been made to the ABI, specifically to thegetInterchainFee
function, adding a new input parametermessageLen
. Ensure this change aligns with the intended contract functionality and that all dependent systems are updated to accommodate this new parameter.packages/contracts-communication/deployments/op_sepolia/InterchainClientV1.json (4)
2-2
: The contract address has been updated to0x409DD1f2B1a5a4C5351aEb0B13D3FC1Db69342aC
. Confirm that this address is correct and corresponds to the newly deployed contract on theop_sepolia
network.
3-3
: The constructor arguments have been updated. Verify that these arguments are correct and match the expected deployment parameters for theInterchainClientV1
contract on theop_sepolia
network.
5-6
: The receipt hash and block number have been updated. Confirm that these values accurately reflect the transaction details of the contract deployment on theop_sepolia
network.
206-208
: An update has been made to the ABI, specifically to thegetInterchainFee
function, adding a new input parametermessageLen
, identical to the change in theeth_sepolia
deployment. Ensure this change aligns with the intended contract functionality and that all dependent systems are updated to accommodate this new parameter.packages/contracts-communication/deployments/eth_sepolia/PingPongApp.json (9)
2-2
: The contract address has been updated. Ensure this new address is correct and corresponds to the deployed contract on the eth_sepolia network.
5-6
: The transaction receipt details have been updated. Verify that the hash and block number accurately reflect the deployment transaction on the eth_sepolia network.
13-13
: The constructor's input parameter name has been changed from "owner_" to "admin". Confirm that this change aligns with the intended administrative control structure of the contract.
24-67
: New functions such asDEFAULT_ADMIN_ROLE
,IC_GOVERNOR_ROLE
, andaddInterchainClient
have been added. Ensure these additions are consistent with the contract's intended functionality and access control requirements.
154-163
: The functiongetAppVersion
has been renamed togetExecutionService
. Verify that all references to this function in the contract and dependent contracts or scripts have been updated accordingly.
210-228
: A new functiongetLinkedAppEVM
has been added. This suggests an extension of the contract's functionality to support EVM-compatible chain interactions. Confirm that the implementation of this function meets the project's requirements and security standards.
281-293
: ThegetRoleAdmin
function has been added, indicating changes to role-based access control. Ensure that the roles and their administration are correctly configured according to the project's governance or operational policies.
665-689
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [655-678]
New events such as
InterchainClientAdded
andInterchainClientRemoved
have been introduced. Confirm that these events are emitted in the correct places within the contract to accurately reflect state changes related to interchain clients.
856-876
: New errors likeAccessControlBadConfirmation
andAccessControlUnauthorizedAccount
have been added. Ensure that these errors are used appropriately throughout the contract to handle exceptional conditions in a clear and predictable manner.packages/contracts-communication/deployments/op_sepolia/PingPongApp.json (9)
2-2
: The contract address has been updated for the op_sepolia deployment. Confirm the accuracy of this new address with the deployment records.
5-6
: Updated transaction receipt details are provided. Verify the hash and block number against the blockchain to ensure they correspond to the actual deployment transaction.
13-13
: The constructor parameter name change from "owner_" to "admin" is consistent with the eth_sepolia deployment. Verify this change aligns with the contract's governance structure.
24-67
: The addition of functions such asDEFAULT_ADMIN_ROLE
,IC_GOVERNOR_ROLE
, andaddInterchainClient
is noted. Confirm these functions' implementations are secure and align with the contract's intended functionality.
154-163
: The renaming ofgetAppVersion
togetExecutionService
should be reflected across all references in the contract and any dependent contracts or scripts.
210-228
: The introduction ofgetLinkedAppEVM
suggests enhanced functionality for EVM chain interactions. Ensure this function's implementation is secure and meets the project's interoperability requirements.
281-293
: The addition of thegetRoleAdmin
function indicates changes in role-based access control. Verify that the roles and their administration are correctly set up as per the project's access control policies.
665-689
: > 📝 NOTEThis review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [655-678]
Events like
InterchainClientAdded
andInterchainClientRemoved
have been added. Ensure these events are emitted correctly to reflect state changes in the contract accurately.
856-876
: New errors such asAccessControlBadConfirmation
andAccessControlUnauthorizedAccount
have been introduced. Confirm that these errors are appropriately used to handle exceptional conditions within the contract.
"address": "0x3eac3aa2a506eDa3b2eB9bBfa430fd0CC646043D", | ||
"constructorArgs": "0x000000000000000000000000e8fb38f36d298bcac2b2a9f16a91ef1074dc1710000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tip
Codebase Verification
The verification process indicates that the new contract address 0x3eac3aa2a506eDa3b2eB9bBfa430fd0CC646043D
is only referenced in the SynapseModule.json
file within the eth_sepolia
deployment directory. This suggests that other parts of the codebase that should reference this new address might not have been updated. It's important to ensure that all interactions and references to this contract are updated to reflect the new address to avoid potential issues.
Analysis chain
The address
and constructorArgs
fields have been updated. Ensure that these changes are reflected wherever this contract is interacted with or referenced. This might include frontend applications, other contracts that interact with this one, or deployment scripts.
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify that the new contract address is updated in interaction scripts and other contracts
rg "0x3eac3aa2a506eDa3b2eB9bBfa430fd0CC646043D" --type json
Length of output: 194
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review Status
Configuration used: .coderabbit.yaml
Files selected for processing (4)
- packages/contracts-communication/deployments/eth_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json (1 hunks)
- packages/contracts-communication/deployments/eth_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json (1 hunks)
- packages/contracts-communication/deployments/op_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json (1 hunks)
Additional Context Used
Additional comments not posted (16)
packages/contracts-communication/deployments/eth_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json (4)
2-2
: Ensure the contract address0x33cc7c8cF7aef0322670baEb9812012A0B83B9C8
is correct and has been deployed successfully on theeth_sepolia
network. This is crucial for the integrity of the deployment.
3-3
: TheconstructorArgs
provided are extensive and appear to be in hexadecimal format. Verify that these arguments match the expected inputs for the contract's constructor to ensure proper initialization.
5-6
: Confirm the transaction receipt details, especially thehash
andblockNumber
, to ensure the deployment transaction was successful and is correctly recorded.
8-114
: Review the ABI provided for completeness and accuracy. Ensure that it matches the contract's interface, especially after any updates or changes to the contract's code. This is critical for interaction with the contract.packages/contracts-communication/deployments/op_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json (4)
2-2
: Ensure the contract address0x3782c0AF5F7A5f96fb9451c07377b1451aAcc135
is correct and has been deployed successfully on theop_sepolia
network. Accurate deployment addresses are essential for network operations.
3-3
: TheconstructorArgs
should be verified against the expected constructor parameters for the contract. This ensures that the contract is initialized correctly and functions as intended.
5-6
: Validate the transaction receipt details (hash
andblockNumber
) to confirm the deployment's success and correct recording on the blockchain.
8-114
: Check the ABI for accuracy and completeness against the contract's interface. This is crucial for ensuring that interactions with the contract work as expected.packages/contracts-communication/deployments/eth_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json (4)
2-2
: Confirm that the ProxyAdmin address0x7C24f7a03b06836c13FE9D26965B4672a5cff784
is correctly deployed on theeth_sepolia
network. The address is critical for proxy administration.
3-3
: Verify theconstructorArgs
against the expected inputs for the ProxyAdmin's constructor. Correct initialization is key for managing proxy contracts.
5-6
: Check the transaction receipt details to ensure the ProxyAdmin deployment was successful and accurately recorded.
8-130
: Review the ABI for the ProxyAdmin to ensure it is complete and matches the contract's interface. This is essential for proper proxy management and upgrades.packages/contracts-communication/deployments/op_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json (4)
2-2
: Ensure the ProxyAdmin address0x409d7B35d9B431BE47F88ed85Bd803F03FC0B8a0
is correctly deployed on theop_sepolia
network. Accurate deployment addresses are crucial for managing proxies.
3-3
: TheconstructorArgs
should be verified to match the expected constructor parameters for the ProxyAdmin. Proper initialization is essential for proxy contract management.
5-6
: Validate the transaction receipt details to confirm the successful deployment and accurate recording of the ProxyAdmin on the blockchain.
8-130
: Check the ABI for completeness and accuracy against the ProxyAdmin's interface. This ensures that proxy management and upgrades can be conducted properly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review Status
Configuration used: .coderabbit.yaml
Files selected for processing (1)
- packages/contracts-communication/script/config/ConfigureAppV1.s.sol (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- packages/contracts-communication/script/config/ConfigureAppV1.s.sol
Description
A clear and concise description of the features you're adding in this pull request.
Additional context
Add any other context about the problem you're solving.
Metadata
Summary by CodeRabbit
New Features
PingPongApp
contract for improved user interaction.Improvements
setExecutionService
function to retrieve the correct deployment address, improving contract configuration processes.Documentation