istox 0.2.6.pre.4 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: daa533366dd4e58cdbe2dbf2119024efef0b274eed309bf9c6b5f521b27b2d06
4
- data.tar.gz: 6de8b5551059a22d48c2c133d8b01b553adb8016d1400e197b8a918a281ae161
3
+ metadata.gz: 3a04c1473346b65b6cbede4d1308cdb2267af42212a76cdec99f77c17cdf7e36
4
+ data.tar.gz: 6439d8fba8144230f73eaf7a6d7e388642946508b53b986c925c0cc40a890790
5
5
  SHA512:
6
- metadata.gz: 6b0f2cf04864c80c4e4042af029aec53063bc11693ef5364988e8782f5b24f609e91e06b4328a42fcf05ac5295b1e20bc67ebaeebb45d93a895c9e53fc74f195
7
- data.tar.gz: 266def056b85f12b0027155e58af5ab75eca7f1cf63c85c1351989db7b0be0da1616d2447f639c506114c30d071574347a29561bfbb77a87e7ebf221999b7be8
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.6.pre.4)
4
+ istox (0.2.5.3)
5
5
  amazing_print
6
6
  awesome_print
7
7
  aws-sdk-sns (~> 1)
@@ -9,6 +9,7 @@ PATH
9
9
  bunny (>= 2.12.0)
10
10
  exponential-backoff (= 0.0.4)
11
11
  graphlient
12
+ gruf
12
13
  hashie (~> 3.5.7)
13
14
  istox_gruf (~> 2.7.3)
14
15
  listen (~> 3.0.5)
@@ -66,7 +67,7 @@ GEM
66
67
  amazing_print (1.3.0)
67
68
  amq-protocol (2.3.2)
68
69
  arel (9.0.0)
69
- awesome_print (1.8.0)
70
+ awesome_print (1.9.2)
70
71
  aws-eventstream (1.1.0)
71
72
  aws-partitions (1.318.0)
72
73
  aws-sdk-core (3.96.1)
@@ -100,6 +101,7 @@ GEM
100
101
  database_cleaner (1.6.2)
101
102
  debug_inspector (1.1.0)
102
103
  diff-lcs (1.3)
104
+ e2mmap (0.1.0)
103
105
  erubi (1.9.0)
104
106
  exponential-backoff (0.0.4)
105
107
  factory_bot (4.8.2)
@@ -111,31 +113,44 @@ GEM
111
113
  i18n (~> 0.5)
112
114
  fakeredis (0.7.0)
113
115
  redis (>= 3.2, < 5.0)
114
- faraday (1.3.0)
116
+ faraday (1.4.1)
117
+ faraday-excon (~> 1.1)
115
118
  faraday-net_http (~> 1.0)
119
+ faraday-net_http_persistent (~> 1.1)
116
120
  multipart-post (>= 1.2, < 3)
117
- ruby2_keywords
121
+ ruby2_keywords (>= 0.0.4)
122
+ faraday-excon (1.1.0)
118
123
  faraday-net_http (1.0.1)
124
+ faraday-net_http_persistent (1.1.0)
119
125
  faraday_middleware (1.0.0)
120
126
  faraday (~> 1.0)
121
127
  ffi (1.15.0)
122
128
  globalid (0.4.2)
123
129
  activesupport (>= 4.2.0)
124
- google-protobuf (3.13.0-universal-darwin)
125
- googleapis-common-protos-types (1.0.5)
126
- google-protobuf (~> 3.11)
130
+ google-protobuf (3.15.8-universal-darwin)
131
+ googleapis-common-protos-types (1.0.6)
132
+ google-protobuf (~> 3.14)
127
133
  graphlient (0.5.0)
128
134
  faraday (>= 1.0)
129
135
  faraday_middleware
130
136
  graphql-client
131
- graphql (1.11.5)
137
+ graphql (1.12.8)
132
138
  graphql-client (0.16.0)
133
139
  activesupport (>= 3.0)
134
140
  graphql (~> 1.8)
135
- grpc (1.32.0-universal-darwin)
136
- google-protobuf (~> 3.13)
141
+ grpc (1.37.0-universal-darwin)
142
+ google-protobuf (~> 3.15)
137
143
  googleapis-common-protos-types (~> 1.0)
138
- grpc-tools (1.32.0)
144
+ grpc-tools (1.37.0)
145
+ gruf (2.9.1)
146
+ activesupport (> 4)
147
+ concurrent-ruby (> 1)
148
+ e2mmap (~> 0.1)
149
+ grpc (~> 1.10)
150
+ grpc-tools (~> 1.10)
151
+ json (>= 2.3)
152
+ slop (~> 4.6)
153
+ thwait (~> 0.1)
139
154
  hashie (3.5.7)
