class Nem::Transaction::Transfer
@attr [Integer] amount @attr [String] recipient @attr [Nem::Model::Message] message @attr [Array <Nem::Model::MosaicId>] mosaics @see nemproject.github.io/#transferTransaction @see nemproject.github.io/#initiating-a-transfer-transaction @see nemproject.github.io/#version-1-transfer-transactions @see nemproject.github.io/#version-2-transfer-transactions
Constants
- TYPE
Attributes
amount[R]
message[R]
mosaics[R]
recipient[R]
Public Class Methods
new(recipient, amount, message = '', mosaics: [], timestamp: nil, deadline: nil, network: nil)
click to toggle source
# File lib/nem/transaction/transfer.rb, line 16 def initialize(recipient, amount, message = '', mosaics: [], timestamp: nil, deadline: nil, network: nil) @amount = amount @recipient = recipient @message = message.is_a?(Nem::Model::Message) ? message : Nem::Model::Message.new(message.to_s) @mosaics = mosaics @network = network || Nem.default_network @type = TYPE @fee = Nem::Fee::Transfer.new(self) @timestamp = timestamp || Time.now @deadline = deadline || Time.now + Nem.default_deadline end
Public Instance Methods
has_message?()
click to toggle source
@return [Boolean]
# File lib/nem/transaction/transfer.rb, line 32 def has_message? message.bytesize > 0 end
has_mosaics?()
click to toggle source
@return [Boolean]
# File lib/nem/transaction/transfer.rb, line 37 def has_mosaics? mosaics.size > 0 end
to_hash()
click to toggle source
attributes must be CAMEL CASE for NIS params @return [Hash] Mosaics need to be sorted by fqn. if not it will occur FAILURE_SIGNATURE_NOT_VERIFIABLE
# File lib/nem/transaction/transfer.rb, line 49 def to_hash tmp = { amount: (amount * 1_000_000).to_i, recipient: recipient, message: message.to_hash } unless mosaics.empty? tmp[:mosaics] = mosaics .sort_by { |mo| mo.fqn } .map do |moa| { mosaicId: { namespaceId: moa.mosaic_id.namespace_id, name: moa.mosaic_id.name, }, quantity: moa.amount } end end tmp end
version()
click to toggle source
# File lib/nem/transaction/transfer.rb, line 41 def version network(hex: true) + (has_mosaics? ? 2 : 1) end