module Eth

def chain_id

def chain_id
  configuration.chain_id
end

def configuration

def configuration
  @configuration ||= Configuration.new
end

def configure

def configure
  yield(configuration)
end

def prevent_replays?

def prevent_replays?
  !chain_id.nil?
end

def replayable_chain_id

def replayable_chain_id
  27
end

def replayable_v?(v)

def replayable_v?(v)
  [replayable_chain_id, replayable_chain_id + 1].include? v
end

def tx_data_hex?

def tx_data_hex?
  !!configuration.tx_data_hex
end

def v_base

def v_base
  if chain_id
    (chain_id * 2) + 35
  else
    replayable_chain_id
  end
end