-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MultiOCR3 - integration to off-ramp & optimizations (#976)
## Motivation Sync MultiOCR3Base with CCIP Capability Config contract, and integrate to the MultiOffRamp. With this integration, the multi-offramp still has ~2.5KB of remaining contract size ## Solution * Refactor OCR2 to OCR3 for the MultiOffRamp, using the multi-plugin OCR3 base (added `transmitExec` function) * Remove signers.length == transmitters.length check in MultiOCR3 - this is no longer a requirement - see [CCIP Config Contract](https://github.com/smartcontractkit/ccip/pull/858/files/6de04055d2f456fe2ec62fb59d5942f8f0d426d8#diff-289f4b98c303dffb6740c8fd2ab6977b0fd4694604c788bb736963b30ea4d9edR359) * Size optimizations: * Create `_assignOracleRoles` and `_clearOracleRoles` helpers to re-use transmitter and signer update flows - saves about 0.39KB space * Optimize `InvalidConfig` error types to use enum error codes instead of strings. Using strings is expensive, using enums is cheaper than defining a custom error for each error * Small gas golfing / removal of unnecessary variables in the `setOCR3Configs` * Fix incorrect `ConfigSet` event emission when assigning signers to an OCR config with sigs disabled
- Loading branch information
1 parent
82c3299
commit 542f51d
Showing
12 changed files
with
678 additions
and
503 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
"@chainlink/contracts-ccip": minor | ||
--- | ||
|
||
#updated ocr3 integration to multi-offramp and ocr3 optimizations |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.