class Etherlite::Account::Local

Public Instance Methods

lock() click to toggle source
# File lib/etherlite/account/local.rb, line 8
def lock
  @passphrase = nil
end
send_transaction(_options = {}) click to toggle source
# File lib/etherlite/account/local.rb, line 12
def send_transaction(_options = {})
  params = build_params_from_options _options
  passphrase = _options.fetch(:passphrase, @passphrase)

  Transaction.new @connection, send_transaction_with_passphrase(params, passphrase)
end
unlock(_passphrase) click to toggle source
# File lib/etherlite/account/local.rb, line 4
def unlock(_passphrase)
  @passphrase = _passphrase
end

Private Instance Methods

build_params_from_options(_opt) click to toggle source
# File lib/etherlite/account/local.rb, line 21
def build_params_from_options(_opt)
  { from: json_encoded_address }.tap do |pr|
    pr[:to] = Utils.encode_address_param(_opt[:to]) if _opt.key? :to
    pr[:value] = Utils.encode_quantity_param(_opt[:value]) if _opt.key? :value
    pr[:data] = _opt[:data] if _opt.key? :data
    pr[:gas] = Utils.encode_quantity_param(_opt[:gas]) if _opt.key? :gas
    pr[:gasPrice] = Utils.encode_quantity_param(_opt[:gas_price]) if _opt.key? :gas_price
  end
end
send_transaction_with_passphrase(_params, _passphrase) click to toggle source
# File lib/etherlite/account/local.rb, line 31
def send_transaction_with_passphrase(_params, _passphrase)
  if _passphrase.nil?
    @connection.eth_send_transaction _params
  else
    @connection.personal_send_transaction _params, _passphrase
  end
end