Class: ArkEcosystem::Crypto::Serialiser
- Inherits:
-
Object
- Object
- ArkEcosystem::Crypto::Serialiser
- Defined in:
- lib/arkecosystem/crypto/serialiser.rb
Overview
The base serialiser for transactions.
Instance Method Summary collapse
-
#initialize(transaction) ⇒ Serialiser
constructor
A new instance of Serialiser.
- #serialise ⇒ Object
Constructor Details
#initialize(transaction) ⇒ Serialiser
Returns a new instance of Serialiser.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/arkecosystem/crypto/serialiser.rb', line 5 def initialize(transaction) @transaction = transaction @handlers = %w[ Transfer SecondSignatureRegistration DelegateRegistration Vote MultiSignatureRegistration Ipfs TimelockTransfer MultiPayment DelegateResignation ] end |
Instance Method Details
#serialise ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/arkecosystem/crypto/serialiser.rb', line 21 def serialise bytes = '' bytes << [0xff].pack('C') bytes << [@transaction[:version] || 0x01].pack('C') bytes << [@transaction[:network]].pack('C') bytes << [@transaction[:type]].pack('C') bytes << [@transaction[:timestamp]].pack('V') bytes << [@transaction[:senderPublicKey]].pack('H*') bytes << [@transaction[:fee]].pack('Q<') bytes = handle_vendor_field(bytes) bytes = handle_type(bytes) bytes = handle_signatures(bytes) BTC::Data.hex_from_data(bytes) end |