-
Notifications
You must be signed in to change notification settings - Fork 54
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
Integrate RMNRemote and OffRamp #1360
Integrate RMNRemote and OffRamp #1360
Conversation
LCOV of commit
|
76d74d5
to
e830e38
Compare
ce7ec8f
to
3289314
Compare
e490109
to
8847c12
Compare
8847c12
to
5093308
Compare
5093308
to
3015456
Compare
60c211c
to
24ab8e3
Compare
f961f92
to
bec52a5
Compare
…CCIP-2455-off-chain-blessing-off-ramp-contract-changes
441eef3
to
412e4a8
Compare
## Motivation Bootstrap P2P IDs are no longer needed in the OCR config in CCIPConfig. See #1348's description for more details. ## Solution Remove bootstrap P2P IDs from the OCR config in CCIPConfig. ## Related PRs smartcontractkit/chainlink-ccip#89
412e4a8
to
cfd706e
Compare
…CCIP-2455-off-chain-blessing-off-ramp-contract-changes
cfd706e
to
0e7f614
Compare
uint64 sourceChainSelector; // Remote source chain selector that the Merkle Root is scoped to | ||
bytes32 merkleRoot; // Merkle root of a single remote source chain | ||
Internal.MerkleRoot[] merkleRoots; // Collection of merkle roots per source chain to commit | ||
IRMNV2.Signature[] rmnSignatures; // RMN signatures on the merkle roots |
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.
If we want to be accurate these aren't signatures on the merkle roots exactly. They're signatures on a particular RMN report that consists of "lane updates" that match the updates in the merkleRoots
array above. Maybe reference RMNRemote.verify() for folks who want to see the exact message being signed.
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.
you're right. If I make additional changes, I'll fix the comment :)
bytes32 s; | ||
} | ||
|
||
function verify(Internal.MerkleRoot[] memory merkleRoots, Signature[] memory signatures) external view; |
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.
A basic docstring on the expected behavior of this function might be useful (e.g maybe for implementing mocks), i.e "verifies RMN signatures against provided MerkleRoot structs and reverts on invalid signatures"
Quality Gate passedIssues Measures |
…ip repo (#14345) * Misc golfs and fixes (#1402) Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com> * Increase max signers (#1405) Improve tests and error checks --------- Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com> * rename CCIPSendRequested to CCIPMessageSent (#1409) * Skip report execution on curse (#1408) ## Motivation The goal of this PR is to remove reverts on lane cursing for DON execution transactions. If a lane is cursed, reverting will cause the whole execution transaction to fail so any execution reports for other lanes will be blocked. ## Solution For DON execution transactions the behavior is now to skip the report and emit a `SkippedReportExecution`. For manual execution we still revert, otherwise the transaction will silently fail for the users. --------- Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com> * remove bootstrapP2PIds (#1388) ## Motivation Bootstrap P2P IDs are no longer needed in the OCR config in CCIPConfig. See #1348's description for more details. ## Solution Remove bootstrap P2P IDs from the OCR config in CCIPConfig. ## Related PRs smartcontractkit/chainlink-ccip#89 * fixes * Integrate RMNRemote and OffRamp (#1360) Remove the requirement for self-transmitted RMN blessings Allow the commit DON to include RMN blessings at commitment time This PR has a dependency on changes to [chainlink-ccip](smartcontractkit/chainlink-ccip#84) --------- Co-authored-by: Makram <[email protected]> * contracts/scripts: reduce offramp optimizations (#1414) ## Motivation The offramp was failing to deploy due to too many optimizations causing a max code size exceeded error. ## Solution Reduce the number of optimizations by 1. Also, add a test that deploys v1.6 contracts and ensures that they are deployable on the simulated backend. * more fixes * remove isBlessed from contract reader cfg * deploy RMNRemote instead of MockRMN * bump chainlink-ccip * bump chainlink-ccip and add changesets --------- Co-authored-by: Rens Rooimans <[email protected]> Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com> Co-authored-by: Suryansh <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Ryan Hall <[email protected]>
Motivation
Remove the requirement for self-transmitted RMN blessings
Solution
Allow the commit DON to include RMN blessings at commitment time
This PR has a dependency on changes to chainlink-ccip