Collection of utils for handling Telegram Open Network Virtual Machine value types
Project description
TVM value types
Telegram Open Network Virtual Machine has 7 value types:
- Integer
- Cell
- Tuple
- Null
- Slice
- Builder
- Continuation
This library is collection of utilits for handling those types.
Cell and Slice
tvm_valuetypes.cell
has class Cell
and functions to work with cells:
deserialize_boc
, cell.serialize_boc
, cell.serialize_to_object
, cell.serialize_to_json
, deserialize_cell_from_json
from tvm_valuertypes.cell import Cell, deserialize_boc
serialized_cell = bytes.fromhex("B5EE9C72410102010007000102000100024995C5FE15")
cell1 = deserialize_boc(serialized_c1)
cell1
serialization_with_index = cell1.serialize_boc(has_idx=True, hash_crc32=True, has_cache_bits=False, flags=0 )
serialization_with_index
cell2 = deserialize_boc(serialized_c2)
cell2 == cell1
cell2.serialize_to_object()
HashMaps (Dictionaries)
Cell may represent special 'virtual' value type, HashMap, which can be used for storing key-value container in the Cell.
tvm_valuetypes.dict_utils
has special method parse_hashmap
for dealing with hashmaps. Note the difference between Hashmap
and HashmapE
.
from tvm_valuertypes.cell import Cell
from tvm_valuertypes.dict_utils import parse_hashmap
test_dict = bytes.fromhex("B5EE9C7241010A01002D00020120010202014803040003FC0202014805060003F5FE02014807080003DB24020120090900035FF800030020CB8CA892")
dict_cell = deserialize_boc(test_dict)
parsed_dict = {}
parse_hashmap(dict_cell, 8, parsed_dict)
parsed_dict
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tvm_valuetypes-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca61749ba98985f281142e44c8cc57794165eba54b8f8a9a63edc9daa226fda0 |
|
MD5 | 2f077d35e32bff3fd5e387a20e5b823d |
|
BLAKE2b-256 | 8e9e5edc48228417ab3ad1c85ad7e08595fb929346cc6eb37a1b5a959c3cc27e |