Sha256: 30174063e92b8ef094ad30cc6e2ce95a19b06b3cb133a2923009d7f51794a8a6

Contents?: true

Size: 1.12 KB

Versions: 27

Compression:

Stored size: 1.12 KB

Contents

# OpenSSL-compatible BigNumber API.
module BTC
  class BigNumber

    # Ruby Integer representation (Fixnum or Bignum)
    attr_reader :integer

    # Raw little-endian signed integer data
    attr_reader :signed_little_endian

    # OpenSSL-compatible big-endian signed integer data
    attr_reader :unsigned_big_endian

    # Initializes with one of the formats:
    # 1) Raw little-endian data extracted from MPI,
    # 2) Native OpenSSL BIGNUM big-endian unsigned big integer,
    # 3) Ruby Integer (Fixnum or Bignum)
    def initialize(signed_little_endian: nil, unsigned_big_endian: nil, integer: nil)
      if signed_little_endian

        raise "Not Implemented"

      elsif unsigned_big_endian

        raise "Not Implemented"

      elsif integer
        @integer = integer
      else
        raise ArgumentError, "One of the arguments must not be nil"
      end
    end

    def integer
      @integer
    end

    def signed_little_endian
      raise "Not Implemented" # reversed mpi with stripped 4-byte length prefix
    end

    def unsigned_big_endian
      raise "Not Implemented" # bin2bn
    end

  end # BigNumber
end # BTC

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
btcruby-1.8 lib/btcruby/big_number.rb
btcruby-1.7 lib/btcruby/big_number.rb
btcruby-1.6 lib/btcruby/big_number.rb
btcruby-1.5.1 lib/btcruby/big_number.rb
btcruby-1.5 lib/btcruby/big_number.rb
btcruby-1.4 lib/btcruby/big_number.rb
btcruby-1.3 lib/btcruby/big_number.rb
btcruby-1.2.2 lib/btcruby/big_number.rb
btcruby-1.2.1 lib/btcruby/big_number.rb
btcruby-1.2 lib/btcruby/big_number.rb
btcruby-1.1.6 lib/btcruby/big_number.rb
btcruby-1.1.5 lib/btcruby/big_number.rb
btcruby-1.1.4 lib/btcruby/big_number.rb
btcruby-1.1.3 lib/btcruby/big_number.rb
btcruby-1.1.2 lib/btcruby/big_number.rb
btcruby-1.1.1 lib/btcruby/big_number.rb
btcruby-1.1 lib/btcruby/big_number.rb
btcruby-1.0.9 lib/btcruby/big_number.rb
btcruby-1.0.8 lib/btcruby/big_number.rb
btcruby-1.0.7 lib/btcruby/big_number.rb