SYMBOL INDEX (3043 symbols across 523 files) FILE: .circleci/test_runner.py function create_job (line 10) | def create_job(test_runner: str) -> str: function check_job_completed (line 32) | def check_job_completed(test_runner: str, job_id: str): function check_job_result (line 53) | def check_job_result(test_runner: str, job_id: str): function get_envs (line 69) | def get_envs() -> dict: function start_workflow (line 82) | def start_workflow(): function set_logger (line 92) | def set_logger(): FILE: apps/omg_bus/lib/omg_bus.ex class OMG.Bus (line 15) | defmodule OMG.Bus FILE: apps/omg_bus/lib/omg_bus/application.ex class OMG.Bus.Application (line 15) | defmodule OMG.Bus.Application method start (line 20) | def start(_type, _args) do FILE: apps/omg_bus/lib/omg_bus/event.ex class OMG.Bus.Event (line 15) | defmodule OMG.Bus.Event FILE: apps/omg_bus/lib/omg_bus/pubsub.ex class OMG.Bus.PubSub (line 15) | defmodule OMG.Bus.PubSub method child_spec (line 31) | def child_spec(args \\ []) do FILE: apps/omg_bus/lib/omg_bus/supervisor.ex class OMG.Bus.Supervisor (line 15) | defmodule OMG.Bus.Supervisor method start_link (line 22) | def start_link() do method init (line 26) | def init(:ok) do FILE: apps/omg_bus/mix.exs class OMG.Bus.MixProject (line 1) | defmodule OMG.Bus.MixProject method project (line 4) | def project() do method application (line 20) | def application() do method version (line 28) | defp version() do method elixirc_paths (line 37) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 38) | defp elixirc_paths(:dev), do: ["lib"] method elixirc_paths (line 39) | defp elixirc_paths(:test), do: ["lib", "test/support"] method deps (line 41) | defp deps(), do: [{:phoenix_pubsub, "~> 2.0"}] FILE: apps/omg_bus/test/omg_bus/event_test.exs class OMG.Bus.EventTest (line 15) | defmodule OMG.Bus.EventTest FILE: apps/omg_conformance/mix.exs class OMG.Conformance.MixProject (line 1) | defmodule OMG.Conformance.MixProject method project (line 4) | def project() do method application (line 20) | def application() do method version (line 26) | defp version() do method elixirc_paths (line 34) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 35) | defp elixirc_paths(:dev), do: ["lib"] method elixirc_paths (line 36) | defp elixirc_paths(:test), do: ["lib", "test/support"] method deps (line 38) | defp deps() do FILE: apps/omg_conformance/test/omg_conformance/conformance/merkle_proof_property_test.exs class OMG.Conformance.MerkleProofPropertyTest (line 15) | defmodule OMG.Conformance.MerkleProofPropertyTest FILE: apps/omg_conformance/test/omg_conformance/conformance/merkle_proof_test.exs class OMG.Conformance.MerkleProofTest (line 15) | defmodule OMG.Conformance.MerkleProofTest FILE: apps/omg_conformance/test/omg_conformance/conformance/signature_property_test.exs class OMG.Conformance.SignaturePropertyTest (line 15) | defmodule OMG.Conformance.SignaturePropertyTest FILE: apps/omg_conformance/test/omg_conformance/conformance/signature_test.exs class OMG.Conformance.SignatureTest (line 15) | defmodule OMG.Conformance.SignatureTest FILE: apps/omg_conformance/test/support/conformance/merkle_proof_context.ex class Support.Conformance.MerkleProofContext (line 15) | defmodule Support.Conformance.MerkleProofContext method correct (line 29) | def correct() do method mutated_leaf (line 45) | def mutated_leaf(%__MODULE__{} = base) do method mutated_txindex (line 66) | def mutated_txindex(%__MODULE__{} = base) do method mutated_proof (line 80) | def mutated_proof(%__MODULE__{} = base) do method mutated_to_prove_sth_else (line 91) | def mutated_to_prove_sth_else(%__MODULE__{} = base) do method zero_out_leaf (line 104) | defp zero_out_leaf(%__MODULE__{} = base) do method random_leaf (line 108) | defp random_leaf(%__MODULE__{} = base) do method trimmed_leaf (line 114) | defp trimmed_leaf(%__MODULE__{} = base) do method expanded_leaf (line 122) | defp expanded_leaf(%__MODULE__{} = base) do method get_other_leaf (line 128) | defp get_other_leaf(%__MODULE__{} = base) do method bitwise_modify_proof (line 140) | defp bitwise_modify_proof(%__MODULE__{} = base) do method chunkwise_modify_proof (line 147) | defp chunkwise_modify_proof(%__MODULE__{} = base) do method insert_zero_chunk (line 158) | defp insert_zero_chunk(%__MODULE__{} = base) do method insert_leaf_chunk (line 165) | defp insert_leaf_chunk(%__MODULE__{} = base) do method drop_chunk (line 172) | defp drop_chunk(%__MODULE__{} = base) do method swap_neighbors (line 179) | defp swap_neighbors(%__MODULE__{} = base) do method bitwise_append (line 195) | defp bitwise_append(%__MODULE__{} = base) do method prescribed_binary (line 209) | defp prescribed_binary(), do: union(@prescribed_binaries) method pragmatic_binary (line 210) | defp pragmatic_binary(), do: union([binary(), prescribed_binary()]) method non_empty_binary (line 212) | defp non_empty_binary(), do: such_that(b <- pragmatic_binary(), when: ... method chunk (line 217) | defp chunk(proof), do: for(<>, do: <>) method unchunk (line 218) | defp unchunk(chunked_proof), do: Enum.join(chunked_proof) FILE: apps/omg_conformance/test/support/conformance/merkle_proofs.ex class Support.Conformance.MerkleProofs (line 15) | defmodule Support.Conformance.MerkleProofs method solidity_proof_valid (line 27) | def solidity_proof_valid(leaf, index, root_hash, proof, contract) do method assert_contract_reverted (line 49) | defp assert_contract_reverted(chopped_reason_binary_result) do method call_contract (line 58) | defp call_contract(contract, signature, args, return_types) do method decode_answer (line 71) | defp decode_answer(enc_return, return_types) do FILE: apps/omg_conformance/test/support/conformance/property.ex class Support.Conformance.PropertyGenerators (line 15) | defmodule Support.Conformance.PropertyGenerators method payment_tx (line 29) | def payment_tx() do method distinct_payment_txs (line 40) | def distinct_payment_txs() do method tx_binary_with_mutation (line 63) | def tx_binary_with_mutation() do method tx_binary_with_rlp_mutation (line 76) | def tx_binary_with_rlp_mutation() do method is_pair_of_distinct_terms? (line 86) | defp is_pair_of_distinct_terms?({base_term, new_term}), do: base_term ... method non_zero_address (line 88) | defp non_zero_address(), do: union([exactly(<<1::160>>), binary(20)]) method address (line 89) | defp address(), do: union([exactly(<<0::160>>), exactly(<<1::160>>), b... method hash (line 90) | defp hash(), do: union([exactly(<<0::256>>), exactly(<<1::256>>), bina... method injectable_binary (line 92) | defp injectable_binary() do method valid_blknum (line 118) | defp valid_blknum(), do: integer(0, @max_blknum) method valid_txndex (line 119) | defp valid_txndex(), do: integer(0, @max_txindex) method valid_oindex (line 120) | defp valid_oindex(), do: integer(0, @transaction_offset - 1) method valid_input_tuple (line 123) | defp valid_input_tuple() do method valid_output_tuple (line 133) | defp valid_output_tuple() do method valid_inputs_list (line 139) | defp valid_inputs_list() do method valid_outputs_list (line 143) | defp valid_outputs_list() do method mutated_hash (line 147) | defp mutated_hash(base_hash) do method mutated_inputs (line 152) | defp mutated_inputs(inputs) do method mutated_outputs (line 157) | defp mutated_outputs(outputs) do method prepend_binary (line 162) | defp prepend_binary(base_binary) do method apend_binary (line 166) | defp apend_binary(base_binary) do method substring_binary (line 170) | defp substring_binary(base_binary) do method insert_into_binary (line 182) | defp insert_into_binary(base_binary) do method mutate_binary (line 190) | defp mutate_binary(base_binary) do method inject_extra_item (line 208) | defp inject_extra_item(base_rlp_items) do method try_reversing (line 213) | defp try_reversing(rlp_item), do: rlp_item method swap_in_rlp (line 215) | defp swap_in_rlp([]), do: rlp_item_generator() method rlp_item_generator (line 232) | defp rlp_item_generator(), method mutate_sub_rlp (line 235) | defp mutate_sub_rlp(base_rlp_items) do method rlp_mutate_binary (line 244) | defp rlp_mutate_binary(base_binary) do FILE: apps/omg_conformance/test/support/conformance/signatures_hashes.ex class Support.Conformance.SignaturesHashes (line 15) | defmodule Support.Conformance.SignaturesHashes method verify_distinct (line 29) | def verify_distinct(tx1, tx2, contract) do method verify (line 41) | def verify(tx, contract) do method verify_both_error (line 48) | def verify_both_error(some_binary, contract) do method verify_distinct_or_erroring (line 66) | def verify_distinct_or_erroring(tx1_binary, tx2_binary, contract) do method solidity_hash! (line 101) | defp solidity_hash!(tx, contract) do method solidity_hash (line 106) | defp solidity_hash(%{} = tx, contract), do: tx |> Transaction.raw_txby... method elixir_hash (line 115) | defp elixir_hash(%{} = tx), do: TypedDataHash.hash_struct(tx) method elixir_hash (line 116) | defp elixir_hash(encoded_tx), do: encoded_tx |> Transaction.decode!() ... method assert_contract_reverted (line 118) | defp assert_contract_reverted(result) do method call_contract (line 123) | defp call_contract(contract, signature, args, return_types) do method decode_answer (line 136) | defp decode_answer(enc_return, return_types) do FILE: apps/omg_conformance/test/support/conformance/signatures_hashes_case.ex class Support.Conformance.SignaturesHashesCase (line 15) | defmodule Support.Conformance.SignaturesHashesCase FILE: apps/omg_db/lib/db.ex class OMG.DB (line 15) | defmodule OMG.DB method start_link (line 68) | def start_link(args), do: RocksDB.start_link(args) method child_spec (line 70) | def child_spec(), do: RocksDB.child_spec() method child_spec (line 71) | def child_spec(args), do: RocksDB.child_spec(args) method init (line 73) | def init(path) do method init (line 77) | def init() do method initiation_multiupdate (line 85) | def initiation_multiupdate(), do: RocksDB.initiation_multiupdate() method initiation_multiupdate (line 86) | def initiation_multiupdate(server), do: RocksDB.initiation_multiupdate... method multi_update (line 89) | def multi_update(db_updates), do: RocksDB.multi_update(db_updates) method multi_update (line 90) | def multi_update(db_updates, server), do: RocksDB.multi_update(db_upda... method blocks (line 92) | def blocks(blocks_to_fetch), do: RocksDB.blocks(blocks_to_fetch) method blocks (line 93) | def blocks(blocks_to_fetch, server), do: RocksDB.blocks(blocks_to_fetc... method utxos (line 95) | def utxos(), do: RocksDB.utxos() method utxos (line 96) | def utxos(server), do: RocksDB.utxos(server) method utxo (line 98) | def utxo(utxo_pos), do: RocksDB.utxo(utxo_pos) method utxo (line 99) | def utxo(utxo_pos, server), do: RocksDB.utxo(utxo_pos, server) method competitors_info (line 101) | def competitors_info(), do: RocksDB.competitors_info() method competitors_info (line 102) | def competitors_info(server), do: RocksDB.competitors_info(server) method spent_blknum (line 104) | def spent_blknum(utxo_pos), do: RocksDB.spent_blknum(utxo_pos) method spent_blknum (line 105) | def spent_blknum(utxo_pos, server), do: RocksDB.spent_blknum(utxo_pos,... method block_hashes (line 107) | def block_hashes(block_numbers_to_fetch), do: RocksDB.block_hashes(blo... method block_hashes (line 108) | def block_hashes(block_numbers_to_fetch, server), do: RocksDB.block_ha... method child_top_block_number (line 110) | def child_top_block_number(), do: RocksDB.child_top_block_number() method get_single_value (line 112) | def get_single_value(parameter_name), do: RocksDB.get_single_value(par... method get_single_value (line 113) | def get_single_value(parameter_name, server), do: RocksDB.get_single_v... method batch_get (line 119) | def batch_get(type, specific_keys), do: RocksDB.batch_get(type, specif... method batch_get (line 120) | def batch_get(type, specific_keys, opts), do: RocksDB.batch_get(type, ... method get_all_by_type (line 125) | def get_all_by_type(type), do: RocksDB.get_all_by_type(type) method get_all_by_type (line 126) | def get_all_by_type(type, opts), do: RocksDB.get_all_by_type(type, opts) method single_value_parameter_names (line 131) | def single_value_parameter_names() do FILE: apps/omg_db/lib/omg_db/application.ex class OMG.DB.Application (line 15) | defmodule OMG.DB.Application method start (line 20) | def start(_type, _args) do method start_phase (line 28) | def start_phase(:attach_telemetry, :normal, _phase_args) do FILE: apps/omg_db/lib/omg_db/measure.ex class OMG.DB.Measure (line 15) | defmodule OMG.DB.Measure method supported_events (line 40) | def supported_events(), do: @supported_events FILE: apps/omg_db/lib/omg_db/models/payment_exit_info.ex class OMG.DB.Models.PaymentExitInfo (line 15) | defmodule OMG.DB.Models.PaymentExitInfo method exit_info (line 27) | def exit_info(utxo_pos, server \\ @server_name) do method all_exit_infos (line 37) | def all_exit_infos(server \\ @server_name) do method all_in_flight_exits_infos (line 41) | def all_in_flight_exits_infos(server \\ @server_name) do FILE: apps/omg_db/lib/omg_db/release_tasks/init_key_value_db.ex class OMG.DB.ReleaseTasks.InitKeyValueDB (line 15) | defmodule OMG.DB.ReleaseTasks.InitKeyValueDB method run (line 23) | def run() do method process (line 29) | defp process(path) do method init_kv_db (line 36) | defp init_kv_db(path) do method on_load (line 47) | defp on_load() do FILE: apps/omg_db/lib/omg_db/release_tasks/init_keys_with_values.ex class OMG.DB.ReleaseTasks.InitKeysWithValues (line 15) | defmodule OMG.DB.ReleaseTasks.InitKeysWithValues method run (line 23) | def run() do method set_single_value (line 39) | defp set_single_value({key, init_val}) do FILE: apps/omg_db/lib/omg_db/release_tasks/set_key_value_db.ex class OMG.DB.ReleaseTasks.SetKeyValueDB (line 15) | defmodule OMG.DB.ReleaseTasks.SetKeyValueDB method init (line 21) | def init(args) do method load (line 25) | def load(config, args) do method set_db (line 39) | defp set_db(config, root_path, release) do method get_env (line 47) | defp get_env(key), do: System.get_env(key) method on_load (line 49) | defp on_load() do FILE: apps/omg_db/lib/omg_db/rocks_db.ex class OMG.DB.RocksDB (line 15) | defmodule OMG.DB.RocksDB method start_link (line 33) | def start_link(args) do method child_spec (line 37) | def child_spec() do method child_spec (line 48) | def child_spec([db_path: _db_path, name: server_name] = args) do method multi_update (line 56) | def multi_update(db_updates, server_name \\ @server_name) do method blocks (line 61) | def blocks(blocks_to_fetch, server_name \\ @server_name) method blocks (line 63) | def blocks([], _server_name), do: {:ok, []} method blocks (line 65) | def blocks(blocks_to_fetch, server_name) do method utxos (line 69) | def utxos(server_name \\ @server_name) do method utxo (line 74) | def utxo(utxo_pos, server_name \\ @server_name) do method competitors_info (line 78) | def competitors_info(server_name \\ @server_name) do method spent_blknum (line 83) | def spent_blknum(utxo_pos, server_name \\ @server_name) do method block_hashes (line 87) | def block_hashes(block_numbers_to_fetch, server_name \\ @server_name) do method child_top_block_number (line 91) | def child_top_block_number(server_name \\ @server_name) do method get_single_value (line 98) | def get_single_value(parameter_name, server_name \\ @server_name) do method batch_get (line 109) | def batch_get(type, specific_keys, opts \\ []) do method get_all_by_type (line 129) | def get_all_by_type(type, opts \\ []) do method initiation_multiupdate (line 141) | def initiation_multiupdate(server_name \\ @server_name) do method init (line 151) | def init(), do: do_init(@server_name, Application.fetch_env!(:omg_db, ... method init (line 158) | def init(server_name), do: do_init(server_name, Application.fetch_env!... method init (line 159) | def init(server_name, path), do: do_init(server_name, path) method do_init (line 163) | defp do_init(server_name, path) do FILE: apps/omg_db/lib/omg_db/rocksdb/core.ex class OMG.DB.RocksDB.Core (line 15) | defmodule OMG.DB.RocksDB.Core method parse_multi_updates (line 49) | def parse_multi_updates(db_updates), do: Enum.flat_map(db_updates, &pa... method decode_value (line 55) | def decode_value(db_response) do method decode_values (line 67) | def decode_values(encoded_enumerable) do method key_for_item (line 85) | defp key_for_item(:block, %{hash: hash} = _block), do: key(:block, hash) method key_for_item (line 86) | defp key_for_item(:utxo, {position, _utxo}), do: key(:utxo, position) method key_for_item (line 87) | defp key_for_item(:spend, {position, _blknum}), do: key(:spend, position) method key_for_item (line 88) | defp key_for_item(:exit_info, {position, _exit_info}), do: key(:exit_i... method key_for_item (line 89) | defp key_for_item(:in_flight_exit_info, {position, _info}), do: key(:i... method key_for_item (line 90) | defp key_for_item(:competitor_info, {position, _info}), do: key(:compe... method parse_multi_update (line 93) | defp parse_multi_update({:put, :block, %{number: number, hash: hash} =... method parse_multi_update (line 100) | defp parse_multi_update({:put, type, item}), do: [{:put, key_for_item(... method parse_multi_update (line 101) | defp parse_multi_update({:delete, type, item}), do: [{:delete, key(typ... method encode_value (line 103) | defp encode_value(:spend, {_position, blknum}), do: :erlang.term_to_bi... method encode_value (line 104) | defp encode_value(_type, value), do: :erlang.term_to_binary(value) method decode_response (line 107) | defp decode_response(db_response) do method do_filter_keys (line 121) | defp do_filter_keys(reference, prefix) do method search (line 128) | defp search(_reference, _iterator, {:error, :invalid_iterator}, acc), ... method search (line 129) | defp search(reference, iterator, {:ok, _key, value}, acc), do: do_sear... method do_search (line 131) | defp do_search(reference, iterator, acc) do FILE: apps/omg_db/lib/omg_db/rocksdb/server.ex class OMG.DB.RocksDB.Server (line 15) | defmodule OMG.DB.RocksDB.Server method init_storage (line 38) | def init_storage(db_path) do method do_init_storage (line 42) | defp do_init_storage(db_path) do method start_link (line 48) | def start_link([db_path: _db_path, name: name] = args) do method init (line 53) | def init(db_path: db_path, name: name) do method handle_info (line 76) | def handle_info(:send_metrics, state) do method handle_call (line 81) | def handle_call({:multi_update, db_updates}, _from, state) do method handle_call (line 85) | def handle_call({:blocks, blocks_to_fetch}, _from, state) do method handle_call (line 89) | def handle_call(:utxos, _from, state) do method handle_call (line 93) | def handle_call({:utxo, utxo_pos}, _from, state) do method handle_call (line 97) | def handle_call({:block_hashes, block_numbers_to_fetch}, _from, state) do method handle_call (line 101) | def handle_call(:competitors_info, _from, state) do method handle_call (line 110) | def handle_call({:spent_blknum, utxo_pos}, _from, state) do method handle_call (line 114) | def handle_call({:get, type, specific_keys}, _from, state) do method handle_call (line 124) | def handle_call({:get_all_by_type, type}, _from, state) do method terminate (line 130) | def terminate(_reason, %__MODULE__{db_ref: db_ref}) do method do_multi_update (line 134) | defp do_multi_update(db_updates, state) do method do_blocks (line 143) | defp do_blocks(blocks_to_fetch, state) do method do_utxos (line 155) | defp do_utxos(state) do method do_utxo (line 160) | defp do_utxo(utxo_pos, state) do method do_block_hashes (line 165) | defp do_block_hashes(block_numbers_to_fetch, state) do method do_competitors_info (line 175) | defp do_competitors_info(state) do method do_get_single_value (line 180) | defp do_get_single_value(parameter, state) do method do_spent_blknum (line 190) | defp do_spent_blknum(utxo_pos, state) do method do_get_all_by_type (line 203) | defp do_get_all_by_type(type, db_ref) do method create_stats_table (line 207) | defp create_stats_table(name) do method table_settings (line 219) | defp table_settings() do method write (line 228) | defp write(operations, %__MODULE__{db_ref: db_ref} = state) do method get_decoded_data_with_type_and_specific_key (line 233) | defp get_decoded_data_with_type_and_specific_key(type, specific_key, s... method get (line 248) | defp get(key, %__MODULE__{db_ref: db_ref} = state) do method get_all_by_type (line 253) | defp get_all_by_type(type, %__MODULE__{db_ref: db_ref} = state) do FILE: apps/omg_db/mix.exs class OMG.DB.MixProject (line 1) | defmodule OMG.DB.MixProject method project (line 4) | def project() do method application (line 20) | def application() do method version (line 28) | defp version() do method elixirc_paths (line 37) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 38) | defp elixirc_paths(:dev), do: ["lib"] method elixirc_paths (line 39) | defp elixirc_paths(:test), do: ["lib", "test/support"] method deps (line 41) | defp deps() do FILE: apps/omg_db/test/fixtures.exs class OMG.DB.Fixtures (line 15) | defmodule OMG.DB.Fixtures FILE: apps/omg_db/test/omg_db/application_test.exs class OMG.DB.ApplicationTest (line 15) | defmodule OMG.DB.ApplicationTest FILE: apps/omg_db/test/omg_db/db_test.exs class OMG.DBTest (line 15) | defmodule OMG.DBTest method create_write (line 105) | defp create_write(:utxo = type, pid) do method create_write (line 115) | defp create_write(:competitor_info = type, pid) do method write (line 122) | defp write(db_writes, pid), do: OMG.DB.multi_update(db_writes, pid) method get_raw_values (line 123) | defp get_raw_values(db_writes), do: Enum.map(db_writes, &elem(&1, 2)) method restart (line 125) | defp restart(dir, pid) do FILE: apps/omg_db/test/omg_db/models/payment_exit_info_test.exs class OMG.DB.PaymentExitInfoTest (line 15) | defmodule OMG.DB.PaymentExitInfoTest method create_write (line 79) | defp create_write(:exit_info = type, pid) do method create_write (line 87) | defp create_write(:in_flight_exit_info = type, pid) do method write (line 94) | defp write(db_writes, pid), do: OMG.DB.multi_update(db_writes, pid) method get_raw_values (line 95) | defp get_raw_values(db_writes), do: Enum.map(db_writes, &elem(&1, 2)) FILE: apps/omg_db/test/omg_db/release_tasks/init_key_value_db_test.exs class OMG.DB.ReleaseTasks.InitKeyValueDBTest (line 15) | defmodule OMG.DB.ReleaseTasks.InitKeyValueDBTest FILE: apps/omg_db/test/omg_db/release_tasks/init_keys_with_values_test.exs class OMG.DB.ReleaseTasks.InitKeysWithValuesTest (line 15) | defmodule OMG.DB.ReleaseTasks.InitKeysWithValuesTest FILE: apps/omg_db/test/omg_db/release_tasks/set_key_value_db_test.exs class OMG.DB.ReleaseTasks.SetKeyValueDBTest (line 15) | defmodule OMG.DB.ReleaseTasks.SetKeyValueDBTest FILE: apps/omg_db/test/omg_db/rocks_db_test.exs class OMG.RocksDBTest (line 15) | defmodule OMG.RocksDBTest method create_write (line 123) | defp create_write(:utxo = type, pid) do method create_write (line 133) | defp create_write(:competitor_info = type, pid) do method write (line 140) | defp write(db_writes, pid), do: OMG.DB.multi_update(db_writes, pid) method get_raw_values (line 141) | defp get_raw_values(db_writes), do: Enum.map(db_writes, &elem(&1, 2)) method restart (line 143) | defp restart(dir, pid) do FILE: apps/omg_db/test/support/rocks_db_case.ex class OMG.DB.RocksDBCase (line 15) | defmodule OMG.DB.RocksDBCase FILE: apps/omg_eth/lib/eth.ex class OMG.Eth (line 15) | defmodule OMG.Eth method get_block_timestamp_by_number (line 42) | def get_block_timestamp_by_number(height) do method submit_block (line 54) | def submit_block(hash, nonce, gas_price) do FILE: apps/omg_eth/lib/omg_eth/application.ex class OMG.Eth.Application (line 15) | defmodule OMG.Eth.Application method start (line 25) | def start(_type, _args) do method start_phase (line 37) | def start_phase(:attach_telemetry, :normal, _phase_args) do method valid_contracts (line 51) | defp valid_contracts() do FILE: apps/omg_eth/lib/omg_eth/blockchain/bit_helper.ex class OMG.Eth.Blockchain.BitHelper (line 15) | defmodule OMG.Eth.Blockchain.BitHelper method kec (line 42) | def kec(data) do method encode_unsigned (line 64) | def encode_unsigned(0), do: <<>> method encode_unsigned (line 65) | def encode_unsigned(n), do: :binary.encode_unsigned(n) FILE: apps/omg_eth/lib/omg_eth/blockchain/private_key.ex class OMG.Eth.Blockchain.PrivateKey (line 15) | defmodule OMG.Eth.Blockchain.PrivateKey method get (line 21) | def get() do method maybe_hex (line 27) | defp maybe_hex(hex_data, type \\ :raw) method maybe_hex (line 28) | defp maybe_hex(nil, _), do: nil method maybe_hex (line 29) | defp maybe_hex(hex_data, :raw), do: load_raw_hex(hex_data) method load_raw_hex (line 32) | defp load_raw_hex("0x" <> hex_data), do: load_raw_hex(hex_data) method load_raw_hex (line 37) | defp load_raw_hex(hex_data) do FILE: apps/omg_eth/lib/omg_eth/blockchain/transaction.ex class OMG.Eth.Blockchain.Transaction (line 15) | defmodule OMG.Eth.Blockchain.Transaction method serialize (line 78) | def serialize(trx, include_vrs \\ true) do FILE: apps/omg_eth/lib/omg_eth/blockchain/transaction/hash.ex class OMG.Eth.Blockchain.Transaction.Hash (line 15) | defmodule OMG.Eth.Blockchain.Transaction.Hash method transaction_hash (line 57) | def transaction_hash(trx, chain_id \\ nil) do method sign_hash (line 90) | def sign_hash(hash, private_key, chain_id \\ nil) do FILE: apps/omg_eth/lib/omg_eth/blockchain/transaction/signature.ex class OMG.Eth.Blockchain.Transaction.Signature (line 15) | defmodule OMG.Eth.Blockchain.Transaction.Signature method sign_transaction (line 49) | def sign_transaction(trx, private_key, chain_id \\ nil) do FILE: apps/omg_eth/lib/omg_eth/client.ex class OMG.Eth.Client (line 14) | defmodule OMG.Eth.Client method get_ethereum_height (line 22) | def get_ethereum_height(client \\ Ethereumex.HttpClient) do method node_ready (line 34) | def node_ready(client \\ Ethereumex.HttpClient) do FILE: apps/omg_eth/lib/omg_eth/configuration.ex class OMG.Eth.Configuration (line 15) | defmodule OMG.Eth.Configuration method contract_semver (line 21) | def contract_semver() do method network (line 25) | def network() do method min_exit_period_seconds (line 30) | def min_exit_period_seconds() do method ethereum_block_time_seconds (line 35) | def ethereum_block_time_seconds() do method contracts (line 40) | def contracts() do method txhash_contract (line 45) | def txhash_contract() do method authority_address (line 50) | def authority_address() do method environment (line 55) | def environment() do method child_block_interval (line 60) | def child_block_interval() do method eth_node (line 65) | def eth_node() do method ethereum_events_check_interval_ms (line 70) | def ethereum_events_check_interval_ms() do method ethereum_stalled_sync_threshold_ms (line 75) | def ethereum_stalled_sync_threshold_ms() do FILE: apps/omg_eth/lib/omg_eth/encoding.ex class OMG.Eth.Encoding (line 15) | defmodule OMG.Eth.Encoding method to_hex (line 32) | def to_hex(non_hex) method from_hex (line 43) | def from_hex("0x" <> encoded, format \\ :lower), do: Base.decode16!(en... method int_from_hex (line 51) | def int_from_hex("0x" <> encoded) do method encode_constructor_params (line 74) | def encode_constructor_params(types_values) do FILE: apps/omg_eth/lib/omg_eth/encoding/contract_constructor.ex class OMG.Eth.Encoding.ContractConstructor (line 15) | defmodule OMG.Eth.Encoding.ContractConstructor method extract_params (line 37) | def extract_params(types_values) do FILE: apps/omg_eth/lib/omg_eth/ethereum_height.ex class OMG.Eth.EthereumHeight (line 15) | defmodule OMG.Eth.EthereumHeight method get (line 26) | def get() do method start_link (line 30) | def start_link(args) do method init (line 34) | def init(opts) do method handle_call (line 44) | def handle_call(:get, _from, ethereum_height) do method handle_info (line 48) | def handle_info({:internal_event_bus, :ethereum_new_height, new_height... method get_ethereum_height (line 54) | defp get_ethereum_height() do method eth (line 61) | defp eth(), do: Application.get_env(:omg_eth, :eth_integration_module,... FILE: apps/omg_eth/lib/omg_eth/ethereum_height_monitor.ex class OMG.Eth.EthereumHeightMonitor (line 15) | defmodule OMG.Eth.EthereumHeightMonitor method start_link (line 62) | def start_link(args) do method init (line 70) | def init(opts) do method handle_continue (line 88) | def handle_continue(:first_check, state) do method handle_info (line 93) | def handle_info({:ssl_closed, _}, state) do method handle_info (line 98) | def handle_info(:check_new_height, state) do method handle_cast (line 118) | def handle_cast({:set_alarm, :ethereum_connection_error}, state) do method handle_cast (line 122) | def handle_cast({:clear_alarm, :ethereum_connection_error}, state) do method handle_cast (line 126) | def handle_cast({:set_alarm, :ethereum_stalled_sync}, state) do method handle_cast (line 130) | def handle_cast({:clear_alarm, :ethereum_stalled_sync}, state) do method update_height (line 139) | defp update_height(state, :error), do: state method update_height (line 141) | defp update_height(state, height) do method stalled? (line 149) | defp stalled?(height, previous_height, synced_at, stall_threshold_ms) do method fetch_height (line 160) | defp fetch_height(eth_module) do method broadcast_on_new_height (line 172) | defp broadcast_on_new_height(_event_bus_module, :error), do: :ok method broadcast_on_new_height (line 177) | defp broadcast_on_new_height(event_bus_module, height) do method install_alarm_handler (line 186) | defp install_alarm_handler() do method connection_alarm (line 195) | defp connection_alarm(alarm_module, connection_alarm_raised, raise_alarm) method connection_alarm (line 197) | defp connection_alarm(alarm_module, false, :error) do method connection_alarm (line 205) | defp connection_alarm(_alarm_module, _, _), do: :ok method stall_alarm (line 209) | defp stall_alarm(alarm_module, stall_alarm_raised, raise_alarm) method stall_alarm (line 211) | defp stall_alarm(alarm_module, false, true) do method stall_alarm (line 215) | defp stall_alarm(alarm_module, true, false) do method stall_alarm (line 219) | defp stall_alarm(_alarm_module, _, _), do: :ok FILE: apps/omg_eth/lib/omg_eth/ethereum_height_monitor/alarm_handler.ex class OMG.Eth.EthereumHeightMonitor.AlarmHandler (line 15) | defmodule OMG.Eth.EthereumHeightMonitor.AlarmHandler method init (line 27) | def init(_args) do method handle_call (line 31) | def handle_call(_request, state), do: {:ok, :ok, state} method handle_event (line 33) | def handle_event({:set_alarm, {:ethereum_connection_error, %{reporter:... method handle_event (line 39) | def handle_event({:clear_alarm, {:ethereum_connection_error, %{reporte... method handle_event (line 45) | def handle_event({:set_alarm, {:ethereum_stalled_sync, %{reporter: @re... method handle_event (line 51) | def handle_event({:clear_alarm, {:ethereum_stalled_sync, %{reporter: @... method handle_event (line 57) | def handle_event(event, state) do FILE: apps/omg_eth/lib/omg_eth/metric/ethereumex.ex class OMG.Eth.Metric.Ethereumex (line 15) | defmodule OMG.Eth.Metric.Ethereumex method supported_events (line 20) | def supported_events(), do: [:ethereumex] method handle_event (line 22) | def handle_event([:ethereumex], %{counter: counter}, %{method_name: me... FILE: apps/omg_eth/lib/omg_eth/release_tasks/set_contract.ex class OMG.Eth.ReleaseTasks.SetContract (line 15) | defmodule OMG.Eth.ReleaseTasks.SetContract method init (line 36) | def init(args) do method load (line 40) | def load(config, args) do method get_external_data (line 97) | defp get_external_data(plasma_framework, rpc_api) do method merge_configuration (line 138) | defp merge_configuration(_, _, _, _, _, _, _, _), do: exit(@error) method get_min_exit_period (line 140) | defp get_min_exit_period(plasma_framework_contract, rpc_api) do method get_contract_semver (line 147) | defp get_contract_semver(plasma_framework_contract, rpc_api) do method get_child_block_interval (line 154) | defp get_child_block_interval(plasma_framework_contract, rpc_api) do method exit_game_contract_address (line 161) | defp exit_game_contract_address(plasma_framework_contract, tx_type, rp... method get_vault (line 168) | defp get_vault(plasma_framework_contract, id, rpc_api) do method call (line 175) | defp call(plasma_framework_contract, signature, args, rpc_api) do method call (line 180) | defp call(plasma_framework_contract, signature, args, 0, rpc_api) do method call (line 184) | defp call(plasma_framework_contract, signature, args, retries_left, rp... method get_env (line 195) | defp get_env(key), do: System.get_env(key) method get_network (line 197) | defp get_network(nil), do: exit(@error) method get_network (line 199) | defp get_network(data) do method on_load (line 209) | defp on_load() do FILE: apps/omg_eth/lib/omg_eth/release_tasks/set_ethereum_block_time.ex class OMG.Eth.ReleaseTasks.SetEthereumBlockTime (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumBlockTime method init (line 25) | def init(args) do method load (line 29) | def load(config, _args) do method get_ethereum_block_time (line 35) | defp get_ethereum_block_time() do method get_env (line 47) | defp get_env(key), do: System.get_env(key) method validate_integer (line 50) | defp validate_integer(_, default), do: default method on_load (line 52) | defp on_load() do FILE: apps/omg_eth/lib/omg_eth/release_tasks/set_ethereum_client.ex class OMG.Eth.ReleaseTasks.SetEthereumClient (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumClient method init (line 24) | def init(args) do method load (line 28) | def load(config, _args) do method get_ethereum_rpc_url (line 41) | defp get_ethereum_rpc_url() do method get_rpc_client_type (line 48) | defp get_rpc_client_type() do method validate_rpc_client_type (line 58) | defp validate_rpc_client_type(_value, default), method to_rpc_client_type (line 61) | defp to_rpc_client_type("GETH"), do: :geth method to_rpc_client_type (line 62) | defp to_rpc_client_type("PARITY"), do: :parity method to_rpc_client_type (line 63) | defp to_rpc_client_type("INFURA"), do: :infura method to_rpc_client_type (line 64) | defp to_rpc_client_type(_), do: exit("You need to choose between geth,... method validate_string (line 67) | defp validate_string(_, default), do: default method get_env (line 69) | defp get_env(key), do: System.get_env(key) method on_load (line 71) | defp on_load() do FILE: apps/omg_eth/lib/omg_eth/release_tasks/set_ethereum_events_check_interval.ex class OMG.Eth.ReleaseTasks.SetEthereumEventsCheckInterval (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumEventsCheckInterval method init (line 27) | def init(args) do method load (line 31) | def load(config, _args) do method get_interval_ms (line 42) | defp get_interval_ms() do method get_env (line 52) | defp get_env(key), do: System.get_env(key) method validate_integer (line 55) | defp validate_integer(_, default), do: default method on_load (line 57) | defp on_load() do FILE: apps/omg_eth/lib/omg_eth/release_tasks/set_ethereum_stalled_sync_threshold.ex class OMG.Eth.ReleaseTasks.SetEthereumStalledSyncThreshold (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumStalledSyncThreshold method init (line 23) | def init(args) do method load (line 27) | def load(config, _args) do method stalled_sync_threshold_ms (line 33) | defp stalled_sync_threshold_ms() do method get_env (line 45) | defp get_env(key), do: System.get_env(key) method validate_integer (line 48) | defp validate_integer(_, default), do: default method on_load (line 50) | defp on_load() do FILE: apps/omg_eth/lib/omg_eth/root_chain.ex class OMG.Eth.RootChain (line 15) | defmodule OMG.Eth.RootChain method get_mined_child_block (line 34) | def get_mined_child_block() do method next_child_block (line 40) | def next_child_block() do method blocks (line 46) | def blocks(mined_num) do method get_block_submitted_events (line 58) | def get_block_submitted_events(from_height, to_height) do method get_standard_exit_structs (line 73) | def get_standard_exit_structs(exit_ids) do method get_in_flight_exit_structs (line 85) | def get_in_flight_exit_structs(in_flight_exit_ids) do method get_root_deployment_height (line 100) | def get_root_deployment_height() do method get_external_data (line 116) | defp get_external_data(contract_address, signature, args) do FILE: apps/omg_eth/lib/omg_eth/root_chain/abi.ex class OMG.Eth.RootChain.Abi (line 14) | defmodule OMG.Eth.RootChain.Abi method decode_function (line 24) | def decode_function(enriched_data, signature) do method decode_function (line 30) | def decode_function(enriched_data) do method decode_log (line 42) | def decode_log(log) do method common_parse_event (line 74) | def common_parse_event( method decode_function_call_result (line 95) | defp decode_function_call_result(%{function: "startExit"} = function_s... method decode_function_call_result (line 102) | defp decode_function_call_result(function_spec, values) do FILE: apps/omg_eth/lib/omg_eth/root_chain/abi_event_selector.ex class OMG.Eth.RootChain.AbiEventSelector (line 15) | defmodule OMG.Eth.RootChain.AbiEventSelector method exit_started (line 23) | def exit_started() do method in_flight_exit_started (line 36) | def in_flight_exit_started() do method in_flight_exit_deleted (line 49) | def in_flight_exit_deleted() do method in_flight_exit_challenged (line 62) | def in_flight_exit_challenged() do method deposit_created (line 75) | def deposit_created() do method in_flight_exit_input_piggybacked (line 88) | def in_flight_exit_input_piggybacked() do method in_flight_exit_output_piggybacked (line 101) | def in_flight_exit_output_piggybacked() do method block_submitted (line 114) | def block_submitted() do method exit_finalized (line 127) | def exit_finalized() do method in_flight_exit_challenge_responded (line 140) | def in_flight_exit_challenge_responded() do method exit_challenged (line 155) | def exit_challenged() do method in_flight_exit_input_blocked (line 168) | def in_flight_exit_input_blocked() do method in_flight_exit_output_blocked (line 181) | def in_flight_exit_output_blocked() do method in_flight_exit_input_withdrawn (line 194) | def in_flight_exit_input_withdrawn() do method in_flight_exit_output_withdrawn (line 207) | def in_flight_exit_output_withdrawn() do FILE: apps/omg_eth/lib/omg_eth/root_chain/abi_function_selector.ex class OMG.Eth.RootChain.AbiFunctionSelector (line 15) | defmodule OMG.Eth.RootChain.AbiFunctionSelector method start_exit (line 21) | def start_exit() do method start_standard_exit (line 40) | def start_standard_exit() do method challenge_in_flight_exit_not_canonical (line 52) | def challenge_in_flight_exit_not_canonical() do method start_in_flight_exit (line 86) | def start_in_flight_exit() do method min_exit_period (line 114) | def min_exit_period() do method get_version (line 127) | def get_version() do method exit_games (line 140) | def exit_games() do method vaults (line 153) | def vaults() do method child_block_interval (line 166) | def child_block_interval() do method next_child_block (line 179) | def next_child_block() do method blocks (line 192) | def blocks() do method standard_exits (line 205) | def standard_exits() do method in_flight_exits (line 222) | def in_flight_exits() do FILE: apps/omg_eth/lib/omg_eth/root_chain/event.ex class OMG.Eth.RootChain.Event (line 14) | defmodule OMG.Eth.RootChain.Event method get_events (line 21) | def get_events(wanted_events) do method events (line 35) | defp events() do method describe_event (line 43) | defp describe_event(selector) do method build_types_string (line 47) | defp build_types_string(types), do: build_types_string(types, "") method build_types_string (line 48) | defp build_types_string([], string), do: string method build_types_string (line 50) | defp build_types_string([{type, size} | [] = types], string) do method build_types_string (line 54) | defp build_types_string([{type, size} | types], string) do method build_types_string (line 58) | defp build_types_string([type | [] = types], string) do method build_types_string (line 62) | defp build_types_string([type | types], string) do method get_event (line 66) | def get_event(events, wanted_event_name, acc) do FILE: apps/omg_eth/lib/omg_eth/root_chain/fields.ex class OMG.Eth.RootChain.Fields (line 15) | defmodule OMG.Eth.RootChain.Fields method rename (line 21) | def rename(data, %ABI.FunctionSelector{function: "DepositCreated"}) do method rename (line 30) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitInputPig... method rename (line 50) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitOutputPi... method rename (line 68) | def rename(data, %ABI.FunctionSelector{function: "BlockSubmitted"}) do method rename (line 73) | def rename(data, %ABI.FunctionSelector{function: "ExitFinalized"}) do method rename (line 78) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitDeleted"... method rename (line 83) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitChalleng... method rename (line 93) | def rename(data, %ABI.FunctionSelector{function: "ExitChallenged"}) do method rename (line 101) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitChalleng... method rename (line 111) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitOutputBl... method rename (line 126) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitInputBlo... method rename (line 141) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitStarted"... method rename (line 150) | def rename(data, %ABI.FunctionSelector{function: "ExitStarted"}) do method rename (line 159) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitInputWit... method rename (line 167) | def rename(data, %ABI.FunctionSelector{function: "InFlightExitOutputWi... method rename (line 175) | def rename(data, %ABI.FunctionSelector{function: "startInFlightExit"}) do method rename (line 187) | def rename(data, %ABI.FunctionSelector{function: "startStandardExit"}) do method rename (line 199) | def rename(data, %ABI.FunctionSelector{function: "startExit"}) do method rename (line 218) | def rename(data, %ABI.FunctionSelector{function: "challengeInFlightExi... method reduce_naming (line 235) | defp reduce_naming(data, contracts_naming) do FILE: apps/omg_eth/lib/omg_eth/root_chain/rpc.ex class OMG.Eth.RootChain.Rpc (line 14) | defmodule OMG.Eth.RootChain.Rpc method call_contract (line 22) | def call_contract(client \\ Ethereumex.HttpClient, contract, signature... method get_ethereum_events (line 27) | def get_ethereum_events(block_from, block_to, [_ | _] = signatures, [_... method get_ethereum_events (line 49) | def get_ethereum_events(block_from, block_to, [_ | _] = signatures, co... method get_ethereum_events (line 53) | def get_ethereum_events(block_from, block_to, signature, [_ | _] = con... method get_ethereum_events (line 57) | def get_ethereum_events(block_from, block_to, signature, contract) do method get_call_data (line 61) | def get_call_data(root_chain_txhash) do method event_topic_for_signature (line 70) | defp event_topic_for_signature(signature) do method handle_result (line 76) | defp handle_result(logs, topics, topics_and_signatures) do method handle_result (line 81) | defp handle_result([], _topics, _topics_and_signatures, acc), do: acc method handle_result (line 83) | defp handle_result([%{"removed" => true} | _logs], _topics, _topics_an... method handle_result (line 87) | defp handle_result([log | logs], topics, topics_and_signatures, acc) do method put_signature (line 93) | defp put_signature(log, signature), do: Map.put(log, :event_signature,... FILE: apps/omg_eth/lib/omg_eth/root_chain/submit_block.ex class OMG.Eth.RootChain.SubmitBlock (line 15) | defmodule OMG.Eth.RootChain.SubmitBlock method submit (line 36) | def submit(backend, hash, nonce, gas_price, from, contract) do method contract_transact (line 52) | defp contract_transact(:infura = backend, _from, to, signature, args, ... method contract_transact (line 75) | defp contract_transact(backend, from, to, signature, args, opts) do method encode_tx_data (line 86) | defp encode_tx_data(signature, args) do method encode_all_integer_opts (line 92) | defp encode_all_integer_opts(opts) do FILE: apps/omg_eth/lib/omg_eth/supervisor.ex class OMG.Eth.Supervisor (line 15) | defmodule OMG.Eth.Supervisor method start_link (line 26) | def start_link() do method init (line 30) | def init(:ok) do FILE: apps/omg_eth/lib/omg_eth/transaction.ex class OMG.Eth.Transaction (line 15) | defmodule OMG.Eth.Transaction method send (line 29) | def send(backend, txmap) do method transact (line 33) | defp transact(:geth, txmap) do method transact (line 42) | defp transact(:infura, transaction_data) do FILE: apps/omg_eth/mix.exs class OMG.Eth.MixProject (line 1) | defmodule OMG.Eth.MixProject method project (line 6) | def project() do method application (line 22) | def application() do method version (line 30) | defp version() do method elixirc_paths (line 40) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 41) | defp elixirc_paths(:dev), do: ["lib", "test/support"] method elixirc_paths (line 42) | defp elixirc_paths(:test), do: ["lib", "test/support"] method deps (line 44) | defp deps() do FILE: apps/omg_eth/test/fixtures.exs class OMG.Eth.Fixtures (line 15) | defmodule OMG.Eth.Fixtures method has_exit_queue (line 73) | defp has_exit_queue(vault_id, token) do method call_contract (line 79) | defp call_contract(contract, signature, args, return_types) do method decode_answer (line 85) | defp decode_answer(enc_return, return_types) do FILE: apps/omg_eth/test/omg_eth/application_test.exs class OMG.Eth.ApplicationTest (line 15) | defmodule OMG.Eth.ApplicationTest FILE: apps/omg_eth/test/omg_eth/blockchain/bit_helper_test.exs class OMG.Eth.Blockchain.BitHelperTest (line 15) | defmodule OMG.Eth.Blockchain.BitHelperTest FILE: apps/omg_eth/test/omg_eth/blockchain/transaction/hash_test.exs class OMG.Eth.Blockchain.Transaction.HashTest (line 15) | defmodule OMG.Eth.Blockchain.Transaction.HashTest FILE: apps/omg_eth/test/omg_eth/blockchain/transaction/signature_test.exs class OMG.Eth.Blockchain.Transaction.SignatureTest (line 15) | defmodule OMG.Eth.Blockchain.Transaction.SignatureTest FILE: apps/omg_eth/test/omg_eth/blockchain/transaction_test.exs class OMG.Eth.Blockchain.TransactionTest (line 15) | defmodule OMG.Eth.Blockchain.TransactionTest FILE: apps/omg_eth/test/omg_eth/client_test.exs class OMG.Eth.ClientTest (line 15) | defmodule OMG.Eth.ClientTest FILE: apps/omg_eth/test/omg_eth/encoding/contract_constructor_test.exs class OMG.Eth.Encoding.ContractConstructorTest (line 15) | defmodule OMG.Eth.Encoding.ContractConstructorTest FILE: apps/omg_eth/test/omg_eth/encoding_test.exs class OMG.Eth.EncodingTest (line 15) | defmodule OMG.Eth.EncodingTest FILE: apps/omg_eth/test/omg_eth/eth_test.exs class OMG.EthTest (line 15) | defmodule OMG.EthTest FILE: apps/omg_eth/test/omg_eth/ethereum_height_monitor_test.exs class OMG.Eth.EthereumHeightMonitorTest (line 15) | defmodule OMG.Eth.EthereumHeightMonitorTest method pull_client_alarm (line 149) | defp pull_client_alarm(_, 0), do: {:cant_match, Alarm.all()} method pull_client_alarm (line 151) | defp pull_client_alarm(match, n) do class EthereumClientMock (line 166) | defmodule EthereumClientMock method start_link (line 174) | def start_link(), do: GenServer.start_link(__MODULE__, [], name: __MOD... method get_ethereum_height (line 176) | def get_ethereum_height(), do: GenServer.call(__MODULE__, :get_ethereu... method set_faulty_response (line 178) | def set_faulty_response(faulty), do: GenServer.call(__MODULE__, {:set_... method set_long_response (line 180) | def set_long_response(milliseconds), do: GenServer.call(__MODULE__, {:... method set_stalled (line 182) | def set_stalled(stalled), do: GenServer.call(__MODULE__, {:set_stalled... method reset_state (line 184) | def reset_state(), do: GenServer.call(__MODULE__, :reset_state) method stop (line 186) | def stop(), do: GenServer.stop(__MODULE__, :normal) method init (line 188) | def init(_), do: {:ok, @initial_state} method handle_call (line 190) | def handle_call(:reset_state, _, _state), do: {:reply, :ok, @initial_s... method handle_call (line 192) | def handle_call({:set_faulty_response, true}, _, state), do: {:reply, ... method handle_call (line 193) | def handle_call({:set_faulty_response, false}, _, state), do: {:reply,... method handle_call (line 195) | def handle_call({:set_long_response, milliseconds}, _, state) do method handle_call (line 199) | def handle_call({:set_stalled, true}, _, state), do: {:reply, :ok, %{s... method handle_call (line 200) | def handle_call({:set_stalled, false}, _, state), do: {:reply, :ok, %{... method handle_call (line 204) | def handle_call(:get_ethereum_height, _, %{faulty: true} = state) do method handle_call (line 213) | def handle_call(:get_ethereum_height, _, state) do method next_height (line 217) | defp next_height(height, false), do: height + 1 method next_height (line 218) | defp next_height(height, true), do: height class EventBusListener (line 221) | defmodule EventBusListener method start (line 224) | def start(parent), do: GenServer.start(__MODULE__, parent) method init (line 226) | def init(parent) do method handle_info (line 231) | def handle_info({:internal_event_bus, :ethereum_new_height, _height}, ... FILE: apps/omg_eth/test/omg_eth/release_tasks/set_contract_test.exs class OMG.Eth.ReleaseTasks.SetContractTest (line 15) | defmodule OMG.Eth.ReleaseTasks.SetContractTest method start (line 200) | defp start(port) do method loop (line 210) | defp loop(sock) do method handle (line 222) | defp handle(conn) do class Rpc (line 238) | defmodule Rpc method call_contract (line 239) | def call_contract(_, "vaults(uint256)", _) do method call_contract (line 243) | def call_contract(_, "exitGames(uint256)", _) do method call_contract (line 248) | def call_contract(_, "childBlockInterval()", _) do method call_contract (line 252) | def call_contract(_, "getVersion()", _) do method call_contract (line 257) | def call_contract(_, "minExitPeriod()", _) do FILE: apps/omg_eth/test/omg_eth/release_tasks/set_ethereum_block_time_test.exs class OMG.Eth.ReleaseTasks.SetEthereumBlockTimeTest (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumBlockTimeTest FILE: apps/omg_eth/test/omg_eth/release_tasks/set_ethereum_client_test.exs class OMG.Eth.ReleaseTasks.SetEthereumClientTest (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumClientTest FILE: apps/omg_eth/test/omg_eth/release_tasks/set_ethereum_events_check_interval_test.exs class OMG.Eth.ReleaseTasks.SetEthereumEventsCheckIntervalTest (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumEventsCheckIntervalTest FILE: apps/omg_eth/test/omg_eth/release_tasks/set_ethereum_stalled_sync_threshold_test.exs class OMG.Eth.ReleaseTasks.SetEthereumStalledSyncThresholdTest (line 15) | defmodule OMG.Eth.ReleaseTasks.SetEthereumStalledSyncThresholdTest FILE: apps/omg_eth/test/omg_eth/root_chain/abi_test.exs class OMG.Eth.RootChain.AbiTest (line 15) | defmodule OMG.Eth.RootChain.AbiTest FILE: apps/omg_eth/test/omg_eth/root_chain/event_test.exs class OMG.RootChain.EventTest (line 14) | defmodule OMG.RootChain.EventTest FILE: apps/omg_eth/test/omg_eth/root_chain_test.exs class OMG.Eth.RootChainTest (line 15) | defmodule OMG.Eth.RootChainTest method deposit_then_start_exit (line 66) | defp deposit_then_start_exit(owner, amount, currency) do method exit_id_from_receipt (line 91) | defp exit_id_from_receipt(%{"logs" => logs}) do method add_queue (line 107) | defp add_queue(authority_address) do method deposit_transaction (line 115) | defp deposit_transaction(amount_in_wei, address, currency) do method deposit (line 121) | defp deposit(owner, token, amount) do FILE: apps/omg_eth/test/support/defaults.ex class OMG.Eth.Defaults (line 15) | defmodule OMG.Eth.Defaults method tx_defaults (line 29) | def tx_defaults() do FILE: apps/omg_eth/test/support/dev_geth.ex class OMG.Eth.DevGeth (line 15) | defmodule OMG.Eth.DevGeth method start (line 30) | def start() do method init (line 64) | def init(cmd) do method handle_info (line 73) | def handle_info({:stdout, pid, stdout}, %{os_proc: pid} = state) do method handle_call (line 91) | def handle_call(:ready?, _from, state) do method launch (line 97) | defp launch(cmd) do method wait_for_rpc (line 111) | defp wait_for_rpc(pid) do method start_link (line 120) | defp start_link(cmd) do method ready? (line 124) | defp ready?(pid) do FILE: apps/omg_eth/test/support/dev_helper.ex class Support.DevHelper (line 15) | defmodule Support.DevHelper method import_unlock_fund (line 47) | def import_unlock_fund(account, opts \\ []) do method deploy_sync! (line 84) | def deploy_sync!({:ok, txhash} = transaction_submission_result) do method wait_for_root_chain_block (line 91) | def wait_for_root_chain_block(awaited_eth_height, timeout \\ 600_000) do method wait_for_next_child_block (line 101) | def wait_for_next_child_block(blknum) do method create_account_from_secret (line 113) | def create_account_from_secret(account, passphrase) do method fund_address_from_faucet (line 126) | defp fund_address_from_faucet(account_enc, opts) do method unlock_if_possible (line 147) | defp unlock_if_possible(account_enc) do method get_reason (line 153) | defp get_reason(txhash) do method abi_decode_reason (line 162) | defp abi_decode_reason(result) do FILE: apps/omg_eth/test/support/dev_node.ex class Support.DevNode (line 15) | defmodule Support.DevNode method start (line 21) | def start() do FILE: apps/omg_eth/test/support/root_chain_helper.ex class Support.RootChainHelper (line 15) | defmodule Support.RootChainHelper method start_exit (line 47) | def start_exit(utxo_pos, tx_bytes, proof, from) do method piggyback_in_flight_exit_on_input (line 66) | def piggyback_in_flight_exit_on_input(in_flight_tx, input_index, from) do method piggyback_in_flight_exit_on_output (line 80) | def piggyback_in_flight_exit_on_output(in_flight_tx, output_index, fro... method deposit (line 94) | def deposit(tx_bytes, value, from) do method deposit_from (line 108) | def deposit_from(tx, from) do method add_exit_queue (line 115) | def add_exit_queue(vault_id, token) do method challenge_exit (line 133) | def challenge_exit(exit_id, exiting_tx, challenge_tx, input_index, cha... method activate_child_chain (line 145) | def activate_child_chain(from \\ nil) do method in_flight_exit (line 154) | def in_flight_exit( method process_exits (line 177) | def process_exits(vault_id, token, top_exit_id, exits_to_process, from... method challenge_in_flight_exit_not_canonical (line 189) | def challenge_in_flight_exit_not_canonical( method respond_to_non_canonical_challenge (line 217) | def respond_to_non_canonical_challenge( method challenge_in_flight_exit_input_spent (line 235) | def challenge_in_flight_exit_input_spent( method challenge_in_flight_exit_output_spent (line 261) | def challenge_in_flight_exit_output_spent( method deposit_blknum_from_receipt (line 284) | def deposit_blknum_from_receipt(%{"logs" => logs}) do FILE: apps/omg_eth/test/support/snapshot_contracts.ex class Support.SnapshotContracts (line 15) | defmodule Support.SnapshotContracts method parse_contracts (line 20) | def parse_contracts() do FILE: apps/omg_eth/test/support/token.ex class OMG.Eth.Token (line 15) | defmodule OMG.Eth.Token method mint (line 31) | def mint(owner, amount, token, opts \\ []) do method approve (line 47) | def approve(from, spender, amount, token, opts \\ []) do FILE: apps/omg_eth/test/support/transaction_helper.ex class OMG.Eth.TransactionHelper (line 15) | defmodule OMG.Eth.TransactionHelper method contract_transact (line 24) | def contract_transact(backend, from, to, signature, args, opts \\ []) do method encode_tx_data (line 35) | defp encode_tx_data(signature, args) do method encode_all_integer_opts (line 41) | defp encode_all_integer_opts(opts) do FILE: apps/omg_eth/test/support/wait_for.ex class Support.WaitFor (line 15) | defmodule Support.WaitFor method eth_rpc (line 23) | def eth_rpc(timeout \\ 10_000) do method eth_receipt (line 43) | def eth_receipt(txhash, timeout \\ 15_000) do method ok (line 61) | def ok(f, timeout \\ 5_000) do method repeat_until_ok (line 67) | defp repeat_until_ok(f) do FILE: apps/omg_status/lib/omg_status/alert/alarm.ex class OMG.Status.Alert.Alarm (line 15) | defmodule OMG.Status.Alert.Alarm method alarm_types (line 39) | def alarm_types(), method statsd_client_connection (line 52) | def statsd_client_connection(reporter), method ethereum_connection_error (line 56) | def ethereum_connection_error(reporter), method ethereum_stalled_sync (line 60) | def ethereum_stalled_sync(reporter), method boot_in_progress (line 64) | def boot_in_progress(reporter), method invalid_fee_source (line 68) | def invalid_fee_source(reporter), method main_supervisor_halted (line 72) | def main_supervisor_halted(reporter), method system_memory_too_high (line 76) | def system_memory_too_high(reporter), method block_submit_stalled (line 80) | def block_submit_stalled(reporter), method set (line 84) | def set(alarm), do: do_raise(alarm) method clear (line 87) | def clear(alarm), do: do_clear(alarm) method clear_all (line 89) | def clear_all() do method all (line 93) | def all() do method do_raise (line 97) | defp do_raise(alarm) do method do_clear (line 105) | defp do_clear(alarm) do FILE: apps/omg_status/lib/omg_status/alert/alarm_handler.ex class OMG.Status.Alert.AlarmHandler (line 15) | defmodule OMG.Status.Alert.AlarmHandler method install (line 22) | def install() do method table_name (line 35) | def table_name(), do: @table_name method init (line 40) | def init(_args) do method handle_call (line 46) | def handle_call(:get_alarms, %{alarms: alarms} = state), do: {:ok, ala... method handle_event (line 48) | def handle_event({:set_alarm, new_alarm}, %{alarms: alarms} = state) do method handle_event (line 62) | def handle_event({:clear_alarm, alarm_id}, %{alarms: alarms}) do method handle_event (line 72) | def handle_event(_event, state) do method terminate (line 76) | def terminate(:swap, state), do: {__MODULE__, state} method terminate (line 77) | def terminate(_, _), do: :ok method table_setup (line 79) | defp table_setup() do method table_settings (line 83) | defp table_settings(), do: [:named_table, :set, :protected, read_concu... FILE: apps/omg_status/lib/omg_status/alert/alarm_printer.ex class OMG.Status.AlarmPrinter (line 15) | defmodule OMG.Status.AlarmPrinter method start_link (line 24) | def start_link(args) do method init (line 28) | def init(args) do method handle_info (line 34) | def handle_info(:print_alarms, state) do FILE: apps/omg_status/lib/omg_status/application.ex class OMG.Status.Application (line 15) | defmodule OMG.Status.Application method start (line 30) | def start(_type, _args) do method start_phase (line 79) | def start_phase(:install_alarm_handler, _start_type, _phase_args) do method spandex_datadog_options (line 83) | defp spandex_datadog_options() do method spandex_datadog_options (line 93) | defp spandex_datadog_options(config_host, config_port, config_batch_si... FILE: apps/omg_status/lib/omg_status/configuration.ex class OMG.Status.Configuration (line 15) | defmodule OMG.Status.Configuration method system_memory_check_interval_ms (line 24) | def system_memory_check_interval_ms() do method system_memory_high_threshold (line 29) | def system_memory_high_threshold() do method datadog_disabled? (line 34) | def datadog_disabled?() do method release (line 39) | def release() do method current_version (line 44) | def current_version() do FILE: apps/omg_status/lib/omg_status/datadog_event/alarm_consumer.ex class OMG.Status.DatadogEvent.AlarmConsumer (line 15) | defmodule OMG.Status.DatadogEvent.AlarmConsumer method prepare_child (line 35) | def prepare_child(opts) do method start_link (line 42) | def start_link(args) do method init (line 49) | def init(args) do method handle_cast (line 62) | def handle_cast(alarm, state) do method create_event_data (line 84) | defp create_event_data(title, message, options) do method tags (line 89) | defp tags(aggregation_key, release, current_version, _timestamp) do method install_alarm_handler (line 96) | defp install_alarm_handler(alarm_handler, dd_alarm_handler) do FILE: apps/omg_status/lib/omg_status/datadog_event/alarm_handler.ex class OMG.Status.DatadogEvent.AlarmHandler (line 15) | defmodule OMG.Status.DatadogEvent.AlarmHandler method init (line 22) | def init([reporter]) do method handle_call (line 26) | def handle_call(_request, reporter), do: {:ok, :ok, reporter} method handle_event (line 28) | def handle_event({:set_alarm, _alarm_details} = alarm, reporter) do method handle_event (line 33) | def handle_event({:clear_alarm, _alarm_details} = alarm, reporter) do method handle_event (line 38) | def handle_event(event, reporter) do FILE: apps/omg_status/lib/omg_status/metric/datadog.ex class OMG.Status.Metric.Datadog (line 15) | defmodule OMG.Status.Metric.Datadog method start_link (line 30) | def start_link(), do: GenServer.start_link(__MODULE__, [], []) method init (line 32) | def init(_opts) do method handle_info (line 40) | def handle_info({:EXIT, port, reason}, %Statix.Conn{sock: __MODULE__} ... FILE: apps/omg_status/lib/omg_status/metric/event.ex class OMG.Status.Metric.Event (line 15) | defmodule OMG.Status.Metric.Event method name (line 63) | def name(:transaction_submission), do: "transaction_submission" method name (line 64) | def name(:transaction_submission_success), do: "transaction_submission... method name (line 65) | def name(:transaction_submission_failed), do: "transaction_submission_... method name (line 66) | def name(:pending_transactions), do: "pending_transactions" method name (line 67) | def name(:block_transactions), do: "block_transactions" method name (line 68) | def name(:block_submission_attempt), do: "block_submission_attempt" method name (line 69) | def name(:block_submission_success), do: "block_submission_success" method name (line 70) | def name(:block_submission_gas), do: "block_submission_gas" method name (line 71) | def name(:block_queue_blknum_submitting), do: "block_queue_blknum_subm... method name (line 72) | def name(:block_queue_blknum_submitted), do: "block_queue_blknum_submi... method name (line 73) | def name(:block_queue_num_blocks_stalled), do: "block_queue_num_blocks... method name (line 74) | def name(:authority_balance), do: "authority_balance" method name (line 75) | def name(:balance), do: "balance" method name (line 76) | def name(:unique_users), do: "unique_users" method name (line 77) | def name(:block_getter_message_queue_len), do: "block_getter_message_q... method name (line 78) | def name(:watcher_exit_processor_message_queue_len), do: "watcher_exit... method name (line 79) | def name(:eventer_message_queue_len), do: "eventer_message_queue_len" method name (line 80) | def name(:db_message_queue_len), do: "db_message_queue_len" method name (line 81) | def name(:write), do: "db_write" method name (line 82) | def name(:read), do: "db_read" method name (line 83) | def name(:multiread), do: "db_multiread" method events_name (line 94) | defp events_name(:depositor), do: "depositor_ethereum_events" method events_name (line 95) | defp events_name(:in_flight_exit), do: "in_flight_exit_ethereum_events" method events_name (line 96) | defp events_name(:piggyback), do: "piggyback_ethereum_events" method events_name (line 97) | defp events_name(:exiter), do: "exiter_ethereum_events" method events_name (line 98) | defp events_name(:exit_processor), do: "exit_processor_ethereum_events" method events_name (line 99) | defp events_name(:exit_finalizer), do: "exit_finalizer_ethereum_events" method events_name (line 100) | defp events_name(:exit_challenger), do: "exit_challenger_ethereum_events" method events_name (line 101) | defp events_name(:in_flight_exit_processor), do: "in_flight_exit_proce... method events_name (line 102) | defp events_name(:in_flight_exit_deleted_processor), do: "in_flight_ex... method events_name (line 103) | defp events_name(:piggyback_processor), do: "piggyback_processor_ether... method events_name (line 104) | defp events_name(:competitor_processor), do: "competitor_processor_eth... method events_name (line 105) | defp events_name(:challenges_responds_processor), do: "challenges_resp... method events_name (line 106) | defp events_name(:piggyback_challenges_processor), do: "piggyback_chal... method events_name (line 107) | defp events_name(:ife_exit_finalizer), do: "ife_exit_finalizer_ethereu... method message_queue_len_name (line 109) | defp message_queue_len_name(:block_queue), do: "block_queue_message_qu... method message_queue_len_name (line 110) | defp message_queue_len_name(:depositor), do: "depositor_message_queue_... method message_queue_len_name (line 111) | defp message_queue_len_name(:in_flight_exit), do: "in_flight_exit_mess... method message_queue_len_name (line 112) | defp message_queue_len_name(:piggyback), do: "piggyback_message_queue_... method message_queue_len_name (line 113) | defp message_queue_len_name(:exiter), do: "exiter_message_queue_len" method message_queue_len_name (line 114) | defp message_queue_len_name(:exit_processor), do: "exit_processor_mess... method message_queue_len_name (line 115) | defp message_queue_len_name(:exit_finalizer), do: "exit_finalizer_mess... method message_queue_len_name (line 116) | defp message_queue_len_name(:exit_challenger), do: "exit_challenger_me... method message_queue_len_name (line 117) | defp message_queue_len_name(:in_flight_exit_processor), do: "in_flight... method message_queue_len_name (line 118) | defp message_queue_len_name(:piggyback_processor), do: "piggyback_proc... method message_queue_len_name (line 119) | defp message_queue_len_name(:competitor_processor), do: "competitor_pr... method message_queue_len_name (line 120) | defp message_queue_len_name(:challenges_responds_processor), do: "chal... method message_queue_len_name (line 121) | defp message_queue_len_name(:piggyback_challenges_processor), do: "pig... method message_queue_len_name (line 122) | defp message_queue_len_name(:ife_exit_finalizer), do: "ife_exit_finali... FILE: apps/omg_status/lib/omg_status/metric/statix.ex class OMG.Status.Metric.Statix (line 14) | defmodule OMG.Status.Metric.Statix FILE: apps/omg_status/lib/omg_status/metric/telemetry.ex class OMG.Status.Metric.Telemetry (line 15) | defmodule OMG.Status.Metric.Telemetry method start_link (line 23) | def start_link(arg) do method init (line 27) | def init(arg) do method metrics (line 51) | defp metrics() do FILE: apps/omg_status/lib/omg_status/metric/tracer.ex class OMG.Status.Metric.Tracer (line 15) | defmodule OMG.Status.Metric.Tracer FILE: apps/omg_status/lib/omg_status/metric/vmstats_sink.ex class OMG.Status.Metric.VmstatsSink (line 14) | defmodule OMG.Status.Metric.VmstatsSink method prepare_child (line 26) | def prepare_child() do method base_key (line 30) | defp base_key(), do: Application.get_env(:vmstats, :base_key) method collect (line 33) | def collect(:counter, key, value), do: _ = Datadog.gauge(key, value) method collect (line 35) | def collect(:gauge, key, value), do: _ = Datadog.gauge(key, value) method collect (line 37) | def collect(:timing, key, value), do: _ = Datadog.timing(key, value) FILE: apps/omg_status/lib/omg_status/monitor/memory_monitor.ex class OMG.Status.Monitor.MemoryMonitor (line 15) | defmodule OMG.Status.Monitor.MemoryMonitor method start_link (line 44) | def start_link(args) do method init (line 49) | def init([_ | _] = opts) do method init (line 69) | def init(_args) do method handle_continue (line 75) | def handle_continue(:first_check, state) do method handle_info (line 80) | def handle_info(:check, state) do method handle_cast (line 88) | def handle_cast(:set_alarm, state) do method handle_cast (line 92) | def handle_cast(:clear_alarm, state) do method handle_call (line 99) | def handle_call(_request, state), do: {:ok, :ok, state} method handle_event (line 101) | def handle_event({:set_alarm, {:system_memory_too_high, %{reporter: __... method handle_event (line 107) | def handle_event({:clear_alarm, {:system_memory_too_high, %{reporter: ... method handle_event (line 113) | def handle_event(event, state) do method system_memory_exceed_threshold? (line 122) | defp system_memory_exceed_threshold?(memsup_module, threshold) do method get_memory (line 130) | defp get_memory(memsup_module) do method raise_clear (line 149) | defp raise_clear(alarm_module, false, true) do method raise_clear (line 153) | defp raise_clear(alarm_module, true, false) do method raise_clear (line 157) | defp raise_clear(_alarm_module, true, true), do: :ok method raise_clear (line 159) | defp raise_clear(_alarm_module, false, false), do: :ok method install_alarm_handler (line 161) | defp install_alarm_handler() do FILE: apps/omg_status/lib/omg_status/monitor/statsd_monitor.ex class OMG.Status.Monitor.StatsdMonitor (line 15) | defmodule OMG.Status.Monitor.StatsdMonitor method start_link (line 39) | def start_link(args) do method init (line 43) | def init([_ | _] = opts) do method init (line 63) | def init(_args) do method handle_info (line 67) | def handle_info({:EXIT, _, reason}, state) do method handle_info (line 75) | def handle_info(:connect, state) do method handle_cast (line 82) | def handle_cast(:clear_alarm, state) do method handle_cast (line 86) | def handle_cast(:set_alarm, state) do method terminate (line 90) | def terminate(_, _), do: :ok method handle_call (line 95) | def handle_call(_request, state), do: {:ok, :ok, state} method handle_event (line 97) | def handle_event({:clear_alarm, {:statsd_client_connection, %{reporter... method handle_event (line 103) | def handle_event({:set_alarm, {:statsd_client_connection, %{reporter: ... method handle_event (line 110) | def handle_event(event, state) do method raise_clear (line 119) | defp raise_clear(_alarm_module, true, false), do: :ok method raise_clear (line 121) | defp raise_clear(alarm_module, false, false), method raise_clear (line 124) | defp raise_clear(alarm_module, true, _), method raise_clear (line 127) | defp raise_clear(_alarm_module, false, _), do: :ok method install_alarm_handler (line 129) | defp install_alarm_handler() do FILE: apps/omg_status/lib/omg_status/release_tasks/set_application.ex class OMG.Status.ReleaseTasks.SetApplication (line 15) | defmodule OMG.Status.ReleaseTasks.SetApplication method init (line 19) | def init(args) do method load (line 23) | def load(config, release: release, current_version: current_version) do FILE: apps/omg_status/lib/omg_status/release_tasks/set_logger.ex class OMG.Status.ReleaseTasks.SetLogger (line 15) | defmodule OMG.Status.ReleaseTasks.SetLogger method init (line 23) | def init(args) do method load (line 27) | def load(config, _args) do method get_logger_backend (line 42) | defp get_logger_backend() do method get_env (line 52) | defp get_env(key), do: System.get_env(key) method validate_string (line 54) | defp validate_string(nil, default), do: default method validate_string (line 55) | defp validate_string(value, default), do: do_validate_string(String.up... method do_validate_string (line 56) | defp do_validate_string("CONSOLE", _default), do: :console method do_validate_string (line 57) | defp do_validate_string("INK", _default), do: Ink method do_validate_string (line 58) | defp do_validate_string(_, default), do: default method on_load (line 60) | defp on_load() do FILE: apps/omg_status/lib/omg_status/release_tasks/set_sentry.ex class OMG.Status.ReleaseTasks.SetSentry (line 15) | defmodule OMG.Status.ReleaseTasks.SetSentry method init (line 23) | def init(args) do method load (line 27) | def load(config, release: release, current_version: current_version) do method get_app_env (line 71) | defp get_app_env() do method get_hostname (line 77) | defp get_hostname() do method get_rpc_client_type (line 84) | defp get_rpc_client_type() do method get_env (line 91) | defp get_env(key), do: System.get_env(key) method validate_rpc_client_type (line 96) | defp validate_rpc_client_type(_value, default), method to_rpc_client_type (line 99) | defp to_rpc_client_type("GETH"), do: :geth method to_rpc_client_type (line 100) | defp to_rpc_client_type("PARITY"), do: :parity method to_rpc_client_type (line 101) | defp to_rpc_client_type("INFURA"), do: :infura method to_rpc_client_type (line 102) | defp to_rpc_client_type(_), do: exit("ETH_NODE must be either GETH, PA... method validate_string (line 105) | defp validate_string(_, default), do: default FILE: apps/omg_status/lib/omg_status/release_tasks/set_tracer.ex class OMG.Status.ReleaseTasks.SetTracer (line 15) | defmodule OMG.Status.ReleaseTasks.SetTracer method init (line 22) | def init(args) do method load (line 26) | def load(config, args) do method get_hostname (line 73) | defp get_hostname() do method get_dd_disabled (line 80) | defp get_dd_disabled() do method get_app_env (line 87) | defp get_app_env() do method get_dd_hostname (line 93) | defp get_dd_hostname(default) do method get_dd_port (line 99) | defp get_dd_port(default) do method get_dd_spandex_port (line 105) | defp get_dd_spandex_port(default) do method get_batch_size (line 111) | def get_batch_size() do method validate_hostname (line 119) | defp validate_hostname(_), do: exit("HOSTNAME is not set correctly.") method get_sync_threshold (line 121) | def get_sync_threshold() do method get_env (line 129) | defp get_env(key) do method validate_bool (line 134) | defp validate_bool(_, default), do: default method to_bool (line 136) | defp to_bool("TRUE"), do: true method to_bool (line 137) | defp to_bool("FALSE"), do: false method to_bool (line 138) | defp to_bool(_), do: exit("DD_DISABLED either true or false.") method validate_string (line 141) | defp validate_string(_, default), do: default method validate_integer (line 144) | defp validate_integer(_, default), do: default method on_load (line 146) | defp on_load() do FILE: apps/omg_status/lib/omg_status/sentry_filter.ex class OMG.Status.SentryFilter (line 15) | defmodule OMG.Status.SentryFilter method exclude_exception? (line 23) | def exclude_exception?(%MatchError{term: {:error, :nxdomain}}, _), do:... method exclude_exception? (line 26) | def exclude_exception?(%Phoenix.NotAcceptableError{plug_status: 406}, ... method exclude_exception? (line 28) | def exclude_exception?(%Plug.Parsers.RequestTooLargeError{}, _), do: true method exclude_exception? (line 30) | def exclude_exception?(%CaseClauseError{term: {:error, :econnrefused}}... method exclude_exception? (line 32) | def exclude_exception?(_, _), do: false FILE: apps/omg_status/lib/status.ex class OMG.Status (line 15) | defmodule OMG.Status method is_healthy (line 36) | def is_healthy() do FILE: apps/omg_status/mix.exs class OMG.Status.Mixfile (line 1) | defmodule OMG.Status.Mixfile method project (line 4) | def project() do method elixirc_paths (line 21) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 22) | defp elixirc_paths(:dev), do: ["lib"] method elixirc_paths (line 23) | defp elixirc_paths(:test), do: ["lib", "test/support"] method application (line 25) | def application() do method version (line 34) | defp version() do method deps (line 42) | defp deps(), FILE: apps/omg_status/test/omg_status/alert/alarm_printer_test.exs class OMG.Status.Alert.AlarmPrinterTest (line 15) | defmodule OMG.Status.Alert.AlarmPrinterTest class Alarm (line 75) | defmodule Alarm method all (line 76) | def all(), do: [1, 2, 3] FILE: apps/omg_status/test/omg_status/datadog_event/alarm_consumer_test.exs class OMG.Status.DatadogEvent.AlarmConsumerTest (line 15) | defmodule OMG.Status.DatadogEvent.AlarmConsumerTest class DatadogEventMock (line 48) | defmodule DatadogEventMock method event (line 51) | def event(_title, "%{test_pid: :" <> rest = _message, _options) do class DatadogAlarmHandlerMock (line 58) | defmodule DatadogAlarmHandlerMock method init (line 59) | def init([alarm_consumer_process]) do method handle_event (line 63) | def handle_event({:set_alarm, {:ethereum_connection_error, _details}} ... method handle_event (line 68) | def handle_event({:clear_alarm, {:ethereum_connection_error, _details}... class DatadogAlarmMock (line 74) | defmodule DatadogAlarmMock method init (line 75) | def init(_) do method add_alarm_handler (line 79) | def add_alarm_handler(module, args) do method set_alarm (line 83) | def set_alarm(alarm) do method clear_alarm (line 87) | def clear_alarm(alarm_id) do FILE: apps/omg_status/test/omg_status/integration/alarms_test.exs class OMG.Status.Alert.AlarmTest (line 15) | defmodule OMG.Status.Alert.AlarmTest method get_alarms (line 89) | defp get_alarms(ids), do: Enum.filter(Alarm.all(), fn {id, _desc} -> i... FILE: apps/omg_status/test/omg_status/metric/datadog_test.exs class OMG.Status.Metric.DatadogTest (line 15) | defmodule OMG.Status.Metric.DatadogTest FILE: apps/omg_status/test/omg_status/monitor/memory_monitor_test.exs class OMG.Status.Monitor.MemoryMonitorTest (line 15) | defmodule OMG.Status.Monitor.MemoryMonitorTest method set_memsup (line 66) | defp set_memsup(memory_data) do class Alarm (line 70) | defmodule Alarm method start_link (line 73) | def start_link(parent) do method init (line 77) | def init([parent]) do method system_memory_too_high (line 81) | def system_memory_too_high(reporter) do method set (line 85) | def set({:system_memory_too_high, _}) do method clear (line 89) | def clear({:system_memory_too_high, _}) do method handle_call (line 93) | def handle_call(:got_raise_alarm, _, state) do method handle_call (line 97) | def handle_call(:got_clear_alarm, _, state) do class Memsup (line 102) | defmodule Memsup method start_link (line 105) | def start_link() do method init (line 109) | def init(_) do method get_system_memory_data (line 120) | def get_system_memory_data() do method handle_call (line 124) | def handle_call(:get_system_memory_data, _, state) do FILE: apps/omg_status/test/omg_status/monitor/statsd_monitor_test.exs class OMG.Status.Monitor.StatsdMonitorTest (line 15) | defmodule OMG.Status.Monitor.StatsdMonitorTest class Alarm (line 57) | defmodule Alarm method start (line 60) | def start(parent) do method init (line 64) | def init([parent]) do method statsd_client_connection (line 68) | def statsd_client_connection(reporter), method set (line 71) | def set({:statsd_client_connection, _details}) do method clear (line 75) | def clear({:statsd_client_connection, _details}) do method handle_call (line 79) | def handle_call(:got_raise_alarm, _, state) do method handle_call (line 83) | def handle_call(:got_clear_alarm, _, state) do class StasdWrapper (line 88) | defmodule StasdWrapper method start_link (line 91) | def start_link() do method init (line 95) | def init(_) do FILE: apps/omg_status/test/omg_status/release_tasks/set_logger_test.exs class OMG.Status.ReleaseTasks.SetLoggerTest (line 15) | defmodule OMG.Status.ReleaseTasks.SetLoggerTest FILE: apps/omg_status/test/omg_status/release_tasks/set_sentry_test.exs class OMG.Status.ReleaseTasks.SetSentryTest (line 15) | defmodule OMG.Status.ReleaseTasks.SetSentryTest FILE: apps/omg_status/test/omg_status/release_tasks/set_tracer_test.exs class OMG.Status.ReleaseTasks.SetTracerTest (line 15) | defmodule OMG.Status.ReleaseTasks.SetTracerTest class System (line 132) | defmodule System method start_link (line 133) | def start_link(args), do: GenServer.start_link(__MODULE__, args, []) method get_env (line 134) | def get_env(key), do: __MODULE__ |> Process.get() |> GenServer.call({:... method put_env (line 135) | def put_env(key, value), do: __MODULE__ |> Process.get() |> GenServer.... method init (line 136) | def init(_), do: {:ok, %{}} method handle_call (line 138) | def handle_call({:get_env, key}, _, state) do method handle_call (line 142) | def handle_call({:put_env, key, value}, _, state) do FILE: apps/omg_status/test/sentry_filter_test.exs class OMG.Status.SentryFilterTest (line 15) | defmodule OMG.Status.SentryFilterTest FILE: apps/omg_utils/lib/omg_utils/app_version.ex class OMG.Utils.AppVersion (line 15) | defmodule OMG.Utils.AppVersion method version (line 24) | def version(app) do FILE: apps/omg_utils/lib/omg_utils/http_rpc/encoding.ex class OMG.Utils.HttpRPC.Encoding (line 15) | defmodule OMG.Utils.HttpRPC.Encoding method to_hex (line 27) | def to_hex(binary), do: "0x" <> Base.encode16(binary, case: :lower) method from_hex (line 35) | def from_hex("0x" <> hexstr), do: Base.decode16(hexstr, case: :mixed) method from_hex (line 36) | def from_hex(_), do: {:error, :invalid_hex} method from_hex! (line 40) | def from_hex!("0x" <> encoded), do: Base.decode16!(encoded, case: :lower) FILE: apps/omg_utils/lib/omg_utils/http_rpc/error.ex class OMG.Utils.HttpRPC.Error (line 15) | defmodule OMG.Utils.HttpRPC.Error method serialize (line 25) | def serialize(code, description, messages \\ nil) do method add_messages (line 35) | defp add_messages(data, nil), do: data method add_messages (line 36) | defp add_messages(data, messages), do: Map.put_new(data, :messages, me... FILE: apps/omg_utils/lib/omg_utils/http_rpc/response.ex class OMG.Utils.HttpRPC.Response (line 15) | defmodule OMG.Utils.HttpRPC.Response method serialize_page (line 23) | def serialize_page(data, data_paging) do method serialize (line 33) | def serialize(%{object: :error} = error) do method serialize (line 37) | def serialize(data) do method sanitize (line 51) | def sanitize(response) method sanitize (line 54) | def sanitize(%DateTime{} = datetime) do method sanitize (line 70) | def sanitize({:skip_hex_encode, bin}), do: bin method sanitize (line 71) | def sanitize({{key, value}, _}), do: Map.put_new(%{}, key, value) method sanitize (line 72) | def sanitize({key, value}), do: Map.put_new(%{}, key, value) method sanitize (line 73) | def sanitize(value), do: value method do_filter (line 75) | defp do_filter(map_or_struct) do method sanitize_map (line 88) | defp sanitize_map(map) do method to_map (line 102) | defp to_map(struct), do: Map.drop(struct, [:__struct__, :__meta__]) method to_response (line 104) | defp to_response(data, result) do FILE: apps/omg_utils/lib/omg_utils/http_rpc/validators/base.ex class OMG.Utils.HttpRPC.Validator.Base (line 15) | defmodule OMG.Utils.HttpRPC.Validator.Base method expect (line 58) | def expect(map, key, opts) do method error (line 75) | def error(parent_name, {:validation_error, child_name, reason}), method all_success_or_error (line 85) | def all_success_or_error(result_list) do method integer (line 102) | def integer({_, [_ | _]} = err), do: err method integer (line 104) | def integer({val, []}), do: {val, [:integer]} method optional (line 108) | def optional(acc), do: acc method optional (line 112) | def optional(acc, _), do: acc method hex (line 115) | def hex({_, [_ | _]} = err), do: err method hex (line 117) | def hex({str, []}) do method length (line 128) | def length({_, [_ | _]} = err, _len), do: err method length (line 136) | def length({val, []}, len), do: {val, length: len} method max_length (line 139) | def max_length({_, [_ | _]} = err, _len), do: err method max_length (line 141) | def max_length({val, []}, len), do: {val, max_length: len} method min_length (line 144) | def min_length({_, [_ | _]} = err, _len), do: err method min_length (line 146) | def min_length({val, []}, len), do: {val, min_length: len} method greater (line 149) | def greater({_, [_ | _]} = err, _b), do: err method greater (line 152) | def greater({val, []}, bound), do: {val, greater: bound} method lesser (line 155) | def lesser({_, [_ | _]} = err, _b), do: err method lesser (line 158) | def lesser({val, []}, bound), do: {val, lesser: bound} method list (line 161) | def list(tuple, mapper \\ nil) method list (line 162) | def list({_, [_ | _]} = err, _), do: err method list (line 165) | def list({val, _}, _), do: {val, [:list]} method map (line 168) | def map(tuple, parser \\ nil) method map (line 169) | def map({_, [_ | _]} = err, _), do: err method map (line 179) | def map({val, _}, _), do: {val, [:map]} method list_processor (line 181) | defp list_processor(val, mapper) do method get (line 200) | defp get(map, key), do: {Map.get(map, key, :missing), []} method validate (line 203) | defp validate({validator, args}, acc), do: Kernel.apply(__MODULE__, va... method replace_aliases (line 205) | defp replace_aliases(validators) do method validator_name (line 219) | defp validator_name({v, _}), do: v FILE: apps/omg_utils/lib/omg_utils/paginator.ex class OMG.Utils.Paginator (line 14) | defmodule OMG.Utils.Paginator FILE: apps/omg_utils/lib/omg_utils/remote_ip.ex class OMG.Utils.RemoteIP (line 14) | defmodule OMG.Utils.RemoteIP method init (line 22) | def init(options), do: options method call (line 24) | def call(conn, _opts) do method parse_and_set_ip (line 39) | defp parse_and_set_ip(conn, _ip), do: conn method parse_ip (line 54) | defp parse_ip(conn, _), do: conn FILE: apps/omg_utils/lib/utils.ex class OMG.Utils (line 15) | defmodule OMG.Utils FILE: apps/omg_utils/mix.exs class Utils.MixProject (line 1) | defmodule Utils.MixProject method project (line 4) | def project() do method application (line 20) | def application() do method version (line 24) | defp version() do method elixirc_paths (line 33) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 34) | defp elixirc_paths(:dev), do: ["lib"] method elixirc_paths (line 35) | defp elixirc_paths(:test), do: ["lib", "test/support"] FILE: apps/omg_utils/test/omg_utils/app_version_tet.exs class OMG.Utils.AppVersionTest (line 15) | defmodule OMG.Utils.AppVersionTest FILE: apps/omg_utils/test/omg_utils/http_rpc/encoding_test.exs class OMG.Utils.HttpRPC.EncodingTest (line 15) | defmodule OMG.Utils.HttpRPC.EncodingTest FILE: apps/omg_utils/test/omg_utils/http_rpc/response_test.exs class OMG.Utils.HttpRPC.ResponseTest (line 15) | defmodule OMG.Utils.HttpRPC.ResponseTest method unload_ecto (line 162) | defp unload_ecto() do method load_ecto (line 168) | defp load_ecto(), do: true = Code.ensure_loaded?(Ecto) FILE: apps/omg_utils/test/omg_utils/http_rpc/validators/base_test.exs class OMG.Utils.HttpRPC.Validator.BaseTest (line 15) | defmodule OMG.Utils.HttpRPC.Validator.BaseTest FILE: apps/omg_utils/test/omg_utils/remote_ip_test.exs class OMG.Utils.RemoteIPTest (line 14) | defmodule OMG.Utils.RemoteIPTest FILE: apps/omg_watcher/lib/omg_watcher.ex class OMG.Watcher (line 15) | defmodule OMG.Watcher FILE: apps/omg_watcher/lib/omg_watcher/api/account.ex class OMG.Watcher.API.Account (line 15) | defmodule OMG.Watcher.API.Account method get_exitable_utxos (line 29) | def get_exitable_utxos(address) do method filter_standard_exiting_utxos (line 49) | defp filter_standard_exiting_utxos(standard_exitable_utxos, active_exi... FILE: apps/omg_watcher/lib/omg_watcher/api/alarm.ex class OMG.Watcher.API.Alarm (line 15) | defmodule OMG.Watcher.API.Alarm method get_alarms (line 23) | def get_alarms(), do: {:ok, Alarm.all()} FILE: apps/omg_watcher/lib/omg_watcher/api/configuration.ex class OMG.Watcher.API.Configuration (line 15) | defmodule OMG.Watcher.API.Configuration method get_configuration (line 23) | def get_configuration() do FILE: apps/omg_watcher/lib/omg_watcher/api/in_flight_exit.ex class OMG.Watcher.API.InFlightExit (line 15) | defmodule OMG.Watcher.API.InFlightExit method get_in_flight_exit (line 38) | def get_in_flight_exit(txbytes) do method get_competitor (line 60) | def get_competitor(txbytes) do method prove_canonical (line 69) | def prove_canonical(txbytes) do method get_input_challenge_data (line 78) | def get_input_challenge_data(txbytes, input_index) do method get_output_challenge_data (line 87) | def get_output_challenge_data(txbytes, output_index) do method find_input_data (line 91) | defp find_input_data(tx) do method find_single_input_data (line 99) | defp find_single_input_data(input_utxo_pos, {:ok, {proofs, txbyteses, ... FILE: apps/omg_watcher/lib/omg_watcher/api/status.ex class OMG.Watcher.API.Status (line 15) | defmodule OMG.Watcher.API.Status method get_status (line 26) | def get_status() do FILE: apps/omg_watcher/lib/omg_watcher/api/status_cache.ex class OMG.Watcher.API.StatusCache (line 15) | defmodule OMG.Watcher.API.StatusCache method get (line 36) | def get() do method start_link (line 40) | def start_link(args) do method init (line 45) | def init(opts) do method handle_info (line 60) | def handle_info({:internal_event_bus, :ethereum_new_height, eth_block_... method handle_info (line 65) | def handle_info({:ssl_closed, _}, state) do method key (line 70) | defp key() do FILE: apps/omg_watcher/lib/omg_watcher/api/status_cache/external.ex class OMG.Watcher.API.StatusCache.External (line 15) | defmodule OMG.Watcher.API.StatusCache.External method get_ethereum_height (line 45) | def get_ethereum_height() do method get_status (line 55) | def get_status(eth_block_number) do method syncing? (line 91) | defp syncing?() do method get_validated_child_block_number (line 95) | defp get_validated_child_block_number() do method contract_map_from_hex (line 101) | defp contract_map_from_hex(contract_map) do FILE: apps/omg_watcher/lib/omg_watcher/api/status_cache/storage.ex class OMG.Watcher.API.StatusCache.Storage (line 15) | defmodule OMG.Watcher.API.StatusCache.Storage method update_status (line 23) | def update_status(ets, key, eth_block_number, integration_module) do method ensure_ets_init (line 28) | def ensure_ets_init(status_cache) do FILE: apps/omg_watcher/lib/omg_watcher/api/transaction.ex class OMG.Watcher.API.Transaction (line 15) | defmodule OMG.Watcher.API.Transaction method batch_submit (line 36) | def batch_submit(signed_txs) do method submit (line 42) | def submit(%Transaction.Signed{} = signed_tx) do FILE: apps/omg_watcher/lib/omg_watcher/api/utxo.ex class OMG.Watcher.API.Utxo (line 15) | defmodule OMG.Watcher.API.Utxo method create_challenge (line 44) | def create_challenge(utxo) do method compose_utxo_exit (line 54) | def compose_utxo_exit(Utxo.position(blknum, _, _) = utxo_pos) do FILE: apps/omg_watcher/lib/omg_watcher/application.ex class OMG.Watcher.Application (line 15) | defmodule OMG.Watcher.Application method start (line 24) | def start(_type, _args) do method start_root_supervisor (line 29) | def start_root_supervisor() do method start_phase (line 50) | def start_phase(:attach_telemetry, :normal, _phase_args) do FILE: apps/omg_watcher/lib/omg_watcher/block.ex class OMG.Watcher.Block (line 15) | defmodule OMG.Watcher.Block method hashed_txs_at (line 44) | def hashed_txs_at(txs, blknum) do method to_api_format (line 54) | def to_api_format(%__MODULE__{number: blknum} = struct_block) do method inclusion_proof (line 86) | def inclusion_proof(%__MODULE__{transactions: transactions}, txindex),... FILE: apps/omg_watcher/lib/omg_watcher/block_getter.ex class OMG.Watcher.BlockGetter (line 15) | defmodule OMG.Watcher.BlockGetter method get_events (line 62) | def get_events(), do: __MODULE__.Status.get_events() method start_link (line 64) | def start_link(args) do method init (line 72) | def init(args) do method handle_continue (line 139) | def handle_continue({:apply_block_step, :execute_transactions, block_a... method handle_continue (line 156) | def handle_continue({:apply_block_step, :run_block_download_task, bloc... method handle_continue (line 161) | def handle_continue({:apply_block_step, :close_and_apply_block, block_... method handle_continue (line 182) | def handle_continue({:apply_block_step, :check_validity}, state) do method handle_cast (line 192) | def handle_cast({:apply_block, %BlockApplication{} = block_application... method handle_info (line 218) | def handle_info(msg, state) method handle_info (line 220) | def handle_info(:producer, state), do: do_producer(state) method handle_info (line 221) | def handle_info({_ref, {:downloaded_block, response}}, state), do: do_... method handle_info (line 222) | def handle_info({:DOWN, _ref, :process, _pid, :normal} = _process, sta... method handle_info (line 223) | def handle_info(:sync, state), do: do_sync(state) method handle_info (line 225) | def handle_info(:send_metrics, state) do method handle_info (line 230) | def handle_info({:ssl_closed, _}, state) do method do_producer (line 239) | defp do_producer(state) do method do_downloaded_block (line 254) | defp do_downloaded_block(response, state) do method do_sync (line 270) | defp do_sync(state) do method get_block_submitted_events (line 305) | defp get_block_submitted_events(block_from, block_to) do method run_block_download_task (line 309) | defp run_block_download_task(state) do method schedule_sync_height (line 324) | defp schedule_sync_height(block_getter_loops_interval_ms) do method schedule_producer (line 328) | defp schedule_producer(block_getter_loops_interval_ms) do method download_block (line 333) | defp download_block(requested_number, child_chain_url) do method check_in_to_coordinator (line 347) | defp check_in_to_coordinator(synced_height), do: RootChainCoordinator.... method update_status (line 349) | defp update_status(%Core{} = state), do: Status.update(Core.chain_ok(s... method publish_events (line 351) | defp publish_events([%{event_signature: event_signature} | _] = data) do method publish_events (line 361) | defp publish_events([]), do: :ok FILE: apps/omg_watcher/lib/omg_watcher/block_getter/block_application.ex class OMG.Watcher.BlockGetter.BlockApplication (line 15) | defmodule OMG.Watcher.BlockGetter.BlockApplication method new (line 41) | def new(block, recovered_txs, block_timestamp) do FILE: apps/omg_watcher/lib/omg_watcher/block_getter/core.ex class OMG.Watcher.BlockGetter.Core (line 15) | defmodule OMG.Watcher.BlockGetter.Core method init (line 147) | def init( method chain_ok (line 189) | def chain_ok(%__MODULE__{chain_status: chain_status, events: events}),... method apply_block (line 195) | def apply_block(%__MODULE__{} = state, %BlockApplication{ method get_eth_range_for_block_submitted_events (line 218) | def get_eth_range_for_block_submitted_events( method get_blocks_to_apply (line 234) | def get_blocks_to_apply( method get_numbers_of_blocks_to_download (line 250) | def get_numbers_of_blocks_to_download( method get_numbers_of_blocks_to_download (line 309) | def get_numbers_of_blocks_to_download(state, _next_child) do method validate_download_response (line 325) | def validate_download_response( method validate_download_response (line 344) | def validate_download_response({:error, _} = error, requested_hash, re... method handle_downloaded_block (line 367) | def handle_downloaded_block( method validate_executions (line 403) | def validate_executions(tx_execution_results, %{hash: hash, number: bl... method consider_exits (line 419) | def consider_exits(%__MODULE__{} = state, {:ok, _}), do: state method consider_exits (line 421) | def consider_exits(%__MODULE__{} = state, {{:error, :unchallenged_exit... method init_opts_valid? (line 430) | defp init_opts_valid?(opts) do method do_get_blocks_to_apply (line 446) | defp do_get_blocks_to_apply(%__MODULE__{} = state, [], coordinator_hei... method do_get_blocks_to_apply (line 452) | defp do_get_blocks_to_apply( method final_blknums (line 492) | defp final_blknums(new_submissions) do method log_downloading_blocks (line 501) | defp log_downloading_blocks(_next_child, []), do: :ok method log_downloading_blocks (line 503) | defp log_downloading_blocks(next_child, blocks_numbers) do method get_blknum (line 507) | defp get_blknum({:ok, %{number: number}}), do: number method get_blknum (line 508) | defp get_blknum({:ok, %PotentialWithholdingReport{blknum: blknum}}), d... method get_blknum (line 509) | defp get_blknum({:error, {_error_type, _hash, number}}), do: number method validate_downloaded_block (line 511) | defp validate_downloaded_block( method validate_downloaded_block (line 530) | defp validate_downloaded_block( method validate_downloaded_block (line 539) | defp validate_downloaded_block( method not_queued_up_yet? (line 564) | defp not_queued_up_yet?(number, unapplied_blocks), do: not Map.has_key... method expected_to_queue_up? (line 566) | defp expected_to_queue_up?(number, %{num_of_highest_block_being_downlo... method recover_all_txs (line 569) | defp recover_all_txs(transactions) do method all_tx_executions_ok? (line 580) | defp all_tx_executions_ok?(tx_execution_results) do method add_distinct_event (line 588) | defp add_distinct_event(%__MODULE__{events: events} = state, event) do method set_chain_status (line 594) | defp set_chain_status(state, status), do: %{state | chain_status: status} class Config (line 35) | defmodule Config class PotentialWithholdingReport (line 57) | defmodule PotentialWithholdingReport class PotentialWithholding (line 71) | defmodule PotentialWithholding FILE: apps/omg_watcher/lib/omg_watcher/block_getter/measure.ex class OMG.Watcher.BlockGetter.Measure (line 15) | defmodule OMG.Watcher.BlockGetter.Measure method supported_events (line 26) | def supported_events(), do: @supported_events method handle_event (line 28) | def handle_event([:process, BlockGetter], _, _state, _config) do FILE: apps/omg_watcher/lib/omg_watcher/block_getter/status.ex class OMG.Watcher.BlockGetter.Status (line 15) | defmodule OMG.Watcher.BlockGetter.Status method start_link (line 27) | def start_link() do method update (line 35) | def update(status), do: Agent.update(__MODULE__, fn _old_status -> sta... method get_events (line 42) | def get_events(), do: Agent.get(__MODULE__, fn status -> {:ok, status}... FILE: apps/omg_watcher/lib/omg_watcher/block_getter/supervisor.ex class OMG.Watcher.BlockGetter.Supervisor (line 15) | defmodule OMG.Watcher.BlockGetter.Supervisor method start_link (line 26) | def start_link(args) do method init (line 30) | def init(args) do FILE: apps/omg_watcher/lib/omg_watcher/block_validator.ex class OMG.Watcher.BlockValidator (line 15) | defmodule OMG.Watcher.BlockValidator method stateless_validate (line 37) | def stateless_validate(submitted_block) do method verify_merkle_root (line 49) | defp verify_merkle_root(block, transactions) do method verify_transactions (line 64) | defp verify_transactions(transactions) do method number_of_transactions_within_limit (line 79) | defp number_of_transactions_within_limit([]), do: {:error, :empty_block} method number_of_transactions_within_limit (line 85) | defp number_of_transactions_within_limit(_transactions), do: :ok method verify_no_duplicate_inputs (line 88) | defp verify_no_duplicate_inputs(transactions) do method verify_fee_transactions (line 99) | defp verify_fee_transactions(transactions) do method expected_index (line 109) | defp expected_index(transactions, identified_fee_transactions) do method unique_fee_transaction_per_currency (line 120) | defp unique_fee_transaction_per_currency(identified_fee_transactions) do method is_fee (line 129) | defp is_fee(%Transaction.Recovered{signed_tx: %Transaction.Signed{raw_... method is_fee (line 133) | defp is_fee(_), do: false method get_fee_output (line 135) | defp get_fee_output(fee_transaction) do FILE: apps/omg_watcher/lib/omg_watcher/child_manager.ex class OMG.Watcher.ChildManager (line 15) | defmodule OMG.Watcher.ChildManager method start_link (line 23) | def start_link(args) do method init (line 27) | def init(args) do method handle_info (line 33) | def handle_info(:health_checkin, state) do FILE: apps/omg_watcher/lib/omg_watcher/configuration.ex class OMG.Watcher.Configuration (line 15) | defmodule OMG.Watcher.Configuration method exit_processor_sla_margin (line 20) | def exit_processor_sla_margin() do method exit_processor_sla_margin_forced (line 24) | def exit_processor_sla_margin_forced() do method metrics_collection_interval (line 28) | def metrics_collection_interval() do method block_getter_reorg_margin (line 32) | def block_getter_reorg_margin() do method maximum_block_withholding_time_ms (line 36) | def maximum_block_withholding_time_ms() do method maximum_number_of_unapplied_blocks (line 40) | def maximum_number_of_unapplied_blocks() do method child_chain_url (line 44) | def child_chain_url() do method exit_finality_margin (line 48) | def exit_finality_margin() do method deposit_finality_margin (line 53) | def deposit_finality_margin() do method fee_claimer_address (line 58) | def fee_claimer_address() do method ethereum_events_check_interval_ms (line 63) | def ethereum_events_check_interval_ms() do method coordinator_eth_height_check_interval_ms (line 68) | def coordinator_eth_height_check_interval_ms() do FILE: apps/omg_watcher/lib/omg_watcher/coordinator_setup.ex class OMG.Watcher.CoordinatorSetup (line 15) | defmodule OMG.Watcher.CoordinatorSetup method coordinator_setup (line 32) | def coordinator_setup( FILE: apps/omg_watcher/lib/omg_watcher/crypto.ex class OMG.Watcher.Crypto (line 15) | defmodule OMG.Watcher.Crypto method hash (line 45) | def hash(message), do: Crypto.keccak_hash(message) method recover_address (line 51) | def recover_address(<>, <>) do FILE: apps/omg_watcher/lib/omg_watcher/datadog_event/contract_event_consumer.ex class OMG.Watcher.DatadogEvent.ContractEventConsumer (line 15) | defmodule OMG.Watcher.DatadogEvent.ContractEventConsumer method prepare_child (line 32) | def prepare_child(opts \\ []) do method start_link (line 43) | def start_link(args) do method init (line 51) | def init(args) do method handle_info (line 62) | def handle_info({:internal_event_bus, :enqueue_block, _omg_block}, sta... method handle_info (line 71) | def handle_info({:internal_event_bus, :data, data}, state) do method create_event_data (line 88) | defp create_event_data(title, message, options) do method tags (line 93) | defp tags(aggregation_key, release, current_version, _timestamp) do FILE: apps/omg_watcher/lib/omg_watcher/datadog_event/encode.ex class OMG.Watcher.DatadogEvent.Encode (line 15) | defmodule OMG.Watcher.DatadogEvent.Encode FILE: apps/omg_watcher/lib/omg_watcher/ethereum_event_aggregator.ex class OMG.Watcher.EthereumEventAggregator (line 14) | defmodule OMG.Watcher.EthereumEventAggregator method deposit_created (line 31) | def deposit_created(server \\ __MODULE__, from_block, to_block) do method exit_started (line 36) | def exit_started(server \\ __MODULE__, from_block, to_block) do method exit_finalized (line 41) | def exit_finalized(server \\ __MODULE__, from_block, to_block) do method exit_challenged (line 46) | def exit_challenged(server \\ __MODULE__, from_block, to_block) do method in_flight_exit_started (line 51) | def in_flight_exit_started(server \\ __MODULE__, from_block, to_block) do method in_flight_exit_deleted (line 56) | def in_flight_exit_deleted(server \\ __MODULE__, from_block, to_block) do method in_flight_exit_piggybacked (line 61) | def in_flight_exit_piggybacked(server \\ __MODULE__, from_block, to_bl... method in_flight_exit_challenged (line 67) | def in_flight_exit_challenged(server \\ __MODULE__, from_block, to_blo... method in_flight_exit_challenge_responded (line 72) | def in_flight_exit_challenge_responded(server \\ __MODULE__, from_bloc... method in_flight_exit_blocked (line 77) | def in_flight_exit_blocked(server \\ __MODULE__, from_block, to_block) do method in_flight_exit_withdrawn (line 82) | def in_flight_exit_withdrawn(server \\ __MODULE__, from_block, to_bloc... method start_link (line 93) | def start_link(opts) do method init (line 97) | def init(opts) do method handle_call (line 130) | def handle_call({:in_flight_exit_withdrawn, from_block, to_block}, _, ... method handle_call (line 148) | def handle_call({:in_flight_exit_blocked, from_block, to_block}, _, st... method handle_call (line 167) | def handle_call({:in_flight_exit_piggybacked, from_block, to_block}, _... method handle_call (line 186) | def handle_call({name, from_block, to_block}, _, state) do method handle_continue (line 205) | def handle_continue(new_height_blknum, state) do method retrieve_and_store_logs (line 211) | defp retrieve_and_store_logs(from_block, to_block, state) do method get_logs (line 218) | defp get_logs(from_height, to_height, state) do method enrich_logs_with_call_data (line 224) | defp enrich_logs_with_call_data(decoded_logs, state) do method store_logs (line 245) | defp store_logs(decoded_logs, from_block, to_block, state) do method delete_old_logs (line 294) | defp delete_old_logs(new_height_blknum, state) do method retrieve_log (line 309) | defp retrieve_log(signature, from_block, to_block, state) do method from_hex (line 357) | defp from_hex("0x" <> encoded), do: Base.decode16!(encoded, case: :lower) FILE: apps/omg_watcher/lib/omg_watcher/ethereum_event_listener.ex class OMG.Watcher.EthereumEventListener (line 15) | defmodule OMG.Watcher.EthereumEventListener method start_link (line 61) | def start_link(config) do method prepare_child (line 71) | def prepare_child(opts \\ []) do method init (line 87) | def init(init) do method handle_continue (line 96) | def handle_continue( method handle_info (line 132) | def handle_info(:send_metrics, {state, callbacks}) do method handle_info (line 150) | def handle_info(:sync, {state, callbacks}) do method sync_height (line 168) | defp sync_height(state, callbacks, sync_guide) do method get_events (line 185) | defp get_events({{from, to}, state}, get_events_callback) do method get_events (line 190) | defp get_events({:dont_fetch_events, state}, _callback) do method schedule_get_events (line 194) | defp schedule_get_events(ethereum_events_check_interval_ms) do method publish_events (line 198) | defp publish_events([%{event_signature: event_signature} | _] = data) do method publish_events (line 206) | defp publish_events([]), do: :ok FILE: apps/omg_watcher/lib/omg_watcher/ethereum_event_listener/core.ex class OMG.Watcher.EthereumEventListener.Core (line 15) | defmodule OMG.Watcher.EthereumEventListener.Core method init (line 55) | def init( method calc_events_range_set_height (line 83) | def calc_events_range_set_height(state, sync_guide) do FILE: apps/omg_watcher/lib/omg_watcher/ethereum_event_listener/measure.ex class OMG.Watcher.EthereumEventListener.Measure (line 15) | defmodule OMG.Watcher.EthereumEventListener.Measure method supported_events (line 35) | def supported_events(), do: @supported_events method handle_event (line 37) | def handle_event([:process, OMG.Watcher.EthereumEventListener], %{even... method handle_event (line 41) | def handle_event([:process, OMG.Watcher.EthereumEventListener], %{}, s... method handle_event (line 50) | def handle_event([:trace, _], %{}, state, _config) do FILE: apps/omg_watcher/lib/omg_watcher/event.ex class OMG.Watcher.Event (line 15) | defmodule OMG.Watcher.Event class AddressReceived (line 58) | defmodule AddressReceived class AddressSpent (line 74) | defmodule AddressSpent class ExitFinalized (line 90) | defmodule ExitFinalized class InvalidBlock (line 106) | defmodule InvalidBlock class BlockWithholding (line 121) | defmodule BlockWithholding class InvalidExit (line 135) | defmodule InvalidExit class UnchallengedExit (line 167) | defmodule UnchallengedExit class NonCanonicalIFE (line 201) | defmodule NonCanonicalIFE class UnchallengedNonCanonicalIFE (line 214) | defmodule UnchallengedNonCanonicalIFE class InvalidIFEChallenge (line 229) | defmodule InvalidIFEChallenge class PiggybackAvailable (line 242) | defmodule PiggybackAvailable class InvalidPiggyback (line 260) | defmodule InvalidPiggyback class UnchallengedPiggyback (line 277) | defmodule UnchallengedPiggyback FILE: apps/omg_watcher/lib/omg_watcher/exit_processor.ex class OMG.Watcher.ExitProcessor (line 15) | defmodule OMG.Watcher.ExitProcessor method start_link (line 54) | def start_link(args) do method new_exits (line 70) | def new_exits([]), do: {:ok, []} method new_exits (line 72) | def new_exits(exits) do method new_in_flight_exits (line 88) | def new_in_flight_exits([]), do: {:ok, []} method new_in_flight_exits (line 90) | def new_in_flight_exits(in_flight_exit_started_events) do method delete_in_flight_exits (line 102) | def delete_in_flight_exits([]), do: {:ok, []} method delete_in_flight_exits (line 104) | def delete_in_flight_exits(in_flight_exit_deleted_events) do method finalize_exits (line 120) | def finalize_exits([]), do: {:ok, []} method finalize_exits (line 122) | def finalize_exits(finalizations) do method piggyback_exits (line 135) | def piggyback_exits([]), do: {:ok, []} method piggyback_exits (line 137) | def piggyback_exits(piggybacks) do method challenge_exits (line 150) | def challenge_exits([]), do: {:ok, []} method challenge_exits (line 152) | def challenge_exits(challenges) do method new_ife_challenges (line 169) | def new_ife_challenges([]), do: {:ok, []} method new_ife_challenges (line 171) | def new_ife_challenges(challenges) do method respond_to_in_flight_exits_challenges (line 186) | def respond_to_in_flight_exits_challenges([]), do: {:ok, []} method respond_to_in_flight_exits_challenges (line 188) | def respond_to_in_flight_exits_challenges(responds) do method challenge_piggybacks (line 201) | def challenge_piggybacks([]), do: {:ok, []} method challenge_piggybacks (line 203) | def challenge_piggybacks(challenges) do method finalize_in_flight_exits (line 221) | def finalize_in_flight_exits([]), do: {:ok, []} method finalize_in_flight_exits (line 223) | def finalize_in_flight_exits(finalizations) do method check_validity (line 239) | def check_validity() do method check_validity (line 243) | def check_validity(timeout) do method get_active_in_flight_exits (line 251) | def get_active_in_flight_exits() do method get_competitor_for_ife (line 267) | def get_competitor_for_ife(txbytes) do method prove_canonical_for_ife (line 281) | def prove_canonical_for_ife(txbytes) do method get_input_challenge_data (line 293) | def get_input_challenge_data(txbytes, input_index) do method get_output_challenge_data (line 307) | def get_output_challenge_data(txbytes, output_index) do method create_challenge (line 319) | def create_challenge(exiting_utxo_pos) do method init (line 341) | def init( method handle_call (line 377) | def handle_call({:new_exits, exits}, _from, state) do method handle_call (line 401) | def handle_call({:new_in_flight_exits, exits}, _from, state) do method handle_call (line 428) | def handle_call({:delete_in_flight_exits, deletions}, _from, state) do method handle_call (line 439) | def handle_call({:finalize_exits, exits}, _from, state) do method handle_call (line 450) | def handle_call({:piggyback_exits, exits}, _from, state) do method handle_call (line 468) | def handle_call({:challenge_exits, exits}, _from, state) do method handle_call (line 474) | def handle_call({:new_ife_challenges, challenges}, _from, state) do method handle_call (line 483) | def handle_call({:challenge_piggybacks, challenges}, _from, state) do method handle_call (line 492) | def handle_call({:respond_to_in_flight_exits_challenges, responds}, _f... method handle_call (line 501) | def handle_call({:finalize_in_flight_exits, finalizations}, _from, sta... method handle_call (line 531) | def handle_call(:check_validity, _from, state) do method handle_call (line 542) | def handle_call(:get_active_in_flight_exits, _from, state) do method handle_call (line 546) | def handle_call({:get_competitor_for_ife, txbytes}, _from, state) do method handle_call (line 560) | def handle_call({:prove_canonical_for_ife, txbytes}, _from, state) do method handle_call (line 566) | def handle_call({:get_input_challenge_data, txbytes, input_index}, _fr... method handle_call (line 575) | def handle_call({:get_output_challenge_data, txbytes, output_index}, _... method handle_call (line 586) | def handle_call({:create_challenge, exiting_utxo_pos}, _from, state) do method handle_info (line 600) | def handle_info(:send_metrics, state) do method fill_request_with_standard_challenge_data (line 605) | defp fill_request_with_standard_challenge_data(%ExitProcessor.Request{... method fill_request_with_spending_data (line 611) | defp fill_request_with_spending_data(request, state) do method update_with_ife_txs_from_blocks (line 622) | defp update_with_ife_txs_from_blocks(state) do method run_status_gets (line 638) | defp run_status_gets(%ExitProcessor.Request{eth_height_now: nil, blknu... method get_utxo_existence (line 646) | defp get_utxo_existence(%ExitProcessor.Request{utxos_to_check: positio... method get_ife_input_utxo_existence (line 649) | defp get_ife_input_utxo_existence(%ExitProcessor.Request{ife_input_utx... method do_utxo_exists? (line 652) | defp do_utxo_exists?(positions) do method get_spending_blocks (line 658) | defp get_spending_blocks(%ExitProcessor.Request{spends_to_get: positio... method get_ife_input_spending_blocks (line 662) | defp get_ife_input_spending_blocks(%ExitProcessor.Request{ife_input_sp... method do_get_spending_blocks (line 666) | defp do_get_spending_blocks(spent_positions_to_get) do method do_get_blocks (line 675) | defp do_get_blocks(blknums) do method do_get_spent_blknum (line 684) | defp do_get_spent_blknum(position) do method collect_invalidities_and_state_db_updates (line 688) | defp collect_invalidities_and_state_db_updates( method put_timestamp_and_sft (line 704) | defp put_timestamp_and_sft( method publish_internal_bus_events (line 727) | defp publish_internal_bus_events([], _), do: :ok FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/canonicity.ex class OMG.Watcher.ExitProcessor.Canonicity (line 15) | defmodule OMG.Watcher.ExitProcessor.Canonicity method get_ife_txs_with_competitors (line 73) | def get_ife_txs_with_competitors(state, known_txs_by_input, eth_height... method get_invalid_ife_challenges (line 107) | def get_invalid_ife_challenges(%Core{in_flight_exits: ifes}) do method get_competitor_for_ife (line 125) | def get_competitor_for_ife( method prove_canonical_for_ife (line 146) | def prove_canonical_for_ife(%Core{} = state, ife_txbytes) do method prepare_competitor_response (line 153) | defp prepare_competitor_response( method prepare_canonical_response (line 178) | defp prepare_canonical_response(%InFlightExitInfo{tx: tx, tx_seen_in_b... method maybe_calculate_proof (line 181) | defp maybe_calculate_proof(nil, _), do: <<>> method maybe_calculate_proof (line 183) | defp maybe_calculate_proof(Utxo.position(blknum, txindex, _), blocks) do method get_competitor (line 189) | defp get_competitor(known_txs_by_input, signed_ife_tx) do method check_viable_competitor (line 198) | defp check_viable_competitor(ife, utxo_pos), method check_is_invalidly_challenged (line 201) | defp check_is_invalidly_challenged(ife), FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/competitor_info.ex class OMG.Watcher.ExitProcessor.CompetitorInfo (line 15) | defmodule OMG.Watcher.ExitProcessor.CompetitorInfo method new (line 75) | def new(%{call_data: %{competing_tx: tx_bytes, competing_tx_input_inde... method do_new (line 78) | defp do_new(tx_bytes, competing_input_index, competing_input_signature... FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/core.ex class OMG.Watcher.ExitProcessor.Core (line 15) | defmodule OMG.Watcher.ExitProcessor.Core method init (line 119) | def init( method check_sla_margin (line 151) | def check_sla_margin(sla_margin, sla_margin_forced, min_exit_period_se... method check_sla_margin (line 153) | def check_sla_margin(sla_margin, true, min_exit_period_seconds, ethere... method check_sla_margin (line 161) | def check_sla_margin(sla_margin, false, min_exit_period_seconds, ether... method exit_key_by_exit_id (line 167) | def exit_key_by_exit_id(%__MODULE__{exit_ids: exit_ids}, exit_id), do:... method new_exits (line 177) | def new_exits(state, new_exits, exit_contract_statuses) method new_exits (line 183) | def new_exits(%__MODULE__{exits: exits, exit_ids: exit_ids} = state, n... method challenge_exits (line 205) | def challenge_exits(%__MODULE__{exits: exits} = state, challenges) do method get_positions_from_events (line 218) | defp get_positions_from_events(exits) do method new_in_flight_exits (line 228) | def new_in_flight_exits(state, new_ifes_events, contract_statuses) method new_in_flight_exits (line 234) | def new_in_flight_exits(%__MODULE__{in_flight_exits: ifes} = state, ne... method ife_db_updates (line 249) | defp ife_db_updates(%__MODULE__{in_flight_exits: ifes}, updated_ife_ke... method new_ife_challenges (line 265) | def new_ife_challenges(%__MODULE__{} = state, challenges_events) do method append_new_competitors (line 273) | defp append_new_competitors(%__MODULE__{competitors: competitors} = st... method respond_to_in_flight_exits_challenges (line 281) | def respond_to_in_flight_exits_challenges(%__MODULE__{} = state, respo... method challenge_piggybacks (line 286) | def challenge_piggybacks(%__MODULE__{} = state, challenges) do method consume_events (line 296) | defp consume_events(%__MODULE__{} = state, events, event_field_f, ife_... method process_reducing_events_f (line 307) | defp process_reducing_events_f(event_field_f, ife_f) do method do_determine_utxo_existence_to_get (line 353) | defp do_determine_utxo_existence_to_get(%__MODULE__{in_flight_exits: i... method determine_spends_to_get (line 383) | def determine_spends_to_get( method determine_ife_spends_to_get (line 413) | def determine_ife_spends_to_get( method handle_spent_blknum_result (line 437) | def handle_spent_blknum_result(spent_blknum_result, spent_positions_to... method get_ifes_to_piggyback (line 526) | defp get_ifes_to_piggyback(%__MODULE__{in_flight_exits: ifes}) do method prepare_available_piggyback (line 534) | defp prepare_available_piggyback(%InFlightExitInfo{tx: signed_tx} = if... method get_active_in_flight_exits (line 567) | def get_active_in_flight_exits(%__MODULE__{in_flight_exits: ifes}) do method active_standard_exiting_utxos (line 577) | def active_standard_exiting_utxos(db_exits) do method active_in_flight_exiting_inputs (line 589) | def active_in_flight_exiting_inputs(db_exits) do method prepare_in_flight_exit (line 597) | defp prepare_in_flight_exit({txhash, ife_info}) do method find_ifes_in_blocks (line 613) | def find_ifes_in_blocks( method zero_address? (line 638) | defp zero_address?(address) do method sla_margin_safe? (line 642) | defp sla_margin_safe?(exit_processor_sla_margin, min_exit_period_secon... method delete_in_flight_exits (line 649) | def delete_in_flight_exits(state, deletions) do FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/double_spend.ex class OMG.Watcher.ExitProcessor.DoubleSpend (line 15) | defmodule OMG.Watcher.ExitProcessor.DoubleSpend method find_competitor (line 40) | def find_competitor(known_txs_by_input, tx) do method all_double_spends_by_index (line 65) | def all_double_spends_by_index(indexed_utxo_positions, known_txs_by_in... method all_distinct_spends_of_inputs (line 76) | defp all_distinct_spends_of_inputs(known_txs_by_input, inputs, tx) do FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/exit_info.ex class OMG.Watcher.ExitProcessor.ExitInfo (line 15) | defmodule OMG.Watcher.ExitProcessor.ExitInfo method new (line 62) | def new( method new_key (line 91) | def new_key(_contract_status, exit_info), method utxo_pos_for (line 94) | defp utxo_pos_for(%{call_data: %{utxo_pos: utxo_pos_enc}} = _exit_info), method do_new (line 98) | defp do_new(contract_status, fields) do method make_event_data (line 104) | def make_event_data(type, position, exit_info) do method make_db_update (line 113) | def make_db_update({position, exit_info}) do method from_db_kv (line 131) | def from_db_kv({db_utxo_pos, exit_info}) do method parse_contract_exit_status (line 155) | defp parse_contract_exit_status({exitable, _, _, _, _, _}), do: exitable method calculate_sft (line 172) | def calculate_sft(blknum, exit_block_timestamp, utxo_creation_timestam... FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/finalizations.ex class OMG.Watcher.ExitProcessor.Finalizations (line 15) | defmodule OMG.Watcher.ExitProcessor.Finalizations method finalize_exits (line 51) | def finalize_exits(%Core{exits: exits} = state, {valid_finalizations, ... method activate_on_invalid_finalization (line 68) | defp activate_on_invalid_finalization(%Core{exits: exits} = state, inv... method prepare_utxo_exits_for_in_flight_exit_finalizations (line 97) | def prepare_utxo_exits_for_in_flight_exit_finalizations(%Core{in_fligh... method ife_id_to_binary (line 116) | defp ife_id_to_binary(finalization), method get_all_finalized_ifes_by_ife_contract_id (line 119) | defp get_all_finalized_ifes_by_ife_contract_id(finalizations, ifes) do method known_piggybacks? (line 144) | defp known_piggybacks?(finalizations, ifes_by_id) do method finalization_not_piggybacked? (line 153) | defp finalization_not_piggybacked?( method combine_utxo_exits_with_finalization (line 159) | defp combine_utxo_exits_with_finalization( method get_exiting_positions (line 178) | defp get_exiting_positions(ife, output_index, :input) do method get_exiting_positions (line 184) | defp get_exiting_positions(ife, output_index, :output) do method finalize_in_flight_exits (line 203) | def finalize_in_flight_exits(%Core{in_flight_exits: ifes} = state, fin... method finalize_single_exit (line 232) | defp finalize_single_exit( method activate_on_invalid_utxo_exits (line 250) | defp activate_on_invalid_utxo_exits({ifes_by_id, updated_ifes}, invali... FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/in_flight_exit_info.ex class OMG.Watcher.ExitProcessor.InFlightExitInfo (line 15) | defmodule OMG.Watcher.ExitProcessor.InFlightExitInfo method new_kv (line 102) | def new_kv( method do_new (line 122) | defp do_new(tx_bytes, tx_signatures, contract_status, fields) do method parse_contract_in_flight_exit_status (line 144) | defp parse_contract_in_flight_exit_status({_, timestamp, _, _, _, _, _... method prepare_tx (line 146) | defp prepare_tx(tx_bytes, tx_signatures) do method get_input_utxos (line 200) | def get_input_utxos(in_flight_exits) do method assert_utxo_pos_type (line 210) | defp assert_utxo_pos_type(nil), do: :ok method assert_utxo_pos_type (line 213) | defp assert_utxo_pos_type(:no_position), do: :ok method from_db_kv (line 215) | def from_db_kv({ife_hash, fields}) do method assert_types (line 244) | defp assert_types(fields, keys, assertion) do method piggyback (line 273) | def piggyback(ife, index) method piggyback (line 282) | def piggyback(%__MODULE__{}, _), do: {:error, :non_existent_exit} method piggyback_exit (line 284) | defp piggyback_exit(%{is_piggybacked: false, is_finalized: false, is_c... method piggyback_exit (line 287) | defp piggyback_exit(_), do: {:error, :cannot_piggyback} method challenge (line 290) | def challenge(ife, competitor_position) method challenge (line 292) | def challenge(%__MODULE__{oldest_competitor: nil} = ife, competitor_po... method challenge (line 295) | def challenge(%__MODULE__{oldest_competitor: current_oldest} = ife, co... method respond_to_challenge (line 314) | def respond_to_challenge(ife, tx_position) method respond_to_challenge (line 316) | def respond_to_challenge(%__MODULE__{oldest_competitor: current_oldest... method respond_to_challenge (line 326) | def respond_to_challenge(%__MODULE__{}, _), do: {:error, :cannot_respond} method get_active_output_piggybacks_positions (line 350) | def get_active_output_piggybacks_positions(%__MODULE__{tx_seen_in_bloc... method get_active_output_piggybacks_positions (line 352) | def get_active_output_piggybacks_positions( method unchallenged_piggybacks_by_ife (line 360) | def unchallenged_piggybacks_by_ife(%__MODULE__{tx: tx} = ife, :input) do method unchallenged_piggybacks_by_ife (line 370) | def unchallenged_piggybacks_by_ife(%__MODULE__{} = ife, :output) do method index_output_position (line 379) | defp index_output_position(position) do method actively_piggybacked_inputs (line 384) | def actively_piggybacked_inputs(ife) do method actively_piggybacked_outputs (line 389) | def actively_piggybacked_outputs(ife) do method is_active? (line 395) | def is_active?(%__MODULE__{} = ife, combined_index) do method is_unchallenged? (line 402) | def is_unchallenged?(%__MODULE__{} = ife, combined_index) do method activate (line 407) | def activate(%__MODULE__{} = ife) do method should_be_seeked_in_blocks? (line 411) | def should_be_seeked_in_blocks?(%__MODULE__{} = ife), method is_invalidly_challenged? (line 421) | def is_invalidly_challenged?(%__MODULE__{is_canonical: true}), do: false method is_invalidly_challenged? (line 422) | def is_invalidly_challenged?(%__MODULE__{tx_seen_in_blocks_at: nil}), ... method is_invalidly_challenged? (line 424) | def is_invalidly_challenged?(%__MODULE__{ method to_contract_id (line 434) | def to_contract_id(id), do: <> method is_viable_competitor? (line 441) | def is_viable_competitor?( method is_viable_competitor? (line 447) | def is_viable_competitor?( method is_relevant? (line 453) | def is_relevant?(%__MODULE__{relevant_from_blknum: relevant_from_blknu... method is_finalized? (line 466) | defp is_finalized?(%__MODULE__{exit_map: map}, combined_index) do method is_challenged? (line 475) | defp is_challenged?(%__MODULE__{exit_map: map}, combined_index) do method do_is_viable_competitor? (line 484) | defp do_is_viable_competitor?(nil, nil, _competitor_pos), do: true method do_is_viable_competitor? (line 486) | defp do_is_viable_competitor?(_seen_at_pos, _oldest_pos, nil), do: false method do_is_viable_competitor? (line 488) | defp do_is_viable_competitor?(nil, oldest_pos, competitor_pos), do: is... method do_is_viable_competitor? (line 490) | defp do_is_viable_competitor?(seen_at_pos, nil, competitor_pos), do: i... method do_is_viable_competitor? (line 492) | defp do_is_viable_competitor?(seen_at_pos, oldest_pos, competitor_pos), method is_older? (line 496) | defp is_older?(Utxo.position(_, _, _), :no_position), do: true method is_older? (line 498) | defp is_older?(:no_position, Utxo.position(_, _, _)), do: false method is_older? (line 500) | defp is_older?(Utxo.position(tx1_blknum, tx1_index, _), Utxo.position(... method decode_position_possibly_exceeding (line 504) | defp decode_position_possibly_exceeding(encoded_position) do FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/known_tx.ex class OMG.Watcher.ExitProcessor.KnownTx (line 15) | defmodule OMG.Watcher.ExitProcessor.KnownTx method new (line 38) | def new(%Transaction.Signed{} = signed_tx, Utxo.position(_, _, _) = ut... method new (line 41) | def new(%Transaction.Signed{} = signed_tx), method get_positions_by_txhash (line 44) | def get_positions_by_txhash(blocks) do method get_blocks_by_blknum (line 52) | def get_blocks_by_blknum(blocks), method find_tx_in_blocks (line 55) | def find_tx_in_blocks(txhash, positions_by_tx_hash, blocks_by_blknum) do method group_txs_by_input (line 71) | def group_txs_by_input(all_known_txs) do method get_all_from_blocks_appendix (line 80) | def get_all_from_blocks_appendix(blocks, %Core{} = processor) do method get_all_from (line 86) | defp get_all_from(%Core{} = processor) do method get_all_from (line 91) | defp get_all_from(%Block{transactions: txs, number: blknum}) do method sort_blocks (line 101) | defp sort_blocks(blocks), do: blocks |> Enum.sort_by(fn %Block{number:... method is_older? (line 103) | def is_older?(%__MODULE__{utxo_pos: utxo_pos1}, %__MODULE__{utxo_pos: ... FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/measure.ex class OMG.Watcher.ExitProcessor.Measure (line 15) | defmodule OMG.Watcher.ExitProcessor.Measure method handle_event (line 25) | def handle_event([:process, ExitProcessor], _, _state, _config) do FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/piggyback.ex class OMG.Watcher.ExitProcessor.Piggyback (line 15) | defmodule OMG.Watcher.ExitProcessor.Piggyback method get_input_challenge_data (line 75) | def get_input_challenge_data(request, state, txbytes, input_index) do method get_output_challenge_data (line 82) | def get_output_challenge_data(request, state, txbytes, output_index) do method get_invalid_piggybacks_events (line 95) | def get_invalid_piggybacks_events( method all_invalid_piggybacks_by_ife (line 119) | defp all_invalid_piggybacks_by_ife(ifes_values, known_txs_by_input) do method to_events (line 124) | defp to_events(piggybacks_by_ife, to_event) do method to_invalid_piggyback_event (line 130) | defp to_invalid_piggyback_event({txbytes, type_materials_pairs}) do method to_unchallenged_piggyback_event (line 138) | defp to_unchallenged_piggyback_event({txbytes, type_materials_pairs}) do method group_by_txbytes (line 147) | defp group_by_txbytes(invalid_piggybacks) do method invalid_piggyback_indices (line 153) | defp invalid_piggyback_indices(type_materials_pairs, pb_type) do method invalid_piggybacks_by_ife (line 163) | defp invalid_piggybacks_by_ife(known_txs_by_input, pb_type, ifes) do method ife_has_something? (line 176) | defp ife_has_something?({_ife, finds_for_ife}), do: !Enum.empty?(finds... method ife_has_something? (line 177) | defp ife_has_something?({_ife, _, finds_for_ife}), do: !Enum.empty?(fi... method get_piggyback_challenge_data (line 181) | defp get_piggyback_challenge_data(%ExitProcessor.Request{blocks_result... method produce_invalid_piggyback_proof (line 191) | defp produce_invalid_piggyback_proof(ife, known_txs_by_input, {pb_type... method get_proofs_for_particular_ife (line 199) | defp get_proofs_for_particular_ife(ife, pb_type, known_txs_by_input) do method get_proof_for_particular_piggyback (line 209) | defp get_proof_for_particular_piggyback(pb_index, proof_materials) do method prepare_piggyback_challenge_response (line 221) | defp prepare_piggyback_challenge_response(ife, {:input, input_index}, ... method prepare_piggyback_challenge_response (line 233) | defp prepare_piggyback_challenge_response(ife, {:output, _output_index... FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/request.ex class OMG.Watcher.ExitProcessor.Request (line 15) | defmodule OMG.Watcher.ExitProcessor.Request FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/standard_exit.ex class OMG.Watcher.ExitProcessor.StandardExit (line 15) | defmodule OMG.Watcher.ExitProcessor.StandardExit method exiting_positions (line 58) | def exiting_positions(%Core{} = state) do method get_invalid (line 69) | def get_invalid(%Core{sla_margin: sla_margin} = state, utxo_exists?, e... method spending_txhash_for_exit_at (line 102) | defp spending_txhash_for_exit_at(utxo_pos) do method do_get_blocks (line 119) | defp do_get_blocks(blknums) do method determine_standard_challenge_queries (line 132) | def determine_standard_challenge_queries( method ensure_challengeable (line 178) | defp ensure_challengeable(spending_blknum_response, ife_response) method ensure_challengeable (line 180) | defp ensure_challengeable([%Block{} = block], _), do: {:ok, block} method ensure_challengeable (line 182) | defp ensure_challengeable(_, _), do: {:error, :utxo_not_spent} method get_ife_based_on_utxo (line 185) | defp get_ife_based_on_utxo(Utxo.position(_, _, _) = utxo_pos, %Core{} ... method get_double_spend_for_standard_exit (line 198) | defp get_double_spend_for_standard_exit(%Block{transactions: txs}, utx... method get_double_spend_for_standard_exit (line 204) | defp get_double_spend_for_standard_exit(%KnownTx{} = known_tx, utxo_po... method get_invalid_exits_based_on_ifes (line 211) | defp get_invalid_exits_based_on_ifes(tx_appendix, active_exits) do method get_double_spends_by_utxo_pos (line 229) | defp get_double_spends_by_utxo_pos(Utxo.position(_, _, oindex) = utxo_... method get_ife_txs_by_spent_input (line 233) | defp get_ife_txs_by_spent_input(tx_appendix) do method get_exit (line 239) | defp get_exit(exits, exiting_pos) do method active_exits (line 246) | defp active_exits(%Core{exits: exits}), class Challenge (line 22) | defmodule Challenge FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/tools.ex class OMG.Watcher.ExitProcessor.Tools (line 15) | defmodule OMG.Watcher.ExitProcessor.Tools method only_utxos_checked_and_missing (line 49) | def only_utxos_checked_and_missing(utxo_positions, utxo_exists?) do method find_sig (line 58) | def find_sig(%Transaction.Signed{sigs: sigs, raw_tx: raw_tx}, owner) do method find_sig! (line 77) | def find_sig!(tx, owner) do method txs_different (line 82) | def txs_different(tx1, tx2), do: Transaction.raw_txhash(tx1) != Transa... method get_ife (line 84) | def get_ife(ife_tx, ifes) do method to_bus_events_data (line 102) | def to_bus_events_data(eth_events_with_exiting_utxos) do method to_bus_events_reducer (line 106) | defp to_bus_events_reducer( method to_bus_events_reducer (line 127) | defp to_bus_events_reducer(%{omg_data: %{piggyback_type: :input}}, bus... method to_bus_events_reducer (line 132) | defp to_bus_events_reducer( FILE: apps/omg_watcher/lib/omg_watcher/exit_processor/tx_appendix.ex class OMG.Watcher.ExitProcessor.TxAppendix (line 15) | defmodule OMG.Watcher.ExitProcessor.TxAppendix method get_all (line 30) | def get_all(%ExitProcessor.Core{in_flight_exits: ifes, competitors: co... FILE: apps/omg_watcher/lib/omg_watcher/fees.ex class OMG.Watcher.Fees (line 15) | defmodule OMG.Watcher.Fees method check_if_covered (line 82) | def check_if_covered(_, :ignore_fees), do: :ok method check_if_covered (line 86) | def check_if_covered(implicit_paid_fee_by_currency, accepted_fees) do method check_positive_amounts (line 94) | defp check_positive_amounts([], :no_fees_required), do: :ok method check_positive_amounts (line 95) | defp check_positive_amounts(_, :no_fees_required), do: {:error, :overp... method check_positive_amounts (line 98) | defp check_positive_amounts([], _), do: {:error, :fees_not_covered} method check_positive_amounts (line 102) | defp check_positive_amounts([{currency, paid_fee}], accepted_fees) do method check_positive_amounts (line 112) | defp check_positive_amounts(_, _), do: {:error, :multiple_potential_cu... method remove_zero_fees (line 114) | defp remove_zero_fees(implicit_paid_fee_by_currency) do method check_if_exact_match (line 120) | defp check_if_exact_match([current_amount | _] = amounts, paid_fee) do method for_transaction (line 159) | def for_transaction(transaction, fee_map) do method get_fee_for_type (line 166) | defp get_fee_for_type(%Transaction.Recovered{signed_tx: %Transaction.S... method get_fee_for_type (line 173) | defp get_fee_for_type(_, _fee_map), do: %{} FILE: apps/omg_watcher/lib/omg_watcher/fees/fee_filter.ex class OMG.Watcher.Fees.FeeFilter (line 15) | defmodule OMG.Watcher.Fees.FeeFilter method filter (line 92) | def filter(fees, []), do: {:ok, fees} method filter (line 93) | def filter(fees, nil), do: {:ok, fees} method filter (line 95) | def filter(fees, tx_types, currencies) do method filter_tx_type (line 101) | defp filter_tx_type(fees, []), do: {:ok, fees} method filter_tx_type (line 102) | defp filter_tx_type(fees, nil), do: {:ok, fees} method filter_tx_type (line 104) | defp filter_tx_type(fees, tx_types) do method validate_tx_types (line 108) | defp validate_tx_types(tx_types, fees) do method filter_currency (line 117) | defp filter_currency(fees, []), do: {:ok, fees} method filter_currency (line 118) | defp filter_currency(fees, nil), do: {:ok, fees} method filter_currency (line 120) | defp filter_currency(fees, currencies) do method validate_currencies (line 126) | defp validate_currencies(currencies, fees) do method do_filter_currencies (line 135) | defp do_filter_currencies(currencies, fees) do FILE: apps/omg_watcher/lib/omg_watcher/http_rpc/adapter.ex class OMG.Watcher.HttpRPC.Adapter (line 15) | defmodule OMG.Watcher.HttpRPC.Adapter method rpc_post (line 27) | def rpc_post(body, path, url) do method get_unparsed_response_body (line 45) | def get_unparsed_response_body({:ok, %HTTPoison.Response{} = response}), method get_unparsed_response_body (line 48) | def get_unparsed_response_body(%HTTPoison.Response{status_code: 200, b... method get_unparsed_response_body (line 51) | def get_unparsed_response_body(%HTTPoison.Response{body: error}), method get_unparsed_response_body (line 54) | def get_unparsed_response_body({:error, %HTTPoison.Error{reason: :econ... method get_unparsed_response_body (line 58) | def get_unparsed_response_body({:error, %HTTPoison.Error{reason: reaso... method get_unparsed_response_body (line 62) | def get_unparsed_response_body(error), do: error method get_response_body (line 70) | def get_response_body(http_response) do FILE: apps/omg_watcher/lib/omg_watcher/http_rpc/client.ex class OMG.Watcher.HttpRPC.Client (line 15) | defmodule OMG.Watcher.HttpRPC.Client method get_block (line 36) | def get_block(hash, url), do: call(%{hash: Encoding.to_hex(hash)}, "bl... method submit (line 42) | def submit(tx, url), do: call(%{transaction: Encoding.to_hex(tx)}, "tr... method batch_submit (line 48) | def batch_submit(txs, url) do method call (line 52) | defp call(params, path, url) do method decode_response (line 57) | defp decode_response({:ok, %{transactions: transactions, blknum: numbe... method decode_response (line 66) | defp decode_response({:ok, %{txhash: _hash} = response}) do method decode_response (line 74) | defp decode_response(error), do: error method decode_response (line 76) | defp decode_response([], acc) do method decode_response (line 80) | defp decode_response([%{txhash: _hash} = transaction_response | respon... method decode_response (line 85) | defp decode_response([%{error: error} | response], acc) do method decode16! (line 89) | defp decode16!(hexstr) do FILE: apps/omg_watcher/lib/omg_watcher/merge_transaction_validator.ex class OMG.Watcher.MergeTransactionValidator (line 15) | defmodule OMG.Watcher.MergeTransactionValidator method is_merge_transaction? (line 31) | def is_merge_transaction?(recovered_transaction) do method is_payment? (line 42) | defp is_payment?(%Transaction.Recovered{signed_tx: %{raw_tx: %Transact... method is_payment? (line 43) | defp is_payment?(_), do: false method only_fungible_tokens? (line 45) | defp only_fungible_tokens?(tx), method has_same_account? (line 48) | defp has_same_account?(%Transaction.Recovered{witnesses: witnesses} = ... method has_single_currency? (line 58) | defp has_single_currency?(tx) do method has_less_outputs_than_inputs? (line 65) | defp has_less_outputs_than_inputs?(tx) do method has_less_outputs_than_inputs? (line 72) | defp has_less_outputs_than_inputs?(inputs, outputs), do: length(inputs... method single? (line 74) | defp single?(list), do: 1 == list |> Enum.uniq() |> length() FILE: apps/omg_watcher/lib/omg_watcher/merkle.ex class OMG.Watcher.Merkle (line 15) | defmodule OMG.Watcher.Merkle method create_tx_proof (line 28) | def create_tx_proof(txs_bytes, txindex) do method hash (line 36) | def hash(hashed_txs) do method build (line 44) | defp build(txs_bytes) do method prove (line 52) | defp prove(tx_bytes, txindex) do FILE: apps/omg_watcher/lib/omg_watcher/monitor.ex class OMG.Watcher.Monitor (line 15) | defmodule OMG.Watcher.Monitor method health_checkin (line 41) | def health_checkin() do method start_link (line 45) | def start_link(args) do method init (line 49) | def init([alarm_module, child_spec]) do method init (line 59) | def init(_args) do method handle_call (line 66) | def handle_call(_request, state), do: {:ok, :ok, state} method handle_event (line 68) | def handle_event({:clear_alarm, {:ethereum_connection_error, _}}, stat... method handle_event (line 75) | def handle_event(event, state) do method handle_info (line 83) | def handle_info({:EXIT, _from, reason}, state) do method handle_cast (line 91) | def handle_cast(:health_checkin, state) do method handle_cast (line 98) | def handle_cast(:start_child, state) do method start_child (line 105) | defp start_child(%{id: _name, start: {child_module, function, args}} =... method start_child (line 110) | defp start_child(%Child{pid: pid, spec: spec} = child) do method subscribe_to_alarms (line 122) | defp subscribe_to_alarms() do class Child (line 22) | defmodule Child FILE: apps/omg_watcher/lib/omg_watcher/output.ex class OMG.Output (line 15) | defmodule OMG.Output method reconstruct (line 51) | def reconstruct(_rlp_data) method reconstruct (line 63) | def reconstruct([_raw_type, [_owner, _currency, _amount]]), do: {:erro... method reconstruct (line 64) | def reconstruct(_), do: {:error, :malformed_outputs} method get_data_for_rlp (line 76) | def get_data_for_rlp(%__MODULE__{owner: owner, currency: currency, amo... method clean_and_validate_data (line 81) | defp clean_and_validate_data([raw_type, [owner, currency, amount]]) do method non_zero_owner? (line 91) | defp non_zero_owner?(<<0::160>>), do: {:error, :output_guard_cant_be_z... method non_zero_owner? (line 92) | defp non_zero_owner?(_), do: {:ok, :valid} method valid_output_type? (line 95) | defp valid_output_type?(_), do: {:error, :unrecognized_output_type} FILE: apps/omg_watcher/lib/omg_watcher/raw_data.ex class OMG.Watcher.RawData (line 15) | defmodule OMG.Watcher.RawData method parse_address (line 45) | def parse_address(binary) method parse_address (line 46) | def parse_address(<<_::160>> = address_bytes), do: {:ok, address_bytes} method parse_address (line 47) | def parse_address(_), do: {:error, :malformed_address} method parse_uint256 (line 54) | def parse_uint256(<<0>> <> _binary), do: {:error, :leading_zeros_in_en... method parse_uint256 (line 57) | def parse_uint256(_), do: {:error, :malformed_uint256} FILE: apps/omg_watcher/lib/omg_watcher/release_tasks/set_application.ex class OMG.Watcher.ReleaseTasks.SetApplication (line 15) | defmodule OMG.Watcher.ReleaseTasks.SetApplication method init (line 19) | def init(args) do method load (line 23) | def load(config, release: release, current_version: current_version) do FILE: apps/omg_watcher/lib/omg_watcher/release_tasks/set_ethereum_events_check_interval.ex class OMG.Watcher.ReleaseTasks.SetEthereumEventsCheckInterval (line 15) | defmodule OMG.Watcher.ReleaseTasks.SetEthereumEventsCheckInterval method init (line 27) | def init(args) do method load (line 31) | def load(config, _args) do method get_interval_ms (line 39) | defp get_interval_ms() do method get_env (line 49) | defp get_env(key), do: System.get_env(key) method validate_integer (line 52) | defp validate_integer(_, default), do: default method on_load (line 54) | def on_load() do FILE: apps/omg_watcher/lib/omg_watcher/release_tasks/set_exit_processor_sla_margin.ex class OMG.Watcher.ReleaseTasks.SetExitProcessorSLAMargin (line 15) | defmodule OMG.Watcher.ReleaseTasks.SetExitProcessorSLAMargin method init (line 27) | def init(args) do method load (line 31) | def load(config, _args) do method get_exit_processor_sla_margin (line 42) | defp get_exit_processor_sla_margin() do method get_exit_processor_sla_forced (line 48) | defp get_exit_processor_sla_forced() do method get_env (line 54) | defp get_env(key), do: System.get_env(key) method validate_int (line 57) | defp validate_int(_, default), do: default method validate_bool (line 60) | defp validate_bool(_, default), do: default method to_bool (line 62) | defp to_bool("TRUE"), do: true method to_bool (line 63) | defp to_bool("FALSE"), do: false method to_bool (line 64) | defp to_bool(_), do: exit("#{@system_env_name_force} either true or fa... method to_int (line 66) | defp to_int(value) do FILE: apps/omg_watcher/lib/omg_watcher/release_tasks/set_tracer.ex class OMG.Watcher.ReleaseTasks.SetTracer (line 15) | defmodule OMG.Watcher.ReleaseTasks.SetTracer method init (line 21) | def init(args) do method load (line 25) | def load(config, args) do method get_dd_disabled (line 49) | defp get_dd_disabled() do method get_app_env (line 57) | defp get_app_env() do method get_env (line 63) | defp get_env(key) do method validate_bool (line 68) | defp validate_bool(_, default), do: default method to_bool (line 70) | defp to_bool("TRUE"), do: true method to_bool (line 71) | defp to_bool("FALSE"), do: false method to_bool (line 72) | defp to_bool(_), do: exit("DD_DISABLED either true or false.") method validate_app_env (line 75) | defp validate_app_env(nil), do: exit("APP_ENV must be set.") method on_load (line 77) | defp on_load() do FILE: apps/omg_watcher/lib/omg_watcher/root_chain_coordinator.ex class OMG.Watcher.RootChainCoordinator (line 14) | defmodule OMG.Watcher.RootChainCoordinator method start_link (line 44) | def start_link(configs_services) do method check_in (line 54) | def check_in(synced_height, service_name) do method get_sync_info (line 63) | def get_sync_info() do method get_ethereum_heights (line 71) | def get_ethereum_heights() do method init (line 75) | def init({args, configs_services}) do method handle_info (line 94) | def handle_info(:send_metrics, state) do method handle_info (line 99) | def handle_info(:update_root_chain_height, state) do method handle_call (line 105) | def handle_call({:check_in, synced_height, service_name}, {pid, _ref},... method handle_call (line 112) | def handle_call(:get_sync_info, {pid, _}, state) do method handle_call (line 116) | def handle_call(:get_ethereum_heights, _from, state) do method schedule_get_ethereum_height (line 120) | defp schedule_get_ethereum_height(interval) do method request_sync (line 124) | defp request_sync(services) do method safe_send (line 128) | defp safe_send(registered_name_or_pid, msg) do class SyncGuide (line 27) | defmodule SyncGuide FILE: apps/omg_watcher/lib/omg_watcher/root_chain_coordinator/core.ex class OMG.Watcher.RootChainCoordinator.Core (line 14) | defmodule OMG.Watcher.RootChainCoordinator.Core method init (line 68) | def init(configs_services, root_chain_height) do method get_ethereum_heights (line 136) | def get_ethereum_heights(%__MODULE__{root_chain_height: root_chain_hei... method finality_margin_for (line 141) | defp finality_margin_for(config), do: Keyword.get(config, :finality_ma... method finality_margin_for! (line 142) | defp finality_margin_for!(config), do: Keyword.fetch!(config, :finalit... method consider_finality (line 145) | defp consider_finality(sync_height, config, root_chain_height), method get_height_of_awaited (line 149) | defp get_height_of_awaited([], %__MODULE__{root_chain_height: root_cha... method get_height_of_awaited (line 157) | defp get_height_of_awaited({single_awaited, :no_margin}, %__MODULE__{c... method get_height_of_awaited (line 161) | defp get_height_of_awaited(awaited, state), method all_services_checked_in? (line 165) | defp all_services_checked_in?(%__MODULE__{configs_services: configs_se... method allowed? (line 170) | defp allowed?(configs_services, service_name), do: Map.has_key?(config... method update_service_synced_height (line 172) | defp update_service_synced_height(state, pid, new_reported_sync_height... FILE: apps/omg_watcher/lib/omg_watcher/root_chain_coordinator/measure.ex class OMG.Watcher.RootChainCoordinator.Measure (line 15) | defmodule OMG.Watcher.RootChainCoordinator.Measure method handle_event (line 25) | def handle_event([:process, RootChainCoordinator], _, state, _config) do FILE: apps/omg_watcher/lib/omg_watcher/root_chain_coordinator/service.ex class OMG.Watcher.RootChainCoordinator.Service (line 14) | defmodule OMG.Watcher.RootChainCoordinator.Service FILE: apps/omg_watcher/lib/omg_watcher/signature.ex class OMG.Watcher.Signature (line 15) | defmodule OMG.Watcher.Signature method recover_public (line 58) | def recover_public(hash, v, r, s, chain_id \\ nil) do method recover_public (line 94) | def recover_public(hash, <> FILE: apps/omg_watcher/test/omg_watcher/block_validator_test.exs class OMG.WatcherRPC.Web.Validator.BlockValidatorTest (line 15) | defmodule OMG.WatcherRPC.Web.Validator.BlockValidatorTest method derive_merkle_root (line 230) | defp(derive_merkle_root(transactions)) do FILE: apps/omg_watcher/test/omg_watcher/child_manager_test.exs class OMG.Watcher.ChildManagerTest (line 15) | defmodule OMG.Watcher.ChildManagerTest class Monitor (line 32) | defmodule Monitor method start (line 35) | def start(parent) do method init (line 39) | def init([parent]) do method health_checkin (line 43) | def health_checkin() do method handle_cast (line 47) | def handle_cast(:health_checkin, state) do FILE: apps/omg_watcher/test/omg_watcher/crypto_test.exs class OMG.Watcher.CryptoTest (line 15) | defmodule OMG.Watcher.CryptoTest FILE: apps/omg_watcher/test/omg_watcher/datadog_event/contract_event_consumer_test.exs class OMG.Watcher.DatadogEvent.ContractEventConsumerTest (line 15) | defmodule OMG.Watcher.DatadogEvent.ContractEventConsumerTest class DatadogEventMock (line 68) | defmodule DatadogEventMock method event (line 69) | def event(title, message, options) do FILE: apps/omg_watcher/test/omg_watcher/datadog_event/encode_test.exs class OMG.Watcher.DatadogEvent.EncodeTest (line 15) | defmodule OMG.Watcher.DatadogEvent.EncodeTest FILE: apps/omg_watcher/test/omg_watcher/ethereum_event_aggregator_test.exs class OMG.Watcher.EthereumEventAggregatorTest (line 14) | defmodule OMG.Watcher.EthereumEventAggregatorTest method deposit_created_log (line 478) | def deposit_created_log(block_number) do method exit_started_log (line 498) | def exit_started_log(block_number) do method in_flight_exit_output_piggybacked_log (line 516) | def in_flight_exit_output_piggybacked_log(block_number) do method in_flight_exit_input_piggybacked_log (line 535) | def in_flight_exit_input_piggybacked_log(block_number) do method in_flight_exit_deleted_log (line 554) | def in_flight_exit_deleted_log(block_number) do method start_standard_exit_log (line 572) | def start_standard_exit_log() do method from_hex (line 576) | defp from_hex("0x" <> encoded), do: Base.decode16!(encoded, case: :lower) method get_signature_from_event (line 578) | defp get_signature_from_event(events, name) do FILE: apps/omg_watcher/test/omg_watcher/ethereum_event_listener/core_test.exs class OMG.Watcher.Watcher.EthereumEventListener.CoreTest (line 15) | defmodule OMG.Watcher.Watcher.EthereumEventListener.CoreTest method create_state (line 160) | defp create_state(height, opts \\ []) do method assert_range (line 175) | defp assert_range({range, state}, expect) do FILE: apps/omg_watcher/test/omg_watcher/exit_processor/canonicity_test.exs class OMG.Watcher.ExitProcessor.CanonicityTest (line 15) | defmodule OMG.Watcher.ExitProcessor.CanonicityTest FILE: apps/omg_watcher/test/omg_watcher/exit_processor/core/state_interaction_test.exs class OMG.Watcher.ExitProcessor.Core.StateInteractionTest (line 15) | defmodule OMG.Watcher.ExitProcessor.Core.StateInteractionTest method mock_utxo_exists (line 309) | defp mock_utxo_exists(%ExitProcessor.Request{utxos_to_check: positions... FILE: apps/omg_watcher/test/omg_watcher/exit_processor/core_test.exs class OMG.Watcher.ExitProcessor.CoreTest (line 15) | defmodule OMG.Watcher.ExitProcessor.CoreTest FILE: apps/omg_watcher/test/omg_watcher/exit_processor/exit_info_test.exs class OMG.Watcher.ExitProcessor.ExitInfoTest (line 15) | defmodule OMG.Watcher.ExitProcessor.ExitInfoTest FILE: apps/omg_watcher/test/omg_watcher/exit_processor/finalizations_test.exs class OMG.Watcher.ExitProcessor.FinalizationsTest (line 15) | defmodule OMG.Watcher.ExitProcessor.FinalizationsTest FILE: apps/omg_watcher/test/omg_watcher/exit_processor/in_flight_exit_info_test.exs class OMG.Watcher.ExitProcessor.InFlightExitInfoTest (line 15) | defmodule OMG.Watcher.ExitProcessor.InFlightExitInfoTest method ife_info_with_inputs (line 46) | defp ife_info_with_inputs(inputs) do FILE: apps/omg_watcher/test/omg_watcher/exit_processor/persistence_test.exs class OMG.Watcher.ExitProcessor.PersistenceTest (line 15) | defmodule OMG.Watcher.ExitProcessor.PersistenceTest method state_from (line 200) | defp state_from(db_pid) do method persist_common (line 211) | defp persist_common(processor, db_updates, db_pid) do method persist_new_exits (line 217) | defp persist_new_exits(processor, exit_events, contract_statuses, db_p... method persist_finalize_exits (line 222) | defp persist_finalize_exits(processor, validities, db_pid) do method persist_challenge_exits (line 227) | defp persist_challenge_exits(processor, utxo_positions, db_pid) do method persist_new_ifes (line 234) | defp persist_new_ifes(processor, txs, priv_keys, statuses \\ nil, db_p... method persist_new_piggybacks (line 246) | defp persist_new_piggybacks(processor, piggybacks, db_pid) do method persist_new_ife_challenges (line 251) | defp persist_new_ife_challenges(processor, challenges, db_pid) do method persist_respond_to_in_flight_exits_challenges (line 256) | defp persist_respond_to_in_flight_exits_challenges(processor, challeng... method persist_challenge_piggybacks (line 261) | defp persist_challenge_piggybacks(processor, piggybacks, db_pid) do method persist_finalize_ifes (line 266) | defp persist_finalize_ifes(processor, finalizations, db_pid) do FILE: apps/omg_watcher/test/omg_watcher/exit_processor/piggyback_test.exs class OMG.Watcher.ExitProcessor.PiggybackTest (line 15) | defmodule OMG.Watcher.ExitProcessor.PiggybackTest FILE: apps/omg_watcher/test/omg_watcher/exit_processor/standard_exit_test.exs class OMG.Watcher.ExitProcessor.StandardExitTest (line 15) | defmodule OMG.Watcher.ExitProcessor.StandardExitTest method start_se_from_deposit (line 561) | defp start_se_from_deposit(processor, exiting_pos, alice) do method start_se_from_block_tx (line 566) | defp start_se_from_block_tx(processor, exiting_pos, alice) do method get_bytes_sig (line 571) | defp get_bytes_sig(tx, sig_idx \\ 0), do: {Transaction.raw_txbytes(tx)... FILE: apps/omg_watcher/test/omg_watcher/exit_processor/tools_test.exs class OMG.Watcher.ExitProcessor.ToolsTest (line 15) | defmodule OMG.Watcher.ExitProcessor.ToolsTest FILE: apps/omg_watcher/test/omg_watcher/fees/fee_filter_test.exs class OMG.Watcher.Fees.FeeFilterTest (line 15) | defmodule OMG.Watcher.Fees.FeeFilterTest FILE: apps/omg_watcher/test/omg_watcher/fees_test.exs class OMG.Watcher.FeesTest (line 15) | defmodule OMG.Watcher.FeesTest class DummyTransaction (line 188) | defmodule DummyTransaction method new (line 191) | def new(), do: %__MODULE__{} FILE: apps/omg_watcher/test/omg_watcher/http_rpc/adapter_test.exs class OMG.Watcher.HttpRPC.AdapterTest (line 15) | defmodule OMG.Watcher.HttpRPC.AdapterTest FILE: apps/omg_watcher/test/omg_watcher/integration/block_getter_1_test.exs class OMG.Watcher.Integration.BlockGetter1Test (line 15) | defmodule OMG.Watcher.Integration.BlockGetter1Test FILE: apps/omg_watcher/test/omg_watcher/integration/block_getter_2_test.exs class OMG.Watcher.Integration.BlockGetter2Test (line 15) | defmodule OMG.Watcher.Integration.BlockGetter2Test FILE: apps/omg_watcher/test/omg_watcher/integration/block_getter_3_test.exs class OMG.Watcher.Integration.BlockGetter3Test (line 15) | defmodule OMG.Watcher.Integration.BlockGetter3Test method get_next_blknum_nonce (line 88) | defp get_next_blknum_nonce(blknum) do FILE: apps/omg_watcher/test/omg_watcher/integration/block_getter_4_test.exs class OMG.Watcher.Integration.BlockGetter4Test (line 15) | defmodule OMG.Watcher.Integration.BlockGetter4Test FILE: apps/omg_watcher/test/omg_watcher/integration/block_getter_test.exs class OMG.Watcher.Integration.BlockGetterTest (line 15) | defmodule OMG.Watcher.Integration.BlockGetterTest FILE: apps/omg_watcher/test/omg_watcher/integration/in_flight_exit_test.exs class OMG.Watcher.Integration.InFlightExitTest (line 15) | defmodule OMG.Watcher.Integration.InFlightExitTest method exit_in_flight (line 70) | defp exit_in_flight(%Transaction.Signed{} = tx, exiting_user) do method exit_in_flight (line 75) | defp exit_in_flight(get_in_flight_exit_response, exiting_user) do method exit_in_flight_and_wait_for_ife (line 87) | defp exit_in_flight_and_wait_for_ife(tx, exiting_user) do method piggyback_and_process_exits (line 93) | defp piggyback_and_process_exits(%Transaction.Signed{raw_tx: raw_tx}, ... FILE: apps/omg_watcher/test/omg_watcher/integration/in_flight_exit_test_1_test.exs class OMG.Watcher.Integration.InFlightExit1Test (line 15) | defmodule OMG.Watcher.Integration.InFlightExit1Test method exit_in_flight (line 130) | defp exit_in_flight(%Transaction.Signed{} = tx, exiting_user) do method exit_in_flight (line 135) | defp exit_in_flight(get_in_flight_exit_response, exiting_user) do method wait_for (line 147) | defp wait_for(expected_events) do FILE: apps/omg_watcher/test/omg_watcher/integration/in_flight_exit_test_2_test.exs class OMG.Watcher.Integration.InFlightExit2Test (line 15) | defmodule OMG.Watcher.Integration.InFlightExit2Test method exit_in_flight (line 116) | defp exit_in_flight(%Transaction.Signed{} = tx, exiting_user) do method exit_in_flight (line 121) | defp exit_in_flight(get_in_flight_exit_response, exiting_user) do method wait_for (line 133) | defp wait_for(expected_events) do FILE: apps/omg_watcher/test/omg_watcher/integration/in_flight_exit_test_3_test.exs class OMG.Watcher.Integration.InFlightExit3Test (line 15) | defmodule OMG.Watcher.Integration.InFlightExit3Test method piggyback_and_process_exits (line 65) | defp piggyback_and_process_exits(%Transaction.Signed{raw_tx: raw_tx}, ... method exit_in_flight (line 81) | defp exit_in_flight(%Transaction.Signed{} = tx, exiting_user) do method exit_in_flight (line 86) | defp exit_in_flight(get_in_flight_exit_response, exiting_user) do method wait_for (line 98) | defp wait_for(expected_events) do method wait_for_not_empty_in_flight_exits (line 115) | defp wait_for_not_empty_in_flight_exits() do method wait_for_empty_in_flight_exits (line 131) | defp wait_for_empty_in_flight_exits() do FILE: apps/omg_watcher/test/omg_watcher/integration/in_flight_exit_test_4_test.exs class OMG.Watcher.Integration.InFlightExit4Test (line 15) | defmodule OMG.Watcher.Integration.InFlightExit4Test method exit_in_flight (line 58) | defp exit_in_flight(%Transaction.Signed{} = tx, exiting_user) do method exit_in_flight (line 63) | defp exit_in_flight(get_in_flight_exit_response, exiting_user) do method exit_in_flight_and_wait_for_ife (line 75) | defp exit_in_flight_and_wait_for_ife(tx, exiting_user) do method piggyback_and_process_exits (line 81) | defp piggyback_and_process_exits(%Transaction.Signed{raw_tx: raw_tx}, ... method wait_for (line 97) | defp wait_for(expected_events) do method wait_for_empty_in_flight_exits (line 114) | defp wait_for_empty_in_flight_exits() do FILE: apps/omg_watcher/test/omg_watcher/integration/invalid_exit_1_test.exs class OMG.Watcher.Integration.InvalidExit1Test (line 15) | defmodule OMG.Watcher.Integration.InvalidExit1Test FILE: apps/omg_watcher/test/omg_watcher/integration/invalid_exit_2_test.exs class OMG.Watcher.Integration.InvalidExit2Test (line 15) | defmodule OMG.Watcher.Integration.InvalidExit2Test FILE: apps/omg_watcher/test/omg_watcher/integration/monitor_test.exs class OMG.Watcher.MonitorTest (line 15) | defmodule OMG.Watcher.MonitorTest method start_and_attach_a_child (line 105) | defp start_and_attach_a_child(opts) do class ChildProcess (line 116) | defmodule ChildProcess method prepare_child (line 123) | def prepare_child() do method start_link (line 127) | def start_link(_), do: GenServer.start_link(__MODULE__, [], name: __MO... method init (line 129) | def init(_), do: {:ok, %{}} method terminate (line 131) | def terminate(_reason, _) do FILE: apps/omg_watcher/test/omg_watcher/integration/root_chain_coordinator_test.exs class OMG.Watcher.RootChainCoordinatorTest (line 15) | defmodule OMG.Watcher.RootChainCoordinatorTest FILE: apps/omg_watcher/test/omg_watcher/integration/test_server_test.exs class OMG.Watcher.Integration.TestServerTest (line 15) | defmodule OMG.Watcher.Integration.TestServerTest FILE: apps/omg_watcher/test/omg_watcher/merge_transaction_validator_test.exs class OMG.Watcher.MergeTransactionValidatorTest (line 15) | defmodule OMG.Watcher.MergeTransactionValidatorTest FILE: apps/omg_watcher/test/omg_watcher/merkle_test.exs class OMG.Watcher.MerkleTest (line 15) | defmodule OMG.Watcher.MerkleTest FILE: apps/omg_watcher/test/omg_watcher/output_test.exs class OMG.OutputTest (line 14) | defmodule OMG.OutputTest FILE: apps/omg_watcher/test/omg_watcher/raw_data_test.exs class OMG.Watcher.RawDataTest (line 15) | defmodule OMG.Watcher.RawDataTest FILE: apps/omg_watcher/test/omg_watcher/release_tasks/set_ethereum_events_check_interval_test.exs class OMG.Watcher.ReleaseTasks.SetEthereumEventsCheckIntervalTest (line 15) | defmodule OMG.Watcher.ReleaseTasks.SetEthereumEventsCheckIntervalTest FILE: apps/omg_watcher/test/omg_watcher/release_tasks/set_exit_processor_sla_margin_test.exs class OMG.Watcher.ReleaseTasks.SetExitProcessorSLAMarginTest (line 15) | defmodule OMG.Watcher.ReleaseTasks.SetExitProcessorSLAMarginTest FILE: apps/omg_watcher/test/omg_watcher/release_tasks/set_tracer_test.exs class OMG.Watcher.ReleaseTasks.SetTracerTest (line 15) | defmodule OMG.Watcher.ReleaseTasks.SetTracerTest class System (line 61) | defmodule System method start_link (line 62) | def start_link(args), do: GenServer.start_link(__MODULE__, args, []) method get_env (line 63) | def get_env(key), do: __MODULE__ |> Process.get() |> GenServer.call({:... method put_env (line 64) | def put_env(key, value), do: __MODULE__ |> Process.get() |> GenServer.... method init (line 65) | def init(_), do: {:ok, %{}} method handle_call (line 67) | def handle_call({:get_env, key}, _, state) do method handle_call (line 71) | def handle_call({:put_env, key, value}, _, state) do FILE: apps/omg_watcher/test/omg_watcher/root_chain_coordinator/core_test.exs class OMG.Watcher.RootChainCoordinator.CoreTest (line 14) | defmodule OMG.Watcher.RootChainCoordinator.CoreTest FILE: apps/omg_watcher/test/omg_watcher/signature_test.exs class OMG.Watcher.SignatureTest (line 15) | defmodule OMG.Watcher.SignatureTest FILE: apps/omg_watcher/test/omg_watcher/state/core_test.exs class OMG.Watcher.State.CoreTest (line 15) | defmodule OMG.Watcher.State.CoreTest method success? (line 1081) | defp success?(result) do method fail? (line 1086) | defp fail?(result, expected_error) do method same? (line 1091) | defp same?({{:error, _someerror}, state}, expected_state) do method same? (line 1096) | defp same?(state, expected_state) do method empty_block (line 1101) | defp empty_block(number \\ @blknum1) do method form_block_check (line 1107) | defp form_block_check(state) do method to_utxo_kv (line 1121) | defp to_utxo_kv({blknum, txindex, oindex, owner, currency, amount}), FILE: apps/omg_watcher/test/omg_watcher/state/measurement_calculation_test.exs class OMG.Watcher.State.MeasurementCalculationTest (line 15) | defmodule OMG.Watcher.State.MeasurementCalculationTest FILE: apps/omg_watcher/test/omg_watcher/state/persistence_test.exs class OMG.Watcher.State.PersistenceTest (line 15) | defmodule OMG.Watcher.State.PersistenceTest method persist_deposit (line 202) | defp persist_deposit(deposits) do method persist_form (line 211) | defp persist_form(:ok), do: persist_form() method persist_form (line 213) | defp persist_form() do method exec (line 223) | defp exec(:ok, tx), do: exec(tx) method exec (line 225) | defp exec(tx) do method persist_exit_utxos (line 234) | defp persist_exit_utxos(:ok, exit_infos), do: persist_exit_utxos(exit_... method persist_exit_utxos (line 236) | defp persist_exit_utxos(exit_infos) do method make_deposits (line 242) | defp make_deposits(list) do method restart_state (line 256) | defp restart_state() do FILE: apps/omg_watcher/test/omg_watcher/state/transaction/fee_test.exs class OMG.Watcher.State.Transaction.FeeTest (line 15) | defmodule OMG.Watcher.State.Transaction.FeeTest FILE: apps/omg_watcher/test/omg_watcher/state/transaction/recovered_test.exs class OMG.Watcher.State.Transaction.RecoveredTest (line 15) | defmodule OMG.Watcher.State.Transaction.RecoveredTest method assert_tx_usable (line 564) | defp assert_tx_usable(signed, state_core) do method parametrized_tester (line 571) | defp parametrized_tester({inputs, outputs}) do method good_tx_rlp_items (line 591) | defp good_tx_rlp_items() do FILE: apps/omg_watcher/test/omg_watcher/state/transaction/witness_test.exs class OMG.Watcher.State.Transaction.WitnessTest (line 15) | defmodule OMG.Watcher.State.Transaction.WitnessTest FILE: apps/omg_watcher/test/omg_watcher/state/transaction_test.exs class OMG.Watcher.State.TransactionTest (line 15) | defmodule OMG.Watcher.State.TransactionTest FILE: apps/omg_watcher/test/omg_watcher/state/utxo_set_test.exs class OMG.Watcher.State.UtxoSetTest (line 15) | defmodule OMG.Watcher.State.UtxoSetTest FILE: apps/omg_watcher/test/omg_watcher/state_test.exs class OMG.Watcher.StateTest (line 15) | defmodule OMG.Watcher.StateTest FILE: apps/omg_watcher/test/omg_watcher/supervisor_test.exs class OMG.Watcher.SupervisorTest (line 14) | defmodule OMG.Watcher.SupervisorTest method initial_check_in (line 86) | defp initial_check_in(state, services, pid) do FILE: apps/omg_watcher/test/omg_watcher/typed_data_hash_test.exs class OMG.Watcher.TypedDataHashTest (line 15) | defmodule OMG.Watcher.TypedDataHashTest FILE: apps/omg_watcher/test/omg_watcher/utxo/position_test.exs class OMG.Watcher.Utxo.PositionTest (line 15) | defmodule OMG.Watcher.Utxo.PositionTest FILE: apps/omg_watcher/test/omg_watcher/utxo_exit/core_test.exs class OMG.Watcher.UtxoExit.CoreTest (line 15) | defmodule OMG.Watcher.UtxoExit.CoreTest FILE: apps/omg_watcher/test/omg_watcher/utxo_test.exs class OMG.Watcher.UtxoTest (line 14) | defmodule OMG.Watcher.UtxoTest FILE: apps/omg_watcher/test/omg_watcher/wire_format_types_test.exs class OMG.Watcher.WireFormatTypesTest (line 15) | defmodule OMG.Watcher.WireFormatTypesTest FILE: apps/omg_watcher/test/support/dev_crypto.ex class OMG.Watcher.DevCrypto (line 15) | defmodule OMG.Watcher.DevCrypto method generate_private_key (line 30) | def generate_private_key(), do: {:ok, :crypto.strong_rand_bytes(32)} method generate_public_key (line 36) | def generate_public_key(<>) do method sign (line 49) | def sign(%{} = tx, private_keys) do method signature (line 67) | def signature(tx, priv), do: do_signature(tx, priv) method do_signature (line 69) | defp do_signature(%{} = tx, priv) do method pack_signature (line 76) | defp pack_signature(v, r, s) do method der_to_raw (line 80) | defp der_to_raw(<<4::integer-size(8), data::binary>>), do: data method get_public_key (line 82) | defp get_public_key(private_key) do FILE: apps/omg_watcher/test/support/exit_processor/case.ex class OMG.Watcher.ExitProcessor.Case (line 15) | defmodule OMG.Watcher.ExitProcessor.Case method invalid_piggyback_on_input (line 85) | defp invalid_piggyback_on_input(state, [tx | _], [ife_id | _], competi... method invalid_piggyback_on_output (line 109) | defp invalid_piggyback_on_output(alice, state, [tx | _], [ife_id | _]) do FILE: apps/omg_watcher/test/support/exit_processor/test_helper.ex class OMG.Watcher.ExitProcessor.TestHelper (line 15) | defmodule OMG.Watcher.ExitProcessor.TestHelper method start_se_from (line 31) | def start_se_from(%Core{} = processor, tx, exiting_pos, opts \\ []) do method se_event_status (line 37) | def se_event_status(tx, exiting_pos, opts \\ []) do method start_ife_from (line 70) | def start_ife_from(%Core{} = processor, tx, opts \\ []) do method active_ife_status (line 82) | def active_ife_status(), do: {nil, 1, nil, nil, nil, nil, nil} method inactive_ife_status (line 83) | def inactive_ife_status(), do: {nil, 0, nil, nil, nil, nil, nil} method piggyback_ife_from (line 85) | def piggyback_ife_from(%Core{} = processor, tx_hash, output_index, pig... method ife_event (line 98) | def ife_event(tx, opts \\ []) do method ife_response (line 117) | def ife_response(tx, position), method ife_challenge (line 120) | def ife_challenge(tx, comp, opts \\ []) do method txbytes (line 139) | def txbytes(tx), do: Transaction.raw_txbytes(tx) method sigs (line 140) | def sigs(tx), do: tx.signed_tx.sigs method sig (line 141) | def sig(tx, idx \\ 0), do: tx |> sigs() |> Enum.at(idx) method assert_proof_sound (line 143) | def assert_proof_sound(proof_bytes) do method assert_events (line 150) | def assert_events(events, expected_events) do method check_validity_filtered (line 154) | def check_validity_filtered(request, processor, opts) do method not_included_competitor_pos (line 176) | defp not_included_competitor_pos() do FILE: apps/omg_watcher/test/support/integration/bad_child_chain_server.ex class OMG.Watcher.Integration.BadChildChainServer (line 15) | defmodule OMG.Watcher.Integration.BadChildChainServer method prepare_route_to_inject_bad_block (line 31) | def prepare_route_to_inject_bad_block(context, bad_block, bad_block_ha... method prepare_route_to_inject_bad_block (line 56) | def prepare_route_to_inject_bad_block(context, %{hash: bad_block_hash}... FILE: apps/omg_watcher/test/support/integration/deposit_helper.ex class Support.Integration.DepositHelper (line 15) | defmodule Support.Integration.DepositHelper method deposit_to_child_chain (line 29) | def deposit_to_child_chain(to, value, token \\ @eth) method deposit_to_child_chain (line 31) | def deposit_to_child_chain(to, value, @eth) do method process_deposit (line 55) | defp process_deposit(%{"blockNumber" => deposit_eth_height} = receipt) do method wait_deposit_recognized (line 60) | defp wait_deposit_recognized(deposit_eth_height) do FILE: apps/omg_watcher/test/support/integration/fixtures.exs class OMG.Watcher.Integration.Fixtures (line 15) | defmodule OMG.Watcher.Integration.Fixtures method prepare_deposits (line 32) | defp prepare_deposits(alice, token_addr) do FILE: apps/omg_watcher/test/support/integration/test_helper.ex class OMG.Watcher.Integration.TestHelper (line 15) | defmodule OMG.Watcher.Integration.TestHelper method wait_for_byzantine_events (line 28) | def wait_for_byzantine_events(event_names, timeout) do method wait_for_block_fetch (line 40) | def wait_for_block_fetch(block_number, timeout) do method wait_for_block_inserted_in_db (line 60) | def wait_for_block_inserted_in_db(block_number, timeout) do method wait_for_exit_processing (line 74) | def wait_for_exit_processing(exit_eth_height, timeout \\ 5_000) do method process_exits (line 81) | def process_exits(vault_id, token, user) do FILE: apps/omg_watcher/test/support/integration/test_server.ex class OMG.Watcher.Integration.TestServer (line 15) | defmodule OMG.Watcher.Integration.TestServer method with_route (line 32) | def with_route(%{fake_addr: fake_addr, server_pid: server_pid, server_... class WatcherTestServerResponseFactory (line 47) | defmodule WatcherTestServerResponseFactory method json_rpc_response (line 51) | def json_rpc_response() do FILE: apps/omg_watcher/test/support/signature_helper.ex class OMG.Watcher.SignatureHelper (line 14) | defmodule OMG.Watcher.SignatureHelper method sign_hash (line 32) | def sign_hash(hash, private_key, chain_id \\ nil) do FILE: apps/omg_watcher/test/support/test_helper.ex class OMG.Watcher.TestHelper (line 15) | defmodule OMG.Watcher.TestHelper method entities_stable (line 27) | def entities_stable(), method entities (line 49) | def entities(), method generate_entity (line 61) | def generate_entity() do method do_deposit (line 68) | def do_deposit(state, owner, %{amount: amount, currency: cur, blknum: ... method create_recovered (line 84) | def create_recovered(inputs, currency, outputs, metadata \\ @empty_met... method create_recovered (line 92) | def create_recovered(inputs, outputs), do: create_encoded(inputs, outp... method create_encoded (line 94) | def create_encoded(inputs, currency, outputs, metadata \\ @empty_metad... method create_encoded (line 98) | def create_encoded(inputs, outputs) do method create_encoded_fee_tx (line 102) | def create_encoded_fee_tx(blknum, owner, currency, amount) do method create_recovered_fee_tx (line 110) | def create_recovered_fee_tx(blknum, owner, currency, amount), method create_signed (line 122) | def create_signed(inputs, currency, outputs, metadata \\ @empty_metada... method create_signed (line 138) | def create_signed(inputs, outputs) do method sign_encode (line 149) | def sign_encode(%{} = tx, priv_keys), do: tx |> DevCrypto.sign(priv_ke... method sign_recover! (line 151) | def sign_recover!(%{} = tx, priv_keys) do method get_private_keys (line 155) | defp get_private_keys(inputs), FILE: apps/omg_watcher/test/support/watcher_helper.ex class Support.WatcherHelper (line 15) | defmodule Support.WatcherHelper method success? (line 42) | def success?(path, body \\ nil) do method no_success? (line 50) | def no_success?(path, body \\ nil) do method server_error? (line 57) | def server_error?(path, body \\ nil) do method rpc_call (line 64) | def rpc_call(path, body \\ nil, expected_resp_status \\ 200) do method create_topic (line 88) | def create_topic(main_topic, subtopic), do: main_topic <> ":" <> subtopic method decode16 (line 94) | def decode16(data, keys) do method decode16_for_key (line 100) | defp decode16_for_key(data, key) do method decode_binary! (line 115) | defp decode_binary!(value) do method get_balance (line 120) | def get_balance(address, token) do method get_utxos (line 137) | def get_utxos(address, page \\ 1, limit \\ 100) do method get_exitable_utxos (line 141) | def get_exitable_utxos(address) do method get_balance (line 145) | def get_balance(address) do method get_block (line 149) | def get_block(blknum) do method get_exit_data (line 158) | def get_exit_data(blknum, txindex, oindex) do method get_exit_challenge (line 162) | def get_exit_challenge(blknum, txindex, oindex) do method get_in_flight_exit (line 170) | def get_in_flight_exit(transaction) do method get_in_flight_exit_competitors (line 176) | def get_in_flight_exit_competitors(transaction) do method get_prove_canonical (line 182) | def get_prove_canonical(transaction) do method submit (line 188) | def submit(transaction) do method get_input_challenge_data (line 194) | def get_input_challenge_data(transaction, input_index) do method get_output_challenge_data (line 209) | def get_output_challenge_data(transaction, output_index) do method capture_log (line 224) | def capture_log(function, max_waiting_ms \\ 2_000) do method wait_for_log (line 235) | defp wait_for_log(max_waiting_ms, sleep_time_ms \\ 20) do method get_exit_data (line 248) | defp get_exit_data(encoded_position) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/api/account.ex class OMG.WatcherInfo.API.Account (line 15) | defmodule OMG.WatcherInfo.API.Account method get_balance (line 27) | def get_balance(address) do method get_utxos (line 35) | def get_utxos(params) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/api/block.ex class OMG.WatcherInfo.API.Block (line 15) | defmodule OMG.WatcherInfo.API.Block method get (line 29) | def get(blknum) do method get_blocks (line 41) | def get_blocks(constraints) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/api/deposit.ex class OMG.WatcherInfo.API.Deposit (line 15) | defmodule OMG.WatcherInfo.API.Deposit method get_deposits (line 30) | def get_deposits(constraints) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/api/stats.ex class OMG.WatcherInfo.API.Stats (line 15) | defmodule OMG.WatcherInfo.API.Stats method get (line 28) | def get() do method get_average_block_interval_all_time (line 54) | def get_average_block_interval_all_time() do method get_average_block_interval_between (line 77) | def get_average_block_interval_between(start_datetime, end_datetime) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/api/transaction.ex class OMG.WatcherInfo.API.Transaction (line 15) | defmodule OMG.WatcherInfo.API.Transaction method get (line 46) | def get(transaction_id) do method get_transactions (line 60) | def get_transactions(constraints) do method submit (line 79) | def submit(%Transaction.Signed{} = signed_tx) do method create (line 92) | def create(order) do method merge (line 113) | def merge(parameters) do method handle_merge (line 118) | defp handle_merge(%{address: address, currency: currency}) do method handle_merge (line 136) | defp handle_merge(%{utxo_positions: utxo_positions}) do method get_utxos_count (line 145) | defp get_utxos_count(currencies) do method create_transaction (line 165) | defp create_transaction(_utxos_count, inputs, order) do method get_merge_inputs (line 172) | defp get_merge_inputs(utxo_positions) do method no_duplicates (line 182) | defp no_duplicates(inputs) do method single_owner (line 193) | defp single_owner(inputs) do method single_currency (line 201) | defp single_currency(inputs) do method respond (line 208) | defp respond({:ok, transactions}, result), do: {:ok, %{result: result,... method respond (line 209) | defp respond(error, _), do: error FILE: apps/omg_watcher_info/lib/omg_watcher_info/application.ex class OMG.WatcherInfo.Application (line 15) | defmodule OMG.WatcherInfo.Application method start (line 20) | def start(_type, _args) do method start_root_supervisor (line 28) | def start_root_supervisor() do method start_phase (line 49) | def start_phase(:attach_telemetry, :normal, _phase_args) do method attach_ecto_telemetry (line 62) | defp attach_ecto_telemetry() do FILE: apps/omg_watcher_info/lib/omg_watcher_info/block_applicator.ex class OMG.WatcherInfo.BlockApplicator (line 15) | defmodule OMG.WatcherInfo.BlockApplicator method insert_block! (line 34) | def insert_block!(block) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/block.ex class OMG.WatcherInfo.DB.Block (line 15) | defmodule OMG.WatcherInfo.DB.Block method get_max_blknum (line 54) | def get_max_blknum() do method get (line 62) | def get(blknum) do method base_query (line 72) | def base_query() do method get_blocks (line 86) | def get_blocks(paginator) do method query_timestamp_between (line 94) | def query_timestamp_between(query, start_datetime, end_datetime) do method count_all_between_timestamps (line 107) | def count_all_between_timestamps(start_datetime, end_datetime) do method count_all (line 118) | def count_all() do method get_timestamp_range_all (line 127) | def get_timestamp_range_all() do method get_timestamp_range_between (line 139) | def get_timestamp_range_between(start_datetime, end_datetime) do method insert (line 147) | def insert(params) do method insert_from_block_application (line 159) | def insert_from_block_application(block_application) do method prepare_inserts (line 197) | defp prepare_inserts(multi, stream, name, schema) do method prepare_db_transactions (line 208) | defp prepare_db_transactions(mined_transactions, block_number) do method prepare_db_transaction (line 220) | defp prepare_db_transaction(recovered_tx, block_number, txindex) do method create (line 236) | defp create(block_number, txindex, txhash, txtype, txbytes, metadata) do method query_timestamp_range (line 248) | defp query_timestamp_range() do method query_count (line 258) | defp query_count() do method changeset (line 262) | defp changeset(block, params) do method query_get_last (line 272) | defp query_get_last(%{limit: limit, page: page}) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/eth_event.ex class OMG.WatcherInfo.DB.EthEvent (line 15) | defmodule OMG.WatcherInfo.DB.EthEvent method insert_deposits! (line 67) | def insert_deposits!(deposits) do method insert_deposit! (line 73) | defp insert_deposit!(params) do method insert_exits! (line 127) | def insert_exits!(exits, event_type, event_type_detailed) do method txoutput_changeset (line 135) | def txoutput_changeset(txoutput, params, ethevent) do method generate_child_chain_utxohash (line 148) | def generate_child_chain_utxohash(position) do method generate_root_chain_txhash_event (line 152) | def generate_root_chain_txhash_event(root_chain_txhash, log_index) do method get (line 160) | def get(root_chain_txhash_event) do method get_deposits (line 176) | def get_deposits(paginator, address) do method utxo_exit_from_exit_event (line 192) | defp utxo_exit_from_exit_event(%{ method transform_output_pointer (line 206) | defp transform_output_pointer(%{utxo_pos: utxo_pos}), method transform_output_pointer (line 209) | defp transform_output_pointer(%{txhash: txhash, oindex: oindex}), method insert_exit! (line 222) | defp insert_exit!(event, event_type, ensure_output) do method resolve_tx_output (line 259) | defp resolve_tx_output({:utxo_position, utxo_pos}), do: DB.TxOutput.ge... method resolve_tx_output (line 260) | defp resolve_tx_output({:output_id, {txhash, oindex}}), do: DB.TxOutpu... method insert_exit_if_not_exist (line 263) | defp insert_exit_if_not_exist(ethevent, tx_output) do method base_query (line 285) | defp base_query() do method query_by_address (line 294) | defp query_by_address(query, address) do method query_deposits (line 301) | defp query_deposits(query) do method query_paginated (line 308) | defp query_paginated(query, paginator) do method output_spent? (line 321) | defp output_spent?(%DB.TxOutput{spending_txhash: nil} = tx_output) do method output_spent? (line 325) | defp output_spent?(%DB.TxOutput{}), do: true method expect_output_existence? (line 329) | defp expect_output_existence?(:standard_exit, _), do: true method expect_output_existence? (line 330) | defp expect_output_existence?(:in_flight_exit, :InFlightTxOutputPiggyb... method expect_output_existence? (line 331) | defp expect_output_existence?(:in_flight_exit, _any), do: true FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/eth_event_txoutput.ex class OMG.WatcherInfo.DB.EthEventTxOutput (line 15) | defmodule OMG.WatcherInfo.DB.EthEventTxOutput method changeset (line 40) | def changeset(params \\ %{}) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/repo.ex class OMG.WatcherInfo.DB.Repo (line 15) | defmodule OMG.WatcherInfo.DB.Repo FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/transaction.ex class OMG.WatcherInfo.DB.Transaction (line 15) | defmodule OMG.WatcherInfo.DB.Transaction method get (line 52) | def get(hash) do method get_by_filters (line 73) | def get_by_filters(constraints, paginator) do method query_get_last (line 92) | defp query_get_last(%{limit: limit, page: page}) do method query_count (line 109) | defp query_count() do method query_timestamp_between (line 114) | def query_timestamp_between(query, start_datetime, end_datetime) do method count_all_between_timestamps (line 128) | def count_all_between_timestamps(start_datetime, end_datetime) do method count_all (line 139) | def count_all() do method query_get_by_address (line 143) | defp query_get_by_address(query, nil), do: query method query_get_by_address (line 145) | defp query_get_by_address(query, address) do method query_get_by_txtypes (line 153) | defp query_get_by_txtypes(query, nil), do: query method query_get_by_txtypes (line 154) | defp query_get_by_txtypes(query, []), do: query method query_get_by_txtypes (line 156) | defp query_get_by_txtypes(query, txtypes) do method get_by_blknum (line 164) | def get_by_blknum(blknum) do method query_get_by_end_datetime (line 171) | defp query_get_by_end_datetime(query, nil), do: query method query_get_by_end_datetime (line 173) | defp query_get_by_end_datetime(query, end_datetime) do method get_by_position (line 181) | def get_by_position(blknum, txindex) do method filter_constraints (line 185) | defp filter_constraints(constraints, allowed_constraints) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/txoutput.ex class OMG.WatcherInfo.DB.TxOutput (line 15) | defmodule OMG.WatcherInfo.DB.TxOutput method get_by_position (line 78) | def get_by_position(Utxo.position(blknum, txindex, oindex)) do method get_by_output_id (line 89) | def get_by_output_id(txhash, oindex) do method get_utxos (line 100) | def get_utxos(params) do method get_balance (line 115) | def get_balance(owner) do method spend_utxos (line 148) | def spend_utxos(multi, db_inputs) do method create_outputs (line 173) | def create_outputs(blknum, txindex, txhash, tx) do method create_output (line 186) | defp create_output(_otype, _blknum, _txindex, _txhash, _oindex, _owner... method create_inputs (line 204) | def create_inputs(tx, spending_txhash) do method get_sorted_grouped_utxos (line 214) | def get_sorted_grouped_utxos(owner, order) do method query_get_utxos (line 225) | defp query_get_utxos(address) do method get_all_utxos (line 251) | defp get_all_utxos(address) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/types/atom_type.ex class OMG.WatcherInfo.DB.Types.AtomType (line 15) | defmodule OMG.WatcherInfo.DB.Types.AtomType method type (line 20) | def type(), do: :string method cast (line 22) | def cast(value), do: {:ok, value} method load (line 24) | def load(value), do: {:ok, String.to_existing_atom(value)} method dump (line 28) | def dump(_), do: :error method embed_as (line 30) | def embed_as(_), do: :self method equal? (line 32) | def equal?(value1, value2), do: value1 == value2 FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/types/block/chunk.ex class OMG.WatcherInfo.DB.Block.Chunk (line 15) | defmodule OMG.WatcherInfo.DB.Block.Chunk method chunk (line 23) | def chunk(entries) do method chunk_size (line 38) | defp chunk_size(entry), do: div(@max_params_count, fields_count(entry)) method fields_count (line 40) | defp fields_count(map), do: Kernel.map_size(map) FILE: apps/omg_watcher_info/lib/omg_watcher_info/db/types/integer_type.ex class OMG.WatcherInfo.DB.Types.IntegerType (line 15) | defmodule OMG.WatcherInfo.DB.Types.IntegerType method type (line 23) | def type(), do: :integer method cast (line 25) | def cast(value) do method load (line 29) | def load(value) do method load! (line 33) | def load!(nil), do: 0 method load! (line 35) | def load!(value), do: Decimal.to_integer(value) method dump (line 37) | def dump(value) do method embed_as (line 42) | def embed_as(_), do: :self method equal? (line 44) | def equal?(value1, value2), do: value1 == value2 FILE: apps/omg_watcher_info/lib/omg_watcher_info/http_rpc/adapter.ex class OMG.WatcherInfo.HttpRPC.Adapter (line 15) | defmodule OMG.WatcherInfo.HttpRPC.Adapter method rpc_post (line 27) | def rpc_post(body, path, url) do method get_unparsed_response_body (line 45) | def get_unparsed_response_body(%HTTPoison.Response{status_code: 200, b... method get_unparsed_response_body (line 55) | def get_unparsed_response_body(%HTTPoison.Response{body: error}), method get_unparsed_response_body (line 58) | def get_unparsed_response_body({:error, %HTTPoison.Error{reason: :econ... method get_unparsed_response_body (line 62) | def get_unparsed_response_body({:error, %HTTPoison.Error{reason: reaso... method get_unparsed_response_body (line 66) | def get_unparsed_response_body(error), do: error method get_response_body (line 72) | def get_response_body(response) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/http_rpc/client.ex class OMG.WatcherInfo.HttpRPC.Client (line 15) | defmodule OMG.WatcherInfo.HttpRPC.Client method get_block (line 35) | def get_block(hash, url), do: call(%{hash: Encoding.to_hex(hash)}, "bl... method get_fees (line 45) | def get_fees(params, url) do method submit (line 55) | def submit(tx, url), do: call(%{transaction: Encoding.to_hex(tx)}, "tr... method call (line 57) | defp call(params, path, url), method decode_response (line 61) | defp decode_response({:ok, %{transactions: transactions, blknum: numbe... method decode_response (line 70) | defp decode_response({:ok, %{txhash: _hash} = response}) do method decode_response (line 74) | defp decode_response(error), do: error method decode16! (line 76) | defp decode16!(hexstr) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/measure.ex class OMG.WatcherInfo.Measure (line 15) | defmodule OMG.WatcherInfo.Measure method supported_events (line 28) | def supported_events(), do: @supported_events method handle_event (line 30) | def handle_event([:pending_block_queue_length, PendingBlockQueueLength... FILE: apps/omg_watcher_info/lib/omg_watcher_info/order_fee_fetcher.ex class OMG.WatcherInfo.OrderFeeFetcher (line 15) | defmodule OMG.WatcherInfo.OrderFeeFetcher method add_fee_to_order (line 46) | def add_fee_to_order(%{fee: %{currency: currency}} = order, url \\ nil... method validate_child_chain_fees (line 57) | defp validate_child_chain_fees(fees, currency) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/release_tasks/init_postgresql_db.ex class OMG.WatcherInfo.ReleaseTasks.InitPostgresqlDB (line 15) | defmodule OMG.WatcherInfo.ReleaseTasks.InitPostgresqlDB method migrate (line 19) | def migrate() do method rollback (line 25) | def rollback(repo, version) do method repos (line 29) | defp repos() do FILE: apps/omg_watcher_info/lib/omg_watcher_info/release_tasks/set_tracer.ex class OMG.WatcherInfo.ReleaseTasks.SetTracer (line 15) | defmodule OMG.WatcherInfo.ReleaseTasks.SetTracer method init (line 22) | def init(args) do method load (line 26) | def load(config, args) do method get_dd_disabled (line 50) | defp get_dd_disabled() do method get_app_env (line 58) | defp get_app_env() do method get_env (line 64) | defp get_env(key) do method validate_bool (line 69) | defp validate_bool(_, default), do: default method to_bool (line 71) | defp to_bool("TRUE"), do: true method to_bool (line 72) | defp to_bool("FALSE"), do: false method to_bool (line 73) | defp to_bool(_), do: exit("DD_DISABLED either true or false.") method validate_app_env (line 76) | defp validate_app_env(nil), do: exit("APP_ENV must be set.") method on_load (line 78) | defp on_load() do FILE: apps/omg_watcher_info/lib/omg_watcher_info/supervisor.ex class OMG.WatcherInfo.Supervisor (line 15) | defmodule OMG.WatcherInfo.Supervisor method start_link (line 48) | def start_link() do method init (line 52) | def init(:ok) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/tracer.ex class OMG.WatcherInfo.Tracer (line 15) | defmodule OMG.WatcherInfo.Tracer FILE: apps/omg_watcher_info/lib/omg_watcher_info/transaction.ex class OMG.WatcherInfo.Transaction (line 15) | defmodule OMG.WatcherInfo.Transaction method select_inputs (line 87) | def select_inputs(utxos, %{payments: payments, fee: fee}) do method create (line 120) | def create(utxos_per_token, order) do method include_typed_data (line 149) | def include_typed_data({:error, _} = err), do: err method include_typed_data (line 151) | def include_typed_data({:ok, %{result: result, transactions: txs}}) do method include_typed_data (line 158) | def include_typed_data({:ok, txs}) do method generate_merge_transactions (line 166) | def generate_merge_transactions(merge_inputs) do method create_merge (line 181) | defp create_merge(inputs) do method build_inputs (line 201) | defp build_inputs(utxos_per_token) do method build_outputs (line 207) | defp build_outputs(utxos_per_token, order) do method create_raw_transaction (line 225) | defp create_raw_transaction(inputs, outputs, metadata) do method add_type_specs (line 233) | defp add_type_specs(%{inputs: inputs, outputs: outputs, metadata: meta... method create_inputs (line 252) | defp create_inputs(inputs) do method create_outputs (line 259) | defp create_outputs(outputs) do FILE: apps/omg_watcher_info/lib/omg_watcher_info/utxo_selection.ex class OMG.WatcherInfo.UtxoSelection (line 15) | defmodule OMG.WatcherInfo.UtxoSelection method prioritize_merge_utxos (line 39) | def prioritize_merge_utxos(utxos, selected_utxos) do method add_utxos_for_stealth_merge (line 66) | def add_utxos_for_stealth_merge([], selected_utxos), do: selected_utxos method add_utxos_for_stealth_merge (line 68) | def add_utxos_for_stealth_merge(available_utxos, selected_utxos) do method select_utxos (line 93) | def select_utxos(net_amount, utxos) do method calculate_net_amount (line 109) | def calculate_net_amount(payments, %{currency: fee_currency, amount: f... method review_selected_utxos (line 129) | def review_selected_utxos(utxo_selection) do method recursively_find_utxos (line 150) | defp recursively_find_utxos([], need, _), do: {need, []} method recursively_find_utxos (line 152) | defp recursively_find_utxos([utxo | utxos], need, selected_utxos), method find_utxos_by_token (line 155) | defp find_utxos_by_token(token_utxos, need) do method prioritize_utxos_by_currency (line 165) | defp prioritize_utxos_by_currency({currency, _utxos}, utxos, selected_... method filter_unselected (line 172) | defp filter_unselected(available_utxos, selected_utxo_hashes) do method get_number_of_utxos (line 179) | defp get_number_of_utxos(utxos_by_currency) do FILE: apps/omg_watcher_info/lib/watcher_info.ex class OMG.WatcherInfo (line 15) | defmodule OMG.WatcherInfo FILE: apps/omg_watcher_info/mix.exs class OMG.WatcherInfo.MixProject (line 1) | defmodule OMG.WatcherInfo.MixProject method project (line 4) | def project() do method application (line 21) | def application() do method version (line 29) | defp version() do method elixirc_paths (line 38) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 39) | defp elixirc_paths(:dev), do: ["lib"] method elixirc_paths (line 40) | defp elixirc_paths(:test), do: ["lib", "test/support"] method deps (line 42) | defp deps() do FILE: apps/omg_watcher_info/priv/repo/migrations/20180813131000_create_block_table.exs class OMG.WatcherInfo.Repo.Migrations.CreateBlockTable (line 1) | defmodule OMG.WatcherInfo.Repo.Migrations.CreateBlockTable method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20180813131706_create_transaction_table.exs class OMG.WatcherInfo.Repo.Migrations.CreateTransactionTable (line 1) | defmodule OMG.WatcherInfo.Repo.Migrations.CreateTransactionTable method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20180813133000_create_ethevent_table.exs class OMG.WatcherInfo.Repo.Migrations.CreateEtheventTable (line 1) | defmodule OMG.WatcherInfo.Repo.Migrations.CreateEtheventTable method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20180813143343_create_txoutput_table.exs class OMG.WatcherInfo.Repo.Migrations.CreateTxoutputTable (line 1) | defmodule OMG.WatcherInfo.Repo.Migrations.CreateTxoutputTable method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20190314105410_alter_transactions_table_add_metadata_field.exs class OMG.WatcherInfo.DB.Repo.Migrations.AlterTransactionsTableAddMetadataField (line 1) | defmodule OMG.WatcherInfo.DB.Repo.Migrations.AlterTransactionsTableAddMe... method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20190315095855_alter_transactions_table_add_partitial_index.exs class OMG.WatcherInfo.DB.Repo.Migrations.AlterTransactionsTableAddPartialIndex (line 1) | defmodule OMG.WatcherInfo.DB.Repo.Migrations.AlterTransactionsTableAddPa... method up (line 4) | def up() do method down (line 8) | def down() do FILE: apps/omg_watcher_info/priv/repo/migrations/20190408131000_add_missing_indices_to_txoutputs.exs class OMG.WatcherInfo.Repo.Migrations.AddMissingIndicesToTxOuputs (line 1) | defmodule OMG.WatcherInfo.Repo.Migrations.AddMissingIndicesToTxOuputs method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20190806111817_alter_txoutputs_ethevents_make_many_to_many_relation.exs class OMG.WatcherInfo.DB.Repo.Migrations.AlterTxOutputsTableAddRootchainTxnHashDepositAndExitColumns (line 2) | defmodule OMG.WatcherInfo.DB.Repo.Migrations.AlterTxOutputsTableAddRootc... method up (line 7) | def up() do method down (line 86) | def down() do FILE: apps/omg_watcher_info/priv/repo/migrations/20190917165912_set_inserted_at_updated_at_to_epoc.exs class OMG.WatcherInfo.Repo.Migrations.SetInsertedAtUpdatedAtToEpoch (line 1) | defmodule OMG.WatcherInfo.Repo.Migrations.SetInsertedAtUpdatedAtToEpoch method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20200129051756_index_block_timestamp.exs class OMG.WatcherInfo.DB.Repo.Migrations.IndexBlockTimestamp (line 1) | defmodule OMG.WatcherInfo.DB.Repo.Migrations.IndexBlockTimestamp method change (line 4) | def change() do FILE: apps/omg_watcher_info/priv/repo/migrations/20200211064454_add_txtype_to_transaction_and_output.exs class OMG.WatcherInfo.DB.Repo.Migrations.AddTxtypeToTransactionAndOutput (line 1) | defmodule OMG.WatcherInfo.DB.Repo.Migrations.AddTxtypeToTransactionAndOu... method up (line 11) | def up() do method down (line 32) | def down() do method set_txtypes (line 39) | defp set_txtypes() do method update_transaction_types (line 45) | defp update_transaction_types() do method reduce_txhash_txbytes (line 53) | defp reduce_txhash_txbytes([txhash, txbytes], txtype_to_txhashes) do method update_txtype_for_txhashes (line 63) | defp update_txtype_for_txhashes({txtype, txhashes}) do method update_fee_outputs (line 72) | defp update_fee_outputs() do method update_payment_outputs (line 85) | defp update_payment_outputs() do FILE: apps/omg_watcher_info/priv/repo/migrations/20200214132000_add_and_fix_timestamps.exs class OMG.Watcher.Repo.Migrations.AddAndFixTimestamps (line 1) | defmodule OMG.Watcher.Repo.Migrations.AddAndFixTimestamps method up (line 7) | def up() do method backfill_null_timestamps (line 26) | defp backfill_null_timestamps(table_name) do method update_timestamps_ddl (line 30) | defp update_timestamps_ddl(table_name) do FILE: apps/omg_watcher_info/priv/repo/migrations/20200514115919_add_eth_height_to_eth_events.exs class OMG.WatcherInfo.DB.Repo.Migrations.AddEthHeightToEthEvents (line 1) | defmodule OMG.WatcherInfo.DB.Repo.Migrations.AddEthHeightToEthEvents method up (line 4) | def up() do FILE: apps/omg_watcher_info/priv/repo/migrations/20200529085008_create_pending_block_table.exs class OMG.WatcherInfo.DB.Repo.Migrations.CreatePendingBlockTable (line 1) | defmodule OMG.WatcherInfo.DB.Repo.Migrations.CreatePendingBlockTable method change (line 4) | def change() do FILE: apps/omg_watcher_info/test/fixtures.exs class OMG.WatcherInfo.Fixtures (line 15) | defmodule OMG.WatcherInfo.Fixtures method prepare_one_block (line 148) | defp prepare_one_block({blknum, recovered_txs}) do method ensure_web_started (line 166) | defp ensure_web_started(module, function, args, counter) do method do_ensure_web_started (line 171) | defp do_ensure_web_started(module, function, args, 0), do: apply(modul... method do_ensure_web_started (line 173) | defp do_ensure_web_started(module, function, args, counter) do FILE: apps/omg_watcher_info/test/omg_watcher_info/api/block_test.exs class OMG.WatcherInfo.API.BlockTest (line 15) | defmodule OMG.WatcherInfo.API.BlockTest FILE: apps/omg_watcher_info/test/omg_watcher_info/api/deposit_test.exs class OMG.WatcherInfo.API.DepositTest (line 15) | defmodule OMG.WatcherInfo.API.DepositTest FILE: apps/omg_watcher_info/test/omg_watcher_info/api/stats_test.exs class OMG.WatcherInfo.API.StatsTest (line 15) | defmodule OMG.WatcherInfo.API.StatsTest FILE: apps/omg_watcher_info/test/omg_watcher_info/api/transaction_test.exs class OMG.WatcherInfo.API.TransactionTest (line 15) | defmodule OMG.WatcherInfo.API.TransactionTest method encoded_position_from_insert (line 183) | defp encoded_position_from_insert(%{oindex: oindex, txindex: txindex, ... method insert_initial_utxo (line 188) | defp insert_initial_utxo() do FILE: apps/omg_watcher_info/test/omg_watcher_info/block_applicator_test.exs class OMG.WatcherInfo.BlockApplicatorTest (line 15) | defmodule OMG.WatcherInfo.BlockApplicatorTest FILE: apps/omg_watcher_info/test/omg_watcher_info/db/block/chunk_test.exs class OMG.WatcherInfo.DB.Block.ChunkTest (line 15) | defmodule OMG.WatcherInfo.DB.Block.ChunkTest method new_transactions (line 110) | defp new_transactions(blknum, count, utc_now \\ nil) do method new_transaction (line 125) | defp new_transaction(blknum, index, utc_now) do FILE: apps/omg_watcher_info/test/omg_watcher_info/db/block_test.exs class OMG.WatcherInfo.DB.BlockTest (line 15) | defmodule OMG.WatcherInfo.DB.BlockTest FILE: apps/omg_watcher_info/test/omg_watcher_info/db/eth_event_test.exs class OMG.WatcherInfo.DB.EthEventTest (line 15) | defmodule OMG.WatcherInfo.DB.EthEventTest method assert_txoutput_spent_by_event (line 535) | defp assert_txoutput_spent_by_event(txhash, oindex, log_index, eth_txh... FILE: apps/omg_watcher_info/test/omg_watcher_info/db/transaction_test.exs class OMG.WatcherInfo.DB.TransactionTest (line 15) | defmodule OMG.WatcherInfo.DB.TransactionTest FILE: apps/omg_watcher_info/test/omg_watcher_info/db/txoutput_test.exs class OMG.WatcherInfo.DB.TxOutputTest (line 15) | defmodule OMG.WatcherInfo.DB.TxOutputTest FILE: apps/omg_watcher_info/test/omg_watcher_info/http_rpc/adapter_test.exs class OMG.WatcherInfo.HttpRPC.AdapterTest (line 15) | defmodule OMG.WatcherInfo.HttpRPC.AdapterTest FILE: apps/omg_watcher_info/test/omg_watcher_info/order_fee_fetcher_test.exs class OMG.WatcherInfo.OrderFeeFetcherTest (line 15) | defmodule OMG.WatcherInfo.OrderFeeFetcherTest method prepare_test_server (line 90) | defp prepare_test_server(context, response) do FILE: apps/omg_watcher_info/test/omg_watcher_info/release_tasks/set_tracer_test.exs class OMG.WatcherInfo.ReleaseTasks.SetTracerTest (line 15) | defmodule OMG.WatcherInfo.ReleaseTasks.SetTracerTest class System (line 61) | defmodule System method start_link (line 62) | def start_link(args), do: GenServer.start_link(__MODULE__, args, []) method get_env (line 63) | def get_env(key), do: __MODULE__ |> Process.get() |> GenServer.call({:... method put_env (line 64) | def put_env(key, value), do: __MODULE__ |> Process.get() |> GenServer.... method init (line 65) | def init(_), do: {:ok, %{}} method handle_call (line 67) | def handle_call({:get_env, key}, _, state) do method handle_call (line 71) | def handle_call({:put_env, key, value}, _, state) do FILE: apps/omg_watcher_info/test/omg_watcher_info/transaction_test.exs class OMG.WatcherInfo.TransactionTest (line 15) | defmodule OMG.WatcherInfo.TransactionTest FILE: apps/omg_watcher_info/test/omg_watcher_info/utxo_selection_test.exs class OMG.WatcherInfo.UtxoSelectionTest (line 14) | defmodule OMG.WatcherInfo.UtxoSelectionTest FILE: apps/omg_watcher_info/test/support/factories/block_factory.ex class OMG.WatcherInfo.Factory.Block (line 15) | defmodule OMG.WatcherInfo.Factory.Block FILE: apps/omg_watcher_info/test/support/factories/data_helper.ex class OMG.WatcherInfo.Factory.DataHelper (line 15) | defmodule OMG.WatcherInfo.Factory.DataHelper FILE: apps/omg_watcher_info/test/support/factories/eth_event_factory.ex class OMG.WatcherInfo.Factory.EthEvent (line 15) | defmodule OMG.WatcherInfo.Factory.EthEvent FILE: apps/omg_watcher_info/test/support/factories/transaction_factory.ex class OMG.WatcherInfo.Factory.Transaction (line 15) | defmodule OMG.WatcherInfo.Factory.Transaction FILE: apps/omg_watcher_info/test/support/factories/txoutput_factory.ex class OMG.WatcherInfo.Factory.TxOutput (line 15) | defmodule OMG.WatcherInfo.Factory.TxOutput FILE: apps/omg_watcher_info/test/support/factory.ex class OMG.WatcherInfo.Factory (line 15) | defmodule OMG.WatcherInfo.Factory FILE: apps/omg_watcher_info/test/support/test_server.ex class OMG.WatcherInfo.TestServer (line 15) | defmodule OMG.WatcherInfo.TestServer method start (line 24) | def start() do method stop (line 43) | def stop(%{real_addr: real_addr, server_id: server_id}) do method with_response (line 58) | def with_response(response_block, %{fake_addr: fake_addr, server_pid: ... class TestServerResponseFactory (line 71) | defmodule TestServerResponseFactory method json_rpc_response (line 75) | def json_rpc_response() do FILE: apps/omg_watcher_rpc/lib/application.ex class OMG.WatcherRPC.Application (line 15) | defmodule OMG.WatcherRPC.Application method start (line 20) | def start(_type, _args) do method start_root_supervisor (line 26) | def start_root_supervisor() do method config_change (line 55) | def config_change(changed, _new, removed) do FILE: apps/omg_watcher_rpc/lib/configuration.ex class OMG.WatcherRPC.Configuration (line 15) | defmodule OMG.WatcherRPC.Configuration method version (line 22) | def version() do method service_name (line 27) | def service_name() do FILE: apps/omg_watcher_rpc/lib/release_tasks/set_api_mode.ex class OMG.WatcherRPC.ReleaseTasks.SetApiMode (line 15) | defmodule OMG.WatcherRPC.ReleaseTasks.SetApiMode method init (line 20) | def init(nil) do method init (line 24) | def init(args) do method load (line 28) | def load(config, api_mode) do FILE: apps/omg_watcher_rpc/lib/release_tasks/set_endpoint.ex class OMG.WatcherRPC.ReleaseTasks.SetEndpoint (line 15) | defmodule OMG.WatcherRPC.ReleaseTasks.SetEndpoint method init (line 21) | def init(args) do method load (line 25) | def load(config, _args) do method get_port (line 52) | defp get_port() do method get_hostname (line 63) | defp get_hostname() do method get_env (line 74) | defp get_env(key), do: System.get_env(key) method validate_integer (line 77) | defp validate_integer(_, default), do: default method validate_string (line 80) | defp validate_string(_, default), do: default method on_load (line 82) | defp on_load() do FILE: apps/omg_watcher_rpc/lib/release_tasks/set_tracer.ex class OMG.WatcherRPC.ReleaseTasks.SetTracer (line 15) | defmodule OMG.WatcherRPC.ReleaseTasks.SetTracer method init (line 23) | def init(args) do method load (line 27) | def load(config, args) do method get_dd_disabled (line 54) | defp get_dd_disabled() do method get_app_env (line 62) | defp get_app_env() do method get_env (line 68) | defp get_env(key) do method validate_bool (line 73) | defp validate_bool(_, default), do: default method to_bool (line 75) | defp to_bool("TRUE"), do: true method to_bool (line 76) | defp to_bool("FALSE"), do: false method to_bool (line 77) | defp to_bool(_), do: exit("DD_DISABLED either true or false.") method validate_string (line 80) | defp validate_string(_, default), do: default method on_load (line 82) | defp on_load() do FILE: apps/omg_watcher_rpc/lib/tracer.ex class OMG.WatcherRPC.Tracer (line 15) | defmodule OMG.WatcherRPC.Tracer method add_trace_metadata (line 23) | def add_trace_metadata(%{assigns: %{error_type: error_type, error_msg:... method add_trace_metadata (line 34) | def add_trace_metadata(conn) do FILE: apps/omg_watcher_rpc/lib/web.ex class OMG.WatcherRPC.Web (line 15) | defmodule OMG.WatcherRPC.Web method controller (line 34) | def controller() do method view (line 69) | def view() do method router (line 83) | def router() do method channel (line 91) | def channel() do FILE: apps/omg_watcher_rpc/lib/web/controllers/account.ex class OMG.WatcherRPC.Web.Controller.Account (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Account method get_balance (line 29) | def get_balance(conn, params) do method get_utxos (line 37) | def get_utxos(conn, params) do method get_exitable_utxos (line 45) | def get_exitable_utxos(conn, params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/alarm.ex class OMG.WatcherRPC.Web.Controller.Alarm (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Alarm method get_alarms (line 25) | def get_alarms(conn, _params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/block.ex class OMG.WatcherRPC.Web.Controller.Block (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Block method get_block (line 30) | def get_block(conn, params) do method get_blocks (line 41) | def get_blocks(conn, params) do method validate_block (line 52) | def validate_block(conn, params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/challenge.ex class OMG.WatcherRPC.Web.Controller.Challenge (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Challenge method get_utxo_challenge (line 28) | def get_utxo_challenge(conn, params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/configuration.ex class OMG.WatcherRPC.Web.Controller.Configuration (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Configuration method get_configuration (line 25) | def get_configuration(conn, _params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/deposit.ex class OMG.WatcherRPC.Web.Controller.Deposit (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Deposit method get_deposits (line 28) | def get_deposits(conn, params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/fallback.ex class OMG.WatcherRPC.Web.Controller.Fallback (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Fallback method call (line 125) | def call(conn, {:error, {:validation_error, param_name, validator}}) do method call (line 147) | def call(conn, {:error, {reason, data}}) do method call (line 157) | def call(conn, {:error, reason}) do method call (line 167) | def call(conn, :error), do: call(conn, {:error, :unknown_error}) method call (line 170) | def call(conn, _), do: call(conn, {:error, :unknown_error}) method error_info (line 172) | defp error_info(conn, reason) do method assign_error_metadata_to_conn (line 179) | defp assign_error_metadata_to_conn(conn, error) do method current_route (line 187) | defp current_route(%{private: %{phoenix_router: phoenix_router}} = con... method current_route (line 194) | defp current_route(_) do FILE: apps/omg_watcher_rpc/lib/web/controllers/fee.ex class OMG.WatcherRPC.Web.Controller.Fee (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Fee method fees_all (line 24) | def fees_all(conn, params) do method to_currency (line 33) | defp to_currency(currency_str) do method to_tx_type (line 37) | defp to_tx_type(tx_type_str) do FILE: apps/omg_watcher_rpc/lib/web/controllers/in_flight_exit.ex class OMG.WatcherRPC.Web.Controller.InFlightExit (line 15) | defmodule OMG.WatcherRPC.Web.Controller.InFlightExit method get_in_flight_exit (line 28) | def get_in_flight_exit(conn, params) do method get_competitor (line 32) | def get_competitor(conn, params) do method prove_canonical (line 36) | def prove_canonical(conn, params) do method get_input_challenge_data (line 40) | def get_input_challenge_data(conn, params) do method get_output_challenge_data (line 48) | def get_output_challenge_data(conn, params) do method handle_txbytes_based_request (line 58) | defp handle_txbytes_based_request(conn, params, api_function, template... FILE: apps/omg_watcher_rpc/lib/web/controllers/stats.ex class OMG.WatcherRPC.Web.Controller.Stats (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Stats method get_statistics (line 27) | def get_statistics(conn, _params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/status.ex class OMG.WatcherRPC.Web.Controller.Status (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Status method get_status (line 29) | def get_status(conn, _params) do FILE: apps/omg_watcher_rpc/lib/web/controllers/transaction.ex class OMG.WatcherRPC.Web.Controller.Transaction (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Transaction method get_transaction (line 32) | def get_transaction(conn, params) do method get_transactions (line 43) | def get_transactions(conn, params) do method submit (line 54) | def submit(conn, params) do method batch_submit (line 63) | def batch_submit(conn, params) do method submit_typed (line 72) | def submit_typed(conn, params) do method create (line 86) | def create(conn, params) do method merge (line 100) | def merge(conn, params) do method submit_tx_inf (line 110) | defp submit_tx_inf(txbytes, conn) do method submit_tx_sec (line 127) | defp submit_tx_sec(txbytes, conn) do method is_supported (line 137) | defp is_supported(%Transaction.Recovered{signed_tx: %Transaction.Signe... method is_supported (line 141) | defp is_supported(%Transaction.Recovered{}), do: :ok method to_transaction (line 143) | defp to_transaction(transaction) do FILE: apps/omg_watcher_rpc/lib/web/controllers/utxo.ex class OMG.WatcherRPC.Web.Controller.Utxo (line 15) | defmodule OMG.WatcherRPC.Web.Controller.Utxo method get_utxo_exit (line 26) | def get_utxo_exit(conn, params) do FILE: apps/omg_watcher_rpc/lib/web/endpoint.ex class OMG.WatcherRPC.Web.Endpoint (line 15) | defmodule OMG.WatcherRPC.Web.Endpoint FILE: apps/omg_watcher_rpc/lib/web/plugs/health.ex class OMG.WatcherRPC.Web.Plugs.Health (line 15) | defmodule OMG.WatcherRPC.Web.Plugs.Health method init (line 31) | def init(options), do: options method call (line 33) | def call(conn, _params) do FILE: apps/omg_watcher_rpc/lib/web/plugs/method_param_filter.ex class OMG.WatcherRPC.Web.Plugs.MethodParamFilter (line 15) | defmodule OMG.WatcherRPC.Web.Plugs.MethodParamFilter method init (line 29) | def init(args), do: args method call (line 31) | def call(%Plug.Conn{method: "POST", body_params: params} = conn, _) do method call (line 37) | def call(%Plug.Conn{method: "GET", query_params: params} = conn, _) do method call (line 43) | def call(conn, _), do: conn FILE: apps/omg_watcher_rpc/lib/web/plugs/supported_watcher_modes.ex class OMG.WatcherRPC.Web.Plugs.SupportedWatcherModes (line 15) | defmodule OMG.WatcherRPC.Web.Plugs.SupportedWatcherModes method init (line 25) | def init(supported_modes), do: supported_modes method call (line 28) | def call(conn, supported_modes) do FILE: apps/omg_watcher_rpc/lib/web/response.ex class OMG.WatcherRPC.Web.Response (line 15) | defmodule OMG.WatcherRPC.Web.Response method add_app_infos (line 29) | def add_app_infos(response) do FILE: apps/omg_watcher_rpc/lib/web/router.ex class OMG.WatcherRPC.Web.Router (line 15) | defmodule OMG.WatcherRPC.Web.Router FILE: apps/omg_watcher_rpc/lib/web/serializers/base.ex class OMG.WatcherRPC.Web.Serializer.Base (line 15) | defmodule OMG.WatcherRPC.Web.Serializer.Base method to_utxo (line 20) | def to_utxo(%{blknum: blknum, txindex: txindex, oindex: oindex} = db_e... FILE: apps/omg_watcher_rpc/lib/web/sockets/socket.ex class OMG.WatcherRPC.Web.Socket (line 15) | defmodule OMG.WatcherRPC.Web.Socket method connect (line 34) | def connect(_params, socket) do method id (line 48) | def id(_socket), do: nil FILE: apps/omg_watcher_rpc/lib/web/validators/account_constraints.ex class OMG.WatcherRPC.Web.Validator.AccountConstraints (line 15) | defmodule OMG.WatcherRPC.Web.Validator.AccountConstraints method parse (line 26) | def parse(params) do FILE: apps/omg_watcher_rpc/lib/web/validators/block_constraints.ex class OMG.WatcherRPC.Web.Validator.BlockConstraints (line 15) | defmodule OMG.WatcherRPC.Web.Validator.BlockConstraints method parse (line 29) | def parse(params) do method parse_to_validate (line 43) | def parse_to_validate(block) do method is_hex (line 50) | defp is_hex(original) do FILE: apps/omg_watcher_rpc/lib/web/validators/deposit_constraints.ex class OMG.WatcherRPC.Web.Validator.DepositConstraints (line 15) | defmodule OMG.WatcherRPC.Web.Validator.DepositConstraints method parse (line 26) | def parse(params) do FILE: apps/omg_watcher_rpc/lib/web/validators/helpers.ex class OMG.WatcherRPC.Web.Validator.Helpers (line 15) | defmodule OMG.WatcherRPC.Web.Validator.Helpers method validate_constraints (line 25) | def validate_constraints(params, constraints) do FILE: apps/omg_watcher_rpc/lib/web/validators/merge_constraints.ex class OMG.WatcherRPC.Web.Validator.MergeConstraints (line 15) | defmodule OMG.WatcherRPC.Web.Validator.MergeConstraints method parse (line 31) | def parse(params) do method get_constraints (line 38) | defp get_constraints(params) do method to_utxo_pos (line 51) | defp to_utxo_pos(utxo_pos_string) do FILE: apps/omg_watcher_rpc/lib/web/validators/order.ex class OMG.WatcherRPC.Web.Validator.Order (line 15) | defmodule OMG.WatcherRPC.Web.Validator.Order method parse (line 32) | def parse(params) do method ensure_not_self_transaction (line 57) | defp ensure_not_self_transaction(_, _), do: :ok method handle_self_tx_result (line 59) | defp handle_self_tx_result(true), do: :ok method handle_self_tx_result (line 60) | defp handle_self_tx_result(false), do: {:error, :self_transaction_not_... method fills_in_outputs? (line 62) | defp fills_in_outputs?(payments) do method parse_payment (line 68) | defp parse_payment(raw_payment) do FILE: apps/omg_watcher_rpc/lib/web/validators/transaction_constraints.ex class OMG.WatcherRPC.Web.Validator.TransactionConstraints (line 15) | defmodule OMG.WatcherRPC.Web.Validator.TransactionConstraints method parse (line 27) | def parse(params) do method to_tx_type (line 41) | defp to_tx_type(tx_type_str) do FILE: apps/omg_watcher_rpc/lib/web/validators/typed_data_signed.ex class OMG.WatcherRPC.Web.Validator.TypedDataSigned (line 15) | defmodule OMG.WatcherRPC.Web.Validator.TypedDataSigned method parse (line 31) | def parse(params) do method parse_transaction (line 41) | def parse_transaction(params) do method ensure_network_match (line 61) | def ensure_network_match(domain_from_params, network_domain \\ nil) do method to_signature (line 74) | defp to_signature(sig_str), do: expect(%{"signature" => sig_str}, "sig... method parse_input (line 77) | defp parse_input(input) do method parse_inputs (line 85) | defp parse_inputs(message) do method parse_output (line 96) | defp parse_output(output) do method parse_outputs (line 104) | defp parse_outputs(message) do method empty_input? (line 114) | defp empty_input?({:ok, {0, 0, 0}}), do: true method empty_input? (line 115) | defp empty_input?(_input), do: false method empty_output? (line 116) | defp empty_output?({:ok, {_owner, _currency, 0}}), do: true method empty_output? (line 117) | defp empty_output?(_output), do: false FILE: apps/omg_watcher_rpc/lib/web/views/account.ex class OMG.WatcherRPC.Web.View.Account (line 15) | defmodule OMG.WatcherRPC.Web.View.Account method render (line 28) | def render("balance.json", %{response: balance}) do method render (line 34) | def render("utxos.json", %{response: %Paginator{data: utxos, data_pagi... method render (line 41) | def render("exitable_utxos.json", %{response: utxos}) do FILE: apps/omg_watcher_rpc/lib/web/views/alarm.ex class OMG.WatcherRPC.Web.View.Alarm (line 15) | defmodule OMG.WatcherRPC.Web.View.Alarm method render (line 24) | def render("alarm.json", %{response: alarms}) do FILE: apps/omg_watcher_rpc/lib/web/views/block.ex class OMG.WatcherRPC.Web.View.Block (line 15) | defmodule OMG.WatcherRPC.Web.View.Block method render (line 26) | def render("block.json", %{response: block}) do method render (line 32) | def render("blocks.json", %{response: %Paginator{data: blocks, data_pa... method render (line 38) | def render("validate_block.json", %{response: block}) do FILE: apps/omg_watcher_rpc/lib/web/views/challenge.ex class OMG.WatcherRPC.Web.View.Challenge (line 15) | defmodule OMG.WatcherRPC.Web.View.Challenge method render (line 24) | def render("challenge.json", %{response: challenge}) do FILE: apps/omg_watcher_rpc/lib/web/views/configuration.ex class OMG.WatcherRPC.Web.View.Configuration (line 15) | defmodule OMG.WatcherRPC.Web.View.Configuration method render (line 24) | def render("configuration.json", %{response: configuration}) do method to_api_format (line 31) | defp to_api_format(%{contract_semver: contract_semver, network: networ... FILE: apps/omg_watcher_rpc/lib/web/views/deposit.ex class OMG.WatcherRPC.Web.View.Deposit (line 15) | defmodule OMG.WatcherRPC.Web.View.Deposit method render (line 26) | def render("deposits.json", %{response: %Paginator{data: ethevents, da... method render_ethevent (line 33) | defp render_ethevent(event) do method render_txoutputs (line 47) | defp render_txoutputs(outputs) do FILE: apps/omg_watcher_rpc/lib/web/views/error.ex class OMG.WatcherRPC.Web.Views.Error (line 15) | defmodule OMG.WatcherRPC.Web.Views.Error method render (line 29) | def render("400.json", _) do method render (line 38) | def render("415.json", _) do method render (line 47) | def render("500.json", %{reason: %{message: message}} = _conn) do method render (line 56) | def render("error.json", %{code: code, description: description, messa... method render (line 65) | def render("error.json", %{code: code, description: description}) do method template_not_found (line 73) | def template_not_found(_template, _assigns) do FILE: apps/omg_watcher_rpc/lib/web/views/fee.ex class OMG.WatcherRPC.Web.View.Fee (line 15) | defmodule OMG.WatcherRPC.Web.View.Fee method render (line 24) | def render("fees_all.json", %{response: fees}) do method parse_for_type (line 32) | defp parse_for_type({tx_type, fees}) do method parse_for_token (line 36) | defp parse_for_token(fee) do FILE: apps/omg_watcher_rpc/lib/web/views/in_flight_exit.ex class OMG.WatcherRPC.Web.View.InFlightExit (line 15) | defmodule OMG.WatcherRPC.Web.View.InFlightExit method render (line 26) | def render("in_flight_exit.json", %{response: in_flight_exit}) do method render (line 32) | def render("competitor.json", %{response: competitor}) do method render (line 40) | def render("prove_canonical.json", %{response: prove_canonical}) do method render (line 47) | def render("get_input_challenge_data.json", %{response: challenge_data... method render (line 54) | def render("get_output_challenge_data.json", %{response: challenge_dat... FILE: apps/omg_watcher_rpc/lib/web/views/stats.ex class OMG.WatcherRPC.Web.View.Stats (line 15) | defmodule OMG.WatcherRPC.Web.View.Stats method render (line 25) | def render("stats.json", %{response: stats}) do FILE: apps/omg_watcher_rpc/lib/web/views/status.ex class OMG.WatcherRPC.Web.View.Status (line 15) | defmodule OMG.WatcherRPC.Web.View.Status method render (line 24) | def render("status.json", %{response: status}) do method format_byzantine_events (line 31) | defp format_byzantine_events(%{byzantine_events: byzantine_events, ser... method format_byzantine_event (line 38) | defp format_byzantine_event(%{name: name} = event) do method format_synced_height (line 42) | defp format_synced_height({name, height}) do FILE: apps/omg_watcher_rpc/lib/web/views/transaction.ex class OMG.WatcherRPC.Web.View.Transaction (line 15) | defmodule OMG.WatcherRPC.Web.View.Transaction method render (line 26) | def render("transaction.json", %{response: transaction}) do method render (line 33) | def render("transactions.json", %{response: %Paginator{data: transacti... method render (line 40) | def render("submission.json", %{response: transaction}) do method render (line 46) | def render("batch_submission.json", %{response: transactions}) do method render (line 52) | def render("merge.json", %{response: advice}) do method render (line 56) | def render("create.json", %{response: advice}) do method render_transactions (line 60) | defp render_transactions(advice) do method render_transaction (line 72) | defp render_transaction(transaction) do method render_txoutputs (line 79) | defp render_txoutputs(inputs) do method skip_hex_encoding (line 84) | defp skip_hex_encoding(%{typed_data: typed_data} = tx) do FILE: apps/omg_watcher_rpc/lib/web/views/utxo.ex class OMG.WatcherRPC.Web.View.Utxo (line 15) | defmodule OMG.WatcherRPC.Web.View.Utxo method render (line 24) | def render("utxo_exit.json", %{response: utxo_exit}) do FILE: apps/omg_watcher_rpc/mix.exs class OMG.WatcherRPC.Mixfile (line 1) | defmodule OMG.WatcherRPC.Mixfile method project (line 4) | def project() do method application (line 21) | def application() do method version (line 28) | defp version() do method elixirc_paths (line 37) | defp elixirc_paths(:prod), do: ["lib"] method elixirc_paths (line 38) | defp elixirc_paths(:dev), do: ["lib"] method elixirc_paths (line 39) | defp elixirc_paths(:test), do: ["lib", "test/support"] method deps (line 41) | defp deps() do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/release_tasks/set_endpoint_test.exs class OMG.WatcherRPC.ReleaseTasks.SetEndpointTest (line 15) | defmodule OMG.WatcherRPC.ReleaseTasks.SetEndpointTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/release_tasks/set_tracer_test.exs class OMG.WatcherRPC.ReleaseTasks.SetTracerTest (line 15) | defmodule OMG.WatcherRPC.ReleaseTasks.SetTracerTest class System (line 61) | defmodule System method start_link (line 62) | def start_link(args), do: GenServer.start_link(__MODULE__, args, []) method get_env (line 63) | def get_env(key), do: __MODULE__ |> Process.get() |> GenServer.call({:... method put_env (line 64) | def put_env(key, value), do: __MODULE__ |> Process.get() |> GenServer.... method init (line 65) | def init(_), do: {:ok, %{}} method handle_call (line 67) | def handle_call({:get_env, key}, _, state) do method handle_call (line 71) | def handle_call({:put_env, key, value}, _, state) do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/tracer_test.exs class OMG.WatcherRPC.TracerTest (line 15) | defmodule OMG.WatcherRPC.TracerTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/conn_case.ex class OMG.WatcherRPC.Web.ConnCase (line 15) | defmodule OMG.WatcherRPC.Web.ConnCase FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/account_test.exs class OMG.WatcherRPC.Web.Controller.AccountTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.AccountTest method body_for (line 63) | defp body_for(%{addr: address}) do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/alarm_test.exs class OMG.WatcherRPC.Web.Controller.AlarmTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.AlarmTest method get (line 56) | defp get(path) do method rpc_call_get (line 64) | defp rpc_call_get(path, expected_resp_status) do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/block_test.exs class OMG.WatcherRPC.Web.Controller.BlockTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.BlockTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/challenge_test.exs class OMG.WatcherRPC.Web.Controller.ChallengeTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.ChallengeTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/deposit_test.exs class OMG.WatcherRPC.Web.Controller.DepositTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.DepositTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/enforce_content_plug_test.exs class OMG.WatcherRPC.Web.Controller.EnforceContentPlugTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.EnforceContentPlugTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/fallback_test.exs class OMG.WatcherRPC.Web.Controller.FallbackTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.FallbackTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/fee_test.exs class OMG.WatcherRPC.Web.Controller.FeeTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.FeeTest method prepare_test_server (line 124) | defp prepare_test_server(context, response) do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/in_flight_exit_test.exs class OMG.WatcherRPC.Web.Controller.InFlightExitTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.InFlightExitTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/stats_test.exs class OMG.WatcherRPC.Web.Controller.StatsTet (line 15) | defmodule OMG.WatcherRPC.Web.Controller.StatsTet FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/status_test.exs class OMG.WatcherRPC.Web.Controller.StatusTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.StatusTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/transaction_test.exs class OMG.WatcherRPC.Web.Controller.TransactionTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.TransactionTest method encoded_position_from_insert (line 2106) | defp encoded_position_from_insert(%{oindex: oindex, txindex: txindex, ... method get_block (line 2110) | defp get_block(blknum), do: DB.Repo.get(DB.Block, blknum) method from_hex! (line 2112) | defp from_hex!(hex) do method to_hex_or_nil (line 2117) | defp to_hex_or_nil(hash) do method transaction_all_with_paging (line 2124) | defp transaction_all_with_paging(body) do method transaction_all_result (line 2134) | defp transaction_all_result(body \\ nil) do method balance_in_token (line 2142) | defp balance_in_token(address, token) do method prepare_test_server (line 2166) | defp prepare_test_server(context, response) do method max_amount_spendable_in_single_tx (line 2172) | defp max_amount_spendable_in_single_tx(address, token) do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/controllers/utxo_test.exs class OMG.WatcherRPC.Web.Controller.UtxoTest (line 15) | defmodule OMG.WatcherRPC.Web.Controller.UtxoTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/data_case.ex class OMG.WatcherRPC.DataCase (line 15) | defmodule OMG.WatcherRPC.DataCase method errors_on (line 62) | def errors_on(changeset) do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/plugs/method_param_filter_test.exs class OMG.WatcherRPC.Web.Plugs.MethodParamFilterTest (line 15) | defmodule OMG.WatcherRPC.Web.Plugs.MethodParamFilterTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/plugs/supported_watcher_modes_test.exs class OMG.WatcherRPC.Web.Plugs.SupportedWatcherModesTest (line 15) | defmodule OMG.WatcherRPC.Web.Plugs.SupportedWatcherModesTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/response_test.exs class OMG.WatcherRPC.Web.ResponseTest (line 15) | defmodule OMG.WatcherRPC.Web.ResponseTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/router_test.exs class OMG.WatcherRPC.Web.RouterTest (line 15) | defmodule OMG.WatcherRPC.Web.RouterTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/validators/account_contraints_test.exs class OMG.WatcherRPC.Web.Validator.AccountConstraintsTest (line 15) | defmodule OMG.WatcherRPC.Web.Validator.AccountConstraintsTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/validators/block_constraints_test.exs class OMG.WatcherRPC.Web.Validator.BlockConstraintsTest (line 15) | defmodule OMG.WatcherRPC.Web.Validator.BlockConstraintsTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/validators/merge_constraints_test.exs class OMG.WatcherRPC.Web.Validator.MergeConstraintsTest (line 15) | defmodule OMG.WatcherRPC.Web.Validator.MergeConstraintsTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/validators/transaction_constraints_test.exs class OMG.WatcherRPC.Web.Validator.TransactionConstraintsTest (line 15) | defmodule OMG.WatcherRPC.Web.Validator.TransactionConstraintsTest FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/validators/typed_data_signed_test.exs class OMG.WatcherRPC.Web.Validators.TypedDataSignedTest (line 15) | defmodule OMG.WatcherRPC.Web.Validators.TypedDataSignedTest method get_message (line 41) | defp get_message() do method get_domain (line 58) | defp get_domain(network) do FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/view_case.ex class OMG.WatcherRPC.ViewCase (line 15) | defmodule OMG.WatcherRPC.ViewCase FILE: apps/omg_watcher_rpc/test/omg_watcher_rpc/web/views/transaction_test.exs class OMG.WatcherRPC.Web.View.TransactionTest (line 15) | defmodule OMG.WatcherRPC.Web.View.TransactionTest method utxos_match_all? (line 73) | defp utxos_match_all?(renders, originals) do FILE: apps/xomg_tasks/lib/mix/tasks/watcher.ex class Mix.Tasks.Xomg.Watcher.Start (line 15) | defmodule Mix.Tasks.Xomg.Watcher.Start method run (line 27) | def run(args) do FILE: apps/xomg_tasks/lib/mix/tasks/watcher_info.ex class Mix.Tasks.Xomg.WatcherInfo.Start (line 15) | defmodule Mix.Tasks.Xomg.WatcherInfo.Start method run (line 27) | def run(args) do FILE: apps/xomg_tasks/lib/utils.ex class XomgTasks.Utils (line 15) | defmodule XomgTasks.Utils method generic_prepare_args (line 35) | def generic_prepare_args(args) do method config_db (line 41) | def config_db(args, arg) do method config_logger_level (line 47) | def config_logger_level(args, arg) do method iex_running? (line 53) | defp iex_running?() do method ensure_contains (line 57) | defp ensure_contains(args, arg) do method ensure_doesnt_contain (line 65) | defp ensure_doesnt_contain(args, arg) do FILE: apps/xomg_tasks/mix.exs class OMG.XomgTasks.MixProject (line 1) | defmodule OMG.XomgTasks.MixProject method project (line 9) | def project() do method application (line 23) | def application() do method version (line 27) | defp version() do FILE: config/credo/license_header.ex class Credo.Check.Warning.LicenseHeader (line 1) | defmodule Credo.Check.Warning.LicenseHeader method run (line 16) | def run(%SourceFile{filename: source_path} = source_file, params \\ []... method do_run (line 28) | defp do_run(source_file, params) do method issue_for (line 45) | defp issue_for(issue_meta, line_no, trigger) do FILE: config/credo/require_parentheses_on_zero_arity_defs.ex class Credo.Check.Readability.RequireParenthesesOnZeroArityDefs (line 1) | defmodule Credo.Check.Readability.RequireParenthesesOnZeroArityDefs method run (line 31) | def run(source_file, params \\ []) do method traverse (line 50) | defp traverse(ast, issues, _issue_meta) do method issues_for_definition (line 55) | defp issues_for_definition({{:unquote, _, _}, _, _}, issues, _) do method issues_for_definition (line 63) | defp issues_for_definition({name, meta, _}, issues, issue_meta) do method remaining_line_after (line 73) | defp remaining_line_after(issue_meta, line_no, text) do method issue_for (line 82) | defp issue_for(issue_meta, line_no) do method column (line 92) | defp column(source_file, line_no, trigger) method column (line 108) | defp column(_, _, _), do: nil FILE: mix.exs class OMG.Umbrella.MixProject (line 1) | defmodule OMG.Umbrella.MixProject method project (line 4) | def project() do method test_paths (line 98) | defp test_paths() do method deps (line 102) | defp deps() do method aliases (line 120) | defp aliases() do method dialyzer (line 133) | defp dialyzer() do method plt_apps (line 143) | defp plt_apps() do method docker (line 161) | defp docker(), do: if(System.get_env("DOCKER"), do: "_docker", else: "") method current_version (line 163) | defp current_version() do method steps (line 170) | defp steps() do FILE: priv/perf/apps/load_test/lib/application.ex class LoadTest.Application (line 1) | defmodule LoadTest.Application method start (line 12) | def start(_type, _args) do method start_hackney_pool (line 22) | defp start_hackney_pool() do method stop (line 35) | def stop(_app) do method fetch_faucet_config (line 39) | defp fetch_faucet_config() do FILE: priv/perf/apps/load_test/lib/child_chain/abi.ex class LoadTest.ChildChain.Abi (line 15) | defmodule LoadTest.ChildChain.Abi method decode_function (line 24) | def decode_function(enriched_data, signature) do method decode_function (line 30) | def decode_function(enriched_data) do method decode_log (line 42) | def decode_log(log) do method common_parse_event (line 74) | def common_parse_event( method decode_function_call_result (line 95) | defp decode_function_call_result(%{function: "startExit"} = function_s... method decode_function_call_result (line 102) | defp decode_function_call_result(function_spec, values) do FILE: priv/perf/apps/load_test/lib/child_chain/abi/abi_event_selector.ex class LoadTest.ChildChain.Abi.AbiEventSelector (line 15) | defmodule LoadTest.ChildChain.Abi.AbiEventSelector method deposit_created (line 23) | def deposit_created() do FILE: priv/perf/apps/load_test/lib/child_chain/abi/abi_function_selector.ex class LoadTest.ChildChain.Abi.AbiFunctionSelector (line 15) | defmodule LoadTest.ChildChain.Abi.AbiFunctionSelector method blocks (line 21) | def blocks() do FILE: priv/perf/apps/load_test/lib/child_chain/abi/fields.ex class LoadTest.ChildChain.Abi.Fields (line 15) | defmodule LoadTest.ChildChain.Abi.Fields method rename (line 21) | def rename(data, %ABI.FunctionSelector{function: "DepositCreated"}) do method reduce_naming (line 29) | defp reduce_naming(data, contracts_naming) do FILE: priv/perf/apps/load_test/lib/child_chain/deposit.ex class LoadTest.ChildChain.Deposit (line 15) | defmodule LoadTest.ChildChain.Deposit method deposit_from (line 49) | def deposit_from(depositor, amount, currency, deposit_finality_margin,... method send_deposit (line 63) | defp send_deposit(deposit, account, value, @eth, gas_price) do method send_deposit (line 68) | defp send_deposit(deposit, account, value, erc20_contract, gas_price) do method do_deposit (line 79) | defp do_deposit(vault_address, deposit, account, value, gas_price) do method wait_deposit_finality (line 101) | defp wait_deposit_finality(deposit_eth_blknum, finality_margin) do method approve (line 114) | defp approve(contract, vault_address, account, value, gas_price) do FILE: priv/perf/apps/load_test/lib/child_chain/exit.ex class LoadTest.ChildChain.Exit (line 15) | defmodule LoadTest.ChildChain.Exit method get_exit_data (line 39) | def get_exit_data(%Utxo{} = utxo), do: get_exit_data(Utxo.pos(utxo)) method get_exit_data (line 42) | def get_exit_data(utxo_pos) do method wait_for_exit_data (line 66) | def wait_for_exit_data(utxo_pos, timeout \\ 100_000) do method start_exit (line 84) | def start_exit(exit_data, from, gas_price) do method add_exit_queue (line 109) | def add_exit_queue(vault_id, token, from, gas_price) do method wait_for_exit_queue (line 135) | defp wait_for_exit_queue(vault_id, token, timeout \\ 100_000) do method has_exit_queue? (line 145) | defp has_exit_queue?(vault_id, token) do method challenge_exit (line 165) | def challenge_exit(exit_id, exiting_tx, challenge_tx, input_index, cha... method tx_defaults (line 178) | def tx_defaults() do method contract_address_payment_exit_game (line 182) | defp contract_address_payment_exit_game() do FILE: priv/perf/apps/load_test/lib/child_chain/transaction.ex class LoadTest.ChildChain.Transaction (line 14) | defmodule LoadTest.ChildChain.Transaction method spend_utxo (line 52) | def spend_utxo(utxo, amount, fee, signer, receiver, currency, retries ... method spend_utxo (line 60) | def spend_utxo(utxo, amount, fee, signer, receiver, currency, timeout) do method tx_defaults (line 64) | def tx_defaults() do method submit_tx (line 81) | def submit_tx(inputs, outputs, signers, retries \\ 120_000) do method recover (line 101) | def recover(encoded_signed_tx) do method reconstruct (line 111) | defp reconstruct([raw_witnesses | typed_tx_rlp_decoded_chunks]) do method do_spend (line 123) | defp do_spend(input, output, 0, _currency, signer, retries) do method do_spend (line 127) | defp do_spend(input, output, change_amount, currency, signer, retries) do method valid_witness? (line 133) | defp valid_witness?(_), do: false method reconstruct_transaction (line 149) | defp reconstruct_transaction([tx_type, outputs_rlp, nonce_rlp]) do method reconstruct_nonce (line 158) | defp reconstruct_nonce(_), do: {:error, :malformed_nonce} method validate_metadata (line 161) | defp validate_metadata(_), do: {:error, :malformed_metadata} method parse_inputs (line 163) | defp parse_inputs(inputs_rlp) do method parse_input! (line 173) | defp parse_input!(encoded) do method do_decode_position (line 183) | defp do_decode_position(encoded) do method parse_outputs (line 187) | defp parse_outputs(outputs_rlp) do method parse_output! (line 197) | defp parse_output!(rlp_data) do method parse_uint256 (line 203) | defp parse_uint256(<<0>> <> _binary), do: {:error, :leading_zeros_in_e... method parse_uint256 (line 206) | defp parse_uint256(_), do: {:error, :malformed_uint256} method try_submit_tx (line 208) | defp try_submit_tx(tx, timeout) do method do_submit_tx (line 215) | defp do_submit_tx(tx) do method submit_request (line 224) | defp submit_request(tx) do method do_submit_tx_rpc (line 248) | defp do_submit_tx_rpc(encoded_tx) do FILE: priv/perf/apps/load_test/lib/child_chain/utxos.ex class LoadTest.ChildChain.Utxos (line 15) | defmodule LoadTest.ChildChain.Utxos method get_utxos (line 30) | def get_utxos(address) do method get_largest_utxo (line 61) | def get_largest_utxo([], _currency), do: nil method get_largest_utxo (line 63) | def get_largest_utxo(utxos, currency) do method merge (line 74) | def merge(utxos, currency, faucet_account) do method merge (line 81) | defp merge([], _faucet_account), do: :error_empty_utxo_list method merge (line 82) | defp merge([single_utxo], _faucet_account), do: single_utxo method merge (line 91) | defp merge([%{currency: currency} | _] = inputs, faucet_account) do method wait_for_utxo (line 109) | def wait_for_utxo(address, utxo, timeout \\ 100_000) do method find_utxo (line 117) | defp find_utxo(address, utxo) do FILE: priv/perf/apps/load_test/lib/child_chain/watcher_sync.ex class LoadTest.ChildChain.WatcherSync (line 15) | defmodule LoadTest.ChildChain.WatcherSync method watcher_synchronize (line 32) | def watcher_synchronize(opts \\ []) do method watcher_synchronized? (line 54) | defp watcher_synchronized?(root_chain_height, service) do method root_chain_synced? (line 68) | defp root_chain_synced?(nil, _, _), do: true method root_chain_synced? (line 70) | defp root_chain_synced?(root_chain_height, status, nil) do method root_chain_synced? (line 82) | defp root_chain_synced?(root_chain_height, status, service) do method watcher_synchronized_to_mined_block? (line 100) | defp watcher_synchronized_to_mined_block?(_params) do FILE: priv/perf/apps/load_test/lib/connection/child_chain.ex class LoadTest.Connection.ChildChain (line 14) | defmodule LoadTest.Connection.ChildChain method client (line 21) | def client() do FILE: priv/perf/apps/load_test/lib/connection/connection_defaults.ex class LoadTest.Connection.ConnectionDefaults (line 14) | defmodule LoadTest.Connection.ConnectionDefaults method middleware (line 22) | def middleware() do method pool_name (line 35) | def pool_name(), do: :perf_pool method retry? (line 40) | defp retry?() do FILE: priv/perf/apps/load_test/lib/connection/watcher_info.ex class LoadTest.Connection.WatcherInfo (line 14) | defmodule LoadTest.Connection.WatcherInfo method client (line 21) | def client() do FILE: priv/perf/apps/load_test/lib/connection/watcher_security.ex class LoadTest.Connection.WatcherSecurity (line 14) | defmodule LoadTest.Connection.WatcherSecurity method client (line 21) | def client() do FILE: priv/perf/apps/load_test/lib/ethereum/account.ex class LoadTest.Ethereum.Account (line 15) | defmodule LoadTest.Ethereum.Account method new (line 47) | def new(private_key_hex) do method new (line 54) | def new() do method compute_public_key (line 59) | defp compute_public_key(private_key) do method compute_address (line 63) | defp compute_address(<>) do method der_to_raw (line 68) | defp der_to_raw(<<4::integer-size(8), data::binary>>), do: data FILE: priv/perf/apps/load_test/lib/ethereum/bit_helper.ex class LoadTest.Ethereum.BitHelper (line 15) | defmodule LoadTest.Ethereum.BitHelper method kec (line 29) | def kec(data) do method encode_unsigned (line 40) | def encode_unsigned(0), do: <<>> method encode_unsigned (line 41) | def encode_unsigned(n), do: :binary.encode_unsigned(n) FILE: priv/perf/apps/load_test/lib/ethereum/crypto.ex class LoadTest.Ethereum.Crypto (line 1) | defmodule LoadTest.Ethereum.Crypto method hash (line 14) | def hash(message), do: elem(ExKeccak.hash_256(message), 1) method generate_private_key (line 20) | def generate_private_key, do: {:ok, :crypto.strong_rand_bytes(32)} FILE: priv/perf/apps/load_test/lib/ethereum/ethereum.ex class LoadTest.Ethereum (line 15) | defmodule LoadTest.Ethereum method contract_transact (line 40) | def contract_transact(from, to, signature, args, opts \\ []) do method get_gas_used (line 55) | def get_gas_used(receipt_hash) do method transact_sync (line 71) | def transact_sync(txhash, timeout \\ @about_4_blocks_time) do method block_hash (line 76) | def block_hash(mined_num) do method send_raw_transaction (line 85) | def send_raw_transaction(txmap, sender) do method get_next_nonce_for_account (line 103) | def get_next_nonce_for_account("0x" <> _ = address) do method wait_for_root_chain_block (line 108) | def wait_for_root_chain_block(awaited_eth_height, timeout \\ 600_000) do method fetch_balance (line 126) | def fetch_balance(address, <<0::160>>) do method fetch_balance (line 142) | def fetch_balance(address, currency) do method eth_account_get_balance (line 152) | defp eth_account_get_balance(address) do method do_root_chain_get_erc20_balance (line 156) | defp do_root_chain_get_erc20_balance(address, currency) do method get_external_data (line 178) | defp get_external_data(address, signature, params) do method eth_receipt (line 186) | defp eth_receipt(txhash, timeout) do method encode_tx_data (line 199) | defp encode_tx_data(signature, args) do method encode_all_integer_opts (line 205) | defp encode_all_integer_opts(opts) do FILE: priv/perf/apps/load_test/lib/ethereum/hash.ex class LoadTest.Ethereum.Hash (line 15) | defmodule LoadTest.Ethereum.Hash method transaction_hash (line 58) | def transaction_hash(trx, chain_id \\ nil) do method sign_hash (line 92) | def sign_hash(hash, private_key, chain_id \\ nil) do method pack_signature (line 110) | def pack_signature({v, r, s}) do FILE: priv/perf/apps/load_test/lib/ethereum/nonce_tracker.ex class LoadTest.Ethereum.NonceTracker (line 15) | defmodule LoadTest.Ethereum.NonceTracker method init (line 22) | def init() do method get_next_nonce (line 26) | def get_next_nonce(address) do FILE: priv/perf/apps/load_test/lib/ethereum/transaction/signature.ex class LoadTest.Ethereum.Transaction.Signature (line 15) | defmodule LoadTest.Ethereum.Transaction.Signature method sign_transaction (line 41) | def sign_transaction(trx, private_key, chain_id \\ nil) do FILE: priv/perf/apps/load_test/lib/ethereum/transaction/transaction.ex class LoadTest.Ethereum.Transaction (line 15) | defmodule LoadTest.Ethereum.Transaction method serialize (line 78) | def serialize(trx, include_vrs \\ true) do FILE: priv/perf/apps/load_test/lib/performance.ex class LoadTest.Performance (line 15) | defmodule LoadTest.Performance FILE: priv/perf/apps/load_test/lib/runner/childchain.ex class LoadTest.Runner.ChildChainTransactions (line 15) | defmodule LoadTest.Runner.ChildChainTransactions method default_config (line 41) | def default_config() do method scenarios (line 45) | def scenarios() do FILE: priv/perf/apps/load_test/lib/runner/deposits.ex class LoadTest.Runner.Deposits (line 15) | defmodule LoadTest.Runner.Deposits method scenarios (line 21) | def scenarios do FILE: priv/perf/apps/load_test/lib/runner/smoke.ex class LoadTest.Runner.Smoke (line 15) | defmodule LoadTest.Runner.Smoke method scenarios (line 24) | def scenarios do FILE: priv/perf/apps/load_test/lib/runner/standard_exits.ex class LoadTest.Runner.StandardExits (line 15) | defmodule LoadTest.Runner.StandardExits method default_config (line 39) | def default_config() do method scenarios (line 43) | def scenarios() do FILE: priv/perf/apps/load_test/lib/runner/transactions.ex class LoadTest.Runner.Transactions (line 15) | defmodule LoadTest.Runner.Transactions method scenarios (line 21) | def scenarios do FILE: priv/perf/apps/load_test/lib/runner/utxos_load.ex class LoadTest.Runner.UtxosLoad (line 15) | defmodule LoadTest.Runner.UtxosLoad method default_config (line 37) | def default_config() do method scenarios (line 47) | def scenarios() do FILE: priv/perf/apps/load_test/lib/runner/watcher_info.ex class LoadTest.Runner.WatcherInfoAccountApi (line 15) | defmodule LoadTest.Runner.WatcherInfoAccountApi method default_config (line 36) | def default_config() do method scenarios (line 40) | def scenarios() do FILE: priv/perf/apps/load_test/lib/scenario/account_transactions.ex class LoadTest.Scenario.AccountTransactions (line 15) | defmodule LoadTest.Scenario.AccountTransactions method init (line 39) | def init(session) do method run (line 45) | def run(session) do method repeat_task (line 63) | def repeat_task(session, sender) do method test_apis (line 75) | def test_apis(session, sender) do method wait_for_balance_update (line 83) | defp wait_for_balance_update(session, sender, retry \\ @default_retry_... method measure (line 88) | defp measure(session, sender, api_call, metric_name) do method measure_get_balance (line 99) | defp measure_get_balance(session, sender) do method measure_get_utxos (line 103) | defp measure_get_utxos(session, sender) do method measure_get_transactions (line 107) | defp measure_get_transactions(session, sender) do method measure_create_and_submit_transactions (line 111) | defp measure_create_and_submit_transactions(session, sender) do method create_transaction (line 141) | defp create_transaction(session, sender) do method get_balance (line 175) | defp get_balance(sender) do method get_utxos (line 187) | defp get_utxos(sender) do method get_transactions (line 199) | defp get_transactions(_sender) do method sign_tx (line 213) | defp sign_tx(inputs, sign_hash, typed_data, sender) do method do_wait_for_balance_update (line 225) | defp do_wait_for_balance_update(_session, _sender, 0), do: :wait_for_b... method do_wait_for_balance_update (line 227) | defp do_wait_for_balance_update(session, sender, retry) do method wait_until_tx_sync_to_watcher (line 242) | defp wait_until_tx_sync_to_watcher(session, tx_id) do method do_wait_until_tx_sync_to_watcher (line 247) | defp do_wait_until_tx_sync_to_watcher(_session, _tx_id, 0), do: :wait_... method do_wait_until_tx_sync_to_watcher (line 249) | defp do_wait_until_tx_sync_to_watcher(session, tx_id, retry) do FILE: priv/perf/apps/load_test/lib/scenario/create_utxos.ex class LoadTest.Scenario.CreateUtxos (line 15) | defmodule LoadTest.Scenario.CreateUtxos method run (line 32) | def run(session) do method submit_transaction (line 59) | def submit_transaction(session, sender) do method create_transaction (line 73) | defp create_transaction(sender, input, currency, fee_amount) do method get_amount_per_created_utxo (line 83) | defp get_amount_per_created_utxo(fee_amount), do: fee_amount + 2 FILE: priv/perf/apps/load_test/lib/scenario/deposits.ex class LoadTest.Scenario.Deposits (line 15) | defmodule LoadTest.Scenario.Deposits method run (line 40) | def run(session) do method create_deposit_and_make_assertions (line 56) | def create_deposit_and_make_assertions(session) do method do_create_deposit_and_make_assertions (line 68) | defp do_create_deposit_and_make_assertions(session) do method create_accounts (line 78) | defp create_accounts(session) do method create_deposit (line 88) | defp create_deposit(from_address, session) do method send_value_to_receiver (line 115) | defp send_value_to_receiver(from_address, to_address, session) do method send_amount_on_childchain (line 131) | defp send_amount_on_childchain(from, to, token, amount) do method fetch_childchain_balance (line 143) | defp fetch_childchain_balance(account, amount: amount, token: token, e... method fetch_rootchain_balance (line 152) | defp fetch_rootchain_balance(account, amount: amount, token: token, er... FILE: priv/perf/apps/load_test/lib/scenario/fund_account.ex class LoadTest.Scenario.FundAccount (line 15) | defmodule LoadTest.Scenario.FundAccount method run (line 31) | def run(session) do FILE: priv/perf/apps/load_test/lib/scenario/many_standard_exits.ex class LoadTest.Scenario.ManyStandardExits (line 15) | defmodule LoadTest.Scenario.ManyStandardExits method run (line 33) | def run(session) do method exit_utxo (line 70) | def exit_utxo(session, utxo, exiter) do FILE: priv/perf/apps/load_test/lib/scenario/smoke.ex class LoadTest.Scenario.Smoke (line 15) | defmodule LoadTest.Scenario.Smoke method run (line 21) | def run(session) do method check_child_chain_up (line 31) | defp check_child_chain_up() do method check_watcher_security_up (line 45) | defp check_watcher_security_up() do method check_watcher_info_up (line 58) | defp check_watcher_info_up() do FILE: priv/perf/apps/load_test/lib/scenario/spend_eth_utxo.ex class LoadTest.Scenario.SpendEthUtxo (line 15) | defmodule LoadTest.Scenario.SpendEthUtxo method run (line 37) | def run(session) do method submit_transaction (line 55) | def submit_transaction(session, nil, fee_amount, sender, receiver, cur... method submit_transaction (line 61) | def submit_transaction(session, amount, fee_amount, sender, receiver, ... FILE: priv/perf/apps/load_test/lib/scenario/start_standard_exit.ex class LoadTest.Scenario.StartStandardExit (line 15) | defmodule LoadTest.Scenario.StartStandardExit method run (line 29) | def run(session) do FILE: priv/perf/apps/load_test/lib/scenario/transactions.ex class LoadTest.Scenario.Transactions (line 15) | defmodule LoadTest.Scenario.Transactions method run (line 38) | def run(session) do method create_utxos_and_make_assertions (line 54) | def create_utxos_and_make_assertions(session) do method do_create_utxos_and_make_assertions (line 66) | defp do_create_utxos_and_make_assertions(session) do method create_accounts (line 76) | defp create_accounts() do method fund_account (line 83) | defp fund_account(session, account) do method validate_utxos (line 99) | defp validate_utxos(account, utxo) do method fund_childchain_account (line 112) | defp fund_childchain_account(address, amount, token) do method spend_utxo (line 119) | defp spend_utxo(session, utxo, sender, receiver) do method fetch_childchain_balance (line 140) | defp fetch_childchain_balance(account, amount: amount, token: token, e... FILE: priv/perf/apps/load_test/lib/scenario/watcher_status.ex class LoadTest.Scenario.WatcherStatus (line 15) | defmodule LoadTest.Scenario.WatcherStatus method run (line 23) | def run(session) do FILE: priv/perf/apps/load_test/lib/service/datadog.ex class LoadTest.Service.Datadog (line 15) | defmodule LoadTest.Service.Datadog method start_link (line 30) | def start_link(_params), do: GenServer.start_link(__MODULE__, [], []) method init (line 32) | def init(_opts) do method handle_info (line 43) | def handle_info({:EXIT, port, reason}, %Statix.Conn{sock: __MODULE__} ... FILE: priv/perf/apps/load_test/lib/service/datadog/api.ex class LoadTest.Service.Datadog.API (line 15) | defmodule LoadTest.Service.Datadog.API method assert_metrics (line 32) | def assert_metrics(environment, start_datetime, end_datetime) do method do_assert_metrics (line 39) | defp do_assert_metrics(environment, start_unix, end_unix, poll_count \... method do_assert_metrics (line 41) | defp do_assert_metrics(_environment, _start_unix, _end_unix, 0), do: :ok method do_assert_metrics (line 43) | defp do_assert_metrics(environment, start_unix, end_unix, poll_count) do method fetch_events (line 61) | defp fetch_events(start_time, end_time, environment, retries \\ 5) method fetch_events (line 63) | defp fetch_events(start_time, end_time, environment, 0) do method fetch_events (line 69) | defp fetch_events(start_time, end_time, environment, retries) do method parse_events (line 98) | defp parse_events(events_response, environment) do method resolve_monitors (line 115) | defp resolve_monitors(events) do method do_resolve_monitors (line 126) | defp do_resolve_monitors(params, retries \\ 5) method do_resolve_monitors (line 128) | defp do_resolve_monitors([], _), do: :ok method do_resolve_monitors (line 130) | defp do_resolve_monitors(params, 0) do method do_resolve_monitors (line 136) | defp do_resolve_monitors(params, retries) do method find_monitor_id (line 161) | defp find_monitor_id(text) do method headers (line 168) | defp headers() do method api_key (line 176) | defp api_key() do method app_key (line 180) | defp app_key() do method api_url (line 184) | defp api_url() do method datadog_config (line 188) | defp datadog_config() do FILE: priv/perf/apps/load_test/lib/service/datadog/dummy_statix.ex class LoadTest.Service.Datadog.DummyStatix (line 15) | defmodule LoadTest.Service.Datadog.DummyStatix FILE: priv/perf/apps/load_test/lib/service/faucet.ex class LoadTest.Service.Faucet (line 15) | defmodule LoadTest.Service.Faucet method fund_root_chain_account (line 62) | def fund_root_chain_account(receiver, amount) do method fund_child_chain_account (line 75) | def fund_child_chain_account(receiver, amount, currency) do method get_faucet (line 83) | def get_faucet() do method merge_utxos (line 97) | def merge_utxos(currency), do: merge_utxos(Encoding.to_binary(currency)) method start_link (line 99) | def start_link(config) do method init (line 103) | def init(config) do method handle_call (line 120) | def handle_call(:get_faucet, _from, state) do method handle_call (line 124) | def handle_call({:fund_child_chain, receiver, amount, currency}, _from... method handle_call (line 151) | def handle_call({:fund_root_chain, receiver, amount}, _from, state) do method handle_call (line 167) | def handle_call({:merge_utxos, currency}, _from, state) do method get_funding_utxo (line 175) | defp get_funding_utxo(state, currency, amount) do method choose_largest_utxo (line 191) | defp choose_largest_utxo(nil, account, currency) do method choose_largest_utxo (line 197) | defp choose_largest_utxo(utxo, _account, _currency), do: utxo method deposit (line 200) | defp deposit(faucet_account, amount, currency, deposit_finality_margin... FILE: priv/perf/apps/load_test/lib/service/metrics.ex class LoadTest.Service.Metrics (line 15) | defmodule LoadTest.Service.Metrics method run_with_metrics (line 23) | def run_with_metrics(func, property) do method assert_metrics (line 30) | def assert_metrics(start_datetime, end_datetime) do method do_run_with_metrics (line 36) | defp do_run_with_metrics(func, property) do method record_success (line 51) | defp record_success(property, time) do method record_failure (line 55) | defp record_failure(property, time) do method record_datadog (line 59) | defp record_datadog(property, time, postfix) do method increment_counter (line 69) | defp increment_counter(property) do method tags (line 73) | defp tags() do FILE: priv/perf/apps/load_test/lib/service/sleeper.ex class LoadTest.Service.Sleeper (line 15) | defmodule LoadTest.Service.Sleeper method sleep (line 23) | def sleep(message) do method retry_sleep (line 28) | defp retry_sleep() do FILE: priv/perf/apps/load_test/lib/service/sync.ex class LoadTest.Service.Sync (line 15) | defmodule LoadTest.Service.Sync method repeat_until_success (line 30) | def repeat_until_success(f, timeout, message) do method do_repeat_until_success (line 36) | defp do_repeat_until_success(f, message) do method repeat (line 52) | defp repeat(f, message, result) do FILE: priv/perf/apps/load_test/lib/test_runner.ex class LoadTest.TestRunner (line 15) | defmodule LoadTest.TestRunner method run (line 39) | def run() do method run_test (line 47) | defp run_test(runner_module, config) do method make_assertions (line 67) | defp make_assertions(start_time, end_time) do method maybe_add_custom_tag (line 79) | defp maybe_add_custom_tag(start_date) do FILE: priv/perf/apps/load_test/lib/test_runner/config.ex class LoadTest.TestRunner.Config (line 15) | defmodule LoadTest.TestRunner.Config method parse (line 42) | def parse() do method config (line 67) | defp config(test, rate, period, make_assertions) do method parse_boolean (line 94) | defp parse_boolean(bool) do method read_config! (line 101) | defp read_config!(test) do method parse_config_file! (line 115) | defp parse_config_file!(file_path, test) do method parse_config_values (line 135) | defp parse_config_values(config) do FILE: priv/perf/apps/load_test/lib/test_runner/help.ex class LoadTest.TestRunner.Help (line 15) | defmodule LoadTest.TestRunner.Help method help (line 157) | def help() do method help (line 161) | def help("env") do method help (line 165) | def help(test_name) do FILE: priv/perf/apps/load_test/lib/utils/encoding.ex class LoadTest.Utils.Encoding (line 15) | defmodule LoadTest.Utils.Encoding method to_binary (line 20) | def to_binary(hex) do method to_hex (line 28) | def to_hex(non_hex) method from_hex (line 36) | def from_hex("0x" <> encoded), do: Base.decode16!(encoded, case: :lower) method encode_deposit (line 39) | def encode_deposit(transaction) do method encode_data (line 46) | defp encode_data(function_signature, data) do FILE: priv/perf/apps/load_test/lib/watcher_info/balance.ex class LoadTest.WatcherInfo.Balance (line 15) | defmodule LoadTest.WatcherInfo.Balance method fetch_balance (line 29) | def fetch_balance(address, amount, currency \\ <<0::160>>) do method do_fetch_balance (line 42) | defp do_fetch_balance(address, amount, currency) do FILE: priv/perf/apps/load_test/lib/watcher_info/client.ex class LoadTest.WatcherInfo.Client (line 15) | defmodule LoadTest.WatcherInfo.Client method get_balances (line 22) | def get_balances(address) do method get_utxos (line 33) | def get_utxos(address) do method request (line 44) | defp request(func) do method client (line 57) | defp client() do FILE: priv/perf/apps/load_test/lib/watcher_info/transaction.ex class LoadTest.WatcherInfo.Transaction (line 15) | defmodule LoadTest.WatcherInfo.Transaction method create_transaction (line 36) | def create_transaction(amount_in_wei, input_address, output_address, c... method submit_transaction (line 48) | def submit_transaction(typed_data, sign_hash, private_keys) do method do_create_transaction (line 71) | defp do_create_transaction(amount_in_wei, input_address, output_addres... method submit_typed (line 92) | defp submit_typed(typed_data_signed) do method execute_submit_typed (line 108) | defp execute_submit_typed(typed_data_signed) do method process_transaction_result (line 112) | defp process_transaction_result(result) do method signature_digest (line 134) | defp signature_digest(hash_digest, private_key) do method to_binary (line 145) | defp to_binary(hex) do FILE: priv/perf/apps/load_test/lib/watcher_info/utxo.ex class LoadTest.WatcherInfo.Utxo (line 15) | defmodule LoadTest.WatcherInfo.Utxo method get_utxos (line 29) | def get_utxos(sender, utxo \\ nil) do method fetch_utxos (line 39) | defp fetch_utxos(sender, utxo) do method find_utxo (line 51) | defp find_utxo(decoded_response, nil) do method find_utxo (line 55) | defp find_utxo(%{"data" => []}, :empty) do method find_utxo (line 59) | defp find_utxo(decoded_response, :empty) do method find_utxo (line 63) | defp find_utxo(decoded_response, utxo) do method do_find_utxo (line 67) | defp do_find_utxo(response, utxo) do FILE: priv/perf/apps/load_test/mix.exs class LoadTest.MixProject (line 1) | defmodule LoadTest.MixProject method project (line 4) | def project do method application (line 20) | def application do method elixirc_paths (line 28) | defp elixirc_paths(_), do: ["lib"] method deps (line 31) | defp deps do FILE: priv/perf/apps/load_test/test/load_test/runner/childchain_test.exs class LoadTest.Runner.ChildChainTest (line 15) | defmodule LoadTest.Runner.ChildChainTest FILE: priv/perf/apps/load_test/test/load_test/runner/smoke_test.exs class LoadTest.Runner.SmokeTest (line 15) | defmodule LoadTest.Runner.SmokeTest FILE: priv/perf/apps/load_test/test/load_test/runner/standard_exit_test.exs class LoadTest.Runner.StandardExitTest (line 15) | defmodule LoadTest.Runner.StandardExitTest FILE: priv/perf/apps/load_test/test/load_test/runner/utxos_load_test.exs class LoadTest.Runner.UtxosLoadTest (line 15) | defmodule LoadTest.Runner.UtxosLoadTest FILE: priv/perf/apps/load_test/test/load_test/runner/watcher_info_test.exs class LoadTest.Runner.WatcherInfoTest (line 15) | defmodule LoadTest.Runner.WatcherInfoTest FILE: priv/perf/apps/load_test/test/load_test/service/datadog/api_test.exs class LoadTest.Service.Datadog.APITest (line 15) | defmodule LoadTest.Service.Datadog.APITest FILE: priv/perf/mix.exs class Perf.MixProject (line 1) | defmodule Perf.MixProject method project (line 4) | def project do method deps (line 13) | defp deps do