peatio-coinpaymentnew 0.0.7 → 0.0.8

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
  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: