peatio-jruby 2.6.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 (51) hide show
  1. checksums.yaml +7 -0
  2. data/.drone.yml +29 -0
  3. data/.gitignore +16 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +148 -0
  6. data/.simplecov +17 -0
  7. data/.tool-versions +1 -0
  8. data/.travis.yml +18 -0
  9. data/Gemfile +8 -0
  10. data/Gemfile.lock +198 -0
  11. data/README.md +47 -0
  12. data/Rakefile +6 -0
  13. data/bin/console +14 -0
  14. data/bin/peatio +12 -0
  15. data/bin/setup +8 -0
  16. data/lib/peatio.rb +52 -0
  17. data/lib/peatio/adapter_registry.rb +25 -0
  18. data/lib/peatio/auth/error.rb +18 -0
  19. data/lib/peatio/auth/jwt_authenticator.rb +127 -0
  20. data/lib/peatio/block.rb +29 -0
  21. data/lib/peatio/blockchain/abstract.rb +161 -0
  22. data/lib/peatio/blockchain/error.rb +37 -0
  23. data/lib/peatio/blockchain/registry.rb +16 -0
  24. data/lib/peatio/command/base.rb +11 -0
  25. data/lib/peatio/command/db.rb +20 -0
  26. data/lib/peatio/command/inject.rb +13 -0
  27. data/lib/peatio/command/root.rb +14 -0
  28. data/lib/peatio/command/security.rb +29 -0
  29. data/lib/peatio/command/service.rb +40 -0
  30. data/lib/peatio/error.rb +18 -0
  31. data/lib/peatio/executor.rb +64 -0
  32. data/lib/peatio/injectors/peatio_events.rb +240 -0
  33. data/lib/peatio/logger.rb +39 -0
  34. data/lib/peatio/metrics/server.rb +15 -0
  35. data/lib/peatio/mq/client.rb +51 -0
  36. data/lib/peatio/ranger/connection.rb +117 -0
  37. data/lib/peatio/ranger/events.rb +11 -0
  38. data/lib/peatio/ranger/router.rb +234 -0
  39. data/lib/peatio/ranger/web_socket.rb +68 -0
  40. data/lib/peatio/security/key_generator.rb +26 -0
  41. data/lib/peatio/sql/client.rb +19 -0
  42. data/lib/peatio/sql/schema.rb +72 -0
  43. data/lib/peatio/transaction.rb +122 -0
  44. data/lib/peatio/upstream/base.rb +116 -0
  45. data/lib/peatio/upstream/registry.rb +14 -0
  46. data/lib/peatio/version.rb +3 -0
  47. data/lib/peatio/wallet/abstract.rb +189 -0
  48. data/lib/peatio/wallet/error.rb +37 -0
  49. data/lib/peatio/wallet/registry.rb +16 -0
  50. data/peatio.gemspec +59 -0
  51. metadata +480 -0
@@ -0,0 +1,189 @@
1
+ module Peatio
2
+ module Wallet
3
+ # @abstract Represents basic wallet interface.
4
+ #
5
+ # Subclass and override abstract methods to implement
6
+ # a peatio plugable wallet.
7
+ # Than you need to register your wallet implementation.
8
+ #
9
+ # @see Bitcoin::Wallet Bitcoin as example of Abstract imlementation.
10
+ #
11
+ # @example
12
+ #
13
+ # class MyWallet < Peatio::Abstract::Wallet
14
+ # def create_address(options = {})
15
+ # # do something
16
+ # end
17
+ # ...
18
+ # end
19
+ #
20
+ # # Register MyWallet as peatio plugable wallet.
21
+ # Peatio::Wallet.registry[:my_wallet] = MyWallet.new
22
+ #
23
+ # @author
24
+ # Yaroslav Savchuk <savchukyarpolk@gmail.com> (https://github.com/ysv)
25
+ class Abstract
26
+ # Current wallet settings for performing API calls.
27
+ #
28
+ # @abstract
29
+ #
30
+ # @!attribute [r] settings
31
+ # @return [Hash] current wallet settings.
32
+ attr_reader :settings
33
+
34
+ # List of configurable settings.
35
+ #
36
+ # @see #configure
37
+ SUPPORTED_SETTINGS = %i[wallet currency].freeze
38
+
39
+ # Hash of features supported by wallet.
40
+ #
41
+ # @abstract
42
+ #
43
+ # @see Abstract::SUPPORTED_FEATURES for list of features supported by peatio.
44
+ #
45
+ # @!attribute [r] features
46
+ # @return [Hash] list of features supported by wallet.
47
+ attr_reader :features
48
+
49
+ # List of features supported by peatio.
50
+ #
51
+ # @note Features list:
52
+ #
53
+ # skip_deposit_collection - defines if deposit will be collected to
54
+ # hot, warm, cold wallets.
55
+ SUPPORTED_FEATURES = %i[skip_deposit_collection].freeze
56
+
57
+ # Abstract constructor.
58
+ #
59
+ # @abstract
60
+ #
61
+ # @example
62
+ # class MyWallet< Peatio::Abstract::Wallet
63
+ #
64
+ # # You could customize your wallet by passing features.
65
+ # def initialize(my_custom_features = {})
66
+ # @features = my_custom_features
67
+ # end
68
+ # ...
69
+ # end
70
+ #
71
+ # # Register MyWallet as peatio plugable wallet.
72
+ # custom_features = {cash_addr_format: true}
73
+ # Peatio::Wallet.registry[:my_wallet] = MyWallet.new(custom_features)
74
+ def initialize(*)
75
+ abstract_method
76
+ end
77
+
78
+ # Merges given configuration parameters with defined during initialization
79
+ # and returns the result.
80
+ #
81
+ # @abstract
82
+ #
83
+ # @param [Hash] settings configurations to use.
84
+ # @option settings [Hash] :wallet Wallet settings for performing API calls.
85
+ # With :address required key other settings could be customized
86
+ # using Wallet#settings.
87
+ # @option settings [Array<Hash>] :currencies List of currency hashes
88
+ # with :id,:base_factor,:options(deprecated) keys.
89
+ # Custom keys could be added by defining them in Currency #options.
90
+ #
91
+ # @return [Hash] merged settings.
92
+ #
93
+ # @note Be careful with your wallet state after configure.
94
+ # Clean everything what could be related to other wallet configuration.
95
+ # E.g. client state.
96
+ def configure(settings = {})
97
+ abstract_method
98
+ end
99
+
100
+ # Performs API call for address creation and returns it.
101
+ #
102
+ # @abstract
103
+ #
104
+ # @param [Hash] options
105
+ # @options options [String] :uid User UID which requested address creation.
106
+ #
107
+ # @return [Hash] newly created blockchain address.
108
+ #
109
+ # @raise [Peatio::Blockchain::ClientError] if error was raised
110
+ # on wallet API call.
111
+ #
112
+ # @example
113
+ # { address: :fake_address,
114
+ # secret: :changeme,
115
+ # details: { uid: account.member.uid } }
116
+ def create_address!(options = {})
117
+ abstract_method
118
+ end
119
+
120
+ # Performs API call for creating transaction and returns updated transaction.
121
+ #
122
+ # @abstract
123
+ #
124
+ # @param [Peatio::Transaction] transaction transaction with defined
125
+ # to_address, amount & currency_id.
126
+ #
127
+ # @param [Hash] options
128
+ # @options options [String] :subtract_fee Defines if you need to subtract
129
+ # fee from amount defined in transaction.
130
+ # It means that you need to deduct fee from amount declared in
131
+ # transaction and send only remaining amount.
132
+ # If transaction amount is 1.0 and estimated fee
133
+ # for sending transaction is 0.01 you need to send 0.09
134
+ # so 1.0 (0.9 + 0.1) will be subtracted from wallet balance
135
+ #
136
+ # @options options [String] custon options for wallet client.
137
+ #
138
+ # @return [Peatio::Transaction] transaction with updated hash.
139
+ #
140
+ # @raise [Peatio::Blockchain::ClientError] if error was raised
141
+ # on wallet API call.
142
+ def create_transaction!(transaction, options = {})
143
+ abstract_method
144
+ end
145
+
146
+ # Fetches address balance of specific currency.
147
+ #
148
+ # @note Optional. Don't override this method if your blockchain
149
+ # doesn't provide functionality to get balance by address.
150
+ #
151
+ # @return [BigDecimal] the current address balance.
152
+ #
153
+ # @raise [Peatio::Blockchain::ClientError,Peatio::Blockchain::UnavailableAddressBalanceError]
154
+ # if error was raised on wallet API call ClientError is raised.
155
+ # if wallet API call was successful but we can't detect balance
156
+ # for address Error is raised.
157
+ def load_balance!
158
+ raise Peatio::Wallet::UnavailableAddressBalanceError
159
+ end
160
+
161
+ # Performs API call(s) for preparing for deposit collection.
162
+ # E.g deposits ETH for collecting ERC20 tokens in case of Ethereum blockchain.
163
+ #
164
+ # @note Optional. Override this method only if you need additional step
165
+ # before deposit collection.
166
+ #
167
+ # @param [Peatio::Transaction] deposit_transaction transaction which
168
+ # describes received deposit.
169
+ #
170
+ # @param [Array<Peatio::Transaction>] spread_transactions result of deposit
171
+ # spread between wallets.
172
+ #
173
+ # @return [Array<Peatio::Transaction>] transaction created for
174
+ # deposit collection preparing.
175
+ # By default return empty [Array]
176
+ def prepare_deposit_collection!(deposit_transaction, spread_transactions, deposit_currency)
177
+ # This method is mostly used for coins which needs additional fees
178
+ # to be deposited before deposit collection.
179
+ []
180
+ end
181
+
182
+ private
183
+
184
+ def abstract_method
185
+ method_not_implemented
186
+ end
187
+ end
188
+ end
189
+ end
@@ -0,0 +1,37 @@
1
+ module Peatio
2
+ module Wallet
3
+ Error = Class.new(StandardError)
4
+
5
+ class ClientError < Error
6
+
7
+ attr_reader :wrapped_ex
8
+
9
+ def initialize(ex_or_string)
10
+ @wrapped_ex = nil
11
+
12
+ if ex_or_string.respond_to?(:backtrace)
13
+ super(ex_or_string.message)
14
+ @wrapped_exception = ex_or_string
15
+ else
16
+ super(ex_or_string.to_s)
17
+ end
18
+ end
19
+ end
20
+
21
+ class MissingSettingError < Error
22
+ def initialize(key)
23
+ super "#{key.capitalize} setting is missing"
24
+ end
25
+ end
26
+
27
+ class UnavailableAddressBalanceError < Error
28
+ def initialize(address)
29
+ @address = address
30
+ end
31
+
32
+ def message
33
+ "Unable to load #{@address} balance"
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,16 @@
1
+ require "peatio/adapter_registry"
2
+
3
+ module Peatio
4
+ module Wallet
5
+
6
+ VERSION = "1.0.0".freeze
7
+
8
+ class << self
9
+ def registry
10
+ @registry ||= Registry.new
11
+ end
12
+ end
13
+ class Registry < Peatio::AdapterRegistry
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require "peatio/version"
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "peatio-jruby"
9
+ spec.version = Peatio::VERSION
10
+ spec.authors = ["Rui Andrada", "Louis B.", "Camille M."]
11
+ spec.email = ["shingonoide@gmail.com"]
12
+
13
+ spec.summary = "Peatio is a gem for running critical core services"
14
+ spec.description = "Peatio gem contains microservices and command line tools"
15
+ spec.homepage = "https://github.com/shingonoide/peatio-core"
16
+
17
+ # Specify which files should be added to the gem when it is released.
18
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
+ `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
21
+ end
22
+ spec.bindir = "bin"
23
+ spec.executables = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
24
+ spec.require_paths = ["lib"]
25
+
26
+ spec.add_dependency "activemodel", "> 5.2", "<= 6.0.0"
27
+ spec.add_dependency "amqp"
28
+ spec.add_dependency "bunny"
29
+ spec.add_dependency "clamp"
30
+ spec.add_dependency "em-synchrony", "~> 1.0"
31
+ spec.add_dependency "em-websocket"
32
+ spec.add_dependency "eventmachine"
33
+ spec.add_dependency "faraday_middleware", "~> 0.13.1"
34
+ spec.add_dependency "faye", "~> 1.2"
35
+ spec.add_dependency "jwt"
36
+ if defined?(JRUBY_VERSION)
37
+ spec.add_dependency 'activerecord-jdbc-adapter'
38
+ spec.add_dependency 'jdbc-mysql'
39
+ spec.add_dependency 'activerecord-jdbcmysql-adapter'
40
+ spec.add_dependency 'trinidad'
41
+ else
42
+ spec.add_dependency "mysql2"
43
+ spec.add_dependency "thin"
44
+ end
45
+ spec.add_dependency "prometheus-client"
46
+
47
+ spec.add_development_dependency "bump"
48
+ spec.add_development_dependency "bundler"
49
+ spec.add_development_dependency "bunny-mock"
50
+ spec.add_development_dependency "em-spec"
51
+ spec.add_development_dependency "em-websocket-client"
52
+ spec.add_development_dependency "irb"
53
+ spec.add_development_dependency "rake", "~> 13.0"
54
+ spec.add_development_dependency "rspec", "~> 3.0"
55
+ spec.add_development_dependency "rspec_junit_formatter"
56
+ spec.add_development_dependency "rubocop-github"
57
+ spec.add_development_dependency "simplecov"
58
+ spec.add_development_dependency "simplecov-json"
59
+ end
metadata ADDED
@@ -0,0 +1,480 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: peatio-jruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.6.2
5
+ platform: ruby
6
+ authors:
7
+ - Rui Andrada
8
+ - Louis B.
9
+ - Camille M.
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2021-01-28 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">"
19
+ - !ruby/object:Gem::Version
20
+ version: '5.2'
21
+ - - "<="
22
+ - !ruby/object:Gem::Version
23
+ version: 6.0.0
24
+ name: activemodel
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">"
30
+ - !ruby/object:Gem::Version
31
+ version: '5.2'
32
+ - - "<="
33
+ - !ruby/object:Gem::Version
34
+ version: 6.0.0
35
+ - !ruby/object:Gem::Dependency
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ name: amqp
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ - !ruby/object:Gem::Dependency
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ name: bunny
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ name: clamp
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ - !ruby/object:Gem::Dependency
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ name: em-synchrony
84
+ type: :runtime
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '1.0'
91
+ - !ruby/object:Gem::Dependency
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ name: em-websocket
98
+ type: :runtime
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ - !ruby/object:Gem::Dependency
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ name: eventmachine
112
+ type: :runtime
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ - !ruby/object:Gem::Dependency
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.13.1
125
+ name: faraday_middleware
126
+ type: :runtime
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 0.13.1
133
+ - !ruby/object:Gem::Dependency
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.2'
139
+ name: faye
140
+ type: :runtime
141
+ prerelease: false
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '1.2'
147
+ - !ruby/object:Gem::Dependency
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ name: jwt
154
+ type: :runtime
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ - !ruby/object:Gem::Dependency
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ name: activerecord-jdbc-adapter
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ - !ruby/object:Gem::Dependency
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ name: jdbc-mysql
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ - !ruby/object:Gem::Dependency
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ name: activerecord-jdbcmysql-adapter
196
+ type: :runtime
197
+ prerelease: false
198
+ version_requirements: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ - !ruby/object:Gem::Dependency
204
+ requirement: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ name: trinidad
210
+ type: :runtime
211
+ prerelease: false
212
+ version_requirements: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ - !ruby/object:Gem::Dependency
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ name: prometheus-client
224
+ type: :runtime
225
+ prerelease: false
226
+ version_requirements: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ - !ruby/object:Gem::Dependency
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ name: bump
238
+ type: :development
239
+ prerelease: false
240
+ version_requirements: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ - !ruby/object:Gem::Dependency
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ name: bundler
252
+ type: :development
253
+ prerelease: false
254
+ version_requirements: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ - !ruby/object:Gem::Dependency
260
+ requirement: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ name: bunny-mock
266
+ type: :development
267
+ prerelease: false
268
+ version_requirements: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: '0'
273
+ - !ruby/object:Gem::Dependency
274
+ requirement: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ name: em-spec
280
+ type: :development
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: '0'
287
+ - !ruby/object:Gem::Dependency
288
+ requirement: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ name: em-websocket-client
294
+ type: :development
295
+ prerelease: false
296
+ version_requirements: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - ">="
299
+ - !ruby/object:Gem::Version
300
+ version: '0'
301
+ - !ruby/object:Gem::Dependency
302
+ requirement: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ name: irb
308
+ type: :development
309
+ prerelease: false
310
+ version_requirements: !ruby/object:Gem::Requirement
311
+ requirements:
312
+ - - ">="
313
+ - !ruby/object:Gem::Version
314
+ version: '0'
315
+ - !ruby/object:Gem::Dependency
316
+ requirement: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '13.0'
321
+ name: rake
322
+ type: :development
323
+ prerelease: false
324
+ version_requirements: !ruby/object:Gem::Requirement
325
+ requirements:
326
+ - - "~>"
327
+ - !ruby/object:Gem::Version
328
+ version: '13.0'
329
+ - !ruby/object:Gem::Dependency
330
+ requirement: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - "~>"
333
+ - !ruby/object:Gem::Version
334
+ version: '3.0'
335
+ name: rspec
336
+ type: :development
337
+ prerelease: false
338
+ version_requirements: !ruby/object:Gem::Requirement
339
+ requirements:
340
+ - - "~>"
341
+ - !ruby/object:Gem::Version
342
+ version: '3.0'
343
+ - !ruby/object:Gem::Dependency
344
+ requirement: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ">="
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
349
+ name: rspec_junit_formatter
350
+ type: :development
351
+ prerelease: false
352
+ version_requirements: !ruby/object:Gem::Requirement
353
+ requirements:
354
+ - - ">="
355
+ - !ruby/object:Gem::Version
356
+ version: '0'
357
+ - !ruby/object:Gem::Dependency
358
+ requirement: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - ">="
361
+ - !ruby/object:Gem::Version
362
+ version: '0'
363
+ name: rubocop-github
364
+ type: :development
365
+ prerelease: false
366
+ version_requirements: !ruby/object:Gem::Requirement
367
+ requirements:
368
+ - - ">="
369
+ - !ruby/object:Gem::Version
370
+ version: '0'
371
+ - !ruby/object:Gem::Dependency
372
+ requirement: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">="
375
+ - !ruby/object:Gem::Version
376
+ version: '0'
377
+ name: simplecov
378
+ type: :development
379
+ prerelease: false
380
+ version_requirements: !ruby/object:Gem::Requirement
381
+ requirements:
382
+ - - ">="
383
+ - !ruby/object:Gem::Version
384
+ version: '0'
385
+ - !ruby/object:Gem::Dependency
386
+ requirement: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - ">="
389
+ - !ruby/object:Gem::Version
390
+ version: '0'
391
+ name: simplecov-json
392
+ type: :development
393
+ prerelease: false
394
+ version_requirements: !ruby/object:Gem::Requirement
395
+ requirements:
396
+ - - ">="
397
+ - !ruby/object:Gem::Version
398
+ version: '0'
399
+ description: Peatio gem contains microservices and command line tools
400
+ email:
401
+ - shingonoide@gmail.com
402
+ executables:
403
+ - console
404
+ - peatio
405
+ - setup
406
+ extensions: []
407
+ extra_rdoc_files: []
408
+ files:
409
+ - ".drone.yml"
410
+ - ".gitignore"
411
+ - ".rspec"
412
+ - ".rubocop.yml"
413
+ - ".simplecov"
414
+ - ".tool-versions"
415
+ - ".travis.yml"
416
+ - Gemfile
417
+ - Gemfile.lock
418
+ - README.md
419
+ - Rakefile
420
+ - bin/console
421
+ - bin/peatio
422
+ - bin/setup
423
+ - lib/peatio.rb
424
+ - lib/peatio/adapter_registry.rb
425
+ - lib/peatio/auth/error.rb
426
+ - lib/peatio/auth/jwt_authenticator.rb
427
+ - lib/peatio/block.rb
428
+ - lib/peatio/blockchain/abstract.rb
429
+ - lib/peatio/blockchain/error.rb
430
+ - lib/peatio/blockchain/registry.rb
431
+ - lib/peatio/command/base.rb
432
+ - lib/peatio/command/db.rb
433
+ - lib/peatio/command/inject.rb
434
+ - lib/peatio/command/root.rb
435
+ - lib/peatio/command/security.rb
436
+ - lib/peatio/command/service.rb
437
+ - lib/peatio/error.rb
438
+ - lib/peatio/executor.rb
439
+ - lib/peatio/injectors/peatio_events.rb
440
+ - lib/peatio/logger.rb
441
+ - lib/peatio/metrics/server.rb
442
+ - lib/peatio/mq/client.rb
443
+ - lib/peatio/ranger/connection.rb
444
+ - lib/peatio/ranger/events.rb
445
+ - lib/peatio/ranger/router.rb
446
+ - lib/peatio/ranger/web_socket.rb
447
+ - lib/peatio/security/key_generator.rb
448
+ - lib/peatio/sql/client.rb
449
+ - lib/peatio/sql/schema.rb
450
+ - lib/peatio/transaction.rb
451
+ - lib/peatio/upstream/base.rb
452
+ - lib/peatio/upstream/registry.rb
453
+ - lib/peatio/version.rb
454
+ - lib/peatio/wallet/abstract.rb
455
+ - lib/peatio/wallet/error.rb
456
+ - lib/peatio/wallet/registry.rb
457
+ - peatio.gemspec
458
+ homepage: https://github.com/shingonoide/peatio-core
459
+ licenses: []
460
+ metadata: {}
461
+ post_install_message:
462
+ rdoc_options: []
463
+ require_paths:
464
+ - lib
465
+ required_ruby_version: !ruby/object:Gem::Requirement
466
+ requirements:
467
+ - - ">="
468
+ - !ruby/object:Gem::Version
469
+ version: '0'
470
+ required_rubygems_version: !ruby/object:Gem::Requirement
471
+ requirements:
472
+ - - ">="
473
+ - !ruby/object:Gem::Version
474
+ version: '0'
475
+ requirements: []
476
+ rubygems_version: 3.0.6
477
+ signing_key:
478
+ specification_version: 4
479
+ summary: Peatio is a gem for running critical core services
480
+ test_files: []