@@ -142,15 +142,15 @@ func (h *BlockHeader) LoadFromCell(loader *cell.Slice) error {
142
142
var infoPart blockInfoPart
143
143
err := LoadFromCell (& infoPart , loader )
144
144
if err != nil {
145
- return err
145
+ return fmt . Errorf ( "failed to load blockInfoPart: %w" , err )
146
146
}
147
147
h .blockInfoPart = infoPart
148
148
149
149
if infoPart .Flags & 1 == 1 {
150
150
var globalVer GlobalVersion
151
151
err = LoadFromCell (& globalVer , loader )
152
152
if err != nil {
153
- return err
153
+ return fmt . Errorf ( "failed to load GlobalVersion: %w" , err )
154
154
}
155
155
h .GenSoftware = & globalVer
156
156
}
@@ -163,29 +163,29 @@ func (h *BlockHeader) LoadFromCell(loader *cell.Slice) error {
163
163
}
164
164
err = LoadFromCell (& masterRef , l )
165
165
if err != nil {
166
- return err
166
+ return fmt . Errorf ( "failed to load ExtBlkRef: %w" , err )
167
167
}
168
168
h .MasterRef = & masterRef
169
169
}
170
170
171
171
l , err := loader .LoadRef ()
172
172
if err != nil {
173
- return err
173
+ return fmt . Errorf ( "failed to load ref for after merge: %w" , err )
174
174
}
175
175
prevRef , err := loadBlkPrevInfo (l , infoPart .AfterMerge )
176
176
if err != nil {
177
- return err
177
+ return fmt . Errorf ( "failed to loadBlkPrevInfo for after merge: %w" , err )
178
178
}
179
179
h .PrevRef = * prevRef
180
180
181
181
if infoPart .VertSeqnoIncr {
182
182
l , err := loader .LoadRef ()
183
183
if err != nil {
184
- return err
184
+ return fmt . Errorf ( "failed to load ref for vert incr: %w" , err )
185
185
}
186
186
prevVertRef , err := loadBlkPrevInfo (l , false )
187
187
if err != nil {
188
- return err
188
+ return fmt . Errorf ( "failed to loadBlkPrevInfo for prev vert ref: %w" , err )
189
189
}
190
190
h .PrevVertRef = prevVertRef
191
191
}
@@ -195,6 +195,12 @@ func (h *BlockHeader) LoadFromCell(loader *cell.Slice) error {
195
195
func loadBlkPrevInfo (loader * cell.Slice , afterMerge bool ) (* BlkPrevInfo , error ) {
196
196
var res BlkPrevInfo
197
197
198
+ if loader .IsSpecial () {
199
+ // TODO: rewrite BlockHeader to pure tlb loader
200
+ // if it is a proof we skip load
201
+ return & res , nil
202
+ }
203
+
198
204
if ! afterMerge {
199
205
var blkRef ExtBlkRef
200
206
err := LoadFromCell (& blkRef , loader )
0 commit comments