提交 77317a9f 编写于 作者: A arhag

bill extra cpu for setcode

上级 09af9452
...@@ -37,8 +37,13 @@ action_trace apply_context::exec_one() ...@@ -37,8 +37,13 @@ action_trace apply_context::exec_one()
auto start = fc::time_point::now(); auto start = fc::time_point::now();
cpu_usage = 0; cpu_usage = 0;
cpu_usage_limit = trx_context.get_action_cpu_usage_limit( context_free ); cpu_usage_limit = trx_context.get_action_cpu_usage_limit( context_free );
checktime( control.get_global_properties().configuration.base_per_action_cpu_usage ); const auto& cfg = control.get_global_properties().configuration;
checktime( cfg.base_per_action_cpu_usage );
try { try {
if( act.account == config::system_account_name && act.name == N(setcode) && receiver == config::system_account_name ) {
checktime( cfg.base_setcode_cpu_usage );
}
const auto &a = control.get_account(receiver); const auto &a = control.get_account(receiver);
privileged = a.privileged; privileged = a.privileged;
auto native = control.find_apply_handler(receiver, act.account, act.name); auto native = control.find_apply_handler(receiver, act.account, act.name);
...@@ -46,7 +51,7 @@ action_trace apply_context::exec_one() ...@@ -46,7 +51,7 @@ action_trace apply_context::exec_one()
(*native)(*this); (*native)(*this);
} }
if (a.code.size() > 0 && !(act.name == N(setcode) && act.account == config::system_account_name)) { if( a.code.size() > 0 && !(act.account == config::system_account_name && act.name == N(setcode)) ) {
try { try {
control.get_wasm_interface().apply(a.code_version, a.code, *this); control.get_wasm_interface().apply(a.code_version, a.code, *this);
} catch ( const wasm_exit& ){} } catch ( const wasm_exit& ){}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册