Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion silkworm/core/execution/processor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,12 @@ ExecutionProcessor::ExecutionProcessor(const Block& block, protocol::IRuleSet& r
: state_{state}, rule_set_{rule_set}, evm_{block, state_, config}, gas_prices_{gas_prices} {
evm_.beneficiary = rule_set.get_beneficiary(block.header);
}

ExecutionResult ExecutionProcessor::execute_transaction(const Transaction& txn, Receipt& receipt, const evmone::gas_parameters& gas_params) noexcept {
CallResult rc;
return execute_transaction(txn, receipt, gas_params, rc);
}

ExecutionResult ExecutionProcessor::execute_transaction(const Transaction& txn, Receipt& receipt, const evmone::gas_parameters& gas_params, CallResult &rc) noexcept {
assert(protocol::validate_transaction(txn, state_, available_gas()) == ValidationResult::kOk);

ExecutionResult res;
Expand Down Expand Up @@ -121,6 +125,7 @@ ExecutionResult ExecutionProcessor::execute_transaction(const Transaction& txn,
receipt.cumulative_gas_used = cumulative_gas_used_;
receipt.bloom = logs_bloom(state_.logs());
std::swap(receipt.logs, state_.logs());
rc = std::move(vm_res);
return res;
}

Expand Down
1 change: 1 addition & 0 deletions silkworm/core/execution/processor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ class ExecutionProcessor {
* Precondition: transaction must be valid.
*/
ExecutionResult execute_transaction(const Transaction& txn, Receipt& receipt, const evmone::gas_parameters& gas_params) noexcept;
ExecutionResult execute_transaction(const Transaction& txn, Receipt& receipt, const evmone::gas_parameters& gas_params, CallResult &rc) noexcept;

//! \brief Execute the block and write the result to the DB.
//! \remarks Warning: This method does not verify state root; pre-Byzantium receipt root isn't validated either.
Expand Down