module Eth::Tx
def new(params, chain_id = Chain::ETHEREUM)
-
chain_id
(Integer
) -- the EIP-155 Chain ID (legacy transactions only). -
params
(Hash
) -- all necessary transaction fields.
def new(params, chain_id = Chain::ETHEREUM) # if we deal with max gas fee parameter, attempt EIP-1559 unless params[:max_gas_fee].nil? params[:chain_id] = chain_id if params[:chain_id].nil? return Tx::Eip1559.new params end # if we deal with access list parameter, attempt EIP-2930 unless params[:access_list].nil? params[:chain_id] = chain_id if params[:chain_id].nil? return Tx::Eip2930.new params end # if nothing else, go with legacy transactions chain_id = params[:chain_id] if !params[:chain_id].nil? and params[:chain_id] != chain_id return Tx::Legacy.new params, chain_id end