nem-ruby 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a3d08ddab8d97a89125da8160e6f7e1495652eab
4
- data.tar.gz: f58d5a8984b9e9ba2b059e4439b600aa13b3eea2
2
+ SHA256:
3
+ metadata.gz: 2c104bf4ffdfcd8954c670d56c1b72202752567829f1f7dbbd841e1b5636f9a1
4
+ data.tar.gz: 645333200d0f4f3e04e1c47fe1494bbd5b3f4a9275c22da46bdffa2a256ddac5
5
5
  SHA512:
6
- metadata.gz: c2a60386d49ef6345fa6a7cdb421ea28b3b57075d85bc31fcf23a231e76ce63e752fe82ab44e0d43240fee03c4a182aa0d35694439cfbf320db7d21cd7fcc668
7
- data.tar.gz: bb4a8a197890bfbc11cf413cdaa0cfbcc265bacc4298b94b61e0b1ec18e86136a92ffc26431e81dfff2986351a2958e01918d498a84419eff751a56fd42d5dea
6
+ metadata.gz: 022d240d606975c63d08b15de7ee452621dd7d9f429d1eba330df2b3afec3dc9c8f743503dc39650b39d1a5b862cffe0a9f601674ce30e039fb2a5ed5982f83b
7
+ data.tar.gz: 45224ce8240732980bb3d8750a97297c31ecf871bad1ea3667cf4ce64a616c57e2d7718f433962ed03dd6a89405ba9be6f40a12ea45dcd01864990c1122e0362
@@ -0,0 +1,39 @@
1
+ require 'pp'
2
+ require 'nem'
3
+
4
+ Nem.logger.level = Logger::DEBUG
5
+
6
+ # multisig
7
+ M_PRIVATE_KEY = '5dde437eadf98b4c97a3ef2fbfaa11211a1bce5fba6c30e383872a85cd6971ac'
8
+
9
+ # cosignatory(A)
10
+ A_PUBLIC_KEY = '9c345085d83b12220b351807643d35d179feaa871147c0245e95b7a5284dcc34'
11
+
12
+ # cosignatory(B)
13
+ B_PUBLIC_KEY = 'c96e5efb62475dd1686ab525be6837ca932e278f82412d40155e2f0e62ad24c0'
14
+
15
+ # cosignatory(C)
16
+ C_PUBLIC_KEY = '93084f6772ead71af12acad0f2b1068919ad5f709eb0ef3f8fbe2913fdde75f5'
17
+
18
+ kp = Nem::Keypair.new(M_PRIVATE_KEY)
19
+ node = Nem::Node.new(host: 'bigalice2.nem.ninja')
20
+ tx_endpoint = Nem::Endpoint::Transaction.new(node)
21
+
22
+ modifications = [
23
+ Nem::Transaction::MultisigCosignatoryModification.new(:add, A_PUBLIC_KEY),
24
+ Nem::Transaction::MultisigCosignatoryModification.new(:add, B_PUBLIC_KEY),
25
+ Nem::Transaction::MultisigCosignatoryModification.new(:add, C_PUBLIC_KEY)
26
+ ]
27
+
28
+ relative_change = 2
29
+ tx = Nem::Transaction::MultisigAggregateModification.new(
30
+ modifications,
31
+ relative_change
32
+ )
33
+ pp "Fee: #{tx.fee.to_i}"
34
+
35
+ req = Nem::Request::Announce.new(tx, kp)
36
+ res = tx_endpoint.announce(req)
37
+
38
+ pp "Message: #{res.message}"
39
+ pp "TransactionHash: #{res.transaction_hash}"
@@ -0,0 +1,37 @@
1
+ require 'pp'
2
+ require 'nem'
3
+
4
+ Nem.logger.level = Logger::DEBUG
5
+
6
+ # multisig
7
+ M_PUBLIC_KEY = 'e41f6fcfe6e311b8302f6f3d9b856e059f2a1ba7012159b8518328d5c584551b'
8
+
9
+ # initiator(A)
10
+ A_PRIVATE_KEY = '5a713ebe837e3f426489374d321d7255ba5de868af6be745636a348608177f87'
11
+
12
+ # cosignatory(C) to be remove from cosignatories
13
+ C_PUBLIC_KEY = '93084f6772ead71af12acad0f2b1068919ad5f709eb0ef3f8fbe2913fdde75f5'
14
+
15
+ kp = Nem::Keypair.new(A_PRIVATE_KEY)
16
+ node = Nem::Node.new(host: 'bigalice2.nem.ninja')
17
+ tx_endpoint = Nem::Endpoint::Transaction.new(node)
18
+
19
+ modifications = [
20
+ Nem::Transaction::MultisigCosignatoryModification.new(:remove, C_PUBLIC_KEY)
21
+ ]
22
+
23
+ relative_change = 0
24
+
25
+ mamtx = Nem::Transaction::MultisigAggregateModification.new(
26
+ modifications,
27
+ relative_change
28
+ )
29
+
30
+ tx = Nem::Transaction::Multisig.new(mamtx, M_PUBLIC_KEY)
31
+ pp "Fee: #{tx.fee.to_i}"
32
+
33
+ req = Nem::Request::Announce.new(tx, kp)
34
+ res = tx_endpoint.announce(req)
35
+
36
+ pp "Message: #{res.message}"
37
+ pp "TransactionHash: #{res.transaction_hash}"
@@ -14,7 +14,7 @@ node = Nem::Node.new(host: 'bigalice2.nem.ninja')
14
14
  tx_endpoint = Nem::Endpoint::Transaction.new(node)
15
15
 
16
16
  # with plain message
17
- tx = Nem::Transaction::Transfer.new(B_ADDRESS, 1, 'Good luck!')
17
+ tx = Nem::Transaction::Transfer.new(B_ADDRESS, 9.85, 'Good luck!')
18
18
  pp "Fee: #{tx.fee.to_i}"
19
19
 
20
20
  req = Nem::Request::Announce.new(tx, kp)
@@ -15,7 +15,7 @@ module Nem
15
15
  attr_reader :mosaic_id, :quantity, :properties
16
16
 
17
17
  def amount
18
- return quantity * (10**properties.divisibility)
18
+ (quantity * (10**properties.divisibility)).to_i
19
19
  end
20
20
  end
21
21
  end
@@ -10,8 +10,7 @@ module Nem
10
10
  Modification.new(mod[:modificationType], mod[:cosignatoryAccount])
11
11
  end
12
12
  attrs = common_part_meta_data_pair(hash).merge(
13
- # TODO: check
14
- # relative_change: transaction[:minCosignatories][:relativeChange],
13
+ min_cosignatories: transaction[:minCosignatories],
15
14
  modifications: modifications
16
15
  )
17
16
  new(attrs)
@@ -29,13 +29,18 @@ module Nem
29
29
 
30
30
  # attributes must be CAMEL CASE for NIS params
31
31
  # @return [Hash]
32
+ # Modifications need to be sorted by address.
33
+ # if not it will occur FAILURE_SIGNATURE_NOT_VERIFIABLE
32
34
  def to_hash
33
- {
34
- modifications: modifications.map(&:to_hash),
35
+ tmp = {
35
36
  minCosignatories: {
36
37
  relativeChange: relative_change
37
38
  }
38
39
  }
40
+ tmp[:modifications] = modifications
41
+ .sort_by { |mo| Nem::Unit::Address.from_public_key(mo.cosignatory_account) }
42
+ .map(&:to_hash)
43
+ tmp
39
44
  end
40
45
  end
41
46
  end
@@ -44,7 +44,8 @@ module Nem
44
44
 
45
45
  # attributes must be CAMEL CASE for NIS params
46
46
  # @return [Hash]
47
- # Mosaics need to be sorted by fqn. if not it will occur FAILURE_SIGNATURE_NOT_VERIFIABLE
47
+ # Mosaics need to be sorted by fqn.
48
+ # if not it will occur FAILURE_SIGNATURE_NOT_VERIFIABLE
48
49
  def to_hash
49
50
  tmp = {
50
51
  amount: (amount * 1_000_000).to_i,
@@ -83,6 +83,9 @@ module Nem
83
83
  when 0x0101 then serialize_transfer(trans)
84
84
  when 0x0801 then serialize_importance_transfer(trans)
85
85
  when 0x1001 then serialize_multisig_aggregate_modification(trans)
86
+ when 0x2001 then serialize_provision_namespace(trans)
87
+ when 0x4001 then serialize_mosaic_definition_creation(entity)
88
+ when 0x4002 then serialize_mosaic_supply_change(entity)
86
89
  else raise "Unexpected type #{trans[:type]}"
87
90
  end
88
91
  tx = serialize_common(trans) + tx
@@ -1,3 +1,3 @@
1
1
  module Nem
2
- VERSION = '0.0.11'
2
+ VERSION = '0.0.12'
3
3
  end
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.11
4
+ version: 0.0.12
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-07-10 00:00:00.000000000 Z
11
+ date: 2018-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -239,7 +239,8 @@ files:
239
239
  - examples/transaction/mosaic_definition_creation.rb
240
240
  - examples/transaction/mosaic_supply_change.rb
241
241
  - examples/transaction/multisig_add_cosignatory.rb
242
- - examples/transaction/multisig_aggregate_modification.rb
242
+ - examples/transaction/multisig_aggregate_modification_add.rb
243
+ - examples/transaction/multisig_aggregate_modification_remove.rb
243
244
  - examples/transaction/multisig_signature.rb
244
245
  - examples/transaction/multisig_transfer.rb
245
246
  - examples/transaction/provision_namespace.rb
@@ -380,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
380
381
  version: '0'
381
382
  requirements: []
382
383
  rubyforge_project:
383
- rubygems_version: 2.6.11
384
+ rubygems_version: 2.7.3
384
385
  signing_key:
385
386
  specification_version: 4
386
387
  summary: Ruby gem for communicating with the nem
@@ -1,30 +0,0 @@
1
- require 'pp'
2
- require 'nem'
3
-
4
- Nem.logger.level = Logger::DEBUG
5
-
6
- # multisig
7
- M_PRIVATE_KEY = '00f077782658ae91b77f238ba5fcd7ef110564b5c189072e4d4590d9b17f9d76f3'
8
-
9
- # cosignatory(A)
10
- A_PUBLIC_KEY = 'be2ba9cb15a547110d511a4d43c0482fbb584d78781abac01fb053d18f4a0033'
11
-
12
- kp = Nem::Keypair.new(M_PRIVATE_KEY)
13
- node = Nem::Node.new(host: 'bigalice2.nem.ninja')
14
- tx_endpoint = Nem::Endpoint::Transaction.new(node)
15
-
16
- msig_cosignatories = [
17
- Nem::Transaction::MultisigCosignatoryModification.new(:add, A_PUBLIC_KEY)
18
- ]
19
- relative_change = 1
20
- tx = Nem::Transaction::MultisigAggregateModification.new(
21
- msig_cosignatories,
22
- relative_change
23
- )
24
- pp "Fee: #{tx.fee.to_i}"
25
-
26
- req = Nem::Request::Announce.new(tx, kp)
27
- res = tx_endpoint.announce(req)
28
-
29
- pp "Message: #{res.message}"
30
- pp "TransactionHash: #{res.transaction_hash}"