go-ethereum/params
Arran Schlosberg bedfd12e2d
feat: RulesHooks.MinimumGasConsumption (#185)
## Why this should be merged

Required for
[ACP-194](https://github.com/avalanche-foundation/ACPs/tree/main/ACPs/194-streaming-asynchronous-execution#gas-charged)
$\lambda$ bound on gas consumption.

## How this works

Hook into `core.StateTransition.TransitionDb()` as this is the bottom of
all execution paths (e.g. `core.ApplyTransaction()` as used in SAE,
`core.StateProcessor.Process(*Block,...)`, etc.). Once consumed gas is
no longer changing (i.e. after all spends and refunds), the transaction
limit is passed to the hook to determine the minimum consumption, which
is applied.

## How this was tested

Unit test via `core.ApplyTransaction()` as this is our entry point in
SAE.

---------

Signed-off-by: Arran Schlosberg <519948+ARR4N@users.noreply.github.com>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
2025-06-11 18:22:33 +00:00
..
forks eth/catalyst: add timestamp checks to fcu and new payload and improve param checks (#28230) 2024-01-23 16:02:08 +01:00
bootnodes.go [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
config.go params: print time value instead of pointer in ConfigCompatError (#29514) 2025-06-10 15:08:38 +01:00
config.libevm.go feat(params): export newTimestampCompatError with alias NewTimestampCompatError (#168) 2025-03-25 20:40:27 +01:00
config.libevm_test.go refactor!: consolidate params and types payload access (#84) 2024-12-09 18:32:15 +00:00
config_test.go params: print time value instead of pointer in ConfigCompatError (#29514) 2025-06-10 15:08:38 +01:00
dao.go [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
denomination.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
example.libevm_test.go refactor!: consolidate params and types payload access (#84) 2024-12-09 18:32:15 +00:00
hooks.libevm.go feat: RulesHooks.MinimumGasConsumption (#185) 2025-06-11 18:22:33 +00:00
hooks.libevm_test.go refactor!: consolidate params and types payload access (#84) 2024-12-09 18:32:15 +00:00
json.libevm.go feat(params): UnmarshalChainJSONConfig and MarshalChainConfigJSON (#92) 2025-01-12 18:35:14 +01:00
json.libevm_test.go feat(params): UnmarshalChainJSONConfig and MarshalChainConfigJSON (#92) 2025-01-12 18:35:14 +01:00
network_params.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
protocol_params.go [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
protocol_params.libevm.go feat: RIP-7212 precompile for P256 ECDSA verification (#184) 2025-06-10 10:28:02 -04:00
version.go params: release Geth v1.13.14 2024-02-27 13:50:30 +02:00
version.libevm.go refactor(params): make LibEVMVersion a constant (#162) 2025-03-17 19:29:16 +00:00
version.libevm_test.go refactor(params): make LibEVMVersion a constant (#162) 2025-03-17 19:29:16 +00:00