peatio-coinpaymentnew 0.0.7 → 0.0.8

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
  SHA1:
3
- metadata.gz: 15c446d380360e20a0edee5afd62d359d981be51
4
- data.tar.gz: ad92f9e4f7d7f84225116446f20f7b44e1d82b2f
3
+ metadata.gz: 89cb0e3405cea75e5abcd3aa418743b6779b0673
4
+ data.tar.gz: 50491be28e5d7f2b96f038696175a23d2df3862d
5
5
  SHA512:
6
- metadata.gz: b63546d3bb9293e2371fc065797cab9140c692bf4709362f0da6ac52d998236cb851257a775a748935c3c22aafae6fb2991b0fb6ca4ccd194a31f6f628b72dd9
7
- data.tar.gz: 94739faea1e93d666e77e334771602785dac29d9bbb91a7a446a20dbe42f547532492a68b0f88cbefe751861178381451c9aa8155e25956b9fe96749f97c479c
6
+ metadata.gz: 61a1d5a62f4698313b97f6182042403bf398c937bbe15a2d2ff32d73cc622597e945fc5d9636e53a0a3ea235fe04648bf0576fdb8124e4014fe66a5c6b38edbd
7
+ data.tar.gz: 2df07c66ee90855ecdf4b91585fbc124a0f20ece5faa50b99af4408c2c1e3a3a9e62d3ecebe1e326a48132ec9edacae625d278ddfca36793458f58f445d13c48
@@ -25,41 +25,11 @@ module Peatio
25
25
  { version: 1, key: @access_token }
26
26
  end
27
27
 
28
- # def rest_api(verb, path, data = nil)
29
28
  def rest_api(args)
30
- # args = [@endpoint.to_s + path]
31
-
32
- # if data
33
- # if %i[post put patch].include?(verb)
34
- # args << data.compact.to_json
35
- # args << { 'Content-Type' => 'application/json' }
36
- # else
37
- # args << data.compact
38
- # args << {}
39
- # end
40
- # else
41
- # args << nil
42
- # args << {}
43
- # end
44
29
  body = required_params.merge!(args)
45
- # args.last['Accept'] = 'application/json'
46
- # args.last['hmac'] = hmac(body)
47
-
48
- # body = required_params.merge!(cmd: caller[0][/`.*'/][1..-2]).merge!(args)
49
30
  response = HTTParty.post(@endpoint.to_s, body: body, headers: {'hmac' => hmac(body)})
50
31
  response['error'] == 'ok' ? Hashie::Mash.new(response['result']) : response['error']
51
32
 
52
- # response = Faraday.send(verb, *args)
53
- # response.assert_success!
54
- # response = JSON.parse(response.body)
55
- # response['error'].tap { |error| raise ResponseError.new(error) if error }
56
- # response
57
- rescue Faraday::Error => e
58
- if e.is_a?(Faraday::ConnectionFailed) || e.is_a?(Faraday::TimeoutError)
59
- raise ConnectionError, e
60
- else
61
- raise ConnectionError, JSON.parse(e.response.body)['message']
62
- end
63
33
  end
64
34
  end
65
35
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Peatio
4
4
  module Coinpaymentnew
5
- VERSION = "0.0.7"
5
+ VERSION = "0.0.8"
6
6
  end
7
7
  end
@@ -30,56 +30,20 @@ module Peatio
30
30
  currency = erc20_currency_id
31
31
  options.deep_symbolize_keys!
32
32
 
33
- if options.dig(:pa_details, :address_id).present? &&
34
- options.dig(:pa_details, :updated_at).present? &&
35
- time_difference_in_minutes(options.dig(:pa_details, :updated_at)) >= TIME_DIFFERENCE_IN_MINUTES
36
- args = { cmd: 'get_deposit_address', currency: currency.code }.merge!(options)
37
- response = client.rest_api(args)
38
- { address: response['address'], secret: coinpayment_wallet_passphrase }
39
- elsif options.dig(:pa_details, :address_id).blank?
40
- args = { cmd: 'get_deposit_address', currency: currency.code }.merge!(options)
41
- response = client.rest_api(args)
42
- # response = client.rest_api(:post, "#{currency}/wallet/#{wallet_id}/address")
43
- { address: response['address'], secret: coinpayment_wallet_passphrase, details: { address_id: response['address'] }}
44
- end
33
+ args = { cmd: 'get_deposit_address', currency: currency.upcase }.merge!(options)
34
+ response = client.rest_api(args)
35
+ { address: response['address'] }
45
36
  rescue Coinpayment::Client::Error => e
46
37
  raise Peatio::Wallet::ClientError, e
47
38
  end
48
39
 
49
40
  def create_transaction!(transaction, options = {})
50
41
  currency_options = @currency.fetch(:options).slice(:gas_limit, :gas_price, :erc20_contract_address)
