peatio-bitgo 2.5.0 → 2.5.1

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: fce3c54f47f8933c24b2fef521c89acd4ead3ed48fa49c183fb9f67fb3f042a5
4
- data.tar.gz: 999ec62e379696270429caf760e02c95a078727539b9f5bb42cbd31435987109
3
+ metadata.gz: 4253a3ca3970f150214e76a1a31fd3f7d09bc8fbb181abd790048278859c9fcb
4
+ data.tar.gz: 0fa8a23a04582bc62ca5959a616410b30b1438d2bb1d2d30da317ec2928e4071
5
5
  SHA512:
6
- metadata.gz: 30f38ef6aadce408ecf0cd4a4ec04333175f8eee4ca17a07445149dd6e4d31739836917dd3e7d7645dd2f86c7ab7b750c376dda9c0bc9b4e1b35821157543578
7
- data.tar.gz: 369b7c7d44c01743f8d32ed77d29f89462873ba1c0383dbc5c66ac67e372098be2a822a937ee9cb736a5ffd390b63f5c07d81aa981b8ff9c2d124ffe378e099f
6
+ metadata.gz: fb144800c2f5732e2a19191882157d04ce0f0fd76b7fa1134d3eae3988b9e95df8b2bee3c622355f25558ac545a2f3d924ffbcecec2415f553ac67ecc04479cc
7
+ data.tar.gz: 3a92e09b6b1e900790caa6aa028fd1a8251012eb45b23a8c3bac151f8b2f2d6e49cdb6915d04a57ed60b0fc85384d10073e5b2031cdd88548e9910e3e7a90b3c
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- peatio-bitgo (2.5.0)
4
+ peatio-bitgo (2.5.1)
5
5
  activesupport (~> 5.2.3)
6
6
  better-faraday (~> 1.0.5)
7
7
  faraday (~> 0.17)
@@ -21,25 +21,25 @@ GEM
21
21
  tzinfo (~> 1.1)
22
22
  addressable (2.7.0)
23
23
  public_suffix (>= 2.0.2, < 5.0)
24
- amq-protocol (2.3.1)
24
+ amq-protocol (2.3.2)
25
25
  amqp (1.8.0)
26
26
  amq-protocol (>= 2.2.0)
27
27
  eventmachine
28
28
  better-faraday (1.0.8)
29
29
  activesupport (>= 4.0, < 6.0)
30
30
  faraday (~> 0.12)
31
- bunny (2.15.0)
31
+ bunny (2.16.1)
32
32
  amq-protocol (~> 2.3, >= 2.3.1)
33
- byebug (11.1.1)
34
- clamp (1.3.1)
35
- coderay (1.1.2)
36
- concurrent-ruby (1.1.6)
33
+ byebug (11.1.3)
34
+ clamp (1.3.2)
35
+ coderay (1.1.3)
36
+ concurrent-ruby (1.1.7)
37
37
  connection_pool (2.2.3)
38
38
  cookiejar (0.3.3)
39
39
  crack (0.4.3)
40
40
  safe_yaml (~> 1.0.0)
41
41
  daemons (1.3.1)
42
- diff-lcs (1.3)
42
+ diff-lcs (1.4.4)
43
43
  em-http-request (1.1.6)
44
44
  addressable (>= 2.3.4)
45
45
  cookiejar (!= 0.3.1)
@@ -58,27 +58,27 @@ GEM
58
58
  multipart-post (>= 1.2, < 3)
59
59
  faraday_middleware (0.13.1)
60
60
  faraday (>= 0.7.4, < 1.0)
61
- faye (1.3.0)
61
+ faye (1.4.0)
62
62
  cookiejar (>= 0.3.0)
63
- em-http-request (>= 0.3.0)
63
+ em-http-request (>= 1.1.6)
64
64
  eventmachine (>= 0.12.0)
65
- faye-websocket (>= 0.9.1)
65
+ faye-websocket (>= 0.11.0)
66
66
  multi_json (>= 1.0.0)
67
67
  rack (>= 1.0.0)
68
68
  websocket-driver (>= 0.5.1)
69
- faye-websocket (0.10.9)
69
+ faye-websocket (0.11.0)
70
70
  eventmachine (>= 0.12.0)
71
71
  websocket-driver (>= 0.5.1)
72
72
  hashdiff (1.0.1)
73
73
  http_parser.rb (0.6.0)
74
- i18n (1.8.3)
74
+ i18n (1.8.5)
75
75
  concurrent-ruby (~> 1.0)
76
- jwt (2.2.1)
76
+ jwt (2.2.2)
77
77
  memoist (0.16.2)
78
78
  method_source (1.0.0)
79
79
  minitest (5.14.1)
80
80
  mocha (1.11.2)
81
- multi_json (1.14.1)
81
+ multi_json (1.15.0)
82
82
  multipart-post (2.1.1)
83
83
  mysql2 (0.5.3)
84
84
  net-http-persistent (3.0.1)
@@ -97,29 +97,29 @@ GEM
97
97
  mysql2
