syntax = "proto3";
package cyber.rank.v1beta1;

import "gogoproto/gogo.proto";
import "google/api/annotations.proto";

import "cyber/rank/v1beta1/types.proto";
import "cyber/rank/v1beta1/pagination.proto";

option go_package = "github.com/cybercongress/go-cyber/x/rank/types";

service Query {
  rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/rank/params";
  }

  rpc Rank(QueryRankRequest) returns (QueryRankResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/rank/rank/{particle}";
  }

  rpc Search(QuerySearchRequest) returns (QuerySearchResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/rank/search/{particle}";
  }

  rpc Backlinks(QuerySearchRequest) returns (QuerySearchResponse) {
    option (google.api.http).get =
        "/cyber/rank/v1beta1/rank/backlinks/{particle}";
  }

  rpc Top(QueryTopRequest) returns (QuerySearchResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/rank/top";
  }

  rpc IsLinkExist(QueryIsLinkExistRequest) returns (QueryLinkExistResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/is_link_exist";
  }

  rpc IsAnyLinkExist(QueryIsAnyLinkExistRequest)
      returns (QueryLinkExistResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/is_any_link_exist";
  }

  // Per-particle focus entropy: -pi*log2(pi) from the rank distribution.
  // Computed at query time, no state stored.
  rpc ParticleNegentropy(QueryNegentropyPartilceRequest)
      returns (QueryNegentropyParticleResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/negentropy/{particle}";
  }

  // System-wide negentropy: J(pi) = log2(n) - H(pi).
  // Measures how far the focus distribution deviates from uniform.
  // Computed at query time from current rank values, no state stored.
  rpc Negentropy(QueryNegentropyRequest) returns (QueryNegentropyResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/negentropy";
  }

  // Deprecated: karma removed. Stub kept for wire compatibility.
  rpc Karma(QueryKarmaRequest) returns (QueryKarmaResponse) {
    option (google.api.http).get = "/cyber/rank/v1beta1/karma/{neuron}";
  }
}

message QueryParamsRequest {}

message QueryParamsResponse {
  cyber.rank.v1beta1.Params params = 1 [ (gogoproto.nullable) = false ];
}

message QueryRankRequest { string particle = 1; }

message QueryRankResponse { uint64 rank = 1; }

message QuerySearchRequest {
  string particle = 1;
  cyber.rank.v1beta1.PageRequest pagination = 2;
}

message QuerySearchResponse {
  repeated RankedParticle result = 1 [ (gogoproto.nullable) = false ];
  cyber.rank.v1beta1.PageResponse pagination = 2;
}

message QueryTopRequest { cyber.rank.v1beta1.PageRequest pagination = 1; }

message QueryIsLinkExistRequest {
  string from = 1;
  string to = 2;
  string address = 3;
}

message QueryIsAnyLinkExistRequest {
  string from = 1;
  string to = 2;
}

message QueryLinkExistResponse { bool exist = 1; }

message QueryNegentropyPartilceRequest { string particle = 1; }
message QueryNegentropyParticleResponse { uint64 entropy = 1; }
message QueryNegentropyRequest {}
message QueryNegentropyResponse { uint64 negentropy = 1; }
// Deprecated: karma removed
message QueryKarmaRequest { string neuron = 1; }
message QueryKarmaResponse { uint64 karma = 1; }

Synonyms

go-cyber/proto/cyber/liquidity/v1beta1/query.proto
space-pussy/proto/cyber/grid/v1beta1/query.proto
go-cyber/proto/cyber/clock/v1/query.proto
space-pussy/proto/cyber/bandwidth/v1beta1/query.proto
go-cyber/proto/osmosis/tokenfactory/v1beta1/query.proto
go-cyber/proto/cyber/resources/v1beta1/query.proto
go-cyber/proto/cyber/grid/v1beta1/query.proto
space-pussy/proto/cyber/rank/v1beta1/query.proto
go-cyber/proto/cyber/bandwidth/v1beta1/query.proto
go-cyber/proto/cyber/graph/v1beta1/query.proto
space-pussy/proto/cyber/resources/v1beta1/query.proto
space-pussy/proto/cyber/graph/v1beta1/query.proto
space-pussy/proto/cyber/dmn/v1beta1/query.proto
go-cyber/proto/cyber/dmn/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/bank/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/mint/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/nft/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmwasm/wasm/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/bandwidth/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/feegrant/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/clock/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/app/v1alpha1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/liquidity/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/gov/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/distribution/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/dmn/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/osmosis/tokenfactory/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/authz/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/params/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/graph/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/staking/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/slashing/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/grid/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/resources/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/upgrade/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/gov/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cyber/rank/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/group/v1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/auth/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/evidence/v1beta1/query.proto
cyber-ts/packages/cyber-ts/proto/cosmos/base/tendermint/v1beta1/query.proto

Neighbours