cns 0.1.5 → 0.1.6

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: f9a77dc1d55c2f8f3cef855ed3c4d4c112329fc826e974b5dc978cd611d2861c
4
- data.tar.gz: 7b9d18ba3237d293d35477a3eecd9d1d6a5c73e24ac622a4e6700e99840c4075
3
+ metadata.gz: ef054c95506b8f32415f3c3f47b2272886ac824f10666c91a4bd0f3b118b3ffb
4
+ data.tar.gz: c18711c2d3ffcdf131218d3509f954f163046fa5b498e39b47e15332b3fb53a1
5
5
  SHA512:
6
- metadata.gz: ca5de038a0c25c62ae35ced9a7b369d08669fa0c6314decaeb2b827464e39aa56ac962aed851dc12ab9f2e067c10778d065c1cd7ef7c4016214d60142a0db5e1
7
- data.tar.gz: e94f7cd2908da735457bdf86da6e83e216ed0f9a78d6f49abe054ac72b641d2563cf4c27797a2cb04ee871cbe177e2b25a7a1d4524e61cb7e36c0ee1e1b50c02
6
+ metadata.gz: ef30f7f2617710c765d6dd8d4a21e673a55da5aa59ee4bb1ac15343c70a9ee5cfa7b9e26ccc01019c53cbd69d571fd07981e3bba35fbc53a04d308ccd61d118c
7
+ data.tar.gz: df9e5fbe45744df8bb75dc5b8145fe8f875a6085877d8709e9cc7d2cf5a907ec797a9cad8f3c557b7599bfc079873822e7c4aa390334e8696dd3b21aa57c0db5
@@ -0,0 +1,64 @@
1
+ ---
2
+ detectors:
3
+ TooManyStatements:
4
+ exclude:
5
+ - initialize
6
+ max_statements: 10
7
+ RepeatedConditional:
8
+ exclude:
9
+ - "Cns::Apice"
10
+ FeatureEnvy:
11
+ exclude:
12
+ - "Cns::Apice#deposit_unif"
13
+ - "Cns::Apice#withdrawal_unif"
14
+ - "Cns::Bigquery#etht_1val"
15
+ - "Cns::Bigquery#etht_2val"
16
+ - "Cns::Bigquery#etht_3val"
17
+ - "Cns::Bigquery#ethk_1val"
18
+ - "Cns::Bigquery#ethk_2val"
19
+ - "Cns::Bigquery#ethk_3val"
20
+ - "Cns::Bigquery#eost_1val"
21
+ - "Cns::Bigquery#eost_2val"
22
+ - "Cns::Bigquery#det_1val"
23
+ - "Cns::Bigquery#det_2val"
24
+ - "Cns::Bigquery#mtl_1val"
25
+ - "Cns::Bigquery#ust_1val"
26
+ - "Cns::Bigquery#frl_val"
27
+ - "Cns::Bigquery#usl_val"
28
+ - "Cns::Bitcoinde#formata_ledger"
29
+ - "Cns::Bitcoinde#formata_trades"
30
+ - "Cns::Etherscan#bq_bc"
31
+ - "Cns::Etherscan#formata_valores"
32
+ - "Cns::Etherscan#formata_endereco"
33
+ - "Cns::Etherscan#formata_transacao_norml"
34
+ - "Cns::Etherscan#formata_transacao_token"
35
+ - "Cns::Greymass#bq_bc"
36
+ - "Cns::Greymass#greymass_sl"
37
+ - "Cns::Greymass#formata_carteira"
38
+ - "Cns::Greymass#formata_ledger"
39
+ - "Cns::Greymass#filtrar_tx"
40
+ - "Cns::Kraken#formata_ledger"
41
+ - "Cns::Kraken#formata_trades"
42
+ - "Cns::Paymium#formata_ledger"
43
+ - "Cns::Paymium#formata_uuid"
44
+ - "Cns::TheRock#formata_ledger"
45
+ - "Cns::TheRock#formata_saldos"
46
+ UtilityFunction:
47
+ exclude:
48
+ - "Cns::Apice#hus"
49
+ - "Cns::Bigquery#del_val"
50
+ - "Cns::Etherscan#ok?"
51
+ - "Cns::Greymass#ok?"
52
+ NestedIterators:
53
+ exclude:
54
+ - "Cns::Etherscan#idk"
55
+ - "Cns::Etherscan#idt"
56
+ - "Cns::Etherscan#novtx"
57
+ - "Cns::Etherscan#novkx"
58
+ - "Cns::Etherscan#dados"
59
+ - "Cns::Etherscan#filtrar_tx"
60
+ - "Cns::Greymass#novax"
61
+ - "Cns::Greymass#idt"
62
+ - "Cns::Greymass#dados"
63
+ - "Cns::Paymium#kyl"
64
+ - "Cns::Paymium#ledger"
@@ -1,12 +1,13 @@
1
+ ---
1
2
  AllCops:
