Add AutomationReceiver to compilation scripts and generated wrappers#489
Draft
bitrider23 wants to merge 11 commits into
Draft
Add AutomationReceiver to compilation scripts and generated wrappers#489bitrider23 wants to merge 11 commits into
bitrider23 wants to merge 11 commits into
Conversation
- Updated the native_solc_compile_all_automation script to include AutomationReceiver. - Modified go_generate_automation.go to generate wrapper for AutomationReceiver. - Updated generated-wrapper-dependency-versions-do-not-edit.txt to include AutomationReceiver dependencies.
- Added a comment to disable the solhint rule for low-level calls in AutomationReceiver.sol to clarify intent and improve code safety.
Contributor
✅ API Diff Results -
|
- Bump go-ethereum from v1.17.0 to v1.17.3 - Update go-eth-kzg from v1.4.0 to v1.5.0 - Upgrade opentelemetry packages from v1.39.0 to v1.40.0 - Adjust blst version to v0.3.16
This reverts commit 41c3339.
…d ReceiverTemplate for improved readability - Updated constructor and function signatures to use multi-line formatting for better clarity. - No functional changes were made, only formatting adjustments to enhance code maintainability.
- Bump go-ethereum from v1.17.0 to v1.17.3 - Update go-eth-kzg from v1.4.0 to v1.5.0 - Upgrade opentelemetry packages from v1.39.0 to v1.40.0 - Adjust blst version to v0.3.16
- Bump Go version from 1.24.5 to 1.25.0 - Upgrade go-ethereum from v1.17.0 to v1.17.3 - Update go-eth-kzg from v1.4.0 to v1.5.0 - Upgrade c-kzg-4844 from v2.1.5 to v2.1.6 - Upgrade opentelemetry packages from v1.39.0 to v1.44.0 - Update golang.org/x/sync from v0.18.0 to v0.19.0 - Update golang.org/x/tools from v0.38.0 to v0.40.0 - Adjust blst version to v0.3.16
Contributor
📊 API Diff Results
|
…lidity 0.8.24 - Updated Solidity version in AutomationReceiver and ReceiverTemplate to 0.8.24. - Refactored AutomationReceiver to implement ITypeAndVersion interface. - Added new compilation profile for automation-compile-24 in foundry.toml. - Updated compilation script to reference automation-compile-24 for AutomationReceiver. - Adjusted generated wrapper dependency versions for AutomationReceiver.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This changes where made in order to deploy
AutomationReceivercontract on CLD.Summary
AutomationReceiver.soland its base contractReceiverTemplate.soltocontracts/src/v0.8/automation/— a generic bridge that executes Automation-style upkeeps delivered by a CRE workflowIReceiver.solinterface defining theonReportcallbackAutomationReceiverin the compilation script (native_solc_compile_all_automation) using theautomation-compile-23profile (solc 0.8.19)go:generatedirective ingethwrappers/go_generate_automation.goand commit the generated Go binding atgethwrappers/generated/automation_receiver/automation_receiver.goContract design
AutomationReceiverhas two independent authorization layers:ReceiverTemplate) — validates the CRE Forwarder address plus optionalworkflowId/workflowName/workflowOwnerchecks(target, selector)pairs that the owner must explicitly enable before the contract can execute any callAdditional fixes
go-ethereum version alignment (
gethwrappers/go.mod)gethwrappers/go.modhadgo-ethereum v1.17.0while the rootgo.modalready hadv1.17.3. The CI buildsabigenfrom scratch on a clean runner and the version mismatch caused it to skip the build entirely, resulting in:Error: go-ethereum version (v1.17.0) does not match root package go-ethereum version (v1.17.3)
no such file or directory: tools/bin/abigen
Fixed by aligning
gethwrappers/go.modtov1.17.3.CVE fix —
go.opentelemetry.io/otelUpgrading
go-ethereumpulled ingo.opentelemetry.io/otel v1.40.0, which was flagged as high severity (remote DoS via multi-value baggage header parsing). Bumped tov1.44.0to resolve it.GETH_VERSION in wrapper dependency files
All
generated-wrapper-dependency-versions-do-not-edit.txtfiles across the repo still trackedGETH_VERSION: 1.17.0. After rebuildingabigenwithv1.17.3, the CI regenerated all wrappers and detected the mismatch viagit diff, causing theCheck if GO solidity wrappers are updatedcheck to fail. Updated all files to reflectGETH_VERSION: 1.17.3. This was a pre-existing inconsistency in the repo exposed by this PR running on a clean CI runner without cached artifacts.