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 special transmitter for OCR2 feeds #13323

Merged
merged 2 commits into from
May 28, 2024

Conversation

ilija42
Copy link
Contributor

@ilija42 ilija42 commented May 24, 2024

This change should allow the ocr2 feeds job to always validate its sender before transmitting. This means checking if forwarders are authorized for EOA and if they are set as a transmitter on the OCR2 aggregator contract. Previously forwarders were chosen once during job start.

@ilija42 ilija42 marked this pull request as ready for review May 24, 2024 13:54
@ilija42 ilija42 requested a review from a team as a code owner May 24, 2024 13:54
transmitter
}

// NewOCR2FeedsTransmitter creates a new eth transmitter that handles OCR2 Feeds specific logic surrounding forwarders.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you mind explaining this "specific logic" in a comment here? I'm curious what is special about forwarders in OCR2 Feeds that we need a separate transmitter.

Copy link
Contributor Author

@ilija42 ilija42 May 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, was about to add a description. This change should allow the ocr2 feeds job to always validate its sender before transmitting. This means checking if forwarders are authorized for EOA and if they are set as a transmitter on the OCR2 aggregator contract. Previously forwarders were chosen once during job start.

@ilija42 ilija42 force-pushed the ocr2-feeds-runtime-forwarders-handling branch from e963bb6 to 2c38d59 Compare May 24, 2024 15:48
Copy link
Contributor

I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

return t.effectiveTransmitterAddress
}

forwarderAddress, err := t.forwarderAddress(context.Background(), roundRobinFromAddress, t.ocr2Aggregator)
Copy link
Contributor Author

@ilija42 ilija42 May 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that context.Background() works here? Might require libocr changes to pass in actual context

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already incoming. I will update this as part of that work.

@ilija42 ilija42 force-pushed the ocr2-feeds-runtime-forwarders-handling branch from 37015f5 to aa68ab2 Compare May 24, 2024 21:15
@ilija42 ilija42 requested a review from a team May 27, 2024 17:18
@ilija42 ilija42 requested a review from bolekk May 27, 2024 18:20
@ilija42 ilija42 added this pull request to the merge queue May 28, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 28, 2024
@ilija42 ilija42 added this pull request to the merge queue May 28, 2024
Merged via the queue into develop with commit 40cca2e May 28, 2024
106 of 107 checks passed
@ilija42 ilija42 deleted the ocr2-feeds-runtime-forwarders-handling branch May 28, 2024 08:16
ilija42 added a commit that referenced this pull request May 28, 2024
* Add special transmitter for OCR2 feeds

* Add ocr2FeedsTransmitter FromAddress()

* Cherry-pick some forwarders context changes from (#13171)
ilija42 added a commit that referenced this pull request May 28, 2024
…r2-transmitter

BCF-3243 - Cherry pick Add special transmitter for OCR2 feeds (#13323)
github-merge-queue bot pushed a commit that referenced this pull request Jun 6, 2024
* Bump version and update CHANGELOG for core v2.12.0

Signed-off-by: Sneha Agnihotri <sneha.agnihotri@smartcontract.com>

* core/services: fix ocrWrapper saveError contexts (#13139)

(cherry picked from commit 15fab1d)

* changed spammy error log to debug (#13153)

(cherry picked from commit 3502176)

* Updating changelog for 2.12.0  with cherry pick fix

Signed-off-by: Sneha Agnihotri <sneha.agnihotri@smartcontract.com>

* BCF-3225 - Implement forwarder fallback if forwarder not present as a transmitter on OCR2 aggregator (#13221)

* Implement forwarder OCR2 fallback if fwd not present as a transmitter

* Add changeset

* Fix panic on mercury server error (#13231) (#13256)

* Fix changelog

* Fixed CPU usage issues caused by inefficiencies in HeadTracker (#13230)

* Fixed CPU usage issues caused by inefficiencies in HeadTracker

* added comments

* revert heads back to the fix

(cherry picked from commit 6f1ebca)

* Update CHANGELOG for 2.12.0 bugfixes

Signed-off-by: Sneha Agnihotri <sneha.agnihotri@smartcontract.com>

* Decouple ChainType from config string [SHIP-2001] (#13272)

* fix: Decouple ChainType from config string

* fix: receiver name and failing test

* test: enhance config test to test for xdai specifically

* refactor: directly unmarshal into ChainType

* fix: validation

* test: fix TestDoc/EVM

* test: add xdai to warnings.xtar

* Index only the fifth word to reduce the db size overhead (#13315)

Co-authored-by: Domino Valdano <domino.valdano@smartcontract.com>

* Add special transmitter for OCR2 feeds (#13323)
* Add special transmitter for OCR2 feeds

* Add ocr2FeedsTransmitter FromAddress()

* Cherry-pick some forwarders context changes from (#13171)

* Improve ocr2FeedsTransmitter FromAddress() fallback (#13343)

* Improve ocr2FeedsTransmitter FromAddress() fallback

* Fix forwarders test error assert

* Update 2.12.0 Changelog with bugfixes

Signed-off-by: Sneha Agnihotri <sneha.agnihotri@smartcontract.com>

* core/services/pipeline: bridge task must continue after cancellation

* core/services/pipeline: use request context for deletion (#13404)

* core/services/pipeline: hide deadline from monitor

* Finalize date on changelog for 2.12.0

Signed-off-by: Sneha Agnihotri <sneha.agnihotri@smartcontract.com>

* Fix merge conflicts

* Remove `overtimeThresholds`

* Return to old version of pipeline-runner

---------

Signed-off-by: Sneha Agnihotri <sneha.agnihotri@smartcontract.com>
Co-authored-by: Jordan Krage <jmank88@gmail.com>
Co-authored-by: Patrick <patrick.huie@smartcontract.com>
Co-authored-by: ilija42 <57732589+ilija42@users.noreply.github.com>
Co-authored-by: Sam <samsondav@protonmail.com>
Co-authored-by: Dmytro Haidashenko <34754799+dhaidashenko@users.noreply.github.com>
Co-authored-by: Friedemann Fürst <friedemann.fuerst@smartcontract.com>
Co-authored-by: Mateusz Sekara <mateusz.sekara@smartcontract.com>
Co-authored-by: Domino Valdano <domino.valdano@smartcontract.com>
Co-authored-by: ilija <pavlovicilija42@gmail.com>
Co-authored-by: frank zhu <fr@nkzhu.com>
Co-authored-by: george-dorin <george.dorin@smartcontract.com>
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.

3 participants