Struct everscale_types::cell::CellBuilder
source · pub struct CellBuilder { /* private fields */ }Expand description
Builder for constructing cells with densely packed data.
Implementations§
source§impl CellBuilder
impl CellBuilder
sourcepub fn build_from<T>(data: T) -> Result<Cell, Error>where
T: Store,
pub fn build_from<T>(data: T) -> Result<Cell, Error>where T: Store,
Builds a new cell from the specified data using the default finalizer.
sourcepub fn build_from_ext<T>(
data: T,
finalizer: &mut dyn Finalizer
) -> Result<Cell, Error>where
T: Store,
pub fn build_from_ext<T>( data: T, finalizer: &mut dyn Finalizer ) -> Result<Cell, Error>where T: Store,
Builds a new cell from the specified data using the provided finalizer.
sourcepub fn from_raw_data(value: &[u8], bits: u16) -> Result<Self, Error>
pub fn from_raw_data(value: &[u8], bits: u16) -> Result<Self, Error>
Tries to create a cell builder with the specified data.
NOTE: if bits is greater than bytes * 8, pads the value with zeros (as high bits).
sourcepub fn spare_bits_capacity(&self) -> u16
pub fn spare_bits_capacity(&self) -> u16
Returns remaining data capacity in bits.
sourcepub fn spare_refs_capacity(&self) -> u8
pub fn spare_refs_capacity(&self) -> u8
Returns remaining references capacity.
sourcepub fn has_capacity(&self, bits: u16, refs: u8) -> bool
pub fn has_capacity(&self, bits: u16, refs: u8) -> bool
Returns true if there is enough remaining capacity to fit bits and refs.
sourcepub fn with_level_mask(self, level_mask: LevelMask) -> Self
pub fn with_level_mask(self, level_mask: LevelMask) -> Self
Explicitly sets the level mask.
sourcepub fn set_level_mask(&mut self, level_mask: LevelMask)
pub fn set_level_mask(&mut self, level_mask: LevelMask)
Explicitly sets the level mask.
sourcepub fn set_exotic(&mut self, is_exotic: bool)
pub fn set_exotic(&mut self, is_exotic: bool)
Marks this cell as exotic.
sourcepub fn store_zeros(&mut self, bits: u16) -> Result<(), Error>
pub fn store_zeros(&mut self, bits: u16) -> Result<(), Error>
Tries to store the specified number of zero bits in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_bit_zero(&mut self) -> Result<(), Error>
pub fn store_bit_zero(&mut self) -> Result<(), Error>
Tries to store one zero bit in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_bit_one(&mut self) -> Result<(), Error>
pub fn store_bit_one(&mut self) -> Result<(), Error>
Tries to store one non-zero bit in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_bit(&mut self, value: bool) -> Result<(), Error>
pub fn store_bit(&mut self, value: bool) -> Result<(), Error>
Tries to store one bit in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_u8(&mut self, value: u8) -> Result<(), Error>
pub fn store_u8(&mut self, value: u8) -> Result<(), Error>
Tries to store u8 in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_u16(&mut self, value: u16) -> Result<(), Error>
pub fn store_u16(&mut self, value: u16) -> Result<(), Error>
Tries to store u16 in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_u32(&mut self, value: u32) -> Result<(), Error>
pub fn store_u32(&mut self, value: u32) -> Result<(), Error>
Tries to store u32 in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_u64(&mut self, value: u64) -> Result<(), Error>
pub fn store_u64(&mut self, value: u64) -> Result<(), Error>
Tries to store u64 in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_u128(&mut self, value: u128) -> Result<(), Error>
pub fn store_u128(&mut self, value: u128) -> Result<(), Error>
Tries to store u128 in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_u256(&mut self, value: &[u8; 32]) -> Result<(), Error>
pub fn store_u256(&mut self, value: &[u8; 32]) -> Result<(), Error>
Tries to store 32 bytes in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn store_small_uint(&mut self, value: u8, bits: u16) -> Result<(), Error>
pub fn store_small_uint(&mut self, value: u8, bits: u16) -> Result<(), Error>
Tries to store u8 in the cell (but only the specified number of bits),
returning false if there is not enough remaining capacity.
NOTE: if bits is greater than 8, pads the value with zeros (as high bits).
sourcepub fn store_uint(&mut self, value: u64, bits: u16) -> Result<(), Error>
pub fn store_uint(&mut self, value: u64, bits: u16) -> Result<(), Error>
Tries to store u64 in the cell (but only the specified number of bits),
returning false if there is not enough remaining capacity.
NOTE: if bits is greater than 64, pads the value with zeros (as high bits).
sourcepub fn store_raw(&mut self, value: &[u8], bits: u16) -> Result<(), Error>
pub fn store_raw(&mut self, value: &[u8], bits: u16) -> Result<(), Error>
Tries to store bytes in the cell (but only the specified number of bits),
returning false if there is not enough remaining capacity.
NOTE: if bits is greater than bytes * 8, pads the value with zeros (as high bits).
sourcepub fn store_cell_data<T>(&mut self, value: T) -> Result<(), Error>where
T: Borrow<DynCell>,
pub fn store_cell_data<T>(&mut self, value: T) -> Result<(), Error>where T: Borrow<DynCell>,
Tries to store all data bits of the specified cell in the current cell,
returning false if there is not enough remaining capacity.
source§impl CellBuilder
impl CellBuilder
sourcepub fn compute_level(&self) -> u8
pub fn compute_level(&self) -> u8
Computes the cell level from the level mask.
sourcepub fn compute_level_mask(&self) -> LevelMask
pub fn compute_level_mask(&self) -> LevelMask
Computes the cell level mask from children.
sourcepub fn references(&self) -> &[Cell]
pub fn references(&self) -> &[Cell]
Returns a slice of the child cells stored in the builder.
sourcepub fn store_reference(&mut self, cell: Cell) -> Result<(), Error>
pub fn store_reference(&mut self, cell: Cell) -> Result<(), Error>
Tries to store a child in the cell,
returning false if there is not enough remaining capacity.
sourcepub fn set_references(&mut self, refs: CellRefsBuilder)
pub fn set_references(&mut self, refs: CellRefsBuilder)
Sets children of the cell.
sourcepub fn store_builder(&mut self, builder: &Self) -> Result<(), Error>
pub fn store_builder(&mut self, builder: &Self) -> Result<(), Error>
Tries to append a builder (its data and references),
returning false if there is not enough remaining capacity.
sourcepub fn store_slice<'a, T>(&mut self, value: T) -> Result<(), Error>where
T: Borrow<CellSlice<'a>>,
pub fn store_slice<'a, T>(&mut self, value: T) -> Result<(), Error>where T: Borrow<CellSlice<'a>>,
Tries to append a cell slice (its data and references),
returning false if there is not enough remaining capacity.