Class: Solace::Message
- Inherits:
-
SerializableRecord
- Object
- SerializableRecord
- Solace::Message
- Defined in:
- lib/solace/message.rb
Constant Summary collapse
- SERIALIZER =
Solace::Serializers::MessageSerializer
- DESERIALIZER =
Solace::Serializers::MessageDeserializer
Instance Attribute Summary collapse
-
#accounts ⇒ Array<String>
Account public keys (base58).
-
#address_lookup_tables ⇒ Array<Solace::AddressLookupTable>
Address lookup tables (for versioned messages).
-
#header ⇒ Array<Integer>
Message header [num_required_signatures, num_readonly_signed, num_readonly_unsigned].
-
#instructions ⇒ Array<Solace::Instruction>
Instructions in the message.
-
#recent_blockhash ⇒ String
Recent blockhash (base58).
-
#version ⇒ Integer?
Message version (nil for legacy).
Instance Method Summary collapse
-
#initialize(version: nil, accounts: [], instructions: [], recent_blockhash: nil, header: [0, 0, 0], address_lookup_tables: []) ⇒ Message
constructor
Initialize a new Message.
-
#num_readonly_signed_accounts ⇒ Integer
Returns the number of readonly signed accounts.
-
#num_readonly_unsigned_accounts ⇒ Integer
Returns the number of readonly unsigned accounts.
-
#num_required_signatures ⇒ Integer
Returns the number of required signatures.
-
#versioned? ⇒ Boolean
Check if the message is versioned.
Methods inherited from SerializableRecord
Methods included from Concerns::BinarySerializable
Constructor Details
#initialize(version: nil, accounts: [], instructions: [], recent_blockhash: nil, header: [0, 0, 0], address_lookup_tables: []) ⇒ Message
Initialize a new Message
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/solace/message.rb', line 51 def initialize( version: nil, accounts: [], instructions: [], recent_blockhash: nil, header: [0, 0, 0], address_lookup_tables: [] ) @version = version @header = header @accounts = accounts @recent_blockhash = recent_blockhash @instructions = instructions @address_lookup_tables = address_lookup_tables end |
Instance Attribute Details
#accounts ⇒ Array<String>
Returns Account public keys (base58).
29 30 31 |
# File 'lib/solace/message.rb', line 29 def accounts @accounts end |
#address_lookup_tables ⇒ Array<Solace::AddressLookupTable>
Returns Address lookup tables (for versioned messages).
41 42 43 |
# File 'lib/solace/message.rb', line 41 def address_lookup_tables @address_lookup_tables end |
#header ⇒ Array<Integer>
Returns Message header [num_required_signatures, num_readonly_signed, num_readonly_unsigned].
25 26 27 |
# File 'lib/solace/message.rb', line 25 def header @header end |
#instructions ⇒ Array<Solace::Instruction>
Returns Instructions in the message.
37 38 39 |
# File 'lib/solace/message.rb', line 37 def instructions @instructions end |
#recent_blockhash ⇒ String
Returns Recent blockhash (base58).
33 34 35 |
# File 'lib/solace/message.rb', line 33 def recent_blockhash @recent_blockhash end |
#version ⇒ Integer?
Returns Message version (nil for legacy).
21 22 23 |
# File 'lib/solace/message.rb', line 21 def version @version end |
Instance Method Details
#num_readonly_signed_accounts ⇒ Integer
Returns the number of readonly signed accounts
84 85 86 |
# File 'lib/solace/message.rb', line 84 def num_readonly_signed_accounts header[1] end |
#num_readonly_unsigned_accounts ⇒ Integer
Returns the number of readonly unsigned accounts
91 92 93 |
# File 'lib/solace/message.rb', line 91 def num_readonly_unsigned_accounts header[2] end |
#num_required_signatures ⇒ Integer
Returns the number of required signatures
77 78 79 |
# File 'lib/solace/message.rb', line 77 def num_required_signatures header[0] end |
#versioned? ⇒ Boolean
Check if the message is versioned
70 71 72 |
# File 'lib/solace/message.rb', line 70 def versioned? !version.nil? end |