-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
feat(keystone): support multiple OCR3 contracts #15803
Conversation
aacfe02
to
9682e41
Compare
AER Report: CI Core ran successfully ✅AER Report: Operator UI CI ran successfully ✅ |
9682e41
to
0cdba03
Compare
9bad051
to
56c1438
Compare
e4990cd
to
4d594bd
Compare
Quality Gate passedIssues Measures |
contract, err := contracts.GetOCR3Contract(nil) | ||
if err != nil { | ||
env.Logger.Errorf("failed to get OCR3 contract: %s", err) | ||
return fmt.Errorf("failed to get OCR3 contract: %w", err) |
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.
@MStreet3 How come we need to both log + return an error here? Does the returned error not get bubbled up to the user when executing the changeset?
// contract in the set if there is no address specified. If an address is specified, it returns the | ||
// contract with that address. If the address is specified but not found in the contract set, it returns | ||
// an error. | ||
func getOCR3Contract(contracts map[common.Address]*ocr3_capability.OCR3Capability, addr *common.Address) (*ocr3_capability.OCR3Capability, error) { |
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.
@MStreet3 Style nit: IMO this feels a bit like premature optimization -- why not just inline this code into the ContractSet GetOCR3Contract method?
* feat(keystone): enable multiple OCR contracts per chain * fix(keystone/changeset): use common.Address vs string * chore(keystone/changeset): adds unit test * lint(keystone/changeset): fixes loop var lint * refactor(keystone/changeset): move OCR3 selector func and add logs
It is possible to deploy multiple OCR contracts per chain for workflow dons. This PR:
Requires
Supports