zold 0.29.24 → 0.29.25
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/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
|