Class: RCS::CoinWallet

Inherits:
Object
  • Object
show all
Defined in:
lib/rcs-common/evidence/money.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file, kind) ⇒ CoinWallet

Returns a new instance of CoinWallet.



299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
# File 'lib/rcs-common/evidence/money.rb', line 299

def initialize(file, kind)
  @seed = kind_to_value(kind)
  @kinds = Set.new
  @count = 0
  @version = :unknown
  @keys = []
  @default_key = nil
  @addressbook = []
  @transactions = []
  @encrypted = false
  @balance = 0

  load_db(file)
rescue Exception => e
  raise "Cannot load Wallet: #{e.message}"
end

Instance Attribute Details

#balanceObject (readonly)

Returns the value of attribute balance.



297
298
299
# File 'lib/rcs-common/evidence/money.rb', line 297

def balance
  @balance
end

#countObject (readonly)

Returns the value of attribute count.



297
298
299
# File 'lib/rcs-common/evidence/money.rb', line 297

def count
  @count
end

#default_keyObject (readonly)

Returns the value of attribute default_key.



297
298
299
# File 'lib/rcs-common/evidence/money.rb', line 297

def default_key
  @default_key
end

#kindsObject (readonly)

Returns the value of attribute kinds.



297
298
299
# File 'lib/rcs-common/evidence/money.rb', line 297

def kinds
  @kinds
end

#seedObject (readonly)

Returns the value of attribute seed.



297
298
299
# File 'lib/rcs-common/evidence/money.rb', line 297

def seed
  @seed
end

#versionObject (readonly)

Returns the value of attribute version.



297
298
299
# File 'lib/rcs-common/evidence/money.rb', line 297

def version
  @version
end

Instance Method Details

#addressbook(local = nil) ⇒ Object



326
327
328
# File 'lib/rcs-common/evidence/money.rb', line 326

def addressbook(local = nil)
  @addressbook.select {|k| k[:local].eql? local}.collect {|x| x.reject {|v| v == :local}}
end

#encrypted?Boolean

Returns:

  • (Boolean)


316
317
318
# File 'lib/rcs-common/evidence/money.rb', line 316

def encrypted?
  @encrypted
end

#keys(type = :public) ⇒ Object



320
321
322
323
324
# File 'lib/rcs-common/evidence/money.rb', line 320

def keys(type = :public)
  return @keys if type.eql? :all

  @addressbook.select {|k| k[:local].eql? true}.collect {|x| x.reject {|v| v == :local}}
end

#own?(key) ⇒ Boolean

Returns:

  • (Boolean)


334
335
336
# File 'lib/rcs-common/evidence/money.rb', line 334

def own?(key)
  @keys.any? {|k| k[:address].eql? key}
end

#transactionsObject



330
331
332
# File 'lib/rcs-common/evidence/money.rb', line 330

def transactions
  @transactions
end

#wallet_address?(address) ⇒ Boolean

Returns:

  • (Boolean)


338
339
340
# File 'lib/rcs-common/evidence/money.rb', line 338

def wallet_address?(address)
  keys.map { |k| k[:address] }.include?(address)
end