peatio 2.4.2 → 2.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7501f3bc4884f0d1a87ca148a6583150151d8b94349a7a4b8cd18890cf4a9d08
4
- data.tar.gz: 80e9ab1529ddf6e1f9fbd06eac0f7c263b2c50b5c455cd68d268e63d5f654736
3
+ metadata.gz: 5c36c6cbd080625a4469002948af4ae19fdea66a953cef26427bcc177b630ba0
4
+ data.tar.gz: 06b06f276b066d5253b5a8845bfb7b0d802c250c840fc3d4c6e50b8ad4566b0a
5
5
  SHA512:
6
- metadata.gz: f8e778a89f9f4eea227edefd70f2e6304da2f8723b46c2ac5fe388a285dc7c2d9d7a65c0448e6db2dfca4bd4844c098148222627ce0f9ddf26b00986dea81115
7
- data.tar.gz: e22e11488eac433bf315d537b9ed24ac5dc06bb42189b487f25967b9a1da7e60bd63149de22d37faef26c97504006a51dce06132e995cd8f6cfe5afdd55ad894
6
+ metadata.gz: 4ddad71d25c48e400c72cb2abdac87aac962c29f9b101545ec09634f8b49025ea06068bdf3b3305489999a763e98f5a6e66aa22d59a458cd32fe1613095ad93d
7
+ data.tar.gz: a35cb416c5818543cd9f5f802cf7645ffc54ba62cd6c358d7f06a09de68c78d3be4a0e9367277de369885f8ee07ec8c500c337be492523148ffdcd5772cd3962
@@ -0,0 +1,29 @@
1
+ ---
2
+ kind: pipeline
3
+ name: default
4
+
5
+ steps:
6
+ - name: Run rspec for each library
7
+ image: ruby:2.6
8
+ commands:
9
+ - bundle install
10
+ - bundle exec rspec
11
+
12
+ - name: Release gems
13
+ image: ruby:2.6
14
+ environment:
15
+ GEM_CREDENTIALS:
16
+ from_secret: gem_credentials
17
+ commands:
18
+ - mkdir -p ~/.gem
19
+ - echo $GEM_CREDENTIALS | base64 -d > ~/.gem/credentials
20
+ - chmod 0600 ~/.gem/credentials
21
+ - gem build peatio.gemspec
22
+ - gem push peatio-*.gem
23
+ when:
24
+ branch:
25
+ - master
26
+
27
+ trigger:
28
+ event:
29
+ - push
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- peatio (2.4.2)
4
+ peatio (2.6.2)
5
5
  activemodel (> 5.2, <= 6.0.0)
6
6
  amqp
7
7
  bunny
@@ -29,25 +29,25 @@ GEM
29
29
  zeitwerk (~> 2.1, >= 2.1.8)
30
30
  addressable (2.7.0)
31
31
  public_suffix (>= 2.0.2, < 5.0)
32
- amq-protocol (2.3.0)
32
+ amq-protocol (2.3.1)
33
33
  amqp (1.8.0)
34
34
  amq-protocol (>= 2.2.0)
35
35
  eventmachine
36
36
  ast (2.4.0)
37
- bump (0.8.0)
38
- bunny (2.14.3)
39
- amq-protocol (~> 2.3, >= 2.3.0)
37
+ bump (0.9.0)
38
+ bunny (2.15.0)
39
+ amq-protocol (~> 2.3, >= 2.3.1)
40
40
  bunny-mock (1.7.0)
41
41
  bunny (>= 1.7)
42
- byebug (11.0.1)
43
- clamp (1.3.1)
44
- coderay (1.1.2)
42
+ byebug (11.1.3)
43
+ clamp (1.3.2)
44
+ coderay (1.1.3)
45
45
  concurrent-ruby (1.1.6)
46
46
  cookiejar (0.3.3)
47
47
  daemons (1.3.1)
48
48
  diff-lcs (1.3)
49
49
  docile (1.3.2)
50
- em-http-request (1.1.5)
50
+ em-http-request (1.1.7)
51
51
  addressable (>= 2.3.4)
52
52
  cookiejar (!= 0.3.1)
53
53
  em-socksify (>= 0.3)
@@ -70,77 +70,87 @@ GEM
70
70
  multipart-post (>= 1.2, < 3)
71
71
  faraday_middleware (0.13.1)
72
72
  faraday (>= 0.7.4, < 1.0)
73
- faye (1.2.4)
73
+ faye (1.4.0)
74
74
  cookiejar (>= 0.3.0)
75
- em-http-request (>= 0.3.0)
75
+ em-http-request (>= 1.1.6)
76
76
  eventmachine (>= 0.12.0)
77
- faye-websocket (>= 0.9.1)
77
+ faye-websocket (>= 0.11.0)
78
78
  multi_json (>= 1.0.0)
79
79
  rack (>= 1.0.0)
80
80
  websocket-driver (>= 0.5.1)
81
- faye-websocket (0.10.9)
81
+ faye-websocket (0.11.0)
82
82
  eventmachine (>= 0.12.0)
