peatio-bitgo 2.6.7 → 3.1.0

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: '062810d1807c29ab63130d8bb190de25c2cab3f482829e0abdff61cae4187422'
4
- data.tar.gz: cb04bdf39f57405c46fb7903db410a55eb269bac1f19300422812c88ea052dae
3
+ metadata.gz: e0a23b303c27e33702466a81aadeea6e1fd2520ec68775ee5b70398ed9439518
4
+ data.tar.gz: 5248c0f5746772e67f4080758f5e017ddf7a7a69d14f73e41bb3a18a38400ac5
5
5
  SHA512:
6
- metadata.gz: b40f51251f29accdcee17938e1dda4c74ccb362dd85664faf979366164f629d80b659de3bd01d95763b3f6629591a95d6fafc97e380ac1eff5f9b080e5b4560b
7
- data.tar.gz: e2f7372b54ba702d1a845c80e4e3f85daa580c177bcfdcb65bfbbde27f1eeabafa1b8d321b63e91fac9b71c76311a07912d0af1db3be439ad75dc8f06a619154
6
+ metadata.gz: 6b96e9340b72203e6188320980dd0dac3e560ba4db37d6629edb7e22f4b17f21fe5dd6e889dea9c98399fb29a791715f6d3f0585fc44e68a6f843a0b84296da3
7
+ data.tar.gz: aca2516464d376318cab6e0382ea72f93731a6b7b8224bf361fd4b96342a98e634bf9dcaf81168b3e281d9a1f24187e442636ab6d38bbe5fa3a2333460c1ebac
data/Gemfile.lock CHANGED
@@ -1,45 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- peatio-bitgo (2.6.7)
5
- activesupport (~> 5.2.3)
6
- better-faraday (~> 1.0.5)
7
- faraday (~> 0.17)
4
+ peatio-bitgo (3.1.0)
5
+ activesupport (~> 6.1.0)
6
+ better-faraday (~> 2.0.1)
7
+ faraday (~> 1.10)
8
8
  memoist (~> 0.16.0)
9
- net-http-persistent (~> 3.0.1)
10
- peatio (>= 0.6.3)
9
+ net-http-persistent (~> 4.0.1)
10
+ peatio (>= 3.1.1)
11
11
 
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activemodel (5.2.4.4)
16
- activesupport (= 5.2.4.4)
17
- activesupport (5.2.4.4)
15
+ activemodel (6.1.7.2)
16
+ activesupport (= 6.1.7.2)
17
+ activesupport (6.1.7.2)
18
18
  concurrent-ruby (~> 1.0, >= 1.0.2)
19
- i18n (>= 0.7, < 2)
20
- minitest (~> 5.1)
21
- tzinfo (~> 1.1)
22
- addressable (2.7.0)
23
- public_suffix (>= 2.0.2, < 5.0)
19
+ i18n (>= 1.6, < 2)
20
+ minitest (>= 5.1)
21
+ tzinfo (~> 2.0)
22
+ zeitwerk (~> 2.3)
23
+ addressable (2.8.1)
24
+ public_suffix (>= 2.0.2, < 6.0)
24
25
  amq-protocol (2.3.2)
25
26
  amqp (1.8.0)
26
27
  amq-protocol (>= 2.2.0)
27
28
  eventmachine
28
- better-faraday (1.0.8)
29
- activesupport (>= 4.0, < 6.0)
30
- faraday (~> 0.12)
31
- bunny (2.17.0)
29
+ better-faraday (2.0.1)
30
+ activesupport (>= 4.0, < 7.0)
31
+ faraday (>= 1.0, < 3.0)
32
+ bunny (2.20.3)
32
33
  amq-protocol (~> 2.3, >= 2.3.1)
34
+ sorted_set (~> 1, >= 1.0.2)
33
35
  byebug (11.1.3)
34
36
  clamp (1.3.2)
35
37
  coderay (1.1.3)
36
- concurrent-ruby (1.1.8)
37
- connection_pool (2.2.5)
38
+ concurrent-ruby (1.2.2)
39
+ connection_pool (2.3.0)
38
40
  cookiejar (0.3.3)
39
- crack (0.4.3)
40
- safe_yaml (~> 1.0.0)
41
- daemons (1.4.0)
42
- diff-lcs (1.4.4)
41
+ crack (0.4.5)
42
+ rexml
43
+ daemons (1.4.1)
44
+ diff-lcs (1.5.0)
43
45
  em-http-request (1.1.7)
44
46
  addressable (>= 2.3.4)
45
47
  cookiejar (!= 0.3.1)
@@ -50,14 +52,33 @@ GEM
50
52
  eventmachine (>= 1.0.0.beta.4)
