laconicd/proto/vulcanize/registry/v1beta1/query.proto

218 lines
7.4 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
2022-12-09 04:17:14 +00:00
package vulcanize.registry.v1beta1;
2022-12-09 04:17:14 +00:00
import "vulcanize/registry/v1beta1/registry.proto";
import "google/api/annotations.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
import "gogoproto/gogo.proto";
import "cosmos/base/v1beta1/coin.proto";
2022-12-09 04:17:14 +00:00
option go_package = "github.com/cerc-io/laconicd/x/registry/types";
2022-12-09 04:17:14 +00:00
// Query defines the gRPC querier service for registry module
service Query {
2022-12-09 04:17:14 +00:00
// Params queries the registry module params.
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/params";
}
// List records
2022-10-10 10:38:33 +00:00
rpc ListRecords(QueryListRecordsRequest) returns (QueryListRecordsResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/records";
}
// Get record by id
2022-10-17 11:03:31 +00:00
rpc GetRecord(QueryRecordByIDRequest) returns (QueryRecordByIDResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/records/{id}";
}
// Get records by bond id
2022-10-17 11:03:31 +00:00
rpc GetRecordByBondID(QueryRecordByBondIDRequest) returns (QueryRecordByBondIDResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/records-by-bond-id/{id}";
}
2022-12-09 04:17:14 +00:00
// Get registry module balance
rpc GetRegistryModuleBalance(GetRegistryModuleBalanceRequest) returns (GetRegistryModuleBalanceResponse) {
option (google.api.http).get = "/vulcanize/registry/v1beta1/balance";
}
// List name records
2022-10-10 10:38:33 +00:00
rpc ListNameRecords(QueryListNameRecordsRequest) returns (QueryListNameRecordsResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/names";
}
// Whois method retrieve the name authority info
2022-10-10 10:38:33 +00:00
rpc Whois(QueryWhoisRequest) returns (QueryWhoisResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/whois/{name}";
}
2022-04-20 07:37:38 +00:00
// LookupCrn
2022-10-10 10:38:33 +00:00
rpc LookupCrn(QueryLookupCrn) returns (QueryLookupCrnResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/lookup";
}
2022-04-20 07:37:38 +00:00
// ResolveCrn
2022-10-10 10:38:33 +00:00
rpc ResolveCrn(QueryResolveCrn) returns (QueryResolveCrnResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/resolve";
}
// GetRecordExpiryQueue
2022-10-10 10:38:33 +00:00
rpc GetRecordExpiryQueue(QueryGetRecordExpiryQueue) returns (QueryGetRecordExpiryQueueResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/record-expiry";
}
// GetAuthorityExpiryQueue
2022-10-10 10:38:33 +00:00
rpc GetAuthorityExpiryQueue(QueryGetAuthorityExpiryQueue) returns (QueryGetAuthorityExpiryQueueResponse) {
2022-12-09 04:17:14 +00:00
option (google.api.http).get = "/vulcanize/registry/v1beta1/authority-expiry";
}
}
2022-12-09 04:17:14 +00:00
// QueryParamsRequest is request type for registry params
2022-10-10 10:38:33 +00:00
message QueryParamsRequest {}
2022-12-09 04:17:14 +00:00
// QueryParamsResponse is response type for registry params
2022-10-10 10:38:33 +00:00
message QueryParamsResponse {
Params params = 1;
}
2022-12-09 04:17:14 +00:00
// QueryListRecordsRequest is request type for registry records list
2022-10-10 10:38:33 +00:00
message QueryListRecordsRequest {
message ReferenceInput {
string id = 1;
}
message ValueInput {
2022-10-10 10:38:33 +00:00
string type = 1;
string string = 2;
int64 int = 3;
double float = 4;
bool boolean = 5;
ReferenceInput reference = 6;
repeated ValueInput values = 7;
}
message KeyValueInput {
2022-10-10 10:38:33 +00:00
string key = 1;
ValueInput value = 2;
}
repeated KeyValueInput attributes = 1;
bool all = 2;
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 3;
}
2022-12-09 04:17:14 +00:00
// QueryListRecordsResponse is response type for registry records list
2022-10-10 10:38:33 +00:00
message QueryListRecordsResponse {
repeated Record records = 1 [(gogoproto.nullable) = false];
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
2022-12-09 04:17:14 +00:00
// QueryRecordByIDRequest is request type for registry records by id
2022-10-17 11:03:31 +00:00
message QueryRecordByIDRequest {
2022-10-10 10:38:33 +00:00
string id = 1;
}
2022-12-09 04:17:14 +00:00
// QueryRecordByIDResponse is response type for registry records by id
2022-10-17 11:03:31 +00:00
message QueryRecordByIDResponse {
2022-10-10 10:38:33 +00:00
Record record = 1 [(gogoproto.nullable) = false];
}
// QueryRecordByBondIdRequest is request type for get the records by bond-id
2022-10-17 11:03:31 +00:00
message QueryRecordByBondIDRequest {
string id = 1;
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
// QueryRecordByBondIdResponse is response type for records list by bond-id
2022-10-17 11:03:31 +00:00
message QueryRecordByBondIDResponse {
2022-10-10 10:38:33 +00:00
repeated Record records = 1 [(gogoproto.nullable) = false];
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
2022-12-09 04:17:14 +00:00
// GetRegistryModuleBalanceRequest is request type for registry module accounts balance
message GetRegistryModuleBalanceRequest {}
2022-12-09 04:17:14 +00:00
// GetRegistryModuleBalanceResponse is response type for registry module accounts balance
message GetRegistryModuleBalanceResponse {
repeated AccountBalance balances = 1;
}
2022-12-09 04:17:14 +00:00
// AccountBalance is registry module account balance
message AccountBalance {
2022-10-10 10:38:33 +00:00
string account_name = 1 [(gogoproto.moretags) = "json:\"accountName\" yaml:\"accountName\""];
repeated cosmos.base.v1beta1.Coin balance = 3 [
2022-10-10 10:38:33 +00:00
(gogoproto.nullable) = false,
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins",
2022-10-10 10:38:33 +00:00
(gogoproto.moretags) = "json:\"balance\" yaml:\"balance\""
];
}
2022-12-09 04:17:14 +00:00
// QueryListNameRecordsRequest is request type for registry names records
2022-10-10 10:38:33 +00:00
message QueryListNameRecordsRequest {
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 1;
}
2022-12-09 04:17:14 +00:00
// QueryListNameRecordsResponse is response type for registry names records
2022-10-10 10:38:33 +00:00
message QueryListNameRecordsResponse {
repeated NameEntry names = 1 [(gogoproto.nullable) = false];
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
// QueryWhoisRequest is request type for Get NameAuthority
2022-10-10 10:38:33 +00:00
message QueryWhoisRequest {
string name = 1;
}
// QueryWhoisResponse is response type for whois request
2022-10-10 10:38:33 +00:00
message QueryWhoisResponse {
NameAuthority name_authority = 1
[(gogoproto.nullable) = false, (gogoproto.moretags) = "json:\"nameAuthority\" yaml:\"nameAuthority\""];
}
2022-04-20 07:37:38 +00:00
// QueryLookupCrn is request type for LookupCrn
2022-10-10 10:38:33 +00:00
message QueryLookupCrn {
2022-04-20 07:37:38 +00:00
string crn = 1;
}
2022-04-20 07:37:38 +00:00
// QueryLookupCrnResponse is response type for QueryLookupCrn
2022-10-10 10:38:33 +00:00
message QueryLookupCrnResponse {
NameRecord name = 1;
}
2022-04-20 07:37:38 +00:00
// QueryResolveCrn is request type for ResolveCrn
2022-10-10 10:38:33 +00:00
message QueryResolveCrn {
2022-04-20 07:37:38 +00:00
string crn = 1;
}
2022-04-20 07:37:38 +00:00
// QueryResolveCrnResponse is response type for QueryResolveCrn
2022-10-10 10:38:33 +00:00
message QueryResolveCrnResponse {
Record record = 1;
}
// QueryGetRecordExpiryQueue
2022-10-10 10:38:33 +00:00
message QueryGetRecordExpiryQueue {
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 1;
}
// QueryGetRecordExpiryQueueResponse
2022-10-10 10:38:33 +00:00
message QueryGetRecordExpiryQueueResponse {
repeated ExpiryQueueRecord records = 1;
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}
// ExpiryQueueRecord
2022-10-10 10:38:33 +00:00
message ExpiryQueueRecord {
string id = 1;
repeated string value = 2;
}
// QueryGetAuthorityExpiryQueue
2022-10-10 10:38:33 +00:00
message QueryGetAuthorityExpiryQueue {
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 1;
}
// QueryGetAuthorityExpiryQueueResponse
2022-10-10 10:38:33 +00:00
message QueryGetAuthorityExpiryQueueResponse {
repeated ExpiryQueueRecord authorities = 1;
// pagination defines the pagination in the response.
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}