aboutsummaryrefslogtreecommitdiffstats
path: root/les/commons.go
diff options
context:
space:
mode:
Diffstat (limited to 'les/commons.go')
-rw-r--r--les/commons.go20
1 files changed, 16 insertions, 4 deletions
diff --git a/les/commons.go b/les/commons.go
index 251b7a583..d8e941295 100644
--- a/les/commons.go
+++ b/les/commons.go
@@ -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),
}
}