class Etherlite::Types::Bytes

Public Class Methods

new(_size) click to toggle source
# File lib/etherlite/types/bytes.rb, line 3
def initialize(_size)
  raise ArgumentError, "invalid byte size #{_size}" unless 0 < _size && _size <= 32
  @size = _size
end

Public Instance Methods

encode(_value) click to toggle source
# File lib/etherlite/types/bytes.rb, line 16
def encode(_value)
  raise ArgumentError, "invalid argument type for 'bytes'" unless _value.is_a? ::String

  _value.unpack('H*').first.rjust(64, '0')
end
signature() click to toggle source
# File lib/etherlite/types/bytes.rb, line 8
def signature
  "bytes#{@size}"
end
size() click to toggle source
# File lib/etherlite/types/bytes.rb, line 12
def size
  32
end