class Ethereum::Log

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/ethereum/log.rb, line 12
def initialize(*args)
  h = parse_field_args args

  address = h[:address]
  raise ArgumentError, "invalid address: #{address}" unless address.size == 20 || address.size == 40

  address = Utils.decode_hex(address) if address.size == 40

  h[:address] = address
  super(h)
end

Public Instance Methods

bloomables() click to toggle source
# File lib/ethereum/log.rb, line 24
def bloomables
  topics.map {|t| Sedes.int32.serialize(t) }.unshift(address)
end
inspect()
Alias for: to_s
to_h() click to toggle source
# File lib/ethereum/log.rb, line 28
def to_h
  { bloom: Utils.encode_hex(Bloom.b256(Bloom.from_array(bloomables))),
    address: Utils.encode_hex(address),
    data: "0x#{Utils.encode_hex(data)}",
    topics: topics.map {|t| Utils.encode_hex(Sedes.int32.serialize(t)) }
  }
end
to_s() click to toggle source
# File lib/ethereum/log.rb, line 36
def to_s
  "#<#{self.class.name}:#{object_id} address=#{Utils.encode_hex(address)} topics=#{topics} data=#{data}>"
end
Also aliased as: inspect