class Account
Attributes
tx[R]
Public Class Methods
[]( key )
click to toggle source
# File lib/universum/account.rb, line 15 def self.[]( key ) o = find_by_address( key ) if o o else o = new( key ) ## note: auto-register (new) address in (yellow page) directory @@directory[ key ] = o o end end
all()
click to toggle source
# File lib/universum/account.rb, line 27 def self.all() @@directory.values; end
at( key)
click to toggle source
# File lib/universum/account.rb, line 13 def self.at( key) find_by_address( key ); end
find( key )
click to toggle source
# File lib/universum/account.rb, line 12 def self.find( key ) find_by_address( key ); end
find_by_address( key )
click to toggle source
# File lib/universum/account.rb, line 7 def self.find_by_address( key ) ## clean key (allow "embedded" name e.g 0x1111 (Alice)) key = key.gsub(/\(.+\)/, '' ).strip @@directory[ key ] end
new( address, balance: 0, tx: 0 )
click to toggle source
# File lib/universum/account.rb, line 48 def initialize( address, balance: 0, tx: 0 ) @address = Address.new( address, balance: balance ) # type address - (hex) string starts with 0x @tx = tx # transaction (tx) count (used for nonce and replay attack protection) end
Public Instance Methods
_auto_inc_tx()
click to toggle source
# File lib/universum/account.rb, line 45 def _auto_inc_tx() @tx += 1; end
address()
click to toggle source
account (builtin) services / transaction methods
# File lib/universum/account.rb, line 34 def address() @address; end
address_hex()
click to toggle source
# File lib/universum/account.rb, line 35 def address_hex() @address.hex; end
balance()
click to toggle source
# File lib/universum/account.rb, line 37 def balance() @address.balance; end
balance=( value )
click to toggle source
note: for now allow write access too!!!
# File lib/universum/account.rb, line 39 def balance=( value ) @address.send( '@balance=', value ) end