class Wallet
Attributes
available_balance[R]
confirmed_balance[R]
currency[R]
deposit_address[R]
deposits[R]
order_balance[R]
pending_deposit_balance[R]
pending_withdrawal_balance[R]
status[R]
withdrawals[R]
Public Class Methods
new(active, wallet_data)
click to toggle source
# File lib/account/wallet.rb, line 7 def initialize(active, wallet_data) begin if active @status = "active" @currency = wallet_data['currency'] @deposits = Hash.new @withdrawals = Hash.new @deposit_address = wallet_data['address'] @confirmed_balance = BigDecimal.new(wallet_data['confirmed_balance']) @available_balance = BigDecimal.new(wallet_data['available_balance']) @order_balance = BigDecimal.new(wallet_data['order_balance']) @pending_deposit_balance = BigDecimal.new(wallet_data['pending_deposit_balance']) @pending_withdrawal_balance = BigDecimal.new(wallet_data['pending_withdrawal_balance']) else @status = "inactive" @currency = wallet_data['currency'] @deposit_address = wallet_data['address'] end rescue puts "Error in Excoin::Account::Wallet.initialize" puts wallet_data end end
Public Instance Methods
add_deposit(deposit_data)
click to toggle source
# File lib/account/wallet.rb, line 55 def add_deposit(deposit_data) @deposits.merge!({deposit_data['txid'] => Deposit.new(deposit_data)}) end
add_withdrawal(withdrawal_data)
click to toggle source
# File lib/account/wallet.rb, line 59 def add_withdrawal(withdrawal_data) @withdrawals.merge!({withdrawal_data['id'] => Withdrawal.new(withdrawal_data)}) end
unconfirmed_deposits()
click to toggle source
# File lib/account/wallet.rb, line 47 def unconfirmed_deposits return @deposits.select{|id, deposit_object| deposit_object.confirmed == false} end
unconfirmed_withdrawals()
click to toggle source
# File lib/account/wallet.rb, line 51 def unconfirmed_withdrawals return @withdrawals.select{|id, withdrawal_object| withdrawal_object.confirmed == false} end
update(wallet_data)
click to toggle source
# File lib/account/wallet.rb, line 31 def update(wallet_data) begin if wallet_data['address'] @deposit_address = wallet_data['address'] end @confirmed_balance = BigDecimal.new(wallet_data['confirmed_balance']) @available_balance = BigDecimal.new(wallet_data['available_balance']) @order_balance = BigDecimal.new(wallet_data['order_balance']) @pending_deposit_balance = BigDecimal.new(wallet_data['pending_deposit_balance']) @pending_withdrawal_balance = BigDecimal.new(wallet_data['pending_withdrawal_balance']) rescue puts "Error in Excoin::Account::Wallet.update" puts wallet_data end end
withdraw(address, amount)
click to toggle source
# File lib/account/wallet.rb, line 63 def withdraw(address, amount) if BigDecimal.new(amount) <= self.available_balance withdrawal_data = Excoin.api.account_withdraw(self.currency, address, amount) Excoin.account.add_withdrawal(withdrawal_data) else puts "Insufficient funds for withdrawal" end end