diff --git a/bindings/rust/evmc-vm/src/lib.rs b/bindings/rust/evmc-vm/src/lib.rs index e73c0bf98..787087818 100644 --- a/bindings/rust/evmc-vm/src/lib.rs +++ b/bindings/rust/evmc-vm/src/lib.rs @@ -525,6 +525,7 @@ impl From for ffi::evmc_result { status_code: value.status_code, gas_left: value.gas_left, gas_refund: value.gas_refund, + growth_gas: 0, output_data: buffer, output_size: len, release: Some(release_stack_result), @@ -625,6 +626,7 @@ mod tests { status_code: StatusCode::EVMC_SUCCESS, gas_left: 1337, gas_refund: 21, + growth_gas: 0, output_data: Box::into_raw(Box::new([0xde, 0xad, 0xbe, 0xef])) as *const u8, output_size: 4, release: Some(test_result_dispose), @@ -975,6 +977,7 @@ mod tests { }, gas_left: 2, gas_refund: 0, + growth_gas: 0, // NOTE: we are passing the input pointer here, but for testing the lifetime is ok output_data: msg.input_data, output_size: msg.input_size, diff --git a/include/evmc/evmc.h b/include/evmc/evmc.h index 15304f24d..dd05940aa 100644 --- a/include/evmc/evmc.h +++ b/include/evmc/evmc.h @@ -446,6 +446,12 @@ struct evmc_result */ int64_t gas_refund; + /** + * Gas attributed to state growth accumulated during this execution and + * its sub-calls. + */ + uint64_t growth_gas; + /** * The reference to output data. * @@ -506,8 +512,6 @@ struct evmc_result * to be optionally used by the evmc_result object creator. * * @see evmc_result_optional_data, evmc_get_optional_data(). - * - * Also extends the size of the evmc_result to 64 bytes (full cache line). */ uint8_t padding[4]; };