|
|
@@ -76,18 +76,30 @@ func (c *lesCommons) makeProtocols(versions []uint) []p2p.Protocol {
|
|
|
// nodeInfo retrieves some protocol metadata about the running host node.
|
|
|
func (c *lesCommons) nodeInfo() interface{} {
|
|
|
var cht light.TrustedCheckpoint
|
|
|
- sections, _, sectionHead := c.chtIndexer.Sections()
|
|
|
- sections2, _, sectionHead2 := c.bloomTrieIndexer.Sections()
|
|
|
+ sections, _, _ := c.chtIndexer.Sections()
|
|
|
+ sections2, _, _ := c.bloomTrieIndexer.Sections()
|
|
|
+
|
|
|
+ if !c.protocolManager.lightSync {
|
|
|
+ // convert to client section size if running in server mode
|
|
|
+ sections /= light.CHTFrequencyClient / light.CHTFrequencyServer
|
|
|
+ }
|
|
|
+
|
|
|
if sections2 < sections {
|
|
|
sections = sections2
|
|
|
- sectionHead = sectionHead2
|
|
|
}
|
|
|
if sections > 0 {
|
|
|
sectionIndex := sections - 1
|
|
|
+ sectionHead := c.bloomTrieIndexer.SectionHead(sectionIndex)
|
|
|
+ var chtRoot common.Hash
|
|
|
+ if c.protocolManager.lightSync {
|
|
|
+ chtRoot = light.GetChtRoot(c.chainDb, sectionIndex, sectionHead)
|
|
|
+ } else {
|
|
|
+ chtRoot = light.GetChtV2Root(c.chainDb, sectionIndex, sectionHead)
|
|
|
+ }
|
|
|
cht = light.TrustedCheckpoint{
|
|
|
SectionIdx: sectionIndex,
|
|
|
SectionHead: sectionHead,
|
|
|
- CHTRoot: light.GetChtRoot(c.chainDb, sectionIndex, sectionHead),
|
|
|
+ CHTRoot: chtRoot,
|
|
|
BloomRoot: light.GetBloomTrieRoot(c.chainDb, sectionIndex, sectionHead),
|
|
|
}
|
|
|
}
|