Skip to content

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: ethereum/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: ethereum/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