Permalink
Switch branches/tags
1771-QA 1972-QA 2032 2153-QA 4064 4254-snapshots 4971-enable-stale-production-fix 4986-alternative-fix-2 5674-test-of-free-port 5674-under-min-avail DAWN-551-Contract-Debugging-Merge DAWN-551-Contract-Debugging april-26-workshop ben-demo-docs bft-dpos binaryen-recursion bios-boot-tutorial-block-age2 bitshares-fc-variant-fixes block_summaries bnet2 build-containers-on-commit buildkite-mojave cleos-R cleos-keos cleos-pretty-get-account-cleos-keos cleos-pretty-get-account cleos_warn_on_nonwasm cmake_boost_dep_cleanup constitution contextfree contract-refactor contracts-use-new-dbapi dan-slim dan-slim2 dan2 dawn-2.x dawn-617-genesis-claim dawn-690-gh#1844-enable-tests deferred-transactions deferred_transaction_fix develop dhaneshvb-malicious-contract diffie-hellman-key-exchange-545 docker-eosiocpp-fix docker-mongodb docs-112318 docs-pull-3991 doxygen-cpp-sdk ecc-r1 eos-noon-network eos-noon eos-repo-contract-refactor eos2 eosbios-gcc-compatibility eosio.system exchange2 feature/add-test-for-reducing-producer-schedule feature/backport-docker-eosiocpp-fix feature/binary_release feature/bump-version-to-1.1.6 feature/bump-version-to-1.2.1 feature/bump-version-to-1.2.4 feature/bump-version-to-1.5.0-rc2 feature/logging-changes-for-testing feature/logging-changes feature/port-6222 feature/revert-6222 feature/1.0.8-security-omnibus feature/5057-subjectively-fail-ambiguous-dtrx-case final_keosd_unix_socket_changes fix_unused_lambda_captures fix/wasm_call_depth_limit fork-db-refactor gh#3612-bnet history-plugin-fix identity issue1760 issue2898 issue3187 jit-schedule-512 json-forever-loop-fix june-28-workshop keosd_daemon long-running-test-branch master merge/1.5.0-to-develop metric metric2 mongo-filter mongo-shard moxygen multisig native-contract-debugging network-buffer networkv2 new-checktime-injection optimize-net-plugin p2p-always-send p2p-connection-refactor p2p-issue-3017-fix paul port-1.1.4 read-mode-irreversible regularize-replay-logging release/1.0.x release/1.1.x release/1.2.x release/1.3.x release/1.4.x release/1.5.x remove-docker-nodeos-wallet-plugin-settings replay-irreversible-mode sdk sigabrt-net-plugin sim skip_skip_trx_checks slim snapshot-plugin staging superhero-01-25 system-contract-deferred-unstaking system-contract-upgrade system-test-fix-draft system systemcontract taokayan-abiarray token-refactor trivial_wallet_dir_lock txn_gen_modified txn_test_plugin_wasm_mt update-block-num vote-max-transaction-delay-2 vote-max-transaction-delay wasm32
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
81 lines (62 sloc) 2.87 KB
/**
* @file
* @copyright defined in eos/LICENSE.txt
*/
#pragma once
#include <eosio/chain/action.hpp>
#include <eosio/chain/action_receipt.hpp>
#include <eosio/chain/block.hpp>
namespace eosio { namespace chain {
struct account_delta {
account_delta( const account_name& n, int64_t d):account(n),delta(d){}
account_delta(){}
account_name account;
int64_t delta = 0;
friend bool operator<( const account_delta& lhs, const account_delta& rhs ) { return lhs.account < rhs.account; }
};
struct base_action_trace {
base_action_trace( const action_receipt& r ):receipt(r){}
base_action_trace(){}
action_receipt receipt;
action act;
bool context_free = false;
fc::microseconds elapsed;
string console;
transaction_id_type trx_id; ///< the transaction that generated this action
uint32_t block_num = 0;
block_timestamp_type block_time;
fc::optional<block_id_type> producer_block_id;
flat_set<account_delta> account_ram_deltas;
fc::optional<fc::exception> except;
};
struct action_trace : public base_action_trace {
using base_action_trace::base_action_trace;
vector<action_trace> inline_traces;
};
struct transaction_trace;
using transaction_trace_ptr = std::shared_ptr<transaction_trace>;
struct transaction_trace {
transaction_id_type id;
uint32_t block_num = 0;
block_timestamp_type block_time;
fc::optional<block_id_type> producer_block_id;
fc::optional<transaction_receipt_header> receipt;
fc::microseconds elapsed;
uint64_t net_usage = 0;
bool scheduled = false;
vector<action_trace> action_traces; ///< disposable
transaction_trace_ptr failed_dtrx_trace;
fc::optional<fc::exception> except;
std::exception_ptr except_ptr;
};
} } /// namespace eosio::chain
FC_REFLECT( eosio::chain::account_delta,
(account)(delta) )
FC_REFLECT( eosio::chain::base_action_trace,
(receipt)(act)(context_free)(elapsed)(console)(trx_id)
(block_num)(block_time)(producer_block_id)(account_ram_deltas)(except) )
FC_REFLECT_DERIVED( eosio::chain::action_trace,
(eosio::chain::base_action_trace), (inline_traces) )
FC_REFLECT( eosio::chain::transaction_trace, (id)(block_num)(block_time)(producer_block_id)
(receipt)(elapsed)(net_usage)(scheduled)
(action_traces)(failed_dtrx_trace)(except) )