rubybear 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +77 -0
  4. data/LICENSE +41 -0
  5. data/README.md +559 -0
  6. data/Rakefile +140 -0
  7. data/gource.sh +8 -0
  8. data/images/Anthony Martin.png +0 -0
  9. data/images/Marvin Hofmann.jpg +0 -0
  10. data/images/Marvin Hofmann.png +0 -0
  11. data/lib/bears.rb +17 -0
  12. data/lib/rubybear.rb +45 -0
  13. data/lib/rubybear/account_by_key_api.rb +7 -0
  14. data/lib/rubybear/account_history_api.rb +15 -0
  15. data/lib/rubybear/api.rb +907 -0
  16. data/lib/rubybear/base_error.rb +23 -0
  17. data/lib/rubybear/block_api.rb +14 -0
  18. data/lib/rubybear/broadcast_operations.json +500 -0
  19. data/lib/rubybear/chain.rb +299 -0
  20. data/lib/rubybear/chain_config.rb +22 -0
  21. data/lib/rubybear/chain_stats_api.rb +15 -0
  22. data/lib/rubybear/condenser_api.rb +99 -0
  23. data/lib/rubybear/database_api.rb +5 -0
  24. data/lib/rubybear/error_parser.rb +228 -0
  25. data/lib/rubybear/follow_api.rb +7 -0
  26. data/lib/rubybear/logger.rb +20 -0
  27. data/lib/rubybear/market_history_api.rb +19 -0
  28. data/lib/rubybear/methods.json +498 -0
  29. data/lib/rubybear/mixins/acts_as_poster.rb +124 -0
  30. data/lib/rubybear/mixins/acts_as_voter.rb +50 -0
  31. data/lib/rubybear/mixins/acts_as_wallet.rb +67 -0
  32. data/lib/rubybear/network_broadcast_api.rb +7 -0
  33. data/lib/rubybear/operation.rb +101 -0
  34. data/lib/rubybear/operation_ids.rb +98 -0
  35. data/lib/rubybear/operation_types.rb +139 -0
  36. data/lib/rubybear/stream.rb +527 -0
  37. data/lib/rubybear/tag_api.rb +33 -0
  38. data/lib/rubybear/transaction.rb +306 -0
  39. data/lib/rubybear/type/amount.rb +57 -0
  40. data/lib/rubybear/type/array.rb +17 -0
  41. data/lib/rubybear/type/beneficiaries.rb +29 -0
  42. data/lib/rubybear/type/future.rb +18 -0
  43. data/lib/rubybear/type/hash.rb +17 -0
  44. data/lib/rubybear/type/permission.rb +19 -0
  45. data/lib/rubybear/type/point_in_time.rb +19 -0
  46. data/lib/rubybear/type/price.rb +25 -0
  47. data/lib/rubybear/type/public_key.rb +18 -0
  48. data/lib/rubybear/type/serializer.rb +12 -0
  49. data/lib/rubybear/type/u_int16.rb +19 -0
  50. data/lib/rubybear/type/u_int32.rb +19 -0
  51. data/lib/rubybear/utils.rb +170 -0
  52. data/lib/rubybear/version.rb +4 -0
  53. data/rubybear.gemspec +40 -0
  54. metadata +412 -0
