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

Message call witness gas charging #44

Conversation

jwasinger
Copy link
Collaborator

Based on top of #42

Adds part of the logic for witness gas charging from https://notes.ethereum.org/-fJSOrnYQl-mqoWKpaTIsQ . Note that this treats all events as access events unlike the spec. The purpose of this PR is to put in place the logic necessary to charge witness gas costs for message calling (CALL, CALLCODE, DELEGATECALL, STATICCALL, SELFDESTRUCT, CREATE, CREATE2).

Once this PR is done and approved, I will rebase #37 and change the individual Touch* calls to either TouchOnReadAndChargeGas or TouchOnWriteAndChargeGas.

@jwasinger jwasinger force-pushed the message-call-witness-gas-charging branch 2 times, most recently from a534515 to 64ad793 Compare December 21, 2021 22:46
@jwasinger jwasinger force-pushed the message-call-witness-gas-charging branch from dd7f84a to 40ed0c0 Compare December 22, 2021 03:44
@jwasinger jwasinger force-pushed the message-call-witness-gas-charging branch from fa38b92 to d1fdcdd Compare January 5, 2022 04:51
@jwasinger jwasinger force-pushed the message-call-witness-gas-charging branch from d1fdcdd to 5769e36 Compare January 5, 2022 06:19
@jwasinger jwasinger marked this pull request as ready for review January 5, 2022 07:39
core/state/statedb.go Show resolved Hide resolved
core/types/access_witness.go Show resolved Hide resolved
core/types/access_witness.go Outdated Show resolved Hide resolved
core/vm/evm.go Outdated Show resolved Hide resolved
core/vm/interface.go Show resolved Hide resolved
core/vm/gas_table.go Outdated Show resolved Hide resolved
core/vm/evm.go Outdated Show resolved Hide resolved
core/vm/evm.go Outdated Show resolved Hide resolved
core/vm/evm.go Show resolved Hide resolved
core/vm/evm.go Outdated Show resolved Hide resolved
Copy link
Owner

@gballet gballet left a comment

Choose a reason for hiding this comment

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

lint pass needed

core/state_transition.go Outdated Show resolved Hide resolved
core/vm/evm.go Outdated Show resolved Hide resolved
core/vm/evm.go Show resolved Hide resolved
core/vm/evm.go Outdated Show resolved Hide resolved
core/vm/evm.go Outdated Show resolved Hide resolved
core/vm/gas_table.go Outdated Show resolved Hide resolved
core/vm/gas_table.go Outdated Show resolved Hide resolved
Copy link
Owner

@gballet gballet left a comment

Choose a reason for hiding this comment

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

found more issues here, chief of all that it no longer creates a proof.

miner/worker.go Outdated Show resolved Hide resolved
miner/worker.go Outdated Show resolved Hide resolved
@jwasinger jwasinger force-pushed the message-call-witness-gas-charging branch from 17d1d09 to 9825e44 Compare January 17, 2022 03:48
@jwasinger jwasinger force-pushed the message-call-witness-gas-charging branch from 9825e44 to 15d84a9 Compare January 17, 2022 04:22
@gballet
Copy link
Owner

gballet commented Jan 19, 2022

Merged in #60, closing

@gballet gballet closed this Jan 19, 2022
gballet added a commit that referenced this pull request Jun 14, 2022
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.

2 participants