2019-09-07 12:03:22 +02:00
|
|
|
//
|
|
|
|
// Bag-of-Cells (BoC) serialization formats
|
|
|
|
//
|
|
|
|
|
|
|
|
serialized_boc_idx#68ff65f3 size:(## 8) { size <= 4 }
|
|
|
|
off_bytes:(## 8) { off_bytes <= 8 }
|
|
|
|
cells:(##(size * 8))
|
|
|
|
roots:(##(size * 8)) { roots = 1 }
|
|
|
|
absent:(##(size * 8)) { roots + absent <= cells }
|
|
|
|
tot_cells_size:(##(off_bytes * 8))
|
|
|
|
index:(cells * ##(off_bytes * 8))
|
|
|
|
cell_data:(tot_cells_size * [ uint8 ])
|
|
|
|
= BagOfCells;
|
|
|
|
|
|
|
|
serialized_boc_idx_crc32c#acc3a728 size:(## 8) { size <= 4 }
|
|
|
|
off_bytes:(## 8) { off_bytes <= 8 }
|
|
|
|
cells:(##(size * 8))
|
|
|
|
roots:(##(size * 8)) { roots = 1 }
|
|
|
|
absent:(##(size * 8)) { roots + absent <= cells }
|
|
|
|
tot_cells_size:(##(off_bytes * 8))
|
|
|
|
index:(cells * ##(off_bytes * 8))
|
|
|
|
cell_data:(tot_cells_size * [ uint8 ])
|
|
|
|
crc32c:uint32 = BagOfCells;
|
|
|
|
|
|
|
|
serialized_boc#b5ee9c72 has_idx:(## 1) has_crc32c:(## 1)
|
|
|
|
has_cache_bits:(## 1) flags:(## 2) { flags = 0 }
|
|
|
|
size:(## 3) { size <= 4 }
|
|
|
|
off_bytes:(## 8) { off_bytes <= 8 }
|
|
|
|
cells:(##(size * 8))
|
|
|
|
roots:(##(size * 8)) { roots >= 1 }
|
|
|
|
absent:(##(size * 8)) { roots + absent <= cells }
|
|
|
|
tot_cells_size:(##(off_bytes * 8))
|
|
|
|
root_list:(roots * ##(size * 8))
|
2019-10-04 14:08:02 +02:00
|
|
|
index:has_idx?(cells * ##(off_bytes * 8))
|
2019-09-07 12:03:22 +02:00
|
|
|
cell_data:(tot_cells_size * [ uint8 ])
|
2019-10-04 14:08:02 +02:00
|
|
|
crc32c:has_crc32c?uint32
|
2019-09-07 12:03:22 +02:00
|
|
|
= BagOfCells;
|
|
|
|
|
|
|
|
compiled_smart_contract
|
|
|
|
compiled_at:uint32 code:^Cell data:^Cell
|
|
|
|
description:(Maybe ^TinyString)
|
|
|
|
^[ source_file:(Maybe ^TinyString)
|
|
|
|
compiler_version:(Maybe ^TinyString) ]
|
|
|
|
= CompiledSmartContract;
|
|
|
|
|
|
|
|
tiny_string#_ len:(#<= 126) str:(len * [ uint8 ]) = TinyString;
|