syntax = "proto3"; package cosmwasm.wasm.v1; import "gogoproto/gogo.proto"; import "wasm/v1/types.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; option go_package = "github.com/cerc-io/laconicd/x/wasm/types"; option (gogoproto.goproto_getters_all) = false; option (gogoproto.equal_all) = false; // Query provides defines the gRPC querier service service Query { // ContractInfo gets the contract meta data rpc ContractInfo(QueryContractInfoRequest) returns (QueryContractInfoResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/contract/{address}"; } // ContractHistory gets the contract code history rpc ContractHistory(QueryContractHistoryRequest) returns (QueryContractHistoryResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/contract/{address}/history"; } // ContractsByCode lists all smart contracts for a code id rpc ContractsByCode(QueryContractsByCodeRequest) returns (QueryContractsByCodeResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/code/{code_id}/contracts"; } // AllContractState gets all raw store data for a single contract rpc AllContractState(QueryAllContractStateRequest) returns (QueryAllContractStateResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/contract/{address}/state"; } // RawContractState gets single key from the raw store data of a contract rpc RawContractState(QueryRawContractStateRequest) returns (QueryRawContractStateResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/contract/{address}/raw/{query_data}"; } // SmartContractState get smart query result from the contract rpc SmartContractState(QuerySmartContractStateRequest) returns (QuerySmartContractStateResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/contract/{address}/smart/{query_data}"; } // Code gets the binary code and metadata for a singe wasm code rpc Code(QueryCodeRequest) returns (QueryCodeResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/code/{code_id}"; } // Codes gets the metadata for all stored wasm codes rpc Codes(QueryCodesRequest) returns (QueryCodesResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/code"; } // PinnedCodes gets the pinned code ids rpc PinnedCodes(QueryPinnedCodesRequest) returns (QueryPinnedCodesResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/codes/pinned"; } // Params gets the module params rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/codes/params"; } // ContractsByCreator gets the contracts by creator rpc ContractsByCreator(QueryContractsByCreatorRequest) returns (QueryContractsByCreatorResponse) { option (google.api.http).get = "/cosmwasm/wasm/v1/contracts/creator/{creator_address}"; } } // QueryContractInfoRequest is the request type for the Query/ContractInfo RPC // method message QueryContractInfoRequest { // address is the address of the contract to query string address = 1; } // QueryContractInfoResponse is the response type for the Query/ContractInfo RPC // method message QueryContractInfoResponse { option (gogoproto.equal) = true; // address is the address of the contract string address = 1; ContractInfo contract_info = 2 [ (gogoproto.embed) = true, (gogoproto.nullable) = false, (gogoproto.jsontag) = "" ]; } // QueryContractHistoryRequest is the request type for the Query/ContractHistory // RPC method message QueryContractHistoryRequest { // address is the address of the contract to query string address = 1; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryContractHistoryResponse is the response type for the // Query/ContractHistory RPC method message QueryContractHistoryResponse { repeated ContractCodeHistoryEntry entries = 1 [ (gogoproto.nullable) = false ]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryContractsByCodeRequest is the request type for the Query/ContractsByCode // RPC method message QueryContractsByCodeRequest { uint64 code_id = 1; // grpc-gateway_out does not support Go style CodID // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryContractsByCodeResponse is the response type for the // Query/ContractsByCode RPC method message QueryContractsByCodeResponse { // contracts are a set of contract addresses repeated string contracts = 1; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryAllContractStateRequest is the request type for the // Query/AllContractState RPC method message QueryAllContractStateRequest { // address is the address of the contract string address = 1; // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryAllContractStateResponse is the response type for the // Query/AllContractState RPC method message QueryAllContractStateResponse { repeated Model models = 1 [ (gogoproto.nullable) = false ]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryRawContractStateRequest is the request type for the // Query/RawContractState RPC method message QueryRawContractStateRequest { // address is the address of the contract string address = 1; bytes query_data = 2; } // QueryRawContractStateResponse is the response type for the // Query/RawContractState RPC method message QueryRawContractStateResponse { // Data contains the raw store data bytes data = 1; } // QuerySmartContractStateRequest is the request type for the // Query/SmartContractState RPC method message QuerySmartContractStateRequest { // address is the address of the contract string address = 1; // QueryData contains the query data passed to the contract bytes query_data = 2 [ (gogoproto.casttype) = "RawContractMessage" ]; } // QuerySmartContractStateResponse is the response type for the // Query/SmartContractState RPC method message QuerySmartContractStateResponse { // Data contains the json data returned from the smart contract bytes data = 1 [ (gogoproto.casttype) = "RawContractMessage" ]; } // QueryCodeRequest is the request type for the Query/Code RPC method message QueryCodeRequest { uint64 code_id = 1; // grpc-gateway_out does not support Go style CodID } // CodeInfoResponse contains code meta data from CodeInfo message CodeInfoResponse { option (gogoproto.equal) = true; uint64 code_id = 1 [ (gogoproto.customname) = "CodeID", (gogoproto.jsontag) = "id" ]; // id for legacy support string creator = 2; bytes data_hash = 3 [ (gogoproto.casttype) = "github.com/tendermint/tendermint/libs/bytes.HexBytes" ]; // Used in v1beta1 reserved 4, 5; AccessConfig instantiate_permission = 6 [ (gogoproto.nullable) = false ]; } // QueryCodeResponse is the response type for the Query/Code RPC method message QueryCodeResponse { option (gogoproto.equal) = true; CodeInfoResponse code_info = 1 [ (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; bytes data = 2 [ (gogoproto.jsontag) = "data" ]; } // QueryCodesRequest is the request type for the Query/Codes RPC method message QueryCodesRequest { // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 1; } // QueryCodesResponse is the response type for the Query/Codes RPC method message QueryCodesResponse { repeated CodeInfoResponse code_infos = 1 [ (gogoproto.nullable) = false ]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryPinnedCodesRequest is the request type for the Query/PinnedCodes // RPC method message QueryPinnedCodesRequest { // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryPinnedCodesResponse is the response type for the // Query/PinnedCodes RPC method message QueryPinnedCodesResponse { repeated uint64 code_ids = 1 [ (gogoproto.nullable) = false, (gogoproto.customname) = "CodeIDs" ]; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } // QueryParamsRequest is the request type for the Query/Params RPC method. message QueryParamsRequest {} // QueryParamsResponse is the response type for the Query/Params RPC method. message QueryParamsResponse { // params defines the parameters of the module. Params params = 1 [ (gogoproto.nullable) = false ]; } // QueryContractsByCreatorRequest is the request type for the // Query/ContractsByCreator RPC method. message QueryContractsByCreatorRequest { // CreatorAddress is the address of contract creator string creator_address = 1; // Pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } // QueryContractsByCreatorResponse is the response type for the // Query/ContractsByCreator RPC method. message QueryContractsByCreatorResponse { // ContractAddresses result set repeated string contract_addresses = 1; // Pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; }