peatio 2.4.2 → 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.
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