Class: Solace::Transaction
- Inherits:
-
SerializableRecord
- Object
- SerializableRecord
- Solace::Transaction
- Defined in:
- lib/solace/transaction.rb
Constant Summary collapse
- SERIALIZER =
Solace::Serializers::TransactionSerializer
- DESERIALIZER =
Solace::Serializers::TransactionDeserializer
- SIGNATURE_PLACEHOLDER =
Solace::Utils::Codecs.base58_to_binary('1' * 64)
Instance Attribute Summary collapse
-
#message ⇒ Solace::Message
Message of the transaction.
-
#signatures ⇒ Array<String>
Signatures of the transaction (binary).
Class Method Summary collapse
-
.from(base64_tx) ⇒ Solace::Transaction
Deserialize a base64 encoded transaction into a Solace::Transaction object.
Instance Method Summary collapse
-
#initialize(signatures: [], message: Solace::Message.new) ⇒ Solace::Transaction
constructor
Initialize a new transaction.
-
#sign(*keypairs) ⇒ Array<String>
Sign the transaction.
Methods inherited from SerializableRecord
Methods included from Concerns::BinarySerializable
Constructor Details
#initialize(signatures: [], message: Solace::Message.new) ⇒ Solace::Transaction
Initialize a new transaction
54 55 56 57 58 59 60 |
# File 'lib/solace/transaction.rb', line 54 def initialize( signatures: [], message: Solace::Message.new ) @signatures = signatures = end |
Instance Attribute Details
#message ⇒ Solace::Message
Returns Message of the transaction.
39 40 41 |
# File 'lib/solace/transaction.rb', line 39 def end |
#signatures ⇒ Array<String>
Returns Signatures of the transaction (binary).
35 36 37 |
# File 'lib/solace/transaction.rb', line 35 def signatures @signatures end |
Class Method Details
.from(base64_tx) ⇒ Solace::Transaction
Deserialize a base64 encoded transaction into a Solace::Transaction object
46 47 48 |
# File 'lib/solace/transaction.rb', line 46 def from(base64_tx) DESERIALIZER.call Solace::Utils::Codecs.base64_to_bytestream(base64_tx) end |
Instance Method Details
#sign(*keypairs) ⇒ Array<String>
Sign the transaction
Calls sign_and_update_signatures for each keypair passed in.
68 69 70 |
# File 'lib/solace/transaction.rb', line 68 def sign(*keypairs) keypairs.map { |keypair| sign_and_update_signatures(keypair) } end |