istox 0.2.6.pre.0 → 0.2.6
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 +4 -4
- data/Gemfile.lock +20 -16
- data/lib/istox/helpers/messaging.rb +3 -2
- data/lib/istox/helpers/order_book_prorate.rb +17 -3
- data/lib/istox/helpers/redis_manager.rb +0 -8
- data/lib/istox/helpers/sns_publisher.rb +7 -3
- data/lib/istox/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3a04c1473346b65b6cbede4d1308cdb2267af42212a76cdec99f77c17cdf7e36
|
|
4
|
+
data.tar.gz: 6439d8fba8144230f73eaf7a6d7e388642946508b53b986c925c0cc40a890790
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 288bd22b73176d05d9a900dc5b7fe3bc1d8742d03e448520f2f1e087303b2379f4bbd97ff713595d23f391e49de03b419b50ef4f2de11652cea90fe44439a386
|
|
7
|
+
data.tar.gz: adf4bef565107e7cfb90cb6cef08bec714ccbaec1b3fcbc2f3f174e5ee5aa24f4d05f036dc88f72bd736c2fe90120682de7ab3af5368ab5a8096bbb57d10368e
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
istox (0.2.
|
|
4
|
+
istox (0.2.5.3)
|
|
5
5
|
amazing_print
|
|
6
6
|
awesome_print
|
|
7
7
|
aws-sdk-sns (~> 1)
|
|
@@ -67,7 +67,7 @@ GEM
|
|
|
67
67
|
amazing_print (1.3.0)
|
|
68
68
|
amq-protocol (2.3.2)
|
|
69
69
|
arel (9.0.0)
|
|
70
|
-
awesome_print (1.
|
|
70
|
+
awesome_print (1.9.2)
|
|
71
71
|
aws-eventstream (1.1.0)
|
|
72
72
|
aws-partitions (1.318.0)
|
|
73
73
|
aws-sdk-core (3.96.1)
|
|
@@ -113,31 +113,35 @@ GEM
|
|
|
113
113
|
i18n (~> 0.5)
|
|
114
114
|
fakeredis (0.7.0)
|
|
115
115
|
redis (>= 3.2, < 5.0)
|
|
116
|
-
faraday (1.
|
|
116
|
+
faraday (1.4.1)
|
|
117
|
+
faraday-excon (~> 1.1)
|
|
117
118
|
faraday-net_http (~> 1.0)
|
|
119
|
+
faraday-net_http_persistent (~> 1.1)
|
|
118
120
|
multipart-post (>= 1.2, < 3)
|
|
119
|
-
ruby2_keywords
|
|
121
|
+
ruby2_keywords (>= 0.0.4)
|
|
122
|
+
faraday-excon (1.1.0)
|
|
120
123
|
faraday-net_http (1.0.1)
|
|
124
|
+
faraday-net_http_persistent (1.1.0)
|
|
121
125
|
faraday_middleware (1.0.0)
|
|
122
126
|
faraday (~> 1.0)
|
|
123
127
|
ffi (1.15.0)
|
|
124
128
|
globalid (0.4.2)
|
|
125
129
|
activesupport (>= 4.2.0)
|
|
126
|
-
google-protobuf (3.
|
|
127
|
-
googleapis-common-protos-types (1.0.
|
|
128
|
-
google-protobuf (~> 3.
|
|
130
|
+
google-protobuf (3.15.8-universal-darwin)
|
|
131
|
+
googleapis-common-protos-types (1.0.6)
|
|
132
|
+
google-protobuf (~> 3.14)
|
|
129
133
|
graphlient (0.5.0)
|
|
130
134
|
faraday (>= 1.0)
|
|
131
135
|
faraday_middleware
|
|
132
136
|
graphql-client
|
|
133
|
-
graphql (1.
|
|
137
|
+
graphql (1.12.8)
|
|
134
138
|
graphql-client (0.16.0)
|
|
135
139
|
activesupport (>= 3.0)
|
|
136
140
|
graphql (~> 1.8)
|
|
137
|
-
grpc (1.
|
|
138
|
-
google-protobuf (~> 3.
|
|
141
|
+
grpc (1.37.0-universal-darwin)
|
|
142
|
+
google-protobuf (~> 3.15)
|
|
139
143
|
googleapis-common-protos-types (~> 1.0)
|
|
140
|
-
grpc-tools (1.
|
|
144
|
+
grpc-tools (1.37.0)
|
|
141
145
|
gruf (2.9.1)
|
|
142
146
|
activesupport (> 4)
|
|
143
147
|
concurrent-ruby (> 1)
|
|
@@ -157,7 +161,7 @@ GEM
|
|
|
157
161
|
grpc-tools (~> 1.10)
|
|
158
162
|
slop (~> 4.6)
|
|
159
163
|
jmespath (1.4.0)
|
|
160
|
-
json (2.
|
|
164
|
+
json (2.5.1)
|
|
161
165
|
listen (3.0.8)
|
|
162
166
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
163
167
|
rb-inotify (~> 0.9, >= 0.9.7)
|
|
@@ -178,8 +182,8 @@ GEM
|
|
|
178
182
|
nio4r (2.3.1)
|
|
179
183
|
nokogiri (1.10.9)
|
|
180
184
|
mini_portile2 (~> 2.4.0)
|
|
181
|
-
oj (3.
|
|
182
|
-
ougai (
|
|
185
|
+
oj (3.11.5)
|
|
186
|
+
ougai (2.0.0)
|
|
183
187
|
oj (~> 3.10)
|
|
184
188
|
paranoia (2.4.3)
|
|
185
189
|
activerecord (>= 4.0, < 6.2)
|
|
@@ -230,7 +234,7 @@ GEM
|
|
|
230
234
|
redis-activesupport (5.2.0)
|
|
231
235
|
activesupport (>= 3, < 7)
|
|
232
236
|
redis-store (>= 1.3, < 2)
|
|
233
|
-
redis-namespace (1.8.
|
|
237
|
+
redis-namespace (1.8.1)
|
|
234
238
|
redis (>= 3.0.4)
|
|
235
239
|
redis-rack (2.1.3)
|
|
236
240
|
rack (>= 2.0.8, < 3)
|
|
@@ -262,7 +266,7 @@ GEM
|
|
|
262
266
|
rspec-mocks (~> 3.8.0)
|
|
263
267
|
rspec-support (~> 3.8.0)
|
|
264
268
|
rspec-support (3.8.0)
|
|
265
|
-
ruby2_keywords (0.0.
|
|
269
|
+
ruby2_keywords (0.0.4)
|
|
266
270
|
slop (4.8.2)
|
|
267
271
|
sprockets (3.7.2)
|
|
268
272
|
concurrent-ruby (~> 1.0)
|
|
@@ -23,7 +23,7 @@ module Istox
|
|
|
23
23
|
type: 'SEND_SMS',
|
|
24
24
|
data: {
|
|
25
25
|
to: targets,
|
|
26
|
-
subject: subject || 'Message from
|
|
26
|
+
subject: subject || 'Message from ADDX',
|
|
27
27
|
body: content
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -130,7 +130,8 @@ module Istox
|
|
|
130
130
|
email_data[:copy_emails].each do |ce|
|
|
131
131
|
next unless ce.present?
|
|
132
132
|
|
|
133
|
-
|
|
133
|
+
# uid and sid are reserved fields that should be not cloned
|
|
134
|
+
copy_email_data = email_data.clone.except(:sid).except(:uid)
|
|
134
135
|
|
|
135
136
|
# if it is just email to cc
|
|
136
137
|
if ce.is_a? String
|
|
@@ -2,12 +2,19 @@ module Istox
|
|
|
2
2
|
class OrderBookProrate
|
|
3
3
|
class << self
|
|
4
4
|
def allocation(token_price:, min_investment:, bid_block:, # rubocop:disable Metrics/AbcSize,Metrics/PerceivedComplexity
|
|
5
|
-
invest_step:, hard_cap:, investments:, whitelists: [], include_refund_amount: false
|
|
5
|
+
invest_step:, hard_cap:, investments:, whitelists: [], include_refund_amount: false,
|
|
6
|
+
rollover_investments: [])
|
|
6
7
|
|
|
7
8
|
# make sure is hashes
|
|
8
9
|
original_investments = investments.as_json.map(&:symbolize_keys)
|
|
9
10
|
whitelists = whitelists.as_json.map(&:symbolize_keys)
|
|
10
11
|
investments = investments.as_json.map(&:symbolize_keys)
|
|
12
|
+
rollover_investments = rollover_investments.as_json.map(&:symbolize_keys)
|
|
13
|
+
|
|
14
|
+
## rollover investment is guaranteed, so it should decrease the hard cap
|
|
15
|
+
rollover_investments.map do |rollover_investment|
|
|
16
|
+
hard_cap = ::Istox::FMath.sub(hard_cap, rollover_investment[:fiat_amount])
|
|
17
|
+
end
|
|
11
18
|
|
|
12
19
|
# process whitelist
|
|
13
20
|
whitelists.each do |whitelist|
|
|
@@ -106,7 +113,7 @@ module Istox
|
|
|
106
113
|
|
|
107
114
|
if include_refund_amount
|
|
108
115
|
original_investment = original_investments.find { |original_investment1| original_investment1[:id] == interest[:id] }
|
|
109
|
-
interest[:refund_amount] = ::Istox::FMath.sub(original_investment[:fiat_amount], interest[:investment])
|
|
116
|
+
interest[:refund_amount] = original_investment.present? ? ::Istox::FMath.sub(original_investment[:fiat_amount], interest[:investment]) : '0'
|
|
110
117
|
end
|
|
111
118
|
interest
|
|
112
119
|
end
|
|
@@ -139,9 +146,16 @@ module Istox
|
|
|
139
146
|
end
|
|
140
147
|
end
|
|
141
148
|
|
|
149
|
+
transform_rollover_investments = rollover_investments.map do |rollover_investment|
|
|
150
|
+
rollover_investment[:investment] = ::BigDecimal.new(rollover_investment[:fiat_amount].to_s).to_s
|
|
151
|
+
rollover_investment[:refund_amount] = ::BigDecimal.new(0).to_s if include_refund_amount
|
|
152
|
+
|
|
153
|
+
rollover_investment.select { |k, _v| %i[id investment refund_amount].include?(k) }
|
|
154
|
+
end
|
|
155
|
+
|
|
142
156
|
{
|
|
143
157
|
cutoff_price: token_price.to_s,
|
|
144
|
-
interests: final_interests
|
|
158
|
+
interests: final_interests.concat(transform_rollover_investments)
|
|
145
159
|
}
|
|
146
160
|
end
|
|
147
161
|
end
|
|
@@ -14,12 +14,16 @@ module Istox
|
|
|
14
14
|
|
|
15
15
|
message = JSON.generate(message) unless message.is_a? String
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
topic = topic_arn || ENV.fetch('SNS_CLIENT_TOPIC', '')
|
|
18
|
+
|
|
19
|
+
log.info("Publishing SNS to topic: #{topic} with message: #{message}")
|
|
20
|
+
|
|
21
|
+
sns_client.publish(topic_arn: topic, message: message)
|
|
18
22
|
|
|
19
23
|
log.info('Publish to SNS successfully.')
|
|
20
24
|
rescue StandardError => e
|
|
21
|
-
log.
|
|
22
|
-
log.
|
|
25
|
+
log.info 'Unable to publish SNS message.'
|
|
26
|
+
log.info(e)
|
|
23
27
|
log.info('Failed to publish SNS, ignoring...') unless throw_exception
|
|
24
28
|
|
|
25
29
|
raise e if throw_exception
|
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.2.6
|
|
4
|
+
version: 0.2.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Siong Leng
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-05-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: amazing_print
|
|
@@ -531,7 +531,7 @@ files:
|
|
|
531
531
|
homepage: http://www.abc.com
|
|
532
532
|
licenses: []
|
|
533
533
|
metadata: {}
|
|
534
|
-
post_install_message:
|
|
534
|
+
post_install_message:
|
|
535
535
|
rdoc_options: []
|
|
536
536
|
require_paths:
|
|
537
537
|
- lib
|
|
@@ -542,12 +542,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
542
542
|
version: '0'
|
|
543
543
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
544
544
|
requirements:
|
|
545
|
-
- - "
|
|
545
|
+
- - ">="
|
|
546
546
|
- !ruby/object:Gem::Version
|
|
547
|
-
version:
|
|
547
|
+
version: '0'
|
|
548
548
|
requirements: []
|
|
549
|
-
rubygems_version: 3.0.
|
|
550
|
-
signing_key:
|
|
549
|
+
rubygems_version: 3.0.6
|
|
550
|
+
signing_key:
|
|
551
551
|
specification_version: 4
|
|
552
552
|
summary: istox backend shared gem
|
|
553
553
|
test_files: []
|