Skip to content
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

Functions support zksync #15991

Draft
wants to merge 11 commits into
base: develop
Choose a base branch
from
Draft

Conversation

mohamed-mehany
Copy link
Collaborator

@mohamed-mehany mohamed-mehany commented Jan 20, 2025

INTAUTO-272

This PR extends the existing Functions contracts to support ZKSync.

Changes

  • The contracts (FunctionsBilling and FunctionsCoordinator) had to be modified in order to support ZKSync due to the ChainSpecificUtil library containing an opcode ZKSync did not support.
  • Added a safe (limited return data size) implementation for CalWithExactGas based on zkSync's GasBoundCaller contract.
  • Added ZKSyncFunctionsRouter contract implementation inheriting from the main FunctionsRouter contract.
  • [WIP] Unit testing for the new logic.

Requires

Copy link
Contributor

github-actions bot commented Jan 20, 2025

Static analysis results are available

Hey @mohamed-mehany, you can view Slither reports in the job summary here or download them as artifact here.
Please check them before merging and make sure you have addressed all issues.

@cl-sonarqube-production
Copy link

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

Copy link
Contributor

AER Report: CI Core

aer_workflow , commit , Clean Go Tidy & Generate , Detect Changes , Scheduled Run Frequency , GolangCI Lint (.) , Core Tests (go_core_tests) , Core Tests (go_core_tests_integration) , Core Tests (go_core_ccip_deployment_tests) , Core Tests (go_core_fuzz) , Core Tests (go_core_race_tests) , test-scripts , lint , SonarQube Scan

1. TestDeployLinkToken failed:go_core_ccip_deployment_tests

Source of Error:
--- FAIL: TestDeployLinkToken (42.04s)
chain.go:97: 
	Error Trace:	/home/runner/work/chainlink/chainlink/deployment/environment/memory/chain.go:173
	 				/home/runner/work/chainlink/chainlink/deployment/environment/memory/chain.go:97
	 				/home/runner/work/chainlink/chainlink/deployment/environment/memory/environment.go:68
	 				/home/runner/work/chainlink/chainlink/deployment/environment/memory/environment.go:195
	 				/home/runner/work/chainlink/chainlink/deployment/common/changeset/deploy_link_token_test.go:17
	Error: 	Received unexpected error:
	 	start container: started hook: wait until ready: context deadline exceeded
	Test: 	TestDeployLinkToken

Why: The error indicates that the TestDeployLinkToken test failed because the container did not start within the expected time frame, leading to a context deadline exceeded error.

Suggested fix: Increase the timeout duration for the container startup in the test configuration or optimize the container initialization process to ensure it starts within the given time frame.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants