Skip to content

Commit

Permalink
refactor: change estimate gas calculation (#1626)
Browse files Browse the repository at this point in the history
* refactor: change estimate gas calculation

* add annotation

* cargo fmt
  • Loading branch information
Eason Gao authored Dec 7, 2023
1 parent 31f8fbc commit d38ae58
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions core/executor/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,10 @@ impl Executor for AxonExecutor {
to: Option<H160>,
value: U256,
data: Vec<u8>,
estimate: bool,
is_estimate: bool,
) -> TxResp {
self.init_local_system_contract_roots(backend);
let config = {
let mut config = self.config();
// whether run the gasometer in estimate mode or not
config.estimate = estimate;
config
};
let config = self.config();
let metadata = StackSubstateMetadata::new(gas_limit, &config);
let state = MemoryStackState::new(metadata, backend);
let precompiles = build_precompile_set();
Expand All @@ -99,6 +94,12 @@ impl Executor for AxonExecutor {
};

let used_gas = executor.used_gas();
let used_gas = if is_estimate {
// The estimate gas coef is 1.25
(used_gas / 4) + used_gas
} else {
used_gas
};

TxResp {
exit_reason: exit,
Expand Down

0 comments on commit d38ae58

Please sign in to comment.