Class: TonSdkRuby::Message
- Inherits:
-
Object
- Object
- TonSdkRuby::Message
- Extended by:
- TonSdkRuby
- Includes:
- TonSdkRuby
- Defined in:
- lib/ton-sdk-ruby/types/block.rb
Constant Summary
Constants included from TonSdkRuby
DEPTH_BITS, FLAG_BOUNCEABLE, FLAG_NON_BOUNCEABLE, FLAG_TEST_ONLY, HASH_BITS, INT32_MAX, INT32_MIN, LEAN_BOC_MAGIC_PREFIX, LEAN_BOC_MAGIC_PREFIX_CRC, REACH_BOC_MAGIC_PREFIX, VERSION
Instance Attribute Summary collapse
-
#cell ⇒ Object
readonly
Returns the value of attribute cell.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(options) ⇒ Message
constructor
A new instance of Message.
Methods included from TonSdkRuby
augment, base64_to_bytes, bits_to_big_int, bits_to_big_uint, bits_to_bytes, bits_to_hex, bits_to_int_uint, breadth_first_sort, bytes_compare, bytes_needed_for_words_bip39, bytes_to_base64, bytes_to_bits, bytes_to_data_string, bytes_to_hex, bytes_to_string, bytes_to_uint, crc16, crc16_bytes_be, crc32c, crc32c_bytes_le, depth_first_sort, deserialize, deserialize_cell, deserialize_fift, deserialize_header, generate_words_bip39, get_mapper, hex_to_bits, hex_to_bytes, hex_to_data_string, read_json_from_link, read_post_json_from_link, require_type, rollback, serialize, serialize_cell, sha256, sha512, sign_cell, slice_into_chunks, string_to_bytes, uint_to_hex, validate_library_reference, validate_merkle_proof, validate_merkle_update, validate_ordinary, validate_pruned_branch
Constructor Details
#initialize(options) ⇒ Message
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 |
# File 'lib/ton-sdk-ruby/types/block.rb', line 280 def initialize() @data = b = Builder.new b.store_slice(data.info.cell.parse) # info:CommonMsgInfo # init:(Maybe (Either StateInit ^StateInit)) if data.init b.store_bits([1, 0]) b.store_slice(data.init.cell.parse) else b.store_bit(0) end # body:(Either X ^X) if data.body if (b.bits.length + data.body.bits.length + 1 <= 1023) && (b.refs.length + data.body.refs.length <= 4) b.store_bit(0) b.store_slice(data.body.parse) else b.store_bit(1) b.store_ref(data.body) end else b.store_bit(0) end @cell = b.cell end |
Instance Attribute Details
#cell ⇒ Object (readonly)
Returns the value of attribute cell.
278 279 280 |
# File 'lib/ton-sdk-ruby/types/block.rb', line 278 def cell @cell end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
278 279 280 |
# File 'lib/ton-sdk-ruby/types/block.rb', line 278 def data @data end |
Class Method Details
.parse(cs) ⇒ Object
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 |
# File 'lib/ton-sdk-ruby/types/block.rb', line 310 def self.parse(cs) data = {} data.info = CommonMsgInfo.parse(cs) if cs.load_bit init = cs.load_bit ? cs.load_ref.parse : cs data.init = StateInit.parse(init) end if cs.load_bit data.body = cs.load_ref else data.body = Builder.new.store_slice(cs).cell end new(data) end |