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

Add evm implementation of chain reader and codec #11550

Closed
wants to merge 157 commits into from

Conversation

nolag
Copy link
Contributor

@nolag nolag commented Dec 12, 2023

solana ref:6fa12ac7dd53eee3f7bad6cc41c8cd8b9bc078bc

reductionista and others added 30 commits November 22, 2023 20:40
… POC

- Read ChainReader config in from RelayConfig
- Add some initialization and validation relay skeletons

- Use medianProviderWrapper instead of passing medianContract separately

This avoids us having to modify the signature of NewMedianFactory, which
would require further modifications to all non-evm repos and chainlink-relay

- Add chain_reader_test.go with some basic relay tests

Co-authored-by: Jordan Krage <[email protected]>

- Add chain reader config validation
- Add chain reader config validation tests
- Add config for chain reader median contract to cr validation testcases
- Add unimplemented Encode(), Decode(), GetMaxEncodingSize(), GetMaxDecodingSize()
- Add ChainReader() method to mock provider for plugin test
- Rename relaymercury.ChainReader to MercuryChainReader, resolve name collisions
- Add tests for errors during ChainReader construction
- Propagate InvalidConfig & any other errors back to client

We should ignore Unsupported until node ops have been given ample time to migrate to the new job spec
(including a section for ChainReader config) so that we can remove the old product-specific
MedianContract component from MedianProvider. All other errors we can immediately start passing back
to the client, letting the core node decide how to handle them (eg. displaying an "invalid job spec"
message to the UI if the RelayConfig was invalid or the ContractID missing)
We had this before, at some point it accidentally got dropped
Also: move test for invalid contract ID to evm_test.go, & add mismatched ChainID
test while we're here since it's pretty similar
…EVM-POC-fix-logs-dir

fix logs dir for Solana tests
…er-EVM-POC

# Conflicts:
#	integration-tests/go.mod
ilija42
ilija42 previously approved these changes Jan 22, 2024
@ilija42 ilija42 added this pull request to the merge queue Jan 22, 2024
@ilija42 ilija42 removed this pull request from the merge queue due to a manual request Jan 22, 2024
@cl-sonarqube-production
Copy link

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.

8 participants