zold 0.29.23 → 0.29.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fixtures/merge/missed_wallets/opts +1 -1
- data/fixtures/merge/unconfirmed_income/opts +1 -1
- data/lib/zold/commands/clean.rb +1 -1
- data/lib/zold/commands/fetch.rb +1 -1
- data/lib/zold/commands/merge.rb +9 -8
- data/lib/zold/commands/pay.rb +4 -1
- data/lib/zold/node/front.rb +1 -1
- data/lib/zold/node/journaled_pipeline.rb +2 -2
- data/lib/zold/node/pipeline.rb +3 -4
- data/lib/zold/remotes.rb +4 -0
- data/lib/zold/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9d73aef08fbd3c164e8e65f6724f5a4e1c4c0fe2c821e9638df11326d943f5d
|
4
|
+
data.tar.gz: c6a1876c19f6905231e9758433b7743889302ae7527d20134165f6ece45dbd5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b02b08e81d5b55735f05d3358451b820d5271c45ff0bbb83242b3ebd4a52e65f5ee9f2f05f9473e06ddf0503e89a467f9a5ec9712450a2ced8c4e9330081ef6e
|
7
|
+
data.tar.gz: 2fed2a3e01d2554774d96e54bd1a240f439541bec8e58fe19fa5cb5a254f91a5f09b39026c1a088e5fa92b06f89e82e057c37cd65decf1efb4c5981301098a2d
|
data/lib/zold/commands/clean.rb
CHANGED
@@ -74,7 +74,7 @@ Available options:"
|
|
74
74
|
list = cps.all.map do |c|
|
75
75
|
wallet = Wallet.new(c[:path])
|
76
76
|
"#{c[:name]}: #{c[:score]} #{wallet.mnemo} \
|
77
|
-
#{Size.new(File.size(c[:path]))}/#{Age.new(File.mtime(c[:path]))}"
|
77
|
+
#{Size.new(File.size(c[:path]))}/#{Age.new(File.mtime(c[:path]))}#{c[:master] ? ' master' : ''}"
|
78
78
|
end
|
79
79
|
@log.debug(
|
80
80
|
"#{deleted} expired local copies removed for #{cps} \
|
data/lib/zold/commands/fetch.rb
CHANGED
@@ -141,7 +141,7 @@ run 'zold remote update' or use --tolerate-quorum=1"
|
|
141
141
|
#{total.value} from #{nodes.value} nodes (#{masters.value} master nodes)")
|
142
142
|
list = cps.all.map do |c|
|
143
143
|
" ##{c[:name]}: #{c[:score]} #{Wallet.new(c[:path]).mnemo} \
|
144
|
-
#{Size.new(File.size(c[:path]))}/#{Age.new(File.mtime(c[:path]))}"
|
144
|
+
#{Size.new(File.size(c[:path]))}/#{Age.new(File.mtime(c[:path]))}#{c[:master] ? ' master' : ''}"
|
145
145
|
end
|
146
146
|
@log.debug("#{cps.all.count} local copies of #{id}:\n#{list.join("\n")}")
|
147
147
|
end
|
data/lib/zold/commands/merge.rb
CHANGED
@@ -63,9 +63,9 @@ Available options:"
|
|
63
63
|
o.bool '--quiet-if-absent',
|
64
64
|
'Don\'t fail if the wallet is absent',
|
65
65
|
default: false
|
66
|
-
o.
|
67
|
-
'
|
68
|
-
default:
|
66
|
+
o.integer '--depth',
|
67
|
+
'How many levels down we try to pull other wallets if their confirmations are required (default: 0)',
|
68
|
+
default: 1
|
69
69
|
o.bool '--allow-negative-balance',
|
70
70
|
'Don\'t check for the negative balance of the wallet after the merge',
|
71
71
|
default: false
|
@@ -119,8 +119,9 @@ Available options:"
|
|
119
119
|
end
|
120
120
|
cps.each_with_index do |c, idx|
|
121
121
|
wallet = Wallet.new(c[:path])
|
122
|
-
|
123
|
-
|
122
|
+
baseline = idx.zero? && c[:master] && !opts['no-baseline']
|
123
|
+
name = "#{c[:name]}/#{idx}/#{c[:score]}#{baseline ? '/baseline' : ''}"
|
124
|
+
merge_one(opts, patch, wallet, name, baseline: baseline)
|
124
125
|
score += c[:score]
|
125
126
|
end
|
126
127
|
@wallets.acq(id) do |w|
|
@@ -151,7 +152,7 @@ into #{@wallets.acq(id, &:mnemo)} in #{Age.new(start, limit: 0.1 + cps.count * 0
|
|
151
152
|
def merge_one(opts, patch, wallet, name, baseline: false)
|
152
153
|
start = Time.now
|
153
154
|
@log.debug("Building a patch for #{wallet.id} from remote copy ##{name} with #{wallet.mnemo}...")
|
154
|
-
if opts['
|
155
|
+
if opts['depth'].positive?
|
155
156
|
patch.join(wallet, ledger: opts['ledger'], baseline: baseline) do |txn|
|
156
157
|
trusted = IO.read(opts['trusted']).split(',')
|
157
158
|
if trusted.include?(txn.bnf.to_s)
|
@@ -163,7 +164,7 @@ into #{@wallets.acq(id, &:mnemo)} in #{Age.new(start, limit: 0.1 + cps.count * 0
|
|
163
164
|
IO.write(opts['trusted'], (trusted + [txn.bnf.to_s]).sort.uniq.join(','))
|
164
165
|
Pull.new(wallets: @wallets, remotes: @remotes, copies: @copies, log: @log).run(
|
165
166
|
['pull', txn.bnf.to_s, "--network=#{Shellwords.escape(opts['network'])}", '--quiet-if-absent'] +
|
166
|
-
|
167
|
+
["--depth=#{opts['depth'] - 1}"] +
|
167
168
|
(opts['no-baseline'] ? ['--no-baseline'] : []) +
|
168
169
|
["--trusted=#{Shellwords.escape(opts['trusted'])}"]
|
169
170
|
)
|
@@ -172,7 +173,7 @@ into #{@wallets.acq(id, &:mnemo)} in #{Age.new(start, limit: 0.1 + cps.count * 0
|
|
172
173
|
end
|
173
174
|
else
|
174
175
|
patch.join(wallet, ledger: opts['ledger'], baseline: baseline) do |txn|
|
175
|
-
@log.debug("Paying wallet #{txn.bnf}
|
176
|
+
@log.debug("Paying wallet #{txn.bnf} is incomplete but there is not enough depth to PULL: #{txn.to_text}")
|
176
177
|
false
|
177
178
|
end
|
178
179
|
end
|
data/lib/zold/commands/pay.rb
CHANGED
@@ -45,6 +45,8 @@ module Zold
|
|
45
45
|
@log = log
|
46
46
|
end
|
47
47
|
|
48
|
+
# Sends a payment and returns the transaction just created in the
|
49
|
+
# paying wallet, an instance of Zold::Txn
|
48
50
|
def run(args = [])
|
49
51
|
opts = Slop.parse(args, help: true, suppress_errors: true) do |o|
|
50
52
|
o.banner = "Usage: zold pay wallet target amount [details] [options]
|
@@ -101,12 +103,13 @@ Available options:"
|
|
101
103
|
amount = amount(mine[2].strip)
|
102
104
|
details = mine[3] || '-'
|
103
105
|
taxes(id, opts)
|
104
|
-
@wallets.acq(id, exclusive: true) do |from|
|
106
|
+
txn = @wallets.acq(id, exclusive: true) do |from|
|
105
107
|
pay(from, invoice, amount, details, opts)
|
106
108
|
end
|
107
109
|
return if opts['skip-propagate']
|
108
110
|
require_relative 'propagate'
|
109
111
|
Propagate.new(wallets: @wallets, log: @log).run(['propagate', id.to_s])
|
112
|
+
txn
|
110
113
|
end
|
111
114
|
|
112
115
|
private
|
data/lib/zold/node/front.rb
CHANGED
@@ -473,7 +473,7 @@ this is not a normal behavior, you may want to report a bug to our GitHub reposi
|
|
473
473
|
title: '/journal',
|
474
474
|
description: 'The journal',
|
475
475
|
id: params[:id],
|
476
|
-
files: DirItems.new(settings.journal_dir).fetch.sort.reverse.select do |f|
|
476
|
+
files: DirItems.new(settings.journal_dir).fetch.sort.reverse.take(256).select do |f|
|
477
477
|
!params[:id] || f.include?(params[:id])
|
478
478
|
end,
|
479
479
|
dir: settings.journal_dir
|
@@ -75,10 +75,10 @@ module Zold
|
|
75
75
|
end
|
76
76
|
|
77
77
|
# Returns a list of modifed wallets (as Zold::Id)
|
78
|
-
def push(id, body, wallets, log)
|
78
|
+
def push(id, body, wallets, log, lifetime: 6)
|
79
79
|
DirItems.new(@dir).fetch.each do |f|
|
80
80
|
f = File.join(@dir, f)
|
81
|
-
File.delete(f) if File.mtime(f) < Time.now -
|
81
|
+
File.delete(f) if File.mtime(f) < Time.now - lifetime * 60 * 60
|
82
82
|
end
|
83
83
|
journal = File.join(@dir, "#{Time.now.utc.iso8601.gsub(/[^0-9]/, '-')}-#{id}")
|
84
84
|
jlog = Logger.new(journal)
|
data/lib/zold/node/pipeline.rb
CHANGED
@@ -87,13 +87,12 @@ module Zold
|
|
87
87
|
def merge(id, copies, wallets, log)
|
88
88
|
Tempfile.open do |f|
|
89
89
|
modified = Tempfile.open do |t|
|
90
|
-
|
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
|
-
["--network=#{Shellwords.escape(@network)}"]
|
95
|
-
|
96
|
-
# (@remotes.master?(host, port.to_i) ? ['--no-baseline', '--deep'] : [])
|
94
|
+
["--network=#{Shellwords.escape(@network)}"] +
|
95
|
+
(@remotes.master?(host, port.to_i) ? ['--no-baseline', '--depth=4'] : [])
|
97
96
|
)
|
98
97
|
end
|
99
98
|
@mutex.synchronize do
|
data/lib/zold/remotes.rb
CHANGED
data/lib/zold/version.rb
CHANGED
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.29.
|
4
|
+
version: 0.29.24
|
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-03-
|
11
|
+
date: 2019-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|
@@ -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.24!
|
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
|