node/pkg/publicrpc: add GetCurrentGuardianSet RPC call
This is required for network explorers to know about missing guardians (the GetLastHeartbeats call won't contain those nodes at all). Change-Id: I28d8621023d79e6fa94c40f36a239c34aa12f1b0
This commit is contained in:
parent
576ff0cabf
commit
e9491d25f8
|
@ -113,3 +113,23 @@ func (s *PublicrpcServer) GetSignedVAA(ctx context.Context, req *publicrpcv1.Get
|
|||
VaaBytes: b,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *PublicrpcServer) GetCurrentGuardianSet(ctx context.Context, req *publicrpcv1.GetCurrentGuardianSetRequest) (*publicrpcv1.GetCurrentGuardianSetResponse, error) {
|
||||
gs := s.gst.Get()
|
||||
if gs == nil {
|
||||
return nil, status.Error(codes.Unavailable, "guardian set not fetched from chain yet")
|
||||
}
|
||||
|
||||
resp := &publicrpcv1.GetCurrentGuardianSetResponse{
|
||||
GuardianSet: &publicrpcv1.GuardianSet{
|
||||
Index: gs.Index,
|
||||
Addresses: make([]string, len(gs.Keys)),
|
||||
},
|
||||
}
|
||||
|
||||
for i, v := range gs.Keys {
|
||||
resp.GuardianSet.Addresses[i] = v.Hex()
|
||||
}
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
|
|
@ -50,6 +50,13 @@ service Publicrpc {
|
|||
get: "/v1/signed_vaa/{message_id.emitter_chain}/{message_id.emitter_address}/{message_id.sequence}"
|
||||
};
|
||||
}
|
||||
|
||||
rpc GetCurrentGuardianSet (GetCurrentGuardianSetRequest) returns (GetCurrentGuardianSetResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/guardianset/current"
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
message GetRawHeartbeatsRequest {
|
||||
|
@ -84,3 +91,17 @@ message GetLastHeartbeatResponse {
|
|||
|
||||
repeated Entry entries = 1;
|
||||
}
|
||||
|
||||
message GetCurrentGuardianSetRequest {
|
||||
}
|
||||
|
||||
message GetCurrentGuardianSetResponse {
|
||||
GuardianSet guardian_set = 1;
|
||||
}
|
||||
|
||||
message GuardianSet {
|
||||
// Guardian set index
|
||||
uint32 index = 1;
|
||||
// List of guardian addresses as human-readable hex-encoded (leading 0x) addresses.
|
||||
repeated string addresses = 2;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue