From 13678f9d2febe03fd0c0347d39e012e7151d4d75 Mon Sep 17 00:00:00 2001 From: Gmin2 Date: Wed, 24 Jun 2026 16:57:57 +0530 Subject: [PATCH] validator: add GetCtips --- proto/cusf/mainchain/v1/validator.proto | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/proto/cusf/mainchain/v1/validator.proto b/proto/cusf/mainchain/v1/validator.proto index 163277f..2d36a51 100644 --- a/proto/cusf/mainchain/v1/validator.proto +++ b/proto/cusf/mainchain/v1/validator.proto @@ -101,6 +101,11 @@ service ValidatorService { rpc GetCtip(GetCtipRequest) returns (GetCtipResponse) { option idempotency_level = NO_SIDE_EFFECTS; } + // Fetches the Ctip for every active sidechain that has one, in a single + // request. Avoids calling GetCtip once per sidechain. + rpc GetCtips(GetCtipsRequest) returns (GetCtipsResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } rpc GetSidechainProposals(GetSidechainProposalsRequest) returns (GetSidechainProposalsResponse) { option idempotency_level = NO_SIDE_EFFECTS; } @@ -274,6 +279,19 @@ message GetCtipResponse { optional Ctip ctip = 1; } +message GetCtipsRequest {} +message GetCtipsResponse { + message Ctip { + google.protobuf.UInt32Value sidechain_number = 1; + cusf.common.v1.ReverseHex txid = 2; + uint32 vout = 3; + uint64 value = 4; + uint64 sequence_number = 5; + } + // One entry per active sidechain that has a Ctip. + repeated Ctip ctips = 1; +} + message GetSidechainProposalsRequest {} message GetSidechainProposalsResponse { message SidechainProposal {