51
-
52
- # if currency_options[:gas_limit].present? && currency_options[:gas_price].present?
53
- # options.merge!(currency_options)
54
- # create_eth_transaction(transaction, options)
55
- # else
56
- amount = convert_to_base_unit(transaction.amount)
57
-
58
- # if options[:subtract_fee].to_s == 'true'
59
- # fee = build_raw_transaction(transaction)
60
- # baseFeeInfo = fee['tx_fee']
61
- # # fee = baseFeeInfo.present? ? baseFeeInfo : fee.dig('txInfo','Fee')
62
- # amount -= fee.to_i
63
- # end
64
-
65
- args = { cmd: "create_transaction", amount: amount, currency1: "USD", currency2: currency.code, buyer_email: "joshirockstar007@gmail.com", address: normalize_address(transaction.to_address.to_s) }
66
- response = client.rest_api(args)
67
- # response = client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/sendcoins", {
68
- # address: normalize_address(transaction.to_address.to_s),
69
- # amount: amount.to_s,
70
- # walletPassphrase: coinpayment_wallet_passphrase,
71
- # memo: xlm_memo(transaction.to_address.to_s)
72
- # }.compact)
73
-
74
- if response['feeString'].present?
75
- fee = convert_from_base_unit(response['feeString'])
76
- transaction.fee = fee
77
- end
78
-
79
- transaction.hash = normalize_txid(response['txn_id'])
80
- transaction.fee_currency_id = erc20_currency_id
81
- transaction
82
- # end
42
+ amount = convert_to_base_unit(transaction.amount)
43
+ args = { cmd: "create_transaction", amount: amount, currency1: "USD", currency2: currency_id.upcase, buyer_email: "joshirockstar007@gmail.com", address: normalize_address(transaction.to_address.to_s) }
44
+ response = client.rest_api(args)
45
+ transaction.hash = normalize_txid(response['txn_id'])
46
+ transactio
83
47
  rescue Coinpayment::Client::Error => e
84
48
  raise Peatio::Wallet::ClientError, e
85
49
  end
@@ -88,13 +52,7 @@ module Peatio
88
52
  def build_raw_transaction(transaction)
89
53
  args = { cmd: "rates" }
90
54
  response = client.rest_api(args)
91
- response[currency.code]
92
- # client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/tx/build", {
93
- # recipients: [{
94
- # address: transaction.to_address,
95
- # amount: convert_to_base_unit(transaction.amount).to_s
96
- # }]
97
- # }.compact)
55
+ response[currency_id.upcase]
98
56
  end
99
57
 
100
58
  # def create_eth_transaction(transaction, options = {})
@@ -136,13 +94,7 @@ module Peatio
136
94
  def load_balance!
137
95
  args = { cmd: "balances" }
138
96
  response = client.rest_api(args)
139
- response[currency.code]['balancef']
140
- # if @currency.fetch(:options).slice(:erc20_contract_address).present?
141
- # load_erc20_balance!
142
- # else
143
- # response = client.rest_api(:get, "#{currency_id}/wallet/#{wallet_id}")
144
- # convert_from_base_unit(response.fetch('balanceString'))
145
- # end
97
+ response[currency_id.upcase]['balancef']
146
98
  rescue Coinpayment::Client::Error => e
147
99
  raise Peatio::Wallet::ClientError, e
148
100
  end
@@ -155,27 +107,24 @@ module Peatio
155
107
  # end
156
108
 
157
109
  def trigger_webhook_event(request)
158
- currency = @wallet.fetch(:testnet).present? ? 't' + @currency.fetch(:id) : @currency.fetch(:id)
159
- if request.params['ipn_type'] == 'transfer'
160
- return unless currency == request.params['coin'] &&
161
- @wallet.fetch(:wallet_id) == request.params['wallet']
162
- else
163
- return unless @wallet.fetch(:wallet_id) == request.params['walletId']
164
- end
110
+ # currency = @wallet.fetch(:testnet).present? ? 't' + @currency.fetch(:id) : @currency.fetch(:id)
111
+ # if request.params['ipn_type'] == 'deposit'
112
+ # return unless currency == request.params['coin'] &&
113
+ # @wallet.fetch(:wallet_id) == request.params['wallet']
114
+ # else
115
+ # return unless @wallet.fetch(:wallet_id) == request.params['walletId']
116
+ # end
165
117
 
166
- if request.params['ipn_type'] == 'transfer'
118
+ if request.params['ipn_type'] == 'deposit'
167
119
  transactions = fetch_transfer!(request.params['txn_id'])
168
120
  return transactions
169
- # elsif request.params['type'] == 'address_confirmation'
170
- # address_id = fetch_address_id(request.params['address'])
171
- # return { address_id: address_id, address: request.params['address'], currency_id: currency_id }
172
121
  end
173
122
  end
174
123
 
175
- def register_webhooks!(url)
176
- transfer_webhook(url)
177
- address_confirmation_webhook(url)
178
- end
124
+ # def register_webhooks!(url)
125
+ # transfer_webhook(url)
126
+ # address_confirmation_webhook(url)
127
+ # end
179
128
 