51
53
  em-synchrony (1.0.6)
52
54
  eventmachine (>= 1.0.0.beta.1)
53
- em-websocket (0.5.2)
55
+ em-websocket (0.5.3)
54
56
  eventmachine (>= 0.12.9)
55
- http_parser.rb (~> 0.6.0)
57
+ http_parser.rb (~> 0)
56
58
  eventmachine (1.2.7)
57
- faraday (0.17.4)
58
- multipart-post (>= 1.2, < 3)
59
- faraday_middleware (0.13.1)
60
- faraday (>= 0.7.4, < 1.0)
59
+ faraday (1.10.3)
60
+ faraday-em_http (~> 1.0)
61
+ faraday-em_synchrony (~> 1.0)
62
+ faraday-excon (~> 1.1)
63
+ faraday-httpclient (~> 1.0)
64
+ faraday-multipart (~> 1.0)
65
+ faraday-net_http (~> 1.0)
66
+ faraday-net_http_persistent (~> 1.0)
67
+ faraday-patron (~> 1.0)
68
+ faraday-rack (~> 1.0)
69
+ faraday-retry (~> 1.0)
70
+ ruby2_keywords (>= 0.0.4)
71
+ faraday-em_http (1.0.0)
72
+ faraday-em_synchrony (1.0.0)
73
+ faraday-excon (1.1.0)
74
+ faraday-httpclient (1.0.1)
75
+ faraday-multipart (1.0.4)
76
+ multipart-post (~> 2)
77
+ faraday-net_http (1.0.1)
78
+ faraday-net_http_persistent (1.2.0)
79
+ faraday-patron (1.0.0)
80
+ faraday-rack (1.0.0)
81
+ faraday-retry (1.0.3)
61
82
  faye (1.4.0)
62
83
  cookiejar (>= 0.3.0)
63
84
  em-http-request (>= 1.1.6)
@@ -66,81 +87,88 @@ GEM
66
87
  multi_json (>= 1.0.0)
67
88
  rack (>= 1.0.0)
68
89
  websocket-driver (>= 0.5.1)
69
- faye-websocket (0.11.0)
90
+ faye-websocket (0.11.1)
70
91
  eventmachine (>= 0.12.0)
71
92
  websocket-driver (>= 0.5.1)
72
93
  hashdiff (1.0.1)
73
- http_parser.rb (0.6.0)
74
- i18n (1.8.10)
94
+ http_parser.rb (0.8.0)
95
+ i18n (1.12.0)
75
96
  concurrent-ruby (~> 1.0)
76
- jwt (2.2.3)
97
+ jwt (2.7.0)
77
98
  memoist (0.16.2)
78
99
  method_source (1.0.0)
79
- minitest (5.14.4)
80
- mocha (1.11.2)
100
+ minitest (5.17.0)
101
+ mocha (1.16.1)
81
102
  multi_json (1.15.0)
82
- multipart-post (2.1.1)
83
- mysql2 (0.5.3)
84
- net-http-persistent (3.0.1)
103
+ multipart-post (2.3.0)
104
+ mysql2 (0.5.5)
105
+ net-http-persistent (4.0.1)
85
106
  connection_pool (~> 2.2)
86
- peatio (2.6.3)
87
- activemodel (> 5.2, <= 6.0.0)
107
+ peatio (3.1.1)
108
+ activemodel (> 5.2)
88
109
  amqp
89
110
  bunny
90
111
  clamp
91
112
  em-synchrony (~> 1.0)
92
113
  em-websocket
93
114
  eventmachine
94
- faraday_middleware (~> 0.13.1)
115
+ faraday (~> 1.10)
95
116
  faye (~> 1.2)
96
117
  jwt
97
118
  mysql2
98
119
  prometheus-client
99
120
  thin
100
- prometheus-client (2.1.0)
101
- pry (0.13.1)
121
+ prometheus-client (4.0.0)
122
+ pry (0.14.2)
102
123
  coderay (~> 1.1)
103
124
  method_source (~> 1.0)
104
- pry-byebug (3.9.0)
125
+ pry-byebug (3.8.0)
105
126
  byebug (~> 11.0)
106
- pry (~> 0.13.0)
107
- public_suffix (4.0.5)
108
- rack (2.2.3)
109
- rake (13.0.1)
110
- rspec (3.9.0)
111
- rspec-core (~> 3.9.0)
112
- rspec-expectations (~> 3.9.0)
113
- rspec-mocks (~> 3.9.0)
114
- rspec-core (3.9.2)
115
- rspec-support (~> 3.9.3)
116
- rspec-expectations (3.9.2)
127
+ pry (~> 0.10)
128
+ public_suffix (5.0.1)
129
+ rack (2.2.6.2)
130
+ rake (13.0.6)
131
+ rbtree (0.4.6)
132
+ rexml (3.2.5)
133
+ rspec (3.12.0)
134
+ rspec-core (~> 3.12.0)
135
+ rspec-expectations (~> 3.12.0)
136
+ rspec-mocks (~> 3.12.0)
137
+ rspec-core (3.12.1)
138
+ rspec-support (~> 3.12.0)
139
+ rspec-expectations (3.12.2)
117
140
  diff-lcs (>= 1.2.0, < 2.0)
118
- rspec-support (~> 3.9.0)
119
- rspec-mocks (3.9.1)
141
+ rspec-support (~> 3.12.0)
142
+ rspec-mocks (3.12.3)
120
143
  diff-lcs (>= 1.2.0, < 2.0)
121
- rspec-support (~> 3.9.0)
122
- rspec-support (3.9.3)
123
- safe_yaml (1.0.5)
124
- thin (1.8.0)
144
+ rspec-support (~> 3.12.0)
145
+ rspec-support (3.12.0)
146
+ ruby2_keywords (0.0.5)
147
+ set (1.0.3)
148
+ sorted_set (1.0.3)
149
+ rbtree
150
+ set (~> 1.0)
151
+ thin (1.8.1)
125
152
  daemons (~> 1.0, >= 1.0.9)
126
153
  eventmachine (~> 1.0, >= 1.0.4)
127
154
  rack (>= 1, < 3)
128
- thread_safe (0.3.6)
129
- tzinfo (1.2.9)
130
- thread_safe (~> 0.1)
131
- webmock (3.8.3)
132
- addressable (>= 2.3.6)
155
+ tzinfo (2.0.6)
156
+ concurrent-ruby (~> 1.0)
157
+ webmock (3.18.1)
158
+ addressable (>= 2.8.0)
133
159
  crack (>= 0.3.2)
134
160
  hashdiff (>= 0.4.0, < 2.0.0)
135
- websocket-driver (0.7.3)
161
+ websocket-driver (0.7.5)
136
162
  websocket-extensions (>= 0.1.0)
137
163
  websocket-extensions (0.1.5)
164
+ zeitwerk (2.6.7)
138
165
 
139
166
  PLATFORMS
140
- ruby
167
+ arm64-darwin-21
168
+ x86_64-linux
141
169
 
142
170
  DEPENDENCIES
143
- bundler (~> 1.16)
171
+ bundler (~> 2.4.7)
144
172
  mocha (~> 1.8)
145
173
  peatio-bitgo!
146
174
  pry-byebug
@@ -149,4 +177,4 @@ DEPENDENCIES
149
177
  webmock (~> 3.5)
150
178
 
151
179
  BUNDLED WITH
152
- 1.17.3
180
+ 2.4.7
@@ -38,7 +38,7 @@ module Peatio
38
38
  args.last['Authorization'] = 'Bearer ' + @access_token
39
39
 
40
40
  response = Faraday.send(verb, *args)
41
- response.assert_success!
41
+ response.assert_2xx!
42
42
  response = JSON.parse(response.body)
43
43
  response['error'].tap { |error| raise ResponseError.new(error) if error }
44
44
  response
@@ -1,5 +1,5 @@
1
1
  module Peatio
2
2
  module Bitgo
3
- VERSION = "2.6.7".freeze
3
+ VERSION = "3.1.0".freeze
4
4
  end
5
5
  end
@@ -60,14 +60,20 @@ module Peatio
60
60
  amount -= fee.to_i
61
61
  end
62
62
 
63
- txid = client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/sendcoins", {
63
+ response = client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/sendcoins", {
64
64
  address: normalize_address(transaction.to_address.to_s),
65
65
  amount: amount.to_s,
66
66
  walletPassphrase: bitgo_wallet_passphrase,
67
67
  memo: xlm_memo(transaction.to_address.to_s)
68
- }.compact).fetch('txid')
68
+ }.compact)
69
69
 
70
- transaction.hash = normalize_txid(txid)
70
+ if response['feeString'].present?
71
+ fee = convert_from_base_unit(response['feeString'])
72
+ transaction.fee = fee
73
+ end
74
+
75
+ transaction.hash = normalize_txid(response['txid'])
76
+ transaction.fee_currency_id = erc20_currency_id
71
77
  transaction
72
78
  end
73
79
  rescue Bitgo::Client::Error => e
@@ -86,32 +92,38 @@ module Peatio
86
92
 
87
93
  def create_eth_transaction(transaction, options = {})
88
94
  amount = convert_to_base_unit(transaction.amount)
89
- hop = options.slice(:erc20_contract_address).present? ? false : true
95
+ hop = true unless options.slice(:gas_price).present?
90
96
 
91
97
  fee_estimate = fee_estimate(amount.to_s, hop)
92
98
 
93
- if transaction.options.present?
99
+ if transaction.options.present? && transaction.options[:gas_price].present?
94
100
  options[:gas_price] = transaction.options[:gas_price]
95
101
  else
96
102
  options[:gas_price] = fee_estimate['minGasPrice'].to_i
97
103
  end
98
104
 
99
- txid = client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/sendcoins", {
105
+ response = client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/sendcoins", {
100
106
  address: transaction.to_address.to_s,
101
107
  amount: amount.to_s,
102
108
  walletPassphrase: bitgo_wallet_passphrase,
103
109
  gas: options.fetch(:gas_limit).to_i,
104
110
  gasPrice: options.fetch(:gas_price).to_i,
105
111
  hop: hop
106
- }.compact).fetch('txid')
112
+ }.compact)
107
113
 
108
- transaction.hash = normalize_txid(txid)
114
+ if response['feeString'].present?
115
+ fee = convert_from_base_unit(response['feeString'])
116
+ transaction.fee = fee
117
+ end
118
+
119
+ transaction.hash = normalize_txid(response['txid'])
120
+ transaction.fee_currency_id = erc20_currency_id
109
121
  transaction.options = options
110
122
  transaction
111
123
  end
112
124
 
113
125
  def fee_estimate(amount, hop)
114
- client.rest_api(:get, "#{erc20_currency_id}/tx/fee", {amount: amount, hop: hop})
126
+ client.rest_api(:get, "#{erc20_currency_id}/tx/fee", { amount: amount, hop: hop }.compact)
115
127
  end
116
128
 
117
129
  def load_balance!
@@ -180,9 +192,15 @@ module Peatio
180
192
  txout = output['index'] if output.present?
181
193
  end
182
194
 
195
+ if response['feeString'].present?
196
+ fee = convert_from_base_unit(response['feeString']) / response['entries'].count
197
+ end
198
+
183
199
  transaction = Peatio::Transaction.new(
184
200
  currency_id: @currency.fetch(:id),
185
201
  amount: convert_from_base_unit(entry['valueString']),
202
+ fee: fee,
203
+ fee_currency_id: erc20_currency_id,
186
204
  hash: normalize_txid(response['txid']),
187
205
  to_address: to_address,
188
206
  block_number: response['height'],
data/peatio-bitgo.gemspec CHANGED
@@ -23,14 +23,14 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ["lib"]
25
25
 
26
- spec.add_dependency "activesupport", "~> 5.2.3"
27
- spec.add_dependency "better-faraday", "~> 1.0.5"
28
- spec.add_dependency "faraday", "~> 0.17"
26
+ spec.add_dependency "activesupport", "~> 6.1.0"
27
+ spec.add_dependency "better-faraday", "~> 2.0.1"
28
+ spec.add_dependency "faraday", "~> 1.10"
29
29
  spec.add_dependency "memoist", "~> 0.16.0"
30
- spec.add_dependency "peatio", ">= 0.6.3"
31
- spec.add_dependency 'net-http-persistent', '~> 3.0.1'
30
+ spec.add_dependency "peatio", ">= 3.1.1"
31
+ spec.add_dependency 'net-http-persistent', '~> 4.0.1'
32
32
 
33
- spec.add_development_dependency "bundler", "~> 1.16"
33
+ spec.add_development_dependency "bundler", "~> 2.4.7"
34
34
  spec.add_development_dependency "mocha", "~> 1.8"
35
35
  spec.add_development_dependency "pry-byebug"
36
36
  spec.add_development_dependency "rake", "~> 13.0"
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.6.7
4
+ version: 3.1.0
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: 2021-06-23 00:00:00.000000000 Z
11
+ date: 2023-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.3
19
+ version: 6.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 5.2.3
26
+ version: 6.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: better-faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.5
33
+ version: 2.0.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.5
40
+ version: 2.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: faraday
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.17'
47
+ version: '1.10'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.17'
54
+ version: '1.10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: memoist
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,42 +72,42 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.6.3
75
+ version: 3.1.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 0.6.3
82
+ version: 3.1.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: net-http-persistent
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 3.0.1
89
+ version: 4.0.1
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 3.0.1
96
+ version: 4.0.1
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.16'
103
+ version: 2.4.7
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.16'
110
+ version: 2.4.7
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: mocha
113
113
  requirement: !ruby/object:Gem::Requirement