class Web3::Eth::Debug::DebugModule

Constants

PREFIX

Public Class Methods

new(web3_rpc) click to toggle source
# File lib/web3/eth/debug/debug_module.rb, line 9
def initialize web3_rpc
  @web3_rpc = web3_rpc
end

Public Instance Methods

method_missing(m, *args) click to toggle source
# File lib/web3/eth/debug/debug_module.rb, line 34
def method_missing m, *args
  @web3_rpc.request "#{PREFIX}#{m}", args[0]
end
traceBlockByHash(hash, tracer = 'callTracer', convert_to_object = true) click to toggle source
# File lib/web3/eth/debug/debug_module.rb, line 28
def traceBlockByHash hash, tracer = 'callTracer',  convert_to_object = true
  raw = @web3_rpc.request("#{PREFIX}#{__method__}", [hash, {tracer: tracer}])
  convert_to_object ? raw.map{|r| TransactionCallTrace.new(r['result'])} : raw
end
traceBlockByNumber(number, tracer = 'callTracer', convert_to_object = true) click to toggle source
# File lib/web3/eth/debug/debug_module.rb, line 20
def traceBlockByNumber number, tracer = 'callTracer',  convert_to_object = true
  timeout = @web3_rpc.connect_options[:read_timeout] || 120
  raw = @web3_rpc.request("#{PREFIX}#{__method__}", [hex(number), {tracer: tracer,
                                                                   timeout: "#{timeout}s"}])
  raise raw.first['error'] if (raw.first && raw.first['error'])
  convert_to_object ? raw.map{|r| TransactionCallTrace.new(r['result'])} : raw
end
traceTransaction(hash, tracer = 'callTracer', convert_to_object = true) click to toggle source
# File lib/web3/eth/debug/debug_module.rb, line 13
def traceTransaction hash, tracer = 'callTracer',  convert_to_object = true
  timeout = @web3_rpc.connect_options[:read_timeout] || 120
  raw = @web3_rpc.request("#{PREFIX}#{__method__}", [hash, {tracer: tracer,
                                                            timeout: "#{timeout}s"}])
  convert_to_object ? TransactionCallTrace.new(raw) : raw
end