From 02da0231f1f106a130d814abf05a2cb67b726430 Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Fri, 27 Jan 2023 10:29:55 +0100 Subject: [PATCH] fix: allow value with slashes in URL template (#3045) (cherry picked from commit 002b2661649d2d85431ebf2e8d2c455193a7f174) # Conflicts: # modules/apps/transfer/types/query.pb.go # modules/apps/transfer/types/query.pb.gw.go --- modules/apps/transfer/types/query.pb.go | 49 +++++++++++++++++++ modules/apps/transfer/types/query.pb.gw.go | 8 +++ .../ibc/applications/transfer/v1/query.proto | 4 +- 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/modules/apps/transfer/types/query.pb.go b/modules/apps/transfer/types/query.pb.go index ed2fdc99145..c0282292bc9 100644 --- a/modules/apps/transfer/types/query.pb.go +++ b/modules/apps/transfer/types/query.pb.go @@ -523,6 +523,7 @@ func init() { } var fileDescriptor_a638e2800a01538c = []byte{ +<<<<<<< HEAD // 714 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xcd, 0x6e, 0xd3, 0x40, 0x10, 0x8e, 0x0b, 0x0d, 0xca, 0x84, 0xf6, 0xb0, 0x14, 0x5a, 0xac, 0xe2, 0x56, 0x56, 0x81, 0xd2, @@ -569,6 +570,54 @@ var fileDescriptor_a638e2800a01538c = []byte{ 0x81, 0xd5, 0x7f, 0xd3, 0xb7, 0x9d, 0x45, 0x8f, 0xe1, 0xd6, 0x2a, 0x6e, 0x30, 0xb7, 0x59, 0xa7, 0xfc, 0x3f, 0x12, 0xf1, 0x5e, 0x48, 0xb9, 0x5d, 0x14, 0x7f, 0xbd, 0xe5, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xc5, 0x80, 0x56, 0xcc, 0x07, 0x00, 0x00, +======= + // 718 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4f, 0x4f, 0xd4, 0x40, + 0x14, 0xdf, 0xa2, 0x2c, 0xd9, 0xb7, 0xc2, 0x61, 0x44, 0xc1, 0x06, 0x0b, 0x69, 0x50, 0xc9, 0x0a, + 0x1d, 0x97, 0x3f, 0xe2, 0x41, 0x0f, 0xe2, 0x5f, 0x8c, 0x07, 0x58, 0x3c, 0xe9, 0x81, 0x4c, 0xdb, + 0xb1, 0xdb, 0x64, 0xb7, 0x53, 0x3a, 0xdd, 0x35, 0x84, 0x70, 0xd1, 0x2f, 0x60, 0xc2, 0x97, 0x30, + 0x26, 0xc6, 0xaf, 0xe0, 0x91, 0x23, 0x89, 0x89, 0xf1, 0xa4, 0x06, 0xfc, 0x20, 0xa6, 0x33, 0xb3, + 0xbb, 0xad, 0x6c, 0x16, 0x7a, 0x9b, 0xce, 0xbc, 0xdf, 0x7b, 0xbf, 0xdf, 0xef, 0xbd, 0x97, 0xc2, + 0x9c, 0x6f, 0x3b, 0x98, 0x84, 0x61, 0xc3, 0x77, 0x48, 0xec, 0xb3, 0x80, 0xe3, 0x38, 0x22, 0x01, + 0x7f, 0x4b, 0x23, 0xdc, 0xae, 0xe2, 0x9d, 0x16, 0x8d, 0x76, 0xad, 0x30, 0x62, 0x31, 0x43, 0x53, + 0xbe, 0xed, 0x58, 0xe9, 0x48, 0xab, 0x13, 0x69, 0xb5, 0xab, 0xfa, 0xb8, 0xc7, 0x3c, 0x26, 0x02, + 0x71, 0x72, 0x92, 0x18, 0xbd, 0xe2, 0x30, 0xde, 0x64, 0x1c, 0xdb, 0x84, 0x53, 0x99, 0x0c, 0xb7, + 0xab, 0x36, 0x8d, 0x49, 0x15, 0x87, 0xc4, 0xf3, 0x03, 0x91, 0x48, 0xc5, 0xde, 0x1e, 0xc8, 0xa4, + 0x5b, 0x4b, 0x06, 0x4f, 0x79, 0x8c, 0x79, 0x0d, 0x8a, 0x49, 0xe8, 0x63, 0x12, 0x04, 0x2c, 0x56, + 0x94, 0xc4, 0xab, 0x39, 0x0f, 0x57, 0x37, 0x93, 0x62, 0x8f, 0x69, 0xc0, 0x9a, 0xaf, 0x22, 0xe2, + 0xd0, 0x1a, 0xdd, 0x69, 0x51, 0x1e, 0x23, 0x04, 0x17, 0xeb, 0x84, 0xd7, 0x27, 0xb5, 0x19, 0x6d, + 0xae, 0x54, 0x13, 0x67, 0xd3, 0x85, 0x89, 0x53, 0xd1, 0x3c, 0x64, 0x01, 0xa7, 0x68, 0x1d, 0xca, + 0x6e, 0x72, 0xbb, 0x1d, 0x27, 0xd7, 0x02, 0x55, 0x5e, 0x9c, 0xb3, 0x06, 0x39, 0x61, 0xa5, 0xd2, + 0x80, 0xdb, 0x3d, 0x9b, 0xe4, 0x54, 0x15, 0xde, 0x21, 0xf5, 0x14, 0xa0, 0xe7, 0x86, 0x2a, 0x72, + 0xd3, 0x92, 0xd6, 0x59, 0x89, 0x75, 0x96, 0xec, 0x83, 0xb2, 0xce, 0xda, 0x20, 0x5e, 0x47, 0x50, + 0x2d, 0x85, 0x34, 0xbf, 0x69, 0x30, 0x79, 0xba, 0x86, 0x92, 0xf2, 0x06, 0x2e, 0xa5, 0xa4, 0xf0, + 0x49, 0x6d, 0xe6, 0x42, 0x1e, 0x2d, 0x6b, 0x63, 0x87, 0xbf, 0xa6, 0x0b, 0x9f, 0x7f, 0x4f, 0x17, + 0x55, 0xde, 0x72, 0x4f, 0x1b, 0x47, 0xcf, 0x32, 0x0a, 0x86, 0x84, 0x82, 0x5b, 0x67, 0x2a, 0x90, + 0xcc, 0x32, 0x12, 0xc6, 0x01, 0x09, 0x05, 0x1b, 0x24, 0x22, 0xcd, 0x8e, 0x41, 0xe6, 0x16, 0x5c, + 0xce, 0xdc, 0x2a, 0x49, 0xf7, 0xa1, 0x18, 0x8a, 0x1b, 0xe5, 0xd9, 0xec, 0x60, 0x31, 0x0a, 0xad, + 0x30, 0xe6, 0x02, 0x5c, 0xe9, 0x99, 0xf5, 0x9c, 0xf0, 0x7a, 0xa7, 0x1d, 0xe3, 0x30, 0xdc, 0x6b, + 0x77, 0xa9, 0x26, 0x3f, 0xb2, 0x33, 0x25, 0xc3, 0x15, 0x8d, 0x7e, 0x33, 0xb5, 0x05, 0xd7, 0x44, + 0xf4, 0x13, 0xee, 0x44, 0xec, 0xdd, 0x43, 0xd7, 0x8d, 0x28, 0xef, 0xf6, 0x7b, 0x02, 0x46, 0x42, + 0x16, 0xc5, 0xdb, 0xbe, 0xab, 0x30, 0xc5, 0xe4, 0x73, 0xdd, 0x45, 0xd7, 0x01, 0x9c, 0x3a, 0x09, + 0x02, 0xda, 0x48, 0xde, 0x86, 0xc4, 0x5b, 0x49, 0xdd, 0xac, 0xbb, 0xe6, 0x23, 0xd0, 0xfb, 0x25, + 0x55, 0x34, 0x6e, 0xc0, 0x18, 0x15, 0x0f, 0xdb, 0x44, 0xbe, 0xa8, 0xe4, 0xa3, 0x34, 0x1d, 0xbe, + 0xf8, 0x61, 0x04, 0x86, 0x45, 0x16, 0xf4, 0x55, 0x03, 0xe8, 0x35, 0x18, 0x2d, 0x0f, 0x76, 0xaf, + 0xff, 0x42, 0xe9, 0x2b, 0x39, 0x51, 0x92, 0xac, 0xb9, 0xfc, 0xfe, 0xfb, 0xdf, 0x83, 0x21, 0x0b, + 0xcd, 0x63, 0xb5, 0xf5, 0xd9, 0x6d, 0x4f, 0x4f, 0x2a, 0xde, 0x4b, 0x1c, 0x7d, 0x50, 0xa9, 0xec, + 0xa3, 0x4f, 0x1a, 0x94, 0x53, 0xb3, 0x8d, 0xf2, 0x15, 0xef, 0xf8, 0xaf, 0xdf, 0xcd, 0x0b, 0x53, + 0xa4, 0x2b, 0x82, 0xf4, 0x2c, 0x32, 0xcf, 0x26, 0x8d, 0x0e, 0x34, 0x28, 0xca, 0x81, 0x43, 0x77, + 0xce, 0x51, 0x2e, 0x33, 0xef, 0x7a, 0x35, 0x07, 0x42, 0x71, 0x9b, 0x15, 0xdc, 0x0c, 0x34, 0xd5, + 0x9f, 0x9b, 0x9c, 0x79, 0xf4, 0x45, 0x83, 0x52, 0x77, 0x80, 0xd1, 0xd2, 0x79, 0x7d, 0x48, 0x6d, + 0x87, 0xbe, 0x9c, 0x0f, 0xa4, 0xe8, 0xad, 0x08, 0x7a, 0x18, 0x2d, 0x0c, 0xb2, 0x2e, 0xe9, 0x73, + 0xd2, 0x6f, 0x61, 0xa1, 0x68, 0xf8, 0x0f, 0x0d, 0x46, 0x33, 0xd3, 0x8e, 0x56, 0xcf, 0x51, 0xbe, + 0xdf, 0xd2, 0xe9, 0xf7, 0xf2, 0x03, 0x15, 0xf7, 0x9a, 0xe0, 0xfe, 0x12, 0xbd, 0xe8, 0xcf, 0x5d, + 0xed, 0x27, 0xc7, 0x7b, 0xbd, 0xdd, 0xdd, 0xc7, 0xc9, 0x46, 0x73, 0xbc, 0xa7, 0xf6, 0x7c, 0x1f, + 0x67, 0x57, 0x73, 0x6d, 0xf3, 0xf0, 0xd8, 0xd0, 0x8e, 0x8e, 0x0d, 0xed, 0xcf, 0xb1, 0xa1, 0x7d, + 0x3c, 0x31, 0x0a, 0x47, 0x27, 0x46, 0xe1, 0xe7, 0x89, 0x51, 0x78, 0xbd, 0xea, 0xf9, 0x71, 0xbd, + 0x65, 0x5b, 0x0e, 0x6b, 0x62, 0xf5, 0xf7, 0xf4, 0x6d, 0x67, 0xc1, 0x63, 0xb8, 0xbd, 0x8a, 0x9b, + 0xcc, 0x6d, 0x35, 0x28, 0xff, 0x8f, 0x44, 0xbc, 0x1b, 0x52, 0x6e, 0x17, 0xc5, 0xbf, 0x6f, 0xe9, + 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x47, 0x7a, 0xbb, 0x0b, 0xd2, 0x07, 0x00, 0x00, +>>>>>>> 002b2661 (fix: allow value with slashes in URL template (#3045)) } // Reference imports to suppress errors if they are not otherwise used. diff --git a/modules/apps/transfer/types/query.pb.gw.go b/modules/apps/transfer/types/query.pb.gw.go index 71474a1b2fc..15d6bcbd413 100644 --- a/modules/apps/transfer/types/query.pb.gw.go +++ b/modules/apps/transfer/types/query.pb.gw.go @@ -520,13 +520,21 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( +<<<<<<< HEAD pattern_Query_DenomTrace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ibc", "apps", "transfer", "v1", "denom_traces", "hash"}, "", runtime.AssumeColonVerbOpt(true))) +======= + pattern_Query_DenomTrace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 3, 0, 4, 1, 5, 5}, []string{"ibc", "apps", "transfer", "v1", "denom_traces", "hash"}, "", runtime.AssumeColonVerbOpt(false))) +>>>>>>> 002b2661 (fix: allow value with slashes in URL template (#3045)) pattern_Query_DenomTraces_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ibc", "apps", "transfer", "v1", "denom_traces"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ibc", "apps", "transfer", "v1", "params"}, "", runtime.AssumeColonVerbOpt(true))) +<<<<<<< HEAD pattern_Query_DenomHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ibc", "apps", "transfer", "v1", "denom_hashes", "trace"}, "", runtime.AssumeColonVerbOpt(true))) +======= + pattern_Query_DenomHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 3, 0, 4, 1, 5, 5}, []string{"ibc", "apps", "transfer", "v1", "denom_hashes", "trace"}, "", runtime.AssumeColonVerbOpt(false))) +>>>>>>> 002b2661 (fix: allow value with slashes in URL template (#3045)) pattern_Query_EscrowAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"ibc", "apps", "transfer", "v1", "channels", "channel_id", "ports", "port_id", "escrow_address"}, "", runtime.AssumeColonVerbOpt(true))) ) diff --git a/proto/ibc/applications/transfer/v1/query.proto b/proto/ibc/applications/transfer/v1/query.proto index 5b877832440..6afb7004025 100644 --- a/proto/ibc/applications/transfer/v1/query.proto +++ b/proto/ibc/applications/transfer/v1/query.proto @@ -13,7 +13,7 @@ option go_package = "github.com/cosmos/ibc-go/v5/modules/apps/transfer/types"; service Query { // DenomTrace queries a denomination trace information. rpc DenomTrace(QueryDenomTraceRequest) returns (QueryDenomTraceResponse) { - option (google.api.http).get = "/ibc/apps/transfer/v1/denom_traces/{hash}"; + option (google.api.http).get = "/ibc/apps/transfer/v1/denom_traces/{hash=**}"; } // DenomTraces queries all denomination traces. @@ -28,7 +28,7 @@ service Query { // DenomHash queries a denomination hash information. rpc DenomHash(QueryDenomHashRequest) returns (QueryDenomHashResponse) { - option (google.api.http).get = "/ibc/apps/transfer/v1/denom_hashes/{trace}"; + option (google.api.http).get = "/ibc/apps/transfer/v1/denom_hashes/{trace=**}"; } // EscrowAddress returns the escrow address for a particular port and channel id.