| 340 | } |
| 341 | |
| 342 | void CUniversalTx::execute_inline_transaction( wasm::inline_transaction_trace& trace, |
| 343 | wasm::inline_transaction& trx, |
| 344 | uint64_t receiver, |
| 345 | CCacheWrapper& database, |
| 346 | vector <CReceipt>& receipts, |
| 347 | uint32_t recurse_depth) { |
| 348 | |
| 349 | wasm_context wasm_execute_context(*this, trx, database, receipts, mining, recurse_depth); |
| 350 | |
| 351 | //check timeout |
| 352 | CHAIN_ASSERT( std::chrono::duration_cast<std::chrono::microseconds>(system_clock::now() - pseudo_start) < |
| 353 | get_max_transaction_duration() * 1000, |
| 354 | wasm_chain::wasm_timeout_exception, "%s", "timeout"); |
| 355 | |
| 356 | wasm_execute_context._receiver = receiver; |
| 357 | wasm_execute_context.execute(trace); |
| 358 | |
| 359 | } |
| 360 | |
| 361 | |
| 362 | bool CUniversalTx::GetInvolvedKeyIds(CCacheWrapper &cw, set <CKeyID> &keyIds) { |