@@ -0,0 +1,17 @@
1
+ module Rubybear
2
+ module Type
3
+ class Hash < Serializer
4
+ def initialize(value)
5
+ super(:hash, true)
6
+ end
7
+
8
+ def to_bytes
9
+ pakHash(@value)
10
+ end
11
+
12
+ def to_s
13
+ @value.to_json
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ module Rubybear
2
+ module Type
3
+
4
+ # See: https://github.com/xeroc/piston-lib/blob/34a7525cee119ec9b24a99577ede2d54466fca0e/bearsbase/operations.py
5
+ class Permission < Serializer
6
+ def initialize(value)
7
+ super(:permission, value)
8
+ end
9
+
10
+ def to_bytes
11
+ pakHash(@value)
12
+ end
13
+
14
+ def to_s
15
+ @value.to_json
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Rubybear
2
+ module Type
3
+
4
+ # See: https://github.com/xeroc/python-graphenelib/blob/98de98e219264d45fe04b3c28f3aabd1a9f58b71/graphenebase/types.py
5
+ class PointInTime < Serializer
6
+ def initialize(value)
7
+ super(:point_in_time, value)
8
+ end
9
+
10
+ def to_bytes
11
+ [Time.parse(@value + 'Z').to_i].pack('I')
12
+ end
13
+
14
+ def to_s
15
+ @value
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,25 @@
1
+ module Rubybear
2
+ module Type
3
+ class Price < Serializer
4
+
5
+ def initialize(value)
6
+ super(:price, value)
7
+
8
+ @base = Amount.new(@value[:base])
9
+ @quote = Amount.new(@value[:quote])
10
+ end
11
+
12
+ def to_bytes
13
+ @base.to_bytes + @quote.to_bytes
14
+ end
15
+
16
+ def to_h
17
+ {@key => {base: @base, quote: @quote}}
18
+ end
19
+
20
+ def to_s
21
+ to_h.to_json
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,18 @@
1
+ module Rubybear
2
+ module Type
3
+
4
+ # See: https://github.com/xeroc/piston-lib/blob/34a7525cee119ec9b24a99577ede2d54466fca0e/bearsbase/operations.py
5
+ class PublicKey < Serializer
6
+ def initialize(value)
7
+ super(:public_key, value)
8
+ raise NotImplementedError, 'stub'
9
+ end
10
+
11
+ def to_bytes
12
+ end
13
+
14
+ def to_s
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ module Rubybear
2
+ module Type
3
+ class Serializer
4
+ include Rubybear::Utils
5
+
6
+ def initialize(key, value)
7
+ @key = key
8
+ @value = value
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ module Rubybear
2
+ module Type
3
+
4
+ # See: https://github.com/xeroc/piston-lib/blob/34a7525cee119ec9b24a99577ede2d54466fca0e/bearsbase/operations.py
5
+ class Uint16 < Serializer
6
+ def initialize(value)
7
+ super(:u_int_16, value.to_i)
8
+ end
9
+
10
+ def to_bytes
11
+ [@value].pack('S')
12
+ end
13
+
14
+ def to_s
15
+ @value.to_s
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module Rubybear
2
+ module Type
3
+
4
+ # See: https://github.com/xeroc/piston-lib/blob/34a7525cee119ec9b24a99577ede2d54466fca0e/bearsbase/operations.py
5
+ class Uint32 < Serializer
6
+ def initialize(value)
7
+ super(:u_int_32, value.to_i)
8
+ end
9
+
10
+ def to_bytes
11
+ [@value].pack('L')
12
+ end
13
+
14
+ def to_s
15
+ @value.to_s
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,170 @@
1
+ module Rubybear
2
+ module Utils
3
+ def extract_signatures(options)
4
+ return [] unless defined? options[:params].map
5
+
6
+ params = options[:params]
7
+
8
+ signatures = params.map do |param|
9
+ next unless defined? param.map
10
+
11
+ param.map do |tx|
12
+ tx[:signatures] rescue nil
13
+ end
14
+ end.flatten.compact
15
+
16
+ expirations = params.map do |param|
17
+ next unless defined? param.map
18
+
19
+ param.map do |tx|
20
+ Time.parse(tx[:expiration] + 'Z') rescue nil
21
+ end
22
+ end.flatten.compact
23
+
24
+ [signatures, expirations.min]
25
+ end
26
+
27
+ def send_log(level, obj, prefix = nil)
28
+ log_message = case obj
29
+ when String
30
+ log_message = if !!prefix
31
+ "#{prefix} :: #{obj}"
32
+ else
33
+ obj
34
+ end
35
+
36
+ if !!@logger
37
+ @logger.send level, log_message
38
+ else
39
+ puts "#{level}: #{log_message}"
40
+ end
41
+ else
42
+ if defined? @logger.ap
43
+ if !!prefix
44
+ @logger.ap log_level: level, prefix => obj
45
+ else
46
+ @logger.ap obj, level
47
+ end
48
+ else
49
+ if !!prefix
50
+ @logger.send level, ({prefix => obj}).inspect
51
+ else
52
+ @logger.send level, obj.inspect
53
+ end
54
+ end
55
+ end
56
+
57
+ nil
58
+ end
59
+
60
+ def error(obj, prefix = nil)
61
+ send_log(:error, obj, prefix)
62
+ end
63
+
64
+ def warning(obj, prefix = nil, log_debug_node = false)
65
+ debug("Current node: #{@url}", prefix) if !!log_debug_node && @url
66
+
67
+ send_log(:warn, obj, prefix)
68
+ end
69
+
70
+ def debug(obj, prefix = nil)
71
+ if %w(DEBUG TRACE).include? ENV['LOG']
72
+ send_log(:debug, obj, prefix)
73
+ end
74
+ end
75
+
76
+ def hexlify(s)
77
+ a = []
78
+ if s.respond_to? :each_byte
79
+ s.each_byte { |b| a << sprintf('%02X', b) }
80
+ else
81
+ s.each { |b| a << sprintf('%02X', b) }
82
+ end
83
+ a.join.downcase
84
+ end
85
+
86
+ def unhexlify(s)
87
+ s.split.pack('H*')
88
+ end
89
+
90
+ def varint(n)
91
+ data = []
92
+ while n >= 0x80
93
+ data += [(n & 0x7f) | 0x80]
94
+
95
+ n >>= 7
96
+ end
97
+
98
+ data += [n]
99
+
100
+ data.pack('C*')
101
+ end
102
+
103
+ def pakStr(s)
104
+ s = s.dup.force_encoding('BINARY')
105
+ bytes = []
106
+ bytes << varint(s.size)
107
+ bytes << s
108
+
109
+ bytes.join
110
+ end
111
+
112
+ def pakArr(a)
113
+ varint(a.size) + a.map do |v|
114
+ case v
115
+ when Symbol then pakStr(v.to_s)
116
+ when String then pakStr(v)
117
+ when Integer then paks(v)
118
+ when TrueClass then pakC(1)
119
+ when FalseClass then pakC(0)
120
+ when ::Array then pakArr(v)
121
+ when ::Hash then pakHash(v)
122
+ when NilClass then next
123
+ else
124
+ raise OperationError, "Unsupported type: #{v.class}"
125
+ end
126
+ end.join
127
+ end
128
+
129
+ def pakHash(h)
130
+ varint(h.size) + h.map do |k, v|
131
+ pakStr(k.to_s) + case v
132
+ when Symbol then pakStr(v.to_s)
133
+ when String then pakStr(v)
134
+ when Integer then paks(v)
135
+ when TrueClass then pakC(1)
136
+ when FalseClass then pakC(0)
137
+ when ::Array then pakArr(v)
138
+ when ::Hash then pakHash(v)
139
+ when NilClass then next
140
+ else
141
+ raise OperationError, "Unsupported type: #{v.class}"
142
+ end
143
+ end.join
144
+ end
145
+
146
+ def pakC(i)
147
+ [i].pack('C')
148
+ end
149
+
150
+ def pakc(i)
151
+ [i].pack('c')
152
+ end
153
+
154
+ def paks(i)
155
+ [i].pack('s')
156
+ end
157
+
158
+ def pakS(i)
159
+ [i].pack('S')
160
+ end
161
+
162
+ def pakI(i)
163
+ [i].pack('I')
164
+ end
165
+
166
+ def pakL!(i)
167
+ [i].pack('L!')
168
+ end
169
+ end
170
+ end
@@ -0,0 +1,4 @@
1
+ module Rubybear
2
+ VERSION = '0.0.2'
3
+ AGENT_ID = "rubybear/#{VERSION}"
4
+ end
@@ -0,0 +1,40 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'rubybear/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'rubybear'
8
+ spec.version = Rubybear::VERSION
9
+ spec.authors = ['Bilal Haider']
10
+ spec.email = ['bilal_haider032@yahoo.com']
11
+
12
+ spec.summary = %q{BEARS RPC Ruby Client}
13
+ spec.description = %q{Client for accessing the BEARS blockchain.}
14
+ spec.homepage = 'https://github.com/bearshares/rubybear'
15
+ spec.license = 'CC0-1.0'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
18
+ spec.require_paths = ['lib']
19
+
20
+ spec.add_development_dependency 'bundler', '~> 1.15', '>= 1.15.4'
21
+ spec.add_development_dependency 'rake', '~> 12.1', '>= 12.1.0'
22
+ spec.add_development_dependency 'minitest', '~> 5.10', '>= 5.10.3'
23
+ spec.add_development_dependency 'minitest-line', '~> 0.6.3'
24
+ spec.add_development_dependency 'minitest-proveit', '~> 1.0', '>= 1.0.0'
25
+ spec.add_development_dependency 'webmock', '~> 3.1', '>= 3.1.0'
26
+ spec.add_development_dependency 'simplecov', '~> 0.16.1'
27
+ spec.add_development_dependency 'vcr', '~> 4.0', '>= 4.0.0'
28
+ spec.add_development_dependency 'yard', '~> 0.9.9'
29
+ spec.add_development_dependency 'pry', '~> 0.11', '>= 0.11.3'
30
+
31
+ # net-http-persistent has an open-ended dependency because rubybear directly
32
+ # supports net-http-persistent-3.0.0 as well as net-http-persistent-2.5.2.
33
+ spec.add_dependency('net-http-persistent', '>= 2.5.2')
34
+ spec.add_dependency('json', '~> 2.0', '>= 2.0.2')
35
+ spec.add_dependency('logging', '~> 2.2', '>= 2.2.0')
36
+ spec.add_dependency('hashie', '~> 3.5', '>= 3.5.5')
37
+ spec.add_dependency('bitcoin-ruby', '~> 0.0', '>= 0.0.11')
38
+ spec.add_dependency('ffi', '~> 1.9', '>= 1.9.18')
39
+ spec.add_dependency('awesome_print', '~> 1.7', '>= 1.7.0')
40
+ end
metadata ADDED
@@ -0,0 +1,412 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubybear
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Bilal Haider
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-02-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.15.4
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.15'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.15.4
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '12.1'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 12.1.0
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '12.1'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 12.1.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: minitest
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '5.10'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 5.10.3
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '5.10'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 5.10.3
73
+ - !ruby/object:Gem::Dependency
74
+ name: minitest-line
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 0.6.3
80
+ type: :development
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - "~>"
85
+ - !ruby/object:Gem::Version
86
+ version: 0.6.3
87
+ - !ruby/object:Gem::Dependency
88
+ name: minitest-proveit
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: '1.0'
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.0
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 1.0.0
107
+ - !ruby/object:Gem::Dependency
108
+ name: webmock
109
+ requirement: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '3.1'
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 3.1.0
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '3.1'
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 3.1.0
127
+ - !ruby/object:Gem::Dependency
128
+ name: simplecov
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: 0.16.1
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: 0.16.1
141
+ - !ruby/object:Gem::Dependency
142
+ name: vcr
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '4.0'
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 4.0.0
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '4.0'
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: 4.0.0
161
+ - !ruby/object:Gem::Dependency
162
+ name: yard
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: 0.9.9
168
+ type: :development
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: 0.9.9
175
+ - !ruby/object:Gem::Dependency
176
+ name: pry
177
+ requirement: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: '0.11'
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: 0.11.3
185
+ type: :development
186
+ prerelease: false
187
+ version_requirements: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - "~>"
190
+ - !ruby/object:Gem::Version
191
+ version: '0.11'
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 0.11.3
195
+ - !ruby/object:Gem::Dependency
196
+ name: net-http-persistent
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: 2.5.2
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: 2.5.2
209
+ - !ruby/object:Gem::Dependency
210
+ name: json
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '2.0'
216
+ - - ">="
217
+ - !ruby/object:Gem::Version
218
+ version: 2.0.2
219
+ type: :runtime
220
+ prerelease: false
221
+ version_requirements: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - "~>"
224
+ - !ruby/object:Gem::Version
225
+ version: '2.0'
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: 2.0.2
229
+ - !ruby/object:Gem::Dependency
230
+ name: logging
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '2.2'
236
+ - - ">="
237
+ - !ruby/object:Gem::Version
238
+ version: 2.2.0
239
+ type: :runtime
240
+ prerelease: false
241
+ version_requirements: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - "~>"
244
+ - !ruby/object:Gem::Version
245
+ version: '2.2'
246
+ - - ">="
247
+ - !ruby/object:Gem::Version
248
+ version: 2.2.0
249
+ - !ruby/object:Gem::Dependency
250
+ name: hashie
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - "~>"
254
+ - !ruby/object:Gem::Version
255
+ version: '3.5'
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: 3.5.5
259
+ type: :runtime
260
+ prerelease: false
261
+ version_requirements: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - "~>"
264
+ - !ruby/object:Gem::Version
265
+ version: '3.5'
266
+ - - ">="
267
+ - !ruby/object:Gem::Version
268
+ version: 3.5.5
269
+ - !ruby/object:Gem::Dependency
270
+ name: bitcoin-ruby
271
+ requirement: !ruby/object:Gem::Requirement
272
+ requirements:
273
+ - - "~>"
274
+ - !ruby/object:Gem::Version
275
+ version: '0.0'
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: 0.0.11
279
+ type: :runtime
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '0.0'
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: 0.0.11
289
+ - !ruby/object:Gem::Dependency
290
+ name: ffi
291
+ requirement: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - "~>"
294
+ - !ruby/object:Gem::Version
295
+ version: '1.9'
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: 1.9.18
299
+ type: :runtime
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - "~>"
304
+ - !ruby/object:Gem::Version
305
+ version: '1.9'
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: 1.9.18
309
+ - !ruby/object:Gem::Dependency
310
+ name: awesome_print
311
+ requirement: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - "~>"
314
+ - !ruby/object:Gem::Version
315
+ version: '1.7'
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: 1.7.0
319
+ type: :runtime
320
+ prerelease: false
321
+ version_requirements: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - "~>"
324
+ - !ruby/object:Gem::Version
325
+ version: '1.7'
326
+ - - ">="
327
+ - !ruby/object:Gem::Version
328
+ version: 1.7.0
329
+ description: Client for accessing the BEARS blockchain.
330
+ email:
331
+ - bilal_haider032@yahoo.com
332
+ executables: []
333
+ extensions: []
334
+ extra_rdoc_files: []
335
+ files:
336
+ - Gemfile
337
+ - Gemfile.lock
338
+ - LICENSE
339
+ - README.md
340
+ - Rakefile
341
+ - gource.sh
342
+ - images/Anthony Martin.png
343
+ - images/Marvin Hofmann.jpg
344
+ - images/Marvin Hofmann.png
345
+ - lib/bears.rb
346
+ - lib/rubybear.rb
347
+ - lib/rubybear/account_by_key_api.rb
348
+ - lib/rubybear/account_history_api.rb
349
+ - lib/rubybear/api.rb
350
+ - lib/rubybear/base_error.rb
351
+ - lib/rubybear/block_api.rb
352
+ - lib/rubybear/broadcast_operations.json
353
+ - lib/rubybear/chain.rb
354
+ - lib/rubybear/chain_config.rb
355
+ - lib/rubybear/chain_stats_api.rb
356
+ - lib/rubybear/condenser_api.rb
357
+ - lib/rubybear/database_api.rb
358
+ - lib/rubybear/error_parser.rb
359
+ - lib/rubybear/follow_api.rb
360
+ - lib/rubybear/logger.rb
361
+ - lib/rubybear/market_history_api.rb
362
+ - lib/rubybear/methods.json
363
+ - lib/rubybear/mixins/acts_as_poster.rb
364
+ - lib/rubybear/mixins/acts_as_voter.rb
365
+ - lib/rubybear/mixins/acts_as_wallet.rb
366
+ - lib/rubybear/network_broadcast_api.rb
367
+ - lib/rubybear/operation.rb
368
+ - lib/rubybear/operation_ids.rb
369
+ - lib/rubybear/operation_types.rb
370
+ - lib/rubybear/stream.rb
371
+ - lib/rubybear/tag_api.rb
372
+ - lib/rubybear/transaction.rb
373
+ - lib/rubybear/type/amount.rb
374
+ - lib/rubybear/type/array.rb
375
+ - lib/rubybear/type/beneficiaries.rb
376
+ - lib/rubybear/type/future.rb
377
+ - lib/rubybear/type/hash.rb
378
+ - lib/rubybear/type/permission.rb
379
+ - lib/rubybear/type/point_in_time.rb
380
+ - lib/rubybear/type/price.rb
381
+ - lib/rubybear/type/public_key.rb
382
+ - lib/rubybear/type/serializer.rb
383
+ - lib/rubybear/type/u_int16.rb
384
+ - lib/rubybear/type/u_int32.rb
385
+ - lib/rubybear/utils.rb
386
+ - lib/rubybear/version.rb
387
+ - rubybear.gemspec
388
+ homepage: https://github.com/bearshares/rubybear
389
+ licenses:
390
+ - CC0-1.0
391
+ metadata: {}
392
+ post_install_message:
393
+ rdoc_options: []
394
+ require_paths:
395
+ - lib
396
+ required_ruby_version: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - ">="
399
+ - !ruby/object:Gem::Version
400
+ version: '0'
401
+ required_rubygems_version: !ruby/object:Gem::Requirement
402
+ requirements:
403
+ - - ">="
404
+ - !ruby/object:Gem::Version
405
+ version: '0'
406
+ requirements: []
407
+ rubyforge_project:
408
+ rubygems_version: 2.7.6
409
+ signing_key:
410
+ specification_version: 4
411
+ summary: BEARS RPC Ruby Client
412
+ test_files: []