Neo OcLib

This commit is contained in:
mr
2026-05-27 16:24:35 +02:00
parent 276daa4486
commit 94d25501f9
3 changed files with 19 additions and 1 deletions
+16
View File
@@ -138,6 +138,7 @@ func (o *PeerController) Valid() {
o.ServeJSON()
return
} else if l.Data != nil && l.ToPeer().Verify && (l.ToPeer().Relation == peer.MASTER || l.ToPeer().Relation == peer.PENDING_MASTER) {
masterPeerID := l.ToPeer().PeerID
data := req.UpdateOne(map[string]interface{}{
"verify": false,
"relation": peer.MASTER,
@@ -152,6 +153,12 @@ func (o *PeerController) Valid() {
Payload: b,
})
}
// This node is now a NANO of the confirmed master: stamp its libp2p PeerID on self.
if self, serr := oclib.GetMySelf(); serr == nil && self != nil {
oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil).UpdateOne(map[string]interface{}{
"master_id": masterPeerID,
}, self.GetID())
}
o.Data["json"] = data
o.ServeJSON()
return
@@ -280,6 +287,7 @@ func (o *PeerController) changeRelation(id string, dest *peer.Peer, user string,
if dest.Verify && relation == peer.PENDING_NANO {
relation = peer.NANO
}
wasMaster := dest.Relation == peer.MASTER
data := request.UpdateOne(map[string]interface{}{
"relation": relation,
}, dest.GetID())
@@ -293,6 +301,14 @@ func (o *PeerController) changeRelation(id string, dest *peer.Peer, user string,
Payload: b,
})
}
// The peer was our master and is no longer — clear the MasterID on self.
if wasMaster {
if self, serr := oclib.GetMySelf(); serr == nil && self != nil {
oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil).UpdateOne(map[string]interface{}{
"master_id": "",
}, self.GetID())
}
}
if rRelation == peer.BLACKLIST {
request.UpdateOne(map[string]interface{}{
"relation": rRelation,