-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Add Channel Definition Opts to LLO capability_trigger report type to enable Stream Multiplication #18463
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 Channel Definition Opts to LLO capability_trigger report type to enable Stream Multiplication #18463
Conversation
|
👋 @cawthorne, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
fmunshi
left a comment
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.
Approved for streams eng
bolekk
left a comment
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.
LLO aggregator currently multiplies by 10^18. How are you planning to roll it out?
| return b, nil | ||
| } | ||
|
|
||
| func (r ReportCodecCapabilityTrigger) Verify(cd llotypes.ChannelDefinition) 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.
When is Verify() called?
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.
Every observation round:
https://github.com/smartcontractkit/chainlink-data-streams/blob/a98fa6515eae458fbff0c7e90222288eaf35935d/llo/plugin.go#L390
https://github.com/smartcontractkit/chainlink-data-streams/blob/a98fa6515eae458fbff0c7e90222288eaf35935d/llo/plugin_observation.go#L51
https://github.com/smartcontractkit/chainlink-data-streams/blob/a98fa6515eae458fbff0c7e90222288eaf35935d/llo/plugin_observation.go#L90
|
@smartcontractkit/keystone @smartcontractkit/capabilities-team |
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo (cherry picked from commit 85f86fa) Signed-off-by: Gregory Cawthorne <gregory.cawthorne@smartcontract.com>
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
…enable Stream Multiplication (#18463) * Add Channel Definition Opts to LLO capability_trigger report for Multiplication * Fix lint errors + add changeset * lint * Make Opts and Opts.Multipliers.Multiplier required * Use errors.New instead * Make Opts non required * fix import order error * fix import order error * Remove omitempty from Opts.Multipliers * Make Capability LLO Integration test use capability_trigger channel report type * fixup comment * Make multiplier always 1e18 in Test_runLLOWorkflow test * only multiply by 1 * Add core/capabilities/integration_tests/keystone/llo_feed_test.go comment wtr to 1 using Multiplier in test * typo
capability_triggerreport type doesn't support an Opts field.This PR adds a now optional Opts field, where all of the StreamIDs in the channel must be specified in a Multipliers array, in the correct order to match the order of the Streams array e.g.
The inner multiplier field is a required variable.
This PR also is related to this PR:
smartcontractkit/chainlink-common#1282
Where the rollout plan for this new direction is defined.