Class: Nem::Transaction::MultisigAggregateModification

Inherits:
Base
  • Object
show all
Defined in:
lib/nem/transaction/multisig_aggregate_modification.rb

Constant Summary collapse

TYPE =

4097 (multisig aggregate modification transfer transaction)

0x1001

Constants inherited from Base

Base::NETWORK

Instance Attribute Summary collapse

Attributes inherited from Base

#deadline, #fee, #signature, #signer, #timestamp, #type

Instance Method Summary collapse

Methods inherited from Base

#network

Constructor Details

#initialize(modifications, relative_change = 0, timestamp: nil, deadline: nil, network: nil) ⇒ MultisigAggregateModification



11
12
13
14
15
16
17
18
19
20
# File 'lib/nem/transaction/multisig_aggregate_modification.rb', line 11

def initialize(modifications, relative_change = 0, timestamp: nil, deadline: nil, network: nil)
  @modifications = modifications
  @relative_change = relative_change

  @network = network || Nem.default_network
  @type = TYPE
  @fee = Nem::Fee::MultisigAggregateModification.new(self)
  @timestamp = timestamp || Time.now
  @deadline = deadline || Time.now + Nem.default_deadline
end

Instance Attribute Details

#min_cosignatoriesInterger



6
7
8
# File 'lib/nem/transaction/multisig_aggregate_modification.rb', line 6

def min_cosignatories
  @min_cosignatories
end

#modificationsArray <Nem::Model::MultisigCosignatoryModification>



6
7
8
# File 'lib/nem/transaction/multisig_aggregate_modification.rb', line 6

def modifications
  @modifications
end

#relative_changeInterger



6
7
8
# File 'lib/nem/transaction/multisig_aggregate_modification.rb', line 6

def relative_change
  @relative_change
end

Instance Method Details

#has_relative_change?Boolean



22
23
24
# File 'lib/nem/transaction/multisig_aggregate_modification.rb', line 22

def has_relative_change?
  relative_change != 0
end

#to_hashHash

attributes must be CAMEL CASE for NIS params



32
33
34
35
36
37
38
39
# File 'lib/nem/transaction/multisig_aggregate_modification.rb', line 32

def to_hash
  {
    modifications: modifications.map(&:to_hash),
    minCosignatories: {
      relativeChange: relative_change
    }
  }
end

#versionObject



26
27
28
# File 'lib/nem/transaction/multisig_aggregate_modification.rb', line 26

def version
  network(hex: true) + (has_relative_change? ? 2 : 1)
end