Sha256: 988d95dc32f0aded53e3691c4cb9a8b49b82a732533e45533df4b7c471157b8d

Contents?: true

Size: 726 Bytes

Versions: 21

Compression:

Stored size: 726 Bytes

Contents

module Bitcoin
  module PSBT

    class KeyOriginInfo

      include Bitcoin::KeyPath

      attr_reader :fingerprint # String hex format
      attr_reader :key_paths    # Array[Integer]

      def initialize(fingerprint: nil, key_paths: [])
        @fingerprint = fingerprint
        @key_paths = key_paths
      end

      def self.parse_from_payload(payload)
        buf = StringIO.new(payload)
        self.new(fingerprint: buf.read(4).bth, key_paths: buf.read.unpack('I*'))
      end

      def to_payload
        fingerprint.htb + key_paths.pack('I*')
      end

      def to_h
        {fingerprint: fingerprint, key_paths: to_key_path(key_paths)}
      end

      def to_s
        to_h.to_s
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
bitcoinrb-1.8.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.7.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.6.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.5.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.4.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.3.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.2.1 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.2.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.1.1 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.1.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-1.0.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.9.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.8.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.7.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.6.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.5.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.4.0 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.3.2 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.3.1 lib/bitcoin/psbt/key_origin_info.rb
bitcoinrb-0.3.0 lib/bitcoin/psbt/key_origin_info.rb