Sha256: 022af4626229abb06a9a0d37501707258a5a640ea9ab807b4cd1ec4dc0c50776
Contents?: true
Size: 1.7 KB
Versions: 2
Compression:
Stored size: 1.7 KB
Contents
module BitWallet class Account attr_reader :wallet, :name delegate :client, to: :wallet def initialize(wallet, name) @wallet = wallet @name = name self.addresses.new end def addresses @addresses ||= Addresses.new(self) end def balance(min_conf=BitWallet.config.min_conf) client.getbalance(self.name, min_conf) end def send_amount(amount, options={}) if options[:to] options[:to] = options[:to].address if options[:to].is_a?(Address) else fail ArgumentError, 'address must be specified' end client.sendfrom(self.name, options[:to], amount, BitWallet.config.min_conf) rescue Bitcoin::Errors::RPCError => e parse_error e.message end def total_received client.getreceivedbyaccount(self.name, BitWallet.config.min_conf) end def ==(other_account) self.name == other_account.name end def recent_transactions(options={}) count = options.delete(:limit) || 10 client.listtransactions(self.name, count).map do |hash| Transaction.new self.wallet, hash end end def send_many(account_values={}) addresses_values = {} account_values.each do |key, value| address = key.respond_to?(:address) ? key.address : key addresses_values[address] = value end txid = client.send_many(self.name, addresses_values, BitWallet.config.min_conf) txid rescue => e parse_error e.message end private def parse_error(message) HandlesError.from(message) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bit_wallet-0.6.1 | lib/bit_wallet/account.rb |
bit_wallet-0.6.0 | lib/bit_wallet/account.rb |