nem-ruby 0.0.8 → 0.0.9
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/nem/fee/transfer.rb +15 -8
- data/lib/nem/keypair.rb +5 -2
- data/lib/nem/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: '0280ea3ed19d1f11f874b5443e59eeba0a21eb4fec27e31d578250c74c377730'
|
4
|
+
data.tar.gz: 3d9621bfe402f975ef08c2265a28dd3132ca86631a0ee14268fb1f5c2e340fa3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2983c53b1edb903c83571e2403dee0611848a644b21b3a4f5bbacaabb227a8b08c707ec2d10cdeda2e91be84e346b828ec72c40ad0509e15e9ad71ae117dc09
|
7
|
+
data.tar.gz: f887982de7c646a1604ad2c790db4f618141190750bf73cdbc912a1bb7a5ab5a569d3e136fb29a380f6ff81d9ee9fbbb92816b6f3fb24d9c30f344d49756eb76
|
data/lib/nem/fee/transfer.rb
CHANGED
@@ -12,7 +12,7 @@ module Nem
|
|
12
12
|
tmp = if @transaction.has_mosaics?
|
13
13
|
mosaics_fee
|
14
14
|
else
|
15
|
-
FEE_FACTOR * minimum_fee(@transaction.amount
|
15
|
+
FEE_FACTOR * minimum_fee(@transaction.amount).to_i
|
16
16
|
end
|
17
17
|
tmp += message_fee if @transaction.has_message?
|
18
18
|
tmp * 1_000_000
|
@@ -39,7 +39,13 @@ module Nem
|
|
39
39
|
FEE_FACTOR * [1, (@transaction.message.bytesize / 2 / 32) + 1].max
|
40
40
|
end
|
41
41
|
|
42
|
+
def xem_equivalent(multiplier, quantity, supply, divisibility)
|
43
|
+
return 0 if supply == 0
|
44
|
+
multiplier * 8_999_999_999 * quantity / supply / 10**(divisibility + 6)
|
45
|
+
end
|
46
|
+
|
42
47
|
def mosaics_fee
|
48
|
+
multiplier = @transaction.amount * 1_000_000
|
43
49
|
FEE_FACTOR * @transaction.mosaics.inject(0) do |sum, moa|
|
44
50
|
tmp_fee = 0
|
45
51
|
if moa.divisibility == 0 && moa.initial_supply <= 10_000
|
@@ -50,13 +56,14 @@ module Nem
|
|
50
56
|
# custom mosaic fee, Max is 1.25.
|
51
57
|
max_mosaic_quantity = 9_000_000_000_000_000
|
52
58
|
total_mosaic_quantity = moa.initial_supply * (10**moa.divisibility)
|
53
|
-
supply_related_adjustment = (0.8 * (Math.log(max_mosaic_quantity / total_mosaic_quantity))).
|
54
|
-
num_nem =
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
59
|
+
supply_related_adjustment = (0.8 * (Math.log(max_mosaic_quantity / total_mosaic_quantity))).to_i
|
60
|
+
num_nem = xem_equivalent(
|
61
|
+
multiplier,
|
62
|
+
moa.amount,
|
63
|
+
moa.initial_supply,
|
64
|
+
moa.divisibility
|
65
|
+
)
|
66
|
+
tmp_fee = minimum_fee(num_nem.to_i)
|
60
67
|
end
|
61
68
|
sum + [1, tmp_fee - supply_related_adjustment].max
|
62
69
|
end
|
data/lib/nem/keypair.rb
CHANGED
@@ -19,12 +19,15 @@ module Nem
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def verify_signature(signer, hash, apostille_hash)
|
22
|
-
#
|
22
|
+
# TODO: support private apostille
|
23
23
|
raise NotImplementedError, 'Not implemented private apostille'
|
24
24
|
end
|
25
25
|
|
26
26
|
# @return [Nem::Keypair] new key pair
|
27
|
-
def self.generate(seed = SecureRandom.hex(
|
27
|
+
def self.generate(seed = SecureRandom.hex(32))
|
28
|
+
unless seed =~ /\A\h{64}\z/ || seed =~ /\A\h{66}\z/
|
29
|
+
raise ArgumentError, 'PrivateKey is not valid!'
|
30
|
+
end
|
28
31
|
new(seed)
|
29
32
|
end
|
30
33
|
|
data/lib/nem/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nem-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yoshiyuki Ieyama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|