mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Improve CellDb migration (#835)
* Fix deserializing cells * Use proxy actor * Add delays * Print stats every minute Co-authored-by: SpyCheese <mikle98@yandex.ru>
This commit is contained in:
parent
ace934ff35
commit
83efcebad0
6 changed files with 82 additions and 25 deletions
|
@ -930,7 +930,7 @@ unsigned long long BagOfCells::get_idx_entry_raw(int index) {
|
|||
*
|
||||
*/
|
||||
|
||||
td::Result<Ref<Cell>> std_boc_deserialize(td::Slice data, bool can_be_empty) {
|
||||
td::Result<Ref<Cell>> std_boc_deserialize(td::Slice data, bool can_be_empty, bool allow_nonzero_level) {
|
||||
if (data.empty() && can_be_empty) {
|
||||
return Ref<Cell>();
|
||||
}
|
||||
|
@ -946,7 +946,7 @@ td::Result<Ref<Cell>> std_boc_deserialize(td::Slice data, bool can_be_empty) {
|
|||
if (root.is_null()) {
|
||||
return td::Status::Error("bag of cells has null root cell (?)");
|
||||
}
|
||||
if (root->get_level() != 0) {
|
||||
if (!allow_nonzero_level && root->get_level() != 0) {
|
||||
return td::Status::Error("bag of cells has a root with non-zero level");
|
||||
}
|
||||
return std::move(root);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue