zold 0.17.2 → 0.17.3
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/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
|