zold 0.16.5 → 0.16.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zold/tax.rb +6 -6
- data/lib/zold/version.rb +1 -1
- data/lib/zold/wallet.rb +4 -0
- data/test/commands/test_taxes.rb +5 -4
- 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: 7190b0b8462533e8c4bd5f97663d78c7b96a2da53d5676c744f6157f99864d1b
|
4
|
+
data.tar.gz: 1aa4b614367a48e79cf6ad83fab9018910f4ba09813ea5f2a8e463241d3fddf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b74b9b9ac60a0abcb280c81eead4ff9b15fa3b139c7973bf80f4f586bbf15feffbf8c085d9b99e8522febb756ab8014702de294e051817a6a41eb274756ac019
|
7
|
+
data.tar.gz: 70f498e4469e72e94d881c7692aa6b7166e76aade1d4b50e60fca1358c859ec65da90af4d57630ef24de009d21eb3540edf5ca1da6694d1a5903480e2e53f1f0
|
data/lib/zold/tax.rb
CHANGED
@@ -33,11 +33,14 @@ require_relative 'amount'
|
|
33
33
|
module Zold
|
34
34
|
# A single tax payment
|
35
35
|
class Tax
|
36
|
-
# The exact score a wallet can buy in order to pay taxes.
|
36
|
+
# The exact score a wallet can/must buy in order to pay taxes.
|
37
37
|
EXACT_SCORE = 8
|
38
38
|
|
39
39
|
# The maximum allowed amount in one transaction.
|
40
|
-
|
40
|
+
# The correct amount should be 1 ZLD, but we allow bigger amounts
|
41
|
+
# now since the amount of nodes in the network is still small. When
|
42
|
+
# the network grows up, let's put this number back to 1 ZLD.
|
43
|
+
MAX_PAYMENT = Amount.new(zld: 16.0)
|
41
44
|
|
42
45
|
# This is how much we charge per one transaction per hour
|
43
46
|
# of storage. A wallet of 4096 transactions will pay
|
@@ -48,9 +51,6 @@ module Zold
|
|
48
51
|
# is bigger than this threshold, nodes must stop accepting PUSH.
|
49
52
|
TRIAL = Amount.new(zld: 1.0)
|
50
53
|
|
51
|
-
# For how many days to pay at once.
|
52
|
-
DAYS_INCREMENT = 64
|
53
|
-
|
54
54
|
# Text prefix for taxes details
|
55
55
|
PREFIX = 'TAXES'
|
56
56
|
|
@@ -86,7 +86,7 @@ module Zold
|
|
86
86
|
next if score.strength < Score::STRENGTH
|
87
87
|
next if t.amount > Tax::MAX_PAYMENT
|
88
88
|
t
|
89
|
-
end.
|
89
|
+
end.compact.uniq(&:details)
|
90
90
|
paid = scored.empty? ? Amount::ZERO : scored.map(&:amount).inject(&:+)
|
91
91
|
owned = Tax::FEE_TXN_HOUR * txns.count * @wallet.age
|
92
92
|
owned - paid
|
data/lib/zold/version.rb
CHANGED
data/lib/zold/wallet.rb
CHANGED
data/test/commands/test_taxes.rb
CHANGED
@@ -41,11 +41,12 @@ class TestTaxes < Minitest::Test
|
|
41
41
|
FakeHome.new(log: test_log).run do |home|
|
42
42
|
wallets = home.wallets
|
43
43
|
wallet = home.create_wallet
|
44
|
+
fund = Zold::Amount.new(zld: 19.99)
|
44
45
|
wallet.add(
|
45
46
|
Zold::Txn.new(
|
46
47
|
1,
|
47
48
|
Time.now - 24 * 60 * 60 * 365 * 300,
|
48
|
-
|
49
|
+
fund,
|
49
50
|
'NOPREFIX', Zold::Id.new, '-'
|
50
51
|
)
|
51
52
|
)
|
@@ -62,12 +63,12 @@ class TestTaxes < Minitest::Test
|
|
62
63
|
Zold::Taxes.new(wallets: wallets, remotes: remotes, log: test_log).run(
|
63
64
|
['taxes', '--private-key=fixtures/id_rsa', '--ignore-score-weakness', 'pay', wallet.id.to_s]
|
64
65
|
)
|
65
|
-
assert_equal(Zold::
|
66
|
+
assert_equal(fund - Zold::Tax::MAX_PAYMENT, wallet.balance)
|
66
67
|
wallet.add(
|
67
68
|
Zold::Txn.new(
|
68
69
|
2,
|
69
70
|
Time.now - 24 * 60 * 60 * 365 * 300,
|
70
|
-
|
71
|
+
fund,
|
71
72
|
'NOPREFIX', Zold::Id.new, '-'
|
72
73
|
)
|
73
74
|
)
|
@@ -77,7 +78,7 @@ class TestTaxes < Minitest::Test
|
|
77
78
|
'--ignore-nodes-absence', 'pay', wallet.id.to_s
|
78
79
|
]
|
79
80
|
)
|
80
|
-
assert_equal(Zold::
|
81
|
+
assert_equal(fund + fund - Zold::Tax::MAX_PAYMENT, wallet.balance)
|
81
82
|
end
|
82
83
|
end
|
83
84
|
end
|
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.16.
|
4
|
+
version: 0.16.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|