zold 0.23.7 → 0.23.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
  SHA256:
3
- metadata.gz: c510a03d5a3e6a7b5d4df8f7cf1cd90be5bb9ec44cfa8a31215f148d864edcbb
4
- data.tar.gz: 42b34d4d44e8d25c67daa9eeb6053fba49bd9bb3bfd811b7686e76a266aefc55
3
+ metadata.gz: dd1a70efe61838a0cd3e0e4e17ef464d8c6d7791a98d24b5ecbc4ce4a43ef933
4
+ data.tar.gz: a00d4af1fee0f35b6e32ee8e1f2b0496cc480b61257185a6ac7ff8db5b022207
5
5
  SHA512:
6
- metadata.gz: 82667cd425fec0f1fd029da8a9c418cb740da96f997a99c99a1ed02863ec995cb279636d3c62370e621ced477a3bca6f73a7407498391a4ffc6940a1dd37498b
7
- data.tar.gz: '047049f8723e534ed026eb6a7701b66b6491aa9e7937954d4d49f4fc1788c553131bb5acc70ac68078b59baa8f6f53dffc03fe1e9efe51e1a4d8fda1d5a0ff06'
6
+ metadata.gz: df4eed8f2f359d92b071bc379189b64461fce53f61f77030da4b19fedfe0cd0fdbf6eebbce84919dc8ba0d55eeb22514da0f6494a94baf919de7dbb10653451b
7
+ data.tar.gz: 7a95d2dd6f095e221776acb5f249f00d4e8864fba49dc1918e893b9a6bb9545930673bda1f52316d1c0cdb55b5549078777e8534c9f3fc9b2d0db82a96eeb665
@@ -96,6 +96,9 @@ Available options:"
96
96
  o.bool '--ignore-masters',
97
97
  'Don\'t elect master nodes, only edges',
98
98
  default: false
99
+ o.bool '--masters-too',
100
+ 'Give no priviledges to masters, treat them as other nodes',
101
+ default: false
99
102
  o.integer '--min-score',
100
103
  "The minimum score required for winning the election (default: #{Tax::EXACT_SCORE})",
101
104
  default: Tax::EXACT_SCORE
@@ -252,7 +255,7 @@ Available options:"
252
255
  all = @remotes.all
253
256
  all.each do |r|
254
257
  next if r[:errors] <= opts['tolerate']
255
- @remotes.remove(r[:host], r[:port])
258
+ @remotes.remove(r[:host], r[:port]) if !opts['masters-too'] || !r[:master]
256
259
  @log.info("#{r[:host]}:#{r[:port]} removed because of #{r[:errors]} errors (over #{opts['tolerate']})")
257
260
  end
258
261
  @log.info("The list of #{all.count} remotes trimmed, #{@remotes.all.count} nodes left there")
@@ -344,7 +347,7 @@ it's recommended to reboot, but I don't do it because of --never-reboot")
344
347
  def select(opts)
345
348
  selected = @remotes.all.sort_by { |r| r[:score] }.reverse.first(opts['max-nodes'])
346
349
  (@remotes.all - selected).each do |r|
347
- @remotes.remove(r[:host], r[:port])
350
+ @remotes.remove(r[:host], r[:port]) if !opts['masters-too'] || !r[:master]
348
351
  @log.info("Remote #{r[:host]}:#{r[:port]}/#{r[:score]} removed from the list, #{@remotes.all.count} left")
349
352
  end
350
353
  @log.info("#{opts['max-nodes']} remote nodes left in the list")
@@ -153,7 +153,7 @@ at #{host}:#{port}, strength is #{@strength}")
153
153
  def cleanup(host, port, threads)
154
154
  scores = load
155
155
  before = scores.map(&:value).max.to_i
156
- save(threads, [Score.new(host: host, port: port, invoice: @invoice, strength: @strength)])
156
+ save(host, port, threads, [Score.new(host: host, port: port, invoice: @invoice, strength: @strength)])
157
157
  scores = load
158
158
  free = scores.reject { |s| @threads.exists?(s.to_mnemo) }
159
159
  @pipeline << free[0] if @pipeline.size.zero? && !free.empty?
@@ -182,16 +182,19 @@ at #{host}:#{port}, strength is #{@strength}")
182
182
  Thread.current.thread_variable_set(:start, Time.now.utc.iso8601)
183
183
  score = @farmer.up(s)
184
184
  @log.debug("New score discovered: #{score}") if @strength > 4
185
- save(threads, [score])
185
+ save(host, port, threads, [score])
186
186
  cleanup(host, port, threads)
187
187
  end
188
188
 
189
- def save(threads, list = [])
189
+ def save(host, port, threads, list = [])
190
190
  scores = load + list
191
191
  period = @lifetime / [threads, 1].max
192
192
  body = scores.select(&:valid?)
193
193
  .reject(&:expired?)
194
194
  .reject { |s| s.strength < @strength }
195
+ .select { |s| s.host == host }
196
+ .select { |s| s.port == port }
197
+ .select { |s| s.invoice == @invoice }
195
198
  .sort_by(&:value)
196
199
  .reverse
197
200
  .uniq(&:time)
data/lib/zold/version.rb CHANGED
@@ -25,7 +25,7 @@
25
25
  # Copyright:: Copyright (c) 2018 Yegor Bugayenko
26
26
  # License:: MIT
27
27
  module Zold
28
- VERSION = '0.23.7'
28
+ VERSION = '0.23.8'
29
29
  PROTOCOL = 2
30
30
  REPO = 'zold-io/zold'
31
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.7
4
+ version: 0.23.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-16 00:00:00.000000000 Z
11
+ date: 2019-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace
@@ -753,7 +753,7 @@ licenses:
753
753
  - MIT
754
754
  metadata: {}
755
755
  post_install_message: |-
756
- Thanks for installing Zold 0.23.7!
756
+ Thanks for installing Zold 0.23.8!
757
757
  Study our White Paper: https://papers.zold.io/wp.pdf
758
758
  Read our blog posts: https://blog.zold.io
759
759
  Try ZLD online wallet at: https://wts.zold.io