83
83
  websocket-driver (>= 0.5.1)
84
84
  http_parser.rb (0.6.0)
85
- i18n (1.8.2)
85
+ i18n (1.8.3)
86
86
  concurrent-ruby (~> 1.0)
87
- irb (1.0.0)
87
+ io-console (0.5.6)
88
+ irb (1.2.4)
89
+ reline (>= 0.0.1)
88
90
  jaro_winkler (1.5.4)
89
- json (2.2.0)
90
- jwt (2.2.1)
91
- method_source (0.9.2)
92
- minitest (5.14.0)
93
- multi_json (1.14.1)
91
+ json (2.3.0)
92
+ jwt (2.2.2)
93
+ method_source (1.0.0)
94
+ minitest (5.14.1)
95
+ multi_json (1.15.0)
94
96
  multipart-post (2.1.1)
95
97
  mysql2 (0.5.3)
96
- parallel (1.19.0)
97
- parser (2.6.5.0)
98
+ parallel (1.19.1)
99
+ parser (2.7.1.3)
98
100
  ast (~> 2.4.0)
99
- prometheus-client (2.0.0)
100
- pry (0.12.2)
101
- coderay (~> 1.1.0)
102
- method_source (~> 0.9.0)
103
- pry-byebug (3.7.0)
101
+ prometheus-client (2.1.0)
102
+ pry (0.13.1)
103
+ coderay (~> 1.1)
104
+ method_source (~> 1.0)
105
+ pry-byebug (3.9.0)
104
106
  byebug (~> 11.0)
105
- pry (~> 0.10)
106
- public_suffix (4.0.3)
107
+ pry (~> 0.13.0)
108
+ public_suffix (4.0.6)
107
109
  rack (2.2.2)
108
110
  rainbow (3.0.0)
109
111
  rake (13.0.1)
112
+ reline (0.1.4)
113
+ io-console (~> 0.5)
114
+ rexml (3.2.4)
110
115
  rspec (3.9.0)
111
116
  rspec-core (~> 3.9.0)
112
117
  rspec-expectations (~> 3.9.0)
113
118
  rspec-mocks (~> 3.9.0)
114
- rspec-core (3.9.0)
115
- rspec-support (~> 3.9.0)
116
- rspec-expectations (3.9.0)
119
+ rspec-core (3.9.2)
120
+ rspec-support (~> 3.9.3)
121
+ rspec-expectations (3.9.2)
117
122
  diff-lcs (>= 1.2.0, < 2.0)
118
123
  rspec-support (~> 3.9.0)
119
- rspec-mocks (3.9.0)
124
+ rspec-mocks (3.9.1)
120
125
  diff-lcs (>= 1.2.0, < 2.0)
121
126
  rspec-support (~> 3.9.0)
122
- rspec-support (3.9.0)
127
+ rspec-support (3.9.3)
123
128
  rspec_junit_formatter (0.4.1)
124
129
  rspec-core (>= 2, < 4, != 2.12.0)
125
- rubocop (0.76.0)
130
+ rubocop (0.82.0)
126
131
  jaro_winkler (~> 1.5.1)
127
132
  parallel (~> 1.10)
128
- parser (>= 2.6)
133
+ parser (>= 2.7.0.1)
129
134
  rainbow (>= 2.2.2, < 4.0)
135
+ rexml
130
136
  ruby-progressbar (~> 1.7)
131
- unicode-display_width (>= 1.4.0, < 1.7)
132
- rubocop-github (0.13.0)
133
- rubocop (~> 0.70)
134
- rubocop-performance (~> 1.3.0)
135
- rubocop-performance (1.3.0)
136
- rubocop (>= 0.68.0)
137
+ unicode-display_width (>= 1.4.0, < 2.0)
138
+ rubocop-github (0.16.0)
139
+ rubocop (<= 0.82.0)
140
+ rubocop-performance (~> 1.0)
141
+ rubocop-rails (~> 2.0)
142
+ rubocop-performance (1.6.1)
143
+ rubocop (>= 0.71.0)
144
+ rubocop-rails (2.6.0)
145
+ activesupport (>= 4.2.0)
146
+ rack (>= 1.1)
147
+ rubocop (>= 0.82.0)
137
148
  ruby-progressbar (1.10.1)
138
- simplecov (0.17.1)
149
+ simplecov (0.18.5)
139
150
  docile (~> 1.1)
140
- json (>= 1.8, < 3)
141
- simplecov-html (~> 0.10.0)
142
- simplecov-html (0.10.2)
143
- simplecov-json (0.2)
151
+ simplecov-html (~> 0.11)
152
+ simplecov-html (0.12.2)
153
+ simplecov-json (0.2.1)
144
154
  json
145
155
  simplecov
146
156
  thin (1.7.2)
@@ -148,13 +158,13 @@ GEM
148
158
  eventmachine (~> 1.0, >= 1.0.4)
149
159
  rack (>= 1, < 3)
150
160
  thread_safe (0.3.6)
151
- tzinfo (1.2.6)
161
+ tzinfo (1.2.7)
152
162
  thread_safe (~> 0.1)
153
- unicode-display_width (1.6.0)
163
+ unicode-display_width (1.7.0)
154
164
  websocket (1.2.8)
155
- websocket-driver (0.7.1)
165
+ websocket-driver (0.7.3)
156
166
  websocket-extensions (>= 0.1.0)
157
- websocket-extensions (0.1.4)
167
+ websocket-extensions (0.1.5)
158
168
  zeitwerk (2.3.0)
159
169
 
160
170
  PLATFORMS
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Peatio::Ranger
4
2
  class Connection
5
3
  attr_reader :socket, :user, :authorized, :streams, :logger, :id
@@ -23,7 +21,11 @@ module Peatio::Ranger
23
21
  end
24
22
 
25
23
  def send_raw(payload)
26
- logger.debug { "sending to user #{user.inspect} payload: #{payload}" }
24
+ if user
25
+ logger.debug { "sending to user #{user.inspect} payload: #{payload}" }
26
+ else
27
+ logger.debug { "sending to anonymous payload: #{payload}" }
28
+ end
27
29
  @socket.send(payload)
28
30
  end
29
31
 
@@ -77,6 +79,11 @@ module Peatio::Ranger
77
79
  def handle(msg)
78
80
  return if msg.to_s.empty?
79
81
 
82
+ if msg =~ /^ping/
83
+ send_raw("pong")
84
+ return
85
+ end
86
+
80
87
  data = JSON.parse(msg)
81
88
  case data["event"]
82
89
  when "subscribe"
@@ -42,7 +42,7 @@ module Peatio::Ranger
42
42
  end
43
43
 
44
44
  socket.onerror do |e|
45
- logger.info { "WebSocket Error: #{e.message}" }
45
+ logger.error { "WebSocket Error: #{e.message}\n" + e.backtrace.join("\n") }
46
46
  end
47
47
  end
48
48
  end
@@ -53,6 +53,10 @@ module Peatio #:nodoc:
53
53
  # return [Integer] transaction number in send-to-many request
54
54
  attr_accessor :txout
55
55
 
56
+ # @!attribute [rw] from_address
57
+ # return [Array<String>] transaction source addresses
58
+ attr_accessor :from_addresses
59
+
56
60
  # @!attribute [rw] to_address
57
61
  # return [String] transaction recepient address
58
62
  attr_accessor :to_address
@@ -69,6 +73,10 @@ module Peatio #:nodoc:
69
73
  # return [String] transaction currency id
70
74
  attr_accessor :currency_id
71
75
 
76
+ # @!attribute [rw] options
77
+ # return [JSON] transaction options
78
+ attr_accessor :options
79
+
72
80
  validates :to_address,
73
81
  :amount,
74
82
  :currency_id,
@@ -33,6 +33,7 @@ module Peatio
33
33
 
34
34
  @ws.on(:open) do |_e|
35
35
  subscribe_trades(@target, @ws)
36
+ subscribe_orderbook(@target, @ws)
36
37
  logger.info { "Websocket connected" }
37
38
  end
38
39
 
@@ -59,6 +60,10 @@ module Peatio
59
60
  method_not_implemented
60
61
  end
61
62
 
63
+ def subscribe_orderbook(_market, _ws)
64
+ method_not_implemented
65
+ end
66
+
62
67
  def ws_read_public_message(msg)
63
68
  logger.info { "received public message: #{msg}" }
64
69
  end
@@ -88,7 +93,7 @@ module Peatio
88
93
  price: trade[:price],
89
94
  amount: trade[:amount],
90
95
  market_id: @market,
91
- created_at: Time.at(trade[:date]).iso8601,
96
+ created_at: Time.at(trade[:date]).utc.iso8601,
92
97
  taker_type: trade[:taker_type]
93
98
  }
94
99
  end
@@ -1,3 +1,3 @@
1
1
  module Peatio
2
- VERSION = "2.4.2"
2
+ VERSION = "2.6.2"
3
3
  end
@@ -36,6 +36,23 @@ module Peatio
36
36
  # @see #configure
37
37
  SUPPORTED_SETTINGS = %i[wallet currency].freeze
38
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
39
56
 
40
57
  # Abstract constructor.
41
58
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peatio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.2
4
+ version: 2.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Louis B.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-03-11 00:00:00.000000000 Z
12
+ date: 2020-09-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -391,6 +391,7 @@ executables:
391
391
  extensions: []
392
392
  extra_rdoc_files: []
393
393
  files:
394
+ - ".drone.yml"
394
395
  - ".gitignore"
395
396
  - ".rspec"
396
397
  - ".rubocop.yml"
@@ -456,7 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
456
457
  - !ruby/object:Gem::Version
457
458
  version: '0'
458
459
  requirements: []
459
- rubygems_version: 3.0.6
460
+ rubygems_version: 3.0.3
460
461
  signing_key:
461
462
  specification_version: 4
462
463
  summary: Peatio is a gem for running critical core services