gf_eth_tx

package
v0.0.0-...-a99ce35 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2021 License: GPL-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DB__get_count

func DB__get_count(p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) (uint64, uint64, *gf_core.GF_error)

------------------------------------------------- DB__GET_COUNT

func DB__write_bulk

func DB__write_bulk(p_txs_lst []*GF_eth__tx,
	p_ctx context.Context,
	p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) *gf_core.GF_error

------------------------------------------------- DB__WRITE_BULK

func Enrich_from_block

func Enrich_from_block(p_blocks_txs_lst []*GF_eth__tx,
	p_abis_defs_map map[string]*gf_eth_contract.GF_eth__abi,
	p_ctx context.Context,
	p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) *gf_core.GF_error

------------------------------------------------- VAR -------------------------------------------------

func Enrich_logs

func Enrich_logs(p_tx_logs []*GF_eth__log,
	p_abis_map map[string]*gf_eth_contract.GF_eth__abi,
	p_ctx context.Context,
	p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) ([]map[string]interface{}, *gf_core.GF_error)

-------------------------------------------------

func Init_continuous_metrics

func Init_continuous_metrics(p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime)

func Trace__db__write_bulk

func Trace__db__write_bulk(p_txs_traces_lst []*GF_eth__tx_trace,
	p_ctx context.Context,
	p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) *gf_core.GF_error

-------------------------------------------------

func Trace__get

func Trace__get(p_tx_hash_str string,
	p_eth_rpc_host_str string,
	p_ctx context.Context,
	p_runtime_sys *gf_core.Runtime_sys) (map[string]interface{}, *gf_core.GF_error)

-------------------------------------------------

func Trace__get_and_persist_bulk

func Trace__get_and_persist_bulk(p_tx_hashes_lst []string,
	p_worker_inspector_host_port_str string,
	p_ctx context.Context,
	p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) (*gf_core.GF_error, []*gf_core.GF_error)

-------------------------------------------------

func Trace__init_continuous_metrics

func Trace__init_continuous_metrics(p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) *gf_core.GF_error

func Trace__plot

func Trace__plot(p_tx_id_hex_str string,
	p_get_hosts_fn func(context.Context, *gf_eth_core.GF_runtime) []string,
	p_ctx context.Context,
	p_py_plugins *gf_eth_core.GF_py_plugins,
	p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) (string, *gf_core.GF_error)

-------------------------------------------------

Types

type GF_eth__log

type GF_eth__log struct {
	Address_str  string   `json:"address_str"  bson:"address_str"`  // address of the contract that generated the log
	Topics_lst   []string `json:"topics_lst"   bson:"topics_lst"`   // list of topics provided by the contract
	Data_hex_str string   `json:"data_hex_str" bson:"data_hex_str"` // supplied by contract, usually ABI-encoded
}

eth_types.Log

func Get_logs

func Get_logs(p_tx_receipt *eth_types.Receipt,
	p_ctx context.Context,
	p_eth_rpc_client *ethclient.Client,
	p_runtime_sys *gf_core.Runtime_sys) ([]*GF_eth__log, *gf_core.GF_error)

-------------------------------------------------

type GF_eth__tx

type GF_eth__tx struct {
	DB_id                 string  `mapstructure:"db_id"                 json:"db_id"                 bson:"_id"`
	Creation_time__unix_f float64 `mapstructure:"creation_time__unix_f" json:"creation_time__unix_f" bson:"creation_time__unix_f"`
	Hash_str              string  `mapstructure:"hash_str"              json:"hash_str"              bson:"hash_str"`
	Index_int             uint64  `mapstructure:"index_int"             json:"index_int"             bson:"index_int"` // position of the transaction in the block
	Block_num_int         uint64  `mapstructure:"block_num_int"    json:"block_num_int"    bson:"block_num_int"`
	Block_hash_str        string  `mapstructure:"block_hash_str"   json:"block_hash_str"   bson:"block_hash_str"`
	From_addr_str         string  `mapstructure:"from_addr_str"    json:"from_addr_str"    bson:"from_addr_str"`
	To_addr_str           string  `mapstructure:"to_addr_str"      json:"to_addr_str"      bson:"to_addr_str"`
	Value_eth_f           float64 `mapstructure:"value_eth_f"      json:"value_eth_f"      bson:"value_eth_f"`
	// Data_bytes_lst []byte                `mapstructure:"-"                json:"-"                bson:"-"`
	Data_b64_str  string                                `mapstructure:"data_b64_str"     json:"data_b64_str"     bson:"-"`
	Gas_used_int  uint64                                `mapstructure:"gas_used_int"     json:"gas_used_int"     bson:"gas_used_int"`
	Gas_price_int uint64                                `mapstructure:"gas_price_int"    json:"gas_price_int"    bson:"gas_price_int"`
	Nonce_int     uint64                                `mapstructure:"nonce_int"        json:"nonce_int"        bson:"nonce_int"`
	Size_f        float64                               `mapstructure:"size_f"           json:"size_f"           bson:"size_f"`
	Cost_gwei_f   float64                               `mapstructure:"cost_gwei_f"    json:"cost_gwei_f"    bson:"cost_gwei_f"`
	Contract_new  *gf_eth_contract.GF_eth__contract_new `mapstructure:"contract_new_map" json:"contract_new_map" bson:"contract_new_map"`
	Logs_lst      []*GF_eth__log                        `mapstructure:"logs_lst"         json:"logs_lst"         bson:"logs_lst"`
}

