forked from ethereum/go-ethereum
    
        
        - 
                Notifications
    You must be signed in to change notification settings 
- Fork 14
Witness charging order with limits #502
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
          
     Merged
      
      
            gballet
  merged 38 commits into
  kaustinen-with-shapella
from
witness-charging-order-with-limits
  
      
      
   
  Oct 24, 2024 
      
    
                
     Merged
            
            Witness charging order with limits #502
                    gballet
  merged 38 commits into
  kaustinen-with-shapella
from
witness-charging-order-with-limits
  
      
      
   
  Oct 24, 2024 
              
            Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    caa00f3    to
    f7db43f      
    Compare
  
    e220c74    to
    f2b8d24      
    Compare
  
    b4b1ff0    to
    9635cc1      
    Compare
  
    17fd37d    to
    032e1ab      
    Compare
  
    Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Guillaume Ballet <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
* ci: new workflows for testing Signed-off-by: Ignacio Hagopian <[email protected]> * nit Signed-off-by: Ignacio Hagopian <[email protected]> * ci: fix stable consumption Signed-off-by: Ignacio Hagopian <[email protected]> * fix Signed-off-by: Ignacio Hagopian <[email protected]> * more fixes Signed-off-by: Ignacio Hagopian <[email protected]> * more fixes Signed-off-by: Ignacio Hagopian <[email protected]> * update tag Signed-off-by: Ignacio Hagopian <[email protected]> --------- Signed-off-by: Ignacio Hagopian <[email protected]>
Signed-off-by: Guillaume Ballet <[email protected]>
Signed-off-by: Guillaume Ballet <[email protected]>
Co-authored-by: Ignacio Hagopian <[email protected]> Signed-off-by: Guillaume Ballet <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
… + system contracts Signed-off-by: Guillaume Ballet <[email protected]>
* fix makeCallVariantGasEIP4762 Signed-off-by: Ignacio Hagopian <[email protected]> * fix Signed-off-by: Ignacio Hagopian <[email protected]> * fix Signed-off-by: Ignacio Hagopian <[email protected]> * fix Signed-off-by: Ignacio Hagopian <[email protected]> * ci: target v0.0.6 Signed-off-by: Ignacio Hagopian <[email protected]> * improve fix Signed-off-by: Ignacio Hagopian <[email protected]> * add witness gas to "old" gas upon error Signed-off-by: Guillaume Ballet <[email protected]> * workflow: remove target branch from list of branches --------- Signed-off-by: Ignacio Hagopian <[email protected]> Signed-off-by: Guillaume Ballet <[email protected]> Co-authored-by: Guillaume Ballet <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
5b01f99    to
    87408a7      
    Compare
  
    Signed-off-by: Ignacio Hagopian <[email protected]>
* fix selfdestruct Signed-off-by: Ignacio Hagopian <[email protected]> * extcodecopy witness fix Signed-off-by: Ignacio Hagopian <[email protected]> * blockhash fix Signed-off-by: Ignacio Hagopian <[email protected]> * run ci Signed-off-by: Ignacio Hagopian <[email protected]> * Apply suggestions from code review remove diff used for test * same thing in other file --------- Signed-off-by: Ignacio Hagopian <[email protected]> Co-authored-by: Guillaume Ballet <[email protected]>
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
This is another take on #495, which doesn't pass the gas usage function as a parameter, but the total amount of gas available. This approach has two advantages:
UseGasfunction signature inmasterfor the live tracer, which will make it trickier to handleThe difficulty was distinguishing the gas that is to be charged (consumed), from the gas that is requested (wanted). If
wanted > chargedthen it is known that the contract ran out of gas.In order to do so
touch*functions are changed to return theconsumedandwantedgas. Locations will only be added to the witness ifconsumed == wanted.Touchfunctions change to only return thewantedgas, so that thegas*functions can return it (in order to let the interpreter loop know that the dynamic gas is too much, while only adding locations that were fully paid for to the witness.consumed < wantedcomparison to figure out if the subcall ran out of gas.