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

Update EIP-7251: return fee from getter and add usage example #9025

Merged
merged 3 commits into from
Nov 27, 2024

Conversation

fjl
Copy link
Contributor

@fjl fjl commented Nov 7, 2024

The get operation is meant to be used by contracts to compute the exact amount of ether required to add a request. It does not return the fee directly though, but it returns the count of 'excess requests' instead. The caller has to compute the fee themselves by applying the fee formula.

I think this is not great. The fee logic, while reasonably straightforward, is an implementation detail of the contract. Duplicating it into caller contracts could lead to a mismatch in the computed values, and it's not necessary. I propose we change the system contract to return the fee directly. This contract change has also been submitted in this PR: lightclient/sys-asm#33

I'm also adding recommendations & example code for calling the contract.

Related change to EIP-7002: #9024

@fjl fjl requested a review from eth-bot as a code owner November 7, 2024 14:04
@github-actions github-actions bot added c-update Modifies an existing proposal s-review This EIP is in Review t-core labels Nov 7, 2024
@eth-bot
Copy link
Collaborator

eth-bot commented Nov 7, 2024

✅ All reviewers have approved.

@eth-bot eth-bot added the a-review Waiting on author to review label Nov 7, 2024
@eth-bot eth-bot changed the title EIP-7251: return fee from getter and add usage example Update EIP-7251: return fee from getter and add usage example Nov 7, 2024
@pk910
Copy link
Member

pk910 commented Nov 9, 2024

same comment as here: #9024 (comment)
but let's discuss in the other issue :)

fjl added 3 commits November 25, 2024 16:58
The get operation is meant to be used by contracts to compute the exact amount of ether
required to add a request. It does not return the fee directly though, but it
returns the count of 'excess requests' instead. The caller has to compute the fee
themselves by applying the fee formula.

I think this is not great. The fee logic, while reasonably straightforward, is an
implementation detail of the contract. Duplicating it into caller contracts could lead to
a mismatch in the computed values, and it's not necessary. I propose we change the
system contract to return the fee directly. This contract change has also been submitted
in this PR: lightclient/sys-asm#33

The Rationale section of the EIP also had some outdated text about returning fee overage
to the caller. The contract does not return overage, so I am removing that section here,
and adding recommendations & example code for calling the contract.
@fjl fjl force-pushed the eip-7251-fee-getter branch from 09bb169 to 7272970 Compare November 25, 2024 15:58
@eth-bot eth-bot enabled auto-merge (squash) November 27, 2024 08:56
Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

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

All Reviewers Have Approved; Performing Automatic Merge...

@eth-bot eth-bot merged commit 6354028 into ethereum:master Nov 27, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-review Waiting on author to review c-update Modifies an existing proposal s-review This EIP is in Review t-core
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants