laconicd/proto/vulcanize/nameservice/v1beta1/query.proto

218 lines
7.5 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package vulcanize.nameservice.v1beta1;
import "vulcanize/nameservice/v1beta1/nameservice.proto";
import "google/api/annotations.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
import "gogoproto/gogo.proto";
import "cosmos/base/v1beta1/coin.proto";
option go_package = "github.com/cerc-io/laconicd/x/nameservice/types";
// Query defines the gRPC querier service for nameservice module
service Query {
// Params queries the nameservice module params.
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/params";
}
// List records
2022-10-10 10:38:33 +00:00
rpc ListRecords(QueryListRecordsRequest) returns (QueryListRecordsResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/records";
}
// Get record by id
2022-10-17 11:03:31 +00:00
rpc GetRecord(QueryRecordByIDRequest) returns (QueryRecordByIDResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/records/{id}";
}
// Get records by bond id
2022-10-17 11:03:31 +00:00
rpc GetRecordByBondID(QueryRecordByBondIDRequest) returns (QueryRecordByBondIDResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/records-by-bond-id/{id}";
}
// Get nameservice module balance
2022-10-10 10:38:33 +00:00
rpc GetNameServiceModuleBalance(GetNameServiceModuleBalanceRequest) returns (GetNameServiceModuleBalanceResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/balance";
}
// List name records
2022-10-10 10:38:33 +00:00
rpc ListNameRecords(QueryListNameRecordsRequest) returns (QueryListNameRecordsResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/names";
}
// Whois method retrieve the name authority info
2022-10-10 10:38:33 +00:00
rpc Whois(QueryWhoisRequest) returns (QueryWhoisResponse) {
option (google.api.http).get = "/vulcanize/nameservice/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) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/lookup";
}
2022-04-20 07:37:38 +00:00
// ResolveCrn
2022-10-10 10:38:33 +00:00
rpc ResolveCrn(QueryResolveCrn) returns (QueryResolveCrnResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/resolve";
}
// GetRecordExpiryQueue
2022-10-10 10:38:33 +00:00
rpc GetRecordExpiryQueue(QueryGetRecordExpiryQueue) returns (QueryGetRecordExpiryQueueResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/record-expiry";
}
// GetAuthorityExpiryQueue
2022-10-10 10:38:33 +00:00
rpc GetAuthorityExpiryQueue(QueryGetAuthorityExpiryQueue) returns (QueryGetAuthorityExpiryQueueResponse) {
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/authority-expiry";
}
}
// QueryParamsRequest is request type for nameservice params
2022-10-10 10:38:33 +00:00
message QueryParamsRequest {}
// QueryParamsResponse is response type for nameservice params
2022-10-10 10:38:33 +00:00
message QueryParamsResponse {
Params params = 1;
}
// QueryListRecordsRequest is request type for nameservice 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;
}
// QueryListRecordsResponse is response type for nameservice 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-10-17 11:03:31 +00:00
// QueryRecordByIDRequest is request type for nameservice records by id
message QueryRecordByIDRequest {
2022-10-10 10:38:33 +00:00
string id = 1;
}
2022-10-17 11:03:31 +00:00
// QueryRecordByIDResponse is response type for nameservice records by id
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;
}
// GetNameServiceModuleBalanceRequest is request type for nameservice module accounts balance
2022-10-10 10:38:33 +00:00
message GetNameServiceModuleBalanceRequest {}
// GetNameServiceModuleBalanceResponse is response type for nameservice module accounts balance
2022-10-10 10:38:33 +00:00
message GetNameServiceModuleBalanceResponse {
repeated AccountBalance balances = 1;
}
// AccountBalance is nameservice 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\""
];
}
// QueryListNameRecordsRequest is request type for nameservice 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;
}
// QueryListNameRecordsResponse is response type for nameservice 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;
}