From 32ed742489bdd0709dbd4d2826c0830b4c56bc31 Mon Sep 17 00:00:00 2001 From: Cassandra Heart Date: Wed, 6 Nov 2024 23:04:40 -0600 Subject: [PATCH] fix rpc bug --- .../intrinsics/token/token_execution_engine.go | 4 ++++ node/rpc/node_rpc_server.go | 12 +++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/node/execution/intrinsics/token/token_execution_engine.go b/node/execution/intrinsics/token/token_execution_engine.go index fbca213..05faa06 100644 --- a/node/execution/intrinsics/token/token_execution_engine.go +++ b/node/execution/intrinsics/token/token_execution_engine.go @@ -840,6 +840,10 @@ func (e *TokenExecutionEngine) GetRingPosition() int { } tries := e.clock.GetFrameProverTries() + if len(tries) <= 1 { + return -1 + } + for i, trie := range tries[1:] { if trie.Contains(altAddr.FillBytes(make([]byte, 32))) { return i diff --git a/node/rpc/node_rpc_server.go b/node/rpc/node_rpc_server.go index 6a7a2ea..d72896a 100644 --- a/node/rpc/node_rpc_server.go +++ b/node/rpc/node_rpc_server.go @@ -166,9 +166,15 @@ func (r *RPCServer) GetNodeInfo( if head != nil { frame = head.FrameNumber } - seniority := r.executionEngines[0].GetSeniority() - ring := r.executionEngines[0].GetRingPosition() - + var seniority *big.Int + ring := -1 + if frame > 0 { + seniority = r.executionEngines[0].GetSeniority() + ring = r.executionEngines[0].GetRingPosition() + } + if seniority == nil { + seniority = big.NewInt(0) + } return &protobufs.NodeInfoResponse{ PeerId: peerID.String(), MaxFrame: frame,