zold 0.29.24 → 0.29.25
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zold/commands/merge.rb +6 -2
- data/lib/zold/copies.rb +9 -3
- data/lib/zold/node/front.rb +1 -1
- data/lib/zold/node/pipeline.rb +3 -2
- data/lib/zold/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3267a66b285dc8f08ffc218d6f29bc75aa5553f6240125aee76fd06d4b897cdb
|
4
|
+
data.tar.gz: f27a3f796b2e43945595b5c5c1f74e883e573ae98ed865e9dad4588f16626a7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d045eb1fff2a665a0e019264e6a2450aee1fd10f4737477c0075809233d433990960e205a134a401758cefb3c1da1b57707b8ecef3a9bcfd5a3857a242db7d0
|
7
|
+
data.tar.gz: 228fe183795be02c6331f44e57855afb5659211576285999c8346f8ce395b76b29b9c91f2c828a0c56a691f037ad4d06871bcf2ff03844be0eb42639ec03be4d
|
data/lib/zold/commands/merge.rb
CHANGED
@@ -72,6 +72,9 @@ Available options:"
|
|
72
72
|
o.bool '--no-baseline',
|
73
73
|
'Don\'t treat the highest score master copy as trustable baseline',
|
74
74
|
default: false
|
75
|
+
o.bool '--edge-baseline',
|
76
|
+
'Use any strongest group of nodes as baseline, even if there are no masters inside (dangerous!)',
|
77
|
+
default: false
|
75
78
|
o.string '--ledger',
|
76
79
|
'The name of the file where all new negative transactions will be recorded (default: /dev/null)',
|
77
80
|
default: '/dev/null'
|
@@ -103,7 +106,7 @@ Available options:"
|
|
103
106
|
|
104
107
|
def merge(id, cps, opts)
|
105
108
|
start = Time.now
|
106
|
-
cps = cps.all
|
109
|
+
cps = cps.all(masters_first: !opts['edge-baseline'])
|
107
110
|
patch = Patch.new(@wallets, log: @log)
|
108
111
|
score = 0
|
109
112
|
unless opts['skip-legacy']
|
@@ -119,7 +122,7 @@ Available options:"
|
|
119
122
|
end
|
120
123
|
cps.each_with_index do |c, idx|
|
121
124
|
wallet = Wallet.new(c[:path])
|
122
|
-
baseline = idx.zero? && c[:master] && !opts['no-baseline']
|
125
|
+
baseline = idx.zero? && (c[:master] || opts['edge-baseline']) && !opts['no-baseline']
|
123
126
|
name = "#{c[:name]}/#{idx}/#{c[:score]}#{baseline ? '/baseline' : ''}"
|
124
127
|
merge_one(opts, patch, wallet, name, baseline: baseline)
|
125
128
|
score += c[:score]
|
@@ -166,6 +169,7 @@ into #{@wallets.acq(id, &:mnemo)} in #{Age.new(start, limit: 0.1 + cps.count * 0
|
|
166
169
|
['pull', txn.bnf.to_s, "--network=#{Shellwords.escape(opts['network'])}", '--quiet-if-absent'] +
|
167
170
|
["--depth=#{opts['depth'] - 1}"] +
|
168
171
|
(opts['no-baseline'] ? ['--no-baseline'] : []) +
|
172
|
+
(opts['edge-baseline'] ? ['--edge-baseline'] : []) +
|
169
173
|
["--trusted=#{Shellwords.escape(opts['trusted'])}"]
|
170
174
|
)
|
171
175
|
end
|
data/lib/zold/copies.rb
CHANGED
@@ -142,9 +142,9 @@ module Zold
|
|
142
142
|
end
|
143
143
|
end
|
144
144
|
|
145
|
-
def all
|
145
|
+
def all(masters_first: true)
|
146
146
|
Futex.new(file, log: @log).open(false) do
|
147
|
-
load.group_by { |s| s[:name] }.map do |name, scores|
|
147
|
+
list = load.group_by { |s| s[:name] }.map do |name, scores|
|
148
148
|
{
|
149
149
|
name: name,
|
150
150
|
path: File.join(@dir, "#{name}#{Copies::EXT}"),
|
@@ -154,7 +154,13 @@ module Zold
|
|
154
154
|
.map { |s| s[:score] }
|
155
155
|
.inject(&:+) || 0
|
156
156
|
}
|
157
|
-
end.select { |c| File.exist?(c[:path]) }
|
157
|
+
end.select { |c| File.exist?(c[:path]) }
|
158
|
+
if masters_first
|
159
|
+
list.sort_by! { |c| [c[:master] ? 1 : 0, c[:score].to_s.rjust(5, '0')] }
|
160
|
+
else
|
161
|
+
list.sort_by! { |c| c[:score] }
|
162
|
+
end
|
163
|
+
list.reverse
|
158
164
|
end
|
159
165
|
end
|
160
166
|
|
data/lib/zold/node/front.rb
CHANGED
@@ -99,7 +99,7 @@ module Zold
|
|
99
99
|
if !settings.opts['halt-code'].empty? && params[:halt] && params[:halt] == settings.opts['halt-code']
|
100
100
|
settings.log.info('Halt signal received, shutting the front end down...')
|
101
101
|
Thread.start do
|
102
|
-
sleep 0.1
|
102
|
+
sleep 0.1 # to let the current request finish and close the socket
|
103
103
|
Front.stop!
|
104
104
|
end
|
105
105
|
end
|
data/lib/zold/node/pipeline.rb
CHANGED
@@ -87,12 +87,13 @@ module Zold
|
|
87
87
|
def merge(id, copies, wallets, log)
|
88
88
|
Tempfile.open do |f|
|
89
89
|
modified = Tempfile.open do |t|
|
90
|
-
host, port = @address.split(':')
|
90
|
+
# host, port = @address.split(':')
|
91
91
|
Merge.new(wallets: wallets, remotes: @remotes, copies: copies.root, log: log).run(
|
92
92
|
['merge', id.to_s, "--ledger=#{Shellwords.escape(f.path)}"] +
|
93
93
|
["--trusted=#{Shellwords.escape(t.path)}"] +
|
94
94
|
["--network=#{Shellwords.escape(@network)}"] +
|
95
|
-
|
95
|
+
['--edge-baseline']
|
96
|
+
# (@remotes.master?(host, port.to_i) ? ['--no-baseline', '--depth=4'] : [])
|
96
97
|
)
|
97
98
|
end
|
98
99
|
@mutex.synchronize do
|
data/lib/zold/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.29.
|
4
|
+
version: 0.29.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
@@ -798,7 +798,7 @@ licenses:
|
|
798
798
|
- MIT
|
799
799
|
metadata: {}
|
800
800
|
post_install_message: |-
|
801
|
-
Thanks for installing Zold 0.29.
|
801
|
+
Thanks for installing Zold 0.29.25!
|
802
802
|
Study our White Paper: https://papers.zold.io/wp.pdf
|
803
803
|
Read our blog posts: https://blog.zold.io
|
804
804
|
Try ZLD online wallet at: https://wts.zold.io
|