class Address
Public Class Methods
new( address, balance: 0 )
click to toggle source
# File lib/universum/address.rb, line 7 def initialize( address, balance: 0 ) @address = address @balance = balance end
zero()
click to toggle source
# File lib/universum/address.rb, line 5 def self.zero() '0x0000'; end
Public Instance Methods
_add( value )
click to toggle source
# File lib/universum/address.rb, line 44 def _add( value ) @balance += value end
_send( from, value )
click to toggle source
private (internal use only) methods - PLEASE do NOT use (use transfer/send)
# File lib/universum/address.rb, line 31 def _send( from, value ) ## todo/fix: assert value > 0 ## todo/fix: add missing -= part in transfer!!!! ## use this (current contract) for debit (-) ammount from._sub( value ) # sub(tract) / debit from the sender (current contract) _add( value ) # add / credit to the recipient end
_sub( value )
click to toggle source
# File lib/universum/address.rb, line 40 def _sub( value ) @balance -= value end
balance()
click to toggle source
# File lib/universum/address.rb, line 13 def balance() @balance; end
hex()
click to toggle source
# File lib/universum/address.rb, line 12 def hex() @address; end
send( value )
click to toggle source
# File lib/universum/address.rb, line 23 def send( value ) ## @payable @public ## note: auto-adds "global" from address (using Universum.this) _send( Universum.this, value ) end
transfer( value )
click to toggle source
# File lib/universum/address.rb, line 17 def transfer( value ) ## @payable @public ## todo/fix: throw exception if insufficient funds ## todo/fix: use assert( send( value ) send( value ) # returns true/false end