zold 0.17.2 → 0.17.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/zold +1 -14
- data/lib/zold/commands/fetch.rb +0 -0
- data/lib/zold/commands/node.rb +3 -0
- data/lib/zold/commands/push.rb +0 -0
- data/lib/zold/commands/remote.rb +0 -0
- data/lib/zold/copies.rb +1 -1
- data/lib/zold/gem.rb +0 -0
- data/lib/zold/http.rb +0 -0
- data/lib/zold/node/farm.rb +1 -1
- data/lib/zold/node/farmers.rb +0 -0
- data/lib/zold/node/front.rb +10 -2
- data/lib/zold/remotes.rb +1 -1
- data/lib/zold/tax.rb +3 -2
- data/lib/zold/upgrades.rb +14 -1
- data/lib/zold/version.rb +1 -1
- data/resources/remotes +0 -0
- data/test/test_tax.rb +1 -1
- data/test/test_upgrades.rb +1 -1
- data/zold.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b180bc5d7ff240eafaa73f624652f2842cd576f3c43b87642e77d37716249a1
|
4
|
+
data.tar.gz: '0279c65c274f3725bf91ab3ba0b93ed60aca6b9db2edf7ab2a4f546818104acb'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d840735668e54a0d8c88f7161c273631de34c06a938f7232cecbe61e11fe74ebac60fd0f810fcb832ff3b26b73ceb37e4d45a7d9529d6e7f0dda18bce433ad69
|
7
|
+
data.tar.gz: 9ebec3e75b50640543bf569f0957e1808af5f7bb5d82316bf21b58c7f98cec23961a40ed4297a73a52693c9054923c719a34b68bdf2f6e8cf586cad2256c013f
|
data/bin/zold
CHANGED
@@ -161,20 +161,7 @@ log.debug("Home directory: #{home}")
|
|
161
161
|
zoldata = File.join(home, '.zoldata')
|
162
162
|
|
163
163
|
unless opts['skip-upgrades']
|
164
|
-
Zold::Upgrades.new(Zold::VersionFile.new(File.join(zoldata, 'version')), 'upgrades').run
|
165
|
-
# @todo #384:30min This is a workaround, move this code into Upgrades, somehow.
|
166
|
-
# We should find a way to run these arbitrary scripts and pass arguments
|
167
|
-
# to them. Each of them may need its own set of arguments.
|
168
|
-
require_relative '../upgrades/2'
|
169
|
-
Zold::UpgradeTo2.new(Dir.pwd, log).exec
|
170
|
-
require_relative '../upgrades/protocol_up'
|
171
|
-
Zold::ProtocolUp.new(Dir.pwd, log).exec
|
172
|
-
require_relative '../upgrades/rename_foreign_wallets'
|
173
|
-
Zold::RenameForeignWallets.new(Dir.pwd, opts['network'], log).exec
|
174
|
-
if command == 'node'
|
175
|
-
require_relative '../upgrades/move_wallets_into_tree'
|
176
|
-
Zold::MoveWalletsIntoTree.new(Dir.pwd, log).exec
|
177
|
-
end
|
164
|
+
Zold::Upgrades.new(Zold::VersionFile.new(File.join(zoldata, 'version')), 'upgrades', { command: command, network: opts['network']}).run
|
178
165
|
end
|
179
166
|
|
180
167
|
wallets = Zold::SyncWallets.new(
|
data/lib/zold/commands/fetch.rb
CHANGED
File without changes
|
data/lib/zold/commands/node.rb
CHANGED
@@ -123,6 +123,9 @@ module Zold
|
|
123
123
|
o.bool '--no-cache',
|
124
124
|
'Skip caching of front JSON pages (will seriously slow down, mostly useful for testing)',
|
125
125
|
default: false
|
126
|
+
o.bool '--skip-oom',
|
127
|
+
'Skip Out Of Memory check and never exit, no matter how much RAM is consumed',
|
128
|
+
default: false
|
126
129
|
o.integer '--queue-limit',
|
127
130
|
'The maximum number of wallets to be accepted via PUSH and stored in the queue (default: 4096)',
|
128
131
|
default: 4096
|
data/lib/zold/commands/push.rb
CHANGED
File without changes
|
data/lib/zold/commands/remote.rb
CHANGED
File without changes
|
data/lib/zold/copies.rb
CHANGED
data/lib/zold/gem.rb
CHANGED
File without changes
|
data/lib/zold/http.rb
CHANGED
File without changes
|
data/lib/zold/node/farm.rb
CHANGED
@@ -213,7 +213,7 @@ at #{host}:#{port}, strength is #{strength}")
|
|
213
213
|
|
214
214
|
def load
|
215
215
|
return [] unless File.exist?(@cache)
|
216
|
-
Futex.new(@cache).open do |f|
|
216
|
+
Futex.new(@cache).open(false) do |f|
|
217
217
|
IO.read(f).split(/\n/).map do |t|
|
218
218
|
Score.parse(t)
|
219
219
|
rescue StandardError => e
|
data/lib/zold/node/farmers.rb
CHANGED
File without changes
|
data/lib/zold/node/front.rb
CHANGED
@@ -198,7 +198,12 @@ in #{Age.new(@start, limit: 1)}")
|
|
198
198
|
end,
|
199
199
|
memory: settings.zache.get(:memory, lifetime: 5 * 60) do
|
200
200
|
require 'get_process_mem'
|
201
|
-
GetProcessMem.new.bytes.to_i
|
201
|
+
mem = GetProcessMem.new.bytes.to_i
|
202
|
+
if mem > 256 * 1024 * 1024 && !settings.opts['skip-oom']
|
203
|
+
settings.log.error('We are too big in memory, quitting; use --skip-oom to never quit')
|
204
|
+
Front.stop!
|
205
|
+
end
|
206
|
+
mem
|
202
207
|
end,
|
203
208
|
platform: RUBY_PLATFORM,
|
204
209
|
load: settings.zache.get(:load, lifetime: 5 * 60) do
|
@@ -453,7 +458,10 @@ in #{Age.new(@start, limit: 1)}")
|
|
453
458
|
end
|
454
459
|
|
455
460
|
def processes
|
456
|
-
|
461
|
+
[]
|
462
|
+
# This is temporarily disabled. We suspect that this line causes
|
463
|
+
# memory leakage.
|
464
|
+
# POSIX::Spawn::Child.new('ps', 'ax').out.split("\n").select { |t| t.include?('zold') }
|
457
465
|
end
|
458
466
|
|
459
467
|
def pretty(json)
|
data/lib/zold/remotes.rb
CHANGED
data/lib/zold/tax.rb
CHANGED
@@ -57,10 +57,11 @@ module Zold
|
|
57
57
|
PREFIX = 'TAXES'
|
58
58
|
private_constant :PREFIX
|
59
59
|
|
60
|
-
def initialize(wallet, ignore_score_weakness: false)
|
60
|
+
def initialize(wallet, ignore_score_weakness: false, strength: Score::STRENGTH)
|
61
61
|
raise "The wallet must be of type Wallet: #{wallet.class.name}" unless wallet.is_a?(Wallet)
|
62
62
|
@wallet = wallet
|
63
63
|
@ignore_score_weakness = ignore_score_weakness
|
64
|
+
@strength = strength
|
64
65
|
end
|
65
66
|
|
66
67
|
# Check whether this tax payment already exists in the wallet.
|
@@ -95,7 +96,7 @@ module Zold
|
|
95
96
|
next if pfx != PREFIX || body.nil?
|
96
97
|
score = Score.parse_text(body)
|
97
98
|
next if !score.valid? || score.value != EXACT_SCORE
|
98
|
-
next if score.strength <
|
99
|
+
next if score.strength < @strength && !@ignore_score_weakness
|
99
100
|
next if t.amount > MAX_PAYMENT
|
100
101
|
t
|
101
102
|
end.compact.uniq(&:details)
|
data/lib/zold/upgrades.rb
CHANGED
@@ -25,16 +25,29 @@ require_relative 'log'
|
|
25
25
|
module Zold
|
26
26
|
# Class to manage data upgrades (when zold itself upgrades).
|
27
27
|
class Upgrades
|
28
|
-
def initialize(version, directory, log: Log::VERBOSE)
|
28
|
+
def initialize(version, directory, opts, log: Log::VERBOSE)
|
29
|
+
raise 'network can\'t be nil' if opts[:network].nil?
|
29
30
|
@version = version
|
30
31
|
@directory = directory
|
31
32
|
@log = log
|
33
|
+
@opts = opts
|
32
34
|
end
|
33
35
|
|
34
36
|
def run
|
35
37
|
Dir.glob("#{@directory}/*.rb").select { |f| f =~ /^(\d+)\.rb$/ }.sort.each do |script|
|
36
38
|
@version.apply(script)
|
37
39
|
end
|
40
|
+
|
41
|
+
command = @opts[:command]
|
42
|
+
require_relative '../../upgrades/2'
|
43
|
+
Zold::UpgradeTo2.new(Dir.pwd, @log).exec
|
44
|
+
require_relative '../../upgrades/protocol_up'
|
45
|
+
Zold::ProtocolUp.new(Dir.pwd, @log).exec
|
46
|
+
require_relative '../../upgrades/rename_foreign_wallets'
|
47
|
+
Zold::RenameForeignWallets.new(Dir.pwd, @opts[:network], @log).exec
|
48
|
+
return unless command == 'node'
|
49
|
+
require_relative '../../upgrades/move_wallets_into_tree'
|
50
|
+
Zold::MoveWalletsIntoTree.new(Dir.pwd, @log).exec
|
38
51
|
end
|
39
52
|
end
|
40
53
|
end
|
data/lib/zold/version.rb
CHANGED
data/resources/remotes
CHANGED
File without changes
|
data/test/test_tax.rb
CHANGED
@@ -105,7 +105,7 @@ class TestTax < Zold::Test
|
|
105
105
|
386d4a ec9eae 306e3d 119d073 1c00dba 1376703 203589 5b55f7"
|
106
106
|
)
|
107
107
|
)
|
108
|
-
tax = Zold::Tax.new(wallet)
|
108
|
+
tax = Zold::Tax.new(wallet, strength: 6)
|
109
109
|
assert_equal(amount, tax.paid)
|
110
110
|
assert(tax.debt < Zold::Amount::ZERO, tax.debt)
|
111
111
|
end
|
data/test/test_upgrades.rb
CHANGED
data/zold.gemspec
CHANGED
@@ -86,7 +86,7 @@ and suggests a different architecture for digital wallet maintenance.'
|
|
86
86
|
s.add_runtime_dependency 'usagewatch_ext', '0.2.1'
|
87
87
|
s.add_runtime_dependency 'xcop', '0.6'
|
88
88
|
s.add_runtime_dependency 'zache', '0.3.1'
|
89
|
-
s.add_runtime_dependency 'zold-score', '0.3.
|
89
|
+
s.add_runtime_dependency 'zold-score', '0.3.4'
|
90
90
|
s.add_development_dependency 'codecov', '0.1.13'
|
91
91
|
s.add_development_dependency 'minitest', '5.11.3'
|
92
92
|
s.add_development_dependency 'minitest-fail-fast', '0.1.0'
|
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.17.
|
4
|
+
version: 0.17.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
@@ -366,14 +366,14 @@ dependencies:
|
|
366
366
|
requirements:
|
367
367
|
- - '='
|
368
368
|
- !ruby/object:Gem::Version
|
369
|
-
version: 0.3.
|
369
|
+
version: 0.3.4
|
370
370
|
type: :runtime
|
371
371
|
prerelease: false
|
372
372
|
version_requirements: !ruby/object:Gem::Requirement
|
373
373
|
requirements:
|
374
374
|
- - '='
|
375
375
|
- !ruby/object:Gem::Version
|
376
|
-
version: 0.3.
|
376
|
+
version: 0.3.4
|
377
377
|
- !ruby/object:Gem::Dependency
|
378
378
|
name: codecov
|
379
379
|
requirement: !ruby/object:Gem::Requirement
|
@@ -711,7 +711,7 @@ licenses:
|
|
711
711
|
- MIT
|
712
712
|
metadata: {}
|
713
713
|
post_install_message: |-
|
714
|
-
Thanks for installing Zold 0.17.
|
714
|
+
Thanks for installing Zold 0.17.3!
|
715
715
|
Study our White Paper: https://papers.zold.io/wp.pdf
|
716
716
|
Read our blog posts: https://blog.zold.io
|
717
717
|
Try online wallet at: https://wts.zold.io
|