Class: ArkEcosystem::Crypto::Builder::MultiSignatureRegistration

Inherits:
Transaction
  • Object
show all
Defined in:
lib/arkecosystem/crypto/builder/multi_signature_registration.rb

Overview

The builder for multi signature registration transactions.

Instance Attribute Summary

Attributes inherited from Transaction

#amount, #asset, #fee, #id, #recipient_id, #sender_public_key, #sign_signature, #signature, #timestamp, #vendor_field

Instance Method Summary collapse

Methods inherited from Transaction

#second_sign, #second_verify, #sign_and_create_id, #to_hash, #to_params, #verify

Constructor Details

#initializeMultiSignatureRegistration

Returns a new instance of MultiSignatureRegistration.



11
12
13
14
15
16
17
# File 'lib/arkecosystem/crypto/builder/multi_signature_registration.rb', line 11

def initialize
  super

  @asset = {
    multisignature: {}
  }
end

Instance Method Details

#set_keysgroup(keysgroup) ⇒ Object



19
20
21
22
# File 'lib/arkecosystem/crypto/builder/multi_signature_registration.rb', line 19

def set_keysgroup(keysgroup)
  @asset[:multisignature][:keysgroup] = keysgroup
  self
end

#set_lifetime(lifetime) ⇒ Object



24
25
26
27
# File 'lib/arkecosystem/crypto/builder/multi_signature_registration.rb', line 24

def set_lifetime(lifetime)
  @asset[:multisignature][:lifetime] = lifetime
  self
end

#set_min(min) ⇒ Object



29
30
31
32
# File 'lib/arkecosystem/crypto/builder/multi_signature_registration.rb', line 29

def set_min(min)
  @asset[:multisignature][:min] = min
  self
end

#sign(secret) ⇒ Object



34
35
36
37
# File 'lib/arkecosystem/crypto/builder/multi_signature_registration.rb', line 34

def sign(secret)
  @fee = (@asset[:multisignature][:keysgroup].size + 1) * ArkEcosystem::Crypto::Configuration::Fee.get(@type)
  sign_and_create_id(secret)
end

#typeObject



39
40
41
# File 'lib/arkecosystem/crypto/builder/multi_signature_registration.rb', line 39

def type
  ArkEcosystem::Crypto::Enums::Types::MULTI_SIGNATURE_REGISTRATION
end