Sha256: b11f1229770d15fcea4844bba3469426e069de06c1c8c771c894ec88e5e5fc5f

Contents?: true

Size: 806 Bytes

Versions: 18

Compression:

Stored size: 806 Bytes

Contents

module Bitcoin
  module Message

    # sendcmpct message
    # https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki
    class SendCmpct < Base

      COMMAND = 'sendcmpct'

      MODE_HIGH = 1
      MODE_LOW = 0

      attr_accessor :mode
      attr_accessor :version
      # TODO support version 2

      def initialize(mode = MODE_HIGH, version = 1)
        @mode = mode
        @version = version
      end

      def self.parse_from_payload(payload)
        buf = StringIO.new(payload)
        mode = buf.read(1).unpack('c').first
        version = buf.read(8).unpack('Q').first
        new(mode, version)
      end

      def to_payload
        [mode, version].pack('cQ')
      end

      def high?
        mode == 1
      end

      def low?
        mode.zero?
      end
    end

  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
bitcoinrb-0.5.0 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.4.0 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.3.2 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.3.1 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.3.0 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.9 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.8 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.7 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.6 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.5 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.4 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.2 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.1 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.2.0 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.1.9 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.1.8 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.1.7 lib/bitcoin/message/send_cmpct.rb
bitcoinrb-0.1.6 lib/bitcoin/message/send_cmpct.rb