rubybear 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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: []