class Mnam::TransactionBuilder
Public Instance Methods
create_delegate(username, secret, second_secret)
click to toggle source
# File lib/mnam/transaction_builder.rb, line 215 def create_delegate(username, secret, second_secret) key = Mnam::Util::Crypto.get_key(secret) second_key = Mnam::Util::Crypto.get_key(second_secret) if second_secret transaction = Transaction.new( :type => Transaction::Type::DELEGATE, :fee => Transaction::Fee::DELEGATE, :sender_public_key => key.public_key.unpack('H*').first, :amount => 0, :asset => { :delegate => { :username => username, :public_key => key.public_key.unpack('H*').first } } ) transaction.sign_and_create_id(key, second_key) transaction end
create_multisignature(secret, second_secret, keysgroup, lifetime, min)
click to toggle source
# File lib/mnam/transaction_builder.rb, line 237 def create_multisignature(secret, second_secret, keysgroup, lifetime, min) key = Mnam::Util::Crypto.get_key(secret) second_key = Mnam::Util::Crypto.get_key(second_secret) if second_secret transaction = Transaction.new( :type => Transaction::Type::MULTISIGNATURE, :fee => (keysgroup.size + 1) * Transaction::Fee::MULTISIGNATURE_BASE, :sender_public_key => key.public_key.unpack('H*').first, :amount => 0, :asset => { :multisignature => { :min => min, :lifetime => lifetime, :keysgroup => keysgroup } } ) transaction.sign_and_create_id(key, second_key) transaction end
create_second_signature(second_secret, first_secret)
click to toggle source
# File lib/mnam/transaction_builder.rb, line 176 def create_second_signature(second_secret, first_secret) key = Mnam::Util::Crypto.get_key(first_secret) second_key = Mnam::Util::Crypto.get_key(second_secret) if second_secret transaction = Transaction.new( :type => Transaction::Type::SECOND_SIGNATURE, :fee => Transaction::Fee::SECOND_SIGNATURE, :sender_public_key => key.public_key.unpack('H*').first, :amount => 0, :asset => { :signature => { :public_key => second_key.public_key.unpack('H*').first } } ) transaction.sign_and_create_id(key) return transaction end
create_transfer(recipient_id, amount, vendor_field, secret, second_secret = nil)
click to toggle source
# File lib/mnam/transaction_builder.rb, line 159 def create_transfer(recipient_id, amount, vendor_field, secret, second_secret = nil) key = Mnam::Util::Crypto.get_key(secret) second_key = Mnam::Util::Crypto.get_key(second_secret) if second_secret transaction = Transaction.new( :type => Transaction::Type::TRANSFER, :fee => Transaction::Fee::TRANSFER, :sender_public_key => key.public_key.unpack('H*').first, :recipient_id => recipient_id, :amount => amount, :vendor_field => vendor_field, ) transaction.sign_and_create_id(key, second_key) transaction end
create_vote(votes, secret, second_secret, network_address)
click to toggle source
# File lib/mnam/transaction_builder.rb, line 197 def create_vote(votes, secret, second_secret, network_address) key = Mnam::Util::Crypto.get_key(secret) second_key = Mnam::Util::Crypto.get_key(second_secret) if second_secret transaction = Transaction.new( :type => Transaction::Type::VOTE, :fee => Transaction::Fee::VOTE, :sender_public_key => key.public_key.unpack('H*').first, :recipient_id => Mnam::Util::Crypto.get_address(key, network_address), :amount => 0, :asset => {:votes => votes} ) transaction.sign_and_create_id(key, second_key) transaction end