140
155
  i18n (0.9.5)
141
156
  concurrent-ruby (~> 1.0)
@@ -146,6 +161,7 @@ GEM
146
161
  grpc-tools (~> 1.10)
147
162
  slop (~> 4.6)
148
163
  jmespath (1.4.0)
164
+ json (2.5.1)
149
165
  listen (3.0.8)
150
166
  rb-fsevent (~> 0.9, >= 0.9.4)
151
167
  rb-inotify (~> 0.9, >= 0.9.7)
@@ -166,8 +182,8 @@ GEM
166
182
  nio4r (2.3.1)
167
183
  nokogiri (1.10.9)
168
184
  mini_portile2 (~> 2.4.0)
169
- oj (3.10.14)
170
- ougai (1.8.5)
185
+ oj (3.11.5)
186
+ ougai (2.0.0)
171
187
  oj (~> 3.10)
172
188
  paranoia (2.4.3)
173
189
  activerecord (>= 4.0, < 6.2)
@@ -218,7 +234,7 @@ GEM
218
234
  redis-activesupport (5.2.0)
219
235
  activesupport (>= 3, < 7)
220
236
  redis-store (>= 1.3, < 2)
221
- redis-namespace (1.8.0)
237
+ redis-namespace (1.8.1)
222
238
  redis (>= 3.0.4)
223
239
  redis-rack (2.1.3)
224
240
  rack (>= 2.0.8, < 3)
@@ -250,7 +266,7 @@ GEM
250
266
  rspec-mocks (~> 3.8.0)
251
267
  rspec-support (~> 3.8.0)
252
268
  rspec-support (3.8.0)
253
- ruby2_keywords (0.0.2)
269
+ ruby2_keywords (0.0.4)
254
270
  slop (4.8.2)
255
271
  sprockets (3.7.2)
256
272
  concurrent-ruby (~> 1.0)
@@ -262,6 +278,8 @@ GEM
262
278
  sqlite3 (1.3.13)
263
279
  thor (0.20.3)
264
280
  thread_safe (0.3.6)
281
+ thwait (0.2.0)
282
+ e2mmap
265
283
  timecop (0.9.1)
266
284
  tzinfo (1.2.6)
267
285
  thread_safe (~> 0.1)
data/istox.gemspec CHANGED
@@ -37,6 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'bunny', '>= 2.12.0'
38
38
  spec.add_dependency 'exponential-backoff', '0.0.4'
39
39
  spec.add_dependency 'graphlient'
40
+ spec.add_dependency 'gruf'
40
41
  spec.add_dependency 'hashie', '~> 3.5.7'
41
42
  spec.add_dependency 'istox_gruf', '~> 2.7.3'
42
43
  spec.add_dependency 'listen', '~> 3.0.5'
@@ -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
@@ -16,14 +16,6 @@ module Istox
16
16
  db: 6
17
17
  ))
18
18
  end
19
-
20
- # for rate limit redis cache
21
- def rate_limit_redis
22
- @rate_limit_redis ||= Redis::Namespace.new(:rate_limit_cache, redis: Redis.new(
23
- url: ENV['REDIS_URL'] || 'redis://127.0.0.1:16379',
24
- db: 6
25
- ))
26
- end
27
19
  end
28
20
  end
29
21
  end
data/lib/istox/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Istox
2
- VERSION = '0.2.6-4'.freeze
2
+ VERSION = '0.2.6'.freeze
3
3
  end
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.pre.4
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-05-06 00:00:00.000000000 Z
11
+ date: 2021-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: amazing_print
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: gruf
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: hashie
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -517,7 +531,7 @@ files:
517
531
  homepage: http://www.abc.com
518
532
  licenses: []
519
533
  metadata: {}
520
- post_install_message:
534
+ post_install_message:
521
535
  rdoc_options: []
522
536
  require_paths:
523
537
  - lib
@@ -528,12 +542,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
528
542
  version: '0'
529
543
  required_rubygems_version: !ruby/object:Gem::Requirement
530
544
  requirements:
531
- - - ">"
545
+ - - ">="
532
546
  - !ruby/object:Gem::Version
533
- version: 1.3.1
547
+ version: '0'
534
548
  requirements: []
535
- rubygems_version: 3.0.8
536
- signing_key:
549
+ rubygems_version: 3.0.6
550
+ signing_key:
537
551
  specification_version: 4
538
552
  summary: istox backend shared gem
539
553
  test_files: []