istox 0.1.67 → 0.1.68
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45ce1d566ed6248aa5ce93677cc65c10c6daebfd0f4b168514cc38e268d53130
|
4
|
+
data.tar.gz: fa148b1ecb82531f8773171436efcf427176b64509b2202cc37201d5e33d158a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3825904cd3232d5db9e3e9760d0d29016be5381a0e2d3b319646eded1c0cb6f065b97b32c7e126c5fa6de422e7e81a91177eb10993405806c2b549d54a491bf3
|
7
|
+
data.tar.gz: 3964cc194458dcbad28f0abea7faeaff7f281e23de55078adb5ba49fe7f996007012245918d18c5398f8f2c962dbd64531df8aa8cf34985dcc27cc7860a642f0
|
@@ -11,6 +11,8 @@ module Istox
|
|
11
11
|
|
12
12
|
# sid cannot be nil
|
13
13
|
update_receipt = ::Istox::BlockchainReceipt.where(txid: data.uuid, txhash: nil).where.not(sid: nil).first
|
14
|
+
raise "Unable to find receipt to update" if update_receipt.blank?
|
15
|
+
|
14
16
|
update_receipt.update!(txhash: data.txnHash)
|
15
17
|
end
|
16
18
|
end
|
@@ -1,6 +1,46 @@
|
|
1
1
|
module Istox
|
2
2
|
class BlockchainStatusHandler
|
3
3
|
class << self
|
4
|
+
|
5
|
+
def txn_data_confirmed(transactions)
|
6
|
+
found_txns = transactions.map do |transaction|
|
7
|
+
receipt = ::Istox::BlockchainReceipt.where(txid: transaction.uuid).first
|
8
|
+
if !receipt.blank?
|
9
|
+
handling_receipt = ::Istox::BlockchainReceipt.where(txhash: transaction.id, txid: transaction.uuid).first
|
10
|
+
raise 'Unable to find receipt' if handling_receipt.blank?
|
11
|
+
transaction
|
12
|
+
else
|
13
|
+
puts 'Transaction doesnt belong here, skipping...'
|
14
|
+
nil
|
15
|
+
end
|
16
|
+
end.compact
|
17
|
+
|
18
|
+
found_txns.each do |transaction|
|
19
|
+
receipt = ::Istox::BlockchainReceipt.where(txhash: transaction.id, txid: transaction.uuid).first
|
20
|
+
|
21
|
+
resource = begin
|
22
|
+
class_eval("::#{receipt.resource_name}").find(receipt.resource_id)
|
23
|
+
rescue => e
|
24
|
+
puts "Class not found, skipping..."
|
25
|
+
next
|
26
|
+
end
|
27
|
+
|
28
|
+
receipt_list = get_receipt_list(resource)
|
29
|
+
|
30
|
+
next if resource_handled?(receipt_list)
|
31
|
+
|
32
|
+
next if resource.outcome == 'pending'
|
33
|
+
|
34
|
+
if resource.outcome == 'confirmed'
|
35
|
+
resource.handle_confirm(receipt.resource_action)
|
36
|
+
|
37
|
+
mark_resource_handled(receipt_list)
|
38
|
+
publish_to_frontend(resource, true, receipt, receipt.sid, receipt_list)
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
4
44
|
def txn_status_changed(transactions, payload_target)
|
5
45
|
# pre check all transaction does exists
|
6
46
|
found_txns = transactions.map do |transaction|
|
@@ -18,7 +58,7 @@ module Istox
|
|
18
58
|
found_txns.each do |transaction|
|
19
59
|
receipt = ::Istox::BlockchainReceipt.where(txhash: transaction.id, txid: transaction.uuid).first
|
20
60
|
|
21
|
-
next if !(%w[failed
|
61
|
+
next if !(%w[failed pending].include?(transaction.status))
|
22
62
|
receipt.update!(status: transaction.status)
|
23
63
|
|
24
64
|
resource = begin
|
@@ -32,16 +72,16 @@ module Istox
|
|
32
72
|
|
33
73
|
next if resource_handled?(receipt_list)
|
34
74
|
|
35
|
-
if transaction.status == 'confirmed'
|
36
|
-
|
75
|
+
# if transaction.status == 'confirmed'
|
76
|
+
# next if resource.outcome == 'pending'
|
37
77
|
|
38
|
-
|
39
|
-
|
78
|
+
# if resource.outcome == 'confirmed'
|
79
|
+
# resource.handle_confirm(receipt.resource_action)
|
40
80
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
end
|
81
|
+
# mark_resource_handled(receipt_list)
|
82
|
+
# publish_to_frontend(resource, true, receipt, receipt.sid, receipt_list)
|
83
|
+
# end
|
84
|
+
# end
|
45
85
|
|
46
86
|
if transaction.status == 'failed'
|
47
87
|
resource.handle_fail(receipt.resource_action)
|
@@ -4,8 +4,20 @@ module Istox
|
|
4
4
|
class LogFormatter
|
5
5
|
def call(severity, time, progname, msg='')
|
6
6
|
return '' if msg.blank?
|
7
|
-
|
8
|
-
|
7
|
+
|
8
|
+
hash = {
|
9
|
+
level: severity,
|
10
|
+
message: processed_message(msg)
|
11
|
+
}
|
12
|
+
|
13
|
+
if progname.present?
|
14
|
+
hash[:app] = progname
|
15
|
+
end
|
16
|
+
|
17
|
+
return JSON.pretty_generate(hash) + "\n"
|
18
|
+
|
19
|
+
# return "timestamp='#{time}' level=#{severity} progname='#{progname}' #{processed_message(msg)}\n" if progname.present?
|
20
|
+
# "timestamp='#{time}' level=#{severity} #{processed_message(msg)}\n"
|
9
21
|
end
|
10
22
|
|
11
23
|
private
|
@@ -13,7 +25,7 @@ module Istox
|
|
13
25
|
def processed_message(msg)
|
14
26
|
return msg.map { |k, v| "#{k}='#{v.strip}'" }.join(' ') if msg.is_a?(Hash)
|
15
27
|
|
16
|
-
|
28
|
+
msg
|
17
29
|
end
|
18
30
|
end
|
19
31
|
end
|
data/lib/istox/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: istox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.68
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Siong Leng
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bunny
|
@@ -316,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
316
316
|
version: '0'
|
317
317
|
requirements: []
|
318
318
|
rubyforge_project:
|
319
|
-
rubygems_version: 2.7.
|
319
|
+
rubygems_version: 2.7.7
|
320
320
|
signing_key:
|
321
321
|
specification_version: 4
|
322
322
|
summary: istox backend shared gem
|