2
3
  TargetRubyVersion: 2.7
3
4
  EnabledByDefault: true
4
5
 
5
6
  Style/Copyright:
6
- Enabled: false
7
+ Enabled: false
7
8
 
8
9
  Lint/ConstantResolution:
9
- Enabled: false
10
+ Enabled: false
10
11
 
11
12
  Style/ConstantVisibility:
12
- Enabled: false
13
+ Enabled: false
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cns (0.1.5)
4
+ cns (0.1.6)
5
5
  curb
6
6
  faraday
7
7
  google-cloud-bigquery
@@ -23,7 +23,7 @@ GEM
23
23
  faraday (1.1.0)
24
24
  multipart-post (>= 1.2, < 3)
25
25
  ruby2_keywords
26
- google-api-client (0.50.0)
26
+ google-api-client (0.52.0)
27
27
  addressable (~> 2.5, >= 2.5.1)
28
28
  googleauth (~> 0.9)
29
29
  httpclient (>= 2.8.1, < 3.0)
@@ -54,8 +54,11 @@ GEM
54
54
  httpclient (2.8.3)
55
55
  jaro_winkler (1.5.4)
56
56
  jwt (2.2.2)
57
+ kramdown (2.3.0)
58
+ rexml
59
+ kramdown-parser-gfm (1.1.0)
60
+ kramdown (~> 2.0)
57
61
  kwalify (0.7.2)
58
- maruku (0.7.3)
59
62
  memoist (0.16.2)
60
63
  mini_mime (1.0.2)
61
64
  mini_portile2 (2.4.0)
@@ -67,7 +70,7 @@ GEM
67
70
  parallel (1.20.1)
68
71
  parser (2.7.2.0)
69
72
  ast (~> 2.4.1)
70
- psych (3.2.0)
73
+ psych (3.2.1)
71
74
  public_suffix (4.0.6)
72
75
  rainbow (3.0.0)
73
76
  rake (12.3.3)
@@ -76,7 +79,7 @@ GEM
76
79
  parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
77
80
  psych (~> 3.1)
78
81
  rainbow (>= 2.0, < 4.0)
79
- regexp_parser (2.0.0)
82
+ regexp_parser (2.0.1)
80
83
  representable (3.0.4)
81
84
  declarative (< 0.1.0)
82
85
  declarative-option (< 0.2.0)
@@ -85,17 +88,19 @@ GEM
85
88
  reverse_markdown (2.0.0)
86
89
  nokogiri
87
90
  rexml (3.2.4)
88
- rubocop (0.93.1)
91
+ rubocop (1.6.1)
89
92
  parallel (~> 1.10)
90
93
  parser (>= 2.7.1.5)
91
94
  rainbow (>= 2.2.2, < 4.0)
92
- regexp_parser (>= 1.8)
95
+ regexp_parser (>= 1.8, < 3.0)
93
96
  rexml
94
- rubocop-ast (>= 0.6.0)
97
+ rubocop-ast (>= 1.2.0, < 2.0)
95
98
  ruby-progressbar (~> 1.7)
96
99
  unicode-display_width (>= 1.4.0, < 2.0)
97
- rubocop-ast (1.2.0)
100
+ rubocop-ast (1.3.0)
98
101
  parser (>= 2.7.1.5)
102
+ rubocop-rake (0.5.1)
103
+ rubocop
99
104
  ruby-progressbar (1.10.1)
100
105
  ruby2_keywords (0.0.2)
101
106
  signet (0.14.0)
@@ -103,17 +108,17 @@ GEM
103
108
  faraday (>= 0.17.3, < 2.0)
104
109
  jwt (>= 1.5, < 3.0)
105
110
  multi_json (~> 1.10)
106
- solargraph (0.39.17)
111
+ solargraph (0.40.0)
107
112
  backport (~> 1.1)
108
113
  benchmark
109
114
  bundler (>= 1.17.2)
110
115
  e2mmap
111
116
  jaro_winkler (~> 1.5)
112
- maruku (~> 0.7, >= 0.7.3)
113
- nokogiri (~> 1.9, >= 1.9.1)
117
+ kramdown (~> 2.3)
118
+ kramdown-parser-gfm (~> 1.1)
114
119
  parser (~> 2.3)
115
120
  reverse_markdown (>= 1.0.5, < 3)
116
- rubocop (~> 0.52)
121
+ rubocop (>= 0.52)
117
122
  thor (~> 1.0)
118
123
  tilt (~> 2.0)
119
124
  yard (~> 0.9, >= 0.9.24)
@@ -132,6 +137,7 @@ DEPENDENCIES
132
137
  rake (~> 12.0)
133
138
  reek
134
139
  rubocop
140
+ rubocop-rake
135
141
  solargraph
136
142
  yard
137
143
 
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency('rake')
31
31
  spec.add_development_dependency('reek')
32
32
  spec.add_development_dependency('rubocop')
33
+ spec.add_development_dependency('rubocop-rake')
33
34
  spec.add_development_dependency('solargraph')
34
35
  spec.add_development_dependency('yard')
35
36
 
@@ -17,14 +17,10 @@ module Cns
17
17
  # ]
18
18
  # }
19
19
  # @param [String] ads lista enderecos ETH (max 20)
20
- # @param [Hash] par parametros base do pedido HTTP
21
20
  # @return [Array<Hash>] lista enderecos e seus saldos
22
- def account_es(ads, par = { module: 'account', action: 'balancemulti', tag: 'latest' })
21
+ def account_es(ads)
23
22
  JSON.parse(
24
- (conn_es.get('api') do |o|
25
- o.headers = { content_type: 'application/json', accept: 'application/json', user_agent: 'etherscan;ruby' }
26
- o.params = par.merge(address: ads.join(','), apikey: ENV['ETHERSCAN_API_KEY'])
27
- end).body,
23
+ conn_es.get('api', action: 'balancemulti', tag: 'latest', address: ads.join(',')).body,
28
24
  symbolize_names: true
29
25
  )[:result]
30
26
  rescue StandardError
@@ -82,15 +78,9 @@ module Cns
82
78
  # rex_info: nil
83
79
  # }
84
80
  # @param [String] add endereco EOS
85
- # @param [String] uri Uniform Resource Identifier do pedido HTTP
86
81
  # @return [Hash] endereco e seus saldo/recursos
87
- def account_gm(add, uri = '/v1/chain/get_account')
88
- JSON.parse(
89
- conn_gm.post(
90
- uri, { account_name: add }.to_json, content_type: 'application/json'
91
- ).body,
92
- symbolize_names: true
93
- )
82
+ def account_gm(add)
83
+ JSON.parse(conn_gm.post('/v1/chain/get_account', { account_name: add }.to_json).body, symbolize_names: true)
94
84
  rescue StandardError
95
85
  { core_liquid_balance: 0, total_resources: { net_weight: 0, cpu_weight: 0 } }
96
86
  end
@@ -125,20 +115,17 @@ module Cns
125
115
  # }
126
116
  # @param [String] add endereco ETH
127
117
  # @param [Integer] pag pagina transacoes
128
- # @param [Array<Hash>] ary acumulador transacoes
129
- # @param par (see account_es)
118
+ # @param [Array<Hash>] aes acumulador transacoes
130
119
  # @return [Array<Hash>] lista completa transacoes etherscan
131
- def norml_es(add, pag = 0, ary = [], par = { module: 'account', action: 'txlist', offset: 10_000 })
132
- r = JSON.parse(
133
- (conn_es.get('api') do |o|
134
- o.headers = { content_type: 'application/json', accept: 'application/json', user_agent: 'etherscan;ruby' }
135
- o.params = par.merge(address: add, page: pag + 1, apikey: ENV['ETHERSCAN_API_KEY'])
136
- end).body,
120
+ def norml_es(add, pag = 0, aes = [])
121
+ res = JSON.parse(
122
+ conn_es.get('api', action: 'txlist', offset: 10_000, address: add, page: pag += 1).body,
137
123
  symbolize_names: true
138
124
  )[:result]
139
- r.count < 10_000 ? ary + r : norml_es(add, pag + 1, ary + r)
125
+ aes += res
126
+ res.count < 10_000 ? aes : norml_es(add, pag, aes)
140
127
  rescue StandardError
141
- ary
128
+ aes
142
129
  end
143
130
 
144
131
  # @example token_es
@@ -172,20 +159,18 @@ module Cns
172
159
  # }
173
160
  # @param (see norml_es)
174
161
  # @return [Array<Hash>] lista completa token transfer events etherscan
175
- def token_es(add, pag = 0, ary = [], par = { module: 'account', action: 'tokentx', offset: 10_000 })
162
+ def token_es(add, pag = 0, aes = [])
176
163
  # registos duplicados aparecem em token events (ver exemplo acima)
177
164
  # -quando ha erros na blockchain (acho)
178
165
  # -quando ha token events identicos no mesmo block (acho)
179
- r = JSON.parse(
180
- (conn_es.get('api') do |o|
181
- o.headers = { content_type: 'application/json', accept: 'application/json', user_agent: 'etherscan;ruby' }
182
- o.params = par.merge(address: add, page: pag + 1, apikey: ENV['ETHERSCAN_API_KEY'])
183
- end).body,
166
+ res = JSON.parse(
167
+ conn_es.get('api', action: 'tokentx', offset: 10_000, address: add, page: pag += 1).body,
184
168
  symbolize_names: true
185
169
  )[:result]
186
- r.count < 10_000 ? ary + r : token_es(add, pag + 1, ary + r)
170
+ aes += res
171
+ res.count < 10_000 ? aes : token_es(add, pag, aes)
187
172
  rescue StandardError
188
- ary
173
+ aes
189
174
  end
190
175
 
191
176
  # @example ledger_gm
@@ -236,20 +221,17 @@ module Cns
236
221
  # last_irreversible_block: 141_721_371
237
222
  # }
238
223
  # @param add (see account_gm)
239
- # @param [Integer] pos posicao transacoes
240
- # @param [Array<Hash>] ary acumulador transacoes
241
- # @param uri (see account_gm)
224
+ # @param [Array<Hash>] agm acumulador transacoes
242
225
  # @return [Array<Hash>] lista completa transacoes greymass
243
- def ledger_gm(add, pos = 0, ary = [], uri = '/v1/history/get_actions')
244
- r = JSON.parse(
245
- conn_gm.post(
246
- uri, { account_name: add, pos: pos, offset: 100 }.to_json, content_type: 'application/json'
247
- ).body,
226
+ def ledger_gm(add, agm = [])
227
+ res = JSON.parse(
228
+ conn_gm.post('/v1/history/get_actions', { account_name: add, pos: agm.count, offset: 100 }.to_json).body,
248
229
  symbolize_names: true
249
230
  )[:actions]
250
- r.count < 100 ? ary + r : ledger_gm(add, pos + r.count, ary + r)
231
+ agm += res
232
+ res.count < 100 ? agm : ledger_gm(add, agm)
251
233
  rescue StandardError
252
- ary
234
+ agm
253
235
  end
254
236
 
255
237
  private
@@ -262,18 +244,22 @@ module Cns
262
244
  # @return [<Faraday::Connection>] connection object for etherscan
263
245
  def conn_es
264
246
  @conn_es ||=
265
- Faraday.new(url: 'https://api.etherscan.io/') do |c|
266
- c.request(:url_encoded)
267
- c.adapter(adapter)
247
+ Faraday.new(
248
+ url: 'https://api.etherscan.io/',
249
+ params: { module: 'account', apikey: ENV['ETHERSCAN_API_KEY'] },
250
+ headers: { content_type: 'application/json', accept: 'application/json', user_agent: 'etherscan;ruby' }
251
+ ) do |con|
252
+ con.request(:url_encoded)
253
+ con.adapter(adapter)
268
254
  end
269
255
  end
270
256
 
271
257
  # @return [<Faraday::Connection>] connection object for greymass
272
258
  def conn_gm
273
259
  @conn_gm ||=
274
- Faraday.new(url: 'https://eos.greymass.com') do |c|
275
- c.request(:url_encoded)
276
- c.adapter(adapter)
260
+ Faraday.new(url: 'https://eos.greymass.com', headers: { content_type: 'application/json' }) do |con|
261
+ con.request(:url_encoded)
262
+ con.adapter(adapter)
277
263
  end
278
264
  end
279
265
  end
@@ -31,7 +31,7 @@ module Cns
31
31
  # @return [Hash] saldos no bitcoinde
32
32
  def account_de(uri = 'https://api.bitcoin.de/v4/account')
33
33
  JSON.parse(
34
- Curl.get(uri) { |r| r.headers = hde(uri) }.body,
34
+ Curl.get(uri) { |obj| obj.headers = hde(uri) }.body,
35
35
  symbolize_names: true
36
36
  )[:data][:balances]
37
37
  rescue StandardError
@@ -56,7 +56,7 @@ module Cns
56
56
  # @return [Hash] saldos no paymium
57
57
  def account_fr(uri = 'https://paymium.com/api/v1/user')
58
58
  JSON.parse(
59
- Curl.get(uri) { |h| h.headers = hfr(uri) }.body,
59
+ Curl.get(uri) { |obj| obj.headers = hfr(uri) }.body,
60
60
  symbolize_names: true
61
61
  )
62
62
  rescue StandardError
@@ -76,11 +76,11 @@ module Cns
76
76
  # @return [Array<Hash>] lista saldos no therock
77
77
  def account_mt(uri = 'https://api.therocktrading.com/v1/balances')
78
78
  JSON.parse(
79
- Curl.get(uri) { |h| h.headers = hmt(uri) }.body,
79
+ Curl.get(uri) { |obj| obj.headers = hmt(uri) }.body,
80
80
  symbolize_names: true
81
81
  )[:balances]
82
- .delete_if { |e| DC.include?(e[:currency]) }
83
- .sort { |a, b| a[:currency] <=> b[:currency] }
82
+ .delete_if { |del| DC.include?(del[:currency]) }
83
+ .sort { |oba, obb| oba[:currency] <=> obb[:currency] }
84
84
  rescue StandardError
85
85
  []
86
86
  end
@@ -103,7 +103,7 @@ module Cns
103
103
  # @return [Hash] saldos no kraken
104
104
  def account_us(urb = 'https://api.kraken.com/0/private', uri = 'Balance', non = nnc)
105
105
  JSON.parse(
106
- Curl.post("#{urb}/#{uri}", nonce: non) { |h| h.headers = hus(uri, nonce: non) }.body,
106
+ Curl.post("#{urb}/#{uri}", nonce: non) { |obj| obj.headers = hus(uri, nonce: non) }.body,
107
107
  symbolize_names: true
108
108
  )[:result]
109
109
  rescue StandardError
@@ -112,113 +112,63 @@ module Cns
112
112
 
113
113
  private
114
114
 
115
- # @example deposits_unif_de
116
- # [
117
- # {
118
- # txid: 177_245,
119
- # time: '2014-01-31T22:01:30+01:00',
120
- # tp: 'deposit',
121
- # add: '1KK6HhG3quojFS4CY1mPcbyrjQ8BMDQxmT',
122
- # qt: '0.13283',
123
- # moe: 'btc',
124
- # fee: '0'
125
- # },
126
- # {}
127
- # ]
128
- # @param [Hash] hde pagina depositos bitcoinde
129
- # @return [Array<Hash>] lista uniformizada pagina depositos bitcoinde
130
- def deposits_unif_de(hde)
131
- hde[:deposits].map do |h|
132
- {
133
- add: h[:address],
134
- time: Time.parse(h[:created_at]),
135
- qt: h[:amount],
136
- txid: Integer(h[:deposit_id])
137
- }.merge(tp: 'deposit', moe: 'btc', fee: '0')
138
- end
139
- end
140
-
141
- # @example withdrawals_unif_de
142
- # [
143
- # {
144
- # txid: 136_605,
145
- # time: '2014-02-05T13:05:17+01:00',
146
- # tp: 'withdrawal',
147
- # add: '1K9YMDDrmMV25EoYNqi7KUEK57Kn3TCNUJ',
148
- # qt: '0.120087',
149
- # fee: '0',
150
- # moe: 'btc'
151
- # },
152
- # {}
153
- # ]
154
- # @param [Hash] hwi pagina withdrawals bitcoinde
155
- # @return [Array<Hash>] lista uniformizada pagina withdrawals bitcoinde
156
- def withdrawals_unif_de(hwi)
157
- hwi[:withdrawals].map do |h|
158
- {
159
- add: h[:address],
160
- time: Time.parse(h[:transferred_at]),
161
- qt: h[:amount],
162
- fee: h[:network_fee],
163
- txid: Integer(h[:withdrawal_id])
164
- }.merge(tp: 'withdrawal', moe: 'btc')
165
- end
166
- end
167
-
168
115
  # @return [Integer] continually-increasing unsigned integer nonce from the current Unix Time
169
116
  def nnc
170
117
  Integer(Float(Time.now) * 1e6)
171
118
  end
172
119
 
173
- # @param [String] qry query a incluir no pedido HTTP
120
+ # @param [String] qde query a incluir no pedido HTTP
174
121
  # @param [Integer] non continually-increasing unsigned integer
175
122
  # @return [Hash] headers necessarios para pedido HTTP da exchange bitcoinde
176
- def hde(qry, non = nnc)
123
+ def hde(qde, non = nnc)
124
+ key = ENV['BITCOINDE_API_KEY']
177
125
  {
178
- 'X-API-KEY': ENV['BITCOINDE_API_KEY'],
126
+ 'X-API-KEY': key,
179
127
  'X-API-NONCE': non,
180
128
  'X-API-SIGNATURE': OpenSSL::HMAC.hexdigest(
181
129
  'sha256',
182
130
  ENV['BITCOINDE_API_SECRET'],
183
- ['GET', qry, ENV['BITCOINDE_API_KEY'], non, Digest::MD5.hexdigest('')].join('#')
131
+ ['GET', qde, key, non, Digest::MD5.hexdigest('')].join('#')
184
132
  )
185
133
  }
186
134
  end
187
135
 
188
- # @param (see hde)
136
+ # @param [String] qfr query a incluir no pedido HTTP
137
+ # @param non (see hde)
189
138
  # @return [Hash] headers necessarios para pedido HTTP da exchange paymium
190
- def hfr(qry, non = nnc)
139
+ def hfr(qfr, non = nnc)
191
140
  {
192
141
  content_type: 'application/json',
193
142
  'Api-Key': ENV['PAYMIUM_API_KEY'],
194
143
  'Api-Nonce': non,
195
- 'Api-Signature': OpenSSL::HMAC.hexdigest('sha256', ENV['PAYMIUM_API_SECRET'], [non, qry].join)
144
+ 'Api-Signature': OpenSSL::HMAC.hexdigest('sha256', ENV['PAYMIUM_API_SECRET'], [non, qfr].join)
196
145
  }
197
146
  end
198
147
 
199
- # @param (see hde)
148
+ # @param [String] qmt query a incluir no pedido HTTP
149
+ # @param non (see hde)
200
150
  # @return [Hash] headers necessarios para pedido HTTP da exchange therock
201
- def hmt(qry, non = nnc)
151
+ def hmt(qmt, non = nnc)
202
152
  {
203
153
  content_type: 'application/json',
204
154
  'X-TRT-KEY': ENV['THEROCK_API_KEY'],
205
155
  'X-TRT-NONCE': non,
206
- 'X-TRT-SIGN': OpenSSL::HMAC.hexdigest('sha512', ENV['THEROCK_API_SECRET'], [non, qry].join)
156
+ 'X-TRT-SIGN': OpenSSL::HMAC.hexdigest('sha512', ENV['THEROCK_API_SECRET'], [non, qmt].join)
207
157
  }
208
158
  end
209
159
 
210
- # @param qry (see hde)
160
+ # @param [String] qus query a incluir no pedido HTTP
211
161
  # @param [Hash] ops opcoes trabalho
212
162
  # @option ops [Hash] :nonce continually-increasing unsigned integer
213
163
  # @return [Hash] headers necessarios para pedido HTTP da exchange kraken
214
- def hus(qry, ops)
164
+ def hus(qus, ops)
215
165
  {
216
166
  'api-key': ENV['KRAKEN_API_KEY'],
217
167
  'api-sign': Base64.strict_encode64(
218
168
  OpenSSL::HMAC.digest(
219
169
  'sha512',
220
170
  Base64.decode64(ENV['KRAKEN_API_SECRET']),
221
- ['/0/private/', qry, Digest::SHA256.digest("#{ops[:nonce]}#{URI.encode_www_form(ops)}")].join
171
+ ['/0/private/', qus, Digest::SHA256.digest("#{ops[:nonce]}#{URI.encode_www_form(ops)}")].join
222
172
  )
223
173
  )
224
174
  }