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

Draft contract change for no native billing in data streams #11928

Conversation

ad0ll
Copy link
Contributor

@ad0ll ad0ll commented Feb 3, 2024

Problem

  • A report's nativeFee amount is in ETH.
  • You can pay the nativeFee with either native (msg.value) or an ERC20 token
  • Paying with msg.value is a problem on chains where ETH isn't the native token. For instance, on Avalanche, because AVAX is worth several thousands of percent less than ETH,
  • The nativeFee amount is tightly bound to the feed. If you wanted a nativeFee amount in say, AVAX, you would require a second feed
  • Since Data Streams is only confirmed to be able to support 30 feeds (as of writing this), we can't affort to literally double our feed count so we can bill on both Avalanche and chains where ETH is native

Short term solution

  • This PR contains a variation of the FeeManager contract, "FeeManagerNoNative". In this contract, we revert when msg.value != 0. Code relating to msg.value (like returning change) has been removed as well.
  • This contract should only ever be deployed to chains where ETH isn't the native token
    • Currently this is only Avalanche, but (for example) if we deployed to Polygon later, we'd deploy this to Polygon as well since MATIC is the native token, but if we deployed to Arbitrum, we wouldn't, since ETH is native there

Copy link
Contributor

github-actions bot commented Feb 3, 2024

I see that you haven't updated any CHANGELOG files. Would it make sense to do so?

Copy link
Contributor

github-actions bot commented Feb 5, 2024

Go solidity wrappers are out-of-date, regenerate them via the make wrappers-all command

@lukaszcl
Copy link
Collaborator

lukaszcl commented Feb 12, 2024

@ad0ll could you also generate geth wrapper for this contract and commit it in this PR (core/gethwrappers/llo-feeds/generated/fee_manager_no_native/fee_manager_no_native.go)? I will need it for E2E tests

george-dorin and others added 3 commits February 12, 2024 12:37
* OCR3 delegate support

* -Move adapters
-Convert if statement to switch

* - Add adapters tests
- Pin to new version of chainlink-common

* - Pin to new version of chainlink-common

* Fix go sum

* Pin to latest version of chainlink-common
@ad0ll
Copy link
Contributor Author

ad0ll commented Feb 12, 2024

I've hardcoded the solc path for FeeManagerNoNative in this PR, but have made the compile script more generic in this one: feature/dynamic-llo-feed-solc-compile-script (#12002)

@ad0ll ad0ll requested a review from a team May 2, 2024 18:02
@github-actions github-actions bot removed the Stale label May 3, 2024
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.

@cl-sonarqube-production
Copy link

ad0ll added 3 commits June 16, 2024 16:49
…hange-dev' of github.com:smartcontractkit/chainlink into MERC-3331-draft-implement-link-w-eth-billing-contract-change-dev
@ad0ll ad0ll requested a review from RensR as a code owner June 16, 2024 21:00
@ad0ll ad0ll requested a review from Fletch153 June 16, 2024 21:01
@cl-sonarqube-production
Copy link

Copy link
Contributor

This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the Stale label Aug 19, 2024
@github-actions github-actions bot removed the Stale label Aug 29, 2024
Copy link
Contributor

This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the Stale label Oct 28, 2024
@github-actions github-actions bot closed this Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants