base58_gmp 0.0.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ad881e2554d4a1b511183a4d9a90581bbe692ee0
4
+ data.tar.gz: 2fe8884cff6b04ea68dfe24c31915d15d11f2234
5
+ SHA512:
6
+ metadata.gz: ede65bd022cc60e16d30f5cf656931a9f09a06f0d7fe3af72c2a0b13179f62628da9f82d694c60f1dd34030f71b9f25dd8dc85efe795de11ed1c60436882265f
7
+ data.tar.gz: b18e889d95ae7c44d31b5efde4c4ac45ffdaf57ab8d70084fd6f93ca4da88ad90cc390f2bde6fa0c781c70eaf180b1ac7e9e7d6e2471397988ead12feb15d2c3
@@ -0,0 +1,29 @@
1
+ CHANGELOG
2
+ ---------
3
+ - **1.0.0** - 2016-09-27**
4
+ - Add `md5_base58` method `pad:` option
5
+ - Add alphabet parameter as symbol support
6
+ - Add Ripple alphabet
7
+ - Add `normalize_alphabet` and `alphabet_digits` methods
8
+ - **0.0.7** - 2011-11-21
9
+ - Add Bitcoin suppport
10
+ - Refactor API
11
+ - **0.0.6** - 2011-11-14
12
+ - Update encode API
13
+ - **0.0.5** - 2011-11-06
14
+ - Add Base58 decoding to `GMP::Z` integer
15
+ - Add Base58 encoding of `GMP::Z` integer
16
+ - Add Base58 encoding of arbitrary base strings
17
+ - Add Base58 encoding using `gmp` alphabet
18
+ - Add MD5 using `gmp` alphabet
19
+ - More tests
20
+ - **0.0.4** - 2011-11-06
21
+ - Add `flickr_to_gmp` transcoding
22
+ - Document Flickr and GMP transcoding
23
+ - **0.0.3** - 2011-11-06
24
+ - Minor fixes.
25
+ - **0.0.2** - 2011-11-06
26
+ - Documentation update.
27
+ - **0.0.1** - 2011-11-06
28
+ - Initial release including encode and md5 capabilities.
29
+ - Does not include decode due to current limitation in GMP binding. For now, the `base58` gem can be used for decoding.
@@ -1,4 +1,6 @@
1
- Copyright (c) 2011 John Wang
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2011-2016 John Wang
2
4
 
3
5
  Permission is hereby granted, free of charge, to any person obtaining
4
6
  a copy of this software and associated documentation files (the
@@ -0,0 +1,164 @@
1
+
2
+ Base58 GMP Ruby
3
+ ===============
4
+
5
+ [![Gem Version][gem-version-svg]][gem-version-link]
6
+ [![Build Status][build-status-svg]][build-status-link]
7
+ [![Coverage Status][coverage-status-svg]][coverage-status-link]
8
+ [![Dependency Status][dependency-status-svg]][dependency-status-link]
9
+ [![Code Climate][codeclimate-status-svg]][codeclimate-status-link]
10
+ [![Scrutinizer Code Quality][scrutinizer-status-svg]][scrutinizer-status-link]
11
+ [![Downloads][downloads-svg]][downloads-link]
12
+ [![Docs][docs-rubydoc-svg]][docs-rubydoc-link]
13
+ [![License][license-svg]][license-link]
14
+
15
+ [![Stories in Ready][story-status-svg]][story-status-link]
16
+
17
+ High speed Base58 encoding using [GMP](https://gmplib.org/) with MD5 support and transcoding between Flickr, Bitcoin, Ripple and GMP alphabets.
18
+
19
+ ## Installation
20
+
21
+ ### Via Bundler
22
+
23
+ Add `base58_gmp` to `Gemfile` and then run `bundle`:
24
+
25
+ ```sh
26
+ $ echo "gem 'base58_gmp'" >> Gemfile
27
+ $ bundle
28
+ ```
29
+
30
+ ### Via RubyGems
31
+
32
+ ```sh
33
+ $ gem install base58_gmp
34
+ ```
35
+
36
+ ## Usage
37
+
38
+ Alphabet can be specified using symbol or string.
39
+
40
+ ```ruby
41
+ require 'base58_gmp'
42
+
43
+ # Encode Int as Base58
44
+ Base58GMP.encode 12345 # => 4ER
45
+
46
+ # Encode GMP::Z Int as Base58
47
+ Base58GMP.encode GMP::Z(12345) # => 4ER
48
+
49
+ # Encode as Base58 using alternate alphabets
50
+ Base58GMP.encode 12345, :bitcoin # => 4fr
51
+ Base58GMP.encode 12345, :gmp # => 3cn
52
+
53
+ # Encode as Base58 using alternate alphabets using string
54
+ Base58GMP.encode 12345, 'bitcoin' # => 4fr
55
+ Base58GMP.encode 12345, 'gmp' # => 3cn
56
+
57
+ # Decode Base58 as GMP::Z Integer
58
+ Base58GMP.decode '4ER' # => 12345
59
+
60
+ # Decode Base58 as GMP::Z Integer using alternate alphabets
61
+ Base58GMP.decode '4fr', :bitcoin # => 12345
62
+ Base58GMP.decode '3cn', :gmp # => 12345
63
+
64
+ # MD5 Base58 Digest
65
+ Base58GMP.md5 'foo@bar.com' # => w6fdCRXnUXyz7EtDn5TgN9
66
+
67
+ # MD5 Base58 Digest with left padding for consistent length
68
+ Base58GMP.md5 'foo@bar.com', :flickr, pad: true # => w6fdCRXnUXyz7EtDn5TgN9
69
+
70
+ # Convert between alphabets
71
+ Base58GMP.from_to '123456789abcdefghijk', :flickr, :gmp # => 0123456789ABCDEFGHIJ
72
+ Base58GMP.from_to '0123456789ABCDEFGHIJ', :gmp, :flickr # => 123456789abcdefghijk
73
+ ```
74
+
75
+ ## Notes
76
+
77
+ ### Base58 Implementations - Flickr, Bitcoin and GMP
78
+
79
+ This class supports the Base58 alphabets used by Flickr, Bitcoin and GMP. The Flickr alphabet is the default and used when no alphabet is provided.
80
+
81
+ | Alphabet | Character Set |
82
+ |----------|---------------|
83
+ | Flickr | `[0-9a-zA-Z]` excluding `[0OIl]` |
84
+ | Bitcoin | `[0-9A-Za-z]` excluding `[0OIl]` |
85
+ | Ripple | `rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz` |
86
+ | GMP | `[0-9A-Za-v]` |
87
+
88
+ The encode, decode and md5 methods support an alphabet parameter which can be set to the supported alphabets `['bitcoin', 'flickr', 'gmp']` to indicate the value to be encoded or decoded.
89
+
90
+ ### GMP
91
+
92
+ This class requires GMP 4.2.0 or above. Prior versions are limited to Base36.
93
+
94
+ ## Supported Ruby Versions
95
+
96
+ This library supports and is [tested against](https://travis-ci.org/grokify/ringcentral-sdk-ruby) the following Ruby implementations:
97
+
98
+ 1. Ruby 2.3.0
99
+ 2. Ruby 2.2.0
100
+ 3. Ruby 2.1.0
101
+ 4. Ruby 2.0.0
102
+
103
+ ### Change Log
104
+
105
+ See [CHANGELOG.md](CHANGELOG.md)
106
+
107
+ ## Links
108
+
109
+ Project Repo
110
+
111
+ * https://github.com/grokify/base58-gmp-ruby
112
+
113
+ Flickr post introducing Base58:
114
+
115
+ * http://www.flickr.com/groups/api/discuss/72157616713786392/
116
+
117
+ Bitcoin wiki Base58 article:
118
+
119
+ * https://en.bitcoin.it/wiki/Base58Check_encoding
120
+
121
+ GMP:
122
+
123
+ * https://gmplib.org/
124
+
125
+ ## Credits
126
+
127
+ John Wang - http://johnwang.com
128
+
129
+ Some test examples courtesy Fraser Speirs' Base58Encoder Objective-C class, http://gist.github.com/101674.
130
+
131
+ ## Contributing
132
+
133
+ 1. Fork it (http://github.com/grokify/base58-gmp-ruby/fork)
134
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
135
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
136
+ 4. Push to the branch (`git push origin my-new-feature`)
137
+ 5. Create new Pull Request
138
+
139
+ ## License
140
+
141
+ Base58 GMP Ruby is available under an MIT-style license. See [LICENSE.txt](LICENSE.txt) for details.
142
+
143
+ Base58 GMP Ruby © 2011-2016 by John Wang
144
+
145
+ [gem-version-svg]: https://badge.fury.io/rb/base58_gmp.svg
146
+ [gem-version-link]: http://badge.fury.io/rb/base58_gmp
147
+ [downloads-svg]: http://ruby-gem-downloads-badge.herokuapp.com/base58_gmp
148
+ [downloads-link]: https://rubygems.org/gems/base58_gmp
149
+ [build-status-svg]: https://api.travis-ci.org/grokify/base58-gmp-ruby.svg?branch=master
150
+ [build-status-link]: https://travis-ci.org/grokify/base58-gmp-ruby
151
+ [coverage-status-svg]: https://coveralls.io/repos/grokify/base58-gmp-ruby/badge.svg?branch=master
152
+ [coverage-status-link]: https://coveralls.io/r/grokify/base58-gmp-ruby?branch=master
153
+ [dependency-status-svg]: https://gemnasium.com/grokify/base58-gmp-ruby.svg
154
+ [dependency-status-link]: https://gemnasium.com/grokify/base58-gmp-ruby
155
+ [codeclimate-status-svg]: https://codeclimate.com/github/grokify/base58-gmp-ruby/badges/gpa.svg
156
+ [codeclimate-status-link]: https://codeclimate.com/github/grokify/base58-gmp-ruby
157
+ [scrutinizer-status-svg]: https://scrutinizer-ci.com/g/grokify/base58-gmp-ruby/badges/quality-score.png?b=master
158
+ [scrutinizer-status-link]: https://scrutinizer-ci.com/g/grokify/base58-gmp-ruby/?branch=master
159
+ [story-status-svg]: https://badge.waffle.io/grokify/base58-gmp-ruby.svg?label=ready&title=Ready
160
+ [story-status-link]: https://waffle.io/grokify/base58-gmp-ruby
161
+ [docs-rubydoc-svg]: https://img.shields.io/badge/docs-rubydoc-blue.svg
162
+ [docs-rubydoc-link]: http://www.rubydoc.info/gems/base58_gmp/
163
+ [license-svg]: https://img.shields.io/badge/license-MIT-blue.svg
164
+ [license-link]: https://github.com/grokify/base58-gmp-ruby/blob/master/LICENSE.txt
@@ -1,27 +1,24 @@
1
+ lib = 'base58_gmp'
2
+ lib_file = File.expand_path("../lib/#{lib}.rb", __FILE__)
3
+ File.read(lib_file) =~ /\bVERSION\s*=\s*["'](.+?)["']/
4
+ version = $1
5
+
1
6
  Gem::Specification.new do |s|
2
7
  s.name = 'base58_gmp'
3
- s.version = '0.0.7'
4
- s.date = '2011-11-21'
8
+ s.version = version
9
+ s.date = '2016-09-27'
5
10
  s.summary = 'High speed Base58 encoding using GMP with MD5 support'
6
11
  s.description = 'High speed Base58 encoding using GMP with MD5 support and transcoding between Flickr, Bitcoin and GMP alphabets.'
7
12
  s.authors = ['John Wang']
8
13
  s.email = 'johncwang@gmail.com'
9
- s.homepage =
10
- 'http://rubygems.org/gems/base58_gmp'
11
- s.extra_rdoc_files = [
12
- 'README.rdoc'
13
- ]
14
- s.files = [
15
- 'CHANGELOG',
16
- 'MIT-LICENSE',
17
- 'README.rdoc',
18
- 'Rakefile',
19
- 'VERSION',
20
- 'base58_gmp.gemspec',
21
- 'lib/base58_gmp.rb',
22
- 'test/test_base58_gmp.rb',
23
- 'test/test_encode-decode-multi.rb',
24
- 'test/test_alphabets.rb'
25
- ]
26
-
14
+ s.homepage = 'https://github.com/grokify/'
15
+ s.licenses = ['MIT']
16
+ s.files = %w(CHANGELOG.md LICENSE.txt README.md base58_gmp.gemspec) + Dir['lib/**/*.rb']
17
+ s.required_ruby_version = '>= 2.0.0'
18
+ s.add_dependency 'gmp', '~> 0', '>= 0'
19
+ s.add_development_dependency 'bundler', '~> 1.0'
20
+ s.add_development_dependency 'coveralls', '~> 0'
21
+ s.add_development_dependency 'rake', '~> 11'
22
+ s.add_development_dependency 'simplecov', '~> 0'
23
+ s.add_development_dependency 'test-unit', '~> 3'
27
24
  end
@@ -1,39 +1,41 @@
1
1
  # Base58GMP
2
- # Copyright (c) 2011 John Wang
2
+ # Copyright (c) 2011-2016 John Wang
3
3
  # http://johnwang.com
4
- # Distributed under the MIT license as included with this plugin.
4
+ # Distributed under the MIT license as included with this gem.
5
5
 
6
- require 'rubygems'
7
6
  require 'digest/md5'
8
7
  require 'gmp'
9
8
 
10
9
  class Base58GMP
10
+ VERSION = '1.0.0'
11
11
 
12
- ALPHABETS = {
13
- 'bitcoin' => '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz',
14
- 'flickr' => '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ',
15
- 'gmp' => '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv'
12
+ ALPHABETS = {
13
+ bitcoin: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz',
14
+ flickr: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ',
15
+ ripple: 'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz',
16
+ gmp: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv'
16
17
  }
17
-
18
- DEFAULT_ALPHABET = 'flickr'
19
- GMP_ALPHABET = 'gmp'
20
-
21
- def self.integer_to_base58(integer, alphabet=DEFAULT_ALPHABET)
22
- base58 = integer.is_a?(GMP::Z) ?
23
- integer.to_s(base = 58) :
24
- GMP::Z(integer).to_s(base = 58)
25
-
26
- alphabet.is_a?(String) && alphabet.downcase == GMP_ALPHABET ?
27
- base58 :
28
- from_to(base58, GMP_ALPHABET, alphabet)
18
+
19
+ DEFAULT_ALPHABET = :flickr
20
+ GMP_ALPHABET = :gmp
21
+ BASE58_LENGTH_MD5 = 22
22
+
23
+ def self.integer_to_base58(integer, alphabet = DEFAULT_ALPHABET)
24
+ base58 = integer.is_a?(GMP::Z) \
25
+ ? integer.to_s(58) \
26
+ : GMP::Z(integer).to_s(58)
27
+
28
+ normalize_alphabet(alphabet) == GMP_ALPHABET \
29
+ ? base58 \
30
+ : from_to(base58, GMP_ALPHABET, alphabet)
29
31
  end
30
32
 
31
- def self.base58_to_integer(base58, alphabet=DEFAULT_ALPHABET)
32
- unless base58.is_a?(String)
33
- raise ArgumentError, 'Base58 argument is not a string.'
33
+ def self.base58_to_integer(base58, alphabet = DEFAULT_ALPHABET)
34
+ unless base58.is_a? String
35
+ fail ArgumentError, 'Base58 argument is not a string.'
34
36
  end
35
37
 
36
- unless alphabet.is_a?(String) && alphabet.downcase == GMP_ALPHABET
38
+ unless normalize_alphabet(alphabet) == GMP_ALPHABET
37
39
  base58 = from_to(base58, alphabet, GMP_ALPHABET)
38
40
  end
39
41
 
@@ -41,31 +43,38 @@ class Base58GMP
41
43
  end
42
44
 
43
45
  def self.from_to(base58, from_alphabet, to_alphabet)
44
- unless base58.is_a?(String)
45
- raise ArgumentError, 'Base58 argument is not a string.'
46
+ unless base58.is_a? String
47
+ fail ArgumentError, 'Base58 argument is not a string.'
46
48
  end
47
49
 
48
- unless (
49
- from_alphabet.is_a?(String) &&
50
- from_digits = ALPHABETS[from_alphabet.downcase]
51
- )
52
- raise ArgumentError, 'From encoding is not valid.'
53
- end
50
+ from_digits = alphabet_digits from_alphabet
51
+ to_digits = alphabet_digits to_alphabet
52
+
53
+ from_digits != to_digits \
54
+ ? base58.tr(from_digits, to_digits) \
55
+ : base58
56
+ end
54
57
 
55
- unless (
56
- to_alphabet.is_a?(String) &&
57
- to_digits = ALPHABETS[to_alphabet.downcase]
58
- )
59
- raise ArgumentError, 'To encoding is not valid.'
58
+ def self.normalize_alphabet(alphabet)
59
+ alphabet.to_sym.downcase
60
+ end
61
+
62
+ def self.alphabet_digits(alphabet)
63
+ alphabet = normalize_alphabet alphabet
64
+
65
+ unless ALPHABETS.key? alphabet
66
+ fail ArgumentError, "Alphabet is invalid: #{alphabet}"
60
67
  end
61
68
 
62
- from_digits != to_digits ?
63
- base58.tr(from_digits, to_digits) :
64
- base58
69
+ return ALPHABETS[alphabet]
65
70
  end
66
71
 
67
- def self.md5_base58(data, alphabet=DEFAULT_ALPHABET)
68
- integer_to_base58(Digest::MD5.hexdigest(data).hex, alphabet)
72
+ def self.md5_base58(data, alphabet = DEFAULT_ALPHABET, opts = {})
73
+ base58 = integer_to_base58(Digest::MD5.hexdigest(data).hex, alphabet)
74
+
75
+ opts.key?(:pad) && opts[:pad] \
76
+ ? base58.rjust(BASE58_LENGTH_MD5, alphabet_digits(alphabet)[0]) \
77
+ : base58
69
78
  end
70
79
 
71
80
  class << self
@@ -73,5 +82,4 @@ class Base58GMP
73
82
  alias_method :decode, :base58_to_integer
74
83
  alias_method :md5, :md5_base58
75
84
  end
76
-
77
85
  end
metadata CHANGED
@@ -1,76 +1,139 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: base58_gmp
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 7
10
- version: 0.0.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - John Wang
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2011-11-21 00:00:00 -08:00
19
- default_executable:
20
- dependencies: []
21
-
22
- description: High speed Base58 encoding using GMP with MD5 support and transcoding between Flickr, Bitcoin and GMP alphabets.
11
+ date: 2016-09-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: gmp
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: coveralls
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '11'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '11'
75
+ - !ruby/object:Gem::Dependency
76
+ name: simplecov
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: test-unit
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3'
103
+ description: High speed Base58 encoding using GMP with MD5 support and transcoding
104
+ between Flickr, Bitcoin and GMP alphabets.
23
105
  email: johncwang@gmail.com
24
106
  executables: []
25
-
26
107
  extensions: []
27
-
28
- extra_rdoc_files:
29
- - README.rdoc
30
- files:
31
- - CHANGELOG
32
- - MIT-LICENSE
33
- - README.rdoc
34
- - Rakefile
35
- - VERSION
108
+ extra_rdoc_files: []
109
+ files:
110
+ - CHANGELOG.md
111
+ - LICENSE.txt
112
+ - README.md
36
113
  - base58_gmp.gemspec
37
114
  - lib/base58_gmp.rb
38
- - test/test_base58_gmp.rb
39
- - test/test_encode-decode-multi.rb
40
- - test/test_alphabets.rb
41
- has_rdoc: true
42
- homepage: http://rubygems.org/gems/base58_gmp
43
- licenses: []
44
-
115
+ homepage: https://github.com/grokify/
116
+ licenses:
117
+ - MIT
118
+ metadata: {}
45
119
  post_install_message:
46
120
  rdoc_options: []
47
-
48
- require_paths:
121
+ require_paths:
49
122
  - lib
50
- required_ruby_version: !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ requirements:
53
125
  - - ">="
54
- - !ruby/object:Gem::Version
55
- hash: 3
56
- segments:
57
- - 0
58
- version: "0"
59
- required_rubygems_version: !ruby/object:Gem::Requirement
60
- none: false
61
- requirements:
126
+ - !ruby/object:Gem::Version
127
+ version: 2.0.0
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ requirements:
62
130
  - - ">="
63
- - !ruby/object:Gem::Version
64
- hash: 3
65
- segments:
66
- - 0
67
- version: "0"
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
68
133
  requirements: []
69
-
70
134
  rubyforge_project:
71
- rubygems_version: 1.3.7
135
+ rubygems_version: 2.5.1
72
136
  signing_key:
73
- specification_version: 3
137
+ specification_version: 4
74
138
  summary: High speed Base58 encoding using GMP with MD5 support
75
139
  test_files: []
76
-