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
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