Sha256: 7dd1233fc5817712a7791bb27d05f18dad059d67e240bd715075cb76ab382b0b

Contents?: true

Size: 802 Bytes

Versions: 5

Compression:

Stored size: 802 Bytes

Contents

# frozen_string_literal: true

module Bitcoiner
  class Transaction
    attr_accessor :id, :account

    def initialize(client, account, id)
      @client = client
      @account = account
      @id = id
    end

    def detail_hash
      @detail_hash ||= @client.request 'gettransaction', @id
    end

    def inspect
      "#<Bitcoiner::Transaction #{id} #{amount} to #{account.name} at #{time}>"
    rescue StandardError
      "#<Bitcoiner::Transaction #{id} UNCONFIRMED>"
    end

    def amount
      detail_hash['amount']
    end

    def confirmations
      detail_hash['confirmations']
    rescue StandardError
      0
    end

    def time
      @time ||= Time.at detail_hash['time']
    end

    def confirmed?(min_confirmations = 6)
      confirmations > min_confirmations
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
bitcoiner-0.2.1 lib/bitcoiner/transaction.rb
bitcoiner-0.2.0 lib/bitcoiner/transaction.rb
bitcoiner-0.1.4 lib/bitcoiner/transaction.rb
bitcoiner-0.1.3 lib/bitcoiner/transaction.rb
bitcoiner-0.1.2 lib/bitcoiner/transaction.rb