-------------------------------------------------

func DB__get

func DB__get(p_tx_hash_str string,
	p_ctx context.Context,
	p_metrics *gf_eth_core.GF_metrics,
	p_runtime *gf_eth_core.GF_runtime) (*GF_eth__tx, *gf_core.GF_error)

------------------------------------------------- DB__GET

func Load

func Load(p_tx *eth_types.Transaction,
	p_tx_index_int uint,
	p_block_hash eth_common.Hash,
	p_block_num_int uint64,
	p_ctx context.Context,
	p_eth_rpc_client *ethclient.Client,
	p_py_plugins *gf_eth_core.GF_py_plugins,
	p_runtime_sys *gf_core.Runtime_sys) (*GF_eth__tx, *gf_core.GF_error)

-------------------------------------------------

type GF_eth__tx_trace

type GF_eth__tx_trace struct {
	DB_id                 string                     `mapstructure:"db_id"                 json:"db_id"                 bson:"_id"`
	Creation_time__unix_f float64                    `mapstructure:"creation_time__unix_f" json:"creation_time__unix_f" bson:"creation_time__unix_f"`
	Tx_hash_str           string                     `mapstructure:"tx_hash_str"           json:"tx_hash_str"        bson:"tx_hash_str"`
	Gas_used_uint         uint64                     `mapstructure:"gas_used_uint"         json:"gas_used_uint"      bson:"gas_used_uint"`
	Value_returned_str    string                     `mapstructure:"value_returned_str"    json:"value_returned_str" bson:"value_returned_str"`
	Failed_bool           bool                       `mapstructure:"failed_bool"           json:"failed_bool"        bson:"failed_bool"`
	Opcodes_lst           []*GF_eth__tx_trace_opcode `mapstructure:"opcodes_lst"           json:"opcodes_lst"        bson:"opcodes_lst"`
}

-------------------------------------------------

func Trace__get_from_worker_inspector

func Trace__get_from_worker_inspector(p_tx_hash_str string,
	p_host_port_str string,
	p_ctx context.Context,
	p_runtime_sys *gf_core.Runtime_sys) (*GF_eth__tx_trace, *gf_core.GF_error)

------------------------------------------------- GET_FROM_WORKER_INSPECTOR

type GF_eth__tx_trace_opcode

type GF_eth__tx_trace_opcode struct {
	Op_str             string            `mapstructure:"op_str"             json:"op_str"             bson:"op_str"`
	Pc_int             uint              `mapstructure:"pc_int"             json:"pc_int"             bson:"pc_int"` // program counter
	Gas_cost_uint      uint              `mapstructure:"gas_cost_uint"      json:"gas_cost_uint"      bson:"gas_cost_uint"`
	Gas_remaining_uint uint64            `mapstructure:"gas_remaining_uint" json:"gas_remaining_uint" bson:"gas_remaining_uint"` // decreasing count of how much gas is left before this Op executes
	Stack_lst          []string          `mapstructure:"stack_lst"          json:"stack_lst"          bson:"stack_lst"`
	Memory_lst         []string          `mapstructure:"memory_lst"         json:"memory_lst"         bson:"memory_lst"`
	Storage_map        map[string]string `mapstructure:"storage_map"        json:"storage_map"        bson:"storage_map"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL