class Nis::Request::Announce
@attr [String] data @attr [String] signature @see nemproject.github.io/#requestAnnounce
Constants
- DEADLINE
Attributes
data[RW]
keypair[RW]
signature[RW]
transaction[RW]
Public Class Methods
new(transaction, keypair)
click to toggle source
# File lib/nis/request/announce.rb, line 12 def initialize(transaction, keypair) @keypair = keypair @transaction = transaction end
Public Instance Methods
to_hash()
click to toggle source
@return [Hash] Attribute and value pairs
# File lib/nis/request/announce.rb, line 18 def to_hash entity = @transaction.clone entity.amount *= 1_000_000 if entity.respond_to?(:amount) if entity.respond_to?(:other_trans) other_trans(entity) end entity.tap do |tx| tx.timeStamp = Nis::Util.timestamp tx.deadline = Nis::Util.deadline(DEADLINE) tx.version = Nis::Util.parse_version(tx.network, version(tx)) tx.signer = @keypair.public end entity_hash = entity.to_hash if entity.respond_to?(:has_mosaics?) && !entity.has_mosaics? entity_hash.delete(:mosaics) end if entity.respond_to?(:other_trans) && !entity.other_trans.has_mosaics? entity_hash[:otherTrans].delete(:mosaics) end serialized = serialize(entity_hash) hex_serialized = Nis::Util::Convert.ua2hex(serialized) { data: Nis::Util::Convert.ua2hex(serialized), signature: signature(hex_serialized) } end
Private Instance Methods
other_trans(transaction)
click to toggle source
# File lib/nis/request/announce.rb, line 60 def other_trans(transaction) transaction.other_trans.tap do |tx| tx.amount *= 1_000_000 if tx.respond_to?(:amount) tx.timeStamp = Nis::Util.timestamp tx.deadline = Nis::Util.deadline(DEADLINE) tx.version = Nis::Util.parse_version(tx.network, version(tx)) tx.signer = transaction.signer end end
serialize(transaction_hash)
click to toggle source
# File lib/nis/request/announce.rb, line 52 def serialize(transaction_hash) Nis::Util::Serializer.serialize_transaction(transaction_hash) end
version(transaction)
click to toggle source
# File lib/nis/request/announce.rb, line 71 def version(transaction) transaction.respond_to?(:has_mosaics?) && transaction.has_mosaics? ? 2 : 1 end