180
129
  # def fetch_address_id(address)
181
130
  # currency = erc20_currency_id
@@ -188,64 +137,43 @@ module Peatio
188
137
  def fetch_transfer!(id)
189
138
  args = { cmd: "get_tx_info", txid: id }
190
139
  response = client.rest_api(args)
191
- # response[currency.code]['balancef']
192
- # response = client.rest_api(:get, "#{currency_id}/wallet/#{wallet_id}/transfer/#{id}")
193
- # parse_entries(response['entries']).map do |entry|
194
- # to_address = if response.dig('coinSpecific', 'memo').present?
195
- # memo = response.dig('coinSpecific', 'memo')
196
- # memo_type = memo.kind_of?(Array) ? memo.first : memo
197
- # build_address(entry['address'], memo_type)
198
- # else
199
- # entry['address']
200
- # end
201
- state = define_transaction_state(response['status'])
202
-
203
- # if response['outputs'].present?
204
- # output = response['outputs'].find { |out| out['address'] == to_address }
205
- # txout = output['index'] if output.present?
206
- # end
207
-
208
- # if response['feeString'].present?
209
- # fee = convert_from_base_unit(response['feeString']) / response['entries'].count
210
- # end
211
-
212
- transaction = Peatio::Transaction.new(
213
- currency_id: @currency.fetch(:id),
214
- amount: convert_from_base_unit(response['amountf']),
215
- fee: 0,
216
- fee_currency_id: response["coin"],
217
- hash: normalize_txid(response['txid']),
218
- to_address: response["payment_address"],
219
- block_number: 0,
220
- txout: 0,
221
- status: state
222
- )
223
-
224
- transaction if transaction.valid?
225
- # end.compact
140
+ state = define_transaction_state(response['status'])
141
+ transaction = Peatio::Transaction.new(
142
+ currency_id: @currency.fetch(:id),
143
+ amount: convert_from_base_unit(response['amountf']),
144
+ fee: 0,
145
+ fee_currency_id: response["coin"],
146
+ hash: normalize_txid(response['txid']),
147
+ to_address: response["payment_address"],
148
+ block_number: 0,
149
+ txout: 0,
150
+ status: state
151
+ )
152
+
153
+ transaction
226
154
  rescue Coinpayment::Client::Error => e
227
155
  raise Peatio::Wallet::ClientError, e
228
156
  end
229
157
 
230
- def transfer_webhook(url)
231
- client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/webhooks", {
232
- type: 'transfer',
233
- allToken: true,
234
- url: url,
235
- label: "webhook for #{url}",
236
- listenToFailureStates: false
237
- })
238
- end
158
+ # def transfer_webhook(url)
159
+ # client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/webhooks", {
160
+ # type: 'transfer',
161
+ # allToken: true,
162
+ # url: url,
163
+ # label: "webhook for #{url}",
164
+ # listenToFailureStates: false
165
+ # })
166
+ # end
239
167
 
240
- def address_confirmation_webhook(url)
241
- client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/webhooks", {
242
- type: 'address_confirmation',
243
- allToken: true,
244
- url: url,
245
- label: "webhook for #{url}",
246
- listenToFailureStates: false
247
- })
248
- end
168
+ # def address_confirmation_webhook(url)
169
+ # client.rest_api(:post, "#{currency_id}/wallet/#{wallet_id}/webhooks", {
170
+ # type: 'address_confirmation',
171
+ # allToken: true,
172
+ # url: url,
173
+ # label: "webhook for #{url}",
174
+ # listenToFailureStates: false
175
+ # })
176
+ # end
249
177
 
250
178
  def parse_entries(entries)
251
179
  entries.map do |e|
@@ -258,8 +186,6 @@ module Peatio
258
186
  access_token = @wallet.fetch(:access_token) { raise Peatio::Wallet::MissingSettingError, :access_token }
259
187
  access_token2 = @wallet.fetch(:access_token2) { raise Peatio::Wallet::MissingSettingError, :access_token2 }
260
188
 
261
- currency_code_prefix = @wallet.fetch(:testnet) ? 't' : ''
262
- uri = uri.gsub(/\/+\z/, '') + '/' + currency_code_prefix
263
189
  @client ||= Client.new(uri, access_token, access_token2)
264
190
  end
265
191
 
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peatio-coinpaymentnew
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harishankar Joshi
@@ -215,6 +215,9 @@ files:
215
215
  - peatio-coinpaymentnew-0.0.2.gem
216
216
  - peatio-coinpaymentnew-0.0.3.gem
217
217
  - peatio-coinpaymentnew-0.0.4.gem
218
+ - peatio-coinpaymentnew-0.0.5.gem
219
+ - peatio-coinpaymentnew-0.0.6.gem
220
+ - peatio-coinpaymentnew-0.0.7.gem
218
221
  - peatio-coinpaymentnew.gemspec
219
222
  homepage: https://openware.com/
220
223
  licenses: