diff --git a/libs/ibc-go/proto/icamauth/v1beta1/query.proto b/libs/ibc-go/proto/icamauth/v1beta1/query.proto new file mode 100644 index 0000000000..ca4563ab51 --- /dev/null +++ b/libs/ibc-go/proto/icamauth/v1beta1/query.proto @@ -0,0 +1,27 @@ +syntax = "proto3"; + +package gaia.icamauth.v1beta1; + +import "gogoproto/gogo.proto"; +import "google/api/annotations.proto"; + +option go_package = "github.com/okx/exchain/x/icamauth/types"; + +// Query defines the gRPC querier service. +service Query { + // QueryInterchainAccount returns the interchain account for given owner address on a given connection pair + rpc InterchainAccount(QueryInterchainAccountRequest) returns (QueryInterchainAccountResponse) { + option (google.api.http).get = "/gaia/icamauth/v1beta1/interchain_account/owner/{owner}/connection/{connection_id}"; + } +} + +// QueryInterchainAccountRequest is the request type for the Query/InterchainAccountAddress RPC +message QueryInterchainAccountRequest { + string owner = 1; + string connection_id = 2 [(gogoproto.moretags) = "yaml:\"connection_id\""]; +} + +// QueryInterchainAccountResponse the response type for the Query/InterchainAccountAddress RPC +message QueryInterchainAccountResponse { + string interchain_account_address = 1 [(gogoproto.moretags) = "yaml:\"interchain_account_address\""]; +} diff --git a/libs/ibc-go/proto/icamauth/v1beta1/tx.proto b/libs/ibc-go/proto/icamauth/v1beta1/tx.proto new file mode 100644 index 0000000000..c4e44f52c4 --- /dev/null +++ b/libs/ibc-go/proto/icamauth/v1beta1/tx.proto @@ -0,0 +1,42 @@ +syntax = "proto3"; + +package gaia.icamauth.v1beta1; + +option go_package = "github.com/okx/exchain/x/icamauth/types"; + +import "gogoproto/gogo.proto"; +import "google/protobuf/any.proto"; + +// Msg defines the ica Msg service. +service Msg { + // Register defines a rpc handler for MsgRegisterAccount + rpc RegisterAccount(MsgRegisterAccount) returns (MsgRegisterAccountResponse); + // SubmitTx defines a rpc handler for MsgSubmitTx + rpc SubmitTx(MsgSubmitTx) returns (MsgSubmitTxResponse); +} + +// MsgRegisterAccount defines the payload for Msg/RegisterAccount +message MsgRegisterAccount { + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string owner = 1; + string connection_id = 2 [(gogoproto.moretags) = "yaml:\"connection_id\""]; + string version = 3; +} + +// MsgRegisterAccountResponse defines the response for Msg/RegisterAccount +message MsgRegisterAccountResponse {} + +// MsgSubmitTx defines the payload for Msg/SubmitTx +message MsgSubmitTx { + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string owner = 1; + string connection_id = 2 [(gogoproto.moretags) = "yaml:\"connection_id\""]; + google.protobuf.Any msg = 3; +} + +// MsgSubmitTxResponse defines the response for Msg/SubmitTx +message MsgSubmitTxResponse {}