98
98
  prometheus-client
99
99
  thin
100
- prometheus-client (2.0.0)
101
- pry (0.13.0)
100
+ prometheus-client (2.1.0)
101
+ pry (0.13.1)
102
102
  coderay (~> 1.1)
103
103
  method_source (~> 1.0)
104
104
  pry-byebug (3.9.0)
105
105
  byebug (~> 11.0)
106
106
  pry (~> 0.13.0)
107
- public_suffix (4.0.4)
108
- rack (2.2.2)
107
+ public_suffix (4.0.5)
108
+ rack (2.2.3)
109
109
  rake (13.0.1)
110
110
  rspec (3.9.0)
111
111
  rspec-core (~> 3.9.0)
112
112
  rspec-expectations (~> 3.9.0)
113
113
  rspec-mocks (~> 3.9.0)
114
- rspec-core (3.9.1)
115
- rspec-support (~> 3.9.1)
116
- rspec-expectations (3.9.1)
114
+ rspec-core (3.9.2)
115
+ rspec-support (~> 3.9.3)
116
+ rspec-expectations (3.9.2)
117
117
  diff-lcs (>= 1.2.0, < 2.0)
118
118
  rspec-support (~> 3.9.0)
119
119
  rspec-mocks (3.9.1)
120
120
  diff-lcs (>= 1.2.0, < 2.0)
121
121
  rspec-support (~> 3.9.0)
122
- rspec-support (3.9.2)
122
+ rspec-support (3.9.3)
123
123
  safe_yaml (1.0.5)
124
124
  thin (1.7.2)
125
125
  daemons (~> 1.0, >= 1.0.9)
@@ -132,7 +132,7 @@ GEM
132
132
  addressable (>= 2.3.6)
133
133
  crack (>= 0.3.2)
134
134
  hashdiff (>= 0.4.0, < 2.0.0)
135
- websocket-driver (0.7.2)
135
+ websocket-driver (0.7.3)
136
136
  websocket-extensions (>= 0.1.0)
137
137
  websocket-extensions (0.1.5)
138
138
 
@@ -1,5 +1,5 @@
1
1
  module Peatio
2
2
  module Bitgo
3
- VERSION = "2.5.0"
3
+ VERSION = "2.5.1"
4
4
  end
5
5
  end
@@ -2,6 +2,7 @@ module Peatio
2
2
  module Bitgo
3
3
  class Wallet < Peatio::Wallet::Abstract
4
4
  TIME_DIFFERENCE_IN_MINUTES = 10
5
+ XLM_MEMO_TYPES = { 'memoId': 'id', 'memoText': 'text', 'memoHash': 'hash', 'memoReturn': 'return' }
5
6
 
6
7
  def initialize(settings = {})
7
8
  @settings = settings
@@ -57,7 +58,7 @@ module Peatio
57
58
  end
58
59
 
59
60
  txid = client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/sendcoins", {
60
- address: transaction.to_address.to_s,
61
+ address: normalize_address(transaction.to_address.to_s),
61
62
  amount: amount.to_s,
62
63
  walletPassphrase: bitgo_wallet_passphrase,
63
64
  memo: xlm_memo(transaction.to_address.to_s)
@@ -221,19 +222,25 @@ module Peatio
221
222
  end
222
223
 
223
224
  def xlm_memo(address)
224
- if @currency.fetch(:id) == 'xlm'
225
- {
226
- type: "id",
227
- value: "#{memo_id_from(address)}"
228
- }
229
- end
225
+ build_xlm_memo(address) if @currency.fetch(:id) == 'xlm'
230
226
  end
231
227
 
232
- def memo_id_from(address)
233
- memo_id = address.partition('memoId=').last
234
- memo_id = 0 if memo_id.empty?
228
+ def build_xlm_memo(address)
229
+ case address.split('?').last.split('=').first
230
+ when 'memoId'
231
+ memo_value_from(address, 'memoId')
232
+ when 'memoText'
233
+ memo_value_from(address, 'memoText')
234
+ when 'memoHash'
235
+ memo_value_from(address, 'memoHash')
236
+ when 'memoReturn'
237
+ memo_value_from(address, 'memoReturn')
238
+ end
239
+ end
235
240
 
236
- memo_id
241
+ def memo_value_from(address, type)
242
+ memo_value = address.partition(type + '=').last
243
+ return { type: XLM_MEMO_TYPES[type.to_sym], value: memo_value } if memo_value.present?
237
244
  end
238
245
 
239
246
  def currency_id
@@ -248,6 +255,14 @@ module Peatio
248
255
  @wallet.fetch(:wallet_id)
249
256
  end
250
257
 
258
+ def normalize_address(address)
259
+ if @currency.fetch(:id) == 'xlm'
260
+ address.split('?').first
261
+ else
262
+ address
263
+ end
264
+ end
265
+
251
266
  def normalize_txid(txid)
252
267
  txid.downcase
253
268
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peatio-bitgo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nadia Ch., Maksym N.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-10 00:00:00.000000000 Z
11
+ date: 2020-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport