From c2d91064bbfa723ceef113e72fe0853f52693cec Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 10:25:22 +0000 Subject: [PATCH 01/19] started working on the reverse search for app links --- x/profiles/keeper/keeper_app_links.go | 6 ++++-- x/profiles/types/keys.go | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/x/profiles/keeper/keeper_app_links.go b/x/profiles/keeper/keeper_app_links.go index c490df33fb..4be57aae04 100644 --- a/x/profiles/keeper/keeper_app_links.go +++ b/x/profiles/keeper/keeper_app_links.go @@ -22,11 +22,13 @@ func (k Keeper) SaveApplicationLink(ctx sdk.Context, link types.ApplicationLink) // Get the keys userApplicationLinkKey := types.UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username) applicationLinkClientIDKey := types.ApplicationLinkClientIDKey(link.OracleRequest.ClientID) + applicationOwnerKey := types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User) // Store the data store := ctx.KVStore(k.storeKey) store.Set(userApplicationLinkKey, types.MustMarshalApplicationLink(k.cdc, link)) store.Set(applicationLinkClientIDKey, userApplicationLinkKey) + store.Set(applicationOwnerKey, []byte(link.User)) ctx.EventManager().EmitEvent( sdk.NewEvent( @@ -105,6 +107,7 @@ func (k Keeper) DeleteApplicationLink(ctx sdk.Context, user string, application, store := ctx.KVStore(k.storeKey) store.Delete(types.UserApplicationLinkKey(user, application, username)) store.Delete(types.ApplicationLinkClientIDKey(link.OracleRequest.ClientID)) + store.Delete(types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User)) return nil } @@ -117,8 +120,7 @@ func (k Keeper) DeleteAllUserApplicationLinks(ctx sdk.Context, user string) { return false }) - store := ctx.KVStore(k.storeKey) for _, link := range links { - store.Delete(types.UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username)) + _ = k.DeleteApplicationLink(ctx, link.User, link.Data.Application, link.User) } } diff --git a/x/profiles/types/keys.go b/x/profiles/types/keys.go index 53b613d933..bddb02b9c7 100644 --- a/x/profiles/types/keys.go +++ b/x/profiles/types/keys.go @@ -40,6 +40,7 @@ var ( ChainLinksPrefix = []byte{0x12} ApplicationLinkPrefix = []byte{0x13} ApplicationLinkClientIDPrefix = []byte{0x14} + ApplicationLinkAppPrefix = []byte{0x15} ) // DTagStoreKey turns a DTag into the key used to store the address associated with it into the store @@ -96,3 +97,21 @@ func UserApplicationLinkKey(user, application, username string) []byte { func ApplicationLinkClientIDKey(clientID string) []byte { return append(ApplicationLinkClientIDPrefix, []byte(clientID)...) } + +// ApplicationLinkAppKey returns the key used to store all the application +// links associated to the given application +func ApplicationLinkAppKey(application string) []byte { + return append(ApplicationLinkAppPrefix, []byte(application)...) +} + +// ApplicationLinkAppUsernameKey returns the key used to store all the application +// links for the given application and username +func ApplicationLinkAppUsernameKey(application, username string) []byte { + return append(ApplicationLinkAppKey(application), []byte(username)...) +} + +// ApplicationLinkOwnerKey returns the key used to store the given owner associating it to the application link +// having the provided application and username +func ApplicationLinkOwnerKey(application, username, owner string) []byte { + return append(ApplicationLinkAppUsernameKey(application, username), []byte(owner)...) +} From 45ed1674aaed666accffb2b40496476cae2a8f83 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 12:01:25 +0000 Subject: [PATCH 02/19] fix: fixed how chain links and app links are deleted --- x/profiles/keeper/keeper_app_links.go | 32 ++-- x/profiles/keeper/keeper_app_links_test.go | 124 ++++++++++---- x/profiles/keeper/keeper_chain_links.go | 22 +-- x/profiles/keeper/keeper_chain_links_test.go | 167 ++++++++++++++----- x/profiles/keeper/msg_server_app_link.go | 10 +- x/profiles/keeper/msg_server_chain_link.go | 11 +- x/profiles/legacy/v1beta1/store.go | 28 +--- x/profiles/legacy/v1beta1/store_test.go | 32 +++- 8 files changed, 277 insertions(+), 149 deletions(-) diff --git a/x/profiles/keeper/keeper_app_links.go b/x/profiles/keeper/keeper_app_links.go index c490df33fb..3c80861803 100644 --- a/x/profiles/keeper/keeper_app_links.go +++ b/x/profiles/keeper/keeper_app_links.go @@ -40,6 +40,12 @@ func (k Keeper) SaveApplicationLink(ctx sdk.Context, link types.ApplicationLink) return nil } +// HasApplicationLink tells whether the given application link exists +func (k Keeper) HasApplicationLink(ctx sdk.Context, user, application, username string) bool { + store := ctx.KVStore(k.storeKey) + return store.Has(types.UserApplicationLinkKey(user, application, username)) +} + // GetApplicationLink returns the link for the given application and username. // If the link is not found returns an error instead. func (k Keeper) GetApplicationLink(ctx sdk.Context, user, application, username string) (types.ApplicationLink, bool, error) { @@ -86,27 +92,10 @@ func (k Keeper) GetApplicationLinkByClientID(ctx sdk.Context, clientID string) ( // DeleteApplicationLink removes the application link associated to the given user, // for the given application and username -func (k Keeper) DeleteApplicationLink(ctx sdk.Context, user string, application, username string) error { - // Get the link to obtain the client id - link, found, err := k.GetApplicationLink(ctx, user, application, username) - if err != nil { - return err - } - - if !found { - return sdkerrors.Wrap(sdkerrors.ErrNotFound, "application link not found") - } - - if link.User != user { - return sdkerrors.Wrap(sdkerrors.ErrorInvalidSigner, "cannot delete the application link of another user") - } - - // Delete the data +func (k Keeper) DeleteApplicationLink(ctx sdk.Context, appLink types.ApplicationLink) { store := ctx.KVStore(k.storeKey) - store.Delete(types.UserApplicationLinkKey(user, application, username)) - store.Delete(types.ApplicationLinkClientIDKey(link.OracleRequest.ClientID)) - - return nil + store.Delete(types.UserApplicationLinkKey(appLink.User, appLink.Data.Application, appLink.Data.Username)) + store.Delete(types.ApplicationLinkClientIDKey(appLink.OracleRequest.ClientID)) } // DeleteAllUserApplicationLinks delete all the applications links associated with the given user @@ -117,8 +106,7 @@ func (k Keeper) DeleteAllUserApplicationLinks(ctx sdk.Context, user string) { return false }) - store := ctx.KVStore(k.storeKey) for _, link := range links { - store.Delete(types.UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username)) + k.DeleteApplicationLink(ctx, link) } } diff --git a/x/profiles/keeper/keeper_app_links_test.go b/x/profiles/keeper/keeper_app_links_test.go index 6f3e4615b7..f4563ad4c5 100644 --- a/x/profiles/keeper/keeper_app_links_test.go +++ b/x/profiles/keeper/keeper_app_links_test.go @@ -312,15 +312,13 @@ func (suite *KeeperTestSuite) Test_GetApplicationLinkByClientID() { func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { testCases := []struct { - name string - store func(store sdk.Context) - user string - application string - username string - shouldErr bool + name string + store func(ctx sdk.Context) + link types.ApplicationLink + check func(ctx sdk.Context) }{ { - name: "wrong user returns error", + name: "different user does not delete link", store: func(ctx sdk.Context) { address := "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773" link := types.NewApplicationLink( @@ -341,13 +339,29 @@ func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { err := suite.k.SaveApplicationLink(ctx, link) suite.Require().NoError(err) }, - user: "user", - application: "twitter", - username: "twitteruser", - shouldErr: true, + link: types.NewApplicationLink( + "cosmos1xvvggrlgjkhu4rva9j500rc52za2smxhluvftc", + types.NewData("twitter", "twitteruser"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData("twitter", "calldata"), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().True(suite.k.HasApplicationLink(ctx, + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + "twitter", + "twitteruser", + )) + }, }, { - name: "wrong application returns error", + name: "different application does not delete the link", store: func(ctx sdk.Context) { address := "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773" link := types.NewApplicationLink( @@ -368,13 +382,29 @@ func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { err := suite.k.SaveApplicationLink(ctx, link) suite.Require().NoError(err) }, - user: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", - application: "github", - username: "twitteruser", - shouldErr: true, + link: types.NewApplicationLink( + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + types.NewData("github", "twitteruser"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData("twitter", "calldata"), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().True(suite.k.HasApplicationLink(ctx, + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + "twitter", + "twitteruser", + )) + }, }, { - name: "wrong username returns error", + name: "different username does not delete the link", store: func(ctx sdk.Context) { address := "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773" link := types.NewApplicationLink( @@ -395,10 +425,26 @@ func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { err := suite.k.SaveApplicationLink(ctx, link) suite.Require().NoError(err) }, - user: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", - application: "twitter", - username: "twitter-user", - shouldErr: true, + link: types.NewApplicationLink( + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + types.NewData("twitter", "another-user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData("twitter", "calldata"), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().True(suite.k.HasApplicationLink(ctx, + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + "twitter", + "twitteruser", + )) + }, }, { name: "valid request deletes link", @@ -422,10 +468,26 @@ func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { err := suite.k.SaveApplicationLink(ctx, link) suite.Require().NoError(err) }, - user: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", - application: "twitter", - username: "twitteruser", - shouldErr: false, + link: types.NewApplicationLink( + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + types.NewData("twitter", "twitteruser"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData("twitter", "calldata"), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().False(suite.k.HasApplicationLink(ctx, + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + "twitter", + "twitteruser", + )) + }, }, } @@ -437,15 +499,9 @@ func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { tc.store(ctx) } - err := suite.k.DeleteApplicationLink(ctx, tc.user, tc.application, tc.username) - if tc.shouldErr { - suite.Require().Error(err) - } else { - suite.Require().NoError(err) - - _, found, err := suite.k.GetApplicationLink(ctx, tc.user, tc.application, tc.username) - suite.Require().NoError(err) - suite.Require().False(found) + suite.k.DeleteApplicationLink(ctx, tc.link) + if tc.check != nil { + tc.check(ctx) } }) } diff --git a/x/profiles/keeper/keeper_chain_links.go b/x/profiles/keeper/keeper_chain_links.go index 898cda3f35..5040abe376 100644 --- a/x/profiles/keeper/keeper_chain_links.go +++ b/x/profiles/keeper/keeper_chain_links.go @@ -49,6 +49,12 @@ func (k Keeper) SaveChainLink(ctx sdk.Context, link types.ChainLink) error { return nil } +// HasChainLink tells whether the given chain link exists or not +func (k Keeper) HasChainLink(ctx sdk.Context, owner, chainName, target string) bool { + store := ctx.KVStore(k.storeKey) + return store.Has(types.ChainLinksStoreKey(owner, chainName, target)) +} + // GetChainLink returns the chain link for the given owner, chain name and target. // If such link does not exist, returns false instead. func (k Keeper) GetChainLink(ctx sdk.Context, owner, chainName, target string) (types.ChainLink, bool) { @@ -63,17 +69,9 @@ func (k Keeper) GetChainLink(ctx sdk.Context, owner, chainName, target string) ( } // DeleteChainLink deletes the link associated with the given address and chain name -func (k Keeper) DeleteChainLink(ctx sdk.Context, owner, chainName, target string) error { +func (k Keeper) DeleteChainLink(ctx sdk.Context, link types.ChainLink) { store := ctx.KVStore(k.storeKey) - key := types.ChainLinksStoreKey(owner, chainName, target) - if !store.Has(key) { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, - "chain link between %s and %s for chain name %s not found", - owner, target, chainName, - ) - } - store.Delete(types.ChainLinksStoreKey(owner, chainName, target)) - return nil + store.Delete(types.ChainLinksStoreKey(link.User, link.ChainConfig.Name, link.GetAddressData().GetValue())) } // DeleteAllUserChainLinks deletes all the chain links associated with the given user @@ -84,9 +82,7 @@ func (k Keeper) DeleteAllUserChainLinks(ctx sdk.Context, user string) { return false }) - store := ctx.KVStore(k.storeKey) for _, link := range links { - address := link.Address.GetCachedValue().(types.AddressData) - store.Delete(types.ChainLinksStoreKey(link.User, link.ChainConfig.Name, address.GetValue())) + k.DeleteChainLink(ctx, link) } } diff --git a/x/profiles/keeper/keeper_chain_links_test.go b/x/profiles/keeper/keeper_chain_links_test.go index 8547e4b5f1..efcb2ef00e 100644 --- a/x/profiles/keeper/keeper_chain_links_test.go +++ b/x/profiles/keeper/keeper_chain_links_test.go @@ -224,56 +224,138 @@ func (suite *KeeperTestSuite) TestKeeper_GetChainLink() { } func (suite *KeeperTestSuite) TestKeeper_DeleteChainLink() { + pubKey := `{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A6jN4EPjj8mHf722yjEaKaGdJpxnTR40pDvXlX1mni9C"}` + + var any codectypes.Any + err := suite.cdc.UnmarshalJSON([]byte(pubKey), &any) + suite.Require().NoError(err) + + var key cryptotypes.PubKey + err = suite.cdc.UnpackAny(&any, &key) + suite.Require().NoError(err) + + // Generate source and destination key + ext := suite.GetRandomProfile() + sig := hex.EncodeToString(ext.Sign([]byte(ext.GetAddress().String()))) + plainText := hex.EncodeToString([]byte(ext.GetAddress().String())) + testCases := []struct { - name string - store func(ctx sdk.Context) - owner string - chainName string - address string - shouldErr bool + name string + store func(ctx sdk.Context) + link types.ChainLink + check func(ctx sdk.Context) }{ { - name: "invalid owner address returns error", - owner: "", - chainName: "cosmos", - address: "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns", - shouldErr: true, + name: "different user does not delete link", + store: func(ctx sdk.Context) { + suite.Require().NoError(suite.k.StoreProfile(ctx, testutil.ProfileFromAddr("cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x"))) + err = suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + types.NewBech32Address(ext.GetAddress().String(), "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("cosmos"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + )) + suite.Require().NoError(err) + }, + link: types.NewChainLink( + "cosmos1xvvggrlgjkhu4rva9j500rc52za2smxhluvftc", + types.NewBech32Address(ext.GetAddress().String(), "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("cosmos"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().True(suite.k.HasChainLink(ctx, + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + "cosmos", + ext.GetAddress().String(), + )) + }, }, { - name: "owner without profile returns error", - owner: "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns", - chainName: "cosmos", - address: "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns", - shouldErr: true, + name: "different chain name does not delete link", + store: func(ctx sdk.Context) { + suite.Require().NoError(suite.k.StoreProfile(ctx, testutil.ProfileFromAddr("cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x"))) + err = suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + types.NewBech32Address(ext.GetAddress().String(), "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("cosmos"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + )) + suite.Require().NoError(err) + }, + link: types.NewChainLink( + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + types.NewBech32Address(ext.GetAddress().String(), "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("likecoin"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().True(suite.k.HasChainLink(ctx, + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + "cosmos", + ext.GetAddress().String(), + )) + }, }, { - name: "target address not linked to the profile returns error", + name: "different external address does not delete the link", store: func(ctx sdk.Context) { - user := "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773" - suite.Require().NoError(suite.k.StoreProfile(ctx, testutil.ProfileFromAddr(user))) + suite.Require().NoError(suite.k.StoreProfile(ctx, testutil.ProfileFromAddr("cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x"))) + err = suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + types.NewBech32Address(ext.GetAddress().String(), "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("cosmos"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + )) + suite.Require().NoError(err) + }, + link: types.NewChainLink( + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + types.NewBech32Address("cosmos1xvvggrlgjkhu4rva9j500rc52za2smxhluvftc", "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("cosmos"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().True(suite.k.HasChainLink(ctx, + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + "cosmos", + ext.GetAddress().String(), + )) }, - owner: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", - chainName: "cosmos", - address: "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns", - shouldErr: true, }, { - name: "valid request returns no error", + name: "proper data delete the link", store: func(ctx sdk.Context) { - // Store profile - user := "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773" - profile := testutil.ProfileFromAddr(user) - suite.Require().NoError(suite.k.StoreProfile(ctx, profile)) - - // Store link - store := ctx.KVStore(suite.storeKey) - key := types.ChainLinksStoreKey(user, "cosmos", "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns") - store.Set(key, profile.GetAddress()) + suite.Require().NoError(suite.k.StoreProfile(ctx, testutil.ProfileFromAddr("cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x"))) + err = suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + types.NewBech32Address(ext.GetAddress().String(), "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("cosmos"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + )) + suite.Require().NoError(err) + }, + link: types.NewChainLink( + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + types.NewBech32Address(ext.GetAddress().String(), "cosmos"), + types.NewProof(ext.GetPubKey(), testutil.SingleSignatureProtoFromHex(sig), plainText), + types.NewChainConfig("cosmos"), + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + ), + check: func(ctx sdk.Context) { + suite.Require().False(suite.k.HasChainLink(ctx, + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + "cosmos", + ext.GetAddress().String(), + )) }, - owner: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", - chainName: "cosmos", - address: "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns", - shouldErr: false, }, } @@ -285,14 +367,9 @@ func (suite *KeeperTestSuite) TestKeeper_DeleteChainLink() { tc.store(ctx) } - err := suite.k.DeleteChainLink(ctx, tc.owner, tc.chainName, tc.address) - if tc.shouldErr { - suite.Require().Error(err) - } else { - suite.Require().NoError(err) - - _, found := suite.k.GetChainLink(ctx, tc.owner, tc.chainName, tc.address) - suite.Require().False(found) + suite.k.DeleteChainLink(ctx, tc.link) + if tc.check != nil { + tc.check(ctx) } }) } diff --git a/x/profiles/keeper/msg_server_app_link.go b/x/profiles/keeper/msg_server_app_link.go index d3097e1c33..d842b421d6 100644 --- a/x/profiles/keeper/msg_server_app_link.go +++ b/x/profiles/keeper/msg_server_app_link.go @@ -69,11 +69,19 @@ func (k msgServer) UnlinkApplication( ) (*types.MsgUnlinkApplicationResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - err := k.DeleteApplicationLink(ctx, msg.Signer, msg.Application, msg.Username) + // Get the link + link, found, err := k.GetApplicationLink(ctx, msg.Signer, msg.Application, msg.Username) if err != nil { return nil, err } + if !found { + return nil, sdkerrors.Wrap(sdkerrors.ErrNotFound, "application link not found") + } + + // Delete the link + k.DeleteApplicationLink(ctx, link) + k.Logger(ctx).Info("Application link removed", "application", msg.Application, "username", msg.Username, diff --git a/x/profiles/keeper/msg_server_chain_link.go b/x/profiles/keeper/msg_server_chain_link.go index 0035c5c125..1b976a2fce 100644 --- a/x/profiles/keeper/msg_server_chain_link.go +++ b/x/profiles/keeper/msg_server_chain_link.go @@ -4,6 +4,8 @@ import ( "context" "time" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/desmos-labs/desmos/v3/x/profiles/types" @@ -37,10 +39,15 @@ func (k msgServer) LinkChainAccount(goCtx context.Context, msg *types.MsgLinkCha func (k msgServer) UnlinkChainAccount(goCtx context.Context, msg *types.MsgUnlinkChainAccount) (*types.MsgUnlinkChainAccountResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - if err := k.DeleteChainLink(ctx, msg.Owner, msg.ChainName, msg.Target); err != nil { - return &types.MsgUnlinkChainAccountResponse{}, err + // Get the chain link + link, found := k.GetChainLink(ctx, msg.Owner, msg.ChainName, msg.Target) + if !found { + return nil, sdkerrors.Wrap(sdkerrors.ErrNotFound, "chain link not found") } + // Delete the link + k.DeleteChainLink(ctx, link) + ctx.EventManager().EmitEvent(sdk.NewEvent( types.EventTypeUnlinkChainAccount, sdk.NewAttribute(types.AttributeKeyChainLinkSourceAddress, msg.Target), diff --git a/x/profiles/legacy/v1beta1/store.go b/x/profiles/legacy/v1beta1/store.go index 8bd46bc7da..9f3f9452dc 100644 --- a/x/profiles/legacy/v1beta1/store.go +++ b/x/profiles/legacy/v1beta1/store.go @@ -38,7 +38,6 @@ func MigrateStore(ctx sdk.Context, ak authkeeper.AccountKeeper, storeKey sdk.Sto migrateDTags(ctx, legacyKeeper, storeKey) migrateDTagTransferRequests(ctx, legacyKeeper, storeKey, cdc) migrateApplicationLinks(ctx, legacyKeeper, storeKey, cdc) - migrateApplicationLinksClientIDs(ctx, legacyKeeper, storeKey) // Migrate the chain links err = migrateChainLinks(ctx, legacyKeeper, storeKey, amino, cdc) @@ -127,31 +126,14 @@ func migrateApplicationLinks(ctx sdk.Context, k Keeper, storeKey sdk.StoreKey, c store := ctx.KVStore(storeKey) for i, link := range applicationLinks { - // Delete the old key + // Delete the old keys store.Delete(UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username)) + store.Delete(ApplicationLinkClientIDKey(link.OracleRequest.ClientID)) // Store the link with the new key - store.Set( - types.UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username), - cdc.MustMarshal(&applicationLinks[i]), - ) - } -} - -func migrateApplicationLinksClientIDs(ctx sdk.Context, k Keeper, storeKey sdk.StoreKey) { - clientIDs := map[string][]byte{} - k.IterateApplicationLinkClientIDs(ctx, func(index int64, dTag string, value []byte) (stop bool) { - clientIDs[dTag] = value - return false - }) - - store := ctx.KVStore(storeKey) - for clientID, value := range clientIDs { - // Delete the old key - store.Delete(ApplicationLinkClientIDKey(clientID)) - - // Store the client id using the new key - store.Set(types.ApplicationLinkClientIDKey(clientID), value) + linkKey := types.UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username) + store.Set(linkKey, cdc.MustMarshal(&applicationLinks[i])) + store.Set(types.ApplicationLinkClientIDKey(link.OracleRequest.ClientID), linkKey) } } diff --git a/x/profiles/legacy/v1beta1/store_test.go b/x/profiles/legacy/v1beta1/store_test.go index 77553861ed..10e7fd30aa 100644 --- a/x/profiles/legacy/v1beta1/store_test.go +++ b/x/profiles/legacy/v1beta1/store_test.go @@ -180,8 +180,9 @@ func TestMigrateStore(t *testing.T) { kvStore := ctx.KVStore(keys[types.StoreKey]) // Store an application link + linkKey := v1beta1.UserApplicationLinkKey("cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", "twitter", "twitteruser") kvStore.Set( - v1beta1.UserApplicationLinkKey("cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", "twitter", "twitteruser"), + linkKey, cdc.MustMarshal(&profilestypes.ApplicationLink{ User: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", Data: profilestypes.NewData("twitter", "twitteruser"), @@ -198,21 +199,20 @@ func TestMigrateStore(t *testing.T) { ) // Store an application link client id - kvStore.Set( - v1beta1.ApplicationLinkClientIDKey("client_id"), - []byte("client_id_value"), - ) + kvStore.Set(v1beta1.ApplicationLinkClientIDKey("client_id"), linkKey) }, check: func(ctx sdk.Context) { kvStore := ctx.KVStore(keys[types.StoreKey]) // Check the application links - var stored profilestypes.ApplicationLink - cdc.MustUnmarshal(kvStore.Get(profilestypes.UserApplicationLinkKey( + linkKey := profilestypes.UserApplicationLinkKey( "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", "twitter", "twitteruser", - )), &stored) + ) + + var stored profilestypes.ApplicationLink + cdc.MustUnmarshal(kvStore.Get(linkKey), &stored) require.Equal(t, profilestypes.NewApplicationLink( "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", profilestypes.NewData("twitter", "twitteruser"), @@ -228,7 +228,21 @@ func TestMigrateStore(t *testing.T) { ), stored) // Check the application link client id - require.Equal(t, []byte("client_id_value"), kvStore.Get(profilestypes.ApplicationLinkClientIDKey("client_id"))) + require.Equal(t, linkKey, kvStore.Get(profilestypes.ApplicationLinkClientIDKey("client_id"))) + }, + }, + { + name: "leftover application client id keys are deleted properly", + store: func(ctx sdk.Context) { + kvStore := ctx.KVStore(keys[types.StoreKey]) + kvStore.Set( + v1beta1.ApplicationLinkClientIDKey("client_id"), + []byte("client_id_value"), + ) + }, + check: func(ctx sdk.Context) { + kvStore := ctx.KVStore(keys[types.StoreKey]) + require.False(t, kvStore.Has(profilestypes.ApplicationLinkClientIDKey("client_id"))) }, }, { From 9cdd3b02890d06aa04726a84a8cb5a71a876950d Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 12:10:30 +0000 Subject: [PATCH 03/19] chore: added changeset entry --- ...075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml diff --git a/.changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml b/.changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml new file mode 100644 index 0000000000..138ef421b1 --- /dev/null +++ b/.changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml @@ -0,0 +1,6 @@ +type: fix +module: x/profiles +pull_request: 784 +description: Fixed how the application links and chain links are deleted +backward_compatible: true +date: 2022-03-21T12:10:14.687869312Z From ff758d76ef7c7fec011b692bff354cbac9b56612 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 12:45:43 +0000 Subject: [PATCH 04/19] updated how DTag transfer requests are deleted --- ...459c72643ab119e8928a1f464b3cb8bec009d.yaml | 2 +- x/profiles/keeper/keeper_dtag_transfers.go | 19 ++++++------ .../keeper/keeper_dtag_transfers_test.go | 30 +++++++------------ .../keeper/msg_server_dtag_transfers.go | 18 +++++++---- 4 files changed, 33 insertions(+), 36 deletions(-) diff --git a/.changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml b/.changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml index 138ef421b1..c6f83f8b62 100644 --- a/.changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml +++ b/.changeset/entries/7f7c55e22eee3075ed73848811f459c72643ab119e8928a1f464b3cb8bec009d.yaml @@ -1,6 +1,6 @@ type: fix module: x/profiles pull_request: 784 -description: Fixed how the application links and chain links are deleted +description: Fixed how the profiles data are deleted (DTag transfer requests, chain link and application links) backward_compatible: true date: 2022-03-21T12:10:14.687869312Z diff --git a/x/profiles/keeper/keeper_dtag_transfers.go b/x/profiles/keeper/keeper_dtag_transfers.go index 0a1b79b91d..fec5e863b6 100644 --- a/x/profiles/keeper/keeper_dtag_transfers.go +++ b/x/profiles/keeper/keeper_dtag_transfers.go @@ -29,6 +29,12 @@ func (k Keeper) SaveDTagTransferRequest(ctx sdk.Context, request types.DTagTrans return nil } +// HasDTagTransferRequest tells whether a DTag transfer request between the sender and recipient exists or not +func (k Keeper) HasDTagTransferRequest(ctx sdk.Context, sender, recipient string) bool { + store := ctx.KVStore(k.storeKey) + return store.Has(types.DTagTransferRequestStoreKey(sender, recipient)) +} + // GetDTagTransferRequest retries the DTag transfer request made from the specified sender to the given receiver. // If the request was not found, returns false instead. func (k Keeper) GetDTagTransferRequest(ctx sdk.Context, sender, receiver string) (types.DTagTransferRequest, bool, error) { @@ -62,15 +68,9 @@ func (k Keeper) GetDTagTransferRequests(ctx sdk.Context) (requests []types.DTagT } // DeleteDTagTransferRequest deletes the transfer request made from the sender towards the recipient -func (k Keeper) DeleteDTagTransferRequest(ctx sdk.Context, sender, recipient string) error { +func (k Keeper) DeleteDTagTransferRequest(ctx sdk.Context, sender, recipient string) { store := ctx.KVStore(k.storeKey) - key := types.DTagTransferRequestStoreKey(sender, recipient) - if !store.Has(key) { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "request from %s to %s not found", sender, recipient) - } - - store.Delete(key) - return nil + store.Delete(types.DTagTransferRequestStoreKey(sender, recipient)) } // DeleteAllUserIncomingDTagTransferRequests deletes all the requests made to the given user @@ -81,8 +81,7 @@ func (k Keeper) DeleteAllUserIncomingDTagTransferRequests(ctx sdk.Context, recei return false }) - store := ctx.KVStore(k.storeKey) for _, request := range requests { - store.Delete(types.DTagTransferRequestStoreKey(request.Sender, request.Receiver)) + k.DeleteDTagTransferRequest(ctx, request.Sender, request.Receiver) } } diff --git a/x/profiles/keeper/keeper_dtag_transfers_test.go b/x/profiles/keeper/keeper_dtag_transfers_test.go index 925a954c31..d87b39aef4 100644 --- a/x/profiles/keeper/keeper_dtag_transfers_test.go +++ b/x/profiles/keeper/keeper_dtag_transfers_test.go @@ -270,15 +270,14 @@ func (suite *KeeperTestSuite) TestKeeper_GetDTagTransferRequests() { func (suite *KeeperTestSuite) TestKeeper_DeleteDTagTransferRequest() { testCases := []struct { - name string - store func(ctx sdk.Context) - sender string - receiver string - shouldErr bool - check func(ctx sdk.Context) + name string + store func(ctx sdk.Context) + sender string + receiver string + check func(ctx sdk.Context) }{ { - name: "deleting non existent request returns an error", + name: "deleting non existent request works properly", store: func(ctx sdk.Context) { request := types.NewDTagTransferRequest( "dtag", @@ -288,9 +287,8 @@ func (suite *KeeperTestSuite) TestKeeper_DeleteDTagTransferRequest() { suite.Require().NoError(suite.k.StoreProfile(ctx, testutil.ProfileFromAddr(request.Receiver))) suite.Require().NoError(suite.k.SaveDTagTransferRequest(ctx, request)) }, - sender: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", - receiver: "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns", - shouldErr: true, + sender: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + receiver: "cosmos1cjf97gpzwmaf30pzvaargfgr884mpp5ak8f7ns", }, { name: "existing request is removed properly", @@ -319,15 +317,9 @@ func (suite *KeeperTestSuite) TestKeeper_DeleteDTagTransferRequest() { tc.store(ctx) } - err := suite.k.DeleteDTagTransferRequest(ctx, tc.sender, tc.receiver) - - if tc.shouldErr { - suite.Require().Error(err) - } else { - suite.Require().NoError(err) - if tc.check != nil { - tc.check(ctx) - } + suite.k.DeleteDTagTransferRequest(ctx, tc.sender, tc.receiver) + if tc.check != nil { + tc.check(ctx) } }) } diff --git a/x/profiles/keeper/msg_server_dtag_transfers.go b/x/profiles/keeper/msg_server_dtag_transfers.go index c811a39522..29466956e3 100644 --- a/x/profiles/keeper/msg_server_dtag_transfers.go +++ b/x/profiles/keeper/msg_server_dtag_transfers.go @@ -62,11 +62,14 @@ func (k msgServer) RequestDTagTransfer(goCtx context.Context, msg *types.MsgRequ func (k msgServer) CancelDTagTransferRequest(goCtx context.Context, msg *types.MsgCancelDTagTransferRequest) (*types.MsgCancelDTagTransferRequestResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - err := k.DeleteDTagTransferRequest(ctx, msg.Sender, msg.Receiver) - if err != nil { - return nil, err + // Check if the request exists + if !k.HasDTagTransferRequest(ctx, msg.Sender, msg.Receiver) { + return nil, sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "request from %s to %s not found", msg.Sender, msg.Receiver) } + // Delete the request + k.DeleteDTagTransferRequest(ctx, msg.Sender, msg.Receiver) + ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, @@ -192,11 +195,14 @@ func (k msgServer) AcceptDTagTransferRequest(goCtx context.Context, msg *types.M func (k msgServer) RefuseDTagTransferRequest(goCtx context.Context, msg *types.MsgRefuseDTagTransferRequest) (*types.MsgRefuseDTagTransferRequestResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - err := k.DeleteDTagTransferRequest(ctx, msg.Sender, msg.Receiver) - if err != nil { - return nil, err + // Check if the request exists + if !k.HasDTagTransferRequest(ctx, msg.Sender, msg.Receiver) { + return nil, sdkerrors.Wrapf(sdkerrors.ErrInvalidRequest, "request from %s to %s not found", msg.Sender, msg.Receiver) } + // Delete the request + k.DeleteDTagTransferRequest(ctx, msg.Sender, msg.Receiver) + ctx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( sdk.EventTypeMessage, From f65bcfaacaf05e3f43480a6011ed65b42f259e95 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 12:57:17 +0000 Subject: [PATCH 05/19] removed now unused method --- x/profiles/legacy/v1beta1/keeper.go | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/x/profiles/legacy/v1beta1/keeper.go b/x/profiles/legacy/v1beta1/keeper.go index 98eb736565..4c940dbf32 100644 --- a/x/profiles/legacy/v1beta1/keeper.go +++ b/x/profiles/legacy/v1beta1/keeper.go @@ -179,18 +179,3 @@ func (k Keeper) IterateApplicationLinks(ctx sdk.Context, fn func(index int64, ap index++ } } - -func (k Keeper) IterateApplicationLinkClientIDs(ctx sdk.Context, fn func(index int64, clientID string, value []byte) (stop bool)) { - store := ctx.KVStore(k.storeKey) - - clientIDsStore := prefix.NewStore(store, ApplicationLinkClientIDPrefix) - iterator := clientIDsStore.Iterator(nil, nil) - defer iterator.Close() - - var stop = false - var index = int64(0) - for ; iterator.Valid() && !stop; iterator.Next() { - stop = fn(index, string(iterator.Key()), iterator.Value()) - index++ - } -} From 982826cb4050f7ba745da801ca8fd7c106439133 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 14:34:53 +0000 Subject: [PATCH 06/19] removed now unused method --- x/profiles/keeper/keeper_app_links.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/profiles/keeper/keeper_app_links.go b/x/profiles/keeper/keeper_app_links.go index f1bf992de8..4a525f8c61 100644 --- a/x/profiles/keeper/keeper_app_links.go +++ b/x/profiles/keeper/keeper_app_links.go @@ -98,7 +98,7 @@ func (k Keeper) DeleteApplicationLink(ctx sdk.Context, appLink types.Application store := ctx.KVStore(k.storeKey) store.Delete(types.UserApplicationLinkKey(appLink.User, appLink.Data.Application, appLink.Data.Username)) store.Delete(types.ApplicationLinkClientIDKey(appLink.OracleRequest.ClientID)) - store.Delete(types.ApplicationLinkOwnerKey(link.Data.Application, appLink.Data.Username, appLink.User)) + store.Delete(types.ApplicationLinkOwnerKey(appLink.Data.Application, appLink.Data.Username, appLink.User)) } // DeleteAllUserApplicationLinks delete all the applications links associated with the given user From a3a26f69384e78f31b431c204b05720239ad50f5 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 15:36:37 +0000 Subject: [PATCH 07/19] added the migration --- .../profiles/v1beta1/models_chain_links.proto | 2 +- .../profiles/v1beta1/models_profile.proto | 2 +- .../v1beta1/models_relationships.proto | 2 +- proto/desmos/profiles/v2/client/cli.proto | 2 +- proto/desmos/profiles/v2/genesis.proto | 2 +- .../desmos/profiles/v2/models_app_links.proto | 2 +- .../profiles/v2/models_chain_links.proto | 2 +- .../profiles/v2/models_dtag_requests.proto | 2 +- proto/desmos/profiles/v2/models_packets.proto | 2 +- proto/desmos/profiles/v2/models_params.proto | 2 +- proto/desmos/profiles/v2/models_profile.proto | 2 +- proto/desmos/profiles/v2/msg_server.proto | 2 +- proto/desmos/profiles/v2/msgs_app_links.proto | 2 +- .../desmos/profiles/v2/msgs_chain_links.proto | 2 +- .../profiles/v2/msgs_dtag_requests.proto | 2 +- proto/desmos/profiles/v2/msgs_profile.proto | 2 +- proto/desmos/profiles/v2/query.proto | 9 +- .../desmos/profiles/v2/query_app_links.proto | 34 +- .../profiles/v2/query_chain_links.proto | 2 +- .../profiles/v2/query_dtag_requests.proto | 2 +- proto/desmos/profiles/v2/query_params.proto | 2 +- proto/desmos/profiles/v2/query_profile.proto | 2 +- proto/desmos/relationships/v1/genesis.proto | 2 +- proto/desmos/relationships/v1/models.proto | 2 +- .../desmos/relationships/v1/msg_server.proto | 2 +- proto/desmos/relationships/v1/query.proto | 2 +- proto/desmos/subspaces/v1/genesis.proto | 2 +- proto/desmos/subspaces/v1/models.proto | 2 +- proto/desmos/subspaces/v1/msgs.proto | 2 +- proto/desmos/subspaces/v1/query.proto | 2 +- scripts/protocgen.sh | 2 +- x/profiles/client/utils/cli.pb.go | 48 +- x/profiles/keeper/grpc_query.go | 37 + x/profiles/keeper/grpc_query_test.go | 267 +++++ x/profiles/keeper/migrations.go | 7 + .../legacy/v1beta1/models_chain_links.pb.go | 74 +- .../legacy/v1beta1/models_profile.pb.go | 40 +- .../legacy/v1beta1/models_relationships.pb.go | 38 +- x/profiles/legacy/v5/store.go | 61 + x/profiles/module.go | 4 + x/profiles/types/genesis.pb.go | 56 +- x/profiles/types/keys.go | 4 +- x/profiles/types/models_app_links.pb.go | 123 +- x/profiles/types/models_chain_links.pb.go | 102 +- x/profiles/types/models_dtag_requests.pb.go | 47 +- x/profiles/types/models_packets.pb.go | 60 +- x/profiles/types/models_params.pb.go | 90 +- x/profiles/types/models_profile.pb.go | 62 +- x/profiles/types/msg_server.pb.go | 62 +- x/profiles/types/msgs_app_links.pb.go | 70 +- x/profiles/types/msgs_chain_links.pb.go | 64 +- x/profiles/types/msgs_dtag_requests.pb.go | 52 +- x/profiles/types/msgs_profile.pb.go | 52 +- x/profiles/types/query.pb.go | 113 +- x/profiles/types/query.pb.gw.go | 80 ++ x/profiles/types/query_app_links.go | 8 + x/profiles/types/query_app_links.pb.go | 1027 +++++++++++++++-- x/profiles/types/query_chain_links.pb.go | 53 +- x/profiles/types/query_dtag_requests.pb.go | 44 +- x/profiles/types/query_params.pb.go | 40 +- x/profiles/types/query_profile.pb.go | 40 +- x/relationships/types/genesis.pb.go | 4 +- x/relationships/types/models.pb.go | 48 +- x/relationships/types/msg_server.pb.go | 22 +- x/relationships/types/query.pb.go | 72 +- x/subspaces/types/genesis.pb.go | 62 +- x/subspaces/types/models.pb.go | 82 +- x/subspaces/types/msgs.pb.go | 84 +- x/subspaces/types/query.pb.go | 4 +- 69 files changed, 2334 insertions(+), 970 deletions(-) create mode 100644 x/profiles/legacy/v5/store.go diff --git a/proto/desmos/profiles/v1beta1/models_chain_links.proto b/proto/desmos/profiles/v1beta1/models_chain_links.proto index 2f395c5278..5b9aa30e69 100644 --- a/proto/desmos/profiles/v1beta1/models_chain_links.proto +++ b/proto/desmos/profiles/v1beta1/models_chain_links.proto @@ -6,7 +6,7 @@ import "google/protobuf/any.proto"; import "google/protobuf/timestamp.proto"; import "cosmos_proto/cosmos.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/legacy/v1beta1"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1"; // ChainLink contains the data representing either an inter- or cross- chain // link diff --git a/proto/desmos/profiles/v1beta1/models_profile.proto b/proto/desmos/profiles/v1beta1/models_profile.proto index d34fc2d732..9c096365c2 100644 --- a/proto/desmos/profiles/v1beta1/models_profile.proto +++ b/proto/desmos/profiles/v1beta1/models_profile.proto @@ -6,7 +6,7 @@ import "google/protobuf/any.proto"; import "google/protobuf/timestamp.proto"; import "cosmos_proto/cosmos.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/legacy/v1beta1"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1"; // -------------------------------------------------------------------------------------------------------------------- diff --git a/proto/desmos/profiles/v1beta1/models_relationships.proto b/proto/desmos/profiles/v1beta1/models_relationships.proto index 3938fc5b68..083363e48c 100644 --- a/proto/desmos/profiles/v1beta1/models_relationships.proto +++ b/proto/desmos/profiles/v1beta1/models_relationships.proto @@ -6,7 +6,7 @@ import "google/protobuf/any.proto"; import "google/protobuf/timestamp.proto"; import "cosmos_proto/cosmos.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/legacy/v1beta1"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1"; // Relationship is the struct of a relationship. // It represent the concept of "follow" of traditional social networks. diff --git a/proto/desmos/profiles/v2/client/cli.proto b/proto/desmos/profiles/v2/client/cli.proto index d45fe5ad60..889afd83b0 100644 --- a/proto/desmos/profiles/v2/client/cli.proto +++ b/proto/desmos/profiles/v2/client/cli.proto @@ -7,7 +7,7 @@ import "google/protobuf/timestamp.proto"; import "cosmos_proto/cosmos.proto"; import "desmos/profiles/v2/models_chain_links.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/client/utils"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/client/utils"; // ChainLinkJSON contains the data required to create a ChainLink using the CLI // command diff --git a/proto/desmos/profiles/v2/genesis.proto b/proto/desmos/profiles/v2/genesis.proto index 3169809660..fb3171287c 100644 --- a/proto/desmos/profiles/v2/genesis.proto +++ b/proto/desmos/profiles/v2/genesis.proto @@ -8,7 +8,7 @@ import "desmos/profiles/v2/models_dtag_requests.proto"; import "desmos/profiles/v2/models_chain_links.proto"; import "desmos/profiles/v2/models_app_links.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // GenesisState defines the profiles module's genesis state. message GenesisState { diff --git a/proto/desmos/profiles/v2/models_app_links.proto b/proto/desmos/profiles/v2/models_app_links.proto index 8aac454082..3283052116 100644 --- a/proto/desmos/profiles/v2/models_app_links.proto +++ b/proto/desmos/profiles/v2/models_app_links.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package desmos.profiles.v2; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; diff --git a/proto/desmos/profiles/v2/models_chain_links.proto b/proto/desmos/profiles/v2/models_chain_links.proto index 778786bbc5..f4e9cf08a4 100644 --- a/proto/desmos/profiles/v2/models_chain_links.proto +++ b/proto/desmos/profiles/v2/models_chain_links.proto @@ -8,7 +8,7 @@ import "cosmos_proto/cosmos.proto"; import "cosmos/tx/signing/v1beta1/signing.proto"; import "cosmos/crypto/multisig/v1beta1/multisig.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // ChainLink contains the data representing either an inter- or cross- chain // link diff --git a/proto/desmos/profiles/v2/models_dtag_requests.proto b/proto/desmos/profiles/v2/models_dtag_requests.proto index 36ad695a21..e62a3100e9 100644 --- a/proto/desmos/profiles/v2/models_dtag_requests.proto +++ b/proto/desmos/profiles/v2/models_dtag_requests.proto @@ -7,7 +7,7 @@ import "google/protobuf/timestamp.proto"; import "cosmos_proto/cosmos.proto"; import "desmos/profiles/v2/models_chain_links.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // DTagTransferRequest represent a DTag transfer request between two users message DTagTransferRequest { diff --git a/proto/desmos/profiles/v2/models_packets.proto b/proto/desmos/profiles/v2/models_packets.proto index 83f7a78e58..2e0faa91f4 100644 --- a/proto/desmos/profiles/v2/models_packets.proto +++ b/proto/desmos/profiles/v2/models_packets.proto @@ -6,7 +6,7 @@ import "google/protobuf/any.proto"; import "cosmos_proto/cosmos.proto"; import "desmos/profiles/v2/models_chain_links.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // LinkChainAccountPacketData defines the object that should be sent inside a // MsgSendPacket when wanting to link an external chain to a Desmos profile diff --git a/proto/desmos/profiles/v2/models_params.proto b/proto/desmos/profiles/v2/models_params.proto index 130b88a105..39217d8a47 100644 --- a/proto/desmos/profiles/v2/models_params.proto +++ b/proto/desmos/profiles/v2/models_params.proto @@ -4,7 +4,7 @@ package desmos.profiles.v2; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // Params contains the parameters for the profiles module message Params { diff --git a/proto/desmos/profiles/v2/models_profile.proto b/proto/desmos/profiles/v2/models_profile.proto index 8fd186eba3..25b5520972 100644 --- a/proto/desmos/profiles/v2/models_profile.proto +++ b/proto/desmos/profiles/v2/models_profile.proto @@ -7,7 +7,7 @@ import "google/protobuf/timestamp.proto"; import "cosmos_proto/cosmos.proto"; import "desmos/profiles/v2/models_chain_links.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // -------------------------------------------------------------------------------------------------------------------- diff --git a/proto/desmos/profiles/v2/msg_server.proto b/proto/desmos/profiles/v2/msg_server.proto index c94ae50861..87e6d251d7 100644 --- a/proto/desmos/profiles/v2/msg_server.proto +++ b/proto/desmos/profiles/v2/msg_server.proto @@ -11,7 +11,7 @@ import "desmos/profiles/v2/msgs_dtag_requests.proto"; import "desmos/profiles/v2/msgs_chain_links.proto"; import "desmos/profiles/v2/msgs_app_links.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // Msg defines the relationships Msg service. service Msg { diff --git a/proto/desmos/profiles/v2/msgs_app_links.proto b/proto/desmos/profiles/v2/msgs_app_links.proto index 0987e717ee..3fb72a402e 100644 --- a/proto/desmos/profiles/v2/msgs_app_links.proto +++ b/proto/desmos/profiles/v2/msgs_app_links.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package desmos.profiles.v2; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; import "desmos/profiles/v2/models_app_links.proto"; diff --git a/proto/desmos/profiles/v2/msgs_chain_links.proto b/proto/desmos/profiles/v2/msgs_chain_links.proto index d856735b7b..074e6506d0 100644 --- a/proto/desmos/profiles/v2/msgs_chain_links.proto +++ b/proto/desmos/profiles/v2/msgs_chain_links.proto @@ -6,7 +6,7 @@ import "google/protobuf/any.proto"; import "cosmos_proto/cosmos.proto"; import "desmos/profiles/v2/models_chain_links.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // MsgLinkChainAccount represents a message to link an account to a profile. message MsgLinkChainAccount { diff --git a/proto/desmos/profiles/v2/msgs_dtag_requests.proto b/proto/desmos/profiles/v2/msgs_dtag_requests.proto index c738343584..38d6c49310 100644 --- a/proto/desmos/profiles/v2/msgs_dtag_requests.proto +++ b/proto/desmos/profiles/v2/msgs_dtag_requests.proto @@ -7,7 +7,7 @@ import "cosmos_proto/cosmos.proto"; import "desmos/profiles/v2/models_profile.proto"; import "desmos/profiles/v2/models_dtag_requests.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // MsgRequestDTagTransfer represents the message used to request the DTag // transfer to another user. diff --git a/proto/desmos/profiles/v2/msgs_profile.proto b/proto/desmos/profiles/v2/msgs_profile.proto index b4ddabf252..a66f144c06 100644 --- a/proto/desmos/profiles/v2/msgs_profile.proto +++ b/proto/desmos/profiles/v2/msgs_profile.proto @@ -7,7 +7,7 @@ import "cosmos_proto/cosmos.proto"; import "desmos/profiles/v2/models_profile.proto"; import "desmos/profiles/v2/models_dtag_requests.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // MsgSaveProfile represents a message to save a profile. message MsgSaveProfile { diff --git a/proto/desmos/profiles/v2/query.proto b/proto/desmos/profiles/v2/query.proto index 68e97cb840..089c4d0dac 100644 --- a/proto/desmos/profiles/v2/query.proto +++ b/proto/desmos/profiles/v2/query.proto @@ -12,7 +12,7 @@ import "desmos/profiles/v2/query_app_links.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // Query defines the gRPC querier service. service Query { @@ -51,6 +51,13 @@ service Query { "/desmos/profiles/v2/app-links/clients/{client_id}"; } + // ApplicationLinkOwners queries for the owners of applications links, + // optionally searching for a specific application and username. + rpc ApplicationLinkOwners(QueryApplicationLinkOwnersRequest) + returns (QueryApplicationLinkOwnersResponse) { + option (google.api.http).get = "/desmos/profiles/v2/app-links/owners"; + } + // Params queries the profiles module params rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { option (google.api.http).get = "/desmos/profiles/v2/params"; diff --git a/proto/desmos/profiles/v2/query_app_links.proto b/proto/desmos/profiles/v2/query_app_links.proto index 1e2b32c38e..c5d96864ef 100644 --- a/proto/desmos/profiles/v2/query_app_links.proto +++ b/proto/desmos/profiles/v2/query_app_links.proto @@ -8,7 +8,7 @@ import "desmos/profiles/v2/models_app_links.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // QueryUserApplicationLinkRequest represents the request used when querying an // application link using an application name and username for a given user @@ -49,4 +49,36 @@ message QueryApplicationLinkByClientIDRequest { // request allowing to get an application link using a client id message QueryApplicationLinkByClientIDResponse { ApplicationLink link = 1 [ (gogoproto.nullable) = false ]; +} + +// QueryApplicationLinkOwnersRequest contains the data of the request that can +// be used to get application link owners +message QueryApplicationLinkOwnersRequest { + // (Optional) Application name to search link owners of. If not specified, all + // links stored will be searched instead. + string application = 1; + + // (Optional) Username to search for. This will only be used if the + // application is specified as well + string username = 2; + + // Pagination defines an optional pagination for the request + cosmos.base.query.v1beta1.PageRequest pagination = 3; +} + +// QueryApplicationLinkOwnersResponse contains the data returned by the request +// allowing to get application link owners. +message QueryApplicationLinkOwnersResponse { + message ApplicationLinkOwnerDetails { + string user = 1; + string application = 2; + string username = 3; + } + + // Addresses of the application links owners + repeated ApplicationLinkOwnerDetails owners = 1 + [ (gogoproto.nullable) = false ]; + + // Pagination defines the pagination response + cosmos.base.query.v1beta1.PageResponse pagination = 2; } \ No newline at end of file diff --git a/proto/desmos/profiles/v2/query_chain_links.proto b/proto/desmos/profiles/v2/query_chain_links.proto index 854ecd29a4..e7898b3782 100644 --- a/proto/desmos/profiles/v2/query_chain_links.proto +++ b/proto/desmos/profiles/v2/query_chain_links.proto @@ -8,7 +8,7 @@ import "desmos/profiles/v2/models_chain_links.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // QueryChainLinksRequest represents the request that should be used in order // to retrieve the link associated with the provided user, for the given chain diff --git a/proto/desmos/profiles/v2/query_dtag_requests.proto b/proto/desmos/profiles/v2/query_dtag_requests.proto index c55743eb09..63b129f4e7 100644 --- a/proto/desmos/profiles/v2/query_dtag_requests.proto +++ b/proto/desmos/profiles/v2/query_dtag_requests.proto @@ -8,7 +8,7 @@ import "desmos/profiles/v2/models_dtag_requests.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // QueryIncomingDTagTransferRequestsRequest is the request type for the // Query/IncomingDTagTransferRequests RPC endpoint diff --git a/proto/desmos/profiles/v2/query_params.proto b/proto/desmos/profiles/v2/query_params.proto index dda0e8574d..71537c356c 100644 --- a/proto/desmos/profiles/v2/query_params.proto +++ b/proto/desmos/profiles/v2/query_params.proto @@ -8,7 +8,7 @@ import "desmos/profiles/v2/models_params.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // QueryParamsRequest is the request type for the Query/Params RPC endpoint message QueryParamsRequest {} diff --git a/proto/desmos/profiles/v2/query_profile.proto b/proto/desmos/profiles/v2/query_profile.proto index 8823f01d28..ac77046037 100644 --- a/proto/desmos/profiles/v2/query_profile.proto +++ b/proto/desmos/profiles/v2/query_profile.proto @@ -7,7 +7,7 @@ import "google/protobuf/any.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/profiles/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/profiles/types"; // QueryProfileRequest is the request type for the Query/Profile RPC method. message QueryProfileRequest { diff --git a/proto/desmos/relationships/v1/genesis.proto b/proto/desmos/relationships/v1/genesis.proto index de164364b7..a0df44877f 100644 --- a/proto/desmos/relationships/v1/genesis.proto +++ b/proto/desmos/relationships/v1/genesis.proto @@ -4,7 +4,7 @@ package desmos.relationships.v1; import "gogoproto/gogo.proto"; import "desmos/relationships/v1/models.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/relationships/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/relationships/types"; // GenesisState defines the profiles module's genesis state. message GenesisState { diff --git a/proto/desmos/relationships/v1/models.proto b/proto/desmos/relationships/v1/models.proto index e1c38e6aed..7654525253 100644 --- a/proto/desmos/relationships/v1/models.proto +++ b/proto/desmos/relationships/v1/models.proto @@ -6,7 +6,7 @@ import "google/protobuf/any.proto"; import "google/protobuf/timestamp.proto"; import "cosmos_proto/cosmos.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/relationships/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/relationships/types"; // Relationship is the struct of a relationship. // It represent the concept of "follow" of traditional social networks. diff --git a/proto/desmos/relationships/v1/msg_server.proto b/proto/desmos/relationships/v1/msg_server.proto index 85827db98c..06c0212733 100644 --- a/proto/desmos/relationships/v1/msg_server.proto +++ b/proto/desmos/relationships/v1/msg_server.proto @@ -5,7 +5,7 @@ import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; import "cosmos_proto/cosmos.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/relationships/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/relationships/types"; // Msg defines the relationships Msg service. service Msg { diff --git a/proto/desmos/relationships/v1/query.proto b/proto/desmos/relationships/v1/query.proto index 3a39c8c39a..2841453ffe 100644 --- a/proto/desmos/relationships/v1/query.proto +++ b/proto/desmos/relationships/v1/query.proto @@ -9,7 +9,7 @@ import "cosmos/base/query/v1beta1/pagination.proto"; import "desmos/relationships/v1/models.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/relationships/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/relationships/types"; // Query defines the gRPC querier service. service Query { diff --git a/proto/desmos/subspaces/v1/genesis.proto b/proto/desmos/subspaces/v1/genesis.proto index 622ab901dc..c4a32de2a3 100644 --- a/proto/desmos/subspaces/v1/genesis.proto +++ b/proto/desmos/subspaces/v1/genesis.proto @@ -4,7 +4,7 @@ package desmos.subspaces.v1; import "gogoproto/gogo.proto"; import "desmos/subspaces/v1/models.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/subspaces/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/subspaces/types"; // GenesisState contains the data of the genesis state for the subspaces module message GenesisState { diff --git a/proto/desmos/subspaces/v1/models.proto b/proto/desmos/subspaces/v1/models.proto index 2b68fec0ca..fd2e24a974 100644 --- a/proto/desmos/subspaces/v1/models.proto +++ b/proto/desmos/subspaces/v1/models.proto @@ -4,7 +4,7 @@ package desmos.subspaces.v1; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/subspaces/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/subspaces/types"; // Subspace contains all the data of a Desmos subspace message Subspace { diff --git a/proto/desmos/subspaces/v1/msgs.proto b/proto/desmos/subspaces/v1/msgs.proto index 170687bcfd..ab08cafd9b 100644 --- a/proto/desmos/subspaces/v1/msgs.proto +++ b/proto/desmos/subspaces/v1/msgs.proto @@ -4,7 +4,7 @@ package desmos.subspaces.v1; import "gogoproto/gogo.proto"; import "desmos/subspaces/v1/models.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/subspaces/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/subspaces/types"; // Msg defines subspaces Msg service. service Msg { diff --git a/proto/desmos/subspaces/v1/query.proto b/proto/desmos/subspaces/v1/query.proto index edf99643d3..56c96458b5 100644 --- a/proto/desmos/subspaces/v1/query.proto +++ b/proto/desmos/subspaces/v1/query.proto @@ -6,7 +6,7 @@ import "google/api/annotations.proto"; import "desmos/subspaces/v1/models.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -option go_package = "github.com/desmos-labs/desmos/v2/x/subspaces/types"; +option go_package = "github.com/desmos-labs/desmos/v3/x/subspaces/types"; // Query defines the gRPC querier service service Query { diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index 0a448daa0b..7b58035367 100755 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -26,5 +26,5 @@ Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types:. \ done # move proto files to the right places -cp -r github.com/desmos-labs/desmos/v2/* ./ +cp -r github.com/desmos-labs/desmos/v3/* ./ rm -rf github.com diff --git a/x/profiles/client/utils/cli.pb.go b/x/profiles/client/utils/cli.pb.go index e98f210696..1281e42582 100644 --- a/x/profiles/client/utils/cli.pb.go +++ b/x/profiles/client/utils/cli.pb.go @@ -102,31 +102,31 @@ func init() { } var fileDescriptor_953cf0366775bd6d = []byte{ - // 383 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xbd, 0x4e, 0xeb, 0x30, - 0x14, 0x80, 0x93, 0x5e, 0xdd, 0x7b, 0x51, 0x5a, 0x18, 0x42, 0x87, 0xb6, 0x48, 0x09, 0x84, 0x05, - 0x09, 0xd5, 0x91, 0xca, 0x82, 0xba, 0x35, 0x85, 0x05, 0x21, 0x7e, 0xc2, 0xc6, 0x12, 0x39, 0xbf, + // 384 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xbb, 0x4e, 0xf3, 0x30, + 0x14, 0x80, 0x93, 0xfe, 0xfa, 0x2f, 0x4a, 0xfb, 0x33, 0x84, 0x0e, 0x6d, 0x91, 0x12, 0x08, 0x0b, + 0x12, 0xaa, 0x2d, 0xb5, 0x0b, 0xea, 0xd6, 0x14, 0x16, 0x84, 0xb8, 0x84, 0x8d, 0x25, 0x72, 0xae, 0xb5, 0xea, 0xc4, 0x51, 0x9c, 0x56, 0xf4, 0x2d, 0x18, 0x18, 0x18, 0xfb, 0x10, 0x3c, 0x44, 0xc5, - 0xd4, 0x91, 0xa9, 0x42, 0xed, 0xc2, 0xdc, 0x27, 0x40, 0xb1, 0x1d, 0x15, 0xa1, 0x4e, 0x39, 0xce, - 0xf9, 0xce, 0xe7, 0x73, 0x8e, 0xac, 0x1c, 0xfb, 0x01, 0x8d, 0x09, 0x35, 0xd3, 0x8c, 0x84, 0x08, - 0x07, 0xd4, 0x1c, 0x77, 0x4c, 0x0f, 0xa3, 0x20, 0xc9, 0x8b, 0x0f, 0x48, 0x33, 0x92, 0x13, 0xb5, - 0xc9, 0x21, 0x50, 0x42, 0x60, 0xdc, 0x01, 0x1c, 0x6a, 0xd5, 0x23, 0x12, 0x11, 0x46, 0x99, 0x45, - 0xc4, 0x0b, 0x5a, 0xcd, 0x88, 0x90, 0x08, 0x07, 0x26, 0x3b, 0xb9, 0xa3, 0xd0, 0x84, 0xc9, 0x44, - 0xa4, 0xf4, 0xdf, 0xa9, 0x1c, 0xc5, 0x01, 0xcd, 0x61, 0x9c, 0x96, 0xb5, 0x1e, 0x29, 0x2e, 0x73, - 0xb8, 0x94, 0x1f, 0x44, 0xea, 0x74, 0x4b, 0xb3, 0x31, 0xf1, 0x03, 0x4c, 0x1d, 0x6f, 0x00, 0x51, - 0xe2, 0x60, 0x94, 0x0c, 0x05, 0x6c, 0xbc, 0x54, 0x94, 0xdd, 0x7e, 0xf1, 0xf7, 0x1a, 0x25, 0xc3, - 0xab, 0x87, 0xdb, 0x1b, 0xf5, 0x5e, 0xf9, 0x0f, 0x7d, 0x3f, 0x0b, 0x28, 0x6d, 0xc8, 0x87, 0xf2, - 0x49, 0xb5, 0x53, 0x07, 0xbc, 0x19, 0x50, 0x36, 0x03, 0x7a, 0xc9, 0xc4, 0x3a, 0x5a, 0x2f, 0xf4, - 0xbd, 0x09, 0x8c, 0x71, 0xd7, 0x10, 0xb8, 0xf1, 0xfe, 0xd6, 0xae, 0xf6, 0x78, 0x7c, 0x01, 0x73, - 0x68, 0x97, 0x1e, 0xf5, 0x52, 0xf9, 0x9b, 0x66, 0x84, 0x84, 0x8d, 0x0a, 0x13, 0x36, 0xc1, 0x96, - 0x4d, 0xdd, 0x15, 0x80, 0x55, 0x9f, 0x2d, 0x74, 0x69, 0xbd, 0xd0, 0x6b, 0xdc, 0xcc, 0xaa, 0x0c, - 0x9b, 0x57, 0xab, 0x8e, 0x52, 0xe3, 0x03, 0x78, 0x24, 0x09, 0x51, 0xd4, 0xf8, 0xc3, 0x6c, 0xfa, - 0x36, 0x1b, 0x1b, 0xa9, 0xcf, 0x30, 0xeb, 0x40, 0x38, 0xf7, 0xb9, 0xf3, 0xa7, 0xc2, 0xb0, 0xab, - 0xde, 0x86, 0xec, 0xee, 0xbc, 0x4e, 0x75, 0xf9, 0x6b, 0xaa, 0xcb, 0x96, 0x3d, 0x5b, 0x6a, 0xf2, - 0x7c, 0xa9, 0xc9, 0x9f, 0x4b, 0x4d, 0x7e, 0x5e, 0x69, 0xd2, 0x7c, 0xa5, 0x49, 0x1f, 0x2b, 0x4d, - 0x7a, 0x3c, 0x8f, 0x50, 0x3e, 0x18, 0xb9, 0xc0, 0x23, 0xb1, 0xc9, 0x2f, 0x6e, 0x63, 0xe8, 0x52, - 0x11, 0x17, 0xbb, 0x7e, 0xda, 0x6c, 0x5e, 0xbc, 0x91, 0x51, 0x8e, 0x30, 0x75, 0xff, 0xb1, 0xfd, - 0x9d, 0x7d, 0x07, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x4a, 0xe8, 0x52, 0x4d, 0x02, 0x00, 0x00, + 0xd4, 0x91, 0xa9, 0x42, 0xed, 0xc2, 0xdc, 0x27, 0x40, 0xb1, 0x13, 0x15, 0xa1, 0x4e, 0x39, 0xce, + 0xf9, 0xce, 0xe7, 0x73, 0x8e, 0xac, 0x1c, 0x7b, 0x3e, 0x8b, 0x28, 0x83, 0x49, 0x4a, 0x03, 0x4c, + 0x7c, 0x06, 0x27, 0x1d, 0xe8, 0x12, 0xec, 0xc7, 0x59, 0xfe, 0x01, 0x49, 0x4a, 0x33, 0xaa, 0x36, + 0x05, 0x04, 0x4a, 0x08, 0x4c, 0x3a, 0x40, 0x40, 0xad, 0x7a, 0x48, 0x43, 0xca, 0x29, 0x98, 0x47, + 0xa2, 0xa0, 0xd5, 0x0c, 0x29, 0x0d, 0x89, 0x0f, 0xf9, 0xc9, 0x19, 0x07, 0x10, 0xc5, 0xd3, 0x22, + 0xa5, 0xff, 0x4c, 0x65, 0x38, 0xf2, 0x59, 0x86, 0xa2, 0xa4, 0xac, 0x75, 0x69, 0x7e, 0x99, 0x2d, + 0xa4, 0xe2, 0x50, 0xa4, 0x4e, 0x77, 0x34, 0x1b, 0x51, 0xcf, 0x27, 0xcc, 0x76, 0x87, 0x08, 0xc7, + 0x36, 0xc1, 0xf1, 0xa8, 0x80, 0x8d, 0xe7, 0x8a, 0xf2, 0x7f, 0x90, 0xff, 0xbd, 0xc2, 0xf1, 0xe8, + 0xf2, 0xfe, 0xe6, 0x5a, 0xbd, 0x53, 0xfe, 0x22, 0xcf, 0x4b, 0x7d, 0xc6, 0x1a, 0xf2, 0xa1, 0x7c, + 0x52, 0xed, 0xd4, 0x81, 0x68, 0x06, 0x94, 0xcd, 0x80, 0x7e, 0x3c, 0x35, 0x8f, 0x36, 0x4b, 0x7d, + 0x6f, 0x8a, 0x22, 0xd2, 0x33, 0x0a, 0xdc, 0x78, 0x7b, 0x6d, 0x57, 0xfb, 0x22, 0x3e, 0x47, 0x19, + 0xb2, 0x4a, 0x8f, 0x7a, 0xa1, 0xfc, 0x4e, 0x52, 0x4a, 0x83, 0x46, 0x85, 0x0b, 0x9b, 0x60, 0xc7, + 0xa6, 0x6e, 0x73, 0xc0, 0xac, 0xcf, 0x97, 0xba, 0xb4, 0x59, 0xea, 0x35, 0x61, 0xe6, 0x55, 0x86, + 0x25, 0xaa, 0x55, 0x5b, 0xa9, 0x89, 0x01, 0x5c, 0x1a, 0x07, 0x38, 0x6c, 0xfc, 0xe2, 0x36, 0x7d, + 0x97, 0x8d, 0x8f, 0x34, 0xe0, 0x98, 0x79, 0x50, 0x38, 0xf7, 0x85, 0xf3, 0xbb, 0xc2, 0xb0, 0xaa, + 0xee, 0x96, 0xec, 0xfd, 0x7b, 0x99, 0xe9, 0xf2, 0xe7, 0x4c, 0x97, 0x4d, 0x6b, 0xbe, 0xd2, 0xe4, + 0xc5, 0x4a, 0x93, 0x3f, 0x56, 0x9a, 0xfc, 0xb4, 0xd6, 0xa4, 0xc5, 0x5a, 0x93, 0xde, 0xd7, 0x9a, + 0xf4, 0x70, 0x16, 0xe2, 0x6c, 0x38, 0x76, 0x80, 0x4b, 0x23, 0x28, 0x2e, 0x6e, 0x13, 0xe4, 0xb0, + 0x22, 0x86, 0x93, 0x2e, 0x7c, 0xdc, 0x6e, 0xbe, 0x78, 0x23, 0xe3, 0x0c, 0x13, 0xe6, 0xfc, 0xe1, + 0xfb, 0xeb, 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xda, 0x1a, 0x64, 0x4d, 0x02, 0x00, 0x00, } func (this *ChainLinkJSON) Equal(that interface{}) bool { diff --git a/x/profiles/keeper/grpc_query.go b/x/profiles/keeper/grpc_query.go index 5928229a31..38720fe9d9 100644 --- a/x/profiles/keeper/grpc_query.go +++ b/x/profiles/keeper/grpc_query.go @@ -1,6 +1,7 @@ package keeper import ( + "bytes" "context" "strings" @@ -174,6 +175,42 @@ func (k Keeper) ApplicationLinkByClientID(ctx context.Context, request *types.Qu return &types.QueryApplicationLinkByClientIDResponse{Link: link}, nil } +// ApplicationLinkOwners implements the Query/ApplicationLinkOwners gRPC method +func (k Keeper) ApplicationLinkOwners(ctx context.Context, request *types.QueryApplicationLinkOwnersRequest) (*types.QueryApplicationLinkOwnersResponse, error) { + sdkCtx := sdk.UnwrapSDKContext(ctx) + store := sdkCtx.KVStore(k.storeKey) + + ownersPrefix := types.ApplicationLinkAppPrefix + switch { + case request.Application != "" && request.Username != "": + ownersPrefix = types.ApplicationLinkAppUsernameKey(request.Application, request.Username) + case request.Application != "": + ownersPrefix = types.ApplicationLinkAppKey(request.Application) + } + + var owners []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails + ownersStore := prefix.NewStore(store, ownersPrefix) + pageRes, err := query.Paginate(ownersStore, request.Pagination, func(key []byte, value []byte) error { + keyWithPrefix := append(ownersPrefix, key...) + cleanedKey := bytes.TrimSuffix(bytes.TrimPrefix(keyWithPrefix, types.ApplicationLinkAppPrefix), value) + values := bytes.Split(cleanedKey, types.Separator) + application, username := values[0], values[1] + + owners = append(owners, types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ + User: string(value), + Application: string(application), + Username: string(username), + }) + return nil + }) + + if err != nil { + return nil, status.Error(codes.Internal, err.Error()) + } + + return &types.QueryApplicationLinkOwnersResponse{Owners: owners, Pagination: pageRes}, nil +} + // Params implements the Query/Params gRPC method func (k Keeper) Params(ctx context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { sdkCtx := sdk.UnwrapSDKContext(ctx) diff --git a/x/profiles/keeper/grpc_query_test.go b/x/profiles/keeper/grpc_query_test.go index a4f1acd534..c95f94a563 100644 --- a/x/profiles/keeper/grpc_query_test.go +++ b/x/profiles/keeper/grpc_query_test.go @@ -930,6 +930,273 @@ func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinkByClientID() { } } +func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinkOwners() { + testCases := []struct { + name string + store func(ctx sdk.Context) + req *types.QueryApplicationLinkOwnersRequest + shouldErr bool + expOwners []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails + }{ + { + name: "query without any data returns everything", + store: func(ctx sdk.Context) { + profile := testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewData("twitter", "twitter_user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "twitter", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + + profile = testutil.ProfileFromAddr("cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um", + types.NewData("github", "github_user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "twitter", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + }, + req: types.NewQueryApplicationLinkOwnersRequest("", ""), + shouldErr: false, + expOwners: []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ + { + User: "cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um", + Application: "github", + Username: "github_user", + }, + { + User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + Application: "twitter", + Username: "twitter_user", + }, + }, + }, + { + name: "query with application returns only that application links", + store: func(ctx sdk.Context) { + profile := testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewData("twitter", "first_user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "twitter", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + + profile = testutil.ProfileFromAddr("cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um", + types.NewData("twitter", "second_user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "twitter", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + + profile = testutil.ProfileFromAddr("cosmos1pxsak5c7ke5tz3d8alawuzu3cayr9s65ce7njr") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1pxsak5c7ke5tz3d8alawuzu3cayr9s65ce7njr", + types.NewData("github", "second_user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "github", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + }, + req: types.NewQueryApplicationLinkOwnersRequest("twitter", ""), + shouldErr: false, + expOwners: []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ + { + User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + Application: "twitter", + Username: "first_user", + }, + { + User: "cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um", + Application: "twitter", + Username: "second_user", + }, + }, + }, + { + name: "query with application and username returns correct data", + store: func(ctx sdk.Context) { + profile := testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewData("twitter", "user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "twitter", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + + profile = testutil.ProfileFromAddr("cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um", + types.NewData("twitter", "user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "twitter", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + + profile = testutil.ProfileFromAddr("cosmos1mrmyggajlv0k3mlrhergjjnt75srn5y5u5a83x") + suite.ak.SetAccount(ctx, profile) + + suite.Require().NoError(suite.k.SaveApplicationLink( + ctx, + types.NewApplicationLink( + "cosmos1mrmyggajlv0k3mlrhergjjnt75srn5y5u5a83x", + types.NewData("twitter", "second_user"), + types.ApplicationLinkStateInitialized, + types.NewOracleRequest( + 0, + 1, + types.NewOracleRequestCallData( + "twitter", + "7B22757365726E616D65223A22526963636172646F4D222C22676973745F6964223A223732306530303732333930613930316262383065353966643630643766646564227D", + ), + "client_id", + ), + nil, + time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + )), + ) + }, + req: types.NewQueryApplicationLinkOwnersRequest("twitter", "user"), + shouldErr: false, + expOwners: []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ + { + User: "cosmos1ngzeux3j0vfkps0779y0c8pnrmszlg0hekp5um", + Application: "twitter", + Username: "user", + }, + { + User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + Application: "twitter", + Username: "user", + }, + }, + }, + } + + for _, tc := range testCases { + tc := tc + suite.Run(tc.name, func() { + ctx, _ := suite.ctx.CacheContext() + if tc.store != nil { + tc.store(ctx) + } + + res, err := suite.k.ApplicationLinkOwners(sdk.WrapSDKContext(ctx), tc.req) + if tc.shouldErr { + suite.Require().Error(err) + } else { + suite.Require().NoError(err) + suite.Require().Equal(tc.expOwners, res.Owners) + } + }) + } +} + func (suite *KeeperTestSuite) TestQueryServer_Params() { ctx, _ := suite.ctx.CacheContext() diff --git a/x/profiles/keeper/migrations.go b/x/profiles/keeper/migrations.go index a71cda6acf..3186d5e8bd 100644 --- a/x/profiles/keeper/migrations.go +++ b/x/profiles/keeper/migrations.go @@ -6,6 +6,8 @@ import ( authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" "github.com/gogo/protobuf/grpc" + v5 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v5" + "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" ) @@ -33,3 +35,8 @@ func NewMigrator(ak authkeeper.AccountKeeper, keeper Keeper, amino *codec.Legacy func (m Migrator) Migrate4to5(ctx sdk.Context) error { return v1beta1.MigrateStore(ctx, m.ak, m.keeper.storeKey, m.amino, m.keeper.cdc) } + +// Migrate5To6 migrates from version 5 to 6. +func (m Migrator) Migrate5To6(ctx sdk.Context) error { + return v5.MigrateStore(ctx, m.keeper.storeKey, m.keeper.cdc) +} diff --git a/x/profiles/legacy/v1beta1/models_chain_links.pb.go b/x/profiles/legacy/v1beta1/models_chain_links.pb.go index 97e4d7daef..7eb6527547 100644 --- a/x/profiles/legacy/v1beta1/models_chain_links.pb.go +++ b/x/profiles/legacy/v1beta1/models_chain_links.pb.go @@ -302,44 +302,44 @@ var fileDescriptor_1c1946212735e419 = []byte{ // 637 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x54, 0x3d, 0x6f, 0xd3, 0x4c, 0x1c, 0x8f, 0x9f, 0x36, 0xad, 0x72, 0x49, 0x1e, 0xda, 0x23, 0x88, 0xd0, 0x4a, 0xbe, 0x72, 0x20, - 0x54, 0x86, 0xda, 0x34, 0x05, 0x09, 0x65, 0xa2, 0x2e, 0x03, 0x02, 0x06, 0xb0, 0x32, 0xb1, 0x44, + 0x54, 0x86, 0xda, 0xb4, 0x05, 0x09, 0x65, 0xa2, 0x2e, 0x03, 0x02, 0x06, 0xb0, 0x32, 0xb1, 0x44, 0x67, 0xe7, 0xe2, 0x5a, 0xb5, 0x7d, 0x96, 0xcf, 0xae, 0x12, 0x09, 0x89, 0x95, 0xb1, 0x23, 0x63, - 0x27, 0x3e, 0x01, 0x9f, 0x80, 0xa9, 0x62, 0xaa, 0x98, 0x98, 0x0c, 0x6a, 0x17, 0xe6, 0x7c, 0x02, - 0x74, 0x77, 0x76, 0x13, 0x5a, 0x05, 0x89, 0x89, 0xed, 0xee, 0xff, 0x7b, 0xb9, 0xff, 0x9b, 0x0d, - 0x1e, 0x0c, 0x28, 0x0f, 0x19, 0x37, 0xe3, 0x84, 0x0d, 0xfd, 0x80, 0x72, 0xf3, 0x70, 0xdb, 0xa1, - 0x29, 0xd9, 0x36, 0x43, 0x36, 0xa0, 0x01, 0xef, 0xbb, 0xfb, 0xc4, 0x8f, 0xfa, 0x81, 0x1f, 0x1d, - 0x70, 0x23, 0x4e, 0x58, 0xca, 0xe0, 0x4d, 0xa5, 0x30, 0x4a, 0x85, 0x51, 0x28, 0xd6, 0x5a, 0x1e, - 0xf3, 0x98, 0xe4, 0x98, 0xe2, 0xa4, 0xe8, 0x6b, 0xb7, 0x3c, 0xc6, 0xbc, 0x80, 0x9a, 0xf2, 0xe6, - 0x64, 0x43, 0x93, 0x44, 0xe3, 0x02, 0x42, 0x97, 0xa1, 0xd4, 0x0f, 0x29, 0x4f, 0x49, 0x18, 0x97, - 0x5a, 0x97, 0x89, 0xa7, 0xfa, 0xca, 0x54, 0x5d, 0x14, 0x84, 0x3f, 0x2e, 0x80, 0xda, 0x9e, 0xc8, - 0xed, 0xa5, 0x1f, 0x1d, 0xc0, 0x3b, 0x60, 0x31, 0xe3, 0x34, 0x69, 0x6b, 0x1b, 0xda, 0x66, 0xcd, - 0xba, 0x36, 0xc9, 0x51, 0x7d, 0x4c, 0xc2, 0xa0, 0x8b, 0x45, 0x14, 0xdb, 0x12, 0x84, 0xaf, 0xc1, - 0x32, 0x19, 0x0c, 0x12, 0xca, 0x79, 0xfb, 0xbf, 0x0d, 0x6d, 0xb3, 0xde, 0x69, 0x19, 0x2a, 0x01, - 0xa3, 0x4c, 0xc0, 0xd8, 0x8d, 0xc6, 0xd6, 0xed, 0x49, 0x8e, 0xfe, 0x57, 0xea, 0x82, 0x8e, 0xbf, - 0x7c, 0xda, 0xaa, 0xef, 0xaa, 0xf3, 0x53, 0x92, 0x12, 0xbb, 0xf4, 0x81, 0xcf, 0x41, 0x35, 0x4e, - 0x18, 0x1b, 0xb6, 0x17, 0xa4, 0xa1, 0x6e, 0xcc, 0xe9, 0x8d, 0xf1, 0x4a, 0xb0, 0xac, 0xd6, 0x49, - 0x8e, 0x2a, 0x93, 0x1c, 0x35, 0x94, 0xbd, 0x94, 0x62, 0x5b, 0x59, 0xc0, 0x01, 0x68, 0xa8, 0x66, - 0xbb, 0x2c, 0x1a, 0xfa, 0x5e, 0x7b, 0x51, 0x5a, 0xde, 0x9d, 0x6b, 0x29, 0xab, 0xdf, 0x93, 0x5c, - 0x6b, 0xbd, 0x30, 0xbe, 0xae, 0x8c, 0x67, 0x7d, 0xb0, 0x5d, 0x77, 0xa7, 0x4c, 0x48, 0x40, 0xd3, - 0x4d, 0x28, 0x49, 0x7d, 0x16, 0xf5, 0x45, 0xbb, 0xdb, 0x55, 0xf9, 0xcc, 0xda, 0x95, 0x56, 0xf4, - 0xca, 0x59, 0x58, 0x1b, 0x85, 0x79, 0xab, 0x30, 0x9f, 0x95, 0xe3, 0xa3, 0xef, 0x48, 0xb3, 0x1b, - 0x65, 0x4c, 0x88, 0xba, 0x8d, 0xf7, 0xc7, 0xa8, 0xf2, 0xe1, 0x18, 0x69, 0x3f, 0x8f, 0x91, 0x86, - 0x9f, 0x80, 0xfa, 0x4c, 0xa6, 0x62, 0x52, 0x11, 0x09, 0xe9, 0xd5, 0x49, 0x89, 0x28, 0xb6, 0x25, - 0x78, 0xc9, 0xe1, 0xb3, 0x06, 0xaa, 0xb2, 0x7f, 0x70, 0x17, 0x2c, 0xc7, 0x99, 0xd3, 0x3f, 0xa0, - 0x63, 0xa9, 0x9f, 0x37, 0x41, 0x38, 0x9d, 0x60, 0x41, 0xc7, 0xf6, 0x52, 0x9c, 0x39, 0x2f, 0xe8, - 0x18, 0x76, 0x40, 0x8d, 0xfb, 0x5e, 0x44, 0xd2, 0x2c, 0xa1, 0x72, 0x0d, 0x6a, 0x56, 0x6b, 0x92, - 0xa3, 0x15, 0x45, 0xbf, 0x80, 0xb0, 0x3d, 0xa5, 0xc1, 0x87, 0x00, 0xc4, 0x81, 0xe8, 0x68, 0x4a, - 0x47, 0xa9, 0x1c, 0x75, 0xcd, 0xba, 0x31, 0xc9, 0xd1, 0x6a, 0xf1, 0xc6, 0x05, 0x86, 0xed, 0x9a, - 0xbc, 0xf4, 0xe8, 0x28, 0xbd, 0x54, 0xc4, 0x3b, 0xd0, 0xb4, 0xa8, 0xbb, 0xbf, 0xd3, 0x29, 0xf6, - 0x08, 0xde, 0x03, 0xd5, 0x43, 0x12, 0x64, 0x65, 0x27, 0x56, 0xa6, 0x6b, 0x21, 0xc3, 0xd8, 0x56, - 0x30, 0xbc, 0x0f, 0x96, 0xe2, 0x84, 0x0e, 0xfd, 0x51, 0x91, 0xed, 0xea, 0x24, 0x47, 0xcd, 0x72, - 0x7f, 0x44, 0x5c, 0xd4, 0x26, 0x0f, 0xdd, 0xf5, 0xd9, 0x17, 0xbf, 0xfe, 0xbe, 0xb3, 0xb8, 0x07, - 0x9a, 0x16, 0xe1, 0xf4, 0xd1, 0xe3, 0xbf, 0x4c, 0xe0, 0xcf, 0xae, 0x6f, 0x01, 0x78, 0x46, 0x47, - 0xff, 0xa8, 0x26, 0xab, 0x77, 0x72, 0xa6, 0x6b, 0xa7, 0x67, 0xba, 0xf6, 0xe3, 0x4c, 0xd7, 0x8e, - 0xce, 0xf5, 0xca, 0xe9, 0xb9, 0x5e, 0xf9, 0x76, 0xae, 0x57, 0xde, 0x74, 0x3d, 0x3f, 0xdd, 0xcf, - 0x1c, 0xc3, 0x65, 0xa1, 0xa9, 0x3e, 0xa0, 0xad, 0x80, 0x38, 0xbc, 0x38, 0x9b, 0x87, 0x1d, 0x73, - 0x34, 0xfd, 0xe5, 0x05, 0xd4, 0x23, 0xee, 0xb8, 0xfc, 0xf3, 0x39, 0x4b, 0x72, 0x99, 0x76, 0x7e, - 0x05, 0x00, 0x00, 0xff, 0xff, 0x2c, 0x76, 0x75, 0x8d, 0x1b, 0x05, 0x00, 0x00, + 0x27, 0x3e, 0x01, 0x9f, 0x80, 0xa9, 0x62, 0xaa, 0x98, 0x98, 0x0c, 0x6a, 0x17, 0x66, 0x7f, 0x02, + 0x74, 0x77, 0x76, 0x13, 0x5a, 0x15, 0x89, 0x89, 0xed, 0xee, 0xff, 0x7b, 0xb9, 0xff, 0x9b, 0x0d, + 0x1e, 0x0c, 0x29, 0x0f, 0x19, 0x37, 0xe3, 0x84, 0x8d, 0xfc, 0x80, 0x72, 0xf3, 0x60, 0xd3, 0xa1, + 0x29, 0xd9, 0x34, 0x43, 0x36, 0xa4, 0x01, 0x1f, 0xb8, 0x7b, 0xc4, 0x8f, 0x06, 0x81, 0x1f, 0xed, + 0x73, 0x23, 0x4e, 0x58, 0xca, 0xe0, 0x4d, 0xa5, 0x30, 0x2a, 0x85, 0x51, 0x2a, 0x56, 0x3a, 0x1e, + 0xf3, 0x98, 0xe4, 0x98, 0xe2, 0xa4, 0xe8, 0x2b, 0xb7, 0x3c, 0xc6, 0xbc, 0x80, 0x9a, 0xf2, 0xe6, + 0x64, 0x23, 0x93, 0x44, 0x93, 0x12, 0x42, 0x17, 0xa1, 0xd4, 0x0f, 0x29, 0x4f, 0x49, 0x18, 0x57, + 0x5a, 0x97, 0x89, 0xa7, 0x06, 0xca, 0x54, 0x5d, 0x14, 0x84, 0x3f, 0xce, 0x81, 0xc6, 0xae, 0xc8, + 0xed, 0xa5, 0x1f, 0xed, 0xc3, 0x3b, 0x60, 0x3e, 0xe3, 0x34, 0xe9, 0x6a, 0x6b, 0xda, 0x7a, 0xc3, + 0xba, 0x56, 0xe4, 0xa8, 0x39, 0x21, 0x61, 0xd0, 0xc3, 0x22, 0x8a, 0x6d, 0x09, 0xc2, 0xd7, 0x60, + 0x91, 0x0c, 0x87, 0x09, 0xe5, 0xbc, 0xfb, 0xdf, 0x9a, 0xb6, 0xde, 0xdc, 0xea, 0x18, 0x2a, 0x01, + 0xa3, 0x4a, 0xc0, 0xd8, 0x89, 0x26, 0xd6, 0xed, 0x22, 0x47, 0xff, 0x2b, 0x75, 0x49, 0xc7, 0x5f, + 0x3e, 0x6d, 0x34, 0x77, 0xd4, 0xf9, 0x29, 0x49, 0x89, 0x5d, 0xf9, 0xc0, 0xe7, 0xa0, 0x1e, 0x27, + 0x8c, 0x8d, 0xba, 0x73, 0xd2, 0x50, 0x37, 0xae, 0xe8, 0x8d, 0xf1, 0x4a, 0xb0, 0xac, 0xce, 0x71, + 0x8e, 0x6a, 0x45, 0x8e, 0x5a, 0xca, 0x5e, 0x4a, 0xb1, 0xad, 0x2c, 0xe0, 0x10, 0xb4, 0x54, 0xb3, + 0x5d, 0x16, 0x8d, 0x7c, 0xaf, 0x3b, 0x2f, 0x2d, 0xef, 0x5e, 0x69, 0x29, 0xab, 0xdf, 0x95, 0x5c, + 0x6b, 0xb5, 0x34, 0xbe, 0xae, 0x8c, 0x67, 0x7d, 0xb0, 0xdd, 0x74, 0xa7, 0x4c, 0x48, 0x40, 0xdb, + 0x4d, 0x28, 0x49, 0x7d, 0x16, 0x0d, 0x44, 0xbb, 0xbb, 0x75, 0xf9, 0xcc, 0xca, 0xa5, 0x56, 0xf4, + 0xab, 0x59, 0x58, 0x6b, 0xa5, 0x79, 0xa7, 0x34, 0x9f, 0x95, 0xe3, 0xc3, 0xef, 0x48, 0xb3, 0x5b, + 0x55, 0x4c, 0x88, 0x7a, 0xad, 0xf7, 0x47, 0xa8, 0xf6, 0xe1, 0x08, 0x69, 0x3f, 0x8f, 0x90, 0x86, + 0x9f, 0x80, 0xe6, 0x4c, 0xa6, 0x62, 0x52, 0x11, 0x09, 0xe9, 0xe5, 0x49, 0x89, 0x28, 0xb6, 0x25, + 0x78, 0xc1, 0xe1, 0xb3, 0x06, 0xea, 0xb2, 0x7f, 0x70, 0x07, 0x2c, 0xc6, 0x99, 0x33, 0xd8, 0xa7, + 0x13, 0xa9, 0xbf, 0x6a, 0x82, 0x70, 0x3a, 0xc1, 0x92, 0x8e, 0xed, 0x85, 0x38, 0x73, 0x5e, 0xd0, + 0x09, 0xdc, 0x02, 0x0d, 0xee, 0x7b, 0x11, 0x49, 0xb3, 0x84, 0xca, 0x35, 0x68, 0x58, 0x9d, 0x22, + 0x47, 0x4b, 0x8a, 0x7e, 0x0e, 0x61, 0x7b, 0x4a, 0x83, 0x0f, 0x01, 0x88, 0x03, 0xd1, 0xd1, 0x94, + 0x8e, 0x53, 0x39, 0xea, 0x86, 0x75, 0xa3, 0xc8, 0xd1, 0x72, 0xf9, 0xc6, 0x39, 0x86, 0xed, 0x86, + 0xbc, 0xf4, 0xe9, 0x38, 0xbd, 0x50, 0xc4, 0x3b, 0xd0, 0xb6, 0xa8, 0xbb, 0xb7, 0xbd, 0x55, 0xee, + 0x11, 0xbc, 0x07, 0xea, 0x07, 0x24, 0xc8, 0xaa, 0x4e, 0x2c, 0x4d, 0xd7, 0x42, 0x86, 0xb1, 0xad, + 0x60, 0x78, 0x1f, 0x2c, 0xc4, 0x09, 0x1d, 0xf9, 0xe3, 0x32, 0xdb, 0xe5, 0x22, 0x47, 0xed, 0x6a, + 0x7f, 0x44, 0x5c, 0xd4, 0x26, 0x0f, 0xbd, 0xd5, 0xd9, 0x17, 0xbf, 0xfe, 0xbe, 0xb3, 0xb8, 0x0f, + 0xda, 0x16, 0xe1, 0xf4, 0xd1, 0xe3, 0xbf, 0x4c, 0xe0, 0xcf, 0xae, 0x6f, 0x01, 0x78, 0x46, 0xc7, + 0xff, 0xa8, 0x26, 0xab, 0x7f, 0x7c, 0xaa, 0x6b, 0x27, 0xa7, 0xba, 0xf6, 0xe3, 0x54, 0xd7, 0x0e, + 0xcf, 0xf4, 0xda, 0xc9, 0x99, 0x5e, 0xfb, 0x76, 0xa6, 0xd7, 0xde, 0xf4, 0x3c, 0x3f, 0xdd, 0xcb, + 0x1c, 0xc3, 0x65, 0xa1, 0xa9, 0x3e, 0xa0, 0x8d, 0x80, 0x38, 0xbc, 0x3c, 0x9b, 0x07, 0xdb, 0xe6, + 0x78, 0xfa, 0xcb, 0x0b, 0xa8, 0x47, 0xdc, 0x49, 0xf5, 0xe7, 0x73, 0x16, 0xe4, 0x32, 0x6d, 0xff, + 0x0a, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x61, 0xeb, 0x42, 0x1b, 0x05, 0x00, 0x00, } func (this *ChainLink) Equal(that interface{}) bool { diff --git a/x/profiles/legacy/v1beta1/models_profile.pb.go b/x/profiles/legacy/v1beta1/models_profile.pb.go index de55cbbebb..5c17674a7e 100644 --- a/x/profiles/legacy/v1beta1/models_profile.pb.go +++ b/x/profiles/legacy/v1beta1/models_profile.pb.go @@ -146,7 +146,7 @@ var fileDescriptor_a19232e029005b86 = []byte{ // 489 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x3f, 0x6f, 0xd3, 0x40, 0x18, 0xc6, 0x6d, 0x92, 0x36, 0xee, 0x35, 0x14, 0x74, 0x44, 0x8a, 0xc9, 0xe0, 0x0b, 0x37, 0xa0, - 0x4a, 0xb4, 0x3e, 0xb5, 0x6c, 0x11, 0x4b, 0xad, 0x2e, 0x6c, 0x95, 0x15, 0x31, 0xb0, 0x44, 0x67, + 0x4a, 0xb4, 0x3e, 0x95, 0x6e, 0x11, 0x4b, 0xad, 0x2e, 0x6c, 0x95, 0x15, 0x31, 0xb0, 0x44, 0x67, 0xe7, 0x6a, 0x0c, 0xb6, 0x2f, 0x8a, 0x2f, 0x11, 0xf9, 0x06, 0x0c, 0x0c, 0x1d, 0x3b, 0xe6, 0x43, 0xf0, 0x21, 0x2a, 0xa6, 0x8e, 0x4c, 0x06, 0x25, 0x0b, 0xb3, 0x3f, 0x01, 0xf2, 0xfd, 0x69, 0x05, 0xa8, 0xdb, 0xdd, 0xfb, 0xfc, 0xde, 0xe7, 0x7d, 0xf5, 0xdc, 0x81, 0xa3, 0x29, 0x2b, 0x73, 0x5e, @@ -156,25 +156,25 @@ var fileDescriptor_a19232e029005b86 = []byte{ 0x91, 0xb7, 0x68, 0x71, 0x49, 0x68, 0xb1, 0xd2, 0x12, 0xfa, 0x57, 0x12, 0x69, 0xce, 0x4a, 0x41, 0xf3, 0x99, 0xe9, 0x8d, 0x79, 0x33, 0x6a, 0xa2, 0x4c, 0xd5, 0x45, 0x49, 0xf8, 0x6b, 0x0b, 0x74, 0x2e, 0xd4, 0x06, 0xf0, 0x0d, 0xe8, 0xd0, 0x38, 0xe6, 0x8b, 0x42, 0xb8, 0xf6, 0xd0, 0x3e, 0xdc, - 0x3f, 0xed, 0xf9, 0xca, 0xd9, 0x37, 0xce, 0xfe, 0x59, 0xb1, 0x0a, 0xba, 0xdf, 0xbf, 0x1d, 0x3b, - 0x67, 0x0a, 0x7c, 0x1b, 0x9a, 0x16, 0xf8, 0x0a, 0xb4, 0xa7, 0x82, 0x26, 0xee, 0xa3, 0xa1, 0x7d, - 0xb8, 0x17, 0xf4, 0x37, 0x15, 0x6a, 0x9f, 0x8f, 0x69, 0x52, 0x57, 0x68, 0x7f, 0x45, 0xf3, 0x6c, - 0x84, 0x1b, 0x15, 0x87, 0x12, 0x82, 0x04, 0x38, 0x45, 0x1a, 0x7f, 0x2a, 0x68, 0xce, 0xdc, 0x96, - 0x6c, 0x78, 0x56, 0x57, 0xe8, 0x89, 0x02, 0x8d, 0x82, 0xc3, 0x3b, 0x08, 0x0e, 0x41, 0x2b, 0x4a, - 0xb9, 0xdb, 0x96, 0xec, 0x41, 0x5d, 0x21, 0xa0, 0xd8, 0x28, 0xe5, 0x38, 0x6c, 0x24, 0xf8, 0x0e, - 0x38, 0xb3, 0x34, 0x16, 0x8b, 0x39, 0x2b, 0xdd, 0x1d, 0xb9, 0xfe, 0x0b, 0xff, 0x81, 0x88, 0xfd, - 0x0b, 0x0d, 0x06, 0xfd, 0x9b, 0x0a, 0x59, 0xf7, 0x93, 0x8d, 0x01, 0x0e, 0xef, 0xbc, 0x20, 0x05, - 0x8f, 0xe3, 0x39, 0xa3, 0x22, 0xe5, 0xc5, 0x64, 0x4a, 0x05, 0x73, 0x77, 0xa5, 0xf9, 0xe0, 0xbf, - 0x6c, 0xc6, 0x26, 0xf5, 0x60, 0xa8, 0x5d, 0x7b, 0xca, 0xf5, 0xaf, 0x76, 0x7c, 0xf5, 0x13, 0xd9, - 0x61, 0xd7, 0xd4, 0xce, 0xa9, 0x60, 0x23, 0xe7, 0xcb, 0x1a, 0x59, 0xd7, 0x6b, 0x64, 0xe1, 0x8f, - 0xc0, 0x31, 0xbb, 0xc1, 0x23, 0xd0, 0xd1, 0x8b, 0xcb, 0xe7, 0xd8, 0x0b, 0x60, 0x5d, 0xa1, 0x03, - 0xbd, 0xa8, 0x12, 0x70, 0x68, 0x10, 0xf8, 0x12, 0xec, 0xc4, 0x7c, 0xc9, 0xe6, 0x3a, 0xff, 0xa7, - 0x75, 0x85, 0xba, 0x7a, 0x7c, 0x53, 0xc6, 0xa1, 0x92, 0x47, 0xce, 0xf5, 0x1a, 0xd9, 0xbf, 0xd7, - 0xc8, 0x0e, 0xc6, 0x37, 0x1b, 0xcf, 0xbe, 0xdd, 0x78, 0xf6, 0xaf, 0x8d, 0x67, 0x5f, 0x6d, 0x3d, - 0xeb, 0x76, 0xeb, 0x59, 0x3f, 0xb6, 0x9e, 0xf5, 0x7e, 0x94, 0xa4, 0xe2, 0xc3, 0x22, 0xf2, 0x63, - 0x9e, 0x13, 0x15, 0xe1, 0x71, 0x46, 0xa3, 0x52, 0x9f, 0xc9, 0xf2, 0x94, 0x7c, 0xbe, 0xff, 0xe4, - 0x19, 0x4b, 0x68, 0xbc, 0x32, 0x7f, 0x3d, 0xda, 0x95, 0x79, 0xbc, 0xfe, 0x13, 0x00, 0x00, 0xff, - 0xff, 0xc3, 0x1a, 0x99, 0xee, 0x0d, 0x03, 0x00, 0x00, + 0x7f, 0xdd, 0xf3, 0x95, 0xb3, 0x6f, 0x9c, 0xfd, 0xb3, 0x62, 0x15, 0x74, 0xbf, 0x7f, 0x3b, 0x76, + 0xce, 0x14, 0xf8, 0x36, 0x34, 0x2d, 0xf0, 0x15, 0x68, 0x4f, 0x05, 0x4d, 0xdc, 0x47, 0x43, 0xfb, + 0x70, 0x2f, 0xe8, 0x6f, 0x2a, 0xd4, 0x3e, 0x1f, 0xd3, 0xa4, 0xae, 0xd0, 0xfe, 0x8a, 0xe6, 0xd9, + 0x08, 0x37, 0x2a, 0x0e, 0x25, 0x04, 0x09, 0x70, 0x8a, 0x34, 0xfe, 0x54, 0xd0, 0x9c, 0xb9, 0x2d, + 0xd9, 0xf0, 0xac, 0xae, 0xd0, 0x13, 0x05, 0x1a, 0x05, 0x87, 0x77, 0x10, 0x1c, 0x82, 0x56, 0x94, + 0x72, 0xb7, 0x2d, 0xd9, 0x83, 0xba, 0x42, 0x40, 0xb1, 0x51, 0xca, 0x71, 0xd8, 0x48, 0xf0, 0x1d, + 0x70, 0x66, 0x69, 0x2c, 0x16, 0x73, 0x56, 0xba, 0x3b, 0x72, 0xfd, 0x17, 0xfe, 0x03, 0x11, 0xfb, + 0x17, 0x1a, 0x0c, 0xfa, 0x37, 0x15, 0xb2, 0xee, 0x27, 0x1b, 0x03, 0x1c, 0xde, 0x79, 0x41, 0x0a, + 0x1e, 0xc7, 0x73, 0x46, 0x45, 0xca, 0x8b, 0xc9, 0x94, 0x0a, 0xe6, 0xee, 0x4a, 0xf3, 0xc1, 0x7f, + 0xd9, 0x8c, 0x4d, 0xea, 0xc1, 0x50, 0xbb, 0xf6, 0x94, 0xeb, 0x5f, 0xed, 0xf8, 0xea, 0x27, 0xb2, + 0xc3, 0xae, 0xa9, 0x9d, 0x53, 0xc1, 0x46, 0xce, 0x97, 0x35, 0xb2, 0xae, 0xd7, 0xc8, 0xc2, 0x1f, + 0x81, 0x63, 0x76, 0x83, 0x47, 0xa0, 0xa3, 0x17, 0x97, 0xcf, 0xb1, 0x17, 0xc0, 0xba, 0x42, 0x07, + 0x7a, 0x51, 0x25, 0xe0, 0xd0, 0x20, 0xf0, 0x25, 0xd8, 0x89, 0xf9, 0x92, 0xcd, 0x75, 0xfe, 0x4f, + 0xeb, 0x0a, 0x75, 0xf5, 0xf8, 0xa6, 0x8c, 0x43, 0x25, 0x8f, 0x9c, 0xeb, 0x35, 0xb2, 0x7f, 0xaf, + 0x91, 0x1d, 0x8c, 0x6f, 0x36, 0x9e, 0x7d, 0xbb, 0xf1, 0xec, 0x5f, 0x1b, 0xcf, 0xbe, 0xda, 0x7a, + 0xd6, 0xed, 0xd6, 0xb3, 0x7e, 0x6c, 0x3d, 0xeb, 0xfd, 0x28, 0x49, 0xc5, 0x87, 0x45, 0xe4, 0xc7, + 0x3c, 0x27, 0x2a, 0xc2, 0xe3, 0x8c, 0x46, 0xa5, 0x3e, 0x93, 0xe5, 0x29, 0xf9, 0x7c, 0xff, 0xc9, + 0x33, 0x96, 0xd0, 0x78, 0x65, 0xfe, 0x7a, 0xb4, 0x2b, 0xf3, 0x38, 0xfd, 0x13, 0x00, 0x00, 0xff, + 0xff, 0x0b, 0x0d, 0x07, 0x21, 0x0d, 0x03, 0x00, 0x00, } func (this *Pictures) Equal(that interface{}) bool { diff --git a/x/profiles/legacy/v1beta1/models_relationships.pb.go b/x/profiles/legacy/v1beta1/models_relationships.pb.go index 4418f90925..c3b69c9430 100644 --- a/x/profiles/legacy/v1beta1/models_relationships.pb.go +++ b/x/profiles/legacy/v1beta1/models_relationships.pb.go @@ -176,29 +176,29 @@ var fileDescriptor_47c7d48489f1a7d0 = []byte{ // 397 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x92, 0x3f, 0x8f, 0xd3, 0x30, 0x18, 0xc6, 0x6b, 0x40, 0x07, 0x35, 0xff, 0xa3, 0x93, 0x28, 0x37, 0xc4, 0xe0, 0x09, 0x24, 0x88, - 0x75, 0x65, 0xeb, 0x18, 0xb1, 0xdc, 0x1a, 0x60, 0x61, 0xa9, 0x9c, 0xc4, 0x97, 0x5a, 0x38, 0x71, - 0x64, 0xbb, 0x15, 0xfd, 0x16, 0x8c, 0x8c, 0xfd, 0x24, 0xcc, 0x8c, 0x1d, 0x99, 0xa2, 0x2a, 0x5d, - 0x98, 0xf3, 0x09, 0x50, 0x62, 0xbb, 0x45, 0x85, 0xed, 0xb6, 0xd7, 0x7e, 0x7e, 0x8f, 0xfd, 0xbc, - 0xd2, 0x03, 0xa7, 0x39, 0xd3, 0xa5, 0xd4, 0xa4, 0x56, 0xf2, 0x9a, 0x0b, 0xa6, 0xc9, 0xea, 0x32, - 0x65, 0x86, 0x5e, 0x92, 0x52, 0xe6, 0x4c, 0xe8, 0xb9, 0x62, 0x82, 0x1a, 0x2e, 0x2b, 0xbd, 0xe0, + 0x75, 0x77, 0x5b, 0xc7, 0x88, 0xe5, 0xd6, 0x00, 0x0b, 0x4b, 0xe5, 0x24, 0x6e, 0x6a, 0xe1, 0xc4, + 0x91, 0xed, 0x56, 0xf4, 0x5b, 0x30, 0x32, 0xf6, 0x93, 0x30, 0x33, 0x76, 0x64, 0x8a, 0xaa, 0x74, + 0x61, 0xce, 0x27, 0x40, 0x89, 0xed, 0x16, 0x15, 0x36, 0xb6, 0xd7, 0x7e, 0x7e, 0x8f, 0xfd, 0xbc, + 0xd2, 0x03, 0xaf, 0x72, 0xa6, 0x4b, 0xa9, 0x49, 0xad, 0xe4, 0x9c, 0x0b, 0xa6, 0xc9, 0xea, 0x32, + 0x65, 0x86, 0x5e, 0x92, 0x52, 0xe6, 0x4c, 0xe8, 0x99, 0x62, 0x82, 0x1a, 0x2e, 0x2b, 0xbd, 0xe0, 0xb5, 0x8e, 0x6a, 0x25, 0x8d, 0x0c, 0x9e, 0x59, 0x4f, 0xe4, 0x3d, 0x91, 0xf3, 0x5c, 0x9c, 0x17, 0xb2, 0x90, 0x03, 0x43, 0xfa, 0xc9, 0xe2, 0x17, 0xcf, 0x0b, 0x29, 0x0b, 0xc1, 0xc8, 0x70, 0x4a, - 0x97, 0xd7, 0x84, 0x56, 0x6b, 0x27, 0xa1, 0x53, 0xc9, 0xf0, 0x92, 0x69, 0x43, 0xcb, 0xda, 0x7b, - 0x33, 0xd9, 0x7f, 0x35, 0xb7, 0x8f, 0xda, 0x83, 0x95, 0xf0, 0x0f, 0x00, 0x1f, 0x24, 0x7f, 0xa5, - 0x0b, 0xde, 0xc0, 0xbb, 0x99, 0x62, 0xd4, 0x48, 0x35, 0x01, 0x2f, 0xc0, 0xab, 0x71, 0x1c, 0x74, - 0x0d, 0x7a, 0xb4, 0xa6, 0xa5, 0x98, 0x61, 0x27, 0xe0, 0xc4, 0x23, 0xc1, 0x14, 0x8e, 0x15, 0xcb, + 0x97, 0x73, 0x42, 0xab, 0xb5, 0x93, 0xd0, 0xa9, 0x64, 0x78, 0xc9, 0xb4, 0xa1, 0x65, 0xed, 0xbd, + 0x99, 0xec, 0xbf, 0x9a, 0xd9, 0x47, 0xed, 0xc1, 0x4a, 0xf8, 0x3b, 0x80, 0x0f, 0x92, 0x3f, 0xd2, + 0x05, 0x6f, 0xe0, 0xdd, 0x4c, 0x31, 0x6a, 0xa4, 0x9a, 0x80, 0x17, 0xe0, 0xd5, 0x38, 0x0e, 0xba, + 0x06, 0x3d, 0x5a, 0xd3, 0x52, 0x4c, 0xb1, 0x13, 0x70, 0xe2, 0x91, 0xe0, 0x0a, 0x8e, 0x15, 0xcb, 0x78, 0xcd, 0x59, 0x65, 0x26, 0xb7, 0x06, 0xfe, 0xbc, 0x6b, 0xd0, 0x13, 0xcb, 0x1f, 0x24, 0x9c, - 0x1c, 0xb1, 0x20, 0x86, 0xf7, 0xf5, 0x32, 0xd5, 0x35, 0xcd, 0xd8, 0x9c, 0xe7, 0x93, 0xdb, 0x83, - 0xeb, 0x65, 0xdb, 0x20, 0xf8, 0xc1, 0x5d, 0x5f, 0xbd, 0xef, 0x1a, 0xf4, 0xd8, 0xbe, 0xe1, 0x51, - 0x9c, 0x40, 0x3f, 0x5e, 0xe5, 0xb3, 0x7b, 0xdf, 0x37, 0x08, 0xfc, 0xde, 0x20, 0x80, 0x77, 0x00, - 0x8e, 0x3f, 0x69, 0xa6, 0x62, 0x21, 0xb3, 0x2f, 0x7d, 0xfa, 0xb4, 0x1f, 0xd8, 0x7f, 0xd2, 0x3b, - 0x01, 0x27, 0x1e, 0x39, 0xd2, 0xb9, 0xcb, 0xfe, 0x0f, 0x9d, 0x1f, 0xe8, 0x3c, 0x78, 0x0d, 0xcf, + 0x1c, 0xb1, 0x20, 0x86, 0xf7, 0xf5, 0x32, 0xd5, 0x35, 0xcd, 0xd8, 0x8c, 0xe7, 0x93, 0xdb, 0x83, + 0xeb, 0x65, 0xdb, 0x20, 0xf8, 0xde, 0x5d, 0xdf, 0xbc, 0xeb, 0x1a, 0xf4, 0xd8, 0xbe, 0xe1, 0x51, + 0x9c, 0x40, 0x3f, 0xde, 0xe4, 0xd3, 0x7b, 0xdf, 0x36, 0x08, 0xfc, 0xda, 0x20, 0x80, 0x77, 0x00, + 0x8e, 0x3f, 0x6a, 0xa6, 0x62, 0x21, 0xb3, 0xcf, 0x7d, 0xfa, 0xb4, 0x1f, 0xd8, 0x3f, 0xd2, 0x3b, + 0x01, 0x27, 0x1e, 0x39, 0xd2, 0xb9, 0xcb, 0xfe, 0x17, 0x9d, 0x1f, 0xe8, 0x3c, 0x78, 0x0d, 0xcf, 0x14, 0xa3, 0x5a, 0x56, 0x2e, 0xf2, 0xd3, 0xae, 0x41, 0x0f, 0xfd, 0xa2, 0xfd, 0x3d, 0x4e, 0x1c, - 0x70, 0xba, 0xe2, 0x9d, 0x1b, 0xad, 0x18, 0x7f, 0xfc, 0xd9, 0x86, 0x60, 0xdb, 0x86, 0x60, 0xd7, - 0x86, 0xe0, 0xdb, 0x3e, 0x1c, 0x6d, 0xf7, 0xe1, 0xe8, 0xd7, 0x3e, 0x1c, 0x7d, 0x9e, 0x15, 0xdc, - 0x2c, 0x96, 0x69, 0x94, 0xc9, 0x92, 0xd8, 0x3a, 0xbd, 0x15, 0x34, 0xd5, 0x6e, 0x26, 0xab, 0x29, - 0xf9, 0x7a, 0xec, 0xa4, 0x60, 0x05, 0xcd, 0xd6, 0xbe, 0x9a, 0xe9, 0xd9, 0x50, 0x80, 0x77, 0x7f, - 0x02, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xc0, 0x95, 0x8e, 0xbc, 0x02, 0x00, 0x00, + 0x70, 0xba, 0xe2, 0x9d, 0xff, 0x5a, 0x31, 0xfe, 0xf0, 0xa3, 0x0d, 0xc1, 0xb6, 0x0d, 0xc1, 0xae, + 0x0d, 0xc1, 0xd7, 0x7d, 0x38, 0xda, 0xee, 0xc3, 0xd1, 0xcf, 0x7d, 0x38, 0xfa, 0x34, 0x2d, 0xb8, + 0x59, 0x2c, 0xd3, 0x28, 0x93, 0x25, 0xb1, 0x75, 0x7a, 0x2b, 0x68, 0xaa, 0xdd, 0x4c, 0x56, 0xd7, + 0xe4, 0xcb, 0xb1, 0x93, 0x82, 0x15, 0x34, 0x5b, 0xfb, 0x6a, 0xa6, 0x67, 0x43, 0x01, 0xae, 0x7f, + 0x07, 0x00, 0x00, 0xff, 0xff, 0x01, 0xd7, 0x0b, 0x41, 0xbc, 0x02, 0x00, 0x00, } func (this *Relationship) Equal(that interface{}) bool { diff --git a/x/profiles/legacy/v5/store.go b/x/profiles/legacy/v5/store.go new file mode 100644 index 0000000000..b6e1f2def4 --- /dev/null +++ b/x/profiles/legacy/v5/store.go @@ -0,0 +1,61 @@ +package v5 + +import ( + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/store/prefix" + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/desmos-labs/desmos/v3/x/profiles/types" +) + +// MigrateStore performs in-place store migrations from v5 to v6 +// The migration includes: +// +// - add missing application links owner keys +// - add missing chain links owner keys +// +func MigrateStore(ctx sdk.Context, storeKey sdk.StoreKey, cdc codec.BinaryCodec) error { + store := ctx.KVStore(storeKey) + + // Fix the application links + applicationLinksStore := prefix.NewStore(store, types.ApplicationLinkPrefix) + applicationLinksIterator := applicationLinksStore.Iterator(nil, nil) + + var applicationLinks []types.ApplicationLink + for ; applicationLinksIterator.Valid(); applicationLinksIterator.Next() { + var applicationLink types.ApplicationLink + err := cdc.Unmarshal(applicationLinksIterator.Value(), &applicationLink) + if err != nil { + return err + } + + applicationLinks = append(applicationLinks, applicationLink) + } + + applicationLinksIterator.Close() + + for _, link := range applicationLinks { + store.Set(types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User), []byte(link.User)) + } + + // Fix the chain links - TODO + //chainLinkStore := prefix.NewStore(store, types.ChainLinksPrefix) + //chainLinksIterator := chainLinkStore.Iterator(nil, nil) + // + //var chainLinks []types.ChainLink + //for ; chainLinksIterator.Valid(); chainLinksIterator.Next() { + // var chainLink types.ChainLink + // err := cdc.Unmarshal(chainLinksIterator.Value(), &chainLink) + // if err != nil { + // return err + // } + // + // chainLinks = append(chainLinks, chainLink) + //} + // + //for _, link := range chainLinks { + // store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, link.GetAddressData().GetValue(), link.User), []byte(link.User)) + //} + + return nil +} diff --git a/x/profiles/module.go b/x/profiles/module.go index a5316f31b3..e75bcca8d6 100644 --- a/x/profiles/module.go +++ b/x/profiles/module.go @@ -112,6 +112,10 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { if err != nil { panic(err) } + err = cfg.RegisterMigration(types.ModuleName, 5, m.Migrate5To6) + if err != nil { + panic(err) + } } // NewAppModule creates a new AppModule Object diff --git a/x/profiles/types/genesis.pb.go b/x/profiles/types/genesis.pb.go index e4bd0b8aa9..e472cb2aac 100644 --- a/x/profiles/types/genesis.pb.go +++ b/x/profiles/types/genesis.pb.go @@ -72,36 +72,36 @@ func init() { func init() { proto.RegisterFile("desmos/profiles/v2/genesis.proto", fileDescriptor_be71125223ae0fd1) } var fileDescriptor_be71125223ae0fd1 = []byte{ - // 462 bytes of a gzipped FileDescriptorProto + // 463 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x6a, 0xd4, 0x40, 0x1c, 0xc7, 0x13, 0xbb, 0x16, 0x36, 0xab, 0xa0, 0x61, 0x95, 0x10, 0x68, 0x12, 0x52, 0xb0, 0x2b, - 0xd2, 0x04, 0xd7, 0x5b, 0xc1, 0x83, 0xd9, 0x82, 0x2c, 0x7a, 0x28, 0xb1, 0xa7, 0x5e, 0xc2, 0x24, - 0x99, 0xa6, 0x43, 0x93, 0xcc, 0x38, 0x33, 0x2d, 0xf6, 0x0d, 0x3c, 0x0a, 0x5e, 0x3d, 0xf8, 0x38, - 0x3d, 0xf6, 0xe8, 0x29, 0x48, 0xf6, 0x0d, 0xf6, 0x09, 0x24, 0x99, 0x89, 0x8d, 0x36, 0xdb, 0xdb, - 0x30, 0xbf, 0xcf, 0xf7, 0x0f, 0x3f, 0x7e, 0x9a, 0x93, 0x42, 0x56, 0x60, 0xe6, 0x13, 0x8a, 0x4f, - 0x51, 0x0e, 0x99, 0x7f, 0x39, 0xf7, 0x33, 0x58, 0x42, 0x86, 0x98, 0x47, 0x28, 0xe6, 0x58, 0xd7, - 0x05, 0xe1, 0x75, 0x84, 0x77, 0x39, 0x37, 0xa7, 0x19, 0xce, 0x70, 0x3b, 0xf6, 0x9b, 0x97, 0x20, - 0xcd, 0x17, 0x03, 0x5e, 0x05, 0x4e, 0x61, 0xce, 0x22, 0x02, 0x28, 0x28, 0xa4, 0xa3, 0xb9, 0x77, - 0x0f, 0x27, 0xbe, 0x24, 0xb8, 0xbf, 0x19, 0x4c, 0x39, 0xc8, 0x22, 0x0a, 0x3f, 0x5f, 0x40, 0xc6, - 0x3b, 0xdf, 0x57, 0x9b, 0xf1, 0xe4, 0x0c, 0xa0, 0x32, 0xca, 0x51, 0x79, 0xde, 0xc1, 0x2f, 0x37, - 0xc3, 0x80, 0x90, 0x3e, 0xea, 0x7e, 0x1f, 0x69, 0x8f, 0xde, 0x8b, 0x9d, 0x7c, 0xe2, 0x80, 0x43, - 0xfd, 0x87, 0xaa, 0x3d, 0x6f, 0x0b, 0x70, 0x0a, 0x4a, 0x76, 0x0a, 0xe9, 0xdf, 0x26, 0x86, 0xea, - 0x6c, 0xcd, 0x26, 0xf3, 0x3d, 0xef, 0xee, 0xd2, 0xbc, 0xc3, 0x63, 0x90, 0x1d, 0x4b, 0x41, 0x28, - 0xf8, 0xe0, 0xed, 0x75, 0x65, 0x2b, 0x75, 0x65, 0x4f, 0x07, 0x86, 0x6c, 0x5d, 0xd9, 0x3b, 0x57, - 0xa0, 0xc8, 0x0f, 0xdc, 0xe1, 0x30, 0x37, 0x9c, 0x36, 0x83, 0xff, 0x65, 0xfa, 0x52, 0xdb, 0x16, - 0xfb, 0x36, 0x1e, 0x38, 0xea, 0x6c, 0x32, 0x37, 0x87, 0xda, 0x1c, 0xb5, 0x44, 0xf0, 0xac, 0x29, - 0xb0, 0xae, 0xec, 0xc7, 0x22, 0x48, 0xe8, 0xdc, 0x50, 0x1a, 0xe8, 0x0b, 0x6d, 0x82, 0xe2, 0x24, - 0x22, 0x98, 0xf2, 0x08, 0xa5, 0xc6, 0x96, 0xa3, 0xce, 0xc6, 0xc1, 0x6e, 0x5d, 0xd9, 0xe3, 0x65, - 0xb0, 0x38, 0xc2, 0x94, 0x2f, 0x0f, 0xd7, 0x95, 0xad, 0x0b, 0x71, 0x8f, 0x74, 0xc3, 0x31, 0x8a, - 0x93, 0x16, 0x48, 0xf5, 0x13, 0x6d, 0xd2, 0xdb, 0xbf, 0x31, 0x6a, 0x57, 0xb4, 0x33, 0x54, 0x6a, - 0xd1, 0x60, 0x1f, 0x51, 0x79, 0x1e, 0x98, 0xb2, 0x97, 0xb4, 0xee, 0xe9, 0xdd, 0x50, 0x4b, 0x3a, - 0x8c, 0xe9, 0x54, 0x7b, 0x0a, 0x08, 0xc9, 0x51, 0x02, 0x38, 0xc2, 0x5d, 0xc2, 0xc3, 0x36, 0x61, - 0x77, 0x28, 0xe1, 0xdd, 0x2d, 0xdc, 0xe6, 0x38, 0x32, 0xc7, 0x10, 0x39, 0x77, 0xbc, 0xdc, 0xf0, - 0x09, 0xf8, 0x57, 0xc2, 0x0e, 0x46, 0x5f, 0x7f, 0xda, 0x4a, 0xf0, 0xe1, 0xba, 0xb6, 0xd4, 0x9b, - 0xda, 0x52, 0x7f, 0xd7, 0x96, 0xfa, 0x6d, 0x65, 0x29, 0x37, 0x2b, 0x4b, 0xf9, 0xb5, 0xb2, 0x94, - 0x93, 0xd7, 0x19, 0xe2, 0x67, 0x17, 0xb1, 0x97, 0xe0, 0xc2, 0x17, 0x15, 0xf6, 0x73, 0x10, 0x33, - 0xf9, 0x6e, 0x0e, 0xed, 0xcb, 0xed, 0xd9, 0xf1, 0x2b, 0x02, 0x59, 0xbc, 0xdd, 0x5e, 0xda, 0x9b, - 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xcb, 0x82, 0x94, 0x8f, 0x03, 0x00, 0x00, + 0xd2, 0x04, 0xb7, 0xb7, 0x82, 0x07, 0xb3, 0x05, 0x59, 0xf4, 0x50, 0x62, 0x4f, 0xbd, 0x84, 0x49, + 0x32, 0x4d, 0x87, 0x26, 0x99, 0x71, 0x66, 0xba, 0xd8, 0x37, 0xf0, 0x28, 0x78, 0xf5, 0xe0, 0xe3, + 0xf4, 0xd8, 0xa3, 0xa7, 0x20, 0xd9, 0x37, 0xd8, 0x27, 0x90, 0xcd, 0x4c, 0x6c, 0x74, 0xb3, 0xde, + 0x42, 0x7e, 0x9f, 0xef, 0x1f, 0xbe, 0x8c, 0xe6, 0xa4, 0x90, 0x15, 0x98, 0xf9, 0x84, 0xe2, 0x0b, + 0x94, 0x43, 0xe6, 0x2f, 0xa6, 0x7e, 0x06, 0x4b, 0xc8, 0x10, 0xf3, 0x08, 0xc5, 0x1c, 0xeb, 0xba, + 0x20, 0xbc, 0x96, 0xf0, 0x16, 0x53, 0x73, 0x9c, 0xe1, 0x0c, 0x37, 0x67, 0x7f, 0xfd, 0x25, 0x48, + 0xf3, 0x45, 0x8f, 0x57, 0x81, 0x53, 0x98, 0xb3, 0x88, 0x00, 0x0a, 0x0a, 0xe9, 0x68, 0x1e, 0xfc, + 0x87, 0x13, 0xbf, 0x24, 0x78, 0xb8, 0x1d, 0x4c, 0x39, 0xc8, 0x22, 0x0a, 0x3f, 0x5d, 0x43, 0xc6, + 0x5b, 0xdf, 0x57, 0xdb, 0xf1, 0xe4, 0x12, 0xa0, 0x32, 0xca, 0x51, 0x79, 0xd5, 0xc2, 0x2f, 0xb7, + 0xc3, 0x80, 0x90, 0x2e, 0xea, 0x7e, 0x1b, 0x68, 0x8f, 0xde, 0x89, 0x4d, 0x3e, 0x72, 0xc0, 0xa1, + 0xfe, 0x5d, 0xd5, 0x9e, 0x37, 0x05, 0x38, 0x05, 0x25, 0xbb, 0x80, 0xf4, 0x4f, 0x13, 0x43, 0x75, + 0x76, 0x26, 0xa3, 0xe9, 0x81, 0xb7, 0x39, 0x9a, 0x77, 0x72, 0x06, 0xb2, 0x33, 0x29, 0x08, 0x05, + 0x1f, 0xbc, 0xb9, 0xad, 0x6c, 0xa5, 0xae, 0xec, 0x71, 0xcf, 0x91, 0xad, 0x2a, 0x7b, 0xef, 0x06, + 0x14, 0xf9, 0xb1, 0xdb, 0x1f, 0xe6, 0x86, 0xe3, 0xf5, 0xe1, 0x5f, 0x99, 0x3e, 0xd7, 0x76, 0xc5, + 0xde, 0xc6, 0x03, 0x47, 0x9d, 0x8c, 0xa6, 0x66, 0x5f, 0x9b, 0xd3, 0x86, 0x08, 0x9e, 0xad, 0x0b, + 0xac, 0x2a, 0xfb, 0xb1, 0x08, 0x12, 0x3a, 0x37, 0x94, 0x06, 0xfa, 0x4c, 0x1b, 0xa1, 0x38, 0x89, + 0x08, 0xa6, 0x3c, 0x42, 0xa9, 0xb1, 0xe3, 0xa8, 0x93, 0x61, 0xb0, 0x5f, 0x57, 0xf6, 0x70, 0x1e, + 0xcc, 0x4e, 0x31, 0xe5, 0xf3, 0x93, 0x55, 0x65, 0xeb, 0x42, 0xdc, 0x21, 0xdd, 0x70, 0x88, 0xe2, + 0xa4, 0x01, 0x52, 0xfd, 0x5c, 0x1b, 0x75, 0xf6, 0x37, 0x06, 0xcd, 0x44, 0x7b, 0x7d, 0xa5, 0x66, + 0x6b, 0xec, 0x03, 0x2a, 0xaf, 0x02, 0x53, 0xf6, 0x92, 0xd6, 0x1d, 0xbd, 0x1b, 0x6a, 0x49, 0x8b, + 0x31, 0x9d, 0x6a, 0x4f, 0x01, 0x21, 0x39, 0x4a, 0x00, 0x47, 0xb8, 0x4d, 0x78, 0xd8, 0x24, 0xec, + 0xf7, 0x25, 0xbc, 0xbd, 0x87, 0x9b, 0x1c, 0x47, 0xe6, 0x18, 0x22, 0x67, 0xc3, 0xcb, 0x0d, 0x9f, + 0x80, 0xbf, 0x25, 0xec, 0x78, 0xf0, 0xe5, 0x87, 0xad, 0x04, 0xef, 0x6f, 0x6b, 0x4b, 0xbd, 0xab, + 0x2d, 0xf5, 0x57, 0x6d, 0xa9, 0x5f, 0x97, 0x96, 0x72, 0xb7, 0xb4, 0x94, 0x9f, 0x4b, 0x4b, 0x39, + 0x7f, 0x9d, 0x21, 0x7e, 0x79, 0x1d, 0x7b, 0x09, 0x2e, 0x7c, 0x51, 0xe1, 0x30, 0x07, 0x31, 0x93, + 0xdf, 0xfe, 0xe2, 0xc8, 0xff, 0x7c, 0xff, 0xec, 0xf8, 0x0d, 0x81, 0x2c, 0xde, 0x6d, 0x5e, 0xda, + 0xd1, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x26, 0x6d, 0x9f, 0x73, 0x8f, 0x03, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/keys.go b/x/profiles/types/keys.go index bddb02b9c7..af448a5741 100644 --- a/x/profiles/types/keys.go +++ b/x/profiles/types/keys.go @@ -32,6 +32,8 @@ const ( ) var ( + Separator = []byte{0x00} + // IBCPortKey defines the key to store the port ID in store IBCPortKey = []byte{0x01} @@ -107,7 +109,7 @@ func ApplicationLinkAppKey(application string) []byte { // ApplicationLinkAppUsernameKey returns the key used to store all the application // links for the given application and username func ApplicationLinkAppUsernameKey(application, username string) []byte { - return append(ApplicationLinkAppKey(application), []byte(username)...) + return append(ApplicationLinkAppKey(application), append(Separator, []byte(username)...)...) } // ApplicationLinkOwnerKey returns the key used to store the given owner associating it to the application link diff --git a/x/profiles/types/models_app_links.pb.go b/x/profiles/types/models_app_links.pb.go index 5dcabc0819..ee15d849a3 100644 --- a/x/profiles/types/models_app_links.pb.go +++ b/x/profiles/types/models_app_links.pb.go @@ -451,67 +451,68 @@ func init() { } var fileDescriptor_c4a613de86d4edc0 = []byte{ - // 959 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xbf, 0x6f, 0xdb, 0x46, - 0x18, 0x15, 0x25, 0x5a, 0xb1, 0xce, 0xb1, 0xad, 0x9e, 0xdd, 0x56, 0x20, 0x10, 0x91, 0xa6, 0x8b, - 0xc2, 0x49, 0x11, 0x0a, 0x51, 0x97, 0xc2, 0x45, 0x0b, 0x88, 0x12, 0x8d, 0xb0, 0x71, 0x6d, 0xe1, - 0x44, 0x27, 0x40, 0x16, 0xe2, 0x4c, 0x9e, 0xd5, 0x43, 0x28, 0x51, 0xe5, 0x0f, 0xa3, 0x69, 0xd1, - 0x3d, 0xf0, 0x94, 0x7f, 0xc0, 0x40, 0x80, 0xfe, 0x13, 0xdd, 0x3a, 0x74, 0xc9, 0x98, 0xb1, 0x13, - 0x5b, 0xc8, 0x4b, 0x66, 0xfd, 0x05, 0x05, 0xef, 0x48, 0x49, 0xae, 0xa5, 0x24, 0x40, 0x37, 0xea, - 0xbe, 0xf7, 0xde, 0xf7, 0xee, 0x7b, 0x1f, 0x4e, 0xe0, 0xae, 0x4b, 0xc2, 0x81, 0x1f, 0x36, 0x46, - 0x81, 0x7f, 0x46, 0x3d, 0x12, 0x36, 0xce, 0x9b, 0x8d, 0x81, 0xef, 0x12, 0x2f, 0xb4, 0xf1, 0x68, - 0x64, 0x7b, 0x74, 0xf8, 0x2c, 0xd4, 0x46, 0x81, 0x1f, 0xf9, 0x10, 0x72, 0xa8, 0x96, 0x43, 0xb5, - 0xf3, 0xa6, 0xb4, 0xdd, 0xf7, 0xfb, 0x3e, 0x2b, 0x37, 0xd2, 0x2f, 0x8e, 0x94, 0xe4, 0xbe, 0xef, - 0xf7, 0x3d, 0xd2, 0x60, 0xbf, 0x4e, 0xe3, 0xb3, 0x46, 0x44, 0x07, 0x24, 0x8c, 0xf0, 0x60, 0xc4, - 0x01, 0xea, 0xdb, 0x12, 0xd8, 0x6c, 0x8d, 0x46, 0x1e, 0x75, 0x70, 0x44, 0xfd, 0xe1, 0x21, 0x1d, - 0x3e, 0x83, 0xbb, 0x40, 0x8c, 0x43, 0x12, 0xd4, 0x04, 0x45, 0xd8, 0xab, 0xe8, 0x9b, 0x93, 0x44, - 0x5e, 0x7b, 0x8e, 0x07, 0xde, 0xbe, 0x9a, 0x9e, 0xaa, 0x88, 0x15, 0x61, 0x0b, 0x88, 0x2e, 0x8e, - 0x70, 0xad, 0xa8, 0x08, 0x7b, 0x6b, 0xcd, 0x9a, 0x76, 0xd3, 0x92, 0xd6, 0xc1, 0x11, 0xd6, 0xb7, - 0x5e, 0x27, 0x72, 0x61, 0x26, 0x91, 0x72, 0x54, 0xc4, 0xa8, 0xb0, 0x0b, 0x56, 0xc2, 0x08, 0x47, - 0xa4, 0x56, 0x52, 0x84, 0xbd, 0x8d, 0xe6, 0xde, 0x22, 0x8d, 0xff, 0x78, 0xeb, 0xa5, 0x78, 0xbd, - 0x3a, 0x49, 0xe4, 0xdb, 0x5c, 0x8f, 0x09, 0xa8, 0x88, 0x0b, 0xc1, 0x3e, 0xd8, 0xf0, 0x03, 0xec, - 0x78, 0xc4, 0x0e, 0xc8, 0x8f, 0x31, 0x09, 0xa3, 0x9a, 0xc8, 0xec, 0xed, 0x2c, 0x92, 0x3e, 0x66, - 0x48, 0xc4, 0x81, 0xfa, 0x9d, 0xcc, 0xe7, 0xc7, 0x5c, 0xf7, 0xba, 0x8c, 0x8a, 0xd6, 0xfd, 0x79, - 0x34, 0x34, 0x40, 0x39, 0x20, 0x61, 0xec, 0x45, 0xb5, 0x15, 0xd6, 0x40, 0x5a, 0xd4, 0x00, 0x31, - 0x84, 0xfe, 0xd1, 0x24, 0x91, 0xd7, 0xb9, 0x2a, 0xe7, 0xa8, 0x28, 0x23, 0x43, 0x0c, 0xd6, 0x9d, - 0x80, 0xb0, 0xdb, 0xd9, 0x69, 0x32, 0xb5, 0x72, 0xa6, 0xc6, 0x63, 0xd3, 0xf2, 0xd8, 0x34, 0x2b, - 0x8f, 0x4d, 0x57, 0x32, 0x9f, 0xdb, 0x5c, 0xf1, 0x1a, 0x5d, 0x7d, 0xf9, 0xb7, 0x2c, 0xa0, 0xdb, - 0xf9, 0x59, 0x4a, 0xda, 0x5f, 0x7d, 0xf1, 0x4a, 0x2e, 0xbc, 0x7d, 0x25, 0x0b, 0xea, 0x2f, 0x40, - 0x4c, 0x13, 0x81, 0x5f, 0x81, 0x35, 0x3c, 0x9b, 0x6a, 0x96, 0xf2, 0x27, 0x93, 0x44, 0x86, 0x5c, - 0x72, 0xae, 0xa8, 0xa2, 0x79, 0x28, 0x6c, 0x80, 0xd5, 0x34, 0xfb, 0x21, 0x1e, 0x10, 0x96, 0x7b, - 0x45, 0xdf, 0x9a, 0x24, 0xf2, 0xe6, 0x6c, 0x39, 0xd2, 0x8a, 0x8a, 0xa6, 0xa0, 0xb9, 0xe6, 0xbf, - 0x97, 0xc0, 0xfa, 0xb5, 0x81, 0xc3, 0x5d, 0x50, 0xa4, 0x2e, 0xeb, 0x2e, 0xea, 0x5b, 0xe3, 0x44, - 0x2e, 0x9a, 0x9d, 0x49, 0x22, 0x57, 0xb8, 0x18, 0x75, 0x55, 0x54, 0xa4, 0x2e, 0x7c, 0x02, 0xaa, - 0x59, 0x12, 0xa1, 0x13, 0xd0, 0x51, 0x64, 0x53, 0x97, 0x75, 0x16, 0xf5, 0xfb, 0xe3, 0x44, 0xde, - 0xe0, 0x8a, 0x3d, 0x56, 0x62, 0xf4, 0x4f, 0xaf, 0xa5, 0x37, 0xe5, 0xa8, 0x28, 0xdb, 0x8b, 0x0c, - 0xea, 0x42, 0x0c, 0x2a, 0x0e, 0xf6, 0x3c, 0x9b, 0xed, 0x70, 0x89, 0x4d, 0xfd, 0xde, 0x7b, 0x97, - 0x44, 0x6b, 0x63, 0xcf, 0x63, 0x5b, 0x5d, 0xcb, 0x52, 0xa8, 0x66, 0x29, 0xe4, 0x52, 0x2a, 0x5a, - 0x75, 0x32, 0x0c, 0xfc, 0x06, 0x54, 0x1c, 0x8f, 0x92, 0x21, 0x33, 0x2d, 0xb2, 0x71, 0x29, 0xe3, - 0x44, 0x5e, 0x6d, 0xb3, 0x43, 0x66, 0x37, 0xa7, 0xe7, 0xb0, 0x94, 0xce, 0xab, 0xae, 0xf4, 0x2b, - 0x58, 0xcd, 0xdb, 0xfd, 0x8f, 0xc8, 0x1e, 0xcc, 0xdf, 0x93, 0x67, 0xb6, 0xfd, 0x6e, 0xdf, 0xfb, - 0x62, 0x1a, 0xd8, 0x5c, 0x74, 0x7f, 0x16, 0x41, 0x99, 0xaf, 0x32, 0xfc, 0x16, 0xdc, 0x0a, 0x63, - 0xc7, 0x21, 0x61, 0xc8, 0x3c, 0xac, 0x35, 0xd5, 0xe5, 0x7b, 0xaf, 0xf5, 0x38, 0xf2, 0x61, 0x01, - 0xe5, 0x24, 0xf8, 0x35, 0x28, 0x9f, 0x61, 0xea, 0x11, 0x37, 0x7b, 0x36, 0x76, 0xde, 0x41, 0x3f, - 0x60, 0xc0, 0x87, 0x05, 0x94, 0x51, 0x24, 0x1f, 0xdc, 0xca, 0x24, 0xe1, 0xe7, 0x60, 0xe5, 0x1c, - 0x7b, 0x31, 0xc9, 0x26, 0x31, 0xf7, 0x1e, 0xb0, 0x63, 0x15, 0xf1, 0x32, 0x6c, 0x82, 0x4a, 0x48, - 0xfb, 0x43, 0x1c, 0xc5, 0x01, 0xb9, 0x79, 0xfb, 0x69, 0x49, 0x45, 0x33, 0xd8, 0xec, 0xe2, 0xd2, - 0x3e, 0x28, 0x73, 0x13, 0x69, 0x3f, 0x12, 0x04, 0x7e, 0x70, 0xb3, 0x1f, 0x3b, 0x56, 0x11, 0x2f, - 0xcf, 0xb8, 0xb3, 0x2f, 0x7d, 0x05, 0x94, 0xc2, 0x78, 0x70, 0xef, 0x8f, 0x12, 0xd8, 0x5e, 0xf4, - 0x98, 0xc1, 0x27, 0x40, 0x6b, 0x75, 0xbb, 0x87, 0x66, 0xbb, 0x65, 0x99, 0xc7, 0x47, 0xf6, 0xa1, - 0x79, 0xf4, 0xc8, 0xee, 0x59, 0x2d, 0xcb, 0xb0, 0xcd, 0x23, 0xd3, 0x32, 0x5b, 0x87, 0xe6, 0x53, - 0xa3, 0x63, 0x9f, 0x1c, 0xf5, 0xba, 0x46, 0xdb, 0x3c, 0x30, 0x8d, 0x4e, 0xb5, 0x20, 0xed, 0x5e, - 0x5c, 0x2a, 0xf2, 0x22, 0x35, 0x73, 0x48, 0x23, 0x8a, 0x3d, 0xfa, 0x33, 0x71, 0xa1, 0x05, 0xbe, - 0x58, 0x22, 0xfc, 0xd8, 0x40, 0xe6, 0x41, 0x7e, 0xde, 0xb3, 0x5a, 0xc8, 0x32, 0x3a, 0x55, 0x61, - 0xaa, 0x3a, 0x55, 0x7b, 0x4c, 0x02, 0x7a, 0x96, 0xb5, 0xe8, 0x45, 0x38, 0x88, 0x88, 0x0b, 0xbb, - 0xe0, 0xee, 0x87, 0xa8, 0x1a, 0x08, 0x1d, 0xa3, 0x6a, 0x51, 0xda, 0xb9, 0xb8, 0x54, 0xee, 0x2c, - 0xd3, 0x34, 0xd2, 0xa1, 0x7d, 0xb0, 0xcf, 0x93, 0x76, 0xdb, 0xe8, 0xf5, 0xaa, 0xa5, 0xf7, 0xf8, - 0xcc, 0x56, 0xe4, 0x3b, 0xa0, 0x2c, 0x51, 0xb5, 0xcc, 0xef, 0x8d, 0x8e, 0x7d, 0x7c, 0x62, 0x55, - 0x45, 0xe9, 0xb3, 0x8b, 0x4b, 0x45, 0x59, 0x26, 0x95, 0xbe, 0x9f, 0xee, 0x71, 0x1c, 0x49, 0xe2, - 0x8b, 0xdf, 0xea, 0x05, 0xfd, 0xd1, 0xeb, 0x71, 0x5d, 0x78, 0x33, 0xae, 0x0b, 0xff, 0x8c, 0xeb, - 0xc2, 0xcb, 0xab, 0x7a, 0xe1, 0xcd, 0x55, 0xbd, 0xf0, 0xd7, 0x55, 0xbd, 0xf0, 0xf4, 0x41, 0x9f, - 0x46, 0x3f, 0xc4, 0xa7, 0x9a, 0xe3, 0x0f, 0x1a, 0x7c, 0xa1, 0xef, 0x7b, 0xf8, 0x34, 0xcc, 0xbe, - 0xd3, 0x3f, 0xf2, 0x9f, 0x66, 0x7f, 0xeb, 0xd1, 0xf3, 0x11, 0x09, 0x4f, 0xcb, 0xec, 0x69, 0xff, - 0xf2, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x69, 0x45, 0x68, 0x76, 0xf6, 0x07, 0x00, 0x00, + // 961 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcd, 0x6e, 0xdb, 0x46, + 0x17, 0x15, 0x25, 0x5a, 0x91, 0xc6, 0xb1, 0xad, 0x6f, 0xec, 0xaf, 0x15, 0x08, 0x44, 0xa4, 0xe9, + 0xa2, 0x70, 0x52, 0x84, 0x44, 0x94, 0x4d, 0xe1, 0xa2, 0x05, 0x44, 0x89, 0x46, 0xd8, 0xb8, 0x96, + 0x30, 0xa2, 0x13, 0x20, 0x1b, 0x62, 0x4c, 0x8e, 0x55, 0x22, 0x94, 0xa8, 0xf2, 0xc7, 0x68, 0x5a, + 0x74, 0x1f, 0x78, 0x95, 0x17, 0x30, 0x10, 0xa0, 0x2f, 0xd1, 0x5d, 0x17, 0xdd, 0x64, 0x99, 0x65, + 0x57, 0x6c, 0x21, 0x6f, 0xb2, 0xd6, 0x13, 0x14, 0x9c, 0x21, 0x25, 0xb9, 0x96, 0x92, 0x00, 0xdd, + 0x51, 0x73, 0xcf, 0x39, 0xf7, 0xcc, 0x3d, 0x17, 0x23, 0x70, 0xd7, 0x21, 0xe1, 0xd0, 0x0f, 0xd5, + 0x71, 0xe0, 0x9f, 0xb9, 0x1e, 0x09, 0xd5, 0xf3, 0xa6, 0x3a, 0xf4, 0x1d, 0xe2, 0x85, 0x16, 0x1e, + 0x8f, 0x2d, 0xcf, 0x1d, 0x3d, 0x0f, 0x95, 0x71, 0xe0, 0x47, 0x3e, 0x84, 0x0c, 0xaa, 0xe4, 0x50, + 0xe5, 0xbc, 0x29, 0xec, 0x0c, 0xfc, 0x81, 0x4f, 0xcb, 0x6a, 0xfa, 0xc5, 0x90, 0x82, 0x38, 0xf0, + 0xfd, 0x81, 0x47, 0x54, 0xfa, 0xeb, 0x34, 0x3e, 0x53, 0x23, 0x77, 0x48, 0xc2, 0x08, 0x0f, 0xc7, + 0x0c, 0x20, 0xbf, 0x2b, 0x81, 0xad, 0xd6, 0x78, 0xec, 0xb9, 0x36, 0x8e, 0x5c, 0x7f, 0x74, 0xe4, + 0x8e, 0x9e, 0xc3, 0x3d, 0xc0, 0xc7, 0x21, 0x09, 0xea, 0x9c, 0xc4, 0xed, 0x57, 0xb5, 0xad, 0x69, + 0x22, 0xae, 0xbf, 0xc0, 0x43, 0xef, 0x40, 0x4e, 0x4f, 0x65, 0x44, 0x8b, 0xb0, 0x05, 0x78, 0x07, + 0x47, 0xb8, 0x5e, 0x94, 0xb8, 0xfd, 0xf5, 0x66, 0x5d, 0xb9, 0x69, 0x49, 0xe9, 0xe0, 0x08, 0x6b, + 0xdb, 0x6f, 0x12, 0xb1, 0x30, 0x97, 0x48, 0x39, 0x32, 0xa2, 0x54, 0xd8, 0x03, 0x6b, 0x61, 0x84, + 0x23, 0x52, 0x2f, 0x49, 0xdc, 0xfe, 0x66, 0x73, 0x7f, 0x99, 0xc6, 0xbf, 0xbc, 0xf5, 0x53, 0xbc, + 0x56, 0x9b, 0x26, 0xe2, 0x6d, 0xa6, 0x47, 0x05, 0x64, 0xc4, 0x84, 0xe0, 0x00, 0x6c, 0xfa, 0x01, + 0xb6, 0x3d, 0x62, 0x05, 0xe4, 0x87, 0x98, 0x84, 0x51, 0x9d, 0xa7, 0xf6, 0x76, 0x97, 0x49, 0x77, + 0x29, 0x12, 0x31, 0xa0, 0x76, 0x27, 0xf3, 0xf9, 0x7f, 0xa6, 0x7b, 0x5d, 0x46, 0x46, 0x1b, 0xfe, + 0x22, 0x1a, 0xea, 0xa0, 0x1c, 0x90, 0x30, 0xf6, 0xa2, 0xfa, 0x1a, 0x6d, 0x20, 0x2c, 0x6b, 0x80, + 0x28, 0x42, 0xfb, 0xdf, 0x34, 0x11, 0x37, 0x98, 0x2a, 0xe3, 0xc8, 0x28, 0x23, 0x43, 0x0c, 0x36, + 0xec, 0x80, 0xd0, 0xdb, 0x59, 0x69, 0x32, 0xf5, 0x72, 0xa6, 0xc6, 0x62, 0x53, 0xf2, 0xd8, 0x14, + 0x33, 0x8f, 0x4d, 0x93, 0x32, 0x9f, 0x3b, 0x4c, 0xf1, 0x1a, 0x5d, 0x7e, 0xf5, 0x97, 0xc8, 0xa1, + 0xdb, 0xf9, 0x59, 0x4a, 0x3a, 0xa8, 0xbc, 0x7c, 0x2d, 0x16, 0xde, 0xbd, 0x16, 0x39, 0xf9, 0x67, + 0xc0, 0xa7, 0x89, 0xc0, 0x2f, 0xc1, 0x3a, 0x9e, 0x4f, 0x35, 0x4b, 0xf9, 0x93, 0x69, 0x22, 0x42, + 0x26, 0xb9, 0x50, 0x94, 0xd1, 0x22, 0x14, 0xaa, 0xa0, 0x92, 0x66, 0x3f, 0xc2, 0x43, 0x42, 0x73, + 0xaf, 0x6a, 0xdb, 0xd3, 0x44, 0xdc, 0x9a, 0x2f, 0x47, 0x5a, 0x91, 0xd1, 0x0c, 0xb4, 0xd0, 0xfc, + 0xb7, 0x12, 0xd8, 0xb8, 0x36, 0x70, 0xb8, 0x07, 0x8a, 0xae, 0x43, 0xbb, 0xf3, 0xda, 0xf6, 0x24, + 0x11, 0x8b, 0x46, 0x67, 0x9a, 0x88, 0x55, 0x26, 0xe6, 0x3a, 0x32, 0x2a, 0xba, 0x0e, 0x7c, 0x0a, + 0x6a, 0x59, 0x12, 0xa1, 0x1d, 0xb8, 0xe3, 0xc8, 0x72, 0x1d, 0xda, 0x99, 0xd7, 0xee, 0x4f, 0x12, + 0x71, 0x93, 0x29, 0xf6, 0x69, 0x89, 0xd2, 0x3f, 0xbd, 0x96, 0xde, 0x8c, 0x23, 0xa3, 0x6c, 0x2f, + 0x32, 0xa8, 0x03, 0x31, 0xa8, 0xda, 0xd8, 0xf3, 0x2c, 0xba, 0xc3, 0x25, 0x3a, 0xf5, 0x7b, 0x1f, + 0x5c, 0x12, 0xa5, 0x8d, 0x3d, 0x8f, 0x6e, 0x75, 0x3d, 0x4b, 0xa1, 0x96, 0xa5, 0x90, 0x4b, 0xc9, + 0xa8, 0x62, 0x67, 0x18, 0xf8, 0x35, 0xa8, 0xda, 0x9e, 0x4b, 0x46, 0xd4, 0x34, 0x4f, 0xc7, 0x25, + 0x4d, 0x12, 0xb1, 0xd2, 0xa6, 0x87, 0xd4, 0x6e, 0x4e, 0xcf, 0x61, 0x29, 0x9d, 0x55, 0x1d, 0xe1, + 0x17, 0x50, 0xc9, 0xdb, 0xfd, 0x87, 0xc8, 0x1e, 0x2c, 0xde, 0x93, 0x65, 0xb6, 0xf3, 0x7e, 0xdf, + 0x07, 0x7c, 0x1a, 0xd8, 0x42, 0x74, 0x7f, 0x14, 0x41, 0x99, 0xad, 0x32, 0xfc, 0x06, 0xdc, 0x0a, + 0x63, 0xdb, 0x26, 0x61, 0x48, 0x3d, 0xac, 0x37, 0xe5, 0xd5, 0x7b, 0xaf, 0xf4, 0x19, 0xf2, 0x51, + 0x01, 0xe5, 0x24, 0xf8, 0x15, 0x28, 0x9f, 0x61, 0xd7, 0x23, 0x4e, 0xf6, 0x6c, 0xec, 0xbe, 0x87, + 0x7e, 0x48, 0x81, 0x8f, 0x0a, 0x28, 0xa3, 0x08, 0x3e, 0xb8, 0x95, 0x49, 0xc2, 0xcf, 0xc1, 0xda, + 0x39, 0xf6, 0x62, 0x92, 0x4d, 0x62, 0xe1, 0x3d, 0xa0, 0xc7, 0x32, 0x62, 0x65, 0xd8, 0x04, 0xd5, + 0xd0, 0x1d, 0x8c, 0x70, 0x14, 0x07, 0xe4, 0xe6, 0xed, 0x67, 0x25, 0x19, 0xcd, 0x61, 0xf3, 0x8b, + 0x0b, 0x07, 0xa0, 0xcc, 0x4c, 0xa4, 0xfd, 0x48, 0x10, 0xf8, 0xc1, 0xcd, 0x7e, 0xf4, 0x58, 0x46, + 0xac, 0x3c, 0xe7, 0xce, 0xbf, 0xb4, 0x35, 0x50, 0x0a, 0xe3, 0xe1, 0xbd, 0xdf, 0x4b, 0x60, 0x67, + 0xd9, 0x63, 0x06, 0x9f, 0x02, 0xa5, 0xd5, 0xeb, 0x1d, 0x19, 0xed, 0x96, 0x69, 0x74, 0x8f, 0xad, + 0x23, 0xe3, 0xf8, 0xb1, 0xd5, 0x37, 0x5b, 0xa6, 0x6e, 0x19, 0xc7, 0x86, 0x69, 0xb4, 0x8e, 0x8c, + 0x67, 0x7a, 0xc7, 0x3a, 0x39, 0xee, 0xf7, 0xf4, 0xb6, 0x71, 0x68, 0xe8, 0x9d, 0x5a, 0x41, 0xd8, + 0xbb, 0xb8, 0x94, 0xc4, 0x65, 0x6a, 0xc6, 0xc8, 0x8d, 0x5c, 0xec, 0xb9, 0x3f, 0x11, 0x07, 0x9a, + 0xe0, 0x8b, 0x15, 0xc2, 0x4f, 0x74, 0x64, 0x1c, 0xe6, 0xe7, 0x7d, 0xb3, 0x85, 0x4c, 0xbd, 0x53, + 0xe3, 0x66, 0xaa, 0x33, 0xb5, 0x27, 0x24, 0x70, 0xcf, 0xb2, 0x16, 0xfd, 0x08, 0x07, 0x11, 0x71, + 0x60, 0x0f, 0xdc, 0xfd, 0x18, 0x55, 0x1d, 0xa1, 0x2e, 0xaa, 0x15, 0x85, 0xdd, 0x8b, 0x4b, 0xe9, + 0xce, 0x2a, 0x4d, 0x3d, 0x1d, 0xda, 0x47, 0xfb, 0x3c, 0x69, 0xb7, 0xf5, 0x7e, 0xbf, 0x56, 0xfa, + 0x80, 0xcf, 0x6c, 0x45, 0xbe, 0x05, 0xd2, 0x0a, 0x55, 0xd3, 0xf8, 0x4e, 0xef, 0x58, 0xdd, 0x13, + 0xb3, 0xc6, 0x0b, 0x9f, 0x5d, 0x5c, 0x4a, 0xd2, 0x2a, 0xa9, 0xf4, 0xfd, 0x74, 0xba, 0x71, 0x24, + 0xf0, 0x2f, 0x7f, 0x6d, 0x14, 0xb4, 0xc7, 0x6f, 0x26, 0x0d, 0xee, 0xed, 0xa4, 0xc1, 0xfd, 0x3d, + 0x69, 0x70, 0xaf, 0xae, 0x1a, 0x85, 0xb7, 0x57, 0x8d, 0xc2, 0x9f, 0x57, 0x8d, 0xc2, 0xb3, 0x07, + 0x03, 0x37, 0xfa, 0x3e, 0x3e, 0x55, 0x6c, 0x7f, 0xa8, 0xb2, 0x85, 0xbe, 0xef, 0xe1, 0xd3, 0x30, + 0xfb, 0x56, 0xcf, 0x1f, 0xaa, 0x3f, 0xce, 0xff, 0xd6, 0xa3, 0x17, 0x63, 0x12, 0x9e, 0x96, 0xe9, + 0xd3, 0xfe, 0xf0, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xe3, 0x75, 0x91, 0xf6, 0x07, 0x00, + 0x00, } func (this *ApplicationLink) Equal(that interface{}) bool { diff --git a/x/profiles/types/models_chain_links.pb.go b/x/profiles/types/models_chain_links.pb.go index 8f6465eab6..233e2fc85b 100644 --- a/x/profiles/types/models_chain_links.pb.go +++ b/x/profiles/types/models_chain_links.pb.go @@ -386,57 +386,57 @@ func init() { } var fileDescriptor_1deb25c5b4df9624 = []byte{ - // 791 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x55, 0x4d, 0x4f, 0xe3, 0x46, - 0x18, 0x8e, 0x0b, 0x81, 0x66, 0x92, 0x50, 0x18, 0x52, 0x29, 0x40, 0x15, 0x53, 0x23, 0xb5, 0x54, - 0x15, 0xb6, 0x08, 0xad, 0x5a, 0xe5, 0xd4, 0x98, 0x56, 0x42, 0x02, 0xa4, 0xd6, 0x70, 0xea, 0x25, - 0x1a, 0x3b, 0x13, 0x33, 0xc2, 0xf6, 0x58, 0xf6, 0x38, 0x4a, 0xa4, 0x4a, 0x3d, 0xb6, 0x47, 0x8e, - 0x3d, 0xf4, 0xc0, 0x7f, 0x68, 0x7f, 0x04, 0xea, 0x09, 0xf5, 0xc4, 0x29, 0xbb, 0x82, 0xcb, 0x9e, - 0xf3, 0x0b, 0x56, 0xf3, 0xe1, 0x24, 0x84, 0x05, 0x69, 0x4f, 0x7b, 0x9b, 0x79, 0xdf, 0xe7, 0x79, - 0xe6, 0xfd, 0xd2, 0x3b, 0xe0, 0xeb, 0x2e, 0x4e, 0x43, 0x9a, 0x5a, 0x71, 0x42, 0x7b, 0x24, 0xc0, - 0xa9, 0xd5, 0x6f, 0x5a, 0x21, 0xed, 0xe2, 0x20, 0xed, 0x78, 0x17, 0x88, 0x44, 0x9d, 0x80, 0x44, - 0x97, 0xa9, 0x19, 0x27, 0x94, 0x51, 0x08, 0x25, 0xd8, 0xcc, 0xc1, 0x66, 0xbf, 0xb9, 0x59, 0xf3, - 0xa9, 0x4f, 0x85, 0xdb, 0xe2, 0x27, 0x89, 0xdc, 0xdc, 0xf0, 0x29, 0xf5, 0x03, 0x6c, 0x89, 0x9b, - 0x9b, 0xf5, 0x2c, 0x14, 0x0d, 0x95, 0x4b, 0x9f, 0x77, 0x31, 0x12, 0xe2, 0x94, 0xa1, 0x30, 0xce, - 0xb9, 0x1e, 0xe5, 0xaf, 0x74, 0xa4, 0xa8, 0xbc, 0x28, 0xd7, 0x97, 0xf2, 0x66, 0xb1, 0x81, 0x95, - 0x12, 0x3f, 0x22, 0x91, 0x6f, 0xf5, 0xf7, 0x5d, 0xcc, 0xd0, 0x7e, 0x7e, 0x57, 0xc0, 0x3d, 0x05, - 0xf4, 0x92, 0x61, 0xcc, 0xa8, 0x15, 0x66, 0x01, 0x23, 0x29, 0x99, 0xa2, 0x73, 0x83, 0x84, 0x1b, - 0x7f, 0x2f, 0x80, 0xd2, 0x21, 0x4f, 0xf7, 0x84, 0x44, 0x97, 0x70, 0x07, 0x2c, 0x66, 0x29, 0x4e, - 0xea, 0xda, 0xb6, 0xb6, 0x5b, 0xb2, 0x3f, 0x19, 0x8f, 0xf4, 0xf2, 0x10, 0x85, 0x41, 0xcb, 0xe0, - 0x56, 0xc3, 0x11, 0x4e, 0xf8, 0x0b, 0x58, 0x46, 0xdd, 0x6e, 0x82, 0xd3, 0xb4, 0xfe, 0xd1, 0xb6, - 0xb6, 0x5b, 0x6e, 0xd6, 0x4c, 0x99, 0x98, 0x99, 0x27, 0x66, 0xb6, 0xa3, 0xa1, 0xfd, 0xf9, 0x78, - 0xa4, 0xaf, 0x48, 0xb6, 0x82, 0x1b, 0xff, 0xfd, 0xbb, 0x57, 0x6e, 0xcb, 0xf3, 0x8f, 0x88, 0x21, - 0x27, 0xd7, 0x81, 0x3f, 0x81, 0x62, 0x9c, 0x50, 0xda, 0xab, 0x2f, 0x08, 0xc1, 0x0d, 0xf3, 0x69, - 0xb9, 0xcd, 0x9f, 0x39, 0xc0, 0xae, 0xdd, 0x8c, 0xf4, 0xc2, 0x78, 0xa4, 0x57, 0xa4, 0xb2, 0x60, - 0x19, 0x8e, 0x64, 0xc3, 0x0e, 0xa8, 0xc8, 0xd6, 0x79, 0x34, 0xea, 0x11, 0xbf, 0xbe, 0x28, 0xd4, - 0xf4, 0x77, 0xa9, 0x89, 0x9c, 0x0f, 0x05, 0xcc, 0xde, 0x52, 0x9a, 0xeb, 0x52, 0x73, 0x56, 0xc2, - 0x70, 0xca, 0xde, 0x14, 0x09, 0x11, 0xa8, 0x7a, 0x09, 0x46, 0x8c, 0xd0, 0xa8, 0xc3, 0x9b, 0x57, - 0x2f, 0x8a, 0x17, 0x36, 0x9f, 0x14, 0xe0, 0x3c, 0xef, 0xac, 0xbd, 0xad, 0xc4, 0x6b, 0x4a, 0x7c, - 0x96, 0x6e, 0x5c, 0xbd, 0xd2, 0x35, 0xa7, 0x92, 0xdb, 0x38, 0xa9, 0x55, 0xf9, 0xf3, 0x5a, 0x2f, - 0xfc, 0x75, 0xad, 0x6b, 0x6f, 0xae, 0x75, 0xcd, 0xf8, 0x01, 0x94, 0x67, 0x22, 0xe5, 0xfd, 0x89, - 0x50, 0x88, 0x9f, 0xf6, 0x87, 0x5b, 0x0d, 0x47, 0x38, 0xe7, 0x14, 0xee, 0x34, 0x50, 0x14, 0xa5, - 0x83, 0x6d, 0xb0, 0x1c, 0x67, 0x6e, 0xe7, 0x12, 0x0f, 0x05, 0xff, 0xb9, 0xbe, 0xc1, 0x69, 0xdf, - 0x14, 0xdc, 0x70, 0x96, 0xe2, 0xcc, 0x3d, 0xc6, 0x43, 0x78, 0x04, 0x4a, 0x7c, 0xda, 0x10, 0xcb, - 0x12, 0xfc, 0x62, 0xf3, 0x6b, 0xe3, 0x91, 0xbe, 0x2a, 0x45, 0x26, 0x04, 0xc3, 0x99, 0x92, 0xe1, - 0x37, 0x00, 0xc4, 0x01, 0xaf, 0x33, 0xc3, 0x03, 0x26, 0xda, 0x5e, 0xb2, 0x3f, 0x1d, 0x8f, 0xf4, - 0x35, 0xf5, 0xf2, 0xc4, 0x67, 0x38, 0x25, 0x71, 0x39, 0xc7, 0x03, 0x36, 0x97, 0xda, 0xef, 0xa0, - 0x6a, 0x63, 0xef, 0xe2, 0xa0, 0xa9, 0x66, 0x0a, 0x7e, 0x01, 0x8a, 0x7d, 0x14, 0x64, 0x79, 0x7d, - 0x56, 0xa7, 0x73, 0x22, 0xcc, 0x86, 0x23, 0xdd, 0xf0, 0x2b, 0xb0, 0x14, 0x27, 0xb8, 0x47, 0x06, - 0x22, 0x87, 0x92, 0xbd, 0x36, 0x1e, 0xe9, 0xd5, 0x7c, 0xa0, 0xb8, 0x9d, 0x67, 0x2c, 0x0e, 0xad, - 0xad, 0xd9, 0x17, 0xff, 0x7f, 0x3c, 0xbf, 0xc6, 0x39, 0xa8, 0xda, 0x28, 0xc5, 0xdf, 0x7e, 0xff, - 0x9e, 0x01, 0xbc, 0xac, 0xfa, 0x1b, 0x00, 0x47, 0x78, 0xf0, 0xa1, 0x72, 0xfa, 0x43, 0x03, 0xeb, - 0x67, 0x24, 0xf2, 0x03, 0x7c, 0x96, 0x37, 0x8b, 0xdb, 0xe1, 0x77, 0x60, 0x91, 0x6f, 0x47, 0x11, - 0xc6, 0x4a, 0x73, 0xc7, 0x54, 0xdb, 0x89, 0x0d, 0xcc, 0x7c, 0xff, 0xa8, 0x0d, 0x63, 0x72, 0xde, - 0x29, 0xed, 0x62, 0x47, 0x10, 0xe0, 0x67, 0xf3, 0x33, 0x53, 0x99, 0x99, 0x83, 0xd6, 0x06, 0x8f, - 0x45, 0xc5, 0x51, 0x7d, 0xf4, 0xa2, 0xf1, 0x8f, 0x06, 0xe0, 0x29, 0xdf, 0x56, 0x8f, 0x03, 0x39, - 0x01, 0x25, 0x97, 0xb0, 0x0e, 0x4a, 0x12, 0x94, 0x0f, 0xb2, 0x95, 0x47, 0x23, 0x97, 0x9e, 0x39, - 0xd9, 0x71, 0x79, 0x48, 0x87, 0x34, 0x8c, 0x91, 0xc7, 0x6c, 0xc2, 0xda, 0x9c, 0xe6, 0x7c, 0xec, - 0xaa, 0x13, 0x9f, 0xc3, 0x49, 0x30, 0x7c, 0x9f, 0x2d, 0x3c, 0x37, 0xd2, 0xce, 0x0c, 0xee, 0x85, - 0xa8, 0xed, 0xe3, 0x9b, 0xfb, 0x86, 0x76, 0x7b, 0xdf, 0xd0, 0x5e, 0xdf, 0x37, 0xb4, 0xab, 0x87, - 0x46, 0xe1, 0xf6, 0xa1, 0x51, 0xb8, 0x7b, 0x68, 0x14, 0x7e, 0xdd, 0xf7, 0x09, 0xbb, 0xc8, 0x5c, - 0xd3, 0xa3, 0xa1, 0x25, 0x37, 0xd2, 0x5e, 0x80, 0xdc, 0x54, 0x9d, 0xf9, 0xf7, 0x33, 0x98, 0x7e, - 0x46, 0x6c, 0x18, 0xe3, 0xd4, 0x5d, 0x12, 0x11, 0x1c, 0xbc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x59, - 0xd5, 0x78, 0x90, 0xac, 0x06, 0x00, 0x00, + // 793 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x55, 0x4d, 0x4f, 0xeb, 0x46, + 0x14, 0x8d, 0x0b, 0x81, 0x66, 0x92, 0x50, 0x18, 0x52, 0x29, 0x40, 0x15, 0x53, 0x23, 0xb5, 0x54, + 0x15, 0xb6, 0x08, 0xad, 0x5a, 0x65, 0xd5, 0x98, 0x56, 0x42, 0x02, 0xa4, 0xd6, 0xb0, 0xea, 0x26, + 0x1a, 0x3b, 0x13, 0x33, 0xc2, 0xf6, 0x58, 0xf6, 0x38, 0x4a, 0xa4, 0x4a, 0x5d, 0xb6, 0x4b, 0x96, + 0x5d, 0x74, 0xc1, 0x7f, 0x68, 0x7f, 0x04, 0xea, 0x0a, 0x75, 0xc5, 0x2a, 0xef, 0x09, 0x36, 0x6f, + 0x9d, 0x5f, 0xf0, 0x34, 0x1f, 0x4e, 0x42, 0x78, 0x20, 0xbd, 0xd5, 0xdb, 0x79, 0xee, 0x3d, 0xe7, + 0xcc, 0xb9, 0x73, 0xaf, 0xae, 0xc1, 0xd7, 0x5d, 0x9c, 0x86, 0x34, 0xb5, 0xe2, 0x84, 0xf6, 0x48, + 0x80, 0x53, 0xab, 0xdf, 0xb4, 0x42, 0xda, 0xc5, 0x41, 0xda, 0xf1, 0x2e, 0x10, 0x89, 0x3a, 0x01, + 0x89, 0x2e, 0x53, 0x33, 0x4e, 0x28, 0xa3, 0x10, 0x4a, 0xb0, 0x99, 0x83, 0xcd, 0x7e, 0x73, 0xb3, + 0xe6, 0x53, 0x9f, 0x8a, 0xb4, 0xc5, 0xbf, 0x24, 0x72, 0x73, 0xc3, 0xa7, 0xd4, 0x0f, 0xb0, 0x25, + 0x4e, 0x6e, 0xd6, 0xb3, 0x50, 0x34, 0x54, 0x29, 0x7d, 0x3e, 0xc5, 0x48, 0x88, 0x53, 0x86, 0xc2, + 0x38, 0xe7, 0x7a, 0x94, 0xdf, 0xd2, 0x91, 0xa2, 0xf2, 0xa0, 0x52, 0x5f, 0xca, 0x93, 0xc5, 0x06, + 0x56, 0x4a, 0xfc, 0x88, 0x44, 0xbe, 0xd5, 0xdf, 0x77, 0x31, 0x43, 0xfb, 0xf9, 0x59, 0x01, 0xf7, + 0x14, 0xd0, 0x4b, 0x86, 0x31, 0xa3, 0x56, 0x98, 0x05, 0x8c, 0xa4, 0x64, 0x8a, 0xce, 0x03, 0x12, + 0x6e, 0xfc, 0xbd, 0x00, 0x4a, 0x87, 0xbc, 0xdc, 0x13, 0x12, 0x5d, 0xc2, 0x1d, 0xb0, 0x98, 0xa5, + 0x38, 0xa9, 0x6b, 0xdb, 0xda, 0x6e, 0xc9, 0xfe, 0x64, 0x3c, 0xd2, 0xcb, 0x43, 0x14, 0x06, 0x2d, + 0x83, 0x47, 0x0d, 0x47, 0x24, 0xe1, 0x2f, 0x60, 0x19, 0x75, 0xbb, 0x09, 0x4e, 0xd3, 0xfa, 0x47, + 0xdb, 0xda, 0x6e, 0xb9, 0x59, 0x33, 0x65, 0x61, 0x66, 0x5e, 0x98, 0xd9, 0x8e, 0x86, 0xf6, 0xe7, + 0xe3, 0x91, 0xbe, 0x22, 0xd9, 0x0a, 0x6e, 0xfc, 0xf7, 0xef, 0x5e, 0xb9, 0x2d, 0xbf, 0x7f, 0x44, + 0x0c, 0x39, 0xb9, 0x0e, 0xfc, 0x09, 0x14, 0xe3, 0x84, 0xd2, 0x5e, 0x7d, 0x41, 0x08, 0x6e, 0x98, + 0x4f, 0x9f, 0xdb, 0xfc, 0x99, 0x03, 0xec, 0xda, 0xcd, 0x48, 0x2f, 0x8c, 0x47, 0x7a, 0x45, 0x2a, + 0x0b, 0x96, 0xe1, 0x48, 0x36, 0xec, 0x80, 0x8a, 0x6c, 0x9d, 0x47, 0xa3, 0x1e, 0xf1, 0xeb, 0x8b, + 0x42, 0x4d, 0x7f, 0x97, 0x9a, 0xa8, 0xf9, 0x50, 0xc0, 0xec, 0x2d, 0xa5, 0xb9, 0x2e, 0x35, 0x67, + 0x25, 0x0c, 0xa7, 0xec, 0x4d, 0x91, 0x10, 0x81, 0xaa, 0x97, 0x60, 0xc4, 0x08, 0x8d, 0x3a, 0xbc, + 0x79, 0xf5, 0xa2, 0xb8, 0x61, 0xf3, 0xc9, 0x03, 0x9c, 0xe7, 0x9d, 0xb5, 0xb7, 0x95, 0x78, 0x4d, + 0x89, 0xcf, 0xd2, 0x8d, 0xab, 0x57, 0xba, 0xe6, 0x54, 0xf2, 0x18, 0x27, 0xb5, 0x2a, 0x7f, 0x5e, + 0xeb, 0x85, 0xbf, 0xae, 0x75, 0xed, 0xcd, 0xb5, 0xae, 0x19, 0x3f, 0x80, 0xf2, 0x8c, 0x53, 0xde, + 0x9f, 0x08, 0x85, 0xf8, 0x69, 0x7f, 0x78, 0xd4, 0x70, 0x44, 0x72, 0x4e, 0xe1, 0x4e, 0x03, 0x45, + 0xf1, 0x74, 0xb0, 0x0d, 0x96, 0xe3, 0xcc, 0xed, 0x5c, 0xe2, 0xa1, 0xe0, 0x3f, 0xd7, 0x37, 0x38, + 0xed, 0x9b, 0x82, 0x1b, 0xce, 0x52, 0x9c, 0xb9, 0xc7, 0x78, 0x08, 0x8f, 0x40, 0x89, 0x4f, 0x1b, + 0x62, 0x59, 0x82, 0x5f, 0x6c, 0x7e, 0x6d, 0x3c, 0xd2, 0x57, 0xa5, 0xc8, 0x84, 0x60, 0x38, 0x53, + 0x32, 0xfc, 0x06, 0x80, 0x38, 0xe0, 0xef, 0xcc, 0xf0, 0x80, 0x89, 0xb6, 0x97, 0xec, 0x4f, 0xc7, + 0x23, 0x7d, 0x4d, 0xdd, 0x3c, 0xc9, 0x19, 0x4e, 0x49, 0x1c, 0xce, 0xf1, 0x80, 0xcd, 0x95, 0xf6, + 0x3b, 0xa8, 0xda, 0xd8, 0xbb, 0x38, 0x68, 0xaa, 0x99, 0x82, 0x5f, 0x80, 0x62, 0x1f, 0x05, 0x59, + 0xfe, 0x3e, 0xab, 0xd3, 0x39, 0x11, 0x61, 0xc3, 0x91, 0x69, 0xf8, 0x15, 0x58, 0x8a, 0x13, 0xdc, + 0x23, 0x03, 0x51, 0x43, 0xc9, 0x5e, 0x1b, 0x8f, 0xf4, 0x6a, 0x3e, 0x50, 0x3c, 0xce, 0x2b, 0x16, + 0x1f, 0xad, 0xad, 0xd9, 0x1b, 0xff, 0x7f, 0x3c, 0xbf, 0xc6, 0x39, 0xa8, 0xda, 0x28, 0xc5, 0xdf, + 0x7e, 0xff, 0x9e, 0x06, 0x5e, 0x56, 0xfd, 0x0d, 0x80, 0x23, 0x3c, 0xf8, 0x50, 0x35, 0xfd, 0xa1, + 0x81, 0xf5, 0x33, 0x12, 0xf9, 0x01, 0x3e, 0xcb, 0x9b, 0xc5, 0xe3, 0xf0, 0x3b, 0xb0, 0xc8, 0xb7, + 0xa3, 0xb0, 0xb1, 0xd2, 0xdc, 0x31, 0xd5, 0x76, 0x62, 0x03, 0x33, 0xdf, 0x3f, 0x6a, 0xc3, 0x98, + 0x9c, 0x77, 0x4a, 0xbb, 0xd8, 0x11, 0x04, 0xf8, 0xd9, 0xfc, 0xcc, 0x54, 0x66, 0xe6, 0xa0, 0xb5, + 0xc1, 0xbd, 0x28, 0x1f, 0xd5, 0x47, 0x37, 0x1a, 0xff, 0x68, 0x00, 0x9e, 0xf2, 0x6d, 0xf5, 0xd8, + 0xc8, 0x09, 0x28, 0xb9, 0x84, 0x75, 0x50, 0x92, 0xa0, 0x7c, 0x90, 0xad, 0xdc, 0x8d, 0x5c, 0x7a, + 0xe6, 0x64, 0xc7, 0xe5, 0x96, 0x0e, 0x69, 0x18, 0x23, 0x8f, 0xd9, 0x84, 0xb5, 0x39, 0xcd, 0xf9, + 0xd8, 0x55, 0x5f, 0x7c, 0x0e, 0x27, 0x66, 0xf8, 0x3e, 0x5b, 0x78, 0x6e, 0xa4, 0x9d, 0x19, 0xdc, + 0x0b, 0xae, 0xed, 0xe3, 0x9b, 0xfb, 0x86, 0x76, 0x7b, 0xdf, 0xd0, 0x5e, 0xdf, 0x37, 0xb4, 0xab, + 0x87, 0x46, 0xe1, 0xf6, 0xa1, 0x51, 0xb8, 0x7b, 0x68, 0x14, 0x7e, 0xdd, 0xf7, 0x09, 0xbb, 0xc8, + 0x5c, 0xd3, 0xa3, 0xa1, 0x25, 0x37, 0xd2, 0x5e, 0x80, 0xdc, 0x54, 0x7d, 0x5b, 0xfd, 0x03, 0x6b, + 0x30, 0xfd, 0x19, 0xb1, 0x61, 0x8c, 0x53, 0x77, 0x49, 0x38, 0x38, 0x78, 0x1b, 0x00, 0x00, 0xff, + 0xff, 0xce, 0x73, 0x65, 0x77, 0xac, 0x06, 0x00, 0x00, } func (this *ChainLink) Equal(that interface{}) bool { diff --git a/x/profiles/types/models_dtag_requests.pb.go b/x/profiles/types/models_dtag_requests.pb.go index ff9fe69188..6553dcc7d0 100644 --- a/x/profiles/types/models_dtag_requests.pb.go +++ b/x/profiles/types/models_dtag_requests.pb.go @@ -80,29 +80,30 @@ func init() { } var fileDescriptor_3722cfac854d7654 = []byte{ - // 351 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0xb1, 0x4e, 0xc3, 0x30, - 0x10, 0x86, 0x63, 0x90, 0x2a, 0x48, 0xa9, 0x10, 0x69, 0x87, 0xd2, 0x21, 0x46, 0x59, 0x00, 0xa1, - 0xc6, 0xa2, 0x6c, 0x1d, 0x2b, 0xb6, 0x6e, 0x51, 0x27, 0x96, 0xc8, 0x49, 0xae, 0x69, 0x44, 0x12, - 0x07, 0xdb, 0xad, 0xe8, 0x1b, 0x30, 0x32, 0x32, 0xf6, 0x71, 0x18, 0x18, 0x3a, 0x32, 0x45, 0x28, - 0x5d, 0x98, 0xfb, 0x04, 0x28, 0x71, 0x0a, 0x02, 0x89, 0xed, 0xfe, 0xfb, 0xbf, 0x3b, 0xfb, 0x7e, - 0xbd, 0x1f, 0x80, 0x48, 0x98, 0x20, 0x19, 0x67, 0xd3, 0x28, 0x06, 0x41, 0x16, 0x03, 0x92, 0xb0, - 0x00, 0x62, 0xe1, 0x06, 0x92, 0x86, 0x2e, 0x87, 0x87, 0x39, 0x08, 0x29, 0xec, 0x8c, 0x33, 0xc9, - 0x0c, 0x43, 0xe1, 0xf6, 0x0e, 0xb7, 0x17, 0x83, 0x5e, 0x27, 0x64, 0x21, 0xab, 0x6c, 0x52, 0x56, - 0x8a, 0xec, 0x9d, 0x86, 0x8c, 0x85, 0x31, 0x90, 0x4a, 0x79, 0xf3, 0x29, 0xa1, 0xe9, 0xb2, 0xb6, - 0xf0, 0x5f, 0x4b, 0x46, 0x09, 0x08, 0x49, 0x93, 0x6c, 0x37, 0xeb, 0xb3, 0xf2, 0x15, 0x57, 0x2d, - 0x55, 0xa2, 0xb6, 0xae, 0xfe, 0xff, 0xaf, 0x3f, 0xa3, 0x51, 0xea, 0xc6, 0x51, 0x7a, 0x5f, 0xc3, - 0xd6, 0x1b, 0xd2, 0xdb, 0xb7, 0x13, 0x1a, 0x4e, 0x38, 0x4d, 0xc5, 0x14, 0xb8, 0xa3, 0x8e, 0x31, - 0xc6, 0x7a, 0xab, 0x3a, 0x4e, 0x32, 0x57, 0x72, 0x1a, 0x40, 0x17, 0x9d, 0xa1, 0x8b, 0xc3, 0xd1, - 0x79, 0x91, 0xe3, 0x66, 0xc5, 0xb3, 0x49, 0xd9, 0xde, 0xe6, 0xb8, 0xb3, 0xa4, 0x49, 0x3c, 0xb4, - 0x7e, 0xd1, 0x96, 0xd3, 0x2c, 0x75, 0x0d, 0x19, 0x97, 0x7a, 0x43, 0x40, 0x1a, 0x00, 0xef, 0xee, - 0x55, 0x5b, 0x4e, 0xb6, 0x39, 0x6e, 0xa9, 0x31, 0xd5, 0xb7, 0x9c, 0x1a, 0x30, 0x88, 0x7e, 0xc0, - 0xc1, 0x87, 0x68, 0x01, 0xbc, 0xbb, 0x5f, 0xc1, 0xed, 0x6d, 0x8e, 0x8f, 0x15, 0xbc, 0x73, 0x2c, - 0xe7, 0x1b, 0x1a, 0x1e, 0x3d, 0xad, 0xb0, 0xf6, 0xb2, 0xc2, 0xe8, 0x73, 0x85, 0xd1, 0x68, 0xfc, - 0x5a, 0x98, 0x68, 0x5d, 0x98, 0xe8, 0xa3, 0x30, 0xd1, 0xf3, 0xc6, 0xd4, 0xd6, 0x1b, 0x53, 0x7b, - 0xdf, 0x98, 0xda, 0xdd, 0x75, 0x18, 0xc9, 0xd9, 0xdc, 0xb3, 0x7d, 0x96, 0x10, 0x15, 0x50, 0x3f, - 0xa6, 0x9e, 0xa8, 0xeb, 0x32, 0xa3, 0xc7, 0x9f, 0xc4, 0xe4, 0x32, 0x03, 0xe1, 0x35, 0xaa, 0x88, - 0x6e, 0xbe, 0x02, 0x00, 0x00, 0xff, 0xff, 0x94, 0x72, 0x99, 0x7f, 0x01, 0x02, 0x00, 0x00, + // 355 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0xb1, 0x4e, 0xe3, 0x40, + 0x10, 0x86, 0xbd, 0x77, 0x52, 0x74, 0xe7, 0x5c, 0x74, 0xc2, 0x49, 0x11, 0x52, 0x78, 0x91, 0x1b, + 0x40, 0x28, 0x5e, 0x91, 0x74, 0x29, 0x23, 0xba, 0x74, 0x56, 0x2a, 0x1a, 0x6b, 0x6d, 0x4f, 0x1c, + 0x0b, 0xdb, 0x6b, 0x76, 0x37, 0x16, 0x79, 0x03, 0x4a, 0x4a, 0xca, 0x3c, 0x0e, 0x05, 0x45, 0x4a, + 0x2a, 0x0b, 0x39, 0x0d, 0x75, 0x9e, 0x00, 0xd9, 0xeb, 0x80, 0x40, 0xa2, 0x9b, 0x7f, 0xfe, 0x6f, + 0x66, 0x77, 0x7e, 0x7d, 0x18, 0x80, 0x48, 0x98, 0x20, 0x19, 0x67, 0x8b, 0x28, 0x06, 0x41, 0xf2, + 0x11, 0x49, 0x58, 0x00, 0xb1, 0x70, 0x03, 0x49, 0x43, 0x97, 0xc3, 0xed, 0x0a, 0x84, 0x14, 0x76, + 0xc6, 0x99, 0x64, 0x86, 0xa1, 0x70, 0xfb, 0x80, 0xdb, 0xf9, 0x68, 0xd0, 0x0b, 0x59, 0xc8, 0x6a, + 0x9b, 0x54, 0x95, 0x22, 0x07, 0xc7, 0x21, 0x63, 0x61, 0x0c, 0xa4, 0x56, 0xde, 0x6a, 0x41, 0x68, + 0xba, 0x6e, 0x2c, 0xfc, 0xdd, 0x92, 0x51, 0x02, 0x42, 0xd2, 0x24, 0x3b, 0xcc, 0xfa, 0xac, 0x7a, + 0xc5, 0x55, 0x4b, 0x95, 0x68, 0xac, 0x8b, 0x9f, 0xff, 0xeb, 0x2f, 0x69, 0x94, 0xba, 0x71, 0x94, + 0xde, 0x34, 0xb0, 0xf5, 0x8c, 0xf4, 0xee, 0xd5, 0x9c, 0x86, 0x73, 0x4e, 0x53, 0xb1, 0x00, 0xee, + 0xa8, 0x63, 0x8c, 0x99, 0xde, 0xa9, 0x8f, 0x93, 0xcc, 0x95, 0x9c, 0x06, 0xd0, 0x47, 0x27, 0xe8, + 0xec, 0xef, 0xf4, 0xb4, 0x2c, 0x70, 0xbb, 0xe6, 0xd9, 0xbc, 0x6a, 0xef, 0x0b, 0xdc, 0x5b, 0xd3, + 0x24, 0x9e, 0x58, 0x5f, 0x68, 0xcb, 0x69, 0x57, 0xba, 0x81, 0x8c, 0x73, 0xbd, 0x25, 0x20, 0x0d, + 0x80, 0xf7, 0x7f, 0xd5, 0x5b, 0x8e, 0xf6, 0x05, 0xee, 0xa8, 0x31, 0xd5, 0xb7, 0x9c, 0x06, 0x30, + 0x88, 0xfe, 0x87, 0x83, 0x0f, 0x51, 0x0e, 0xbc, 0xff, 0xbb, 0x86, 0xbb, 0xfb, 0x02, 0xff, 0x57, + 0xf0, 0xc1, 0xb1, 0x9c, 0x0f, 0x68, 0xf2, 0xef, 0x7e, 0x83, 0xb5, 0xc7, 0x0d, 0x46, 0x6f, 0x1b, + 0x8c, 0xa6, 0xb3, 0xa7, 0xd2, 0x44, 0xdb, 0xd2, 0x44, 0xaf, 0xa5, 0x89, 0x1e, 0x76, 0xa6, 0xb6, + 0xdd, 0x99, 0xda, 0xcb, 0xce, 0xd4, 0xae, 0x2f, 0xc3, 0x48, 0x2e, 0x57, 0x9e, 0xed, 0xb3, 0x84, + 0xa8, 0x80, 0x86, 0x31, 0xf5, 0x44, 0x53, 0x93, 0x7c, 0x4c, 0xee, 0x3e, 0x13, 0x93, 0xeb, 0x0c, + 0x84, 0xd7, 0xaa, 0x23, 0x1a, 0xbf, 0x07, 0x00, 0x00, 0xff, 0xff, 0x03, 0xd4, 0x84, 0x98, 0x01, + 0x02, 0x00, 0x00, } func (this *DTagTransferRequest) Equal(that interface{}) bool { diff --git a/x/profiles/types/models_packets.pb.go b/x/profiles/types/models_packets.pb.go index 5a14ba7daa..36c4fa18bf 100644 --- a/x/profiles/types/models_packets.pb.go +++ b/x/profiles/types/models_packets.pb.go @@ -125,36 +125,36 @@ func init() { } var fileDescriptor_7b1a8c7a3fceacd2 = []byte{ - // 460 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0x41, 0x8e, 0xd3, 0x30, - 0x14, 0x4d, 0xa0, 0x20, 0x4d, 0x0a, 0x88, 0x49, 0x07, 0xa9, 0x2d, 0x52, 0x52, 0x59, 0x42, 0x54, - 0x42, 0xe3, 0x88, 0xb2, 0x9b, 0x5d, 0x33, 0x2c, 0x90, 0x40, 0x62, 0xd4, 0x1d, 0x6c, 0x2a, 0xd7, - 0x71, 0x53, 0xab, 0xa9, 0x7f, 0x14, 0xbb, 0x23, 0x7a, 0x03, 0x96, 0x2c, 0x38, 0x00, 0x87, 0xe0, - 0x10, 0x23, 0x56, 0xb3, 0x64, 0x55, 0xa1, 0xf6, 0x06, 0x73, 0x02, 0x14, 0xdb, 0x65, 0x52, 0x1a, - 0xc4, 0xce, 0xff, 0xbf, 0xf7, 0xfe, 0xfb, 0x79, 0xf9, 0xde, 0xf3, 0x84, 0xc9, 0x05, 0xc8, 0x28, - 0x2f, 0x60, 0xca, 0x33, 0x26, 0xa3, 0xcb, 0x41, 0xb4, 0x80, 0x84, 0x65, 0x72, 0x9c, 0x13, 0x3a, - 0x67, 0x4a, 0xe2, 0xbc, 0x00, 0x05, 0xbe, 0x6f, 0x88, 0x78, 0x47, 0xc4, 0x97, 0x83, 0xee, 0x49, - 0x0a, 0x29, 0x68, 0x38, 0x2a, 0x5f, 0x86, 0xd9, 0xed, 0xa4, 0x00, 0x69, 0xc6, 0x22, 0x5d, 0x4d, - 0x96, 0xd3, 0x88, 0x88, 0xd5, 0x0e, 0xa2, 0x50, 0x0e, 0x19, 0x1b, 0x8d, 0x29, 0x2c, 0xf4, 0xe2, - 0xdf, 0x8b, 0xd0, 0x19, 0xe1, 0x62, 0x9c, 0x71, 0x31, 0xb7, 0x64, 0xf4, 0xb5, 0xe1, 0x75, 0xdf, - 0x71, 0x31, 0x3f, 0x2f, 0x91, 0x21, 0xa5, 0xb0, 0x14, 0xea, 0x42, 0xaf, 0xfb, 0x9a, 0x28, 0xe2, - 0x33, 0xef, 0x91, 0x84, 0x65, 0x41, 0xd9, 0x98, 0x24, 0x49, 0xc1, 0xa4, 0x6c, 0xbb, 0x3d, 0xb7, - 0xdf, 0x1c, 0x9c, 0x60, 0xb3, 0x1a, 0xde, 0xad, 0x86, 0x87, 0x62, 0x15, 0xf7, 0x6f, 0xd6, 0xe1, - 0x93, 0x15, 0x59, 0x64, 0x67, 0x68, 0x5f, 0x85, 0x7e, 0x7c, 0x3f, 0x6d, 0x0e, 0xcd, 0xbb, 0x9c, - 0x3b, 0x7a, 0x68, 0x70, 0xdb, 0xf2, 0x3f, 0x78, 0x0f, 0xac, 0x20, 0x2f, 0x00, 0xa6, 0xed, 0x3b, - 0xda, 0xa4, 0x83, 0x0f, 0x93, 0xc2, 0x17, 0x25, 0x21, 0x7e, 0x7a, 0xb5, 0x0e, 0x9d, 0x9b, 0x75, - 0xd8, 0xda, 0x73, 0xd3, 0x62, 0x34, 0x6a, 0x9a, 0x52, 0x33, 0x7d, 0xe9, 0xb5, 0x2c, 0x6a, 0x3e, - 0x9e, 0x82, 0x98, 0xf2, 0xb4, 0x7d, 0x57, 0x3b, 0x84, 0x75, 0x0e, 0x3a, 0x8a, 0x73, 0x4d, 0x8b, - 0x91, 0xf5, 0xe9, 0xee, 0xf9, 0x54, 0x27, 0xa1, 0xd1, 0xb1, 0xe9, 0x56, 0x64, 0xfe, 0x7b, 0xaf, - 0x95, 0x30, 0xa9, 0xb8, 0x20, 0x8a, 0x83, 0xf8, 0x93, 0x5d, 0xa3, 0xe7, 0xf6, 0x8f, 0xe2, 0xe0, - 0x76, 0x5e, 0x0d, 0x09, 0x8d, 0xfc, 0x4a, 0x77, 0x17, 0xd0, 0xcc, 0x3b, 0xae, 0x72, 0x4d, 0x4a, - 0xf7, 0xfe, 0x97, 0x52, 0xcf, 0x6e, 0xdf, 0x3e, 0x74, 0xb3, 0x51, 0x3d, 0xae, 0xf4, 0xb4, 0xe6, - 0xac, 0xf1, 0xf9, 0x5b, 0xe8, 0xa0, 0x37, 0x5e, 0xa7, 0xfe, 0x2a, 0x86, 0x74, 0xee, 0x3f, 0xab, - 0x3d, 0x8a, 0xa3, 0xbf, 0x7e, 0xaa, 0x99, 0x14, 0xbf, 0xbd, 0xda, 0x04, 0xee, 0xf5, 0x26, 0x70, - 0x7f, 0x6d, 0x02, 0xf7, 0xcb, 0x36, 0x70, 0xae, 0xb7, 0x81, 0xf3, 0x73, 0x1b, 0x38, 0x1f, 0x5f, - 0xa6, 0x5c, 0xcd, 0x96, 0x13, 0x4c, 0x61, 0x11, 0x99, 0x4f, 0x38, 0xcd, 0xc8, 0x44, 0xda, 0x77, - 0x79, 0xb5, 0x9f, 0x6e, 0x6f, 0x58, 0xad, 0x72, 0x26, 0x27, 0xf7, 0xf5, 0xb9, 0xbd, 0xfa, 0x1d, - 0x00, 0x00, 0xff, 0xff, 0x31, 0x98, 0x24, 0xe2, 0x6c, 0x03, 0x00, 0x00, + // 462 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0x41, 0x6e, 0xd3, 0x40, + 0x14, 0xb5, 0x21, 0x20, 0xd5, 0x01, 0x44, 0x9d, 0x22, 0x25, 0x41, 0xb2, 0x23, 0x4b, 0x88, 0x48, + 0xa8, 0x33, 0x22, 0xdd, 0x75, 0x17, 0x97, 0x05, 0x12, 0x48, 0x54, 0xd9, 0xc1, 0x26, 0x9a, 0x8c, + 0x27, 0xce, 0x28, 0xce, 0x7c, 0xcb, 0x33, 0x89, 0xc8, 0x0d, 0x58, 0xb2, 0xe0, 0x00, 0x1c, 0x82, + 0x43, 0x54, 0xac, 0xba, 0x64, 0x15, 0xa1, 0xe4, 0x06, 0x3d, 0x01, 0xf2, 0xcc, 0x84, 0x3a, 0x24, + 0xa8, 0xbb, 0xf9, 0xff, 0xbd, 0xf7, 0xdf, 0xf7, 0xf3, 0xf7, 0x5e, 0x26, 0x4c, 0xce, 0x40, 0xe2, + 0xbc, 0x80, 0x31, 0xcf, 0x98, 0xc4, 0x8b, 0x1e, 0x9e, 0x41, 0xc2, 0x32, 0x39, 0xcc, 0x09, 0x9d, + 0x32, 0x25, 0x51, 0x5e, 0x80, 0x02, 0xdf, 0x37, 0x44, 0xb4, 0x25, 0xa2, 0x45, 0xaf, 0x7d, 0x92, + 0x42, 0x0a, 0x1a, 0xc6, 0xe5, 0xcb, 0x30, 0xdb, 0xad, 0x14, 0x20, 0xcd, 0x18, 0xd6, 0xd5, 0x68, + 0x3e, 0xc6, 0x44, 0x2c, 0xb7, 0x10, 0x85, 0x72, 0xc8, 0xd0, 0x68, 0x4c, 0x61, 0xa1, 0x57, 0xff, + 0x5f, 0x84, 0x4e, 0x08, 0x17, 0xc3, 0x8c, 0x8b, 0xa9, 0x25, 0x47, 0xdf, 0x6a, 0x5e, 0xfb, 0x3d, + 0x17, 0xd3, 0x8b, 0x12, 0xe9, 0x53, 0x0a, 0x73, 0xa1, 0x2e, 0xf5, 0xba, 0x6f, 0x88, 0x22, 0x3e, + 0xf3, 0x9e, 0x48, 0x98, 0x17, 0x94, 0x0d, 0x49, 0x92, 0x14, 0x4c, 0xca, 0xa6, 0xdb, 0x71, 0xbb, + 0xf5, 0xde, 0x09, 0x32, 0xab, 0xa1, 0xed, 0x6a, 0xa8, 0x2f, 0x96, 0x71, 0xf7, 0x66, 0x15, 0x3e, + 0x5b, 0x92, 0x59, 0x76, 0x1e, 0xed, 0xaa, 0xa2, 0x9f, 0x3f, 0x4e, 0xeb, 0x7d, 0xf3, 0x2e, 0xe7, + 0x0e, 0x1e, 0x1b, 0xdc, 0xb6, 0xfc, 0x8f, 0xde, 0x23, 0x2b, 0xc8, 0x0b, 0x80, 0x71, 0xf3, 0x9e, + 0x36, 0x69, 0xa1, 0xfd, 0xa4, 0xd0, 0x65, 0x49, 0x88, 0x9f, 0x5f, 0xad, 0x42, 0xe7, 0x66, 0x15, + 0x36, 0x76, 0xdc, 0xb4, 0x38, 0x1a, 0xd4, 0x4d, 0xa9, 0x99, 0xbe, 0xf4, 0x1a, 0x16, 0x35, 0x1f, + 0x4f, 0x41, 0x8c, 0x79, 0xda, 0xbc, 0xaf, 0x1d, 0xc2, 0x43, 0x0e, 0x3a, 0x8a, 0x0b, 0x4d, 0x8b, + 0x23, 0xeb, 0xd3, 0xde, 0xf1, 0xa9, 0x4e, 0x8a, 0x06, 0xc7, 0xa6, 0x5b, 0x91, 0xf9, 0x1f, 0xbc, + 0x46, 0xc2, 0xa4, 0xe2, 0x82, 0x28, 0x0e, 0xe2, 0x6f, 0x76, 0xb5, 0x8e, 0xdb, 0x3d, 0x8a, 0x83, + 0xdb, 0x79, 0x07, 0x48, 0xd1, 0xc0, 0xaf, 0x74, 0xb7, 0x01, 0x4d, 0xbc, 0xe3, 0x2a, 0xd7, 0xa4, + 0xf4, 0xe0, 0xae, 0x94, 0x3a, 0x76, 0xfb, 0xe6, 0xbe, 0x9b, 0x8d, 0xea, 0x69, 0xa5, 0xa7, 0x35, + 0xe7, 0xb5, 0x2f, 0xdf, 0x43, 0x27, 0x7a, 0xeb, 0xb5, 0x0e, 0x5f, 0x45, 0x9f, 0x4e, 0xfd, 0x17, + 0x07, 0x8f, 0xe2, 0xe8, 0x9f, 0x9f, 0x6a, 0x26, 0xc5, 0xef, 0xae, 0xd6, 0x81, 0x7b, 0xbd, 0x0e, + 0xdc, 0xdf, 0xeb, 0xc0, 0xfd, 0xba, 0x09, 0x9c, 0xeb, 0x4d, 0xe0, 0xfc, 0xda, 0x04, 0xce, 0xa7, + 0xd7, 0x29, 0x57, 0x93, 0xf9, 0x08, 0x51, 0x98, 0x61, 0xf3, 0x09, 0xa7, 0x19, 0x19, 0x49, 0xfb, + 0xc6, 0x8b, 0x33, 0xfc, 0xf9, 0xf6, 0x86, 0xd5, 0x32, 0x67, 0x72, 0xf4, 0x50, 0x9f, 0xdb, 0xd9, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x3e, 0x39, 0x05, 0x6c, 0x03, 0x00, 0x00, } func (m *LinkChainAccountPacketData) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/models_params.pb.go b/x/profiles/types/models_params.pb.go index 21ec7ec6b9..032ce17dd9 100644 --- a/x/profiles/types/models_params.pb.go +++ b/x/profiles/types/models_params.pb.go @@ -252,51 +252,51 @@ func init() { } var fileDescriptor_1b093f5fee9c9f7d = []byte{ - // 695 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x95, 0xcb, 0x6e, 0xd3, 0x40, - 0x14, 0x86, 0x93, 0xd8, 0x8d, 0xe2, 0x49, 0xb9, 0xd4, 0x2a, 0x10, 0x8a, 0xb0, 0xa3, 0x59, 0x54, - 0xd9, 0xd4, 0x56, 0xc2, 0x02, 0xa9, 0x12, 0x0b, 0x9c, 0x56, 0xa8, 0xe2, 0xd2, 0xca, 0x20, 0x21, - 0xb1, 0xb1, 0xc6, 0xce, 0xd4, 0xb5, 0x12, 0x7b, 0x2c, 0x8f, 0x53, 0xa5, 0x2b, 0xb6, 0x2c, 0x79, - 0x02, 0xc4, 0x1a, 0xf1, 0x20, 0x5d, 0xa1, 0x2e, 0x11, 0x0b, 0x83, 0xd2, 0x37, 0xc8, 0x13, 0xa0, - 0xb9, 0xe4, 0xd2, 0x12, 0x89, 0x02, 0x62, 0x95, 0x93, 0x39, 0xe7, 0xff, 0xce, 0xcc, 0xf9, 0xed, - 0x31, 0xd8, 0xec, 0x61, 0x1a, 0x13, 0x6a, 0xa7, 0x19, 0x39, 0x8c, 0x06, 0x98, 0xda, 0xc7, 0x1d, - 0x3b, 0x26, 0x3d, 0x3c, 0xa0, 0x5e, 0x8a, 0x32, 0x14, 0x53, 0x2b, 0xcd, 0x48, 0x4e, 0x74, 0x5d, - 0xd4, 0x59, 0xd3, 0x3a, 0xeb, 0xb8, 0xb3, 0xb1, 0x1e, 0x92, 0x90, 0xf0, 0xb4, 0xcd, 0x22, 0x51, - 0xb9, 0x61, 0x04, 0x84, 0x13, 0x7d, 0x44, 0xb1, 0x7d, 0xdc, 0xf6, 0x71, 0x8e, 0xda, 0x76, 0x40, - 0xa2, 0x44, 0xe4, 0xe1, 0x97, 0x0a, 0xa8, 0x1e, 0x70, 0xb4, 0xfe, 0x1a, 0xd4, 0x92, 0x28, 0xe8, - 0x27, 0x28, 0xc6, 0x8d, 0x72, 0xb3, 0xdc, 0xaa, 0x77, 0xa0, 0xf5, 0x6b, 0x1f, 0xeb, 0x85, 0xac, - 0x11, 0x2a, 0xe7, 0xce, 0x69, 0x61, 0x96, 0x26, 0x85, 0x79, 0xe3, 0x04, 0xc5, 0x83, 0x6d, 0x38, - 0x25, 0x40, 0x77, 0x06, 0xd3, 0xf7, 0x81, 0xda, 0xcb, 0x51, 0xd8, 0xa8, 0x70, 0xa8, 0xb1, 0x0c, - 0xba, 0xf3, 0x0a, 0x85, 0x12, 0x78, 0x8f, 0x01, 0xc7, 0x85, 0xa9, 0xb2, 0xb5, 0x49, 0x61, 0xd6, - 0x05, 0x98, 0x11, 0xa0, 0xcb, 0x41, 0x7a, 0x17, 0x28, 0x7e, 0x44, 0x1a, 0x0a, 0xe7, 0xdd, 0x5f, - 0xc6, 0x73, 0x22, 0x22, 0x71, 0xba, 0xdc, 0x1f, 0x10, 0x18, 0x3f, 0x22, 0xd0, 0x65, 0x6a, 0x7d, - 0x1f, 0x54, 0x49, 0x86, 0x82, 0x01, 0x6e, 0xa8, 0x9c, 0xd3, 0x5c, 0xc6, 0xd9, 0xe7, 0x15, 0x12, - 0x75, 0x4b, 0xa2, 0xae, 0x09, 0x94, 0x50, 0x43, 0x57, 0x62, 0xb6, 0xd5, 0x77, 0x1f, 0xcd, 0x12, - 0x2c, 0xca, 0xe0, 0xfa, 0xc5, 0x11, 0xe9, 0x3e, 0x00, 0x71, 0x94, 0x78, 0x03, 0x9c, 0x84, 0xf9, - 0x11, 0x1f, 0xed, 0xaa, 0xd3, 0x65, 0xac, 0x6f, 0x85, 0xb9, 0x19, 0x46, 0xf9, 0xd1, 0xd0, 0xb7, - 0x02, 0x12, 0xdb, 0xd2, 0x2a, 0xf1, 0xb3, 0x45, 0x7b, 0x7d, 0x3b, 0x3f, 0x49, 0x31, 0xb5, 0xf6, - 0x92, 0x7c, 0x52, 0x98, 0x6b, 0xa2, 0xeb, 0x9c, 0x04, 0x5d, 0x2d, 0x8e, 0x92, 0x67, 0x3c, 0xe6, - 0x3d, 0xd0, 0x68, 0xda, 0xa3, 0xf2, 0x8f, 0x3d, 0x66, 0x24, 0xd6, 0x03, 0x8d, 0x44, 0x0f, 0x79, - 0xc0, 0x0f, 0x15, 0x00, 0xe6, 0x76, 0xe9, 0x2d, 0x50, 0xcd, 0x70, 0xe8, 0xe1, 0x11, 0x3f, 0x98, - 0xe6, 0xac, 0xcd, 0x07, 0x24, 0xd6, 0xa1, 0xbb, 0x92, 0xe1, 0x70, 0x77, 0xa4, 0x93, 0x0b, 0x63, - 0x10, 0x5b, 0x3c, 0xf8, 0xb3, 0x2d, 0x8e, 0x0b, 0x53, 0x7b, 0x3e, 0x3d, 0xf3, 0x6f, 0x67, 0x42, - 0x2e, 0xcc, 0x44, 0xf9, 0xeb, 0x86, 0xd3, 0x01, 0x5c, 0x71, 0x40, 0x43, 0xa0, 0xcd, 0x1e, 0xbf, - 0x4b, 0xbe, 0x28, 0xff, 0xd1, 0x97, 0xcf, 0x0a, 0x58, 0x5d, 0x7c, 0x5c, 0xf5, 0x47, 0x40, 0xa3, - 0x41, 0x16, 0xa5, 0xb9, 0x17, 0xf5, 0xb8, 0x39, 0xaa, 0xd3, 0x1c, 0x17, 0x66, 0xed, 0x25, 0x5f, - 0xdc, 0xdb, 0x99, 0x14, 0xe6, 0x4d, 0xc1, 0x9d, 0x95, 0x41, 0xb7, 0x26, 0xe2, 0xbd, 0x9e, 0xde, - 0x06, 0x1a, 0xa2, 0x7d, 0x2f, 0x20, 0xc3, 0x24, 0xe7, 0x6e, 0xa9, 0xce, 0xfa, 0x5c, 0x32, 0x4b, - 0x41, 0xb7, 0x86, 0x68, 0xbf, 0xcb, 0x42, 0x26, 0x61, 0x56, 0x08, 0x89, 0x72, 0x59, 0x32, 0x4b, - 0x41, 0xb7, 0x16, 0x47, 0x89, 0x90, 0x3c, 0x04, 0xf5, 0x34, 0xc3, 0x29, 0xca, 0xb0, 0x17, 0x22, - 0xca, 0x5f, 0x45, 0xd5, 0xb9, 0x3d, 0x29, 0x4c, 0x5d, 0x88, 0x16, 0x92, 0xd0, 0x05, 0xf2, 0xdf, - 0x13, 0x44, 0x99, 0x10, 0x8f, 0x70, 0x30, 0xcc, 0x85, 0x70, 0xe5, 0xb2, 0x70, 0x21, 0x09, 0x5d, - 0x20, 0xff, 0x31, 0xe1, 0x5b, 0x00, 0x0e, 0x31, 0xf6, 0x50, 0xcc, 0x77, 0x59, 0x6d, 0x2a, 0xad, - 0x7a, 0xe7, 0xae, 0x25, 0x06, 0x6f, 0xb1, 0x6b, 0xd2, 0x92, 0xd7, 0xa4, 0xd5, 0x25, 0x51, 0xe2, - 0xec, 0xca, 0x97, 0x5e, 0x5a, 0x30, 0x97, 0xc2, 0x4f, 0xdf, 0xcd, 0xd6, 0x15, 0x1c, 0x64, 0x14, - 0xea, 0x6a, 0x87, 0x18, 0x3f, 0xe6, 0x3a, 0x61, 0x97, 0xf3, 0xf4, 0x74, 0x6c, 0x94, 0xcf, 0xc6, - 0x46, 0xf9, 0xc7, 0xd8, 0x28, 0xbf, 0x3f, 0x37, 0x4a, 0x67, 0xe7, 0x46, 0xe9, 0xeb, 0xb9, 0x51, - 0x7a, 0xd3, 0x5e, 0x80, 0x8a, 0x2b, 0x69, 0x6b, 0x80, 0x7c, 0x2a, 0x63, 0xf6, 0x49, 0x18, 0xcd, - 0x3f, 0x10, 0xbc, 0x87, 0x5f, 0xe5, 0x97, 0xf9, 0x83, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4a, - 0x5b, 0x7b, 0x88, 0x40, 0x06, 0x00, 0x00, + // 697 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x95, 0xcb, 0x6e, 0xd3, 0x4c, + 0x14, 0xc7, 0x93, 0xd8, 0x8d, 0xe2, 0x49, 0xbf, 0x0f, 0x6a, 0x15, 0x08, 0x45, 0xd8, 0xd1, 0x2c, + 0xaa, 0x6c, 0x6a, 0x2b, 0xe9, 0x02, 0xa9, 0x12, 0x0b, 0x9c, 0x56, 0xa8, 0xe2, 0xd2, 0xca, 0x20, + 0x21, 0xb1, 0xb1, 0xc6, 0xce, 0xd4, 0xb5, 0x12, 0x7b, 0x2c, 0x8f, 0x13, 0xa5, 0x2b, 0xb6, 0x2c, + 0x79, 0x02, 0xc4, 0x1a, 0xf1, 0x20, 0x5d, 0xa1, 0x2e, 0x11, 0x0b, 0x83, 0xd2, 0x37, 0xc8, 0x13, + 0xa0, 0xb9, 0xe4, 0xd2, 0x52, 0x89, 0x02, 0x62, 0x95, 0xe3, 0x39, 0xe7, 0xff, 0x3b, 0x33, 0xe7, + 0x6f, 0x4f, 0xc0, 0x66, 0x0f, 0xd3, 0x98, 0x50, 0x3b, 0xcd, 0xc8, 0x51, 0x34, 0xc0, 0xd4, 0x1e, + 0x75, 0xec, 0x98, 0xf4, 0xf0, 0x80, 0x7a, 0x29, 0xca, 0x50, 0x4c, 0xad, 0x34, 0x23, 0x39, 0xd1, + 0x75, 0x51, 0x67, 0xcd, 0xea, 0xac, 0x51, 0x67, 0x63, 0x3d, 0x24, 0x21, 0xe1, 0x69, 0x9b, 0x45, + 0xa2, 0x72, 0xc3, 0x08, 0x08, 0x27, 0xfa, 0x88, 0x62, 0x7b, 0xd4, 0xf6, 0x71, 0x8e, 0xda, 0x76, + 0x40, 0xa2, 0x44, 0xe4, 0xe1, 0xe7, 0x0a, 0xa8, 0x1e, 0x72, 0xb4, 0xfe, 0x0a, 0xd4, 0x92, 0x28, + 0xe8, 0x27, 0x28, 0xc6, 0x8d, 0x72, 0xb3, 0xdc, 0xaa, 0x77, 0xa0, 0xf5, 0x73, 0x1f, 0xeb, 0xb9, + 0xac, 0x11, 0x2a, 0xe7, 0xce, 0x69, 0x61, 0x96, 0xa6, 0x85, 0x79, 0xe3, 0x04, 0xc5, 0x83, 0x1d, + 0x38, 0x23, 0x40, 0x77, 0x0e, 0xd3, 0x0f, 0x80, 0xda, 0xcb, 0x51, 0xd8, 0xa8, 0x70, 0xa8, 0x71, + 0x15, 0x74, 0xf7, 0x25, 0x0a, 0x25, 0xf0, 0x1e, 0x03, 0x4e, 0x0a, 0x53, 0x65, 0x6b, 0xd3, 0xc2, + 0xac, 0x0b, 0x30, 0x23, 0x40, 0x97, 0x83, 0xf4, 0x2e, 0x50, 0xfc, 0x88, 0x34, 0x14, 0xce, 0xbb, + 0x7f, 0x15, 0xcf, 0x89, 0x88, 0xc4, 0xe9, 0x72, 0x7f, 0x40, 0x60, 0xfc, 0x88, 0x40, 0x97, 0xa9, + 0xf5, 0x03, 0x50, 0x25, 0x19, 0x0a, 0x06, 0xb8, 0xa1, 0x72, 0x4e, 0xf3, 0x2a, 0xce, 0x01, 0xaf, + 0x90, 0xa8, 0x5b, 0x12, 0xf5, 0x9f, 0x40, 0x09, 0x35, 0x74, 0x25, 0x66, 0x47, 0x7d, 0xfb, 0xc1, + 0x2c, 0xc1, 0xa2, 0x0c, 0xfe, 0xbf, 0x38, 0x22, 0xdd, 0x07, 0x20, 0x8e, 0x12, 0x6f, 0x80, 0x93, + 0x30, 0x3f, 0xe6, 0xa3, 0x5d, 0x75, 0xba, 0x8c, 0xf5, 0xb5, 0x30, 0x37, 0xc3, 0x28, 0x3f, 0x1e, + 0xfa, 0x56, 0x40, 0x62, 0x5b, 0x5a, 0x25, 0x7e, 0xb6, 0x68, 0xaf, 0x6f, 0xe7, 0x27, 0x29, 0xa6, + 0xd6, 0x7e, 0x92, 0x4f, 0x0b, 0x73, 0x4d, 0x74, 0x5d, 0x90, 0xa0, 0xab, 0xc5, 0x51, 0xf2, 0x94, + 0xc7, 0xbc, 0x07, 0x1a, 0xcf, 0x7a, 0x54, 0xfe, 0xb2, 0xc7, 0x9c, 0xc4, 0x7a, 0xa0, 0xb1, 0xe8, + 0x21, 0x0f, 0xf8, 0xbe, 0x02, 0xc0, 0xc2, 0x2e, 0xbd, 0x05, 0xaa, 0x19, 0x0e, 0x3d, 0x3c, 0xe6, + 0x07, 0xd3, 0x9c, 0xb5, 0xc5, 0x80, 0xc4, 0x3a, 0x74, 0x57, 0x32, 0x1c, 0xee, 0x8d, 0x75, 0x72, + 0x61, 0x0c, 0x62, 0x8b, 0x87, 0xbf, 0xb7, 0xc5, 0x49, 0x61, 0x6a, 0xcf, 0x66, 0x67, 0xfe, 0xe5, + 0x4c, 0xc8, 0x85, 0x99, 0x28, 0x7f, 0xdc, 0x70, 0x36, 0x80, 0x6b, 0x0e, 0x68, 0x08, 0xb4, 0xf9, + 0xeb, 0x77, 0xc9, 0x17, 0xe5, 0x1f, 0xfa, 0xf2, 0x49, 0x01, 0xab, 0xcb, 0xaf, 0xab, 0xfe, 0x10, + 0x68, 0x34, 0xc8, 0xa2, 0x34, 0xf7, 0xa2, 0x1e, 0x37, 0x47, 0x75, 0x9a, 0x93, 0xc2, 0xac, 0xbd, + 0xe0, 0x8b, 0xfb, 0xbb, 0xd3, 0xc2, 0xbc, 0x29, 0xb8, 0xf3, 0x32, 0xe8, 0xd6, 0x44, 0xbc, 0xdf, + 0xd3, 0xdb, 0x40, 0x43, 0xb4, 0xef, 0x05, 0x64, 0x98, 0xe4, 0xdc, 0x2d, 0xd5, 0x59, 0x5f, 0x48, + 0xe6, 0x29, 0xe8, 0xd6, 0x10, 0xed, 0x77, 0x59, 0xc8, 0x24, 0xcc, 0x0a, 0x21, 0x51, 0x2e, 0x4b, + 0xe6, 0x29, 0xe8, 0xd6, 0xe2, 0x28, 0x11, 0x92, 0x07, 0xa0, 0x9e, 0x66, 0x38, 0x45, 0x19, 0xf6, + 0x42, 0x44, 0xf9, 0xa7, 0xa8, 0x3a, 0xb7, 0xa7, 0x85, 0xa9, 0x0b, 0xd1, 0x52, 0x12, 0xba, 0x40, + 0x3e, 0x3d, 0x46, 0x94, 0x09, 0xf1, 0x18, 0x07, 0xc3, 0x5c, 0x08, 0x57, 0x2e, 0x0b, 0x97, 0x92, + 0xd0, 0x05, 0xf2, 0x89, 0x09, 0xdf, 0x00, 0x70, 0x84, 0xb1, 0x87, 0x62, 0xbe, 0xcb, 0x6a, 0x53, + 0x69, 0xd5, 0x3b, 0x77, 0x2d, 0x31, 0x78, 0x8b, 0x5d, 0x93, 0x96, 0xbc, 0x26, 0xad, 0x2e, 0x89, + 0x12, 0x67, 0x4f, 0x7e, 0xf4, 0xd2, 0x82, 0x85, 0x14, 0x7e, 0xfc, 0x66, 0xb6, 0xae, 0xe1, 0x20, + 0xa3, 0x50, 0x57, 0x3b, 0xc2, 0xf8, 0x11, 0xd7, 0x09, 0xbb, 0x9c, 0x27, 0xa7, 0x13, 0xa3, 0x7c, + 0x36, 0x31, 0xca, 0xdf, 0x27, 0x46, 0xf9, 0xdd, 0xb9, 0x51, 0x3a, 0x3b, 0x37, 0x4a, 0x5f, 0xce, + 0x8d, 0xd2, 0xeb, 0xf6, 0x12, 0x54, 0x5c, 0x49, 0x5b, 0x03, 0xe4, 0x53, 0x19, 0xdb, 0xa3, 0x6d, + 0x7b, 0xbc, 0xf8, 0x83, 0xe0, 0x3d, 0xfc, 0x2a, 0xbf, 0xcc, 0xb7, 0x7f, 0x04, 0x00, 0x00, 0xff, + 0xff, 0xdd, 0xfd, 0x66, 0x6f, 0x40, 0x06, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/models_profile.pb.go b/x/profiles/types/models_profile.pb.go index f766d7cd0c..a02ef16ddc 100644 --- a/x/profiles/types/models_profile.pb.go +++ b/x/profiles/types/models_profile.pb.go @@ -144,37 +144,37 @@ func init() { var fileDescriptor_089dd63594c4b06b = []byte{ // 496 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xb1, 0x6e, 0xdb, 0x3c, - 0x14, 0x85, 0xa5, 0xdf, 0x4e, 0xac, 0x30, 0xfe, 0xd3, 0x82, 0x35, 0x10, 0xd5, 0x28, 0x44, 0x83, - 0x43, 0x1b, 0x20, 0x8d, 0x84, 0xba, 0x9b, 0xd1, 0x25, 0x42, 0x96, 0xa2, 0x4b, 0x2a, 0x64, 0xea, - 0x62, 0x50, 0x32, 0xa3, 0xb0, 0x91, 0x44, 0x41, 0xa2, 0x8d, 0xfa, 0x09, 0xda, 0x31, 0x63, 0x46, - 0x3f, 0x44, 0x1f, 0x22, 0xe8, 0x94, 0xb1, 0x93, 0x5a, 0xd8, 0x4b, 0x67, 0x3d, 0x41, 0x21, 0x91, - 0x4c, 0xd0, 0x06, 0xdd, 0x48, 0x9e, 0xef, 0x9e, 0x7b, 0x70, 0x2f, 0xc1, 0x8b, 0x19, 0x2d, 0x53, - 0x5e, 0x7a, 0x79, 0xc1, 0xcf, 0x59, 0x42, 0x4b, 0x6f, 0x31, 0xf6, 0x52, 0x3e, 0xa3, 0x49, 0x39, - 0x55, 0x4f, 0x6e, 0x5e, 0x70, 0xc1, 0x21, 0x94, 0xa0, 0xab, 0x41, 0x77, 0x31, 0x1e, 0x0e, 0x62, - 0x1e, 0xf3, 0x56, 0xf6, 0x9a, 0x93, 0x24, 0x87, 0x4f, 0x63, 0xce, 0xe3, 0x84, 0x7a, 0xed, 0x2d, - 0x9c, 0x9f, 0x7b, 0x24, 0x5b, 0x2a, 0x09, 0xfd, 0x2d, 0x09, 0x96, 0xd2, 0x52, 0x90, 0x34, 0xd7, - 0xb5, 0x11, 0x6f, 0xba, 0x4c, 0xa5, 0xa9, 0xbc, 0x28, 0xe9, 0xf0, 0xdf, 0x49, 0xa3, 0x0b, 0xc2, - 0xb2, 0x69, 0xc2, 0xb2, 0x4b, 0x05, 0xe3, 0xcf, 0x1d, 0xd0, 0x3b, 0x95, 0x20, 0x7c, 0x03, 0x7a, - 0x24, 0x8a, 0xf8, 0x3c, 0x13, 0xb6, 0x39, 0x32, 0x0f, 0x76, 0xc7, 0x03, 0x57, 0xc6, 0x70, 0x75, - 0x0c, 0xf7, 0x38, 0x5b, 0xfa, 0xfd, 0x6f, 0x5f, 0x8f, 0xac, 0x63, 0x09, 0xbe, 0x0d, 0x74, 0x09, - 0x3c, 0x04, 0xdd, 0x99, 0x20, 0xb1, 0xfd, 0xdf, 0xc8, 0x3c, 0xd8, 0xf1, 0xf7, 0xd7, 0x15, 0xea, - 0x9e, 0x9c, 0x91, 0xb8, 0xae, 0xd0, 0xee, 0x92, 0xa4, 0xc9, 0x04, 0x37, 0x2a, 0x0e, 0x5a, 0x08, - 0x7a, 0xc0, 0xca, 0x58, 0x74, 0x99, 0x91, 0x94, 0xda, 0x9d, 0xb6, 0xe0, 0x49, 0x5d, 0xa1, 0x47, - 0x12, 0xd4, 0x0a, 0x0e, 0xee, 0x20, 0x38, 0x02, 0x9d, 0x90, 0x71, 0xbb, 0xdb, 0xb2, 0x7b, 0x75, - 0x85, 0x80, 0x64, 0x43, 0xc6, 0x71, 0xd0, 0x48, 0xf0, 0x3d, 0xb0, 0x72, 0x16, 0x89, 0x79, 0x41, - 0x4b, 0x7b, 0xab, 0x8d, 0xff, 0xcc, 0x7d, 0xb8, 0x0a, 0xf7, 0x54, 0x31, 0xfe, 0xfe, 0x4d, 0x85, - 0x8c, 0xfb, 0xa6, 0xba, 0x16, 0x07, 0x77, 0x36, 0x90, 0x80, 0xff, 0xa3, 0x82, 0x12, 0xc1, 0x78, - 0x36, 0x9d, 0x11, 0x41, 0xed, 0xed, 0xd6, 0x77, 0xf8, 0x60, 0x2c, 0x67, 0x7a, 0x3b, 0xfe, 0x48, - 0xb9, 0x0e, 0xa4, 0xeb, 0x1f, 0xe5, 0xf8, 0xea, 0x07, 0x32, 0x83, 0xbe, 0x7e, 0x3b, 0x21, 0x82, - 0x4e, 0xac, 0x2f, 0x2b, 0x64, 0x5c, 0xaf, 0x90, 0x81, 0x3f, 0x02, 0x4b, 0x67, 0x83, 0x2f, 0x41, - 0x4f, 0x65, 0x6e, 0x37, 0xb1, 0xe3, 0xc3, 0xba, 0x42, 0x7b, 0x2a, 0xa8, 0x14, 0x70, 0xa0, 0x11, - 0xf8, 0x1c, 0x6c, 0x45, 0x7c, 0x41, 0x0b, 0x35, 0xfa, 0xc7, 0x75, 0x85, 0xfa, 0xaa, 0x7d, 0xf3, - 0x8c, 0x03, 0x29, 0x4f, 0xac, 0xeb, 0x15, 0x32, 0x7f, 0xad, 0x90, 0xe9, 0xbf, 0xbb, 0x59, 0x3b, - 0xe6, 0xed, 0xda, 0x31, 0x7f, 0xae, 0x1d, 0xf3, 0x6a, 0xe3, 0x18, 0xb7, 0x1b, 0xc7, 0xf8, 0xbe, - 0x71, 0x8c, 0x0f, 0xaf, 0x62, 0x26, 0x2e, 0xe6, 0xa1, 0x1b, 0xf1, 0xd4, 0x93, 0xd3, 0x3b, 0x4a, - 0x48, 0x58, 0xaa, 0x73, 0xf3, 0x95, 0x3e, 0xdd, 0x7f, 0x2c, 0xb1, 0xcc, 0x69, 0x19, 0x6e, 0xb7, - 0x63, 0x78, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x69, 0x39, 0x73, 0x14, 0x22, 0x03, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x31, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0x6d, 0x9a, 0x36, 0xee, 0x35, 0x14, 0x74, 0x44, 0xaa, 0x89, 0x90, 0x2f, 0xba, 0x01, + 0x2a, 0x95, 0xfa, 0x44, 0xba, 0x45, 0x2c, 0xb5, 0xba, 0x20, 0x96, 0x62, 0x75, 0x62, 0x89, 0xce, + 0xce, 0xd5, 0x3d, 0x6a, 0xfb, 0xa2, 0xf8, 0x12, 0x91, 0x4f, 0x00, 0x63, 0xc7, 0x8e, 0xf9, 0x10, + 0x7c, 0x88, 0x8a, 0xa9, 0x23, 0x93, 0x41, 0xc9, 0xc2, 0xec, 0x4f, 0x80, 0xec, 0xbb, 0x6b, 0x05, + 0x15, 0x9b, 0xef, 0xfd, 0x7f, 0xef, 0xff, 0xfe, 0x7a, 0xcf, 0xe0, 0xd5, 0x98, 0x15, 0x99, 0x28, + 0xc8, 0x64, 0x2a, 0xce, 0x79, 0xca, 0x0a, 0x32, 0x1f, 0x90, 0x4c, 0x8c, 0x59, 0x5a, 0x8c, 0x74, + 0xc9, 0x9f, 0x4c, 0x85, 0x14, 0x10, 0x2a, 0xd0, 0x37, 0xa0, 0x3f, 0x1f, 0xf4, 0xba, 0x89, 0x48, + 0x44, 0x23, 0x93, 0xfa, 0x4b, 0x91, 0xbd, 0xe7, 0x89, 0x10, 0x49, 0xca, 0x48, 0xf3, 0x8a, 0x66, + 0xe7, 0x84, 0xe6, 0x0b, 0x2d, 0xa1, 0x7f, 0x25, 0xc9, 0x33, 0x56, 0x48, 0x9a, 0x4d, 0x4c, 0x6f, + 0x2c, 0xea, 0x29, 0x23, 0x65, 0xaa, 0x1e, 0x5a, 0x3a, 0xf8, 0x7f, 0xd2, 0xf8, 0x82, 0xf2, 0x7c, + 0x94, 0xf2, 0xfc, 0x52, 0xc3, 0xf8, 0xcb, 0x06, 0x68, 0x9f, 0x2a, 0x10, 0xbe, 0x05, 0x6d, 0x1a, + 0xc7, 0x62, 0x96, 0x4b, 0xd7, 0xee, 0xdb, 0xfb, 0x3b, 0x83, 0xae, 0xaf, 0x62, 0xf8, 0x26, 0x86, + 0x7f, 0x9c, 0x2f, 0x82, 0xce, 0xf7, 0x6f, 0x87, 0xce, 0xb1, 0x02, 0xdf, 0x85, 0xa6, 0x05, 0x1e, + 0x80, 0xd6, 0x58, 0xd2, 0xc4, 0x7d, 0xd4, 0xb7, 0xf7, 0xb7, 0x83, 0xbd, 0x55, 0x89, 0x5a, 0x27, + 0x67, 0x34, 0xa9, 0x4a, 0xb4, 0xb3, 0xa0, 0x59, 0x3a, 0xc4, 0xb5, 0x8a, 0xc3, 0x06, 0x82, 0x04, + 0x38, 0x39, 0x8f, 0x2f, 0x73, 0x9a, 0x31, 0x77, 0xa3, 0x69, 0x78, 0x56, 0x95, 0xe8, 0x89, 0x02, + 0x8d, 0x82, 0xc3, 0x3b, 0x08, 0xf6, 0xc1, 0x46, 0xc4, 0x85, 0xdb, 0x6a, 0xd8, 0xdd, 0xaa, 0x44, + 0x40, 0xb1, 0x11, 0x17, 0x38, 0xac, 0x25, 0xf8, 0x01, 0x38, 0x13, 0x1e, 0xcb, 0xd9, 0x94, 0x15, + 0xee, 0x66, 0x13, 0xff, 0x85, 0xff, 0xf0, 0x14, 0xfe, 0xa9, 0x66, 0x82, 0xbd, 0x9b, 0x12, 0x59, + 0xf7, 0x43, 0x4d, 0x2f, 0x0e, 0xef, 0x6c, 0x20, 0x05, 0x8f, 0xe3, 0x29, 0xa3, 0x92, 0x8b, 0x7c, + 0x34, 0xa6, 0x92, 0xb9, 0x5b, 0x8d, 0x6f, 0xef, 0xc1, 0x5a, 0xce, 0xcc, 0x75, 0x82, 0xbe, 0x76, + 0xed, 0x2a, 0xd7, 0xbf, 0xda, 0xf1, 0xd5, 0x4f, 0x64, 0x87, 0x1d, 0x53, 0x3b, 0xa1, 0x92, 0x0d, + 0x9d, 0xaf, 0x4b, 0x64, 0x5d, 0x2f, 0x91, 0x85, 0x3f, 0x01, 0xc7, 0x64, 0x83, 0xaf, 0x41, 0x5b, + 0x67, 0x6e, 0x2e, 0xb1, 0x1d, 0xc0, 0xaa, 0x44, 0xbb, 0x3a, 0xa8, 0x12, 0x70, 0x68, 0x10, 0xf8, + 0x12, 0x6c, 0xc6, 0x62, 0xce, 0xa6, 0x7a, 0xf5, 0x4f, 0xab, 0x12, 0x75, 0xf4, 0xf8, 0xba, 0x8c, + 0x43, 0x25, 0x0f, 0x9d, 0xeb, 0x25, 0xb2, 0x7f, 0x2f, 0x91, 0x1d, 0xbc, 0xbf, 0x59, 0x79, 0xf6, + 0xed, 0xca, 0xb3, 0x7f, 0xad, 0x3c, 0xfb, 0x6a, 0xed, 0x59, 0xb7, 0x6b, 0xcf, 0xfa, 0xb1, 0xf6, + 0xac, 0x8f, 0x6f, 0x12, 0x2e, 0x2f, 0x66, 0x91, 0x1f, 0x8b, 0x8c, 0xa8, 0xed, 0x1d, 0xa6, 0x34, + 0x2a, 0xf4, 0x37, 0x99, 0x1f, 0x91, 0xcf, 0xf7, 0x3f, 0x96, 0x5c, 0x4c, 0x58, 0x11, 0x6d, 0x35, + 0x6b, 0x38, 0xfa, 0x13, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x9f, 0x6e, 0xf3, 0x22, 0x03, 0x00, 0x00, } func (this *Pictures) Equal(that interface{}) bool { diff --git a/x/profiles/types/msg_server.pb.go b/x/profiles/types/msg_server.pb.go index 9fa07a5363..56c214e1c5 100644 --- a/x/profiles/types/msg_server.pb.go +++ b/x/profiles/types/msg_server.pb.go @@ -33,37 +33,37 @@ func init() { } var fileDescriptor_c2fd53889ce3d02c = []byte{ - // 475 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x3d, 0x6f, 0x13, 0x31, - 0x18, 0xc7, 0x13, 0x21, 0x21, 0x61, 0x84, 0x00, 0xc3, 0x52, 0x0f, 0x37, 0xf0, 0x56, 0x0a, 0xf4, - 0xae, 0x0d, 0x0b, 0x6b, 0x68, 0x37, 0xa8, 0x84, 0x42, 0x59, 0x90, 0x50, 0xe4, 0x38, 0x4f, 0x5c, - 0xab, 0x8e, 0x6d, 0x6c, 0x5f, 0x44, 0x3f, 0x01, 0x2b, 0x1f, 0x80, 0x0f, 0xc4, 0xd8, 0x91, 0x11, - 0x25, 0x5f, 0x04, 0xdd, 0x39, 0x39, 0x2e, 0x2f, 0x0e, 0x97, 0xcd, 0xbe, 0xe7, 0xf7, 0x7f, 0xb1, - 0xa5, 0x33, 0x7a, 0x3c, 0x04, 0x37, 0xd6, 0x2e, 0x33, 0x56, 0x8f, 0x84, 0x04, 0x97, 0x4d, 0x3a, - 0xd9, 0xd8, 0xf1, 0xbe, 0x03, 0x3b, 0x01, 0x9b, 0x1a, 0xab, 0xbd, 0xc6, 0x38, 0x40, 0xe9, 0x02, - 0x4a, 0x27, 0x1d, 0xf2, 0x90, 0x6b, 0xae, 0xcb, 0x71, 0x56, 0xac, 0x02, 0x49, 0xf6, 0xb8, 0xd6, - 0x5c, 0x42, 0x56, 0xee, 0x06, 0xf9, 0x28, 0xa3, 0xea, 0x6a, 0x31, 0x62, 0xba, 0x30, 0xe9, 0x07, - 0x4d, 0xd8, 0xcc, 0x47, 0xfb, 0x9b, 0x4a, 0xe8, 0x21, 0xc8, 0x92, 0x2e, 0x3e, 0xcd, 0xc1, 0xc3, - 0x38, 0x38, 0xf4, 0x94, 0xf7, 0x2d, 0x7c, 0xcd, 0xc1, 0xf9, 0x85, 0xef, 0xd3, 0xcd, 0x87, 0x5b, - 0x75, 0x7d, 0x19, 0xc3, 0x36, 0x79, 0x1e, 0xc4, 0x60, 0x76, 0x41, 0x85, 0xea, 0x4b, 0xa1, 0x2e, - 0xb7, 0x1e, 0xab, 0x40, 0xa9, 0x31, 0x75, 0xb0, 0xf3, 0xf3, 0x16, 0xba, 0x71, 0xe6, 0x38, 0xfe, - 0x82, 0x6e, 0x7f, 0xa4, 0x13, 0xf8, 0x10, 0x78, 0xfc, 0x28, 0x5d, 0xbf, 0xf7, 0xf4, 0xcc, 0xf1, - 0x1a, 0x43, 0x5e, 0xfc, 0x9f, 0xe9, 0x81, 0x33, 0x5a, 0x39, 0xc0, 0x0c, 0xdd, 0x39, 0x05, 0x09, - 0xbe, 0x0a, 0x78, 0x12, 0x11, 0x2f, 0x51, 0xe4, 0x55, 0x13, 0xaa, 0x0a, 0xc9, 0xd1, 0x83, 0x5e, - 0xb8, 0xb1, 0xd3, 0x73, 0xca, 0xcf, 0x2d, 0x55, 0x6e, 0x04, 0x16, 0xc7, 0x7a, 0x6e, 0x60, 0x49, - 0xa7, 0x39, 0x5b, 0xc5, 0x7e, 0x6f, 0xa3, 0xbd, 0x13, 0xaa, 0x18, 0xc8, 0xe5, 0x71, 0xa9, 0xc0, - 0x47, 0x11, 0xc7, 0xa8, 0x82, 0xbc, 0xd9, 0x55, 0xb1, 0xd4, 0xa4, 0xcb, 0x18, 0x18, 0xbf, 0x4b, - 0x93, 0xa8, 0x22, 0xda, 0x24, 0xaa, 0x58, 0x6a, 0xd2, 0x83, 0x51, 0xee, 0x60, 0x97, 0x26, 0x51, - 0x45, 0xb4, 0x49, 0x54, 0x51, 0x35, 0x91, 0xe8, 0xde, 0x7b, 0xa1, 0x2e, 0x4f, 0x8a, 0x5f, 0xa4, - 0xcb, 0x98, 0xce, 0x95, 0xc7, 0xfb, 0x11, 0xb7, 0x55, 0x90, 0x64, 0x0d, 0xc1, 0x2a, 0xcd, 0x22, - 0xfc, 0x49, 0xc9, 0xd5, 0xbc, 0x83, 0x88, 0xcd, 0x3a, 0x4a, 0x8e, 0x1b, 0xa3, 0x55, 0xa6, 0x40, - 0x77, 0x8b, 0x3e, 0x5d, 0x63, 0xa4, 0x60, 0xd4, 0x0b, 0xad, 0xf0, 0xb3, 0x2d, 0xbd, 0x6b, 0x1c, - 0x49, 0x9b, 0x71, 0x55, 0x94, 0x46, 0xf7, 0x43, 0x91, 0x7a, 0xd8, 0xf3, 0xad, 0x95, 0xeb, 0x71, - 0x47, 0x4d, 0xc9, 0x45, 0xe0, 0xdb, 0x77, 0xbf, 0xa6, 0x49, 0xfb, 0x7a, 0x9a, 0xb4, 0xff, 0x4c, - 0x93, 0xf6, 0x8f, 0x59, 0xd2, 0xba, 0x9e, 0x25, 0xad, 0xdf, 0xb3, 0xa4, 0xf5, 0xf9, 0x98, 0x0b, - 0x7f, 0x91, 0x0f, 0x52, 0xa6, 0xc7, 0x59, 0x70, 0x3d, 0x94, 0x74, 0xe0, 0xe6, 0xeb, 0xe2, 0xbd, - 0xfb, 0xf6, 0xef, 0xf5, 0xf3, 0x57, 0x06, 0xdc, 0xe0, 0x66, 0xf9, 0xe4, 0xbd, 0xfe, 0x1b, 0x00, - 0x00, 0xff, 0xff, 0x02, 0xc5, 0x71, 0xfd, 0x79, 0x06, 0x00, 0x00, + // 476 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xcf, 0x6e, 0xd3, 0x30, + 0x1c, 0xc7, 0x5b, 0x21, 0x21, 0x61, 0x84, 0x00, 0xc3, 0x65, 0x3e, 0xe4, 0xc0, 0xbf, 0x31, 0x60, + 0xf1, 0xd6, 0x5d, 0xb8, 0x96, 0xed, 0x06, 0x93, 0x50, 0x19, 0x17, 0x24, 0x54, 0xb9, 0xee, 0xaf, + 0x5e, 0x34, 0xd7, 0x36, 0xb1, 0x13, 0xb1, 0x27, 0xe0, 0xca, 0x03, 0xf0, 0x40, 0x1c, 0x77, 0xe4, + 0x88, 0xda, 0x17, 0x41, 0x89, 0xdb, 0x90, 0x76, 0x71, 0x97, 0xde, 0xec, 0xfc, 0x3e, 0xdf, 0x3f, + 0xb6, 0x14, 0xa3, 0xa7, 0x63, 0xb0, 0x53, 0x6d, 0xa9, 0x49, 0xf5, 0x24, 0x91, 0x60, 0x69, 0xde, + 0xa3, 0x53, 0x2b, 0x86, 0x16, 0xd2, 0x1c, 0xd2, 0xd8, 0xa4, 0xda, 0x69, 0x8c, 0x3d, 0x14, 0x2f, + 0xa1, 0x38, 0xef, 0x91, 0xc7, 0x42, 0x0b, 0x5d, 0x8e, 0x69, 0xb1, 0xf2, 0x24, 0xd9, 0x11, 0x5a, + 0x0b, 0x09, 0xb4, 0xdc, 0x8d, 0xb2, 0x09, 0x65, 0xea, 0x72, 0x39, 0xe2, 0xba, 0x30, 0x19, 0x7a, + 0x8d, 0xdf, 0x2c, 0x46, 0xbb, 0x4d, 0x25, 0xf4, 0x18, 0x64, 0x49, 0x17, 0x9f, 0x16, 0xe0, 0x7e, + 0x18, 0x1c, 0x3b, 0x26, 0x86, 0x29, 0x7c, 0xcb, 0xc0, 0xba, 0xa5, 0xef, 0xf3, 0xe6, 0xc3, 0xad, + 0xbb, 0xbe, 0x0e, 0x61, 0x4d, 0x9e, 0x7b, 0x21, 0x98, 0x9f, 0xb3, 0x44, 0x0d, 0x65, 0xa2, 0x2e, + 0x36, 0x1e, 0xab, 0x40, 0x99, 0x31, 0x75, 0xb0, 0xf7, 0xeb, 0x0e, 0xba, 0x75, 0x6a, 0x05, 0xfe, + 0x8a, 0xee, 0x7e, 0x62, 0x39, 0x7c, 0xf4, 0x3c, 0x7e, 0x12, 0x5f, 0xbf, 0xf7, 0xf8, 0xd4, 0x8a, + 0x1a, 0x43, 0x5e, 0xdd, 0xcc, 0x0c, 0xc0, 0x1a, 0xad, 0x2c, 0x60, 0x8e, 0xee, 0x9d, 0x80, 0x04, + 0x57, 0x05, 0x3c, 0x0b, 0x88, 0x57, 0x28, 0xf2, 0xa6, 0x0d, 0x55, 0x85, 0x64, 0xe8, 0xd1, 0xc0, + 0xdf, 0xd8, 0xc9, 0x19, 0x13, 0x67, 0x29, 0x53, 0x76, 0x02, 0x29, 0x0e, 0xf5, 0x6c, 0x60, 0x49, + 0xaf, 0x3d, 0x5b, 0xc5, 0xfe, 0xe8, 0xa2, 0x9d, 0x63, 0xa6, 0x38, 0xc8, 0xd5, 0x71, 0xa9, 0xc0, + 0x07, 0x01, 0xc7, 0xa0, 0x82, 0xbc, 0xdd, 0x56, 0xb1, 0xd2, 0xa4, 0xcf, 0x39, 0x18, 0xb7, 0x4d, + 0x93, 0xa0, 0x22, 0xd8, 0x24, 0xa8, 0x58, 0x69, 0x32, 0x80, 0x49, 0x66, 0x61, 0x9b, 0x26, 0x41, + 0x45, 0xb0, 0x49, 0x50, 0x51, 0x35, 0x91, 0xe8, 0xc1, 0x87, 0x44, 0x5d, 0x1c, 0x17, 0xbf, 0x48, + 0x9f, 0x73, 0x9d, 0x29, 0x87, 0x77, 0x03, 0x6e, 0xeb, 0x20, 0xa1, 0x2d, 0xc1, 0x2a, 0x2d, 0x45, + 0xf8, 0xb3, 0x92, 0xeb, 0x79, 0x7b, 0x01, 0x9b, 0xeb, 0x28, 0x39, 0x6c, 0x8d, 0x56, 0x99, 0x09, + 0xba, 0x5f, 0xf4, 0xe9, 0x1b, 0x23, 0x13, 0xce, 0x5c, 0xa2, 0x15, 0x7e, 0xb1, 0xa1, 0x77, 0x8d, + 0x23, 0x71, 0x3b, 0xae, 0x8a, 0xd2, 0xe8, 0xa1, 0x2f, 0x52, 0x0f, 0x7b, 0xb9, 0xb1, 0x72, 0x3d, + 0xee, 0xa0, 0x2d, 0xb9, 0x0c, 0x7c, 0xf7, 0xfe, 0xf7, 0x2c, 0xea, 0x5e, 0xcd, 0xa2, 0xee, 0xdf, + 0x59, 0xd4, 0xfd, 0x39, 0x8f, 0x3a, 0x57, 0xf3, 0xa8, 0xf3, 0x67, 0x1e, 0x75, 0xbe, 0x1c, 0x8a, + 0xc4, 0x9d, 0x67, 0xa3, 0x98, 0xeb, 0x29, 0xf5, 0xae, 0xfb, 0x92, 0x8d, 0xec, 0x62, 0x4d, 0xf3, + 0x23, 0xfa, 0xfd, 0xff, 0xeb, 0xe7, 0x2e, 0x0d, 0xd8, 0xd1, 0xed, 0xf2, 0xc9, 0x3b, 0xfa, 0x17, + 0x00, 0x00, 0xff, 0xff, 0x95, 0x63, 0x6c, 0x1a, 0x79, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/profiles/types/msgs_app_links.pb.go b/x/profiles/types/msgs_app_links.pb.go index c7a0b3cf84..c7f6547d19 100644 --- a/x/profiles/types/msgs_app_links.pb.go +++ b/x/profiles/types/msgs_app_links.pb.go @@ -213,41 +213,41 @@ func init() { var fileDescriptor_72bc9ee36626b76e = []byte{ // 559 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0xbd, 0x8e, 0xd3, 0x4c, - 0x14, 0xb5, 0xbf, 0xdd, 0x6f, 0x49, 0x26, 0xca, 0xb2, 0x6b, 0x02, 0x32, 0x51, 0xb0, 0xa3, 0x69, - 0xc8, 0x16, 0xd8, 0x4a, 0x28, 0x40, 0x5b, 0x81, 0xa1, 0x00, 0xc1, 0x0a, 0x64, 0x41, 0x43, 0x13, - 0x26, 0xce, 0xe0, 0x8c, 0xd6, 0x9e, 0xb1, 0x3c, 0x93, 0x88, 0x7d, 0x03, 0x4a, 0x1e, 0x61, 0x9f, - 0x82, 0x67, 0xd8, 0x72, 0x4b, 0x2a, 0x0b, 0x25, 0x0d, 0xb5, 0x25, 0x7a, 0xe4, 0x99, 0xc9, 0x1f, - 0xd9, 0xca, 0x67, 0xce, 0x3d, 0x67, 0x7e, 0xae, 0xcf, 0x05, 0x0f, 0xc7, 0x98, 0xa7, 0x8c, 0xfb, - 0x59, 0xce, 0xbe, 0x90, 0x04, 0x73, 0x7f, 0x36, 0xf0, 0x53, 0x1e, 0xf3, 0x21, 0xca, 0xb2, 0x61, - 0x42, 0xe8, 0x39, 0xf7, 0xb2, 0x9c, 0x09, 0x66, 0x59, 0x4a, 0xe8, 0x2d, 0x85, 0xde, 0x6c, 0xd0, - 0x3e, 0xb9, 0xc9, 0xcc, 0xc6, 0x38, 0xd9, 0xb1, 0xb7, 0x5b, 0x31, 0x8b, 0x99, 0x84, 0x7e, 0x85, - 0x34, 0xeb, 0x92, 0x51, 0xe4, 0x47, 0x2c, 0xc7, 0x7e, 0x94, 0x10, 0x4c, 0x85, 0x3f, 0xeb, 0x6b, - 0xa4, 0x04, 0xf0, 0xcf, 0x1e, 0xb0, 0xce, 0x78, 0xfc, 0x96, 0xd0, 0xf3, 0xe7, 0x59, 0x96, 0x90, - 0x08, 0x09, 0xc2, 0xa8, 0x75, 0x02, 0x0e, 0x38, 0xa6, 0x63, 0x9c, 0xdb, 0x66, 0xd7, 0xec, 0xd5, - 0x83, 0xe3, 0xb2, 0x70, 0x9b, 0x17, 0x28, 0x4d, 0x4e, 0xa1, 0xe2, 0x61, 0xa8, 0x05, 0xd6, 0x3b, - 0x50, 0xaf, 0xee, 0x31, 0x1c, 0x23, 0x81, 0xec, 0xff, 0xba, 0x66, 0xaf, 0x31, 0xb0, 0xbd, 0xdd, - 0xb7, 0x78, 0x2f, 0x91, 0x40, 0x81, 0x7d, 0x55, 0xb8, 0x46, 0x59, 0xb8, 0x47, 0x6a, 0xaf, 0x95, - 0x11, 0x86, 0xb5, 0x0a, 0x57, 0x1a, 0xab, 0x0f, 0xea, 0x11, 0x4a, 0x12, 0xb5, 0xe1, 0x9e, 0x3c, - 0xbe, 0xb5, 0xb6, 0xac, 0x4a, 0x30, 0xac, 0x55, 0x58, 0x5a, 0x9e, 0x80, 0x06, 0x67, 0xd3, 0x3c, - 0xc2, 0xc3, 0x8c, 0xe5, 0xc2, 0xde, 0x97, 0xa6, 0x7b, 0x65, 0xe1, 0x5a, 0xfa, 0xce, 0xeb, 0x22, - 0x0c, 0x81, 0x5a, 0xbd, 0x67, 0xb9, 0xb0, 0x9e, 0x81, 0x43, 0x5d, 0x8b, 0x26, 0x88, 0x52, 0x9c, - 0xd8, 0xff, 0x4b, 0xef, 0xfd, 0xb2, 0x70, 0xef, 0x6e, 0x79, 0x75, 0x1d, 0x86, 0x4d, 0x45, 0xbc, - 0x50, 0x6b, 0xeb, 0x33, 0x38, 0x14, 0x24, 0xc5, 0x6c, 0x2a, 0x86, 0x13, 0x4c, 0xe2, 0x89, 0xb0, - 0x0f, 0x64, 0x0f, 0xda, 0x1e, 0x19, 0x45, 0x5e, 0xd5, 0x7a, 0x4f, 0x37, 0x7c, 0xd6, 0xf7, 0x5e, - 0x49, 0x45, 0xf0, 0x40, 0x77, 0x41, 0x9f, 0xb0, 0xed, 0x87, 0x61, 0x53, 0x13, 0x4a, 0x6d, 0xbd, - 0x06, 0xc7, 0x4b, 0x45, 0xf5, 0xe5, 0x02, 0xa5, 0x99, 0x7d, 0xab, 0x6b, 0xf6, 0xf6, 0x83, 0x4e, - 0x59, 0xb8, 0xf6, 0xf6, 0x26, 0x2b, 0x09, 0x0c, 0x8f, 0x34, 0xf7, 0x61, 0x49, 0x9d, 0xd6, 0xbe, - 0x5d, 0xba, 0xc6, 0xef, 0x4b, 0xd7, 0x80, 0x1d, 0xd0, 0xde, 0xfd, 0xed, 0x21, 0xe6, 0x19, 0xa3, - 0x1c, 0xc3, 0x1f, 0x26, 0x68, 0x9d, 0xf1, 0xf8, 0x23, 0x4d, 0xfe, 0xc9, 0xc5, 0x53, 0xd0, 0x40, - 0xeb, 0xa5, 0x0e, 0xc7, 0x46, 0xa3, 0x37, 0x8a, 0x30, 0xdc, 0x94, 0x5a, 0x3e, 0xa8, 0x4d, 0x39, - 0xce, 0x29, 0x4a, 0xb1, 0x4c, 0x49, 0x3d, 0xb8, 0x53, 0x16, 0xee, 0x6d, 0x65, 0x5b, 0x56, 0x60, - 0xb8, 0x12, 0xc9, 0x08, 0x92, 0x98, 0xe2, 0x5c, 0x67, 0x60, 0x33, 0x82, 0x92, 0xaf, 0x22, 0x28, - 0xc1, 0xc6, 0xb3, 0x1c, 0xd0, 0xb9, 0xe9, 0xde, 0xcb, 0x87, 0x05, 0x6f, 0xae, 0xe6, 0x8e, 0x79, - 0x3d, 0x77, 0xcc, 0x5f, 0x73, 0xc7, 0xfc, 0xbe, 0x70, 0x8c, 0xeb, 0x85, 0x63, 0xfc, 0x5c, 0x38, - 0xc6, 0xa7, 0x7e, 0x4c, 0xc4, 0x64, 0x3a, 0xf2, 0x22, 0x96, 0xfa, 0x2a, 0xbd, 0x8f, 0x12, 0x34, - 0xe2, 0x1a, 0x57, 0x83, 0xf7, 0x75, 0x3d, 0x86, 0xe2, 0x22, 0xc3, 0x7c, 0x74, 0x20, 0x47, 0xe8, - 0xf1, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x81, 0xc3, 0x40, 0xe3, 0x03, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x4f, 0x6f, 0xd3, 0x30, + 0x1c, 0x4d, 0xd8, 0x18, 0xad, 0xa7, 0x8e, 0x2d, 0x14, 0x14, 0xaa, 0x92, 0x54, 0xbe, 0xd0, 0x1d, + 0x48, 0xd4, 0xee, 0x00, 0xda, 0x09, 0x02, 0x07, 0x10, 0x4c, 0xa0, 0x08, 0x2e, 0x5c, 0x8a, 0x9b, + 0x9a, 0xd4, 0x5a, 0x62, 0x47, 0xb1, 0x5b, 0xb1, 0x6f, 0xc0, 0x91, 0x8f, 0xb0, 0x4f, 0xc1, 0x67, + 0xd8, 0x71, 0x47, 0x4e, 0x11, 0x6a, 0x2f, 0x9c, 0x23, 0x71, 0x47, 0xb1, 0xdd, 0x7f, 0x74, 0xa7, + 0x3c, 0xbf, 0xdf, 0x7b, 0xb6, 0x7f, 0xbf, 0x3c, 0x83, 0xc7, 0x23, 0xcc, 0x53, 0xc6, 0xfd, 0x2c, + 0x67, 0x5f, 0x49, 0x82, 0xb9, 0x3f, 0xed, 0xfb, 0x29, 0x8f, 0xf9, 0x00, 0x65, 0xd9, 0x20, 0x21, + 0xf4, 0x9c, 0x7b, 0x59, 0xce, 0x04, 0xb3, 0x2c, 0x25, 0xf4, 0x16, 0x42, 0x6f, 0xda, 0x6f, 0x1d, + 0xdf, 0x64, 0x66, 0x23, 0x9c, 0x6c, 0xd9, 0x5b, 0xcd, 0x98, 0xc5, 0x4c, 0x42, 0xbf, 0x42, 0x9a, + 0x75, 0xc9, 0x30, 0xf2, 0x23, 0x96, 0x63, 0x3f, 0x4a, 0x08, 0xa6, 0xc2, 0x9f, 0xf6, 0x34, 0x52, + 0x02, 0xf8, 0x77, 0x07, 0x58, 0x67, 0x3c, 0x7e, 0x47, 0xe8, 0xf9, 0x8b, 0x2c, 0x4b, 0x48, 0x84, + 0x04, 0x61, 0xd4, 0x3a, 0x06, 0x7b, 0x1c, 0xd3, 0x11, 0xce, 0x6d, 0xb3, 0x63, 0x76, 0xeb, 0xc1, + 0x51, 0x59, 0xb8, 0x8d, 0x0b, 0x94, 0x26, 0xa7, 0x50, 0xf1, 0x30, 0xd4, 0x02, 0xeb, 0x3d, 0xa8, + 0x57, 0xf7, 0x18, 0x8c, 0x90, 0x40, 0xf6, 0xad, 0x8e, 0xd9, 0xdd, 0xef, 0xdb, 0xde, 0x76, 0x2f, + 0xde, 0x2b, 0x24, 0x50, 0x60, 0x5f, 0x15, 0xae, 0x51, 0x16, 0xee, 0xa1, 0xda, 0x6b, 0x69, 0x84, + 0x61, 0xad, 0xc2, 0x95, 0xc6, 0xea, 0x81, 0x7a, 0x84, 0x92, 0x44, 0x6d, 0xb8, 0x23, 0x8f, 0x6f, + 0xae, 0x2c, 0xcb, 0x12, 0x0c, 0x6b, 0x15, 0x96, 0x96, 0xa7, 0x60, 0x9f, 0xb3, 0x49, 0x1e, 0xe1, + 0x41, 0xc6, 0x72, 0x61, 0xef, 0x4a, 0xd3, 0x83, 0xb2, 0x70, 0x2d, 0x7d, 0xe7, 0x55, 0x11, 0x86, + 0x40, 0xad, 0x3e, 0xb0, 0x5c, 0x58, 0xcf, 0xc1, 0x81, 0xae, 0x45, 0x63, 0x44, 0x29, 0x4e, 0xec, + 0xdb, 0xd2, 0xfb, 0xb0, 0x2c, 0xdc, 0xfb, 0x1b, 0x5e, 0x5d, 0x87, 0x61, 0x43, 0x11, 0x2f, 0xd5, + 0xda, 0xfa, 0x02, 0x0e, 0x04, 0x49, 0x31, 0x9b, 0x88, 0xc1, 0x18, 0x93, 0x78, 0x2c, 0xec, 0x3d, + 0x39, 0x83, 0x96, 0x47, 0x86, 0x91, 0x57, 0x8d, 0xde, 0xd3, 0x03, 0x9f, 0xf6, 0xbc, 0xd7, 0x52, + 0x11, 0x3c, 0xd2, 0x53, 0xd0, 0x27, 0x6c, 0xfa, 0x61, 0xd8, 0xd0, 0x84, 0x52, 0x5b, 0x6f, 0xc0, + 0xd1, 0x42, 0x51, 0x7d, 0xb9, 0x40, 0x69, 0x66, 0xdf, 0xe9, 0x98, 0xdd, 0xdd, 0xa0, 0x5d, 0x16, + 0xae, 0xbd, 0xb9, 0xc9, 0x52, 0x02, 0xc3, 0x43, 0xcd, 0x7d, 0x5c, 0x50, 0xa7, 0xb5, 0xef, 0x97, + 0xae, 0xf1, 0xe7, 0xd2, 0x35, 0x60, 0x1b, 0xb4, 0xb6, 0x7f, 0x7b, 0x88, 0x79, 0xc6, 0x28, 0xc7, + 0xf0, 0xa7, 0x09, 0x9a, 0x67, 0x3c, 0xfe, 0x44, 0x93, 0xff, 0x72, 0xf1, 0x0c, 0xec, 0xa3, 0xd5, + 0x52, 0x87, 0x63, 0x6d, 0xd0, 0x6b, 0x45, 0x18, 0xae, 0x4b, 0x2d, 0x1f, 0xd4, 0x26, 0x1c, 0xe7, + 0x14, 0xa5, 0x58, 0xa6, 0xa4, 0x1e, 0xdc, 0x2b, 0x0b, 0xf7, 0xae, 0xb2, 0x2d, 0x2a, 0x30, 0x5c, + 0x8a, 0x64, 0x04, 0x49, 0x4c, 0x71, 0xae, 0x33, 0xb0, 0x1e, 0x41, 0xc9, 0x57, 0x11, 0x94, 0x60, + 0xad, 0x2d, 0x07, 0xb4, 0x6f, 0xba, 0xf7, 0xa2, 0xb1, 0xe0, 0xed, 0xd5, 0xcc, 0x31, 0xaf, 0x67, + 0x8e, 0xf9, 0x7b, 0xe6, 0x98, 0x3f, 0xe6, 0x8e, 0x71, 0x3d, 0x77, 0x8c, 0x5f, 0x73, 0xc7, 0xf8, + 0xdc, 0x8b, 0x89, 0x18, 0x4f, 0x86, 0x5e, 0xc4, 0x52, 0x5f, 0xa5, 0xf7, 0x49, 0x82, 0x86, 0x5c, + 0x63, 0x7f, 0x7a, 0xe2, 0x7f, 0x5b, 0x3d, 0x43, 0x71, 0x91, 0x61, 0x3e, 0xdc, 0x93, 0x4f, 0xe8, + 0xe4, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x69, 0x27, 0xde, 0xa7, 0xe3, 0x03, 0x00, 0x00, } func (m *MsgLinkApplication) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/msgs_chain_links.pb.go b/x/profiles/types/msgs_chain_links.pb.go index 7f7032b45d..0a28bebd37 100644 --- a/x/profiles/types/msgs_chain_links.pb.go +++ b/x/profiles/types/msgs_chain_links.pb.go @@ -252,38 +252,38 @@ func init() { } var fileDescriptor_d28c3718ad31f8ee = []byte{ - // 485 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0xc1, 0x6e, 0xd3, 0x40, - 0x10, 0x8d, 0x0b, 0xad, 0x94, 0x4d, 0x2b, 0x51, 0xb7, 0x91, 0xd2, 0x54, 0xb5, 0xab, 0x3d, 0xa0, - 0x54, 0xa8, 0x6b, 0x11, 0x38, 0x71, 0x8b, 0xcb, 0x8d, 0x16, 0x21, 0x4b, 0x5c, 0xb8, 0x44, 0x9b, - 0xcd, 0x7a, 0x6b, 0xd5, 0xde, 0xb1, 0xbc, 0x4e, 0x21, 0x7f, 0xc1, 0x27, 0xf0, 0x11, 0x7c, 0x44, - 0xc5, 0xa9, 0x47, 0x24, 0x24, 0x0b, 0x25, 0x7f, 0xe0, 0x2f, 0x40, 0xde, 0xb5, 0x15, 0x02, 0xbe, - 0xed, 0xcc, 0x7b, 0xf3, 0xe6, 0xcd, 0xec, 0xa0, 0x8b, 0x39, 0x57, 0x09, 0x28, 0x2f, 0xcd, 0x20, - 0x8c, 0x62, 0xae, 0xbc, 0xfb, 0xb1, 0x97, 0x28, 0xa1, 0xa6, 0xec, 0x96, 0x46, 0x72, 0x1a, 0x47, - 0xf2, 0x4e, 0x91, 0x34, 0x83, 0x1c, 0x6c, 0xdb, 0x50, 0x49, 0x43, 0x25, 0xf7, 0xe3, 0xe1, 0xb1, - 0x00, 0x01, 0x1a, 0xf6, 0xaa, 0x97, 0x61, 0x0e, 0x4f, 0x04, 0x80, 0x88, 0xb9, 0xa7, 0xa3, 0xd9, - 0x22, 0xf4, 0xa8, 0x5c, 0x36, 0x10, 0x83, 0x4a, 0x64, 0x6a, 0x6a, 0x4c, 0x50, 0x43, 0x2f, 0xda, - 0xac, 0xc0, 0x9c, 0xc7, 0x2d, 0x66, 0xf0, 0xaf, 0x1d, 0x74, 0x74, 0xa3, 0xc4, 0x75, 0x24, 0xef, - 0xae, 0x2a, 0x70, 0xc2, 0x18, 0x2c, 0x64, 0x6e, 0x33, 0x74, 0x60, 0xc8, 0x74, 0x3e, 0xcf, 0xb8, - 0x52, 0x03, 0xeb, 0xdc, 0x1a, 0xf5, 0xc6, 0xc7, 0xc4, 0x58, 0x22, 0x8d, 0x25, 0x32, 0x91, 0x4b, - 0x7f, 0x54, 0x16, 0x6e, 0x7f, 0x49, 0x93, 0xf8, 0x0d, 0x56, 0xb0, 0xc8, 0x18, 0x6f, 0xaa, 0xf0, - 0x8f, 0xef, 0x97, 0xbd, 0x89, 0x79, 0xbf, 0xa5, 0x39, 0x0d, 0xf6, 0xb5, 0x68, 0x9d, 0xb1, 0xaf, - 0xd1, 0x6e, 0x9a, 0x01, 0x84, 0x83, 0x1d, 0x2d, 0x7e, 0x42, 0xfe, 0xdf, 0x0c, 0xf9, 0x50, 0x11, - 0xfc, 0xd3, 0x87, 0xc2, 0xed, 0x94, 0x85, 0x7b, 0xb4, 0xd5, 0x45, 0x17, 0xe3, 0xc0, 0x88, 0xd8, - 0x21, 0x32, 0xea, 0x53, 0x06, 0x32, 0x8c, 0xc4, 0xe0, 0x89, 0x16, 0x75, 0xdb, 0x44, 0xf5, 0xa8, - 0x57, 0x9a, 0xe6, 0xe3, 0x5a, 0x7a, 0xb8, 0x25, 0xfd, 0xb7, 0x12, 0x0e, 0x7a, 0x6c, 0x53, 0x60, - 0x5f, 0xa0, 0x3d, 0x15, 0x09, 0xc9, 0xb3, 0xc1, 0xd3, 0x73, 0x6b, 0xd4, 0xf5, 0x0f, 0xcb, 0xc2, - 0x3d, 0xa8, 0x8b, 0x75, 0x1e, 0x07, 0x35, 0x01, 0x9f, 0xa1, 0xd3, 0x96, 0xe5, 0x06, 0x5c, 0xa5, - 0x20, 0x15, 0xc7, 0xdf, 0x2c, 0xd4, 0xbf, 0x51, 0xe2, 0xa3, 0x8c, 0xff, 0x5d, 0xff, 0x73, 0xb4, - 0x0b, 0x9f, 0xab, 0x16, 0x96, 0x6e, 0xf1, 0xac, 0x2c, 0xdc, 0x7d, 0xd3, 0x42, 0xa7, 0x71, 0x60, - 0x60, 0xfb, 0x35, 0x42, 0xc6, 0xa9, 0xa4, 0x09, 0xd7, 0x6b, 0xec, 0xfa, 0xfd, 0xb2, 0x70, 0x0f, - 0x0d, 0x79, 0x83, 0xe1, 0xa0, 0xab, 0x83, 0xf7, 0x34, 0xe1, 0xd5, 0x04, 0x39, 0xcd, 0x04, 0xcf, - 0xf5, 0x8e, 0xb6, 0x26, 0x30, 0x79, 0x1c, 0xd4, 0x04, 0xec, 0xa2, 0xb3, 0x56, 0x87, 0xcd, 0x0c, - 0xfe, 0xbb, 0x87, 0x95, 0x63, 0x3d, 0xae, 0x1c, 0xeb, 0xf7, 0xca, 0xb1, 0xbe, 0xae, 0x9d, 0xce, - 0xe3, 0xda, 0xe9, 0xfc, 0x5c, 0x3b, 0x9d, 0x4f, 0x2f, 0x45, 0x94, 0xdf, 0x2e, 0x66, 0x84, 0x41, - 0xe2, 0x99, 0x3f, 0xb8, 0x8c, 0xe9, 0x4c, 0xd5, 0xef, 0xea, 0x2a, 0xbf, 0x6c, 0x6e, 0x34, 0x5f, - 0xa6, 0x5c, 0xcd, 0xf6, 0xf4, 0x59, 0xbd, 0xfa, 0x13, 0x00, 0x00, 0xff, 0xff, 0x76, 0xe0, 0x36, - 0xb5, 0x4e, 0x03, 0x00, 0x00, + // 486 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0xc1, 0x6a, 0xdb, 0x40, + 0x10, 0xb5, 0xd2, 0x26, 0xe0, 0x75, 0x02, 0x8d, 0x12, 0x83, 0xe3, 0x10, 0x29, 0xec, 0xa1, 0x38, + 0x94, 0x68, 0xa9, 0xd3, 0x53, 0x6f, 0x56, 0x7a, 0x6b, 0x52, 0x8a, 0xa0, 0x97, 0x5e, 0xcc, 0x7a, + 0xbd, 0xde, 0x88, 0x48, 0x3b, 0x42, 0x2b, 0xbb, 0xf5, 0x5f, 0xf4, 0x13, 0xfa, 0x11, 0xfd, 0x88, + 0xd0, 0x53, 0x8e, 0x85, 0x82, 0x28, 0xf6, 0x1f, 0xe8, 0x0b, 0x8a, 0x76, 0x25, 0x5c, 0x37, 0xba, + 0xcd, 0xcc, 0x7b, 0xf3, 0xe6, 0xcd, 0xec, 0xa2, 0x8b, 0x29, 0x57, 0x31, 0x28, 0x92, 0xa4, 0x30, + 0x0b, 0x23, 0xae, 0xc8, 0x62, 0x48, 0x62, 0x25, 0xd4, 0x98, 0xdd, 0xd1, 0x50, 0x8e, 0xa3, 0x50, + 0xde, 0x2b, 0x2f, 0x49, 0x21, 0x03, 0xdb, 0x36, 0x54, 0xaf, 0xa6, 0x7a, 0x8b, 0x61, 0xff, 0x58, + 0x80, 0x00, 0x0d, 0x93, 0x32, 0x32, 0xcc, 0xfe, 0x89, 0x00, 0x10, 0x11, 0x27, 0x3a, 0x9b, 0xcc, + 0x67, 0x84, 0xca, 0x65, 0x0d, 0x31, 0x28, 0x45, 0xc6, 0xa6, 0xc7, 0x24, 0x15, 0xf4, 0xaa, 0xc9, + 0x0a, 0x4c, 0x79, 0xd4, 0x60, 0x06, 0xff, 0xde, 0x41, 0x47, 0xb7, 0x4a, 0xdc, 0x84, 0xf2, 0xfe, + 0xba, 0x04, 0x47, 0x8c, 0xc1, 0x5c, 0x66, 0x36, 0x43, 0x07, 0x86, 0x4c, 0xa7, 0xd3, 0x94, 0x2b, + 0xd5, 0xb3, 0xce, 0xad, 0x41, 0x67, 0x78, 0xec, 0x19, 0x4b, 0x5e, 0x6d, 0xc9, 0x1b, 0xc9, 0xa5, + 0x3f, 0x28, 0x72, 0xb7, 0xbb, 0xa4, 0x71, 0xf4, 0x16, 0x2b, 0x98, 0xa7, 0x8c, 0xd7, 0x5d, 0xf8, + 0xe7, 0x8f, 0xcb, 0xce, 0xc8, 0xc4, 0xef, 0x68, 0x46, 0x83, 0x7d, 0x2d, 0x5a, 0x55, 0xec, 0x1b, + 0xb4, 0x9b, 0xa4, 0x00, 0xb3, 0xde, 0x8e, 0x16, 0x3f, 0xf1, 0x9e, 0x5e, 0xc6, 0xfb, 0x58, 0x12, + 0xfc, 0xd3, 0x87, 0xdc, 0x6d, 0x15, 0xb9, 0x7b, 0xb4, 0x35, 0x45, 0x37, 0xe3, 0xc0, 0x88, 0xd8, + 0x33, 0x64, 0xd4, 0xc7, 0x0c, 0xe4, 0x2c, 0x14, 0xbd, 0x67, 0x5a, 0xd4, 0x6d, 0x12, 0xd5, 0xab, + 0x5e, 0x6b, 0x9a, 0x8f, 0x2b, 0xe9, 0xfe, 0x96, 0xf4, 0xbf, 0x4a, 0x38, 0xe8, 0xb0, 0x4d, 0x83, + 0x7d, 0x81, 0xf6, 0x54, 0x28, 0x24, 0x4f, 0x7b, 0xcf, 0xcf, 0xad, 0x41, 0xdb, 0x3f, 0x2c, 0x72, + 0xf7, 0xa0, 0x6a, 0xd6, 0x75, 0x1c, 0x54, 0x04, 0x7c, 0x86, 0x4e, 0x1b, 0x8e, 0x1b, 0x70, 0x95, + 0x80, 0x54, 0x1c, 0x7f, 0xb7, 0x50, 0xf7, 0x56, 0x89, 0x4f, 0x32, 0xfa, 0xff, 0xfc, 0x2f, 0xd1, + 0x2e, 0x7c, 0x29, 0x47, 0x58, 0x7a, 0xc4, 0x8b, 0x22, 0x77, 0xf7, 0xcd, 0x08, 0x5d, 0xc6, 0x81, + 0x81, 0xed, 0x37, 0x08, 0x19, 0xa7, 0x92, 0xc6, 0x5c, 0x9f, 0xb1, 0xed, 0x77, 0x8b, 0xdc, 0x3d, + 0x34, 0xe4, 0x0d, 0x86, 0x83, 0xb6, 0x4e, 0x3e, 0xd0, 0x98, 0x97, 0x1b, 0x64, 0x34, 0x15, 0x3c, + 0xd3, 0x37, 0xda, 0xda, 0xc0, 0xd4, 0x71, 0x50, 0x11, 0xb0, 0x8b, 0xce, 0x1a, 0x1d, 0xd6, 0x3b, + 0xf8, 0xef, 0x1f, 0x56, 0x8e, 0xf5, 0xb8, 0x72, 0xac, 0x3f, 0x2b, 0xc7, 0xfa, 0xb6, 0x76, 0x5a, + 0x8f, 0x6b, 0xa7, 0xf5, 0x6b, 0xed, 0xb4, 0x3e, 0xbf, 0x16, 0x61, 0x76, 0x37, 0x9f, 0x78, 0x0c, + 0x62, 0x62, 0xde, 0xe0, 0x32, 0xa2, 0x13, 0x55, 0xc5, 0x64, 0x71, 0x45, 0xbe, 0x6e, 0xfe, 0x68, + 0xb6, 0x4c, 0xb8, 0x9a, 0xec, 0xe9, 0x6f, 0x75, 0xf5, 0x37, 0x00, 0x00, 0xff, 0xff, 0xe1, 0x46, + 0x2b, 0x52, 0x4e, 0x03, 0x00, 0x00, } func (m *MsgLinkChainAccount) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/msgs_dtag_requests.pb.go b/x/profiles/types/msgs_dtag_requests.pb.go index f3b1160f48..734fcbf96f 100644 --- a/x/profiles/types/msgs_dtag_requests.pb.go +++ b/x/profiles/types/msgs_dtag_requests.pb.go @@ -366,34 +366,34 @@ func init() { } var fileDescriptor_530fdfdb77008b0a = []byte{ - // 428 bytes of a gzipped FileDescriptorProto + // 429 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x93, 0xbf, 0x6f, 0xd3, 0x40, 0x14, 0xc7, 0xed, 0x22, 0xb5, 0xe1, 0x24, 0x84, 0x30, 0x08, 0x95, 0x0a, 0x9d, 0x2b, 0x0b, 0xf1, - 0x43, 0xa8, 0x3e, 0x51, 0x26, 0xba, 0x51, 0xba, 0xa1, 0x32, 0x58, 0x99, 0x58, 0xa2, 0xb3, 0xfd, - 0x7c, 0x44, 0xb2, 0x7d, 0xe6, 0x9e, 0x9d, 0x90, 0x85, 0x89, 0x81, 0x91, 0x3f, 0x21, 0xff, 0x09, - 0x2b, 0x63, 0x46, 0xa6, 0x08, 0x39, 0x0b, 0x73, 0xfe, 0x02, 0x64, 0x9f, 0x9d, 0x28, 0xe0, 0x20, - 0xc2, 0xd0, 0xed, 0xee, 0xbd, 0xcf, 0xd9, 0x9f, 0x77, 0xa7, 0x2f, 0x79, 0x1a, 0x02, 0x26, 0x12, - 0x59, 0xa6, 0x64, 0x34, 0x8c, 0x01, 0xd9, 0xe8, 0x94, 0x25, 0x28, 0x70, 0x10, 0xe6, 0x5c, 0x0c, - 0x14, 0xbc, 0x2f, 0x00, 0x73, 0x74, 0x33, 0x25, 0x73, 0x69, 0x59, 0x1a, 0x76, 0x5b, 0xd8, 0x1d, - 0x9d, 0x1e, 0xdd, 0x11, 0x52, 0xc8, 0xba, 0xcd, 0xaa, 0x95, 0x26, 0x8f, 0xee, 0x09, 0x29, 0x45, - 0x0c, 0xac, 0xde, 0xf9, 0x45, 0xc4, 0x78, 0x3a, 0x69, 0x5b, 0x81, 0xac, 0x3e, 0x32, 0xd0, 0x67, - 0xf4, 0xa6, 0x69, 0x3d, 0xea, 0x92, 0x91, 0x21, 0xc4, 0x35, 0x5d, 0x95, 0x1a, 0xf0, 0x64, 0x3b, - 0xd8, 0xe1, 0xed, 0x7c, 0x24, 0x77, 0x2f, 0x51, 0x78, 0xba, 0x78, 0xd1, 0xe7, 0xa2, 0xaf, 0x78, - 0x8a, 0x11, 0x28, 0x8b, 0x91, 0x9e, 0x82, 0x00, 0x86, 0x23, 0x50, 0x87, 0xe6, 0xb1, 0xf9, 0xf8, - 0xfa, 0xf9, 0xed, 0xe5, 0xdc, 0xbe, 0x39, 0xe1, 0x49, 0x7c, 0xe6, 0xb4, 0x1d, 0xc7, 0x5b, 0x41, - 0xd6, 0x13, 0xb2, 0x8f, 0x90, 0x86, 0xa0, 0x0e, 0xf7, 0x6a, 0xfc, 0xd6, 0x72, 0x6e, 0xdf, 0xd0, - 0xb8, 0xae, 0x3b, 0x5e, 0x03, 0x9c, 0xf5, 0x3e, 0x4f, 0x6d, 0xe3, 0xe7, 0xd4, 0x36, 0x9c, 0x63, - 0x42, 0xbb, 0xff, 0xef, 0x01, 0x66, 0x32, 0x45, 0x70, 0x3e, 0x99, 0xe4, 0xfe, 0x25, 0x8a, 0x57, - 0x3c, 0x0d, 0x20, 0xde, 0x24, 0xea, 0x43, 0x57, 0x24, 0xfa, 0x90, 0x3c, 0xf8, 0x9b, 0xc5, 0x4a, - 0xf7, 0xab, 0xd6, 0x7d, 0x19, 0x04, 0x90, 0xe5, 0x5d, 0xba, 0x2f, 0x48, 0x2f, 0x85, 0x71, 0xfd, - 0x18, 0x8d, 0x2e, 0x2d, 0xe7, 0xf6, 0xc1, 0x1b, 0x18, 0x57, 0xf4, 0xda, 0xbc, 0x85, 0x1c, 0xef, - 0x20, 0x85, 0xf1, 0x45, 0xce, 0xc5, 0x0e, 0xe2, 0x1b, 0x97, 0x72, 0xed, 0x1f, 0x2e, 0xe5, 0x8f, - 0x49, 0xb7, 0x0e, 0xf0, 0xfb, 0xc3, 0x78, 0x10, 0x15, 0x08, 0x5d, 0x93, 0xae, 0x75, 0xcd, 0x5d, - 0x74, 0xf7, 0xfe, 0x47, 0x77, 0xab, 0x45, 0xab, 0x7b, 0xfe, 0xfa, 0x5b, 0x49, 0xcd, 0x59, 0x49, - 0xcd, 0x1f, 0x25, 0x35, 0xbf, 0x2c, 0xa8, 0x31, 0x5b, 0x50, 0xe3, 0xfb, 0x82, 0x1a, 0x6f, 0x9f, - 0x89, 0x61, 0xfe, 0xae, 0xf0, 0xdd, 0x40, 0x26, 0x4c, 0xa7, 0xe7, 0x24, 0xe6, 0x3e, 0x36, 0xeb, - 0x2a, 0x40, 0x1f, 0xd6, 0x71, 0xca, 0x27, 0x19, 0xa0, 0xbf, 0x5f, 0xa7, 0xe7, 0xf9, 0xaf, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x83, 0xd9, 0xe8, 0xfa, 0x24, 0x04, 0x00, 0x00, + 0x43, 0xa8, 0x3e, 0xd1, 0x4e, 0x74, 0xa3, 0x74, 0x43, 0x65, 0xb0, 0x3a, 0xb1, 0x44, 0x67, 0xfb, + 0xf9, 0x88, 0x64, 0xfb, 0xcc, 0x3d, 0xdb, 0x21, 0x0b, 0x13, 0x03, 0x23, 0x7f, 0x42, 0xff, 0x13, + 0x56, 0xc6, 0x8c, 0x4c, 0x11, 0x72, 0x16, 0xe6, 0xfc, 0x05, 0xc8, 0x3e, 0x3b, 0x51, 0xc0, 0x41, + 0x84, 0x81, 0xed, 0xee, 0x7d, 0x3f, 0x67, 0x7f, 0xde, 0x9d, 0x1e, 0x79, 0x1a, 0x02, 0x26, 0x12, + 0x59, 0xa6, 0x64, 0x34, 0x8a, 0x01, 0x59, 0x79, 0xcc, 0x12, 0x14, 0x38, 0x0c, 0x73, 0x2e, 0x86, + 0x0a, 0xde, 0x15, 0x80, 0x39, 0xba, 0x99, 0x92, 0xb9, 0xb4, 0x2c, 0x0d, 0xbb, 0x1d, 0xec, 0x96, + 0xc7, 0x07, 0x77, 0x84, 0x14, 0xb2, 0x89, 0x59, 0xbd, 0xd2, 0xe4, 0xc1, 0x3d, 0x21, 0xa5, 0x88, + 0x81, 0x35, 0x3b, 0xbf, 0x88, 0x18, 0x4f, 0x27, 0x5d, 0x14, 0xc8, 0xfa, 0x23, 0x43, 0x7d, 0x46, + 0x6f, 0xda, 0xe8, 0x51, 0x9f, 0x8c, 0x0c, 0x21, 0x6e, 0xe8, 0xba, 0xd4, 0x82, 0x47, 0x9b, 0xc1, + 0x1e, 0x6f, 0xe7, 0x03, 0xb9, 0x7b, 0x81, 0xc2, 0xd3, 0xc5, 0xf3, 0x4b, 0x2e, 0x2e, 0x15, 0x4f, + 0x31, 0x02, 0x65, 0x31, 0x32, 0x50, 0x10, 0xc0, 0xa8, 0x04, 0xb5, 0x6f, 0x1e, 0x9a, 0x8f, 0xaf, + 0x9f, 0xdd, 0x5e, 0xcc, 0xec, 0x9b, 0x13, 0x9e, 0xc4, 0xa7, 0x4e, 0x97, 0x38, 0xde, 0x12, 0xb2, + 0x9e, 0x90, 0x5d, 0x84, 0x34, 0x04, 0xb5, 0xbf, 0xd3, 0xe0, 0xb7, 0x16, 0x33, 0xfb, 0x86, 0xc6, + 0x75, 0xdd, 0xf1, 0x5a, 0xe0, 0x74, 0xf0, 0xe9, 0xca, 0x36, 0x7e, 0x5c, 0xd9, 0x86, 0x73, 0x48, + 0x68, 0xff, 0xff, 0x3d, 0xc0, 0x4c, 0xa6, 0x08, 0xce, 0x47, 0x93, 0xdc, 0xbf, 0x40, 0xf1, 0x92, + 0xa7, 0x01, 0xc4, 0xeb, 0x44, 0x73, 0xe8, 0x3f, 0x89, 0x3e, 0x24, 0x0f, 0xfe, 0x64, 0xb1, 0xd4, + 0xfd, 0xa2, 0x75, 0x5f, 0x04, 0x01, 0x64, 0x79, 0x9f, 0xee, 0x73, 0x32, 0x48, 0x61, 0xdc, 0x3c, + 0x46, 0xab, 0x4b, 0xab, 0x99, 0xbd, 0xf7, 0x1a, 0xc6, 0x35, 0xbd, 0x32, 0xef, 0x20, 0xc7, 0xdb, + 0x4b, 0x61, 0x7c, 0x9e, 0x73, 0xb1, 0x85, 0xf8, 0xda, 0xa5, 0x5c, 0xfb, 0x8b, 0x4b, 0xf9, 0xad, + 0xd3, 0x8d, 0x0d, 0xfc, 0xfa, 0x30, 0x1e, 0x44, 0x05, 0x42, 0x5f, 0xa7, 0x2b, 0x5d, 0x73, 0x1b, + 0xdd, 0x9d, 0x7f, 0xd1, 0xdd, 0x68, 0xd1, 0xe9, 0x9e, 0xbd, 0xfa, 0x5a, 0x51, 0x73, 0x5a, 0x51, + 0xf3, 0x7b, 0x45, 0xcd, 0xcf, 0x73, 0x6a, 0x4c, 0xe7, 0xd4, 0xf8, 0x36, 0xa7, 0xc6, 0x9b, 0x67, + 0x62, 0x94, 0xbf, 0x2d, 0x7c, 0x37, 0x90, 0x09, 0xd3, 0xd3, 0x73, 0x14, 0x73, 0x1f, 0xdb, 0x35, + 0x2b, 0x4f, 0xd8, 0xfb, 0xd5, 0x38, 0xe5, 0x93, 0x0c, 0xd0, 0xdf, 0x6d, 0xa6, 0xe7, 0xe4, 0x67, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x14, 0x7f, 0xf5, 0x1d, 0x24, 0x04, 0x00, 0x00, } func (m *MsgRequestDTagTransfer) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/msgs_profile.pb.go b/x/profiles/types/msgs_profile.pb.go index c6bb69c770..abe425f6fb 100644 --- a/x/profiles/types/msgs_profile.pb.go +++ b/x/profiles/types/msgs_profile.pb.go @@ -192,35 +192,35 @@ func init() { } var fileDescriptor_e19057696b6ec51e = []byte{ - // 443 bytes of a gzipped FileDescriptorProto + // 444 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xb1, 0x6e, 0xd4, 0x40, 0x10, 0x86, 0xed, 0xe4, 0x08, 0x61, 0x81, 0x0b, 0x32, 0x51, 0x30, 0x2e, 0xbc, 0xd1, 0x4a, 0x08, - 0x24, 0xc8, 0xad, 0x08, 0x5d, 0x24, 0x9a, 0x90, 0x0a, 0x14, 0x29, 0x32, 0x54, 0x34, 0xa7, 0xb5, - 0x6f, 0xb2, 0x58, 0xd8, 0x37, 0xc6, 0xbb, 0x77, 0xe2, 0xde, 0x80, 0x92, 0x47, 0xc8, 0xe3, 0x50, - 0x50, 0xa4, 0xa4, 0xb2, 0x90, 0xaf, 0xa1, 0xf6, 0x13, 0x20, 0xef, 0xda, 0x07, 0x39, 0x41, 0x91, + 0x24, 0xc8, 0xad, 0x48, 0xba, 0x48, 0x34, 0x21, 0x15, 0x28, 0x52, 0x64, 0xa8, 0x68, 0x4e, 0x6b, + 0xdf, 0x64, 0xb1, 0xb0, 0x6f, 0x8c, 0x77, 0xcf, 0xe2, 0xde, 0x80, 0x92, 0x47, 0xc8, 0xe3, 0x50, + 0x50, 0xa4, 0xa4, 0xb2, 0xd0, 0x5d, 0x43, 0xed, 0x27, 0x40, 0xde, 0xb5, 0x0f, 0x72, 0x82, 0x82, 0x6e, 0x67, 0xfe, 0xef, 0xff, 0x67, 0xb4, 0x1a, 0xf2, 0x68, 0x02, 0x2a, 0x47, 0xc5, 0x8b, 0x12, - 0xcf, 0xd3, 0x0c, 0x14, 0x9f, 0x1f, 0xf2, 0x5c, 0x49, 0x35, 0xee, 0x1a, 0xa3, 0xa2, 0x44, 0x8d, - 0x9e, 0x67, 0xb1, 0x51, 0x8f, 0x8d, 0xe6, 0x87, 0xc1, 0xae, 0x44, 0x89, 0x46, 0xe6, 0xed, 0xcb, - 0x92, 0xc1, 0x43, 0x89, 0x28, 0x33, 0xe0, 0xa6, 0x8a, 0x67, 0xe7, 0x5c, 0x4c, 0x17, 0xbd, 0x94, - 0x60, 0x1b, 0x32, 0xb6, 0x1e, 0x5b, 0x74, 0xd2, 0xe3, 0x7f, 0xad, 0x81, 0x13, 0xc8, 0xd6, 0x16, - 0x09, 0x0e, 0xfe, 0x0f, 0x4e, 0xb4, 0x90, 0xe3, 0x12, 0x3e, 0xcd, 0x40, 0xe9, 0x2e, 0x97, 0x7d, - 0xdf, 0x20, 0xc3, 0x53, 0x25, 0xdf, 0x8a, 0x39, 0x9c, 0x59, 0x87, 0xf7, 0x94, 0x0c, 0x5a, 0xd2, - 0x77, 0xf7, 0xdd, 0x27, 0xb7, 0x8e, 0x1f, 0xd4, 0x15, 0x1d, 0x9c, 0xbc, 0x13, 0xb2, 0xa9, 0xe8, - 0xed, 0x85, 0xc8, 0xb3, 0x23, 0xd6, 0xaa, 0x2c, 0x32, 0x90, 0xc7, 0xc9, 0xf6, 0x34, 0x4d, 0x3e, - 0x4e, 0x45, 0x0e, 0xfe, 0x86, 0x31, 0xdc, 0x6f, 0x2a, 0xba, 0x63, 0xc1, 0x5e, 0x61, 0xd1, 0x0a, - 0xf2, 0xf6, 0xc9, 0x66, 0x9c, 0xa2, 0xbf, 0x69, 0xd8, 0x61, 0x53, 0x51, 0x62, 0xd9, 0x38, 0x45, - 0x16, 0xb5, 0x92, 0xf7, 0x8a, 0xec, 0x74, 0xcb, 0x8f, 0x8b, 0x34, 0xd1, 0xb3, 0x12, 0xfc, 0x81, - 0xa1, 0x83, 0xa6, 0xa2, 0x7b, 0x96, 0x5e, 0x03, 0x58, 0x34, 0xec, 0x3a, 0x67, 0xb6, 0xe1, 0xbd, - 0x24, 0x77, 0x13, 0x9c, 0x43, 0xb9, 0x8a, 0xb8, 0x61, 0x22, 0xfc, 0xa6, 0xa2, 0xbb, 0x36, 0xe2, - 0x8a, 0xcc, 0xa2, 0x3b, 0xa6, 0xee, 0xed, 0xcf, 0xc8, 0xcd, 0xa4, 0x04, 0xa1, 0xb1, 0xf4, 0xb7, - 0x8c, 0xd1, 0x6b, 0x2a, 0x3a, 0xec, 0x8c, 0x56, 0x60, 0x51, 0x8f, 0x1c, 0x6d, 0x7f, 0xb9, 0xa0, - 0xce, 0xaf, 0x0b, 0xea, 0x30, 0x9f, 0xec, 0x5d, 0xfd, 0xcd, 0x08, 0x54, 0x81, 0x53, 0x05, 0xec, - 0x35, 0xb9, 0x77, 0xaa, 0xe4, 0x09, 0x64, 0xa0, 0x57, 0x3f, 0xfd, 0xd7, 0x14, 0xf7, 0x3a, 0x53, - 0x02, 0xe2, 0xaf, 0x67, 0xf5, 0x73, 0x8e, 0xdf, 0x7c, 0xab, 0x43, 0xf7, 0xb2, 0x0e, 0xdd, 0x9f, - 0x75, 0xe8, 0x7e, 0x5d, 0x86, 0xce, 0xe5, 0x32, 0x74, 0x7e, 0x2c, 0x43, 0xe7, 0xfd, 0x73, 0x99, - 0xea, 0x0f, 0xb3, 0x78, 0x94, 0x60, 0xce, 0xed, 0x91, 0x1c, 0x64, 0x22, 0x56, 0xdd, 0xbb, 0xbd, - 0x93, 0xcf, 0x7f, 0xae, 0x46, 0x2f, 0x0a, 0x50, 0xf1, 0x96, 0x39, 0x92, 0x17, 0xbf, 0x03, 0x00, - 0x00, 0xff, 0xff, 0xa5, 0x1b, 0xf0, 0xf0, 0x05, 0x03, 0x00, 0x00, + 0x2f, 0xd2, 0x0c, 0x14, 0xaf, 0x0e, 0x79, 0xae, 0xa4, 0x1a, 0x77, 0x8d, 0x51, 0x51, 0xa2, 0x46, + 0xcf, 0xb3, 0xd8, 0xa8, 0xc7, 0x46, 0xd5, 0x61, 0xb0, 0x2b, 0x51, 0xa2, 0x91, 0x79, 0xfb, 0xb2, + 0x64, 0xf0, 0x50, 0x22, 0xca, 0x0c, 0xb8, 0xa9, 0xe2, 0xd9, 0x05, 0x17, 0xd3, 0x79, 0x2f, 0x25, + 0xd8, 0x86, 0x8c, 0xad, 0xc7, 0x16, 0x9d, 0xf4, 0xf8, 0x6f, 0x6b, 0xe0, 0x04, 0xb2, 0xb5, 0x45, + 0x82, 0x83, 0x7f, 0x83, 0x13, 0x2d, 0xe4, 0xb8, 0x84, 0x8f, 0x33, 0x50, 0xba, 0xcb, 0x65, 0xdf, + 0x36, 0xc8, 0xf0, 0x4c, 0xc9, 0x37, 0xa2, 0x82, 0x73, 0xeb, 0xf0, 0x9e, 0x92, 0x41, 0x4b, 0xfa, + 0xee, 0xbe, 0xfb, 0xe4, 0xd6, 0xc9, 0x83, 0x45, 0x4d, 0x07, 0xa7, 0x6f, 0x85, 0x6c, 0x6a, 0x7a, + 0x7b, 0x2e, 0xf2, 0xec, 0x98, 0xb5, 0x2a, 0x8b, 0x0c, 0xe4, 0x71, 0xb2, 0x3d, 0x4d, 0x93, 0x0f, + 0x53, 0x91, 0x83, 0xbf, 0x61, 0x0c, 0xf7, 0x9b, 0x9a, 0xee, 0x58, 0xb0, 0x57, 0x58, 0xb4, 0x82, + 0xbc, 0x7d, 0xb2, 0x19, 0xa7, 0xe8, 0x6f, 0x1a, 0x76, 0xd8, 0xd4, 0x94, 0x58, 0x36, 0x4e, 0x91, + 0x45, 0xad, 0xe4, 0xbd, 0x24, 0x3b, 0xdd, 0xf2, 0xe3, 0x22, 0x4d, 0xf4, 0xac, 0x04, 0x7f, 0x60, + 0xe8, 0xa0, 0xa9, 0xe9, 0x9e, 0xa5, 0xd7, 0x00, 0x16, 0x0d, 0xbb, 0xce, 0xb9, 0x6d, 0x78, 0x2f, + 0xc8, 0xdd, 0x04, 0x2b, 0x28, 0x57, 0x11, 0x37, 0x4c, 0x84, 0xdf, 0xd4, 0x74, 0xd7, 0x46, 0x5c, + 0x93, 0x59, 0x74, 0xc7, 0xd4, 0xbd, 0xfd, 0x19, 0xb9, 0x99, 0x94, 0x20, 0x34, 0x96, 0xfe, 0x96, + 0x31, 0x7a, 0x4d, 0x4d, 0x87, 0x9d, 0xd1, 0x0a, 0x2c, 0xea, 0x91, 0xe3, 0xed, 0xcf, 0x97, 0xd4, + 0xf9, 0x79, 0x49, 0x1d, 0xe6, 0x93, 0xbd, 0xeb, 0xbf, 0x19, 0x81, 0x2a, 0x70, 0xaa, 0x80, 0xbd, + 0x22, 0xf7, 0xce, 0x94, 0x3c, 0x85, 0x0c, 0xf4, 0xea, 0xa7, 0xff, 0x98, 0xe2, 0xfe, 0xcf, 0x94, + 0x80, 0xf8, 0xeb, 0x59, 0xfd, 0x9c, 0x93, 0xd7, 0x5f, 0x17, 0xa1, 0x7b, 0xb5, 0x08, 0xdd, 0x1f, + 0x8b, 0xd0, 0xfd, 0xb2, 0x0c, 0x9d, 0xab, 0x65, 0xe8, 0x7c, 0x5f, 0x86, 0xce, 0xbb, 0xe7, 0x32, + 0xd5, 0xef, 0x67, 0xf1, 0x28, 0xc1, 0x9c, 0xdb, 0x23, 0x39, 0xc8, 0x44, 0xac, 0xba, 0x37, 0xaf, + 0x8e, 0xf8, 0xa7, 0xdf, 0x57, 0xa3, 0xe7, 0x05, 0xa8, 0x78, 0xcb, 0x1c, 0xc9, 0xd1, 0xaf, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x32, 0xbd, 0xed, 0x17, 0x05, 0x03, 0x00, 0x00, } func (m *MsgSaveProfile) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/query.pb.go b/x/profiles/types/query.pb.go index a2c8520bf6..62c9faf40c 100644 --- a/x/profiles/types/query.pb.go +++ b/x/profiles/types/query.pb.go @@ -33,41 +33,44 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("desmos/profiles/v2/query.proto", fileDescriptor_fba4df0d7bde4d7c) } var fileDescriptor_fba4df0d7bde4d7c = []byte{ - // 544 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x3f, 0x6f, 0xd4, 0x30, - 0x14, 0xc0, 0x2f, 0x48, 0xb4, 0x52, 0x26, 0x64, 0xb1, 0x5c, 0x74, 0xa4, 0xa2, 0xe8, 0x7a, 0xd5, - 0xb5, 0x8d, 0x49, 0x3a, 0x15, 0xc1, 0x40, 0xdb, 0xa5, 0x82, 0xa1, 0xa0, 0x4e, 0x2c, 0x91, 0x93, - 0xf3, 0xa5, 0x16, 0x39, 0xdb, 0x8d, 0x9d, 0x13, 0xa7, 0xea, 0x16, 0x36, 0x16, 0x84, 0xc4, 0xce, - 0xe7, 0x61, 0x41, 0x54, 0x62, 0x61, 0x44, 0x77, 0x88, 0xcf, 0x81, 0xe2, 0x3f, 0x3d, 0x51, 0x92, - 0xfe, 0xdb, 0xec, 0xbc, 0xdf, 0xf3, 0xfb, 0xd9, 0x7e, 0xb1, 0xeb, 0x0f, 0xb0, 0x18, 0x31, 0x01, - 0x79, 0xc1, 0x86, 0x24, 0xc7, 0x02, 0x8e, 0x23, 0x78, 0x52, 0xe2, 0x62, 0x12, 0xf0, 0x82, 0x49, - 0x06, 0x80, 0x8e, 0x07, 0x36, 0x1e, 0x8c, 0x23, 0xef, 0x7e, 0xc6, 0x32, 0xa6, 0xc2, 0xb0, 0x1a, - 0x69, 0xd2, 0xeb, 0x64, 0x8c, 0x65, 0x39, 0x86, 0x88, 0x13, 0x88, 0x28, 0x65, 0x12, 0x49, 0xc2, - 0xa8, 0x30, 0xd1, 0xb6, 0x89, 0xaa, 0x59, 0x52, 0x0e, 0x21, 0xa2, 0xa6, 0x84, 0xb7, 0xd6, 0xa4, - 0x10, 0x9b, 0x2f, 0x86, 0xdb, 0x6c, 0xe4, 0x06, 0x12, 0x65, 0x71, 0x81, 0x4f, 0x4a, 0x2c, 0xa4, - 0x2d, 0xd8, 0x6d, 0x5e, 0x15, 0x15, 0x68, 0x64, 0xb1, 0x7e, 0x23, 0x96, 0x1e, 0x23, 0x42, 0xe3, - 0x9c, 0xd0, 0xb7, 0x96, 0x5d, 0x6f, 0x64, 0x11, 0xe7, 0xff, 0x90, 0xed, 0x94, 0x55, 0x64, 0xac, - 0x0f, 0x49, 0x4f, 0x6c, 0x41, 0x3d, 0x83, 0x09, 0x12, 0x58, 0x67, 0xc3, 0x71, 0x98, 0x60, 0x89, - 0x42, 0xc8, 0x51, 0x46, 0xa8, 0x3a, 0x35, 0xcd, 0x46, 0x7f, 0x96, 0xdd, 0xbb, 0xaf, 0x2a, 0x04, - 0x7c, 0x70, 0xdc, 0xe5, 0x43, 0x5d, 0x16, 0xf4, 0x82, 0xff, 0xef, 0x24, 0x50, 0x98, 0x21, 0x5e, - 0xeb, 0x93, 0xf0, 0xd6, 0xaf, 0x06, 0x05, 0x67, 0x54, 0xe0, 0xd5, 0x8d, 0xf7, 0x3f, 0x7e, 0x7f, - 0xbe, 0xd3, 0x05, 0x8f, 0x60, 0xcd, 0x16, 0xcf, 0xc7, 0xa7, 0xa5, 0xc0, 0xc5, 0x14, 0x7c, 0x77, - 0xdc, 0xce, 0x01, 0x4d, 0xd9, 0x88, 0xd0, 0x6c, 0xff, 0x08, 0x65, 0x47, 0x05, 0xa2, 0x62, 0x88, - 0x0b, 0x53, 0x56, 0x80, 0xa7, 0x8d, 0x75, 0x2f, 0x4b, 0xb3, 0xd6, 0xcf, 0x6e, 0x99, 0x6d, 0xb6, - 0x12, 0xa9, 0xad, 0x6c, 0x82, 0x7e, 0xdd, 0x56, 0x54, 0xa3, 0x48, 0x93, 0x7a, 0xde, 0x31, 0xe0, - 0xa3, 0xe3, 0xba, 0x7b, 0xd5, 0x75, 0xbf, 0xac, 0xee, 0x10, 0xf4, 0x1b, 0x0d, 0x16, 0x90, 0xb5, - 0xdd, 0xb8, 0x16, 0x6b, 0xdc, 0x7a, 0xca, 0xed, 0x21, 0x58, 0xa9, 0x73, 0x53, 0xfd, 0xb6, 0xa5, - 0xba, 0x08, 0x7c, 0x71, 0xdc, 0x7b, 0xcf, 0x39, 0xcf, 0x49, 0xaa, 0xda, 0x41, 0x6b, 0x3d, 0x6e, - 0x2c, 0x75, 0x11, 0xb5, 0x72, 0xe1, 0x0d, 0x32, 0x8c, 0x62, 0x57, 0x29, 0xae, 0x80, 0x07, 0x75, - 0x8a, 0x88, 0x73, 0x23, 0xf8, 0xcd, 0x71, 0xdb, 0x17, 0xd6, 0xd8, 0x9d, 0xec, 0xe5, 0x04, 0x53, - 0x79, 0xb0, 0x0f, 0x76, 0xae, 0x5b, 0x77, 0x91, 0x63, 0x95, 0x9f, 0xdc, 0x26, 0xd5, 0xb8, 0xef, - 0x28, 0xf7, 0x6d, 0x10, 0x5e, 0xea, 0x0e, 0x53, 0x95, 0x27, 0xe0, 0xa9, 0x1e, 0xc4, 0x64, 0x30, - 0x05, 0x53, 0x77, 0xe9, 0x50, 0x3d, 0x0b, 0x60, 0xad, 0xf9, 0xa7, 0x51, 0x80, 0x15, 0xed, 0x5d, - 0xc9, 0x19, 0xab, 0x55, 0x65, 0xd5, 0x01, 0x5e, 0xed, 0xbf, 0xa5, 0xd8, 0xdd, 0x17, 0x5f, 0x67, - 0xbe, 0x73, 0x36, 0xf3, 0x9d, 0x5f, 0x33, 0xdf, 0xf9, 0x34, 0xf7, 0x5b, 0x67, 0x73, 0xbf, 0xf5, - 0x73, 0xee, 0xb7, 0xde, 0x84, 0x19, 0x91, 0xc7, 0x65, 0x12, 0xa4, 0x6c, 0x64, 0xf2, 0xb7, 0x72, - 0x94, 0x08, 0xbb, 0xd6, 0x38, 0x82, 0xef, 0x16, 0x0b, 0xca, 0x09, 0xc7, 0x22, 0x59, 0x52, 0x8f, - 0xc7, 0xf6, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x21, 0x9e, 0x14, 0xdb, 0x05, 0x00, 0x00, + // 582 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x4f, 0x6f, 0x12, 0x41, + 0x18, 0x87, 0x59, 0x13, 0x6b, 0xdc, 0x93, 0x79, 0xa3, 0x07, 0x08, 0x6e, 0x63, 0x15, 0x68, 0x28, + 0xdd, 0x11, 0x88, 0x26, 0x35, 0x7a, 0xb0, 0xed, 0xa5, 0xd1, 0xc4, 0x6a, 0x7a, 0xf2, 0x42, 0x66, + 0x97, 0x61, 0x3b, 0x71, 0x99, 0x99, 0xee, 0x2c, 0x28, 0x69, 0xb8, 0x78, 0xf3, 0x62, 0x4c, 0x3c, + 0xeb, 0xa7, 0xf0, 0x43, 0x78, 0x31, 0x36, 0xf1, 0xe2, 0xd1, 0x80, 0x1f, 0xc4, 0x30, 0x7f, 0x4a, + 0xa4, 0x2c, 0xa5, 0xbd, 0xed, 0x30, 0xcf, 0x6f, 0xde, 0xe7, 0x9d, 0x19, 0xc6, 0xf5, 0xda, 0x44, + 0x76, 0xb9, 0x44, 0x22, 0xe1, 0x1d, 0x1a, 0x13, 0x89, 0xfa, 0x0d, 0x74, 0xd4, 0x23, 0xc9, 0xc0, + 0x17, 0x09, 0x4f, 0x39, 0x80, 0x9e, 0xf7, 0xed, 0xbc, 0xdf, 0x6f, 0x14, 0x6e, 0x46, 0x3c, 0xe2, + 0x6a, 0x1a, 0x4d, 0xbe, 0x34, 0x59, 0x28, 0x46, 0x9c, 0x47, 0x31, 0x41, 0x58, 0x50, 0x84, 0x19, + 0xe3, 0x29, 0x4e, 0x29, 0x67, 0xd2, 0xcc, 0xe6, 0xcd, 0xac, 0x1a, 0x05, 0xbd, 0x0e, 0xc2, 0xcc, + 0x94, 0x28, 0x94, 0xb3, 0x14, 0x5a, 0xe6, 0x17, 0xc3, 0xd5, 0x32, 0xb9, 0x76, 0x8a, 0xa3, 0x56, + 0x42, 0x8e, 0x7a, 0x44, 0xa6, 0xb6, 0x60, 0x29, 0x7b, 0x55, 0x9c, 0xe0, 0xae, 0xc5, 0xaa, 0x99, + 0x58, 0x78, 0x88, 0x29, 0x6b, 0xc5, 0x94, 0xbd, 0xb1, 0xec, 0x7a, 0x26, 0x8b, 0x85, 0xf8, 0x8f, + 0xcc, 0x87, 0x7c, 0x42, 0xb6, 0xf4, 0x26, 0xe9, 0x81, 0x2d, 0xa8, 0x47, 0x28, 0xc0, 0x92, 0xe8, + 0x34, 0xea, 0xd7, 0x03, 0x92, 0xe2, 0x3a, 0x12, 0x38, 0xa2, 0x4c, 0xed, 0x9a, 0x66, 0x1b, 0x5f, + 0xae, 0xbb, 0x57, 0x5f, 0x4e, 0x10, 0xf8, 0xe0, 0xb8, 0xd7, 0xf6, 0x75, 0x59, 0xa8, 0xf8, 0x67, + 0xcf, 0xc4, 0x57, 0x98, 0x21, 0x5e, 0xe9, 0x9d, 0x28, 0xac, 0x9f, 0x0f, 0x4a, 0xc1, 0x99, 0x24, + 0x6b, 0x1b, 0xef, 0x7f, 0xfd, 0xfd, 0x7c, 0xa5, 0x04, 0x77, 0xd1, 0x9c, 0x16, 0x4f, 0xbf, 0x8f, + 0x7b, 0x92, 0x24, 0x43, 0xf8, 0xe9, 0xb8, 0xc5, 0x3d, 0x16, 0xf2, 0x2e, 0x65, 0xd1, 0xee, 0x01, + 0x8e, 0x0e, 0x12, 0xcc, 0x64, 0x87, 0x24, 0xa6, 0xac, 0x84, 0xc7, 0x99, 0x75, 0x17, 0xc5, 0xac, + 0xf5, 0x93, 0x4b, 0xa6, 0x4d, 0x2b, 0x0d, 0xd5, 0x4a, 0x0d, 0xaa, 0xf3, 0x5a, 0x51, 0x17, 0x25, + 0x35, 0xd1, 0xd3, 0x1b, 0x03, 0x1f, 0x1d, 0xd7, 0xdd, 0x99, 0x1c, 0xf7, 0xf3, 0xc9, 0x19, 0x42, + 0x35, 0xd3, 0x60, 0x0a, 0x59, 0xdb, 0x8d, 0xa5, 0x58, 0xe3, 0x56, 0x51, 0x6e, 0x77, 0x60, 0x75, + 0x9e, 0x9b, 0xba, 0x6f, 0x9b, 0xea, 0x16, 0xc1, 0x57, 0xc7, 0xbd, 0xf1, 0x54, 0x88, 0x98, 0x86, + 0xea, 0x3a, 0x68, 0xad, 0xfb, 0x99, 0xa5, 0x66, 0x51, 0x2b, 0x57, 0xbf, 0x40, 0xc2, 0x28, 0x96, + 0x94, 0xe2, 0x2a, 0xdc, 0x9e, 0xa7, 0x88, 0x85, 0x30, 0x82, 0x3f, 0x1c, 0x37, 0x3f, 0xb3, 0xc6, + 0xf6, 0x60, 0x27, 0xa6, 0x84, 0xa5, 0x7b, 0xbb, 0xb0, 0xb5, 0x6c, 0xdd, 0x69, 0xc6, 0x2a, 0x3f, + 0xba, 0x4c, 0xd4, 0xb8, 0x6f, 0x29, 0xf7, 0x26, 0xd4, 0x17, 0xba, 0xa3, 0x50, 0xe5, 0x24, 0x3a, + 0xd6, 0x1f, 0x2d, 0xda, 0x1e, 0xc2, 0x37, 0xc7, 0xbd, 0x35, 0x53, 0xe0, 0xc5, 0x5b, 0x46, 0x12, + 0x09, 0x0f, 0x96, 0x15, 0xd2, 0xbc, 0xed, 0xe3, 0xe1, 0x45, 0x63, 0xa6, 0x87, 0x9a, 0xea, 0xa1, + 0x0c, 0xf7, 0x16, 0xf7, 0xc0, 0xb5, 0xdc, 0xd0, 0x5d, 0xd9, 0x57, 0xaf, 0x19, 0x94, 0xb3, 0xff, + 0xeb, 0x0a, 0xb0, 0x5e, 0x95, 0x73, 0x39, 0x23, 0xb2, 0xa6, 0x44, 0x8a, 0x50, 0x98, 0xfb, 0x24, + 0x28, 0x76, 0xfb, 0xd9, 0xf7, 0x91, 0xe7, 0x9c, 0x8c, 0x3c, 0xe7, 0xcf, 0xc8, 0x73, 0x3e, 0x8d, + 0xbd, 0xdc, 0xc9, 0xd8, 0xcb, 0xfd, 0x1e, 0x7b, 0xb9, 0xd7, 0xf5, 0x88, 0xa6, 0x87, 0xbd, 0xc0, + 0x0f, 0x79, 0xd7, 0xe4, 0x37, 0x63, 0x1c, 0x48, 0xbb, 0x56, 0xbf, 0x89, 0xde, 0x4d, 0x17, 0x4c, + 0x07, 0x82, 0xc8, 0x60, 0x45, 0xbd, 0x79, 0xcd, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x04, + 0x79, 0xb2, 0x92, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -98,6 +101,9 @@ type QueryClient interface { // ApplicationLinkByClientID queries a single application link for a given // client id. ApplicationLinkByClientID(ctx context.Context, in *QueryApplicationLinkByClientIDRequest, opts ...grpc.CallOption) (*QueryApplicationLinkByClientIDResponse, error) + // ApplicationLinkOwners queries for the owners of applications links, + // optionally searching for a specific application and username. + ApplicationLinkOwners(ctx context.Context, in *QueryApplicationLinkOwnersRequest, opts ...grpc.CallOption) (*QueryApplicationLinkOwnersResponse, error) // Params queries the profiles module params Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } @@ -155,6 +161,15 @@ func (c *queryClient) ApplicationLinkByClientID(ctx context.Context, in *QueryAp return out, nil } +func (c *queryClient) ApplicationLinkOwners(ctx context.Context, in *QueryApplicationLinkOwnersRequest, opts ...grpc.CallOption) (*QueryApplicationLinkOwnersResponse, error) { + out := new(QueryApplicationLinkOwnersResponse) + err := c.cc.Invoke(ctx, "/desmos.profiles.v2.Query/ApplicationLinkOwners", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { out := new(QueryParamsResponse) err := c.cc.Invoke(ctx, "/desmos.profiles.v2.Query/Params", in, out, opts...) @@ -182,6 +197,9 @@ type QueryServer interface { // ApplicationLinkByClientID queries a single application link for a given // client id. ApplicationLinkByClientID(context.Context, *QueryApplicationLinkByClientIDRequest) (*QueryApplicationLinkByClientIDResponse, error) + // ApplicationLinkOwners queries for the owners of applications links, + // optionally searching for a specific application and username. + ApplicationLinkOwners(context.Context, *QueryApplicationLinkOwnersRequest) (*QueryApplicationLinkOwnersResponse, error) // Params queries the profiles module params Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) } @@ -205,6 +223,9 @@ func (*UnimplementedQueryServer) ApplicationLinks(ctx context.Context, req *Quer func (*UnimplementedQueryServer) ApplicationLinkByClientID(ctx context.Context, req *QueryApplicationLinkByClientIDRequest) (*QueryApplicationLinkByClientIDResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplicationLinkByClientID not implemented") } +func (*UnimplementedQueryServer) ApplicationLinkOwners(ctx context.Context, req *QueryApplicationLinkOwnersRequest) (*QueryApplicationLinkOwnersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApplicationLinkOwners not implemented") +} func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } @@ -303,6 +324,24 @@ func _Query_ApplicationLinkByClientID_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _Query_ApplicationLinkOwners_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryApplicationLinkOwnersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ApplicationLinkOwners(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/desmos.profiles.v2.Query/ApplicationLinkOwners", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ApplicationLinkOwners(ctx, req.(*QueryApplicationLinkOwnersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryParamsRequest) if err := dec(in); err != nil { @@ -345,6 +384,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "ApplicationLinkByClientID", Handler: _Query_ApplicationLinkByClientID_Handler, }, + { + MethodName: "ApplicationLinkOwners", + Handler: _Query_ApplicationLinkOwners_Handler, + }, { MethodName: "Params", Handler: _Query_Params_Handler, diff --git a/x/profiles/types/query.pb.gw.go b/x/profiles/types/query.pb.gw.go index 97c664fdac..4619bf6308 100644 --- a/x/profiles/types/query.pb.gw.go +++ b/x/profiles/types/query.pb.gw.go @@ -247,6 +247,42 @@ func local_request_Query_ApplicationLinkByClientID_0(ctx context.Context, marsha } +var ( + filter_Query_ApplicationLinkOwners_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_ApplicationLinkOwners_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryApplicationLinkOwnersRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ApplicationLinkOwners_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ApplicationLinkOwners(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ApplicationLinkOwners_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryApplicationLinkOwnersRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ApplicationLinkOwners_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ApplicationLinkOwners(ctx, &protoReq) + return msg, metadata, err + +} + func request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryParamsRequest var metadata runtime.ServerMetadata @@ -371,6 +407,26 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_ApplicationLinkOwners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ApplicationLinkOwners_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ApplicationLinkOwners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -532,6 +588,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_ApplicationLinkOwners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_ApplicationLinkOwners_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ApplicationLinkOwners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -566,6 +642,8 @@ var ( pattern_Query_ApplicationLinkByClientID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"desmos", "profiles", "v2", "app-links", "clients", "client_id"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_ApplicationLinkOwners_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"desmos", "profiles", "v2", "app-links", "owners"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"desmos", "profiles", "v2", "params"}, "", runtime.AssumeColonVerbOpt(true))) ) @@ -580,5 +658,7 @@ var ( forward_Query_ApplicationLinkByClientID_0 = runtime.ForwardResponseMessage + forward_Query_ApplicationLinkOwners_0 = runtime.ForwardResponseMessage + forward_Query_Params_0 = runtime.ForwardResponseMessage ) diff --git a/x/profiles/types/query_app_links.go b/x/profiles/types/query_app_links.go index 14e0865e7c..67efa23624 100644 --- a/x/profiles/types/query_app_links.go +++ b/x/profiles/types/query_app_links.go @@ -24,3 +24,11 @@ func NewQueryApplicationLinkByClientIDRequest(clientID string) *QueryApplication ClientId: clientID, } } + +// NewQueryApplicationLinkOwnersRequest returns a new QueryApplicationLinkOwnersRequest instance +func NewQueryApplicationLinkOwnersRequest(application, username string) *QueryApplicationLinkOwnersRequest { + return &QueryApplicationLinkOwnersRequest{ + Application: application, + Username: username, + } +} diff --git a/x/profiles/types/query_app_links.pb.go b/x/profiles/types/query_app_links.pb.go index 53f9958d59..a5129cd1b3 100644 --- a/x/profiles/types/query_app_links.pb.go +++ b/x/profiles/types/query_app_links.pb.go @@ -254,11 +254,201 @@ func (m *QueryApplicationLinkByClientIDResponse) GetLink() ApplicationLink { return ApplicationLink{} } +// QueryApplicationLinkOwnersRequest contains the data of the request that can +// be used to get application link owners +type QueryApplicationLinkOwnersRequest struct { + // (Optional) Application name to search link owners of. If not specified, all + // links stored will be searched instead. + Application string `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + // (Optional) Username to search for. This will only be used if the + // application is specified as well + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + // Pagination defines an optional pagination for the request + Pagination *query.PageRequest `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryApplicationLinkOwnersRequest) Reset() { *m = QueryApplicationLinkOwnersRequest{} } +func (m *QueryApplicationLinkOwnersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryApplicationLinkOwnersRequest) ProtoMessage() {} +func (*QueryApplicationLinkOwnersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_df55d222350c3dbf, []int{4} +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryApplicationLinkOwnersRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryApplicationLinkOwnersRequest.Merge(m, src) +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryApplicationLinkOwnersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryApplicationLinkOwnersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryApplicationLinkOwnersRequest proto.InternalMessageInfo + +func (m *QueryApplicationLinkOwnersRequest) GetApplication() string { + if m != nil { + return m.Application + } + return "" +} + +func (m *QueryApplicationLinkOwnersRequest) GetUsername() string { + if m != nil { + return m.Username + } + return "" +} + +func (m *QueryApplicationLinkOwnersRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination + } + return nil +} + +// QueryApplicationLinkOwnersResponse contains the data returned by the request +// allowing to get application link owners. +type QueryApplicationLinkOwnersResponse struct { + // Addresses of the application links owners + Owners []QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails `protobuf:"bytes,1,rep,name=owners,proto3" json:"owners"` + // Pagination defines the pagination response + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryApplicationLinkOwnersResponse) Reset() { *m = QueryApplicationLinkOwnersResponse{} } +func (m *QueryApplicationLinkOwnersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryApplicationLinkOwnersResponse) ProtoMessage() {} +func (*QueryApplicationLinkOwnersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_df55d222350c3dbf, []int{5} +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryApplicationLinkOwnersResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryApplicationLinkOwnersResponse.Merge(m, src) +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryApplicationLinkOwnersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryApplicationLinkOwnersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryApplicationLinkOwnersResponse proto.InternalMessageInfo + +func (m *QueryApplicationLinkOwnersResponse) GetOwners() []QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails { + if m != nil { + return m.Owners + } + return nil +} + +func (m *QueryApplicationLinkOwnersResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination + } + return nil +} + +type QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails struct { + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Application string `protobuf:"bytes,2,opt,name=application,proto3" json:"application,omitempty"` + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Reset() { + *m = QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{} +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) String() string { + return proto.CompactTextString(m) +} +func (*QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) ProtoMessage() {} +func (*QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_df55d222350c3dbf, []int{5, 0} +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails.Merge(m, src) +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Size() int { + return m.Size() +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_DiscardUnknown() { + xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails proto.InternalMessageInfo + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) GetUser() string { + if m != nil { + return m.User + } + return "" +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) GetApplication() string { + if m != nil { + return m.Application + } + return "" +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) GetUsername() string { + if m != nil { + return m.Username + } + return "" +} + func init() { proto.RegisterType((*QueryApplicationLinksRequest)(nil), "desmos.profiles.v2.QueryApplicationLinksRequest") proto.RegisterType((*QueryApplicationLinksResponse)(nil), "desmos.profiles.v2.QueryApplicationLinksResponse") proto.RegisterType((*QueryApplicationLinkByClientIDRequest)(nil), "desmos.profiles.v2.QueryApplicationLinkByClientIDRequest") proto.RegisterType((*QueryApplicationLinkByClientIDResponse)(nil), "desmos.profiles.v2.QueryApplicationLinkByClientIDResponse") + proto.RegisterType((*QueryApplicationLinkOwnersRequest)(nil), "desmos.profiles.v2.QueryApplicationLinkOwnersRequest") + proto.RegisterType((*QueryApplicationLinkOwnersResponse)(nil), "desmos.profiles.v2.QueryApplicationLinkOwnersResponse") + proto.RegisterType((*QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails)(nil), "desmos.profiles.v2.QueryApplicationLinkOwnersResponse.ApplicationLinkOwnerDetails") } func init() { @@ -266,36 +456,40 @@ func init() { } var fileDescriptor_df55d222350c3dbf = []byte{ - // 449 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x6e, 0x13, 0x31, - 0x10, 0xc6, 0xe3, 0x36, 0xa0, 0xd6, 0xb9, 0x59, 0x1c, 0xb6, 0x4b, 0x59, 0xa2, 0x20, 0x4a, 0x40, - 0xc2, 0x56, 0xc2, 0x19, 0x21, 0x42, 0x05, 0xaa, 0xe0, 0x00, 0x39, 0x72, 0x89, 0xbc, 0xbb, 0xae, - 0xb1, 0xd8, 0xb5, 0xdd, 0xb5, 0x37, 0x62, 0xdf, 0x82, 0xd7, 0xe0, 0x0d, 0x78, 0x84, 0x1e, 0x7b, - 0xe4, 0x84, 0x50, 0xf2, 0x22, 0xc8, 0x7f, 0x4a, 0xda, 0x52, 0x54, 0x71, 0xf3, 0xf8, 0xfb, 0x66, - 0xfc, 0x9b, 0xf1, 0xc0, 0x71, 0xc9, 0x4c, 0xad, 0x0c, 0xd1, 0x8d, 0x3a, 0x16, 0x15, 0x33, 0x64, - 0x39, 0x25, 0x27, 0x2d, 0x6b, 0xba, 0x05, 0xd5, 0x7a, 0x51, 0x09, 0xf9, 0xd9, 0x60, 0xdd, 0x28, - 0xab, 0x10, 0x0a, 0x4e, 0x7c, 0xee, 0xc4, 0xcb, 0x69, 0x7a, 0x87, 0x2b, 0xae, 0xbc, 0x4c, 0xdc, - 0x29, 0x38, 0xd3, 0x7d, 0xae, 0x14, 0xaf, 0x18, 0xa1, 0x5a, 0x10, 0x2a, 0xa5, 0xb2, 0xd4, 0x0a, - 0x25, 0x63, 0x9d, 0x74, 0x2f, 0xaa, 0x3e, 0xca, 0xdb, 0x63, 0x42, 0x65, 0x17, 0xa5, 0xc7, 0xd7, - 0xc0, 0xd4, 0xaa, 0x64, 0x95, 0xb9, 0x4a, 0x93, 0xee, 0x15, 0xca, 0x59, 0x17, 0xe1, 0xf1, 0x10, - 0x44, 0xe9, 0x49, 0x88, 0x48, 0x4e, 0x0d, 0x0b, 0xbd, 0x90, 0xe5, 0x24, 0x67, 0x96, 0x4e, 0x88, - 0xa6, 0x5c, 0x48, 0x4f, 0x13, 0xbc, 0xa3, 0xef, 0x00, 0xee, 0x7f, 0x70, 0x96, 0x97, 0x5a, 0x57, - 0xa2, 0xf0, 0xd2, 0x3b, 0xf7, 0xcc, 0x9c, 0x9d, 0xb4, 0xcc, 0x58, 0x84, 0x60, 0xbf, 0x35, 0xac, - 0x49, 0xc0, 0x10, 0x8c, 0x77, 0xe7, 0xfe, 0x8c, 0x86, 0x70, 0x40, 0x37, 0xf6, 0x64, 0xcb, 0x4b, - 0x17, 0xaf, 0x50, 0x0a, 0x77, 0x9c, 0x53, 0xd2, 0x9a, 0x25, 0xdb, 0x5e, 0xfe, 0x13, 0xa3, 0xd7, - 0x10, 0x6e, 0x30, 0x92, 0xfe, 0x10, 0x8c, 0x07, 0xd3, 0x03, 0x1c, 0x3b, 0x70, 0xcc, 0xd8, 0x33, - 0xe3, 0xc8, 0x8c, 0xdf, 0x53, 0xce, 0x22, 0xcd, 0xfc, 0x42, 0xe6, 0xe8, 0x1b, 0x80, 0xf7, 0xfe, - 0x81, 0x6e, 0xb4, 0x92, 0x86, 0xa1, 0x17, 0xf0, 0x96, 0x1f, 0x59, 0x02, 0x86, 0xdb, 0xe3, 0xc1, - 0xf4, 0x01, 0xfe, 0xfb, 0x07, 0xf1, 0x95, 0xe4, 0x59, 0xff, 0xf4, 0xe7, 0xfd, 0xde, 0x3c, 0xe4, - 0xa1, 0x37, 0x97, 0x50, 0xb7, 0x3c, 0xea, 0xa3, 0x1b, 0x51, 0xc3, 0xeb, 0x97, 0x58, 0x0f, 0xe1, - 0xc3, 0xeb, 0x50, 0x67, 0xdd, 0xab, 0x4a, 0x30, 0x69, 0x8f, 0x0e, 0xcf, 0xc7, 0x7d, 0x17, 0xee, - 0x16, 0xfe, 0x6a, 0x21, 0xca, 0x38, 0xf3, 0x9d, 0x70, 0x71, 0x54, 0x8e, 0x38, 0x3c, 0xb8, 0xa9, - 0x4a, 0xec, 0xfc, 0x39, 0xec, 0xbb, 0x0e, 0x7c, 0x85, 0xff, 0x6a, 0xdc, 0xa7, 0xcd, 0xde, 0x9e, - 0xae, 0x32, 0x70, 0xb6, 0xca, 0xc0, 0xaf, 0x55, 0x06, 0xbe, 0xae, 0xb3, 0xde, 0xd9, 0x3a, 0xeb, - 0xfd, 0x58, 0x67, 0xbd, 0x8f, 0x13, 0x2e, 0xec, 0xa7, 0x36, 0xc7, 0x85, 0xaa, 0x49, 0x28, 0xfa, - 0xb4, 0xa2, 0xb9, 0x89, 0x67, 0xb7, 0xaf, 0x5f, 0x36, 0xdb, 0x6b, 0x3b, 0xcd, 0x4c, 0x7e, 0xdb, - 0x6f, 0xda, 0xb3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xd4, 0x15, 0xa0, 0x6a, 0x03, 0x00, - 0x00, + // 521 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xc1, 0x6e, 0x13, 0x31, + 0x10, 0x8d, 0x93, 0x50, 0xb5, 0xce, 0xcd, 0xe2, 0x90, 0x6e, 0xcb, 0x12, 0x82, 0x28, 0x01, 0x09, + 0x5b, 0x49, 0xcf, 0x08, 0x11, 0x22, 0x50, 0x05, 0x12, 0xb0, 0x47, 0x2e, 0x91, 0x37, 0x71, 0x17, + 0x8b, 0x8d, 0xed, 0xae, 0xbd, 0x81, 0xfc, 0x05, 0xbf, 0xc1, 0x1f, 0xf0, 0x09, 0x3d, 0xe6, 0xc8, + 0x09, 0xa1, 0xe4, 0x47, 0xd0, 0xda, 0x6e, 0xd3, 0x86, 0x25, 0x11, 0xa8, 0x37, 0xcf, 0xbc, 0x37, + 0x33, 0x6f, 0x5e, 0x26, 0x0b, 0x3b, 0x63, 0xa6, 0x27, 0x52, 0x13, 0x95, 0xc9, 0x53, 0x9e, 0x32, + 0x4d, 0xa6, 0x3d, 0x72, 0x96, 0xb3, 0x6c, 0x36, 0xa4, 0x4a, 0x0d, 0x53, 0x2e, 0x3e, 0x69, 0xac, + 0x32, 0x69, 0x24, 0x42, 0x8e, 0x89, 0x2f, 0x98, 0x78, 0xda, 0x0b, 0x6e, 0x27, 0x32, 0x91, 0x16, + 0x26, 0xc5, 0xcb, 0x31, 0x83, 0xc3, 0x44, 0xca, 0x24, 0x65, 0x84, 0x2a, 0x4e, 0xa8, 0x10, 0xd2, + 0x50, 0xc3, 0xa5, 0xf0, 0x7d, 0x82, 0x7d, 0x8f, 0xda, 0x28, 0xce, 0x4f, 0x09, 0x15, 0x33, 0x0f, + 0x3d, 0x2a, 0x11, 0x33, 0x91, 0x63, 0x96, 0xea, 0x75, 0x35, 0xc1, 0xfe, 0x48, 0x16, 0xd4, 0xa1, + 0x1b, 0xee, 0x02, 0x0f, 0x3d, 0x76, 0x11, 0x89, 0xa9, 0x66, 0x6e, 0x17, 0x32, 0xed, 0xc6, 0xcc, + 0xd0, 0x2e, 0x51, 0x34, 0xe1, 0xc2, 0xaa, 0x71, 0xdc, 0xf6, 0x77, 0x00, 0x0f, 0xdf, 0x17, 0x94, + 0xe7, 0x4a, 0xa5, 0x7c, 0x64, 0xa1, 0x37, 0xc5, 0x98, 0x88, 0x9d, 0xe5, 0x4c, 0x1b, 0x84, 0x60, + 0x3d, 0xd7, 0x2c, 0x6b, 0x82, 0x16, 0xe8, 0xec, 0x45, 0xf6, 0x8d, 0x5a, 0xb0, 0x41, 0x57, 0xf4, + 0x66, 0xd5, 0x42, 0x57, 0x53, 0x28, 0x80, 0xbb, 0x05, 0x53, 0xd0, 0x09, 0x6b, 0xd6, 0x2c, 0x7c, + 0x19, 0xa3, 0x97, 0x10, 0xae, 0x64, 0x34, 0xeb, 0x2d, 0xd0, 0x69, 0xf4, 0x8e, 0xb0, 0xdf, 0xa0, + 0xd0, 0x8c, 0xad, 0x66, 0xec, 0x35, 0xe3, 0x77, 0x34, 0x61, 0x5e, 0x4d, 0x74, 0xa5, 0xb2, 0xfd, + 0x0d, 0xc0, 0x3b, 0x7f, 0x91, 0xae, 0x95, 0x14, 0x9a, 0xa1, 0x67, 0xf0, 0x96, 0xb5, 0xac, 0x09, + 0x5a, 0xb5, 0x4e, 0xa3, 0x77, 0x1f, 0xff, 0xf9, 0x0b, 0xe2, 0xb5, 0xe2, 0x7e, 0xfd, 0xfc, 0xe7, + 0xdd, 0x4a, 0xe4, 0xea, 0xd0, 0xab, 0x6b, 0x52, 0xab, 0x56, 0xea, 0xc3, 0xad, 0x52, 0xdd, 0xf4, + 0x6b, 0x5a, 0x07, 0xf0, 0x41, 0x99, 0xd4, 0xfe, 0xec, 0x45, 0xca, 0x99, 0x30, 0x27, 0x83, 0x0b, + 0xbb, 0x0f, 0xe0, 0xde, 0xc8, 0xa6, 0x86, 0x7c, 0xec, 0x3d, 0xdf, 0x75, 0x89, 0x93, 0x71, 0x3b, + 0x81, 0x47, 0xdb, 0xba, 0xf8, 0xcd, 0x9f, 0xc2, 0x7a, 0xb1, 0x81, 0xed, 0xf0, 0x4f, 0x8b, 0xdb, + 0xb2, 0xc2, 0xda, 0x7b, 0x65, 0x93, 0xde, 0x7e, 0x16, 0x2c, 0xbb, 0x3c, 0x8d, 0xb5, 0x33, 0x00, + 0x9b, 0xcf, 0xa0, 0xba, 0xf1, 0x0c, 0x6a, 0xff, 0x7d, 0x06, 0xf3, 0x2a, 0x6c, 0x6f, 0xd2, 0xea, + 0x1d, 0x51, 0x70, 0x47, 0xda, 0x8c, 0x3f, 0x86, 0xa8, 0xcc, 0x93, 0xed, 0x7d, 0x70, 0x19, 0x3a, + 0x60, 0x86, 0xf2, 0x54, 0x7b, 0x0b, 0xfd, 0x9c, 0x1b, 0x3b, 0x9e, 0x40, 0xc2, 0x83, 0x0d, 0x53, + 0x6f, 0xfe, 0x1f, 0xda, 0x7f, 0x7d, 0xbe, 0x08, 0xc1, 0x7c, 0x11, 0x82, 0x5f, 0x8b, 0x10, 0x7c, + 0x5d, 0x86, 0x95, 0xf9, 0x32, 0xac, 0xfc, 0x58, 0x86, 0x95, 0x0f, 0xdd, 0x84, 0x9b, 0x8f, 0x79, + 0x8c, 0x47, 0x72, 0x42, 0x9c, 0x7f, 0x4f, 0x52, 0x1a, 0x6b, 0xff, 0x26, 0xd3, 0x63, 0xf2, 0x65, + 0xf5, 0xf1, 0x32, 0x33, 0xc5, 0x74, 0xbc, 0x63, 0x3f, 0x34, 0xc7, 0xbf, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x13, 0x54, 0x76, 0x6c, 0x69, 0x05, 0x00, 0x00, } func (m *QueryApplicationLinksRequest) Marshal() (dAtA []byte, err error) { @@ -466,6 +660,148 @@ func (m *QueryApplicationLinkByClientIDResponse) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } +func (m *QueryApplicationLinkOwnersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryApplicationLinkOwnersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryApplicationLinkOwnersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryAppLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.Username) > 0 { + i -= len(m.Username) + copy(dAtA[i:], m.Username) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Username))) + i-- + dAtA[i] = 0x12 + } + if len(m.Application) > 0 { + i -= len(m.Application) + copy(dAtA[i:], m.Application) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Application))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryApplicationLinkOwnersResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryApplicationLinkOwnersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryApplicationLinkOwnersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryAppLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Owners) > 0 { + for iNdEx := len(m.Owners) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Owners[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryAppLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Username) > 0 { + i -= len(m.Username) + copy(dAtA[i:], m.Username) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Username))) + i-- + dAtA[i] = 0x1a + } + if len(m.Application) > 0 { + i -= len(m.Application) + copy(dAtA[i:], m.Application) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Application))) + i-- + dAtA[i] = 0x12 + } + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQueryAppLinks(dAtA []byte, offset int, v uint64) int { offset -= sovQueryAppLinks(v) base := offset @@ -545,13 +881,376 @@ func (m *QueryApplicationLinkByClientIDResponse) Size() (n int) { return n } -func sovQueryAppLinks(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQueryAppLinks(x uint64) (n int) { - return sovQueryAppLinks(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +func (m *QueryApplicationLinkOwnersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Application) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + l = len(m.Username) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + return n +} + +func (m *QueryApplicationLinkOwnersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Owners) > 0 { + for _, e := range m.Owners { + l = e.Size() + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + return n +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.User) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + l = len(m.Application) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + l = len(m.Username) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + return n +} + +func sovQueryAppLinks(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQueryAppLinks(x uint64) (n int) { + return sovQueryAppLinks(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinksRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinksRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Application", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Application = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Username = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinksResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinksResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Links = append(m.Links, ApplicationLink{}) + if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil } -func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { +func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -574,15 +1273,15 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinksRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinksRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -610,9 +1309,142 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.User = string(dAtA[iNdEx:postIndex]) + m.ClientId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryApplicationLinkByClientIDResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Link.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryApplicationLinkOwnersRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinkOwnersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinkOwnersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Application", wireType) } @@ -644,7 +1476,7 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { } m.Application = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType) } @@ -676,7 +1508,7 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { } m.Username = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } @@ -733,7 +1565,7 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { +func (m *QueryApplicationLinkOwnersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -756,15 +1588,15 @@ func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinksResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryApplicationLinkOwnersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinksResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryApplicationLinkOwnersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Owners", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -791,8 +1623,8 @@ func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Links = append(m.Links, ApplicationLink{}) - if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Owners = append(m.Owners, QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{}) + if err := m.Owners[len(m.Owners)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -853,7 +1685,7 @@ func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -876,15 +1708,15 @@ func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ApplicationLinkOwnerDetails: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ApplicationLinkOwnerDetails: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClientId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -912,63 +1744,45 @@ func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ClientId = string(dAtA[iNdEx:postIndex]) + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Application", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQueryAppLinks + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryApplicationLinkByClientIDResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQueryAppLinks + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.Application = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQueryAppLinks @@ -978,24 +1792,23 @@ func (m *QueryApplicationLinkByClientIDResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQueryAppLinks } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQueryAppLinks } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Link.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Username = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/profiles/types/query_chain_links.pb.go b/x/profiles/types/query_chain_links.pb.go index 6ee9d110d8..0defe500af 100644 --- a/x/profiles/types/query_chain_links.pb.go +++ b/x/profiles/types/query_chain_links.pb.go @@ -170,32 +170,33 @@ func init() { } var fileDescriptor_f3f86dba4268625b = []byte{ - // 399 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0xc1, 0xae, 0xd2, 0x40, - 0x14, 0x86, 0x3b, 0xf7, 0xe2, 0x4d, 0xee, 0xdc, 0xdd, 0xc4, 0x60, 0x69, 0xa4, 0x12, 0x16, 0x4a, - 0x30, 0xce, 0x84, 0xba, 0x72, 0x8b, 0x89, 0x2e, 0x34, 0x46, 0xbb, 0x74, 0x43, 0xa6, 0x70, 0x18, - 0x1a, 0xdb, 0x99, 0xd2, 0x99, 0x12, 0x79, 0x0b, 0x5f, 0xc0, 0x27, 0xf0, 0x45, 0x58, 0xb2, 0x74, - 0x65, 0x0c, 0xbc, 0x88, 0xe9, 0xcc, 0x28, 0x18, 0x4c, 0xdc, 0x9d, 0xd3, 0xff, 0x3f, 0xfd, 0xbf, - 0xf6, 0xc7, 0xe3, 0x05, 0xe8, 0x52, 0x69, 0x56, 0xd5, 0x6a, 0x99, 0x17, 0xa0, 0xd9, 0x26, 0x61, - 0xeb, 0x06, 0xea, 0xed, 0x6c, 0xbe, 0xe2, 0xb9, 0x9c, 0x15, 0xb9, 0xfc, 0xa4, 0x69, 0x55, 0x2b, - 0xa3, 0x08, 0x71, 0x5e, 0xfa, 0xdb, 0x4b, 0x37, 0x49, 0x74, 0x5f, 0x28, 0xa1, 0xac, 0xcc, 0xda, - 0xc9, 0x39, 0xa3, 0x87, 0x42, 0x29, 0x51, 0x00, 0xe3, 0x55, 0xce, 0xb8, 0x94, 0xca, 0x70, 0x93, - 0x2b, 0xe9, 0xdf, 0x13, 0xf5, 0xbc, 0x6a, 0xb7, 0xac, 0x59, 0x32, 0x2e, 0xb7, 0x5e, 0x7a, 0xfa, - 0x0f, 0x9c, 0x52, 0x2d, 0xa0, 0xd0, 0x97, 0x3c, 0x51, 0x6f, 0xae, 0x5a, 0xf3, 0xcc, 0xc5, 0xbb, - 0xc5, 0x4b, 0x63, 0xb7, 0xb1, 0x8c, 0x6b, 0x70, 0xdf, 0xc3, 0x36, 0x93, 0x0c, 0x0c, 0x9f, 0xb0, - 0x8a, 0x8b, 0x5c, 0x5a, 0x1e, 0xe7, 0x1d, 0x7e, 0x43, 0xb8, 0xfb, 0xa1, 0xb5, 0xbc, 0x6c, 0x13, - 0xde, 0xb6, 0x01, 0x29, 0xac, 0x1b, 0xd0, 0x86, 0x10, 0xdc, 0x69, 0x34, 0xd4, 0x21, 0x1a, 0xa0, - 0xd1, 0x6d, 0x6a, 0x67, 0xd2, 0xc7, 0xd8, 0xa1, 0x48, 0x5e, 0x42, 0x78, 0x65, 0x95, 0x5b, 0xfb, - 0xe4, 0x1d, 0x2f, 0x81, 0x74, 0xf1, 0x8d, 0xe1, 0xb5, 0x00, 0x13, 0x5e, 0x5b, 0xc9, 0x6f, 0xe4, - 0x15, 0xc6, 0xa7, 0xe4, 0xb0, 0x33, 0x40, 0xa3, 0xbb, 0xe4, 0x31, 0xf5, 0xd0, 0x2d, 0x26, 0xb5, - 0x98, 0xd4, 0x63, 0xd2, 0xf7, 0x5c, 0x80, 0xc7, 0x48, 0xcf, 0x2e, 0x87, 0x5f, 0x11, 0x7e, 0x70, - 0x41, 0xab, 0x2b, 0x25, 0x35, 0x90, 0x17, 0xf8, 0x9e, 0xfd, 0x3f, 0x21, 0x1a, 0x5c, 0x8f, 0xee, - 0x92, 0x3e, 0xbd, 0x2c, 0x8c, 0xfe, 0x39, 0x9b, 0x76, 0x76, 0x3f, 0x1e, 0x05, 0xa9, 0xbb, 0x20, - 0xaf, 0xff, 0xc2, 0xbb, 0xb2, 0x78, 0x4f, 0xfe, 0x8b, 0xe7, 0x72, 0xcf, 0xf9, 0xa6, 0x6f, 0x76, - 0x87, 0x18, 0xed, 0x0f, 0x31, 0xfa, 0x79, 0x88, 0xd1, 0x97, 0x63, 0x1c, 0xec, 0x8f, 0x71, 0xf0, - 0xfd, 0x18, 0x07, 0x1f, 0x27, 0x22, 0x37, 0xab, 0x26, 0xa3, 0x73, 0x55, 0x32, 0x07, 0xf6, 0xac, - 0xe0, 0x99, 0xf6, 0x73, 0xdb, 0xf4, 0xe7, 0x53, 0xef, 0x66, 0x5b, 0x81, 0xce, 0x6e, 0x6c, 0x43, - 0xcf, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x56, 0xdf, 0x93, 0xa6, 0x02, 0x00, 0x00, + // 401 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x41, 0x8e, 0xd3, 0x30, + 0x14, 0x86, 0xe3, 0x99, 0x32, 0xd2, 0x78, 0x76, 0x16, 0x1a, 0x32, 0x11, 0x13, 0xaa, 0x59, 0x40, + 0x55, 0x84, 0xad, 0xa6, 0x2b, 0xb6, 0x45, 0x82, 0x05, 0x08, 0x41, 0x96, 0x6c, 0x2a, 0xa7, 0x7d, + 0x75, 0x23, 0x12, 0x3b, 0x8d, 0x9d, 0x88, 0xde, 0x82, 0x0b, 0x70, 0x02, 0x2e, 0xd2, 0x65, 0x97, + 0xac, 0x10, 0x6a, 0x2f, 0x82, 0x62, 0x1b, 0x5a, 0x54, 0xa4, 0xd9, 0xbd, 0x3f, 0xff, 0xff, 0xf2, + 0x7f, 0xc9, 0xc3, 0xc3, 0x39, 0xe8, 0x52, 0x69, 0x56, 0xd5, 0x6a, 0x91, 0x17, 0xa0, 0x59, 0x9b, + 0xb0, 0x55, 0x03, 0xf5, 0x7a, 0x3a, 0x5b, 0xf2, 0x5c, 0x4e, 0x8b, 0x5c, 0x7e, 0xd6, 0xb4, 0xaa, + 0x95, 0x51, 0x84, 0xb8, 0x2c, 0xfd, 0x93, 0xa5, 0x6d, 0x12, 0x3d, 0x14, 0x4a, 0x28, 0x6b, 0xb3, + 0x6e, 0x72, 0xc9, 0xe8, 0xb1, 0x50, 0x4a, 0x14, 0xc0, 0x78, 0x95, 0x33, 0x2e, 0xa5, 0x32, 0xdc, + 0xe4, 0x4a, 0xfa, 0xf7, 0x44, 0x37, 0xde, 0xb5, 0x2a, 0x6b, 0x16, 0x8c, 0xcb, 0xb5, 0xb7, 0x9e, + 0xff, 0x07, 0xa7, 0x54, 0x73, 0x28, 0xf4, 0x29, 0x4f, 0x74, 0x33, 0x53, 0x5d, 0x78, 0xea, 0xea, + 0x9d, 0xf0, 0xd6, 0xd0, 0x29, 0x96, 0x71, 0x0d, 0xee, 0x7b, 0x58, 0x3b, 0xca, 0xc0, 0xf0, 0x11, + 0xab, 0xb8, 0xc8, 0xa5, 0xe5, 0x71, 0xd9, 0xbb, 0xef, 0x08, 0x5f, 0x7f, 0xec, 0x22, 0xaf, 0xba, + 0x86, 0x77, 0x5d, 0x41, 0x0a, 0xab, 0x06, 0xb4, 0x21, 0x04, 0xf7, 0x1a, 0x0d, 0x75, 0x88, 0xfa, + 0x68, 0x70, 0x99, 0xda, 0x99, 0xdc, 0x62, 0xec, 0x50, 0x24, 0x2f, 0x21, 0x3c, 0xb3, 0xce, 0xa5, + 0x7d, 0xf2, 0x9e, 0x97, 0x40, 0xae, 0xf1, 0x85, 0xe1, 0xb5, 0x00, 0x13, 0x9e, 0x5b, 0xcb, 0x2b, + 0xf2, 0x1a, 0xe3, 0x43, 0x73, 0xd8, 0xeb, 0xa3, 0xc1, 0x55, 0xf2, 0x94, 0x7a, 0xe8, 0x0e, 0x93, + 0x5a, 0x4c, 0xea, 0x31, 0xe9, 0x07, 0x2e, 0xc0, 0x63, 0xa4, 0x47, 0x9b, 0x77, 0xdf, 0x10, 0x7e, + 0x74, 0x42, 0xab, 0x2b, 0x25, 0x35, 0x90, 0x97, 0xf8, 0x81, 0xfd, 0x3f, 0x21, 0xea, 0x9f, 0x0f, + 0xae, 0x92, 0x5b, 0x7a, 0x7a, 0x30, 0xfa, 0x77, 0x6d, 0xd2, 0xdb, 0xfc, 0x7c, 0x12, 0xa4, 0x6e, + 0x83, 0xbc, 0xf9, 0x07, 0xef, 0xcc, 0xe2, 0x3d, 0xbb, 0x17, 0xcf, 0xf5, 0x1e, 0xf3, 0x4d, 0xde, + 0x6e, 0x76, 0x31, 0xda, 0xee, 0x62, 0xf4, 0x6b, 0x17, 0xa3, 0xaf, 0xfb, 0x38, 0xd8, 0xee, 0xe3, + 0xe0, 0xc7, 0x3e, 0x0e, 0x3e, 0x8d, 0x44, 0x6e, 0x96, 0x4d, 0x46, 0x67, 0xaa, 0x64, 0x0e, 0xec, + 0x45, 0xc1, 0x33, 0xed, 0x67, 0xd6, 0x8e, 0xd9, 0x97, 0xc3, 0xdd, 0xcd, 0xba, 0x02, 0x9d, 0x5d, + 0xd8, 0x0b, 0x8d, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x58, 0xf0, 0xc2, 0x74, 0xa6, 0x02, 0x00, + 0x00, } func (m *QueryChainLinksRequest) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/query_dtag_requests.pb.go b/x/profiles/types/query_dtag_requests.pb.go index 43100a25f4..40c9212a3c 100644 --- a/x/profiles/types/query_dtag_requests.pb.go +++ b/x/profiles/types/query_dtag_requests.pb.go @@ -143,32 +143,32 @@ func init() { } var fileDescriptor_1695790c33fec123 = []byte{ - // 394 bytes of a gzipped FileDescriptorProto + // 395 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xb1, 0xae, 0xd3, 0x30, - 0x18, 0x85, 0x63, 0x40, 0xe8, 0x92, 0xbb, 0x45, 0x0c, 0x6d, 0x84, 0xd2, 0xaa, 0x03, 0x0d, 0x88, - 0xda, 0x6a, 0xd8, 0x18, 0x2b, 0x04, 0xaa, 0x58, 0x20, 0xea, 0xc4, 0x52, 0x39, 0xe9, 0x5f, 0x13, - 0x29, 0xb1, 0x53, 0xdb, 0x89, 0xe8, 0x1b, 0x30, 0x32, 0x32, 0xf6, 0x4d, 0x58, 0x3b, 0x76, 0x64, - 0x42, 0xa8, 0x5d, 0x78, 0x0c, 0x94, 0xd8, 0xb4, 0x95, 0x88, 0xc4, 0x9d, 0xe2, 0x3f, 0xe7, 0xf8, + 0x18, 0x85, 0x63, 0x40, 0xe8, 0x92, 0xbb, 0x45, 0x0c, 0xbd, 0x11, 0x4a, 0xab, 0x0e, 0x34, 0x20, + 0x6a, 0xab, 0xe9, 0xc6, 0x58, 0x21, 0x50, 0xc5, 0x02, 0x51, 0x27, 0x96, 0xca, 0x49, 0xff, 0x9a, + 0x48, 0x89, 0x9d, 0xda, 0x4e, 0x44, 0xdf, 0x80, 0x91, 0x91, 0xb1, 0x6f, 0xc2, 0xda, 0xb1, 0x23, + 0x13, 0x42, 0xed, 0xc2, 0x63, 0xa0, 0xc4, 0xa6, 0xad, 0x44, 0x24, 0x98, 0xe2, 0x3f, 0xe7, 0xf8, 0xe4, 0x3b, 0xfa, 0xe3, 0xbe, 0x58, 0x81, 0x2a, 0x84, 0x22, 0xa5, 0x14, 0xeb, 0x2c, 0x07, 0x45, 0xea, 0x88, 0x6c, 0x2a, 0x90, 0xdb, 0xe5, 0x4a, 0x53, 0xb6, 0x94, 0xb0, 0xa9, 0x40, 0x69, 0x85, - 0x4b, 0x29, 0xb4, 0xf0, 0x3c, 0xe3, 0xc6, 0x7f, 0xdd, 0xb8, 0x8e, 0xfc, 0xc7, 0x4c, 0x30, 0xd1, + 0x4b, 0x29, 0xb4, 0xf0, 0x3c, 0xe3, 0xc6, 0x7f, 0xdc, 0xb8, 0x8e, 0xfc, 0xc7, 0x4c, 0x30, 0xd1, 0xca, 0xa4, 0x39, 0x19, 0xa7, 0xff, 0x84, 0x09, 0xc1, 0x72, 0x20, 0xb4, 0xcc, 0x08, 0xe5, 0x5c, - 0x68, 0xaa, 0x33, 0xc1, 0x6d, 0x8e, 0xdf, 0xb7, 0x6a, 0x3b, 0x25, 0xd5, 0x9a, 0x50, 0xbe, 0xb5, - 0xd2, 0xa4, 0x03, 0xa8, 0x10, 0x2b, 0xc8, 0x55, 0x17, 0x91, 0xdf, 0x4f, 0x45, 0x63, 0x5f, 0x1a, - 0x00, 0x33, 0x58, 0xe9, 0xb9, 0x99, 0x48, 0x42, 0x15, 0x98, 0x4e, 0xa4, 0x9e, 0x26, 0xa0, 0xe9, - 0x94, 0x94, 0x94, 0x65, 0xbc, 0x25, 0x32, 0xde, 0xd1, 0x37, 0xe4, 0x86, 0x1f, 0x1a, 0xcb, 0x9c, - 0xa7, 0xa2, 0xc8, 0x38, 0x7b, 0xbd, 0xa0, 0x6c, 0x21, 0x29, 0x57, 0x6b, 0x90, 0xb1, 0xfd, 0xa4, - 0x7d, 0x7a, 0xbe, 0x7b, 0x23, 0x21, 0x85, 0xac, 0x06, 0xd9, 0x43, 0x43, 0x14, 0x3e, 0x8a, 0xcf, - 0xb3, 0xf7, 0xc6, 0x75, 0x2f, 0xe1, 0xbd, 0x7b, 0x43, 0x14, 0xde, 0x46, 0x4f, 0xb1, 0xe5, 0x6a, - 0x48, 0x70, 0x4b, 0x82, 0x2d, 0x09, 0x7e, 0x4f, 0x19, 0xd8, 0xdc, 0xf8, 0xea, 0xe6, 0xab, 0x9b, - 0x2f, 0xbb, 0x81, 0xf3, 0x7b, 0x37, 0x70, 0x46, 0xdf, 0x91, 0xfb, 0xec, 0x0e, 0x68, 0xaa, 0x14, - 0x5c, 0x81, 0x37, 0x6f, 0xd8, 0xcc, 0xbb, 0x1e, 0x1a, 0xde, 0x0f, 0x6f, 0xa3, 0x31, 0xfe, 0x77, - 0x69, 0xb8, 0x23, 0x63, 0xf6, 0x60, 0xff, 0x73, 0xe0, 0xc4, 0xe7, 0xeb, 0xde, 0xdb, 0x8e, 0x2a, - 0xe3, 0xff, 0x56, 0x31, 0x1c, 0xd7, 0x5d, 0x66, 0xef, 0xf6, 0xc7, 0x00, 0x1d, 0x8e, 0x01, 0xfa, - 0x75, 0x0c, 0xd0, 0xd7, 0x53, 0xe0, 0x1c, 0x4e, 0x81, 0xf3, 0xe3, 0x14, 0x38, 0x1f, 0xa7, 0x2c, - 0xd3, 0x9f, 0xaa, 0x04, 0xa7, 0xa2, 0x20, 0x86, 0x72, 0x92, 0xd3, 0x44, 0xd9, 0x73, 0xb3, 0xfa, - 0xcf, 0x97, 0x1f, 0x41, 0x6f, 0x4b, 0x50, 0xc9, 0xc3, 0x76, 0x61, 0x2f, 0xff, 0x04, 0x00, 0x00, - 0xff, 0xff, 0xdd, 0x9b, 0x5c, 0xea, 0xb9, 0x02, 0x00, 0x00, + 0x68, 0xaa, 0x33, 0xc1, 0x6d, 0x8e, 0x7f, 0x67, 0xd5, 0x76, 0x4a, 0xaa, 0x35, 0xa1, 0x7c, 0x6b, + 0xa5, 0x71, 0x07, 0x50, 0x21, 0x56, 0x90, 0xab, 0x2e, 0x22, 0xff, 0x2e, 0x15, 0x8d, 0x7d, 0x69, + 0x00, 0xcc, 0x60, 0xa5, 0xe7, 0x66, 0x22, 0x09, 0x55, 0x60, 0x3a, 0x91, 0x7a, 0x92, 0x80, 0xa6, + 0x13, 0x52, 0x52, 0x96, 0xf1, 0x96, 0xc8, 0x78, 0x87, 0x5f, 0x91, 0x1b, 0xbe, 0x6f, 0x2c, 0x73, + 0x9e, 0x8a, 0x22, 0xe3, 0xec, 0xd5, 0x82, 0xb2, 0x85, 0xa4, 0x5c, 0xad, 0x41, 0xc6, 0xf6, 0x93, + 0xf6, 0xe9, 0xf9, 0xee, 0x8d, 0x84, 0x14, 0xb2, 0x1a, 0x64, 0x0f, 0x0d, 0x50, 0xf8, 0x28, 0x3e, + 0xcf, 0xde, 0x6b, 0xd7, 0xbd, 0x84, 0xf7, 0xee, 0x0d, 0x50, 0x78, 0x1b, 0x3d, 0xc5, 0x96, 0xab, + 0x21, 0xc1, 0x2d, 0x09, 0xb6, 0x24, 0xf8, 0x1d, 0x65, 0x60, 0x73, 0xe3, 0xab, 0x9b, 0x2f, 0x6f, + 0x3e, 0xef, 0xfa, 0xce, 0xaf, 0x5d, 0xdf, 0x19, 0x7e, 0x43, 0xee, 0xb3, 0xff, 0x40, 0x53, 0xa5, + 0xe0, 0x0a, 0xbc, 0x79, 0xc3, 0x66, 0xde, 0xf5, 0xd0, 0xe0, 0x7e, 0x78, 0x1b, 0x8d, 0xf0, 0xdf, + 0x4b, 0xc3, 0x1d, 0x19, 0xb3, 0x07, 0xfb, 0x1f, 0x7d, 0x27, 0x3e, 0x5f, 0xf7, 0xde, 0x74, 0x54, + 0x19, 0xfd, 0xb3, 0x8a, 0xe1, 0xb8, 0xee, 0x32, 0x7b, 0xbb, 0x3f, 0x06, 0xe8, 0x70, 0x0c, 0xd0, + 0xcf, 0x63, 0x80, 0xbe, 0x9c, 0x02, 0xe7, 0x70, 0x0a, 0x9c, 0xef, 0xa7, 0xc0, 0xf9, 0x30, 0x61, + 0x99, 0xfe, 0x58, 0x25, 0x38, 0x15, 0x05, 0x31, 0x94, 0xe3, 0x9c, 0x26, 0xca, 0x9e, 0x49, 0x3d, + 0x25, 0x9f, 0x2e, 0x3f, 0x82, 0xde, 0x96, 0xa0, 0x92, 0x87, 0xed, 0xc2, 0xa6, 0xbf, 0x03, 0x00, + 0x00, 0xff, 0xff, 0x4a, 0x3d, 0x41, 0x0d, 0xb9, 0x02, 0x00, 0x00, } func (m *QueryIncomingDTagTransferRequestsRequest) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/query_params.pb.go b/x/profiles/types/query_params.pb.go index 25db6ecb14..683647a0f1 100644 --- a/x/profiles/types/query_params.pb.go +++ b/x/profiles/types/query_params.pb.go @@ -119,26 +119,26 @@ func init() { } var fileDescriptor_3cc715515401743a = []byte{ - // 292 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x31, 0x4f, 0xc3, 0x30, - 0x10, 0x85, 0x13, 0x09, 0x75, 0x08, 0x5b, 0xe8, 0x40, 0x23, 0x64, 0x50, 0x25, 0x10, 0x42, 0xc2, - 0x56, 0xc3, 0xc2, 0xdc, 0x95, 0x01, 0xe8, 0xc8, 0x52, 0xd9, 0xad, 0x6b, 0x22, 0x25, 0x3e, 0x37, - 0xe7, 0x44, 0xe4, 0x5f, 0xf0, 0xb3, 0x3a, 0x76, 0x64, 0x42, 0x28, 0xf9, 0x23, 0x28, 0xb1, 0x11, - 0xaa, 0x60, 0xbb, 0x97, 0xf7, 0xe5, 0xf9, 0xdd, 0x45, 0x97, 0x6b, 0x89, 0x05, 0x20, 0x33, 0x25, - 0x6c, 0xb2, 0x5c, 0x22, 0xab, 0x53, 0xb6, 0xad, 0x64, 0xd9, 0x2c, 0x0d, 0x2f, 0x79, 0x81, 0xd4, - 0x94, 0x60, 0x21, 0x8e, 0x1d, 0x46, 0x7f, 0x30, 0x5a, 0xa7, 0xc9, 0x58, 0x81, 0x82, 0xc1, 0x66, - 0xfd, 0xe4, 0xc8, 0xe4, 0x4c, 0x01, 0xa8, 0x5c, 0x32, 0x6e, 0x32, 0xc6, 0xb5, 0x06, 0xcb, 0x6d, - 0x06, 0xda, 0xe7, 0x24, 0x13, 0xef, 0x0e, 0x4a, 0x54, 0x1b, 0xc6, 0x75, 0xe3, 0xad, 0xab, 0x7f, - 0x9a, 0x14, 0xb0, 0x96, 0x39, 0x1e, 0x54, 0x49, 0x26, 0x2b, 0xe8, 0xb9, 0xa5, 0x7b, 0xd9, 0x09, - 0x6f, 0xdd, 0x38, 0xc5, 0x04, 0x47, 0xe9, 0xb6, 0x60, 0xf5, 0x4c, 0x48, 0xcb, 0x67, 0xcc, 0x70, - 0x95, 0xe9, 0xa1, 0x8a, 0x63, 0xa7, 0xe3, 0x28, 0x7e, 0xee, 0x89, 0xa7, 0x21, 0x7b, 0x21, 0xb7, - 0x95, 0x44, 0x3b, 0x7d, 0x8c, 0x4e, 0x0e, 0xbe, 0xa2, 0x01, 0x8d, 0x32, 0xbe, 0x8f, 0x46, 0xae, - 0xc3, 0x69, 0x78, 0x11, 0x5e, 0x1f, 0xa7, 0x09, 0xfd, 0x7b, 0x0f, 0xea, 0xfe, 0x99, 0x1f, 0xed, - 0x3e, 0xcf, 0x83, 0x85, 0xe7, 0xe7, 0x0f, 0xbb, 0x96, 0x84, 0xfb, 0x96, 0x84, 0x5f, 0x2d, 0x09, - 0xdf, 0x3b, 0x12, 0xec, 0x3b, 0x12, 0x7c, 0x74, 0x24, 0x78, 0x99, 0xa9, 0xcc, 0xbe, 0x56, 0x82, - 0xae, 0xa0, 0x60, 0x2e, 0xed, 0x36, 0xe7, 0x02, 0xfd, 0xdc, 0x6f, 0xff, 0xf6, 0x7b, 0x0b, 0xdb, - 0x18, 0x89, 0x62, 0x34, 0x54, 0xbf, 0xfb, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x24, 0x41, 0x9a, 0xa2, - 0xb5, 0x01, 0x00, 0x00, + // 294 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xb1, 0x4e, 0xf3, 0x30, + 0x14, 0x85, 0x13, 0xe9, 0x57, 0x87, 0xfc, 0x5b, 0xe8, 0x40, 0x23, 0x64, 0x50, 0x25, 0x10, 0x42, + 0xc2, 0x57, 0x4d, 0x17, 0xe6, 0xae, 0x0c, 0x40, 0x47, 0x96, 0xca, 0x6e, 0x5d, 0x13, 0x29, 0xf1, + 0x75, 0x63, 0x27, 0x22, 0x6f, 0xc1, 0x63, 0x75, 0xec, 0xc8, 0x84, 0x50, 0xf2, 0x22, 0x28, 0xb1, + 0x11, 0xaa, 0x60, 0xbb, 0xc7, 0xe7, 0xf3, 0xf1, 0xf1, 0x8d, 0x2e, 0x37, 0xc2, 0x14, 0x68, 0x40, + 0x97, 0xb8, 0xcd, 0x72, 0x61, 0xa0, 0x4e, 0x61, 0x57, 0x89, 0xb2, 0x59, 0x69, 0x56, 0xb2, 0xc2, + 0x50, 0x5d, 0xa2, 0xc5, 0x38, 0x76, 0x18, 0xfd, 0xc6, 0x68, 0x9d, 0x26, 0x63, 0x89, 0x12, 0x07, + 0x1b, 0xfa, 0xc9, 0x91, 0xc9, 0x99, 0x44, 0x94, 0xb9, 0x00, 0xa6, 0x33, 0x60, 0x4a, 0xa1, 0x65, + 0x36, 0x43, 0xe5, 0x73, 0x92, 0x89, 0x77, 0x07, 0xc5, 0xab, 0x2d, 0x30, 0xd5, 0x78, 0xeb, 0xea, + 0x8f, 0x26, 0x05, 0x6e, 0x44, 0x6e, 0x8e, 0xaa, 0x24, 0x93, 0x35, 0xf6, 0xdc, 0xca, 0xbd, 0xec, + 0x84, 0xb7, 0x6e, 0x9c, 0x02, 0xce, 0x8c, 0x70, 0xbf, 0x80, 0x7a, 0xc6, 0x85, 0x65, 0x33, 0xd0, + 0x4c, 0x66, 0x6a, 0xa8, 0xe2, 0xd8, 0xe9, 0x38, 0x8a, 0x9f, 0x7a, 0xe2, 0x71, 0xc8, 0x5e, 0x8a, + 0x5d, 0x25, 0x8c, 0x9d, 0x3e, 0x44, 0x27, 0x47, 0xa7, 0x46, 0xa3, 0x32, 0x22, 0xbe, 0x8b, 0x46, + 0xae, 0xc3, 0x69, 0x78, 0x11, 0x5e, 0xff, 0x4f, 0x13, 0xfa, 0x7b, 0x1f, 0xd4, 0xdd, 0x59, 0xfc, + 0xdb, 0x7f, 0x9c, 0x07, 0x4b, 0xcf, 0x2f, 0xee, 0xf7, 0x2d, 0x09, 0x0f, 0x2d, 0x09, 0x3f, 0x5b, + 0x12, 0xbe, 0x75, 0x24, 0x38, 0x74, 0x24, 0x78, 0xef, 0x48, 0xf0, 0x3c, 0x93, 0x99, 0x7d, 0xa9, + 0x38, 0x5d, 0x63, 0x01, 0x2e, 0xed, 0x36, 0x67, 0xdc, 0xf8, 0x19, 0xea, 0x39, 0xbc, 0xfe, 0xec, + 0xc2, 0x36, 0x5a, 0x18, 0x3e, 0x1a, 0xaa, 0xcf, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xb3, 0xe7, + 0x87, 0x45, 0xb5, 0x01, 0x00, 0x00, } func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { diff --git a/x/profiles/types/query_profile.pb.go b/x/profiles/types/query_profile.pb.go index 8f5ca6c55d..63409693dc 100644 --- a/x/profiles/types/query_profile.pb.go +++ b/x/profiles/types/query_profile.pb.go @@ -121,27 +121,27 @@ func init() { } var fileDescriptor_705b9d777999c138 = []byte{ - // 316 bytes of a gzipped FileDescriptorProto + // 317 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x51, 0xb1, 0x4e, 0xc3, 0x30, - 0x14, 0x4c, 0x24, 0x04, 0x25, 0x30, 0x85, 0x0e, 0x50, 0x21, 0x17, 0x75, 0x40, 0x08, 0xa9, 0xb6, - 0xda, 0x6e, 0x88, 0xa5, 0xdd, 0x10, 0x0b, 0x54, 0x4c, 0x2c, 0x95, 0x1d, 0x5c, 0x13, 0xa9, 0xf5, - 0x73, 0x63, 0xbb, 0x22, 0x7f, 0xc0, 0xc8, 0x27, 0xf4, 0x23, 0xf8, 0x08, 0xc4, 0xd4, 0x91, 0x11, - 0xb5, 0x0b, 0x9f, 0x81, 0x62, 0x3b, 0x42, 0x6c, 0xef, 0x72, 0x77, 0xb9, 0x77, 0x7e, 0xc9, 0xf9, - 0x13, 0xd7, 0x73, 0xd0, 0x44, 0x15, 0x30, 0xcd, 0x67, 0x5c, 0x93, 0x65, 0x9f, 0x2c, 0x2c, 0x2f, - 0xca, 0x49, 0xf8, 0x82, 0x55, 0x01, 0x06, 0xd2, 0xd4, 0xeb, 0x70, 0xad, 0xc3, 0xcb, 0x7e, 0xab, - 0x29, 0x40, 0x80, 0xa3, 0x49, 0x35, 0x79, 0x65, 0xeb, 0x54, 0x00, 0x88, 0x19, 0x27, 0x54, 0xe5, - 0x84, 0x4a, 0x09, 0x86, 0x9a, 0x1c, 0xa4, 0x0e, 0xec, 0x49, 0x60, 0x1d, 0x62, 0x76, 0x4a, 0xa8, - 0x2c, 0x6b, 0x2a, 0x83, 0x2a, 0x62, 0xe2, 0xff, 0xe8, 0x41, 0xa0, 0x2e, 0x3d, 0x22, 0x8c, 0x6a, - 0xee, 0xd7, 0x23, 0xcb, 0x1e, 0xe3, 0x86, 0xf6, 0x88, 0xa2, 0x22, 0x97, 0x2e, 0xc2, 0x6b, 0x3b, - 0x83, 0xe4, 0xe8, 0xbe, 0x52, 0xdc, 0xf9, 0x4d, 0xc7, 0x7c, 0x61, 0xb9, 0x36, 0x69, 0x9a, 0xec, - 0x58, 0xcd, 0x8b, 0xe3, 0xf8, 0x2c, 0xbe, 0xd8, 0x1f, 0xbb, 0xf9, 0xaa, 0xf1, 0xba, 0x6a, 0x47, - 0x3f, 0xab, 0x76, 0xd4, 0x79, 0x48, 0x9a, 0xff, 0x4d, 0x5a, 0x81, 0xd4, 0x3c, 0xbd, 0x4e, 0xf6, - 0x42, 0x63, 0x67, 0x3c, 0xe8, 0x37, 0xb1, 0x2f, 0x80, 0xeb, 0x02, 0x78, 0x28, 0xcb, 0xd1, 0xe1, - 0xe7, 0x7b, 0xb7, 0x31, 0xcc, 0x32, 0xb0, 0xd2, 0xdc, 0x8c, 0x6b, 0xcb, 0xe8, 0xf6, 0x63, 0x83, - 0xe2, 0xf5, 0x06, 0xc5, 0xdf, 0x1b, 0x14, 0xbf, 0x6d, 0x51, 0xb4, 0xde, 0xa2, 0xe8, 0x6b, 0x8b, - 0xa2, 0xc7, 0x9e, 0xc8, 0xcd, 0xb3, 0x65, 0x38, 0x83, 0x39, 0xf1, 0x2f, 0xdb, 0x9d, 0x51, 0xa6, - 0xc3, 0x5c, 0x1d, 0xe1, 0xe5, 0xef, 0x24, 0xa6, 0x54, 0x5c, 0xb3, 0x5d, 0x97, 0x38, 0xf8, 0x0d, - 0x00, 0x00, 0xff, 0xff, 0xf2, 0x29, 0x8e, 0xb1, 0xb2, 0x01, 0x00, 0x00, + 0x14, 0x4c, 0x24, 0x04, 0x25, 0x30, 0x85, 0x0e, 0x50, 0xa1, 0x14, 0x75, 0x40, 0x08, 0xa9, 0x7e, + 0x6a, 0xbb, 0x21, 0x96, 0x76, 0x43, 0x2c, 0x50, 0x31, 0xb1, 0x54, 0x4e, 0x70, 0x4d, 0xa4, 0xd6, + 0xcf, 0x8d, 0xed, 0x88, 0xfc, 0x01, 0x23, 0x9f, 0xd0, 0x8f, 0xe0, 0x23, 0x10, 0x53, 0x47, 0x46, + 0xd4, 0x2e, 0x7c, 0x06, 0xaa, 0xed, 0x08, 0xb1, 0xbd, 0xf3, 0xdd, 0xf9, 0xde, 0xd9, 0xd1, 0xf9, + 0x13, 0x53, 0x73, 0x54, 0x20, 0x0b, 0x9c, 0xe6, 0x33, 0xa6, 0xa0, 0xec, 0xc3, 0xc2, 0xb0, 0xa2, + 0x9a, 0xf8, 0x13, 0x22, 0x0b, 0xd4, 0x18, 0xc7, 0x4e, 0x47, 0x6a, 0x1d, 0x29, 0xfb, 0xad, 0x26, + 0x47, 0x8e, 0x96, 0x86, 0xed, 0xe4, 0x94, 0xad, 0x53, 0x8e, 0xc8, 0x67, 0x0c, 0xa8, 0xcc, 0x81, + 0x0a, 0x81, 0x9a, 0xea, 0x1c, 0x85, 0xf2, 0xec, 0x89, 0x67, 0x2d, 0x4a, 0xcd, 0x14, 0xa8, 0xa8, + 0x6a, 0x2a, 0xc3, 0x6d, 0xc4, 0xc4, 0xdd, 0xe8, 0x80, 0xa7, 0x2e, 0x1d, 0x82, 0x94, 0x2a, 0xe6, + 0xd6, 0x83, 0xb2, 0x97, 0x32, 0x4d, 0x7b, 0x20, 0x29, 0xcf, 0x85, 0x8d, 0x70, 0xda, 0xce, 0x20, + 0x3a, 0xba, 0xdf, 0x2a, 0xee, 0xdc, 0xa6, 0x63, 0xb6, 0x30, 0x4c, 0xe9, 0x38, 0x8e, 0x76, 0x8c, + 0x62, 0xc5, 0x71, 0x78, 0x16, 0x5e, 0xec, 0x8f, 0xed, 0x7c, 0xd5, 0x78, 0x5d, 0xb6, 0x83, 0x9f, + 0x65, 0x3b, 0xe8, 0x3c, 0x44, 0xcd, 0xff, 0x26, 0x25, 0x51, 0x28, 0x16, 0x5f, 0x47, 0x7b, 0xbe, + 0xb1, 0x35, 0x1e, 0xf4, 0x9b, 0xc4, 0x15, 0x20, 0x75, 0x01, 0x32, 0x14, 0xd5, 0xe8, 0xf0, 0xf3, + 0xbd, 0xdb, 0x18, 0x66, 0x19, 0x1a, 0xa1, 0x6f, 0xc6, 0xb5, 0x65, 0x74, 0xfb, 0xb1, 0x4e, 0xc2, + 0xd5, 0x3a, 0x09, 0xbf, 0xd7, 0x49, 0xf8, 0xb6, 0x49, 0x82, 0xd5, 0x26, 0x09, 0xbe, 0x36, 0x49, + 0xf0, 0xd8, 0xe3, 0xb9, 0x7e, 0x36, 0x29, 0xc9, 0x70, 0x0e, 0xee, 0x65, 0xbb, 0x33, 0x9a, 0x2a, + 0x3f, 0x43, 0x39, 0x80, 0x97, 0xbf, 0x2f, 0xd1, 0x95, 0x64, 0x2a, 0xdd, 0xb5, 0x89, 0x83, 0xdf, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x65, 0x8f, 0x93, 0x56, 0xb2, 0x01, 0x00, 0x00, } func (m *QueryProfileRequest) Marshal() (dAtA []byte, err error) { diff --git a/x/relationships/types/genesis.pb.go b/x/relationships/types/genesis.pb.go index 369655c654..9a7f076f6a 100644 --- a/x/relationships/types/genesis.pb.go +++ b/x/relationships/types/genesis.pb.go @@ -86,9 +86,9 @@ var fileDescriptor_4d7b018c2a5c3e4d = []byte{ 0x82, 0xa0, 0x06, 0x59, 0xb1, 0x74, 0x2c, 0x90, 0x67, 0x70, 0x0a, 0x38, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0xb3, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, - 0x5c, 0x7d, 0x88, 0x65, 0xba, 0x39, 0x89, 0x49, 0xc5, 0x50, 0xb6, 0x7e, 0x99, 0x91, 0x7e, 0x05, + 0x5c, 0x7d, 0x88, 0x65, 0xba, 0x39, 0x89, 0x49, 0xc5, 0x50, 0xb6, 0x7e, 0x99, 0xb1, 0x7e, 0x05, 0x5a, 0x80, 0x95, 0x54, 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x43, 0xcb, 0x18, 0x10, 0x00, 0x00, - 0xff, 0xff, 0x20, 0x13, 0x5a, 0x81, 0xab, 0x01, 0x00, 0x00, + 0xff, 0xff, 0xf1, 0xfb, 0xbd, 0x8f, 0xab, 0x01, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/relationships/types/models.pb.go b/x/relationships/types/models.pb.go index 86f371d6be..4044054f62 100644 --- a/x/relationships/types/models.pb.go +++ b/x/relationships/types/models.pb.go @@ -179,30 +179,30 @@ func init() { var fileDescriptor_9096e6e86fd356f7 = []byte{ // 395 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x92, 0xb1, 0xae, 0xd3, 0x30, - 0x14, 0x86, 0x6b, 0xb8, 0xba, 0x50, 0x73, 0x41, 0x22, 0x20, 0xdd, 0xd2, 0x21, 0xae, 0xac, 0x0e, - 0x45, 0x82, 0x58, 0x05, 0x89, 0xa1, 0x6c, 0x11, 0x0c, 0xdd, 0x50, 0x10, 0x0b, 0x4b, 0xe5, 0x24, - 0x26, 0x8d, 0x48, 0xe2, 0xc8, 0x76, 0x2a, 0xf2, 0x16, 0x8c, 0x8c, 0x7d, 0x1c, 0xc4, 0xd4, 0x91, - 0x29, 0x42, 0xc9, 0xc2, 0x9c, 0x27, 0x40, 0x89, 0x1d, 0x68, 0x0b, 0x1b, 0xdb, 0x39, 0xfe, 0xbf, - 0x73, 0x7c, 0x7e, 0xe9, 0x87, 0xf3, 0x90, 0xc9, 0x94, 0x4b, 0x22, 0x58, 0x42, 0x55, 0xcc, 0x33, - 0xb9, 0x8d, 0x73, 0x49, 0x76, 0x4b, 0x92, 0xf2, 0x90, 0x25, 0xd2, 0xc9, 0x05, 0x57, 0xdc, 0xba, - 0xd6, 0x94, 0x73, 0x42, 0x39, 0xbb, 0xe5, 0xf4, 0x61, 0xc4, 0x23, 0xde, 0x33, 0xa4, 0xab, 0x34, - 0x3e, 0x7d, 0x14, 0x71, 0x1e, 0x25, 0x8c, 0xf4, 0x9d, 0x5f, 0x7c, 0x20, 0x34, 0x2b, 0x8d, 0x84, - 0xce, 0x25, 0x15, 0xa7, 0x4c, 0x2a, 0x9a, 0xe6, 0xc3, 0x6c, 0xc0, 0xbb, 0xaf, 0x36, 0x7a, 0xa9, - 0x6e, 0xb4, 0x84, 0xbf, 0x01, 0x78, 0xe5, 0x1d, 0x5d, 0x60, 0x3d, 0x81, 0xb7, 0x02, 0xc1, 0xa8, - 0xe2, 0x62, 0x02, 0x66, 0x60, 0x31, 0x76, 0xad, 0xb6, 0x42, 0xf7, 0x4a, 0x9a, 0x26, 0x2b, 0x6c, - 0x04, 0xec, 0x0d, 0x88, 0xf5, 0x12, 0x5e, 0x05, 0xbc, 0xc8, 0x14, 0x13, 0x39, 0x15, 0xaa, 0x9c, - 0xdc, 0xe8, 0x47, 0xae, 0xdb, 0x0a, 0x3d, 0x30, 0x23, 0x47, 0x2a, 0xf6, 0x4e, 0x60, 0xeb, 0x35, - 0xbc, 0x23, 0x0b, 0x5f, 0xe6, 0x34, 0x60, 0x9b, 0x38, 0x9c, 0xdc, 0x9c, 0x81, 0xc5, 0x85, 0x3b, - 0xaf, 0x2b, 0x04, 0xdf, 0x9a, 0xe7, 0xf5, 0xab, 0xb6, 0x42, 0x96, 0xde, 0x74, 0x84, 0x62, 0x0f, - 0x0e, 0xdd, 0x3a, 0x5c, 0xdd, 0xfe, 0xb2, 0x47, 0xe0, 0xe7, 0x1e, 0x01, 0xdc, 0x00, 0x38, 0x7e, - 0x27, 0x99, 0x70, 0x13, 0x1e, 0x7c, 0xec, 0x9c, 0xf8, 0x5d, 0xc1, 0xfe, 0xe1, 0xc4, 0x08, 0xd8, - 0x1b, 0x90, 0x3f, 0x74, 0x68, 0x4c, 0xfc, 0x45, 0x87, 0xbf, 0xe9, 0xd0, 0x7a, 0x0c, 0x2f, 0x05, - 0xa3, 0x92, 0x67, 0xfd, 0xd5, 0x63, 0xf7, 0x7e, 0x5b, 0xa1, 0xbb, 0x1a, 0xd6, 0xef, 0xd8, 0x33, - 0xc0, 0xb9, 0xcb, 0x8b, 0xff, 0x75, 0xe9, 0xbe, 0xf9, 0x5a, 0xdb, 0xe0, 0x50, 0xdb, 0xe0, 0x47, - 0x6d, 0x83, 0xcf, 0x8d, 0x3d, 0x3a, 0x34, 0xf6, 0xe8, 0x7b, 0x63, 0x8f, 0xde, 0xbf, 0x88, 0x62, - 0xb5, 0x2d, 0x7c, 0x27, 0xe0, 0x29, 0xd1, 0xe9, 0x7a, 0x9a, 0x50, 0x5f, 0x9a, 0x9a, 0xec, 0x9e, - 0x91, 0x4f, 0x67, 0xa1, 0x54, 0x65, 0xce, 0xa4, 0x7f, 0xd9, 0x67, 0xe1, 0xf9, 0xaf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x73, 0xe3, 0x09, 0x0c, 0xb9, 0x02, 0x00, 0x00, + 0x14, 0x86, 0x6b, 0xb8, 0xba, 0x50, 0x73, 0x41, 0x22, 0x20, 0xdd, 0x72, 0x87, 0xb8, 0xb2, 0x3a, + 0x14, 0x09, 0x62, 0x55, 0x95, 0x18, 0xca, 0x16, 0xc1, 0xd0, 0x0d, 0x05, 0xb1, 0xb0, 0x54, 0x4e, + 0x62, 0xd2, 0x88, 0x24, 0x8e, 0x6c, 0xa7, 0x22, 0x6f, 0xc1, 0xc8, 0xd8, 0xc7, 0x41, 0x4c, 0x1d, + 0x99, 0x22, 0x94, 0x2c, 0xcc, 0x79, 0x02, 0x94, 0xd8, 0x81, 0xb6, 0xb0, 0xb1, 0x9d, 0xe3, 0xff, + 0x3b, 0xc7, 0xe7, 0x97, 0x7e, 0x38, 0x0b, 0x99, 0x4c, 0xb9, 0x24, 0x82, 0x25, 0x54, 0xc5, 0x3c, + 0x93, 0xdb, 0x38, 0x97, 0x64, 0xb7, 0x20, 0x29, 0x0f, 0x59, 0x22, 0x9d, 0x5c, 0x70, 0xc5, 0xad, + 0x6b, 0x4d, 0x39, 0x27, 0x94, 0xb3, 0x5b, 0xdc, 0x3c, 0x8e, 0x78, 0xc4, 0x7b, 0x86, 0x74, 0x95, + 0xc6, 0x6f, 0x9e, 0x44, 0x9c, 0x47, 0x09, 0x23, 0x7d, 0xe7, 0x17, 0x1f, 0x08, 0xcd, 0x4a, 0x23, + 0xa1, 0x73, 0x49, 0xc5, 0x29, 0x93, 0x8a, 0xa6, 0xf9, 0x30, 0x1b, 0xf0, 0xee, 0xab, 0x8d, 0x5e, + 0xaa, 0x1b, 0x2d, 0xe1, 0x6f, 0x00, 0x5e, 0x79, 0x47, 0x17, 0x58, 0xcf, 0xe0, 0x9d, 0x40, 0x30, + 0xaa, 0xb8, 0x98, 0x80, 0x29, 0x98, 0x8f, 0x5d, 0xab, 0xad, 0xd0, 0x83, 0x92, 0xa6, 0xc9, 0x0a, + 0x1b, 0x01, 0x7b, 0x03, 0x62, 0xbd, 0x84, 0x57, 0x01, 0x2f, 0x32, 0xc5, 0x44, 0x4e, 0x85, 0x2a, + 0x27, 0xb7, 0xfa, 0x91, 0xeb, 0xb6, 0x42, 0x8f, 0xcc, 0xc8, 0x91, 0x8a, 0xbd, 0x13, 0xd8, 0x7a, + 0x0d, 0xef, 0xc9, 0xc2, 0x97, 0x39, 0x0d, 0xd8, 0x26, 0x0e, 0x27, 0xb7, 0xa7, 0x60, 0x7e, 0xe1, + 0xce, 0xea, 0x0a, 0xc1, 0xb7, 0xe6, 0x79, 0xfd, 0xaa, 0xad, 0x90, 0xa5, 0x37, 0x1d, 0xa1, 0xd8, + 0x83, 0x43, 0xb7, 0x0e, 0x57, 0x77, 0xbf, 0xec, 0x11, 0xf8, 0xb9, 0x47, 0x00, 0x37, 0x00, 0x8e, + 0xdf, 0x49, 0x26, 0xdc, 0x84, 0x07, 0x1f, 0x3b, 0x27, 0x7e, 0x57, 0xb0, 0x7f, 0x38, 0x31, 0x02, + 0xf6, 0x06, 0xe4, 0x0f, 0x1d, 0x1a, 0x13, 0x7f, 0xd1, 0xe1, 0x6f, 0x3a, 0xb4, 0x9e, 0xc2, 0x4b, + 0xc1, 0xa8, 0xe4, 0x59, 0x7f, 0xf5, 0xd8, 0x7d, 0xd8, 0x56, 0xe8, 0xbe, 0x86, 0xf5, 0x3b, 0xf6, + 0x0c, 0x70, 0xee, 0xf2, 0xe2, 0x7f, 0x5d, 0xba, 0x6f, 0xbe, 0xd6, 0x36, 0x38, 0xd4, 0x36, 0xf8, + 0x51, 0xdb, 0xe0, 0x73, 0x63, 0x8f, 0x0e, 0x8d, 0x3d, 0xfa, 0xde, 0xd8, 0xa3, 0xf7, 0x2f, 0xa2, + 0x58, 0x6d, 0x0b, 0xdf, 0x09, 0x78, 0x4a, 0x74, 0xba, 0x9e, 0x27, 0xd4, 0x97, 0xa6, 0x26, 0xbb, + 0x25, 0xf9, 0x74, 0x16, 0x4a, 0x55, 0xe6, 0x4c, 0xfa, 0x97, 0x7d, 0x16, 0x96, 0xbf, 0x02, 0x00, + 0x00, 0xff, 0xff, 0xa2, 0x0b, 0xee, 0x02, 0xb9, 0x02, 0x00, 0x00, } func (this *Relationship) Equal(that interface{}) bool { diff --git a/x/relationships/types/msg_server.pb.go b/x/relationships/types/msg_server.pb.go index c1da004a34..6ac321a3a0 100644 --- a/x/relationships/types/msg_server.pb.go +++ b/x/relationships/types/msg_server.pb.go @@ -433,7 +433,7 @@ var fileDescriptor_87e3af8985285de9 = []byte{ // 537 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x95, 0xcf, 0x6a, 0xd4, 0x40, 0x1c, 0xc7, 0x37, 0x6e, 0xa9, 0x76, 0x5a, 0x0b, 0x8e, 0xb5, 0x5d, 0x03, 0x26, 0x25, 0x28, 0xae, - 0x60, 0x33, 0xb4, 0x42, 0x0f, 0xf5, 0xb6, 0xd6, 0x43, 0x0f, 0x0b, 0x12, 0xe9, 0xc5, 0xcb, 0x92, + 0x60, 0x33, 0xd4, 0x42, 0x0f, 0xf5, 0xb6, 0xd6, 0x43, 0x0f, 0x0b, 0x12, 0xe9, 0xc5, 0xcb, 0x92, 0x3f, 0xe3, 0x34, 0x98, 0xcd, 0x84, 0xf9, 0x65, 0x17, 0x17, 0x7c, 0x00, 0x8f, 0x3e, 0x42, 0xdf, 0xc1, 0x77, 0x10, 0x2f, 0xc2, 0x1e, 0x3d, 0x48, 0x90, 0xdd, 0x8b, 0xe7, 0x7d, 0x02, 0x49, 0x26, 0xc9, 0x66, 0xbb, 0xdb, 0xa5, 0x8a, 0x08, 0xbd, 0x65, 0xe6, 0xf7, 0xf9, 0xcd, 0x37, 0x9f, 0x30, @@ -455,16 +455,16 @@ var fileDescriptor_87e3af8985285de9 = []byte{ 0xc1, 0xb0, 0x0a, 0x64, 0x4a, 0x7b, 0xb9, 0xde, 0x1c, 0xed, 0x95, 0xb4, 0x97, 0x7e, 0x3c, 0x41, 0x6d, 0xe0, 0x61, 0xe6, 0x33, 0xf3, 0xf1, 0xe4, 0xbc, 0x61, 0xe5, 0xc0, 0x45, 0xff, 0x95, 0xbf, 0xf4, 0xdf, 0x46, 0x5b, 0x55, 0xbb, 0x52, 0xfb, 0xb3, 0x82, 0x36, 0xdb, 0xc0, 0x4e, 0x43, 0xe7, - 0xbf, 0x88, 0xff, 0x23, 0x9b, 0x06, 0xda, 0x9e, 0x7d, 0xe9, 0xc2, 0xe7, 0xe0, 0x5b, 0x1d, 0xd5, - 0xdb, 0xc0, 0xf0, 0x07, 0x84, 0x17, 0x1c, 0x54, 0xd3, 0xbc, 0xe4, 0xa2, 0x30, 0x17, 0x1e, 0x03, - 0xf5, 0xf0, 0xcf, 0xf8, 0xe2, 0x2d, 0xd2, 0xf4, 0x05, 0x47, 0x66, 0x69, 0xfa, 0x3c, 0xbf, 0x3c, - 0xfd, 0xf2, 0xad, 0x8c, 0x6d, 0xb4, 0x36, 0xdd, 0xc6, 0x8f, 0x96, 0x2d, 0x52, 0x62, 0xea, 0xde, - 0x95, 0xb0, 0x32, 0x82, 0xa1, 0xf5, 0xea, 0x96, 0x79, 0xbc, 0xac, 0xbb, 0x02, 0xaa, 0xe4, 0x8a, - 0x60, 0x11, 0xd4, 0x7a, 0xf5, 0x75, 0xa4, 0x29, 0xc3, 0x91, 0xa6, 0xfc, 0x1c, 0x69, 0xca, 0xa7, - 0xb1, 0x56, 0x1b, 0x8e, 0xb5, 0xda, 0xf7, 0xb1, 0x56, 0x7b, 0x73, 0xc8, 0xfc, 0xf8, 0xac, 0xe7, - 0x98, 0x2e, 0xef, 0x12, 0xb9, 0xe8, 0x5e, 0x60, 0x3b, 0x90, 0x3f, 0x93, 0xfe, 0x01, 0x79, 0x7f, - 0xe1, 0xcf, 0x11, 0x0f, 0x22, 0x0a, 0xce, 0x6a, 0x76, 0x9b, 0x3f, 0xfb, 0x1d, 0x00, 0x00, 0xff, - 0xff, 0x28, 0xbf, 0xb2, 0x8f, 0x5e, 0x06, 0x00, 0x00, + 0xbf, 0x88, 0xff, 0x23, 0x9b, 0x06, 0xda, 0x9e, 0x7d, 0xe9, 0xc2, 0xe7, 0xd9, 0xb7, 0x3a, 0xaa, + 0xb7, 0x81, 0xe1, 0x0f, 0x08, 0x2f, 0x38, 0xa8, 0xa6, 0x79, 0xc9, 0x45, 0x61, 0x2e, 0x3c, 0x06, + 0xea, 0xe1, 0x9f, 0xf1, 0xc5, 0x5b, 0xa4, 0xe9, 0x0b, 0x8e, 0xcc, 0xd2, 0xf4, 0x79, 0x7e, 0x79, + 0xfa, 0xe5, 0x5b, 0x19, 0xdb, 0x68, 0x6d, 0xba, 0x8d, 0x1f, 0x2d, 0x5b, 0xa4, 0xc4, 0xd4, 0xbd, + 0x2b, 0x61, 0x65, 0x04, 0x43, 0xeb, 0xd5, 0x2d, 0xf3, 0x78, 0x59, 0x77, 0x05, 0x54, 0xc9, 0x15, + 0xc1, 0x22, 0xa8, 0xf5, 0xea, 0xeb, 0x48, 0x53, 0x86, 0x23, 0x4d, 0xf9, 0x39, 0xd2, 0x94, 0x4f, + 0x63, 0xad, 0x36, 0x1c, 0x6b, 0xb5, 0xef, 0x63, 0xad, 0xf6, 0xe6, 0x90, 0xf9, 0xf1, 0x59, 0xcf, + 0x31, 0x5d, 0xde, 0x25, 0x72, 0xd1, 0xbd, 0xc0, 0x76, 0x20, 0x7f, 0x26, 0xfd, 0x03, 0xf2, 0xfe, + 0xc2, 0x9f, 0x23, 0x1e, 0x44, 0x14, 0x9c, 0xd5, 0xec, 0x36, 0x3f, 0xf8, 0x1d, 0x00, 0x00, 0xff, + 0xff, 0xf9, 0x57, 0x55, 0x81, 0x5e, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/relationships/types/query.pb.go b/x/relationships/types/query.pb.go index fbedc27dbd..9b07bb94e0 100644 --- a/x/relationships/types/query.pb.go +++ b/x/relationships/types/query.pb.go @@ -246,42 +246,42 @@ func init() { } var fileDescriptor_10005dbd2b21ca8c = []byte{ - // 553 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0xbf, 0x6f, 0xd3, 0x40, - 0x18, 0xf5, 0xa5, 0x21, 0xc0, 0x85, 0x2e, 0x07, 0x12, 0x6e, 0x84, 0x9c, 0x60, 0xa0, 0x8d, 0xf8, - 0x71, 0xa7, 0xb8, 0x12, 0x03, 0x13, 0xca, 0x00, 0x62, 0x6b, 0x2d, 0xb1, 0xb0, 0x54, 0x67, 0xfb, - 0x70, 0x2d, 0x1c, 0x9f, 0xeb, 0xb3, 0x23, 0xb2, 0x32, 0x31, 0x30, 0x20, 0xf1, 0x0f, 0x64, 0xe4, - 0x4f, 0x40, 0x62, 0x62, 0x41, 0x1d, 0x2b, 0xb1, 0x30, 0x21, 0x94, 0x30, 0xf0, 0x67, 0x20, 0xdf, - 0x9d, 0x69, 0x8c, 0x30, 0x14, 0x89, 0x6e, 0xfe, 0xfc, 0xbd, 0xef, 0x7d, 0xef, 0x3d, 0xdf, 0x19, - 0x5e, 0x0b, 0x98, 0x98, 0x70, 0x41, 0x32, 0x16, 0xd3, 0x3c, 0xe2, 0x89, 0xd8, 0x8f, 0x52, 0x41, - 0xa6, 0x23, 0x72, 0x50, 0xb0, 0x6c, 0x86, 0xd3, 0x8c, 0xe7, 0x1c, 0x5d, 0x56, 0x20, 0x5c, 0x03, - 0xe1, 0xe9, 0xa8, 0x77, 0x29, 0xe4, 0x21, 0x97, 0x18, 0x52, 0x3e, 0x29, 0x78, 0xef, 0x4a, 0xc8, - 0x79, 0x18, 0x33, 0x42, 0xd3, 0x88, 0xd0, 0x24, 0xe1, 0xb9, 0x1a, 0xd2, 0xdd, 0x0d, 0xdd, 0x95, - 0x95, 0x57, 0x3c, 0x25, 0x34, 0x99, 0x55, 0x2d, 0x9f, 0x97, 0x7b, 0xf6, 0x14, 0xa3, 0x2a, 0x74, - 0xeb, 0xa6, 0xaa, 0x88, 0x47, 0x05, 0x53, 0xda, 0xc8, 0x74, 0xe4, 0xb1, 0x9c, 0x8e, 0x48, 0x4a, - 0xc3, 0x28, 0x91, 0x2b, 0x34, 0xf6, 0x7a, 0x93, 0xa7, 0x09, 0x0f, 0x58, 0xac, 0x19, 0xed, 0x8f, - 0x00, 0x6e, 0xec, 0x96, 0x44, 0xee, 0x2a, 0xcc, 0x65, 0x07, 0x05, 0x13, 0x39, 0xea, 0xc3, 0xae, - 0x28, 0x3c, 0x91, 0x52, 0x9f, 0xed, 0x45, 0x81, 0x09, 0x06, 0x60, 0xd8, 0x76, 0x61, 0xf5, 0xea, - 0x51, 0x80, 0x10, 0x6c, 0x17, 0x82, 0x65, 0x66, 0x6b, 0x00, 0x86, 0xe7, 0x5d, 0xf9, 0x8c, 0x6c, - 0x78, 0xc1, 0xe7, 0x45, 0x92, 0xb3, 0x2c, 0xa5, 0x59, 0x3e, 0x33, 0xd7, 0x64, 0xaf, 0xf6, 0x0e, - 0x3d, 0x80, 0xf0, 0x58, 0xb0, 0xd9, 0x1e, 0x80, 0x61, 0xd7, 0xd9, 0xc4, 0xda, 0x6b, 0xe9, 0x0e, - 0xab, 0xe4, 0xb5, 0x3b, 0xbc, 0x43, 0x43, 0xa6, 0x45, 0xb9, 0x2b, 0x93, 0xf7, 0xce, 0xbd, 0x9c, - 0xf7, 0x8d, 0xef, 0xf3, 0xbe, 0x61, 0xbf, 0x03, 0xb0, 0xf7, 0x3b, 0x23, 0x22, 0xe5, 0x89, 0x60, - 0x68, 0x17, 0xae, 0xd7, 0x82, 0x30, 0xc1, 0x60, 0x6d, 0xd8, 0x75, 0x6e, 0xe0, 0x86, 0x8f, 0x8a, - 0x57, 0x69, 0xc6, 0xed, 0xc3, 0x2f, 0x7d, 0xc3, 0xad, 0x33, 0xa0, 0x87, 0x35, 0x0f, 0x2d, 0xe9, - 0x61, 0xeb, 0xaf, 0x1e, 0x94, 0x9e, 0x55, 0x13, 0xf6, 0x7b, 0x00, 0x91, 0x94, 0x3e, 0x8e, 0xb9, - 0xff, 0xec, 0xe4, 0xe1, 0x9b, 0xf0, 0xac, 0x57, 0x4e, 0xfc, 0xcc, 0xbf, 0x2a, 0x8f, 0x3b, 0x81, - 0x4e, 0xbf, 0x2a, 0x4f, 0x21, 0xf8, 0x39, 0x80, 0x17, 0x6b, 0xea, 0x75, 0xe2, 0xf7, 0x61, 0x47, - 0x2e, 0xad, 0xa2, 0xb6, 0x1b, 0xa3, 0x7e, 0x2c, 0x58, 0x26, 0x87, 0x75, 0xce, 0x7a, 0xee, 0xbf, - 0x05, 0xec, 0x7c, 0x68, 0xc1, 0x33, 0x52, 0x22, 0x7a, 0x0b, 0xe0, 0x7a, 0xed, 0x80, 0x20, 0xa7, - 0x51, 0x56, 0xe3, 0xb5, 0xe8, 0x6d, 0xff, 0xd3, 0x8c, 0x12, 0x64, 0xe3, 0x17, 0x9f, 0xbe, 0xbd, - 0x69, 0x0d, 0xd1, 0x26, 0x69, 0xba, 0x98, 0xf5, 0xe3, 0xf5, 0x0a, 0xc0, 0x8e, 0x8a, 0x14, 0xdd, - 0xfa, 0xf3, 0xbe, 0xda, 0xb1, 0xe9, 0xdd, 0x3e, 0x19, 0x58, 0xab, 0xda, 0x92, 0xaa, 0xae, 0xa2, - 0x7e, 0xa3, 0x2a, 0xf5, 0x31, 0xc6, 0x3b, 0x87, 0x0b, 0x0b, 0x1c, 0x2d, 0x2c, 0xf0, 0x75, 0x61, - 0x81, 0xd7, 0x4b, 0xcb, 0x38, 0x5a, 0x5a, 0xc6, 0xe7, 0xa5, 0x65, 0x3c, 0xb9, 0x1b, 0x46, 0xf9, - 0x7e, 0xe1, 0x61, 0x9f, 0x4f, 0x34, 0xc9, 0x9d, 0x98, 0x7a, 0xa2, 0x22, 0x9c, 0x3a, 0xe4, 0xf9, - 0x2f, 0xac, 0xf9, 0x2c, 0x65, 0xc2, 0xeb, 0xc8, 0x3f, 0xd0, 0xf6, 0x8f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x88, 0x7d, 0xfc, 0xef, 0x7d, 0x05, 0x00, 0x00, + // 554 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0xbd, 0x8e, 0xd3, 0x4c, + 0x14, 0xf5, 0x64, 0xf3, 0xe5, 0x83, 0x09, 0xdb, 0x0c, 0x48, 0x78, 0x23, 0xe4, 0x04, 0x03, 0xbb, + 0x16, 0x3f, 0x33, 0x4a, 0x22, 0x51, 0x50, 0xa1, 0x14, 0x20, 0xba, 0x5d, 0x4b, 0x34, 0x34, 0xab, + 0xb1, 0x3d, 0x78, 0x2d, 0x1c, 0x8f, 0xd7, 0x63, 0x47, 0xa4, 0xa5, 0xa2, 0xa0, 0x40, 0xe2, 0x05, + 0x52, 0xf2, 0x08, 0x48, 0x54, 0x34, 0x68, 0xcb, 0x95, 0x68, 0xa8, 0x10, 0x4a, 0x28, 0x78, 0x0c, + 0xe4, 0x99, 0x31, 0x1b, 0x23, 0x0c, 0x8b, 0x04, 0x9d, 0xaf, 0xef, 0xb9, 0xe7, 0x9e, 0x73, 0x3c, + 0x63, 0x78, 0x25, 0x60, 0x62, 0xca, 0x05, 0xc9, 0x58, 0x4c, 0xf3, 0x88, 0x27, 0xe2, 0x20, 0x4a, + 0x05, 0x99, 0x0d, 0xc9, 0x61, 0xc1, 0xb2, 0x39, 0x4e, 0x33, 0x9e, 0x73, 0x74, 0x51, 0x81, 0x70, + 0x0d, 0x84, 0x67, 0xc3, 0xde, 0x85, 0x90, 0x87, 0x5c, 0x62, 0x48, 0xf9, 0xa4, 0xe0, 0xbd, 0x4b, + 0x21, 0xe7, 0x61, 0xcc, 0x08, 0x4d, 0x23, 0x42, 0x93, 0x84, 0xe7, 0x6a, 0x48, 0x77, 0xb7, 0x74, + 0x57, 0x56, 0x5e, 0xf1, 0x98, 0xd0, 0x64, 0x5e, 0xb5, 0x7c, 0x5e, 0xee, 0xd9, 0x57, 0x8c, 0xaa, + 0xd0, 0xad, 0xeb, 0xaa, 0x22, 0x1e, 0x15, 0x4c, 0x69, 0x23, 0xb3, 0xa1, 0xc7, 0x72, 0x3a, 0x24, + 0x29, 0x0d, 0xa3, 0x44, 0xae, 0xd0, 0xd8, 0xab, 0x4d, 0x9e, 0xa6, 0x3c, 0x60, 0xb1, 0x66, 0xb4, + 0xdf, 0x03, 0xb8, 0xb5, 0x57, 0x12, 0xb9, 0xeb, 0x30, 0x97, 0x1d, 0x16, 0x4c, 0xe4, 0xa8, 0x0f, + 0xbb, 0xa2, 0xf0, 0x44, 0x4a, 0x7d, 0xb6, 0x1f, 0x05, 0x26, 0x18, 0x00, 0xa7, 0xed, 0xc2, 0xea, + 0xd5, 0x83, 0x00, 0x21, 0xd8, 0x2e, 0x04, 0xcb, 0xcc, 0xd6, 0x00, 0x38, 0x67, 0x5d, 0xf9, 0x8c, + 0x6c, 0x78, 0xce, 0xe7, 0x45, 0x92, 0xb3, 0x2c, 0xa5, 0x59, 0x3e, 0x37, 0x37, 0x64, 0xaf, 0xf6, + 0x0e, 0xdd, 0x83, 0xf0, 0x44, 0xb0, 0xd9, 0x1e, 0x00, 0xa7, 0x3b, 0xda, 0xc6, 0xda, 0x6b, 0xe9, + 0x0e, 0xab, 0xe4, 0xb5, 0x3b, 0xbc, 0x4b, 0x43, 0xa6, 0x45, 0xb9, 0x6b, 0x93, 0x77, 0xce, 0x3c, + 0x5f, 0xf4, 0x8d, 0xaf, 0x8b, 0xbe, 0x61, 0xbf, 0x01, 0xb0, 0xf7, 0x33, 0x23, 0x22, 0xe5, 0x89, + 0x60, 0x68, 0x0f, 0x6e, 0xd6, 0x82, 0x30, 0xc1, 0x60, 0xc3, 0xe9, 0x8e, 0xae, 0xe1, 0x86, 0x8f, + 0x8a, 0xd7, 0x69, 0x26, 0xed, 0xa3, 0x4f, 0x7d, 0xc3, 0xad, 0x33, 0xa0, 0xfb, 0x35, 0x0f, 0x2d, + 0xe9, 0x61, 0xe7, 0xb7, 0x1e, 0x94, 0x9e, 0x75, 0x13, 0xf6, 0x5b, 0x00, 0x91, 0x94, 0x3e, 0x89, + 0xb9, 0xff, 0xe4, 0xf4, 0xe1, 0x9b, 0xf0, 0x7f, 0xaf, 0x9c, 0xf8, 0x9e, 0x7f, 0x55, 0x9e, 0x74, + 0x02, 0x9d, 0x7e, 0x55, 0xfe, 0x83, 0xe0, 0x17, 0x00, 0x9e, 0xaf, 0xa9, 0xd7, 0x89, 0xdf, 0x85, + 0x1d, 0xb9, 0xb4, 0x8a, 0xda, 0x6e, 0x8c, 0xfa, 0xa1, 0x60, 0x99, 0x1c, 0xd6, 0x39, 0xeb, 0xb9, + 0xbf, 0x16, 0xf0, 0xe8, 0x5d, 0x0b, 0xfe, 0x27, 0x25, 0xa2, 0xd7, 0x00, 0x6e, 0xd6, 0x0e, 0x08, + 0x1a, 0x35, 0xca, 0x6a, 0xbc, 0x16, 0xbd, 0xf1, 0x1f, 0xcd, 0x28, 0x41, 0x36, 0x7e, 0xf6, 0xe1, + 0xcb, 0xab, 0x96, 0x83, 0xb6, 0x49, 0xd3, 0xc5, 0xac, 0x1f, 0xaf, 0x17, 0x00, 0x76, 0x54, 0xa4, + 0xe8, 0xc6, 0xaf, 0xf7, 0xd5, 0x8e, 0x4d, 0xef, 0xe6, 0xe9, 0xc0, 0x5a, 0xd5, 0x8e, 0x54, 0x75, + 0x19, 0xf5, 0x1b, 0x55, 0xa9, 0x8f, 0x31, 0xd9, 0x3d, 0x5a, 0x5a, 0xe0, 0x78, 0x69, 0x81, 0xcf, + 0x4b, 0x0b, 0xbc, 0x5c, 0x59, 0xc6, 0xf1, 0xca, 0x32, 0x3e, 0xae, 0x2c, 0xe3, 0xd1, 0xed, 0x30, + 0xca, 0x0f, 0x0a, 0x0f, 0xfb, 0x7c, 0xaa, 0x49, 0x6e, 0xc5, 0xd4, 0x13, 0x15, 0xe1, 0x6c, 0x4c, + 0x9e, 0xfe, 0xc0, 0x9a, 0xcf, 0x53, 0x26, 0xbc, 0x8e, 0xfc, 0x03, 0x8d, 0xbf, 0x05, 0x00, 0x00, + 0xff, 0xff, 0x59, 0x95, 0x1b, 0xe1, 0x7d, 0x05, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/subspaces/types/genesis.pb.go b/x/subspaces/types/genesis.pb.go index 9d4aeb2357..8d0ea0c7b9 100644 --- a/x/subspaces/types/genesis.pb.go +++ b/x/subspaces/types/genesis.pb.go @@ -287,37 +287,37 @@ func init() { proto.RegisterFile("desmos/subspaces/v1/genesis.proto", fileDescri var fileDescriptor_bce8af665337782b = []byte{ // 513 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x8b, 0xd3, 0x40, - 0x14, 0xc7, 0x3b, 0x9b, 0x6a, 0xdb, 0x17, 0xad, 0x76, 0xea, 0x42, 0x58, 0x30, 0xa9, 0x8b, 0x48, - 0x11, 0x4c, 0xd8, 0x7a, 0x93, 0x05, 0xd9, 0xec, 0x96, 0xb5, 0x50, 0x2f, 0x59, 0xbc, 0x78, 0xa9, - 0x49, 0x33, 0xc4, 0x81, 0xa6, 0x09, 0x99, 0xa4, 0xb8, 0xf8, 0x4f, 0xec, 0xc1, 0x83, 0x78, 0xda, - 0x3f, 0x67, 0x8f, 0x7b, 0xf4, 0x14, 0x24, 0xbd, 0xf8, 0x67, 0x48, 0x26, 0x99, 0x36, 0xd4, 0x28, - 0xec, 0x6d, 0xe6, 0xfd, 0xf8, 0xbc, 0xef, 0xbc, 0xf7, 0x06, 0x9e, 0xb9, 0x84, 0xf9, 0x01, 0x33, - 0x58, 0xe2, 0xb0, 0xd0, 0x9e, 0x13, 0x66, 0xac, 0x8e, 0x0c, 0x8f, 0x2c, 0x09, 0xa3, 0x4c, 0x0f, - 0xa3, 0x20, 0x0e, 0x70, 0xbf, 0x08, 0xd1, 0x37, 0x21, 0xfa, 0xea, 0xe8, 0xe0, 0x89, 0x17, 0x78, - 0x01, 0xf7, 0x1b, 0xf9, 0xa9, 0x08, 0x3d, 0x18, 0xd4, 0xd1, 0xfc, 0xc0, 0x25, 0x8b, 0x12, 0x76, - 0x78, 0x25, 0xc1, 0x83, 0xf3, 0x02, 0x7f, 0x11, 0xdb, 0x31, 0xc1, 0x63, 0xe8, 0xd3, 0x25, 0x8d, - 0xa9, 0xbd, 0x98, 0x89, 0xac, 0x19, 0x75, 0x15, 0x34, 0x40, 0xc3, 0xa6, 0xb9, 0x9f, 0xa5, 0x5a, - 0x6f, 0x52, 0xb8, 0x2f, 0x4a, 0xef, 0xe4, 0xcc, 0xea, 0xd1, 0x1d, 0x93, 0x8b, 0xdf, 0x41, 0x67, - 0x53, 0x54, 0xd9, 0x1b, 0x48, 0x43, 0x79, 0xf4, 0x5c, 0xaf, 0x11, 0xae, 0x8b, 0xe2, 0xa5, 0xcd, - 0x6c, 0xde, 0xa4, 0x5a, 0xc3, 0xda, 0x26, 0xe3, 0x63, 0x90, 0xec, 0xf9, 0x42, 0x91, 0x38, 0xe3, - 0x69, 0x2d, 0xe3, 0xe4, 0x74, 0x3a, 0x5e, 0xc6, 0xd1, 0xa5, 0x29, 0xe7, 0xc9, 0x59, 0xaa, 0x49, - 0x27, 0xa7, 0x53, 0x2b, 0x4f, 0xc3, 0x63, 0x90, 0x13, 0x46, 0xa2, 0x99, 0x17, 0x05, 0x49, 0xc8, - 0x94, 0x26, 0xa7, 0xa8, 0xb5, 0x94, 0x0f, 0x8c, 0x44, 0xe7, 0x79, 0x58, 0xa9, 0x01, 0x12, 0x61, - 0x60, 0xf8, 0x13, 0xf4, 0x2b, 0x98, 0x99, 0x4f, 0x7c, 0x87, 0x44, 0x4c, 0xb9, 0xc7, 0x71, 0x2f, - 0xff, 0x8f, 0x7b, 0x5f, 0x04, 0x17, 0x0a, 0x0b, 0x74, 0x6f, 0x8b, 0x2e, 0xbd, 0x6f, 0xda, 0xdf, - 0xaf, 0x35, 0xf4, 0xfb, 0x5a, 0x43, 0x87, 0x3f, 0x10, 0x3c, 0xda, 0xe9, 0x0a, 0x7e, 0x0b, 0x6d, - 0x01, 0xe7, 0xa3, 0xf8, 0x57, 0x27, 0x76, 0xda, 0xb8, 0x49, 0xc2, 0xc7, 0xf0, 0x58, 0x8c, 0x95, - 0xbf, 0x21, 0x9f, 0xe9, 0xde, 0x00, 0x0d, 0x1f, 0x9a, 0x38, 0x4b, 0xb5, 0x6e, 0x39, 0x53, 0x2e, - 0x69, 0x72, 0x66, 0x75, 0x69, 0xf5, 0xee, 0x56, 0xc4, 0x7d, 0x85, 0xb6, 0xe8, 0x36, 0x36, 0x40, - 0xfe, 0x7b, 0x45, 0xba, 0x59, 0xaa, 0x41, 0x65, 0x37, 0x80, 0x6d, 0x97, 0x02, 0x43, 0x33, 0x7f, - 0x38, 0x2f, 0xdc, 0xb1, 0xf8, 0x19, 0x0f, 0x40, 0x0e, 0x49, 0xe4, 0x53, 0xc6, 0x68, 0xb0, 0x64, - 0x8a, 0x94, 0x6b, 0xb2, 0xaa, 0xa6, 0x4a, 0xf1, 0x6f, 0x08, 0xf6, 0x6b, 0xdb, 0x7a, 0x77, 0x29, - 0x2f, 0xa0, 0xbd, 0xd3, 0x07, 0x39, 0x4b, 0xb5, 0x96, 0x68, 0x40, 0xcb, 0x2b, 0x5e, 0x8e, 0x15, - 0x68, 0x89, 0x61, 0xe7, 0x1b, 0xd8, 0xb1, 0xc4, 0x75, 0x2b, 0xcb, 0x9c, 0xde, 0x64, 0x2a, 0xba, - 0xcd, 0x54, 0xf4, 0x2b, 0x53, 0xd1, 0xd5, 0x5a, 0x6d, 0xdc, 0xae, 0xd5, 0xc6, 0xcf, 0xb5, 0xda, - 0xf8, 0x38, 0xf2, 0x68, 0xfc, 0x39, 0x71, 0xf4, 0x79, 0xe0, 0x1b, 0xc5, 0xb8, 0x5e, 0x2d, 0x6c, - 0x87, 0x95, 0x67, 0x63, 0x35, 0x32, 0xbe, 0x54, 0xfe, 0x66, 0x7c, 0x19, 0x12, 0xe6, 0xdc, 0xe7, - 0x1f, 0xf3, 0xf5, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0xfd, 0x5d, 0x3a, 0x0a, 0x04, 0x00, + 0x14, 0xc7, 0x3b, 0x9b, 0xea, 0xb6, 0x2f, 0x5a, 0xed, 0xd4, 0x85, 0xb0, 0x60, 0x12, 0x17, 0x91, + 0x22, 0x98, 0xb0, 0xbb, 0x37, 0x59, 0x90, 0xcd, 0x6e, 0x59, 0x0b, 0xf5, 0x92, 0xc5, 0x8b, 0x97, + 0x9a, 0x34, 0x43, 0x1c, 0x68, 0x9a, 0x90, 0x49, 0x8a, 0x8b, 0xff, 0xc4, 0x1e, 0x3c, 0x88, 0xa7, + 0xfd, 0x73, 0xf6, 0xb8, 0x47, 0x4f, 0x41, 0xd2, 0x8b, 0x7f, 0x86, 0x64, 0x92, 0x69, 0x43, 0x8d, + 0x82, 0xb7, 0x99, 0xf7, 0xe3, 0xf3, 0xbe, 0xf3, 0xde, 0x1b, 0x78, 0xe6, 0x11, 0x16, 0x84, 0xcc, + 0x64, 0xa9, 0xcb, 0x22, 0x67, 0x46, 0x98, 0xb9, 0x3c, 0x34, 0x7d, 0xb2, 0x20, 0x8c, 0x32, 0x23, + 0x8a, 0xc3, 0x24, 0xc4, 0x83, 0x32, 0xc4, 0x58, 0x87, 0x18, 0xcb, 0xc3, 0xfd, 0x27, 0x7e, 0xe8, + 0x87, 0xdc, 0x6f, 0x16, 0xa7, 0x32, 0x74, 0x5f, 0x6f, 0xa2, 0x05, 0xa1, 0x47, 0xe6, 0x15, 0xec, + 0xe0, 0x5a, 0x82, 0x07, 0x17, 0x25, 0xfe, 0x32, 0x71, 0x12, 0x82, 0x47, 0x30, 0xa0, 0x0b, 0x9a, + 0x50, 0x67, 0x3e, 0x15, 0x59, 0x53, 0xea, 0x29, 0x48, 0x47, 0xc3, 0xb6, 0xb5, 0x97, 0x67, 0x5a, + 0x7f, 0x5c, 0xba, 0x2f, 0x2b, 0xef, 0xf8, 0xdc, 0xee, 0xd3, 0x2d, 0x93, 0x87, 0xdf, 0x42, 0x77, + 0x5d, 0x54, 0xd9, 0xd1, 0xa5, 0xa1, 0x7c, 0xf4, 0xdc, 0x68, 0x10, 0x6e, 0x88, 0xe2, 0x95, 0xcd, + 0x6a, 0xdf, 0x66, 0x5a, 0xcb, 0xde, 0x24, 0xe3, 0x13, 0x90, 0x9c, 0xd9, 0x5c, 0x91, 0x38, 0xe3, + 0x69, 0x23, 0xe3, 0xf4, 0x6c, 0x32, 0x5a, 0x24, 0xf1, 0x95, 0x25, 0x17, 0xc9, 0x79, 0xa6, 0x49, + 0xa7, 0x67, 0x13, 0xbb, 0x48, 0xc3, 0x23, 0x90, 0x53, 0x46, 0xe2, 0xa9, 0x1f, 0x87, 0x69, 0xc4, + 0x94, 0x36, 0xa7, 0xa8, 0x8d, 0x94, 0xf7, 0x8c, 0xc4, 0x17, 0x45, 0x58, 0xa5, 0x01, 0x52, 0x61, + 0x60, 0xf8, 0x23, 0x0c, 0x6a, 0x98, 0x69, 0x40, 0x02, 0x97, 0xc4, 0x4c, 0xb9, 0xc7, 0x71, 0x2f, + 0xff, 0x8d, 0x7b, 0x57, 0x06, 0x97, 0x0a, 0x4b, 0x74, 0x7f, 0x83, 0xae, 0xbc, 0xaf, 0x3b, 0xdf, + 0x6e, 0x34, 0xf4, 0xeb, 0x46, 0x43, 0x07, 0xdf, 0x11, 0x3c, 0xda, 0xea, 0x0a, 0x7e, 0x03, 0x1d, + 0x01, 0xe7, 0xa3, 0xf8, 0x5b, 0x27, 0xb6, 0xda, 0xb8, 0x4e, 0xc2, 0x27, 0xf0, 0x58, 0x8c, 0x95, + 0xbf, 0xa1, 0x98, 0xe9, 0x8e, 0x8e, 0x86, 0x0f, 0x2d, 0x9c, 0x67, 0x5a, 0xaf, 0x9a, 0x29, 0x97, + 0x34, 0x3e, 0xb7, 0x7b, 0xb4, 0x7e, 0xf7, 0x6a, 0xe2, 0xbe, 0x40, 0x47, 0x74, 0x1b, 0x9b, 0x20, + 0xff, 0xb9, 0x22, 0xbd, 0x3c, 0xd3, 0xa0, 0xb6, 0x1b, 0xc0, 0x36, 0x4b, 0x81, 0xa1, 0x5d, 0x3c, + 0x9c, 0x17, 0xee, 0xda, 0xfc, 0x8c, 0x75, 0x90, 0x23, 0x12, 0x07, 0x94, 0x31, 0x1a, 0x2e, 0x98, + 0x22, 0x15, 0x9a, 0xec, 0xba, 0xa9, 0x56, 0xfc, 0x2b, 0x82, 0xbd, 0xc6, 0xb6, 0xfe, 0xbf, 0x94, + 0x17, 0xd0, 0xd9, 0xea, 0x83, 0x9c, 0x67, 0xda, 0xae, 0x68, 0xc0, 0xae, 0x5f, 0xbe, 0x1c, 0x2b, + 0xb0, 0x2b, 0x86, 0x5d, 0x6c, 0x60, 0xd7, 0x16, 0xd7, 0x8d, 0x2c, 0x6b, 0x72, 0x9b, 0xab, 0xe8, + 0x2e, 0x57, 0xd1, 0xcf, 0x5c, 0x45, 0xd7, 0x2b, 0xb5, 0x75, 0xb7, 0x52, 0x5b, 0x3f, 0x56, 0x6a, + 0xeb, 0xc3, 0x91, 0x4f, 0x93, 0x4f, 0xa9, 0x6b, 0xcc, 0xc2, 0xc0, 0x2c, 0xc7, 0xf5, 0x6a, 0xee, + 0xb8, 0xac, 0x3a, 0x9b, 0xcb, 0x63, 0xf3, 0x73, 0xed, 0x6f, 0x26, 0x57, 0x11, 0x61, 0xee, 0x7d, + 0xfe, 0x31, 0x8f, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x60, 0xe6, 0xd1, 0x54, 0x0a, 0x04, 0x00, 0x00, } diff --git a/x/subspaces/types/models.pb.go b/x/subspaces/types/models.pb.go index b416cb8cee..c5a643e17a 100644 --- a/x/subspaces/types/models.pb.go +++ b/x/subspaces/types/models.pb.go @@ -393,47 +393,47 @@ func init() { func init() { proto.RegisterFile("desmos/subspaces/v1/models.proto", fileDescriptor_58f218b6c9069791) } var fileDescriptor_58f218b6c9069791 = []byte{ - // 635 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x4f, 0x6f, 0xd3, 0x30, - 0x00, 0xc5, 0x93, 0xfe, 0xd9, 0x3a, 0x67, 0x65, 0xc3, 0x1b, 0x28, 0x2a, 0x52, 0x5c, 0x79, 0x08, - 0x4d, 0xfc, 0x49, 0xb4, 0x22, 0xd0, 0xb4, 0x13, 0x2a, 0x43, 0x6c, 0x12, 0x07, 0x14, 0xe0, 0xc2, - 0x65, 0x4a, 0x1b, 0x53, 0x2c, 0x35, 0x75, 0x64, 0x27, 0x83, 0x5d, 0xe1, 0xc2, 0x71, 0x47, 0xc4, - 0x69, 0x1f, 0x67, 0xc7, 0x1d, 0x39, 0x19, 0xd4, 0x5e, 0x38, 0xe7, 0x13, 0xa0, 0xd8, 0x49, 0x17, - 0xc6, 0x24, 0xc6, 0xcd, 0xf1, 0xfb, 0x3d, 0xdb, 0x7d, 0xcf, 0x2e, 0xe8, 0x86, 0x44, 0x44, 0x4c, - 0x78, 0x22, 0x1d, 0x88, 0x38, 0x18, 0x12, 0xe1, 0x1d, 0x6e, 0x79, 0x11, 0x0b, 0xc9, 0x58, 0xb8, - 0x31, 0x67, 0x09, 0x83, 0x6b, 0x9a, 0x70, 0xe7, 0x84, 0x7b, 0xb8, 0xd5, 0x59, 0x1f, 0xb1, 0x11, - 0x53, 0xba, 0x97, 0x8f, 0x34, 0xda, 0x41, 0x23, 0xc6, 0x46, 0x63, 0xe2, 0xa9, 0xaf, 0x41, 0xfa, - 0xce, 0x4b, 0x68, 0x44, 0x44, 0x12, 0x44, 0xb1, 0x06, 0xf0, 0xa7, 0x3a, 0x68, 0xbd, 0x2a, 0xd6, - 0x81, 0x1b, 0xa0, 0x46, 0x43, 0xdb, 0xec, 0x9a, 0x9b, 0x8d, 0xfe, 0xda, 0x54, 0xa2, 0xda, 0xfe, - 0x6e, 0x26, 0xd1, 0xd2, 0x51, 0x10, 0x8d, 0x77, 0x30, 0x0d, 0xb1, 0x5f, 0xa3, 0x21, 0xdc, 0x00, - 0x8d, 0x49, 0x10, 0x11, 0xbb, 0xd6, 0x35, 0x37, 0x97, 0xfa, 0x2b, 0x99, 0x44, 0x96, 0x06, 0xf2, - 0x59, 0xec, 0x2b, 0x11, 0x6e, 0x03, 0x2b, 0x24, 0x62, 0xc8, 0x69, 0x9c, 0x50, 0x36, 0xb1, 0xeb, - 0x8a, 0xbd, 0x99, 0x49, 0x04, 0x35, 0x5b, 0x11, 0xb1, 0x5f, 0x45, 0xa1, 0x07, 0x5a, 0x09, 0x27, - 0x81, 0x48, 0xf9, 0x91, 0xdd, 0x50, 0xb6, 0xb5, 0x4c, 0xa2, 0x15, 0x6d, 0x2b, 0x15, 0xec, 0xcf, - 0x21, 0x78, 0x07, 0x34, 0xd9, 0x87, 0x09, 0xe1, 0x76, 0x53, 0xd1, 0xab, 0x99, 0x44, 0xcb, 0x9a, - 0x56, 0xd3, 0xd8, 0xd7, 0x32, 0xbc, 0x0f, 0x16, 0x87, 0x9c, 0x04, 0x09, 0xe3, 0xf6, 0x82, 0x22, - 0x61, 0x26, 0xd1, 0x35, 0x4d, 0x16, 0x02, 0xf6, 0x4b, 0x04, 0x06, 0xa0, 0xad, 0x86, 0x94, 0x4d, - 0x0e, 0xf2, 0xcc, 0xec, 0xc5, 0xae, 0xb9, 0x69, 0xf5, 0x3a, 0xae, 0x0e, 0xd4, 0x2d, 0x03, 0x75, - 0x5f, 0x97, 0x81, 0xf6, 0xbb, 0xa7, 0x12, 0x19, 0x99, 0x44, 0xeb, 0x95, 0x35, 0x4b, 0x3b, 0x3e, - 0xfe, 0x81, 0x4c, 0x7f, 0xb9, 0x9c, 0xcb, 0x4d, 0x3b, 0xad, 0xaf, 0x27, 0xc8, 0xfc, 0x75, 0x82, - 0x4c, 0xfc, 0xad, 0x06, 0x96, 0xde, 0x08, 0xc2, 0x9f, 0x73, 0x96, 0xc6, 0xf0, 0x19, 0xb0, 0xca, - 0x66, 0x0f, 0xe6, 0x75, 0xdc, 0x9e, 0x4a, 0x04, 0xca, 0xa2, 0x54, 0x2d, 0x45, 0x92, 0x15, 0x14, - 0xfb, 0xa0, 0xfc, 0xda, 0x0f, 0x8b, 0x32, 0xf3, 0x96, 0xda, 0xff, 0x2e, 0xb3, 0xfe, 0x1f, 0x65, - 0x36, 0xae, 0x5e, 0xe6, 0x36, 0xb0, 0x62, 0xc2, 0x23, 0x2a, 0x04, 0x65, 0x13, 0xa1, 0x1a, 0x6a, - 0x57, 0x9d, 0x15, 0x11, 0xfb, 0x55, 0xb4, 0x12, 0xce, 0xe7, 0x3a, 0x58, 0x7d, 0x39, 0x57, 0x76, - 0x49, 0x12, 0xd0, 0x31, 0x7c, 0x02, 0x1a, 0xa9, 0x20, 0x5c, 0x85, 0x63, 0xf5, 0xee, 0xba, 0x97, - 0xbc, 0x08, 0xf7, 0xa2, 0xc9, 0xcd, 0x23, 0xde, 0x33, 0x7c, 0xe5, 0x84, 0x4f, 0x41, 0x73, 0x94, - 0xc7, 0xad, 0x12, 0xb2, 0x7a, 0xf7, 0xae, 0xb6, 0x84, 0x6a, 0x68, 0xcf, 0xf0, 0xb5, 0xb7, 0x33, - 0x06, 0x8d, 0x7c, 0xd1, 0x3c, 0xc6, 0xf9, 0x71, 0xfe, 0x88, 0x31, 0x9f, 0xc5, 0xc5, 0x8e, 0x8f, - 0x00, 0x38, 0xff, 0x85, 0x45, 0x31, 0x37, 0x32, 0x89, 0xae, 0x5f, 0xcc, 0x02, 0xfb, 0x15, 0x70, - 0xa7, 0xf5, 0xe5, 0x04, 0x19, 0x79, 0x12, 0x1d, 0x0a, 0x9a, 0xfa, 0x86, 0x3c, 0x06, 0x2d, 0xb5, - 0x7f, 0x79, 0x3d, 0xda, 0xfd, 0x5b, 0x53, 0x89, 0x16, 0x95, 0xa8, 0x5a, 0x2e, 0x1e, 0x00, 0xe1, - 0x5c, 0x5d, 0x6a, 0x05, 0xef, 0x87, 0xd0, 0xf9, 0xfb, 0x04, 0x97, 0x6f, 0x75, 0x3e, 0xea, 0x37, - 0x41, 0x5d, 0xa4, 0x51, 0xff, 0xc5, 0xe9, 0xd4, 0x31, 0xcf, 0xa6, 0x8e, 0xf9, 0x73, 0xea, 0x98, - 0xc7, 0x33, 0xc7, 0x38, 0x9b, 0x39, 0xc6, 0xf7, 0x99, 0x63, 0xbc, 0xed, 0x8d, 0x68, 0xf2, 0x3e, - 0x1d, 0xb8, 0x43, 0x16, 0x79, 0x3a, 0xc3, 0x07, 0xe3, 0x60, 0x20, 0x8a, 0xb1, 0x77, 0xd8, 0xf3, - 0x3e, 0x56, 0xfe, 0xcb, 0x92, 0xa3, 0x98, 0x88, 0xc1, 0x82, 0x7a, 0x3e, 0x0f, 0x7f, 0x07, 0x00, - 0x00, 0xff, 0xff, 0x0c, 0x90, 0x85, 0x9f, 0xec, 0x04, 0x00, 0x00, + // 637 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xcf, 0x6f, 0xd3, 0x3e, + 0x00, 0xc5, 0x93, 0xfe, 0xd8, 0x3a, 0x67, 0xfd, 0x6e, 0x5f, 0x6f, 0xa0, 0xa8, 0x48, 0x71, 0xe5, + 0x21, 0x34, 0xf1, 0x23, 0xd1, 0x3a, 0x81, 0xa6, 0x9d, 0x50, 0x19, 0x62, 0x93, 0x38, 0xa0, 0x00, + 0x17, 0x2e, 0x53, 0xda, 0x98, 0x62, 0xa9, 0xa9, 0x23, 0x3b, 0x19, 0xec, 0x0a, 0x17, 0x8e, 0x3b, + 0x22, 0x4e, 0xfb, 0x73, 0x76, 0xdc, 0x91, 0x93, 0x41, 0xed, 0x85, 0x73, 0xfe, 0x02, 0x14, 0x3b, + 0xe9, 0xc2, 0x98, 0xc4, 0xb8, 0x39, 0x7e, 0x9f, 0x67, 0xbb, 0xef, 0xd9, 0x05, 0xdd, 0x90, 0x88, + 0x88, 0x09, 0x4f, 0xa4, 0x03, 0x11, 0x07, 0x43, 0x22, 0xbc, 0xa3, 0x2d, 0x2f, 0x62, 0x21, 0x19, + 0x0b, 0x37, 0xe6, 0x2c, 0x61, 0x70, 0x4d, 0x13, 0xee, 0x9c, 0x70, 0x8f, 0xb6, 0x3a, 0xeb, 0x23, + 0x36, 0x62, 0x4a, 0xf7, 0xf2, 0x91, 0x46, 0x3b, 0x68, 0xc4, 0xd8, 0x68, 0x4c, 0x3c, 0xf5, 0x35, + 0x48, 0xdf, 0x7a, 0x09, 0x8d, 0x88, 0x48, 0x82, 0x28, 0xd6, 0x00, 0xfe, 0x58, 0x07, 0xad, 0x97, + 0xc5, 0x3a, 0x70, 0x03, 0xd4, 0x68, 0x68, 0x9b, 0x5d, 0x73, 0xb3, 0xd1, 0x5f, 0x9b, 0x4a, 0x54, + 0x3b, 0xd8, 0xcb, 0x24, 0x5a, 0x3a, 0x0e, 0xa2, 0xf1, 0x2e, 0xa6, 0x21, 0xf6, 0x6b, 0x34, 0x84, + 0x1b, 0xa0, 0x31, 0x09, 0x22, 0x62, 0xd7, 0xba, 0xe6, 0xe6, 0x52, 0x7f, 0x25, 0x93, 0xc8, 0xd2, + 0x40, 0x3e, 0x8b, 0x7d, 0x25, 0xc2, 0x1d, 0x60, 0x85, 0x44, 0x0c, 0x39, 0x8d, 0x13, 0xca, 0x26, + 0x76, 0x5d, 0xb1, 0x37, 0x33, 0x89, 0xa0, 0x66, 0x2b, 0x22, 0xf6, 0xab, 0x28, 0xf4, 0x40, 0x2b, + 0xe1, 0x24, 0x10, 0x29, 0x3f, 0xb6, 0x1b, 0xca, 0xb6, 0x96, 0x49, 0xb4, 0xa2, 0x6d, 0xa5, 0x82, + 0xfd, 0x39, 0x04, 0xef, 0x80, 0x26, 0x7b, 0x3f, 0x21, 0xdc, 0x6e, 0x2a, 0x7a, 0x35, 0x93, 0x68, + 0x59, 0xd3, 0x6a, 0x1a, 0xfb, 0x5a, 0x86, 0xf7, 0xc1, 0xe2, 0x90, 0x93, 0x20, 0x61, 0xdc, 0x5e, + 0x50, 0x24, 0xcc, 0x24, 0xfa, 0x4f, 0x93, 0x85, 0x80, 0xfd, 0x12, 0x81, 0x01, 0x68, 0xab, 0x21, + 0x65, 0x93, 0xc3, 0x3c, 0x33, 0x7b, 0xb1, 0x6b, 0x6e, 0x5a, 0xbd, 0x8e, 0xab, 0x03, 0x75, 0xcb, + 0x40, 0xdd, 0x57, 0x65, 0xa0, 0xfd, 0xee, 0x99, 0x44, 0x46, 0x26, 0xd1, 0x7a, 0x65, 0xcd, 0xd2, + 0x8e, 0x4f, 0xbe, 0x23, 0xd3, 0x5f, 0x2e, 0xe7, 0x72, 0xd3, 0x6e, 0xeb, 0xcb, 0x29, 0x32, 0x7f, + 0x9e, 0x22, 0x13, 0x7f, 0xad, 0x81, 0xa5, 0xd7, 0x82, 0xf0, 0x67, 0x9c, 0xa5, 0x31, 0x7c, 0x0a, + 0xac, 0xb2, 0xd9, 0xc3, 0x79, 0x1d, 0xb7, 0xa7, 0x12, 0x81, 0xb2, 0x28, 0x55, 0x4b, 0x91, 0x64, + 0x05, 0xc5, 0x3e, 0x28, 0xbf, 0x0e, 0xc2, 0xa2, 0xcc, 0xbc, 0xa5, 0xf6, 0xdf, 0xcb, 0xac, 0xff, + 0x43, 0x99, 0x8d, 0xeb, 0x97, 0xb9, 0x03, 0xac, 0x98, 0xf0, 0x88, 0x0a, 0x41, 0xd9, 0x44, 0xa8, + 0x86, 0xda, 0x55, 0x67, 0x45, 0xc4, 0x7e, 0x15, 0xad, 0x84, 0xf3, 0xa9, 0x0e, 0x56, 0x5f, 0xcc, + 0x95, 0x3d, 0x92, 0x04, 0x74, 0x0c, 0x1f, 0x83, 0x46, 0x2a, 0x08, 0x57, 0xe1, 0x58, 0xbd, 0xbb, + 0xee, 0x15, 0x2f, 0xc2, 0xbd, 0x6c, 0x72, 0xf3, 0x88, 0xf7, 0x0d, 0x5f, 0x39, 0xe1, 0x13, 0xd0, + 0x1c, 0xe5, 0x71, 0xab, 0x84, 0xac, 0xde, 0xbd, 0xeb, 0x2d, 0xa1, 0x1a, 0xda, 0x37, 0x7c, 0xed, + 0xed, 0x8c, 0x41, 0x23, 0x5f, 0x34, 0x8f, 0x71, 0x7e, 0x9c, 0xdf, 0x62, 0xcc, 0x67, 0x71, 0xb1, + 0xe3, 0x43, 0x00, 0x2e, 0x7e, 0x61, 0x51, 0xcc, 0x8d, 0x4c, 0xa2, 0xff, 0x2f, 0x67, 0x81, 0xfd, + 0x0a, 0xb8, 0xdb, 0xfa, 0x7c, 0x8a, 0x8c, 0x3c, 0x89, 0x0e, 0x05, 0x4d, 0x7d, 0x43, 0x1e, 0x81, + 0x96, 0xda, 0xbf, 0xbc, 0x1e, 0xed, 0xfe, 0xad, 0xa9, 0x44, 0x8b, 0x4a, 0x54, 0x2d, 0x17, 0x0f, + 0x80, 0x70, 0xae, 0x2e, 0xb5, 0x82, 0x0f, 0x42, 0xe8, 0xfc, 0x79, 0x82, 0xab, 0xb7, 0xba, 0x18, + 0xf5, 0x9b, 0xa0, 0x2e, 0xd2, 0xa8, 0xff, 0xfc, 0x6c, 0xea, 0x98, 0xe7, 0x53, 0xc7, 0xfc, 0x31, + 0x75, 0xcc, 0x93, 0x99, 0x63, 0x9c, 0xcf, 0x1c, 0xe3, 0xdb, 0xcc, 0x31, 0xde, 0xf4, 0x46, 0x34, + 0x79, 0x97, 0x0e, 0xdc, 0x21, 0x8b, 0x3c, 0x9d, 0xe1, 0x83, 0x71, 0x30, 0x10, 0xc5, 0xd8, 0x3b, + 0xda, 0xf6, 0x3e, 0x54, 0xfe, 0xcb, 0x92, 0xe3, 0x98, 0x88, 0xc1, 0x82, 0x7a, 0x3e, 0xdb, 0xbf, + 0x02, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x8b, 0x09, 0xf1, 0xec, 0x04, 0x00, 0x00, } func (this *Subspace) Equal(that interface{}) bool { diff --git a/x/subspaces/types/msgs.pb.go b/x/subspaces/types/msgs.pb.go index 80d4b2c816..2bbd9be6bc 100644 --- a/x/subspaces/types/msgs.pb.go +++ b/x/subspaces/types/msgs.pb.go @@ -1070,62 +1070,62 @@ var fileDescriptor_c16a431ff9a3b35b = []byte{ // 920 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4b, 0x6f, 0xe3, 0x44, 0x1c, 0x8f, 0x9d, 0xa4, 0x0d, 0xff, 0x6c, 0x9a, 0x5d, 0x17, 0xd8, 0xac, 0x01, 0x7b, 0x35, 0x94, - 0x5d, 0x58, 0xed, 0xc6, 0xda, 0x70, 0x60, 0xd9, 0x1b, 0x61, 0x0b, 0xaa, 0x44, 0x04, 0x72, 0x41, - 0x48, 0x5c, 0xaa, 0x24, 0x1e, 0x5c, 0x8b, 0x38, 0x13, 0x79, 0x9c, 0x40, 0xcf, 0xbd, 0x70, 0x83, - 0x4f, 0x80, 0xfa, 0x35, 0x38, 0x72, 0x40, 0xe2, 0xd8, 0x23, 0x27, 0x0b, 0xa5, 0x97, 0x72, 0xe1, - 0x90, 0x03, 0x67, 0xe4, 0xb1, 0x3d, 0x99, 0x3c, 0x9c, 0x38, 0xa8, 0x40, 0xd9, 0x9b, 0x33, 0xff, + 0x5d, 0x58, 0xed, 0xc6, 0xda, 0xec, 0x81, 0x65, 0x6f, 0x84, 0x2d, 0xa8, 0x12, 0x11, 0xc8, 0x05, + 0x21, 0x71, 0xa9, 0x92, 0x78, 0x70, 0x2d, 0xe2, 0x4c, 0xe4, 0x71, 0x02, 0x3d, 0xf7, 0xc2, 0x0d, + 0x3e, 0x01, 0xea, 0xd7, 0xe0, 0xc8, 0x01, 0x89, 0x63, 0x8f, 0x9c, 0x2c, 0x94, 0x5e, 0xca, 0x85, + 0x43, 0x0e, 0x9c, 0x91, 0xc7, 0xf6, 0x64, 0xf2, 0x70, 0xe2, 0xa0, 0x02, 0x85, 0x9b, 0x33, 0xff, 0xdf, 0x3c, 0x7e, 0x8f, 0x79, 0x28, 0xa0, 0x59, 0x98, 0xba, 0x84, 0x1a, 0x74, 0xd8, 0xa1, 0x83, 0x76, 0x17, 0x53, 0x63, 0xf4, 0xd8, 0x70, 0xa9, 0x4d, 0xeb, 0x03, 0x8f, 0xf8, 0x44, 0xd9, 0x8d, 0xea, 0x75, 0x5e, 0xaf, 0x8f, 0x1e, 0xab, 0x2f, 0xda, 0xc4, 0x26, 0xac, 0x6e, 0x84, 0x5f, 0x11, 0x54, 0xbd, 0xbb, 0x74, 0x28, 0x62, 0xe1, 0x5e, 0x3c, 0x18, 0x3a, 0x95, 0xe1, 0x56, 0x8b, 0xda, - 0xef, 0x7b, 0xb8, 0xed, 0xe3, 0xc3, 0x18, 0xa6, 0xbc, 0x0e, 0x85, 0x7e, 0xdb, 0xc5, 0x35, 0xe9, - 0xae, 0xf4, 0xe6, 0x0b, 0xcd, 0xea, 0x24, 0xd0, 0xcb, 0x27, 0x6d, 0xb7, 0xf7, 0x14, 0x85, 0xad, - 0xc8, 0x64, 0x45, 0xe5, 0x09, 0x94, 0x2d, 0x4c, 0xbb, 0x9e, 0x33, 0xf0, 0x1d, 0xd2, 0xaf, 0xc9, + 0xef, 0x79, 0xb8, 0xed, 0xe3, 0xc3, 0x18, 0xa6, 0xbc, 0x0e, 0x85, 0x7e, 0xdb, 0xc5, 0x35, 0xe9, + 0xae, 0xf4, 0xe6, 0x0b, 0xcd, 0xea, 0x24, 0xd0, 0xcb, 0x27, 0x6d, 0xb7, 0xf7, 0x0c, 0x85, 0xad, + 0xc8, 0x64, 0x45, 0xe5, 0x29, 0x94, 0x2d, 0x4c, 0xbb, 0x9e, 0x33, 0xf0, 0x1d, 0xd2, 0xaf, 0xc9, 0x0c, 0xfb, 0xf2, 0x24, 0xd0, 0x95, 0x08, 0x2b, 0x14, 0x91, 0x29, 0x42, 0x15, 0x03, 0x4a, 0xbe, 0x87, 0xdb, 0x74, 0xe8, 0x9d, 0xd4, 0xf2, 0xac, 0xdb, 0xee, 0x24, 0xd0, 0xab, 0x51, 0xb7, 0xa4, - 0x82, 0x4c, 0x0e, 0x52, 0xee, 0x41, 0x91, 0x7c, 0xdd, 0xc7, 0x5e, 0xad, 0xc0, 0xd0, 0x37, 0x27, + 0x82, 0x4c, 0x0e, 0x52, 0xee, 0x41, 0x91, 0x7c, 0xd5, 0xc7, 0x5e, 0xad, 0xc0, 0xd0, 0x37, 0x27, 0x81, 0x7e, 0x23, 0x42, 0xb3, 0x66, 0x64, 0x46, 0x65, 0xe5, 0x21, 0x6c, 0x77, 0x43, 0x26, 0xc4, - 0xab, 0x15, 0x19, 0x52, 0x99, 0x04, 0xfa, 0x4e, 0x84, 0x8c, 0x0b, 0xc8, 0x4c, 0x20, 0x4f, 0x4b, - 0xdf, 0x9e, 0xe9, 0xb9, 0xcb, 0x33, 0x3d, 0x87, 0x3a, 0x70, 0x67, 0x41, 0x04, 0x13, 0xd3, 0x01, + 0xab, 0x15, 0x19, 0x52, 0x99, 0x04, 0xfa, 0x4e, 0x84, 0x8c, 0x0b, 0xc8, 0x4c, 0x20, 0xcf, 0x4a, + 0xdf, 0x9c, 0xe9, 0xb9, 0xcb, 0x33, 0x3d, 0x87, 0x3a, 0x70, 0x67, 0x41, 0x04, 0x13, 0xd3, 0x01, 0xe9, 0x53, 0xac, 0xec, 0x43, 0x39, 0xd1, 0xef, 0xc8, 0xb1, 0x98, 0x26, 0x85, 0xe6, 0xde, 0x38, - 0xd0, 0x21, 0x81, 0x1e, 0x3c, 0x9b, 0xb2, 0x16, 0xa0, 0xc8, 0x84, 0xe4, 0xd7, 0x81, 0x85, 0x7e, - 0x96, 0xa1, 0xda, 0xa2, 0xf6, 0xbe, 0xe5, 0xf8, 0x5c, 0xe7, 0xab, 0x19, 0x9a, 0xdb, 0x25, 0x6f, - 0x60, 0x57, 0xfe, 0xef, 0xd9, 0x55, 0xd8, 0xc8, 0xae, 0xe2, 0x6a, 0xbb, 0xde, 0x82, 0x2d, 0xea, + 0xd0, 0x21, 0x81, 0x1e, 0x3c, 0x9f, 0xb2, 0x16, 0xa0, 0xc8, 0x84, 0xe4, 0xd7, 0x81, 0x85, 0x7e, + 0x92, 0xa1, 0xda, 0xa2, 0xf6, 0xbe, 0xe5, 0xf8, 0x5c, 0xe7, 0xab, 0x19, 0x9a, 0xdb, 0x25, 0x6f, + 0x60, 0x57, 0xfe, 0xaf, 0xd9, 0x55, 0xd8, 0xc8, 0xae, 0xe2, 0x6a, 0xbb, 0xde, 0x82, 0x2d, 0xea, 0xd8, 0x21, 0x70, 0x8b, 0x01, 0x6f, 0x4d, 0x02, 0xbd, 0x12, 0x73, 0x65, 0xed, 0xc8, 0x8c, 0x01, - 0x82, 0x57, 0x77, 0xe0, 0xf6, 0x9c, 0x8c, 0x89, 0x53, 0xe8, 0x3b, 0x89, 0x85, 0xf9, 0x19, 0xee, + 0x82, 0x57, 0x77, 0xe0, 0xf6, 0x9c, 0x8c, 0x89, 0x53, 0xe8, 0x5b, 0x89, 0x85, 0xf9, 0x39, 0xee, 0x61, 0x21, 0xcc, 0x57, 0x24, 0xf2, 0x74, 0xb1, 0x72, 0xf6, 0xc5, 0xbe, 0xc2, 0x82, 0x35, 0xbb, - 0x20, 0xbe, 0xdc, 0x1f, 0x65, 0x50, 0x78, 0xec, 0x3e, 0xa3, 0xd8, 0xfb, 0xd0, 0x23, 0xc3, 0xc1, - 0xff, 0x24, 0x14, 0x1f, 0xc3, 0xae, 0x85, 0xbf, 0x6c, 0x0f, 0x7b, 0xfe, 0xd1, 0x00, 0x7b, 0xae, + 0x20, 0xbe, 0xdc, 0x1f, 0x64, 0x50, 0x78, 0xec, 0x3e, 0xa5, 0xd8, 0xfb, 0xc0, 0x23, 0xc3, 0xc1, + 0x7f, 0x24, 0x14, 0x1f, 0xc1, 0xae, 0x85, 0xbf, 0x68, 0x0f, 0x7b, 0xfe, 0xd1, 0x00, 0x7b, 0xae, 0x43, 0xa9, 0x43, 0xfa, 0x94, 0xe5, 0xa3, 0xd2, 0xd4, 0x26, 0x81, 0xae, 0x26, 0x23, 0x2c, 0x80, - 0x90, 0xa9, 0xc4, 0xad, 0x9f, 0x4c, 0x1b, 0x37, 0xdb, 0xbb, 0xe8, 0x73, 0x50, 0x17, 0xa5, 0xe3, - 0x5b, 0xf6, 0x5d, 0x28, 0xd9, 0x61, 0x43, 0xa2, 0x5f, 0xa5, 0xa9, 0x8d, 0x03, 0x7d, 0x9b, 0x81, - 0x98, 0x78, 0x71, 0x78, 0x13, 0x10, 0x32, 0xb7, 0xd9, 0xe7, 0x81, 0x85, 0x7e, 0x90, 0xe1, 0x66, + 0x90, 0xa9, 0xc4, 0xad, 0x1f, 0x4f, 0x1b, 0x37, 0xdb, 0xbb, 0xe8, 0x33, 0x50, 0x17, 0xa5, 0xe3, + 0x5b, 0xf6, 0x1d, 0x28, 0xd9, 0x61, 0x43, 0xa2, 0x5f, 0xa5, 0xa9, 0x8d, 0x03, 0x7d, 0x9b, 0x81, + 0x98, 0x78, 0x71, 0x78, 0x13, 0x10, 0x32, 0xb7, 0xd9, 0xe7, 0x81, 0x85, 0xbe, 0x97, 0xe1, 0x66, 0x9c, 0xaf, 0x2b, 0xb7, 0x44, 0x5c, 0x96, 0xbc, 0xd1, 0xb2, 0xb8, 0x9b, 0xf9, 0x0d, 0xdc, 0x2c, 0x64, 0x77, 0x73, 0x1a, 0xee, 0xe2, 0x9a, 0x70, 0x23, 0x15, 0x6a, 0xf3, 0xfa, 0xf0, 0x44, 0x9f, - 0xca, 0xcc, 0x96, 0x43, 0x3c, 0xad, 0x89, 0x16, 0xff, 0xf7, 0x32, 0x3e, 0x81, 0xb2, 0x98, 0xd6, + 0xca, 0xcc, 0x96, 0x43, 0x3c, 0xad, 0x89, 0x16, 0xff, 0xfb, 0x32, 0x3e, 0x85, 0xb2, 0x98, 0xd6, 0x3c, 0xeb, 0x2d, 0x28, 0x34, 0x93, 0x52, 0x11, 0x2a, 0x28, 0x54, 0x58, 0xa7, 0xd0, 0x1e, 0xa0, - 0x74, 0x11, 0xb8, 0x56, 0x3f, 0x49, 0x6c, 0xf7, 0x47, 0x67, 0xc3, 0x75, 0x8a, 0xda, 0x94, 0x69, - 0x7e, 0x1d, 0xd3, 0x57, 0x99, 0xdd, 0x73, 0x14, 0x38, 0xc3, 0xdf, 0x25, 0x78, 0xa9, 0x45, 0xed, - 0xf7, 0x2c, 0x2b, 0xac, 0x7d, 0x4a, 0xae, 0xd9, 0x7e, 0x1a, 0x52, 0x4e, 0x51, 0xd8, 0x4f, 0x61, - 0x2b, 0x32, 0x59, 0x71, 0x13, 0xcf, 0x75, 0x78, 0x6d, 0x29, 0x55, 0x2e, 0xc6, 0x1f, 0x12, 0xd3, - 0xca, 0xc4, 0x2e, 0x19, 0x31, 0xad, 0x3e, 0xf0, 0x88, 0xfb, 0x3c, 0x2b, 0x12, 0xed, 0x82, 0x14, - 0xbe, 0x5c, 0x96, 0xcb, 0x28, 0x23, 0xf1, 0x66, 0xf9, 0x07, 0x0e, 0x8b, 0x84, 0x96, 0xbc, 0x8a, - 0xd6, 0xbf, 0x72, 0x2c, 0x44, 0x11, 0x59, 0x64, 0x9a, 0x68, 0xd1, 0xf8, 0xb3, 0x04, 0xf9, 0x16, - 0xb5, 0x95, 0x63, 0xd8, 0x99, 0x7b, 0x8f, 0xdf, 0xab, 0x2f, 0x79, 0xf3, 0xd7, 0x17, 0x9e, 0xac, - 0x6a, 0x3d, 0x1b, 0x8e, 0xdf, 0x93, 0x1d, 0xb8, 0x31, 0xf3, 0x1e, 0xdd, 0x4b, 0xeb, 0x2f, 0xa2, - 0xd4, 0x87, 0x59, 0x50, 0x7c, 0x8e, 0x63, 0xd8, 0x99, 0x7b, 0x90, 0xa5, 0xb2, 0x99, 0xc5, 0xa5, - 0xb3, 0x59, 0xfe, 0x9e, 0x52, 0xbe, 0x82, 0xea, 0xfc, 0x5b, 0xea, 0xfe, 0x6a, 0x41, 0x38, 0x50, - 0x35, 0x32, 0x02, 0xf9, 0x64, 0x18, 0x2a, 0xb3, 0x6f, 0x84, 0x37, 0x56, 0xa9, 0x32, 0x9d, 0xe8, - 0x51, 0x26, 0x18, 0x9f, 0xe6, 0x54, 0x82, 0xdb, 0x69, 0xd7, 0x69, 0xea, 0x9a, 0x53, 0x3a, 0xa8, - 0xef, 0x6c, 0xd8, 0x41, 0x54, 0x76, 0xfe, 0x9e, 0xba, 0xbf, 0xda, 0x9c, 0x0c, 0xca, 0xa6, 0x5c, - 0x1b, 0x8a, 0x0f, 0xca, 0x92, 0x2b, 0xe3, 0x41, 0xda, 0x30, 0x8b, 0x58, 0xb5, 0x91, 0x1d, 0x3b, - 0x23, 0x74, 0xda, 0xe1, 0x9c, 0x4a, 0x21, 0xa5, 0x43, 0xba, 0xd0, 0x6b, 0x8e, 0xc3, 0x90, 0xfb, - 0x92, 0xa3, 0xf0, 0xc1, 0x1a, 0xdf, 0x44, 0x8f, 0x1b, 0xd9, 0xb1, 0xc9, 0xac, 0xcd, 0x8f, 0x7e, - 0x19, 0x6b, 0xd2, 0xf9, 0x58, 0x93, 0x7e, 0x1b, 0x6b, 0xd2, 0xf7, 0x17, 0x5a, 0xee, 0xfc, 0x42, - 0xcb, 0xfd, 0x7a, 0xa1, 0xe5, 0xbe, 0x68, 0xd8, 0x8e, 0x7f, 0x3c, 0xec, 0xd4, 0xbb, 0xc4, 0x35, - 0xa2, 0x71, 0x1f, 0xf5, 0xda, 0x1d, 0x1a, 0x7f, 0x1b, 0xa3, 0x86, 0xf1, 0x8d, 0xf0, 0xe7, 0x82, - 0x7f, 0x32, 0xc0, 0xb4, 0xb3, 0xc5, 0xfe, 0x59, 0x78, 0xfb, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x46, 0x65, 0xcc, 0x53, 0xc8, 0x10, 0x00, 0x00, + 0x74, 0x11, 0xb8, 0x56, 0x3f, 0x4a, 0x6c, 0xf7, 0x47, 0x67, 0xc3, 0x75, 0x8a, 0xda, 0x94, 0x69, + 0x7e, 0x1d, 0xd3, 0x57, 0x99, 0xdd, 0x73, 0x14, 0x38, 0xc3, 0xdf, 0x24, 0x78, 0xa9, 0x45, 0xed, + 0x77, 0x2d, 0x2b, 0xac, 0x7d, 0x42, 0xae, 0xd9, 0x7e, 0x1a, 0x52, 0x4e, 0x51, 0xd8, 0x4f, 0x61, + 0x2b, 0x32, 0x59, 0x71, 0x13, 0xcf, 0x75, 0x78, 0x6d, 0x29, 0x55, 0x2e, 0xc6, 0xef, 0x12, 0xd3, + 0xca, 0xc4, 0x2e, 0x19, 0x31, 0xad, 0xde, 0xf7, 0x88, 0xfb, 0x7f, 0x56, 0x24, 0xda, 0x05, 0x29, + 0x7c, 0xb9, 0x2c, 0x97, 0x51, 0x46, 0xe2, 0xcd, 0xf2, 0x37, 0x1c, 0x16, 0x09, 0x2d, 0x79, 0x15, + 0xad, 0x7f, 0xe4, 0x58, 0x88, 0x22, 0xb2, 0xc8, 0x34, 0xd1, 0xa2, 0xf1, 0x47, 0x09, 0xf2, 0x2d, + 0x6a, 0x2b, 0xc7, 0xb0, 0x33, 0xf7, 0x1e, 0xbf, 0x57, 0x5f, 0xf2, 0xe6, 0xaf, 0x2f, 0x3c, 0x59, + 0xd5, 0x7a, 0x36, 0x1c, 0xbf, 0x27, 0x3b, 0x70, 0x63, 0xe6, 0x3d, 0xba, 0x97, 0xd6, 0x5f, 0x44, + 0xa9, 0x0f, 0xb3, 0xa0, 0xf8, 0x1c, 0xc7, 0xb0, 0x33, 0xf7, 0x20, 0x4b, 0x65, 0x33, 0x8b, 0x4b, + 0x67, 0xb3, 0xfc, 0x3d, 0xa5, 0x7c, 0x09, 0xd5, 0xf9, 0xb7, 0xd4, 0xfd, 0xd5, 0x82, 0x70, 0xa0, + 0x6a, 0x64, 0x04, 0xf2, 0xc9, 0x30, 0x54, 0x66, 0xdf, 0x08, 0x6f, 0xac, 0x52, 0x65, 0x3a, 0xd1, + 0xa3, 0x4c, 0x30, 0x3e, 0xcd, 0xa9, 0x04, 0xb7, 0xd3, 0xae, 0xd3, 0xd4, 0x35, 0xa7, 0x74, 0x50, + 0xdf, 0xde, 0xb0, 0x83, 0xa8, 0xec, 0xfc, 0x3d, 0x75, 0x7f, 0xb5, 0x39, 0x19, 0x94, 0x4d, 0xb9, + 0x36, 0x14, 0x1f, 0x94, 0x25, 0x57, 0xc6, 0x83, 0xb4, 0x61, 0x16, 0xb1, 0x6a, 0x23, 0x3b, 0x76, + 0x46, 0xe8, 0xb4, 0xc3, 0x39, 0x95, 0x42, 0x4a, 0x87, 0x74, 0xa1, 0xd7, 0x1c, 0x87, 0x21, 0xf7, + 0x25, 0x47, 0xe1, 0x83, 0x35, 0xbe, 0x89, 0x1e, 0x37, 0xb2, 0x63, 0x93, 0x59, 0x9b, 0x1f, 0xfe, + 0x3c, 0xd6, 0xa4, 0xf3, 0xb1, 0x26, 0xfd, 0x3a, 0xd6, 0xa4, 0xef, 0x2e, 0xb4, 0xdc, 0xf9, 0x85, + 0x96, 0xfb, 0xe5, 0x42, 0xcb, 0x7d, 0xde, 0xb0, 0x1d, 0xff, 0x78, 0xd8, 0xa9, 0x77, 0x89, 0x6b, + 0x44, 0xe3, 0x3e, 0xea, 0xb5, 0x3b, 0x34, 0xfe, 0x36, 0x46, 0x4f, 0x8c, 0xaf, 0x85, 0x3f, 0x17, + 0xfc, 0x93, 0x01, 0xa6, 0x9d, 0x2d, 0xf6, 0xcf, 0xc2, 0x93, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, + 0x07, 0x7e, 0x40, 0x3d, 0xc8, 0x10, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/subspaces/types/query.pb.go b/x/subspaces/types/query.pb.go index 636bb79103..72a306ef46 100644 --- a/x/subspaces/types/query.pb.go +++ b/x/subspaces/types/query.pb.go @@ -702,8 +702,8 @@ var fileDescriptor_883a12b013a133fc = []byte{ 0xb6, 0x65, 0xc4, 0xb3, 0x68, 0x94, 0x75, 0x7b, 0xa7, 0x6d, 0xa4, 0xee, 0xee, 0xec, 0x09, 0x60, 0x77, 0x4f, 0x00, 0xbf, 0xf6, 0x04, 0xf0, 0x6e, 0x5f, 0x08, 0xec, 0xee, 0x0b, 0x81, 0x9f, 0xfb, 0x42, 0xe0, 0x79, 0x52, 0xcf, 0x5a, 0x2f, 0x4a, 0x69, 0x79, 0xc5, 0xc8, 0xb3, 0x24, 0x17, 0x73, - 0x5a, 0x9a, 0xf0, 0x84, 0xe5, 0xa4, 0xf2, 0xd2, 0x93, 0xc8, 0x5a, 0x33, 0x31, 0x49, 0xf7, 0xd2, - 0xff, 0x69, 0xa7, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x50, 0x81, 0xfc, 0xb3, 0x8d, 0x0b, 0x00, + 0x5a, 0x9a, 0xf0, 0x84, 0xe5, 0x69, 0xe5, 0xa5, 0x27, 0x91, 0xb5, 0x66, 0x62, 0x92, 0xee, 0xa5, + 0xff, 0xd3, 0x4e, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x11, 0x9a, 0x70, 0xdd, 0x8d, 0x0b, 0x00, 0x00, } From 90549f77d3dbe9228605305578a617d4f2f31bf1 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 15:54:36 +0000 Subject: [PATCH 08/19] chore: renamed the v1beta1 store package to v5 --- app/app.go | 6 +- x/profiles/keeper/migrations.go | 4 +- x/profiles/legacy/{v1beta1 => v4}/codec.go | 2 +- x/profiles/legacy/{v1beta1 => v4}/keeper.go | 2 +- x/profiles/legacy/{v1beta1 => v4}/keys.go | 2 +- .../{v1beta1 => v4}/models_chain_links.go | 2 +- .../{v1beta1 => v4}/models_chain_links.pb.go | 2 +- .../legacy/{v1beta1 => v4}/models_profile.go | 2 +- .../{v1beta1 => v4}/models_profile.pb.go | 2 +- .../models_relationships.pb.go | 2 +- x/profiles/legacy/{v1beta1 => v4}/store.go | 2 +- .../legacy/{v1beta1 => v4}/store_test.go | 62 +++++++++---------- x/profiles/module.go | 4 +- x/relationships/keeper/migrations.go | 6 +- x/relationships/legacy/v1/store.go | 8 +-- x/relationships/legacy/v1/store_test.go | 16 ++--- x/relationships/module.go | 6 +- 17 files changed, 65 insertions(+), 65 deletions(-) rename x/profiles/legacy/{v1beta1 => v4}/codec.go (97%) rename x/profiles/legacy/{v1beta1 => v4}/keeper.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/keys.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/models_chain_links.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/models_chain_links.pb.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/models_profile.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/models_profile.pb.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/models_relationships.pb.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/store.go (99%) rename x/profiles/legacy/{v1beta1 => v4}/store_test.go (86%) diff --git a/app/app.go b/app/app.go index a08751ee27..f4c11db408 100644 --- a/app/app.go +++ b/app/app.go @@ -8,7 +8,7 @@ import ( "path/filepath" "strings" - profilesv1beta1 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + profilesv4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" "github.com/desmos-labs/desmos/v3/x/relationships" relationshipstypes "github.com/desmos-labs/desmos/v3/x/relationships/types" @@ -553,7 +553,7 @@ func NewDesmosApp( // Custom modules subspaces.NewAppModule(appCodec, app.SubspacesKeeper, app.AccountKeeper, app.BankKeeper), profilesModule, - relationships.NewAppModule(appCodec, app.RelationshipsKeeper, app.SubspacesKeeper, profilesv1beta1.NewKeeper(keys[profilestypes.StoreKey], appCodec), app.AccountKeeper, app.BankKeeper), + relationships.NewAppModule(appCodec, app.RelationshipsKeeper, app.SubspacesKeeper, profilesv4.NewKeeper(keys[profilestypes.StoreKey], appCodec), app.AccountKeeper, app.BankKeeper), ) // During begin block slashing happens after distr.BeginBlocker so that @@ -709,7 +709,7 @@ func NewDesmosApp( // Custom modules subspaces.NewAppModule(appCodec, app.SubspacesKeeper, app.AccountKeeper, app.BankKeeper), profilesModule, - relationships.NewAppModule(appCodec, app.RelationshipsKeeper, app.SubspacesKeeper, profilesv1beta1.NewKeeper(keys[profilestypes.StoreKey], appCodec), app.AccountKeeper, app.BankKeeper), + relationships.NewAppModule(appCodec, app.RelationshipsKeeper, app.SubspacesKeeper, profilesv4.NewKeeper(keys[profilestypes.StoreKey], appCodec), app.AccountKeeper, app.BankKeeper), ) app.sm.RegisterStoreDecoders() diff --git a/x/profiles/keeper/migrations.go b/x/profiles/keeper/migrations.go index a71cda6acf..6ebacc6d9b 100644 --- a/x/profiles/keeper/migrations.go +++ b/x/profiles/keeper/migrations.go @@ -6,7 +6,7 @@ import ( authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" "github.com/gogo/protobuf/grpc" - "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" ) // DONTCOVER @@ -31,5 +31,5 @@ func NewMigrator(ak authkeeper.AccountKeeper, keeper Keeper, amino *codec.Legacy // Migrate4to5 migrates from version 4 to 5. func (m Migrator) Migrate4to5(ctx sdk.Context) error { - return v1beta1.MigrateStore(ctx, m.ak, m.keeper.storeKey, m.amino, m.keeper.cdc) + return v4.MigrateStore(ctx, m.ak, m.keeper.storeKey, m.amino, m.keeper.cdc) } diff --git a/x/profiles/legacy/v1beta1/codec.go b/x/profiles/legacy/v4/codec.go similarity index 97% rename from x/profiles/legacy/v1beta1/codec.go rename to x/profiles/legacy/v4/codec.go index e01a6ae24f..cf7252a9d5 100644 --- a/x/profiles/legacy/v1beta1/codec.go +++ b/x/profiles/legacy/v4/codec.go @@ -1,4 +1,4 @@ -package v1beta1 +package v4 // DONTCOVER diff --git a/x/profiles/legacy/v1beta1/keeper.go b/x/profiles/legacy/v4/keeper.go similarity index 99% rename from x/profiles/legacy/v1beta1/keeper.go rename to x/profiles/legacy/v4/keeper.go index 98eb736565..71b6b2c0ef 100644 --- a/x/profiles/legacy/v1beta1/keeper.go +++ b/x/profiles/legacy/v4/keeper.go @@ -1,4 +1,4 @@ -package v1beta1 +package v4 import ( "github.com/cosmos/cosmos-sdk/codec" diff --git a/x/profiles/legacy/v1beta1/keys.go b/x/profiles/legacy/v4/keys.go similarity index 99% rename from x/profiles/legacy/v1beta1/keys.go rename to x/profiles/legacy/v4/keys.go index 6e12d84adb..fd58504abb 100644 --- a/x/profiles/legacy/v1beta1/keys.go +++ b/x/profiles/legacy/v4/keys.go @@ -1,4 +1,4 @@ -package v1beta1 +package v4 // DONTCOVER diff --git a/x/profiles/legacy/v1beta1/models_chain_links.go b/x/profiles/legacy/v4/models_chain_links.go similarity index 99% rename from x/profiles/legacy/v1beta1/models_chain_links.go rename to x/profiles/legacy/v4/models_chain_links.go index 1ac7fabe03..55eccfb5dc 100644 --- a/x/profiles/legacy/v1beta1/models_chain_links.go +++ b/x/profiles/legacy/v4/models_chain_links.go @@ -1,4 +1,4 @@ -package v1beta1 +package v4 // DONTCOVER diff --git a/x/profiles/legacy/v1beta1/models_chain_links.pb.go b/x/profiles/legacy/v4/models_chain_links.pb.go similarity index 99% rename from x/profiles/legacy/v1beta1/models_chain_links.pb.go rename to x/profiles/legacy/v4/models_chain_links.pb.go index 97e4d7daef..94a4e74b88 100644 --- a/x/profiles/legacy/v1beta1/models_chain_links.pb.go +++ b/x/profiles/legacy/v4/models_chain_links.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: desmos/profiles/v1beta1/models_chain_links.proto -package v1beta1 +package v4 import ( fmt "fmt" diff --git a/x/profiles/legacy/v1beta1/models_profile.go b/x/profiles/legacy/v4/models_profile.go similarity index 99% rename from x/profiles/legacy/v1beta1/models_profile.go rename to x/profiles/legacy/v4/models_profile.go index b3d4f79660..5c43aa854a 100644 --- a/x/profiles/legacy/v1beta1/models_profile.go +++ b/x/profiles/legacy/v4/models_profile.go @@ -1,4 +1,4 @@ -package v1beta1 +package v4 // DONTCOVER diff --git a/x/profiles/legacy/v1beta1/models_profile.pb.go b/x/profiles/legacy/v4/models_profile.pb.go similarity index 99% rename from x/profiles/legacy/v1beta1/models_profile.pb.go rename to x/profiles/legacy/v4/models_profile.pb.go index de55cbbebb..f41ee48f51 100644 --- a/x/profiles/legacy/v1beta1/models_profile.pb.go +++ b/x/profiles/legacy/v4/models_profile.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: desmos/profiles/v1beta1/models_profile.proto -package v1beta1 +package v4 import ( fmt "fmt" diff --git a/x/profiles/legacy/v1beta1/models_relationships.pb.go b/x/profiles/legacy/v4/models_relationships.pb.go similarity index 99% rename from x/profiles/legacy/v1beta1/models_relationships.pb.go rename to x/profiles/legacy/v4/models_relationships.pb.go index 4418f90925..8a242dd7b9 100644 --- a/x/profiles/legacy/v1beta1/models_relationships.pb.go +++ b/x/profiles/legacy/v4/models_relationships.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: desmos/profiles/v1beta1/models_relationships.proto -package v1beta1 +package v4 import ( fmt "fmt" diff --git a/x/profiles/legacy/v1beta1/store.go b/x/profiles/legacy/v4/store.go similarity index 99% rename from x/profiles/legacy/v1beta1/store.go rename to x/profiles/legacy/v4/store.go index 8bd46bc7da..0b9bd8270a 100644 --- a/x/profiles/legacy/v1beta1/store.go +++ b/x/profiles/legacy/v4/store.go @@ -1,4 +1,4 @@ -package v1beta1 +package v4 import ( "encoding/hex" diff --git a/x/profiles/legacy/v1beta1/store_test.go b/x/profiles/legacy/v4/store_test.go similarity index 86% rename from x/profiles/legacy/v1beta1/store_test.go rename to x/profiles/legacy/v4/store_test.go index 77553861ed..ea6aa0d6f5 100644 --- a/x/profiles/legacy/v1beta1/store_test.go +++ b/x/profiles/legacy/v4/store_test.go @@ -1,4 +1,4 @@ -package v1beta1_test +package v4_test import ( "encoding/hex" @@ -27,7 +27,7 @@ import ( "github.com/stretchr/testify/require" "github.com/desmos-labs/desmos/v3/app" - "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" "github.com/desmos-labs/desmos/v3/x/relationships/types" ) @@ -81,7 +81,7 @@ func TestMigrateStore(t *testing.T) { pubKey := testutil.PubKeyFromBech32("cosmospub1addwnpepqvryxhhqhw52c4ny5twtfzf3fsrjqhx0x5cuya0fylw0wu0eqptykeqhr4d") pubKeyAny := testutil.NewAny(pubKey) - addressAny := testutil.NewAny(&v1beta1.Bech32Address{ + addressAny := testutil.NewAny(&v4.Bech32Address{ Value: "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f", Prefix: "cosmos", }) @@ -98,11 +98,11 @@ func TestMigrateStore(t *testing.T) { kvStore := ctx.KVStore(keys[types.StoreKey]) // Store a profile - profile, err := v1beta1.NewProfile( + profile, err := v4.NewProfile( "john_doe", "John Doe", "My name if John Doe", - v1beta1.Pictures{ + v4.Pictures{ Profile: "", Cover: "", }, @@ -113,7 +113,7 @@ func TestMigrateStore(t *testing.T) { authKeeper.SetAccount(ctx, profile) // Store a DTag reference - kvStore.Set(v1beta1.DTagStoreKey("john_doe"), []byte("cosmos1nejmx335u222dj6lg7qjqrufchkpazu8e0semf")) + kvStore.Set(v4.DTagStoreKey("john_doe"), []byte("cosmos1nejmx335u222dj6lg7qjqrufchkpazu8e0semf")) }, check: func(ctx sdk.Context) { kvStore := ctx.KVStore(keys[types.StoreKey]) @@ -149,7 +149,7 @@ func TestMigrateStore(t *testing.T) { // Store a DTag transfer request kvStore.Set( - v1beta1.DTagTransferRequestStoreKey("cosmos13vsgmgs9tjktnnc6pkln7pm4jswxmeajrqc4xd", "cosmos1nejmx335u222dj6lg7qjqrufchkpazu8e0semf"), + v4.DTagTransferRequestStoreKey("cosmos13vsgmgs9tjktnnc6pkln7pm4jswxmeajrqc4xd", "cosmos1nejmx335u222dj6lg7qjqrufchkpazu8e0semf"), cdc.MustMarshal(&profilestypes.DTagTransferRequest{ DTagToTrade: "john_doe", Sender: "cosmos13vsgmgs9tjktnnc6pkln7pm4jswxmeajrqc4xd", @@ -181,7 +181,7 @@ func TestMigrateStore(t *testing.T) { // Store an application link kvStore.Set( - v1beta1.UserApplicationLinkKey("cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", "twitter", "twitteruser"), + v4.UserApplicationLinkKey("cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", "twitter", "twitteruser"), cdc.MustMarshal(&profilestypes.ApplicationLink{ User: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", Data: profilestypes.NewData("twitter", "twitteruser"), @@ -199,7 +199,7 @@ func TestMigrateStore(t *testing.T) { // Store an application link client id kvStore.Set( - v1beta1.ApplicationLinkClientIDKey("client_id"), + v4.ApplicationLinkClientIDKey("client_id"), []byte("client_id_value"), ) }, @@ -238,16 +238,16 @@ func TestMigrateStore(t *testing.T) { // Store the chain link kvStore.Set( - v1beta1.ChainLinksStoreKey("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", "cosmos", "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f"), - cdc.MustMarshal(&v1beta1.ChainLink{ + v4.ChainLinksStoreKey("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", "cosmos", "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f"), + cdc.MustMarshal(&v4.ChainLink{ User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", Address: addressAny, - Proof: v1beta1.Proof{ + Proof: v4.Proof{ PubKey: pubKeyAny, Signature: "7369676E6174757265", PlainText: "74657874", }, - ChainConfig: v1beta1.ChainConfig{Name: "cosmos"}, + ChainConfig: v4.ChainConfig{Name: "cosmos"}, CreationTime: time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), }), ) @@ -299,16 +299,16 @@ func TestMigrateStore(t *testing.T) { // Store the chain link kvStore.Set( - v1beta1.ChainLinksStoreKey("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", "cosmos", "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f"), - cdc.MustMarshal(&v1beta1.ChainLink{ + v4.ChainLinksStoreKey("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", "cosmos", "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f"), + cdc.MustMarshal(&v4.ChainLink{ User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", Address: addressAny, - Proof: v1beta1.Proof{ + Proof: v4.Proof{ PubKey: pubKeyAny, Signature: "7369676E6174757265", PlainText: plainTextValue, }, - ChainConfig: v1beta1.ChainConfig{Name: "cosmos"}, + ChainConfig: v4.ChainConfig{Name: "cosmos"}, CreationTime: time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), }), ) @@ -372,16 +372,16 @@ func TestMigrateStore(t *testing.T) { // Store the chain link kvStore.Set( - v1beta1.ChainLinksStoreKey("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", "cosmos", "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f"), - cdc.MustMarshal(&v1beta1.ChainLink{ + v4.ChainLinksStoreKey("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", "cosmos", "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f"), + cdc.MustMarshal(&v4.ChainLink{ User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", Address: addressAny, - Proof: v1beta1.Proof{ + Proof: v4.Proof{ PubKey: pubKeyAny, Signature: "7369676E6174757265", PlainText: plainTextValue, }, - ChainConfig: v1beta1.ChainConfig{Name: "cosmos"}, + ChainConfig: v4.ChainConfig{Name: "cosmos"}, CreationTime: time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), }), ) @@ -436,8 +436,8 @@ func TestMigrateStore(t *testing.T) { // Store a user block kvStore.Set( - v1beta1.UserBlockStoreKey("blocker", "", "blocked"), - cdc.MustMarshal(&v1beta1.UserBlock{ + v4.UserBlockStoreKey("blocker", "", "blocked"), + cdc.MustMarshal(&v4.UserBlock{ Blocker: "blocker", Blocked: "blocked", Reason: "reason", @@ -447,16 +447,16 @@ func TestMigrateStore(t *testing.T) { // Store some relationships kvStore.Set( - v1beta1.RelationshipsStoreKey("user", "1", "recipient"), - cdc.MustMarshal(&v1beta1.Relationship{ + v4.RelationshipsStoreKey("user", "1", "recipient"), + cdc.MustMarshal(&v4.Relationship{ Creator: "user", Recipient: "recipient", SubspaceID: "1", }), ) kvStore.Set( - v1beta1.RelationshipsStoreKey("user", "2", "recipient"), - cdc.MustMarshal(&v1beta1.Relationship{ + v4.RelationshipsStoreKey("user", "2", "recipient"), + cdc.MustMarshal(&v4.Relationship{ Creator: "user", Recipient: "recipient", SubspaceID: "2", @@ -468,11 +468,11 @@ func TestMigrateStore(t *testing.T) { kvStore := ctx.KVStore(keys[types.StoreKey]) // Make sure all blocks are deleted - require.False(t, kvStore.Has(v1beta1.UserBlockStoreKey("blocker", "", "blocked"))) + require.False(t, kvStore.Has(v4.UserBlockStoreKey("blocker", "", "blocked"))) // Make sure all relationships are deleted - require.False(t, kvStore.Has(v1beta1.RelationshipsStoreKey("user", "1", "recipient"))) - require.False(t, kvStore.Has(v1beta1.RelationshipsStoreKey("user", "1", "recipient"))) + require.False(t, kvStore.Has(v4.RelationshipsStoreKey("user", "1", "recipient"))) + require.False(t, kvStore.Has(v4.RelationshipsStoreKey("user", "1", "recipient"))) }, }, } @@ -485,7 +485,7 @@ func TestMigrateStore(t *testing.T) { tc.store(ctx) } - err := v1beta1.MigrateStore(ctx, authKeeper, keys[types.StoreKey], legacyAmino, cdc) + err := v4.MigrateStore(ctx, authKeeper, keys[types.StoreKey], legacyAmino, cdc) if tc.shouldErr { require.Error(t, err) } else { diff --git a/x/profiles/module.go b/x/profiles/module.go index a5316f31b3..55bfb7afa4 100644 --- a/x/profiles/module.go +++ b/x/profiles/module.go @@ -22,7 +22,7 @@ import ( "github.com/desmos-labs/desmos/v3/x/profiles/client/cli" "github.com/desmos-labs/desmos/v3/x/profiles/keeper" - "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" "github.com/desmos-labs/desmos/v3/x/profiles/simulation" "github.com/desmos-labs/desmos/v3/x/profiles/types" ) @@ -88,7 +88,7 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { // RegisterInterfaces registers interfaces and implementations of the profiles module. func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry) { - v1beta1.RegisterInterfaces(registry) + v4.RegisterInterfaces(registry) types.RegisterInterfaces(registry) } diff --git a/x/relationships/keeper/migrations.go b/x/relationships/keeper/migrations.go index 0ee57e8656..1b406fd3a3 100644 --- a/x/relationships/keeper/migrations.go +++ b/x/relationships/keeper/migrations.go @@ -3,7 +3,7 @@ package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - profilesv1beta1 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + profilesv4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" v1 "github.com/desmos-labs/desmos/v3/x/relationships/legacy/v1" ) @@ -13,11 +13,11 @@ import ( // Migrator is a struct for handling in-place store migrations. type Migrator struct { keeper Keeper - pk profilesv1beta1.Keeper + pk profilesv4.Keeper } // NewMigrator returns a new Migrator -func NewMigrator(keeper Keeper, pk profilesv1beta1.Keeper) Migrator { +func NewMigrator(keeper Keeper, pk profilesv4.Keeper) Migrator { return Migrator{ keeper: keeper, pk: pk, diff --git a/x/relationships/legacy/v1/store.go b/x/relationships/legacy/v1/store.go index ce984ca36c..e68c4e09d5 100644 --- a/x/relationships/legacy/v1/store.go +++ b/x/relationships/legacy/v1/store.go @@ -6,7 +6,7 @@ import ( subspacestypes "github.com/desmos-labs/desmos/v3/x/subspaces/types" - profilesv1beta1 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + profilesv4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" "github.com/desmos-labs/desmos/v3/x/relationships/types" ) @@ -18,7 +18,7 @@ import ( // // NOTE: This method must be called BEFORE the migration from v4 to v5 of the profiles module. // If this order is not preserved, all relationships and blocks WILL BE DELETED. -func MigrateStore(ctx sdk.Context, pk profilesv1beta1.Keeper, relationshipsStoreKey sdk.StoreKey, cdc codec.BinaryCodec) error { +func MigrateStore(ctx sdk.Context, pk profilesv4.Keeper, relationshipsStoreKey sdk.StoreKey, cdc codec.BinaryCodec) error { store := ctx.KVStore(relationshipsStoreKey) err := migrateUserBlocks(ctx, pk, store, cdc) @@ -35,7 +35,7 @@ func MigrateStore(ctx sdk.Context, pk profilesv1beta1.Keeper, relationshipsStore } // migrateUserBlocks migrates the user blocks stored to the new type, converting the subspace from string to uint64 -func migrateUserBlocks(ctx sdk.Context, pk profilesv1beta1.Keeper, store sdk.KVStore, cdc codec.BinaryCodec) error { +func migrateUserBlocks(ctx sdk.Context, pk profilesv4.Keeper, store sdk.KVStore, cdc codec.BinaryCodec) error { for _, v230Block := range pk.GetBlocks(ctx) { // Get the subspace id subspaceID, err := subspacestypes.ParseSubspaceID(v230Block.SubspaceID) @@ -58,7 +58,7 @@ func migrateUserBlocks(ctx sdk.Context, pk profilesv1beta1.Keeper, store sdk.KVS } // migrateRelationships migrates the relationships stored to the new type, converting the subspace from string to uint64 -func migrateRelationships(ctx sdk.Context, pk profilesv1beta1.Keeper, store sdk.KVStore, cdc codec.BinaryCodec) error { +func migrateRelationships(ctx sdk.Context, pk profilesv4.Keeper, store sdk.KVStore, cdc codec.BinaryCodec) error { for _, v230Relationship := range pk.GetRelationships(ctx) { // Get the subspace id subspaceID, err := subspacestypes.ParseSubspaceID(v230Relationship.SubspaceID) diff --git a/x/relationships/legacy/v1/store_test.go b/x/relationships/legacy/v1/store_test.go index cca1f48de4..e979db8cbe 100644 --- a/x/relationships/legacy/v1/store_test.go +++ b/x/relationships/legacy/v1/store_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/require" "github.com/desmos-labs/desmos/v3/app" - profilesv1beta1 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + profilesv4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" v1 "github.com/desmos-labs/desmos/v3/x/relationships/legacy/v1" "github.com/desmos-labs/desmos/v3/x/relationships/types" ) @@ -27,27 +27,27 @@ func TestMigrateStore(t *testing.T) { store: func(ctx sdk.Context) { store := ctx.KVStore(storeKey) - blockBz := cdc.MustMarshal(&profilesv1beta1.UserBlock{ + blockBz := cdc.MustMarshal(&profilesv4.UserBlock{ Blocker: "blocker", Blocked: "blocked", Reason: "reason", SubspaceID: "", }) - store.Set(profilesv1beta1.UserBlockStoreKey("blocker", "", "blocked"), blockBz) + store.Set(profilesv4.UserBlockStoreKey("blocker", "", "blocked"), blockBz) - relBz := cdc.MustMarshal(&profilesv1beta1.Relationship{ + relBz := cdc.MustMarshal(&profilesv4.Relationship{ Creator: "user", Recipient: "recipient", SubspaceID: "", }) - store.Set(profilesv1beta1.RelationshipsStoreKey("user", "", "recipient"), relBz) + store.Set(profilesv4.RelationshipsStoreKey("user", "", "recipient"), relBz) - relBz = cdc.MustMarshal(&profilesv1beta1.Relationship{ + relBz = cdc.MustMarshal(&profilesv4.Relationship{ Creator: "user", Recipient: "recipient", SubspaceID: "2", }) - store.Set(profilesv1beta1.RelationshipsStoreKey("user", "2", "recipient"), relBz) + store.Set(profilesv4.RelationshipsStoreKey("user", "2", "recipient"), relBz) }, shouldErr: false, check: func(ctx sdk.Context) { @@ -86,7 +86,7 @@ func TestMigrateStore(t *testing.T) { tc.store(ctx) } - pk := profilesv1beta1.NewKeeper(storeKey, cdc) + pk := profilesv4.NewKeeper(storeKey, cdc) err := v1.MigrateStore(ctx, pk, storeKey, cdc) if tc.shouldErr { require.Error(t, err) diff --git a/x/relationships/module.go b/x/relationships/module.go index 5184bddb65..5289210595 100644 --- a/x/relationships/module.go +++ b/x/relationships/module.go @@ -6,7 +6,7 @@ import ( "fmt" "math/rand" - profilesv1beta1 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v1beta1" + profilesv4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" subspaceskeeper "github.com/desmos-labs/desmos/v3/x/subspaces/keeper" @@ -99,7 +99,7 @@ func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry) type AppModule struct { AppModuleBasic keeper keeper.Keeper - pk profilesv1beta1.Keeper + pk profilesv4.Keeper sk subspaceskeeper.Keeper ak authkeeper.AccountKeeper bk bankkeeper.Keeper @@ -120,7 +120,7 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { // NewAppModule creates a new AppModule Object func NewAppModule( cdc codec.Codec, - k keeper.Keeper, sk subspaceskeeper.Keeper, pk profilesv1beta1.Keeper, + k keeper.Keeper, sk subspaceskeeper.Keeper, pk profilesv4.Keeper, ak authkeeper.AccountKeeper, bk bankkeeper.Keeper, ) AppModule { return AppModule{ From 76e26d82ab7081b2cbe77011c7de83534e02a5f1 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 21 Mar 2022 16:02:10 +0000 Subject: [PATCH 09/19] run make format --- x/profiles/keeper/migrations.go | 4 ++-- x/profiles/legacy/v4/store_test.go | 2 +- x/profiles/module.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/x/profiles/keeper/migrations.go b/x/profiles/keeper/migrations.go index 83ab862ac2..d50ea40d75 100644 --- a/x/profiles/keeper/migrations.go +++ b/x/profiles/keeper/migrations.go @@ -6,8 +6,8 @@ import ( authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" "github.com/gogo/protobuf/grpc" - "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" - "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v5" + v4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" + v5 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v5" ) // DONTCOVER diff --git a/x/profiles/legacy/v4/store_test.go b/x/profiles/legacy/v4/store_test.go index e11fdffbd3..9ce1bbf159 100644 --- a/x/profiles/legacy/v4/store_test.go +++ b/x/profiles/legacy/v4/store_test.go @@ -27,7 +27,7 @@ import ( "github.com/stretchr/testify/require" "github.com/desmos-labs/desmos/v3/app" - "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" + v4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" "github.com/desmos-labs/desmos/v3/x/relationships/types" ) diff --git a/x/profiles/module.go b/x/profiles/module.go index 0bb604037f..1c616cd353 100644 --- a/x/profiles/module.go +++ b/x/profiles/module.go @@ -22,7 +22,7 @@ import ( "github.com/desmos-labs/desmos/v3/x/profiles/client/cli" "github.com/desmos-labs/desmos/v3/x/profiles/keeper" - "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" + v4 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v4" "github.com/desmos-labs/desmos/v3/x/profiles/simulation" "github.com/desmos-labs/desmos/v3/x/profiles/types" ) From ab71a6336ddddfc67df470567ce7159c0274b0fe Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Tue, 22 Mar 2022 11:25:48 +0000 Subject: [PATCH 10/19] chore: updated Proto files --- x/profiles/types/query.pb.go | 113 ++- x/profiles/types/query_app_links.pb.go | 1027 +++++++++++++++++++++--- 2 files changed, 998 insertions(+), 142 deletions(-) diff --git a/x/profiles/types/query.pb.go b/x/profiles/types/query.pb.go index 04442cffeb..62c9faf40c 100644 --- a/x/profiles/types/query.pb.go +++ b/x/profiles/types/query.pb.go @@ -33,41 +33,44 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("desmos/profiles/v2/query.proto", fileDescriptor_fba4df0d7bde4d7c) } var fileDescriptor_fba4df0d7bde4d7c = []byte{ - // 544 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x4f, 0x6f, 0xd3, 0x30, - 0x14, 0xc0, 0x1b, 0x24, 0x36, 0x29, 0x27, 0x64, 0x71, 0x69, 0x54, 0x32, 0x31, 0xd4, 0x75, 0xea, - 0xb6, 0x98, 0xb4, 0xa7, 0x21, 0x38, 0xb0, 0xed, 0x32, 0xc1, 0x61, 0xa0, 0x9d, 0xb8, 0x44, 0x4e, - 0xea, 0x66, 0x16, 0xa9, 0xed, 0xc5, 0x4e, 0x45, 0x35, 0xf5, 0xc2, 0x8d, 0x0b, 0x42, 0xe2, 0xce, - 0xe7, 0xe1, 0x82, 0x98, 0xc4, 0x85, 0x23, 0x6a, 0x11, 0x9f, 0x03, 0xc5, 0x7f, 0x56, 0x31, 0x92, - 0xfd, 0xe9, 0xcd, 0xce, 0xfb, 0x3d, 0xbf, 0x9f, 0xed, 0x17, 0xbb, 0xfe, 0x00, 0x8b, 0x11, 0x13, - 0x90, 0xe7, 0x6c, 0x48, 0x32, 0x2c, 0xe0, 0xb8, 0x07, 0x4f, 0x0b, 0x9c, 0x4f, 0x02, 0x9e, 0x33, - 0xc9, 0x00, 0xd0, 0xf1, 0xc0, 0xc6, 0x83, 0x71, 0xcf, 0xbb, 0x9f, 0xb2, 0x94, 0xa9, 0x30, 0x2c, - 0x47, 0x9a, 0xf4, 0x5a, 0x29, 0x63, 0x69, 0x86, 0x21, 0xe2, 0x04, 0x22, 0x4a, 0x99, 0x44, 0x92, - 0x30, 0x2a, 0x4c, 0xb4, 0x69, 0xa2, 0x6a, 0x16, 0x17, 0x43, 0x88, 0xa8, 0x29, 0xe1, 0x6d, 0xd4, - 0x29, 0x44, 0xe6, 0x8b, 0xe1, 0xb6, 0x6b, 0xb9, 0x81, 0x44, 0x69, 0x94, 0xe3, 0xd3, 0x02, 0x0b, - 0x69, 0x0b, 0xb6, 0xeb, 0x57, 0x45, 0x39, 0x1a, 0x59, 0xac, 0x5b, 0x8b, 0x25, 0x27, 0x88, 0xd0, - 0x28, 0x23, 0xf4, 0xad, 0x65, 0x37, 0x6b, 0x59, 0xc4, 0xf9, 0x3f, 0x64, 0x33, 0x61, 0x25, 0x19, - 0xe9, 0x43, 0xd2, 0x13, 0x5b, 0x50, 0xcf, 0x60, 0x8c, 0x04, 0xd6, 0xd9, 0x70, 0x1c, 0xc6, 0x58, - 0xa2, 0x10, 0x72, 0x94, 0x12, 0xaa, 0x4e, 0x4d, 0xb3, 0xbd, 0x3f, 0xab, 0xee, 0xdd, 0x57, 0x25, - 0x02, 0x3e, 0x38, 0xee, 0xea, 0x91, 0x2e, 0x0b, 0x3a, 0xc1, 0xff, 0x77, 0x12, 0x28, 0xcc, 0x10, - 0xaf, 0xf5, 0x49, 0x78, 0x9b, 0xd7, 0x83, 0x82, 0x33, 0x2a, 0xf0, 0xfa, 0xd6, 0xfb, 0x1f, 0xbf, - 0x3f, 0xdf, 0x69, 0x83, 0x47, 0xb0, 0x62, 0x8b, 0x17, 0xe3, 0xb3, 0x42, 0xe0, 0x7c, 0x0a, 0xbe, - 0x3b, 0x6e, 0xeb, 0x90, 0x26, 0x6c, 0x44, 0x68, 0x7a, 0x70, 0x8c, 0xd2, 0xe3, 0x1c, 0x51, 0x31, - 0xc4, 0xb9, 0x29, 0x2b, 0xc0, 0xd3, 0xda, 0xba, 0x57, 0xa5, 0x59, 0xeb, 0x67, 0x4b, 0x66, 0x9b, - 0xad, 0xf4, 0xd4, 0x56, 0xb6, 0x41, 0xb7, 0x6a, 0x2b, 0xaa, 0x51, 0xa4, 0x49, 0xbd, 0xe8, 0x18, - 0xf0, 0xd1, 0x71, 0xdd, 0xfd, 0xf2, 0xba, 0x5f, 0x96, 0x77, 0x08, 0xba, 0xb5, 0x06, 0x0b, 0xc8, - 0xda, 0x6e, 0xdd, 0x88, 0x35, 0x6e, 0x1d, 0xe5, 0xf6, 0x10, 0xac, 0x55, 0xb9, 0xa9, 0x7e, 0xdb, - 0x51, 0x5d, 0x04, 0xbe, 0x38, 0xee, 0xbd, 0xe7, 0x9c, 0x67, 0x24, 0x51, 0xed, 0xa0, 0xb5, 0x1e, - 0xd7, 0x96, 0xba, 0x8c, 0x5a, 0xb9, 0xf0, 0x16, 0x19, 0x46, 0xb1, 0xad, 0x14, 0xd7, 0xc0, 0x83, - 0x2a, 0x45, 0xc4, 0xb9, 0x11, 0xfc, 0xe6, 0xb8, 0xcd, 0x4b, 0x6b, 0xec, 0x4d, 0xf6, 0x33, 0x82, - 0xa9, 0x3c, 0x3c, 0x00, 0xbb, 0x37, 0xad, 0xbb, 0xc8, 0xb1, 0xca, 0x4f, 0x96, 0x49, 0x35, 0xee, - 0xbb, 0xca, 0xbd, 0x0f, 0xc2, 0x2b, 0xdd, 0x61, 0xa2, 0xf2, 0x04, 0x3c, 0xd3, 0x83, 0x88, 0x0c, - 0xa6, 0x60, 0xea, 0xae, 0x1c, 0xa9, 0x67, 0x01, 0x6c, 0xd4, 0xff, 0x34, 0x0a, 0xb0, 0xa2, 0x9d, - 0x6b, 0x39, 0x63, 0xb5, 0xae, 0xac, 0x5a, 0xc0, 0xab, 0xfc, 0xb7, 0x14, 0xbb, 0xf7, 0xe2, 0xeb, - 0xcc, 0x77, 0xce, 0x67, 0xbe, 0xf3, 0x6b, 0xe6, 0x3b, 0x9f, 0xe6, 0x7e, 0xe3, 0x7c, 0xee, 0x37, - 0x7e, 0xce, 0xfd, 0xc6, 0x9b, 0x30, 0x25, 0xf2, 0xa4, 0x88, 0x83, 0x84, 0x8d, 0x4c, 0xfe, 0x4e, - 0x86, 0x62, 0x61, 0xd7, 0x1a, 0xf7, 0xe1, 0xbb, 0xc5, 0x82, 0x72, 0xc2, 0xb1, 0x88, 0x57, 0xd4, - 0xe3, 0xd1, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x87, 0x83, 0xf3, 0xdb, 0x05, 0x00, 0x00, + // 582 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x4f, 0x6f, 0x12, 0x41, + 0x18, 0x87, 0x59, 0x13, 0x6b, 0xdc, 0x93, 0x79, 0xa3, 0x07, 0x08, 0x6e, 0x63, 0x15, 0x68, 0x28, + 0xdd, 0x11, 0x88, 0x26, 0x35, 0x7a, 0xb0, 0xed, 0xa5, 0xd1, 0xc4, 0x6a, 0x7a, 0xf2, 0x42, 0x66, + 0x97, 0x61, 0x3b, 0x71, 0x99, 0x99, 0xee, 0x2c, 0x28, 0x69, 0xb8, 0x78, 0xf3, 0x62, 0x4c, 0x3c, + 0xeb, 0xa7, 0xf0, 0x43, 0x78, 0x31, 0x36, 0xf1, 0xe2, 0xd1, 0x80, 0x1f, 0xc4, 0x30, 0x7f, 0x4a, + 0xa4, 0x2c, 0xa5, 0xbd, 0xed, 0x30, 0xcf, 0x6f, 0xde, 0xe7, 0x9d, 0x19, 0xc6, 0xf5, 0xda, 0x44, + 0x76, 0xb9, 0x44, 0x22, 0xe1, 0x1d, 0x1a, 0x13, 0x89, 0xfa, 0x0d, 0x74, 0xd4, 0x23, 0xc9, 0xc0, + 0x17, 0x09, 0x4f, 0x39, 0x80, 0x9e, 0xf7, 0xed, 0xbc, 0xdf, 0x6f, 0x14, 0x6e, 0x46, 0x3c, 0xe2, + 0x6a, 0x1a, 0x4d, 0xbe, 0x34, 0x59, 0x28, 0x46, 0x9c, 0x47, 0x31, 0x41, 0x58, 0x50, 0x84, 0x19, + 0xe3, 0x29, 0x4e, 0x29, 0x67, 0xd2, 0xcc, 0xe6, 0xcd, 0xac, 0x1a, 0x05, 0xbd, 0x0e, 0xc2, 0xcc, + 0x94, 0x28, 0x94, 0xb3, 0x14, 0x5a, 0xe6, 0x17, 0xc3, 0xd5, 0x32, 0xb9, 0x76, 0x8a, 0xa3, 0x56, + 0x42, 0x8e, 0x7a, 0x44, 0xa6, 0xb6, 0x60, 0x29, 0x7b, 0x55, 0x9c, 0xe0, 0xae, 0xc5, 0xaa, 0x99, + 0x58, 0x78, 0x88, 0x29, 0x6b, 0xc5, 0x94, 0xbd, 0xb1, 0xec, 0x7a, 0x26, 0x8b, 0x85, 0xf8, 0x8f, + 0xcc, 0x87, 0x7c, 0x42, 0xb6, 0xf4, 0x26, 0xe9, 0x81, 0x2d, 0xa8, 0x47, 0x28, 0xc0, 0x92, 0xe8, + 0x34, 0xea, 0xd7, 0x03, 0x92, 0xe2, 0x3a, 0x12, 0x38, 0xa2, 0x4c, 0xed, 0x9a, 0x66, 0x1b, 0x5f, + 0xae, 0xbb, 0x57, 0x5f, 0x4e, 0x10, 0xf8, 0xe0, 0xb8, 0xd7, 0xf6, 0x75, 0x59, 0xa8, 0xf8, 0x67, + 0xcf, 0xc4, 0x57, 0x98, 0x21, 0x5e, 0xe9, 0x9d, 0x28, 0xac, 0x9f, 0x0f, 0x4a, 0xc1, 0x99, 0x24, + 0x6b, 0x1b, 0xef, 0x7f, 0xfd, 0xfd, 0x7c, 0xa5, 0x04, 0x77, 0xd1, 0x9c, 0x16, 0x4f, 0xbf, 0x8f, + 0x7b, 0x92, 0x24, 0x43, 0xf8, 0xe9, 0xb8, 0xc5, 0x3d, 0x16, 0xf2, 0x2e, 0x65, 0xd1, 0xee, 0x01, + 0x8e, 0x0e, 0x12, 0xcc, 0x64, 0x87, 0x24, 0xa6, 0xac, 0x84, 0xc7, 0x99, 0x75, 0x17, 0xc5, 0xac, + 0xf5, 0x93, 0x4b, 0xa6, 0x4d, 0x2b, 0x0d, 0xd5, 0x4a, 0x0d, 0xaa, 0xf3, 0x5a, 0x51, 0x17, 0x25, + 0x35, 0xd1, 0xd3, 0x1b, 0x03, 0x1f, 0x1d, 0xd7, 0xdd, 0x99, 0x1c, 0xf7, 0xf3, 0xc9, 0x19, 0x42, + 0x35, 0xd3, 0x60, 0x0a, 0x59, 0xdb, 0x8d, 0xa5, 0x58, 0xe3, 0x56, 0x51, 0x6e, 0x77, 0x60, 0x75, + 0x9e, 0x9b, 0xba, 0x6f, 0x9b, 0xea, 0x16, 0xc1, 0x57, 0xc7, 0xbd, 0xf1, 0x54, 0x88, 0x98, 0x86, + 0xea, 0x3a, 0x68, 0xad, 0xfb, 0x99, 0xa5, 0x66, 0x51, 0x2b, 0x57, 0xbf, 0x40, 0xc2, 0x28, 0x96, + 0x94, 0xe2, 0x2a, 0xdc, 0x9e, 0xa7, 0x88, 0x85, 0x30, 0x82, 0x3f, 0x1c, 0x37, 0x3f, 0xb3, 0xc6, + 0xf6, 0x60, 0x27, 0xa6, 0x84, 0xa5, 0x7b, 0xbb, 0xb0, 0xb5, 0x6c, 0xdd, 0x69, 0xc6, 0x2a, 0x3f, + 0xba, 0x4c, 0xd4, 0xb8, 0x6f, 0x29, 0xf7, 0x26, 0xd4, 0x17, 0xba, 0xa3, 0x50, 0xe5, 0x24, 0x3a, + 0xd6, 0x1f, 0x2d, 0xda, 0x1e, 0xc2, 0x37, 0xc7, 0xbd, 0x35, 0x53, 0xe0, 0xc5, 0x5b, 0x46, 0x12, + 0x09, 0x0f, 0x96, 0x15, 0xd2, 0xbc, 0xed, 0xe3, 0xe1, 0x45, 0x63, 0xa6, 0x87, 0x9a, 0xea, 0xa1, + 0x0c, 0xf7, 0x16, 0xf7, 0xc0, 0xb5, 0xdc, 0xd0, 0x5d, 0xd9, 0x57, 0xaf, 0x19, 0x94, 0xb3, 0xff, + 0xeb, 0x0a, 0xb0, 0x5e, 0x95, 0x73, 0x39, 0x23, 0xb2, 0xa6, 0x44, 0x8a, 0x50, 0x98, 0xfb, 0x24, + 0x28, 0x76, 0xfb, 0xd9, 0xf7, 0x91, 0xe7, 0x9c, 0x8c, 0x3c, 0xe7, 0xcf, 0xc8, 0x73, 0x3e, 0x8d, + 0xbd, 0xdc, 0xc9, 0xd8, 0xcb, 0xfd, 0x1e, 0x7b, 0xb9, 0xd7, 0xf5, 0x88, 0xa6, 0x87, 0xbd, 0xc0, + 0x0f, 0x79, 0xd7, 0xe4, 0x37, 0x63, 0x1c, 0x48, 0xbb, 0x56, 0xbf, 0x89, 0xde, 0x4d, 0x17, 0x4c, + 0x07, 0x82, 0xc8, 0x60, 0x45, 0xbd, 0x79, 0xcd, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x04, + 0x79, 0xb2, 0x92, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -98,6 +101,9 @@ type QueryClient interface { // ApplicationLinkByClientID queries a single application link for a given // client id. ApplicationLinkByClientID(ctx context.Context, in *QueryApplicationLinkByClientIDRequest, opts ...grpc.CallOption) (*QueryApplicationLinkByClientIDResponse, error) + // ApplicationLinkOwners queries for the owners of applications links, + // optionally searching for a specific application and username. + ApplicationLinkOwners(ctx context.Context, in *QueryApplicationLinkOwnersRequest, opts ...grpc.CallOption) (*QueryApplicationLinkOwnersResponse, error) // Params queries the profiles module params Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } @@ -155,6 +161,15 @@ func (c *queryClient) ApplicationLinkByClientID(ctx context.Context, in *QueryAp return out, nil } +func (c *queryClient) ApplicationLinkOwners(ctx context.Context, in *QueryApplicationLinkOwnersRequest, opts ...grpc.CallOption) (*QueryApplicationLinkOwnersResponse, error) { + out := new(QueryApplicationLinkOwnersResponse) + err := c.cc.Invoke(ctx, "/desmos.profiles.v2.Query/ApplicationLinkOwners", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { out := new(QueryParamsResponse) err := c.cc.Invoke(ctx, "/desmos.profiles.v2.Query/Params", in, out, opts...) @@ -182,6 +197,9 @@ type QueryServer interface { // ApplicationLinkByClientID queries a single application link for a given // client id. ApplicationLinkByClientID(context.Context, *QueryApplicationLinkByClientIDRequest) (*QueryApplicationLinkByClientIDResponse, error) + // ApplicationLinkOwners queries for the owners of applications links, + // optionally searching for a specific application and username. + ApplicationLinkOwners(context.Context, *QueryApplicationLinkOwnersRequest) (*QueryApplicationLinkOwnersResponse, error) // Params queries the profiles module params Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) } @@ -205,6 +223,9 @@ func (*UnimplementedQueryServer) ApplicationLinks(ctx context.Context, req *Quer func (*UnimplementedQueryServer) ApplicationLinkByClientID(ctx context.Context, req *QueryApplicationLinkByClientIDRequest) (*QueryApplicationLinkByClientIDResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplicationLinkByClientID not implemented") } +func (*UnimplementedQueryServer) ApplicationLinkOwners(ctx context.Context, req *QueryApplicationLinkOwnersRequest) (*QueryApplicationLinkOwnersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApplicationLinkOwners not implemented") +} func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } @@ -303,6 +324,24 @@ func _Query_ApplicationLinkByClientID_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _Query_ApplicationLinkOwners_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryApplicationLinkOwnersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ApplicationLinkOwners(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/desmos.profiles.v2.Query/ApplicationLinkOwners", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ApplicationLinkOwners(ctx, req.(*QueryApplicationLinkOwnersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryParamsRequest) if err := dec(in); err != nil { @@ -345,6 +384,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "ApplicationLinkByClientID", Handler: _Query_ApplicationLinkByClientID_Handler, }, + { + MethodName: "ApplicationLinkOwners", + Handler: _Query_ApplicationLinkOwners_Handler, + }, { MethodName: "Params", Handler: _Query_Params_Handler, diff --git a/x/profiles/types/query_app_links.pb.go b/x/profiles/types/query_app_links.pb.go index 12c433a095..a5129cd1b3 100644 --- a/x/profiles/types/query_app_links.pb.go +++ b/x/profiles/types/query_app_links.pb.go @@ -254,11 +254,201 @@ func (m *QueryApplicationLinkByClientIDResponse) GetLink() ApplicationLink { return ApplicationLink{} } +// QueryApplicationLinkOwnersRequest contains the data of the request that can +// be used to get application link owners +type QueryApplicationLinkOwnersRequest struct { + // (Optional) Application name to search link owners of. If not specified, all + // links stored will be searched instead. + Application string `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"` + // (Optional) Username to search for. This will only be used if the + // application is specified as well + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + // Pagination defines an optional pagination for the request + Pagination *query.PageRequest `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryApplicationLinkOwnersRequest) Reset() { *m = QueryApplicationLinkOwnersRequest{} } +func (m *QueryApplicationLinkOwnersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryApplicationLinkOwnersRequest) ProtoMessage() {} +func (*QueryApplicationLinkOwnersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_df55d222350c3dbf, []int{4} +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryApplicationLinkOwnersRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryApplicationLinkOwnersRequest.Merge(m, src) +} +func (m *QueryApplicationLinkOwnersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryApplicationLinkOwnersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryApplicationLinkOwnersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryApplicationLinkOwnersRequest proto.InternalMessageInfo + +func (m *QueryApplicationLinkOwnersRequest) GetApplication() string { + if m != nil { + return m.Application + } + return "" +} + +func (m *QueryApplicationLinkOwnersRequest) GetUsername() string { + if m != nil { + return m.Username + } + return "" +} + +func (m *QueryApplicationLinkOwnersRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination + } + return nil +} + +// QueryApplicationLinkOwnersResponse contains the data returned by the request +// allowing to get application link owners. +type QueryApplicationLinkOwnersResponse struct { + // Addresses of the application links owners + Owners []QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails `protobuf:"bytes,1,rep,name=owners,proto3" json:"owners"` + // Pagination defines the pagination response + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryApplicationLinkOwnersResponse) Reset() { *m = QueryApplicationLinkOwnersResponse{} } +func (m *QueryApplicationLinkOwnersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryApplicationLinkOwnersResponse) ProtoMessage() {} +func (*QueryApplicationLinkOwnersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_df55d222350c3dbf, []int{5} +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryApplicationLinkOwnersResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryApplicationLinkOwnersResponse.Merge(m, src) +} +func (m *QueryApplicationLinkOwnersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryApplicationLinkOwnersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryApplicationLinkOwnersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryApplicationLinkOwnersResponse proto.InternalMessageInfo + +func (m *QueryApplicationLinkOwnersResponse) GetOwners() []QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails { + if m != nil { + return m.Owners + } + return nil +} + +func (m *QueryApplicationLinkOwnersResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination + } + return nil +} + +type QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails struct { + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Application string `protobuf:"bytes,2,opt,name=application,proto3" json:"application,omitempty"` + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Reset() { + *m = QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{} +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) String() string { + return proto.CompactTextString(m) +} +func (*QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) ProtoMessage() {} +func (*QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_df55d222350c3dbf, []int{5, 0} +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails.Merge(m, src) +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_Size() int { + return m.Size() +} +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) XXX_DiscardUnknown() { + xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails proto.InternalMessageInfo + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) GetUser() string { + if m != nil { + return m.User + } + return "" +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) GetApplication() string { + if m != nil { + return m.Application + } + return "" +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) GetUsername() string { + if m != nil { + return m.Username + } + return "" +} + func init() { proto.RegisterType((*QueryApplicationLinksRequest)(nil), "desmos.profiles.v2.QueryApplicationLinksRequest") proto.RegisterType((*QueryApplicationLinksResponse)(nil), "desmos.profiles.v2.QueryApplicationLinksResponse") proto.RegisterType((*QueryApplicationLinkByClientIDRequest)(nil), "desmos.profiles.v2.QueryApplicationLinkByClientIDRequest") proto.RegisterType((*QueryApplicationLinkByClientIDResponse)(nil), "desmos.profiles.v2.QueryApplicationLinkByClientIDResponse") + proto.RegisterType((*QueryApplicationLinkOwnersRequest)(nil), "desmos.profiles.v2.QueryApplicationLinkOwnersRequest") + proto.RegisterType((*QueryApplicationLinkOwnersResponse)(nil), "desmos.profiles.v2.QueryApplicationLinkOwnersResponse") + proto.RegisterType((*QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails)(nil), "desmos.profiles.v2.QueryApplicationLinkOwnersResponse.ApplicationLinkOwnerDetails") } func init() { @@ -266,36 +456,40 @@ func init() { } var fileDescriptor_df55d222350c3dbf = []byte{ - // 450 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0x41, 0x6f, 0xd3, 0x30, - 0x14, 0xc7, 0xeb, 0xad, 0xa0, 0xcd, 0xbd, 0x59, 0x1c, 0xb2, 0x30, 0x42, 0x55, 0xc4, 0x28, 0x48, - 0xd8, 0x6a, 0x77, 0x46, 0x88, 0x32, 0x81, 0x26, 0x38, 0x40, 0x8f, 0x5c, 0x2a, 0x27, 0xf1, 0x8c, - 0x45, 0x62, 0x7b, 0xb1, 0x13, 0x91, 0x6f, 0xc1, 0xd7, 0xe0, 0x1b, 0xf0, 0x11, 0x76, 0xdc, 0x91, - 0x13, 0x42, 0xed, 0x17, 0x41, 0xb1, 0x3d, 0xba, 0x8d, 0xa1, 0x6a, 0x37, 0xbf, 0xf7, 0xff, 0xbf, - 0xf7, 0x7e, 0xef, 0x25, 0x70, 0x9c, 0x33, 0x53, 0x2a, 0x43, 0x74, 0xa5, 0x4e, 0x44, 0xc1, 0x0c, - 0x69, 0xa6, 0xe4, 0xb4, 0x66, 0x55, 0xbb, 0xa0, 0x5a, 0x2f, 0x0a, 0x21, 0xbf, 0x18, 0xac, 0x2b, - 0x65, 0x15, 0x42, 0xde, 0x89, 0x2f, 0x9c, 0xb8, 0x99, 0xc6, 0xf7, 0xb8, 0xe2, 0xca, 0xc9, 0xa4, - 0x7b, 0x79, 0x67, 0xbc, 0xcf, 0x95, 0xe2, 0x05, 0x23, 0x54, 0x0b, 0x42, 0xa5, 0x54, 0x96, 0x5a, - 0xa1, 0x64, 0xe8, 0x13, 0xef, 0x05, 0xd5, 0x45, 0x69, 0x7d, 0x42, 0xa8, 0x6c, 0x83, 0xf4, 0xf4, - 0x06, 0x98, 0x52, 0xe5, 0xac, 0x30, 0xd7, 0x69, 0xe2, 0xbd, 0x4c, 0x75, 0xd6, 0x85, 0x1f, 0xee, - 0x83, 0x20, 0x3d, 0xf3, 0x11, 0x49, 0xa9, 0x61, 0x7e, 0x17, 0xd2, 0x4c, 0x52, 0x66, 0xe9, 0x84, - 0x68, 0xca, 0x85, 0x74, 0x34, 0xde, 0x3b, 0xfa, 0x01, 0xe0, 0xfe, 0xc7, 0xce, 0xf2, 0x4a, 0xeb, - 0x42, 0x64, 0x4e, 0x7a, 0xdf, 0x8d, 0x99, 0xb3, 0xd3, 0x9a, 0x19, 0x8b, 0x10, 0xec, 0xd7, 0x86, - 0x55, 0x11, 0x18, 0x82, 0xf1, 0xee, 0xdc, 0xbd, 0xd1, 0x10, 0x0e, 0xe8, 0xda, 0x1e, 0x6d, 0x39, - 0xe9, 0x72, 0x0a, 0xc5, 0x70, 0xa7, 0x73, 0x4a, 0x5a, 0xb2, 0x68, 0xdb, 0xc9, 0x7f, 0x63, 0xf4, - 0x06, 0xc2, 0x35, 0x46, 0xd4, 0x1f, 0x82, 0xf1, 0x60, 0x7a, 0x80, 0xc3, 0x06, 0x1d, 0x33, 0x76, - 0xcc, 0x38, 0x30, 0xe3, 0x0f, 0x94, 0xb3, 0x40, 0x33, 0xbf, 0x54, 0x39, 0xfa, 0x0e, 0xe0, 0x83, - 0xff, 0xa0, 0x1b, 0xad, 0xa4, 0x61, 0xe8, 0x25, 0xbc, 0xe3, 0x4e, 0x16, 0x81, 0xe1, 0xf6, 0x78, - 0x30, 0x7d, 0x84, 0xff, 0xfd, 0x82, 0xf8, 0x5a, 0xf1, 0xac, 0x7f, 0xf6, 0xeb, 0x61, 0x6f, 0xee, - 0xeb, 0xd0, 0xdb, 0x2b, 0xa8, 0x5b, 0x0e, 0xf5, 0xc9, 0x46, 0x54, 0x3f, 0xfd, 0x0a, 0xeb, 0x11, - 0x7c, 0x7c, 0x13, 0xea, 0xac, 0x7d, 0x5d, 0x08, 0x26, 0xed, 0xf1, 0xd1, 0xc5, 0xb9, 0xef, 0xc3, - 0xdd, 0xcc, 0xa5, 0x16, 0x22, 0x0f, 0x37, 0xdf, 0xf1, 0x89, 0xe3, 0x7c, 0xc4, 0xe1, 0xc1, 0xa6, - 0x2e, 0x61, 0xf3, 0x17, 0xb0, 0xdf, 0x6d, 0xe0, 0x3a, 0xdc, 0x6a, 0x71, 0x57, 0x36, 0x7b, 0x77, - 0xb6, 0x4c, 0xc0, 0xf9, 0x32, 0x01, 0xbf, 0x97, 0x09, 0xf8, 0xb6, 0x4a, 0x7a, 0xe7, 0xab, 0xa4, - 0xf7, 0x73, 0x95, 0xf4, 0x3e, 0x4d, 0xb8, 0xb0, 0x9f, 0xeb, 0x14, 0x67, 0xaa, 0x24, 0xbe, 0xe9, - 0xf3, 0x82, 0xa6, 0x26, 0xbc, 0x49, 0x73, 0x48, 0xbe, 0xae, 0xff, 0x5e, 0xdb, 0x6a, 0x66, 0xd2, - 0xbb, 0xee, 0x4f, 0x3b, 0xfc, 0x13, 0x00, 0x00, 0xff, 0xff, 0x70, 0x72, 0x08, 0x47, 0x6a, 0x03, - 0x00, 0x00, + // 521 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xc1, 0x6e, 0x13, 0x31, + 0x10, 0x8d, 0x93, 0x50, 0xb5, 0xce, 0xcd, 0xe2, 0x90, 0x6e, 0xcb, 0x12, 0x82, 0x28, 0x01, 0x09, + 0x5b, 0x49, 0xcf, 0x08, 0x11, 0x22, 0x50, 0x05, 0x12, 0xb0, 0x47, 0x2e, 0x91, 0x37, 0x71, 0x17, + 0x8b, 0x8d, 0xed, 0xae, 0xbd, 0x81, 0xfc, 0x05, 0xbf, 0xc1, 0x1f, 0xf0, 0x09, 0x3d, 0xe6, 0xc8, + 0x09, 0xa1, 0xe4, 0x47, 0xd0, 0xda, 0x6e, 0xd3, 0x86, 0x25, 0x11, 0xa8, 0x37, 0xcf, 0xbc, 0x37, + 0x33, 0x6f, 0x5e, 0x26, 0x0b, 0x3b, 0x63, 0xa6, 0x27, 0x52, 0x13, 0x95, 0xc9, 0x53, 0x9e, 0x32, + 0x4d, 0xa6, 0x3d, 0x72, 0x96, 0xb3, 0x6c, 0x36, 0xa4, 0x4a, 0x0d, 0x53, 0x2e, 0x3e, 0x69, 0xac, + 0x32, 0x69, 0x24, 0x42, 0x8e, 0x89, 0x2f, 0x98, 0x78, 0xda, 0x0b, 0x6e, 0x27, 0x32, 0x91, 0x16, + 0x26, 0xc5, 0xcb, 0x31, 0x83, 0xc3, 0x44, 0xca, 0x24, 0x65, 0x84, 0x2a, 0x4e, 0xa8, 0x10, 0xd2, + 0x50, 0xc3, 0xa5, 0xf0, 0x7d, 0x82, 0x7d, 0x8f, 0xda, 0x28, 0xce, 0x4f, 0x09, 0x15, 0x33, 0x0f, + 0x3d, 0x2a, 0x11, 0x33, 0x91, 0x63, 0x96, 0xea, 0x75, 0x35, 0xc1, 0xfe, 0x48, 0x16, 0xd4, 0xa1, + 0x1b, 0xee, 0x02, 0x0f, 0x3d, 0x76, 0x11, 0x89, 0xa9, 0x66, 0x6e, 0x17, 0x32, 0xed, 0xc6, 0xcc, + 0xd0, 0x2e, 0x51, 0x34, 0xe1, 0xc2, 0xaa, 0x71, 0xdc, 0xf6, 0x77, 0x00, 0x0f, 0xdf, 0x17, 0x94, + 0xe7, 0x4a, 0xa5, 0x7c, 0x64, 0xa1, 0x37, 0xc5, 0x98, 0x88, 0x9d, 0xe5, 0x4c, 0x1b, 0x84, 0x60, + 0x3d, 0xd7, 0x2c, 0x6b, 0x82, 0x16, 0xe8, 0xec, 0x45, 0xf6, 0x8d, 0x5a, 0xb0, 0x41, 0x57, 0xf4, + 0x66, 0xd5, 0x42, 0x57, 0x53, 0x28, 0x80, 0xbb, 0x05, 0x53, 0xd0, 0x09, 0x6b, 0xd6, 0x2c, 0x7c, + 0x19, 0xa3, 0x97, 0x10, 0xae, 0x64, 0x34, 0xeb, 0x2d, 0xd0, 0x69, 0xf4, 0x8e, 0xb0, 0xdf, 0xa0, + 0xd0, 0x8c, 0xad, 0x66, 0xec, 0x35, 0xe3, 0x77, 0x34, 0x61, 0x5e, 0x4d, 0x74, 0xa5, 0xb2, 0xfd, + 0x0d, 0xc0, 0x3b, 0x7f, 0x91, 0xae, 0x95, 0x14, 0x9a, 0xa1, 0x67, 0xf0, 0x96, 0xb5, 0xac, 0x09, + 0x5a, 0xb5, 0x4e, 0xa3, 0x77, 0x1f, 0xff, 0xf9, 0x0b, 0xe2, 0xb5, 0xe2, 0x7e, 0xfd, 0xfc, 0xe7, + 0xdd, 0x4a, 0xe4, 0xea, 0xd0, 0xab, 0x6b, 0x52, 0xab, 0x56, 0xea, 0xc3, 0xad, 0x52, 0xdd, 0xf4, + 0x6b, 0x5a, 0x07, 0xf0, 0x41, 0x99, 0xd4, 0xfe, 0xec, 0x45, 0xca, 0x99, 0x30, 0x27, 0x83, 0x0b, + 0xbb, 0x0f, 0xe0, 0xde, 0xc8, 0xa6, 0x86, 0x7c, 0xec, 0x3d, 0xdf, 0x75, 0x89, 0x93, 0x71, 0x3b, + 0x81, 0x47, 0xdb, 0xba, 0xf8, 0xcd, 0x9f, 0xc2, 0x7a, 0xb1, 0x81, 0xed, 0xf0, 0x4f, 0x8b, 0xdb, + 0xb2, 0xc2, 0xda, 0x7b, 0x65, 0x93, 0xde, 0x7e, 0x16, 0x2c, 0xbb, 0x3c, 0x8d, 0xb5, 0x33, 0x00, + 0x9b, 0xcf, 0xa0, 0xba, 0xf1, 0x0c, 0x6a, 0xff, 0x7d, 0x06, 0xf3, 0x2a, 0x6c, 0x6f, 0xd2, 0xea, + 0x1d, 0x51, 0x70, 0x47, 0xda, 0x8c, 0x3f, 0x86, 0xa8, 0xcc, 0x93, 0xed, 0x7d, 0x70, 0x19, 0x3a, + 0x60, 0x86, 0xf2, 0x54, 0x7b, 0x0b, 0xfd, 0x9c, 0x1b, 0x3b, 0x9e, 0x40, 0xc2, 0x83, 0x0d, 0x53, + 0x6f, 0xfe, 0x1f, 0xda, 0x7f, 0x7d, 0xbe, 0x08, 0xc1, 0x7c, 0x11, 0x82, 0x5f, 0x8b, 0x10, 0x7c, + 0x5d, 0x86, 0x95, 0xf9, 0x32, 0xac, 0xfc, 0x58, 0x86, 0x95, 0x0f, 0xdd, 0x84, 0x9b, 0x8f, 0x79, + 0x8c, 0x47, 0x72, 0x42, 0x9c, 0x7f, 0x4f, 0x52, 0x1a, 0x6b, 0xff, 0x26, 0xd3, 0x63, 0xf2, 0x65, + 0xf5, 0xf1, 0x32, 0x33, 0xc5, 0x74, 0xbc, 0x63, 0x3f, 0x34, 0xc7, 0xbf, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x13, 0x54, 0x76, 0x6c, 0x69, 0x05, 0x00, 0x00, } func (m *QueryApplicationLinksRequest) Marshal() (dAtA []byte, err error) { @@ -466,6 +660,148 @@ func (m *QueryApplicationLinkByClientIDResponse) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } +func (m *QueryApplicationLinkOwnersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryApplicationLinkOwnersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryApplicationLinkOwnersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryAppLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.Username) > 0 { + i -= len(m.Username) + copy(dAtA[i:], m.Username) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Username))) + i-- + dAtA[i] = 0x12 + } + if len(m.Application) > 0 { + i -= len(m.Application) + copy(dAtA[i:], m.Application) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Application))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryApplicationLinkOwnersResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryApplicationLinkOwnersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryApplicationLinkOwnersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryAppLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Owners) > 0 { + for iNdEx := len(m.Owners) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Owners[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryAppLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Username) > 0 { + i -= len(m.Username) + copy(dAtA[i:], m.Username) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Username))) + i-- + dAtA[i] = 0x1a + } + if len(m.Application) > 0 { + i -= len(m.Application) + copy(dAtA[i:], m.Application) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.Application))) + i-- + dAtA[i] = 0x12 + } + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintQueryAppLinks(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQueryAppLinks(dAtA []byte, offset int, v uint64) int { offset -= sovQueryAppLinks(v) base := offset @@ -545,13 +881,376 @@ func (m *QueryApplicationLinkByClientIDResponse) Size() (n int) { return n } -func sovQueryAppLinks(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQueryAppLinks(x uint64) (n int) { - return sovQueryAppLinks(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +func (m *QueryApplicationLinkOwnersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Application) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + l = len(m.Username) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + return n +} + +func (m *QueryApplicationLinkOwnersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Owners) > 0 { + for _, e := range m.Owners { + l = e.Size() + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + return n +} + +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.User) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + l = len(m.Application) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + l = len(m.Username) + if l > 0 { + n += 1 + l + sovQueryAppLinks(uint64(l)) + } + return n +} + +func sovQueryAppLinks(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQueryAppLinks(x uint64) (n int) { + return sovQueryAppLinks(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinksRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinksRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Application", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Application = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Username = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinksResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinksResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Links = append(m.Links, ApplicationLink{}) + if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil } -func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { +func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -574,15 +1273,15 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinksRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinksRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -610,9 +1309,142 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.User = string(dAtA[iNdEx:postIndex]) + m.ClientId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryApplicationLinkByClientIDResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryAppLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Link.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryAppLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryApplicationLinkOwnersRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryApplicationLinkOwnersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryApplicationLinkOwnersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Application", wireType) } @@ -644,7 +1476,7 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { } m.Application = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType) } @@ -676,7 +1508,7 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { } m.Username = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } @@ -733,7 +1565,7 @@ func (m *QueryApplicationLinksRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { +func (m *QueryApplicationLinkOwnersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -756,15 +1588,15 @@ func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinksResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryApplicationLinkOwnersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinksResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryApplicationLinkOwnersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Owners", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -791,8 +1623,8 @@ func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Links = append(m.Links, ApplicationLink{}) - if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Owners = append(m.Owners, QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{}) + if err := m.Owners[len(m.Owners)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -853,7 +1685,7 @@ func (m *QueryApplicationLinksResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { +func (m *QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -876,15 +1708,15 @@ func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ApplicationLinkOwnerDetails: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ApplicationLinkOwnerDetails: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClientId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -912,63 +1744,45 @@ func (m *QueryApplicationLinkByClientIDRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ClientId = string(dAtA[iNdEx:postIndex]) + m.User = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQueryAppLinks(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Application", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQueryAppLinks + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryAppLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryAppLinks } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryApplicationLinkByClientIDResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQueryAppLinks + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryAppLinks } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryApplicationLinkByClientIDResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.Application = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQueryAppLinks @@ -978,24 +1792,23 @@ func (m *QueryApplicationLinkByClientIDResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQueryAppLinks } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQueryAppLinks } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Link.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Username = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex From c6430931d8ca6d0e4e248fc06ad7bc5552a4a32e Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Tue, 22 Mar 2022 11:41:30 +0000 Subject: [PATCH 11/19] feat: added chain link owners keys --- x/profiles/keeper/keeper_chain_links.go | 7 +-- x/profiles/legacy/v5/store.go | 58 +++++++++++++++++-------- x/profiles/types/keys.go | 19 +++++++- 3 files changed, 62 insertions(+), 22 deletions(-) diff --git a/x/profiles/keeper/keeper_chain_links.go b/x/profiles/keeper/keeper_chain_links.go index 3f7bcd944e..fc69952b9d 100644 --- a/x/profiles/keeper/keeper_chain_links.go +++ b/x/profiles/keeper/keeper_chain_links.go @@ -42,10 +42,10 @@ func (k Keeper) SaveChainLink(ctx sdk.Context, link types.ChainLink) error { return types.ErrDuplicatedChainLink } - // Set chain link -> address association + // Store the data store := ctx.KVStore(k.storeKey) - key := types.ChainLinksStoreKey(link.User, link.ChainConfig.Name, target) - store.Set(key, types.MustMarshalChainLink(k.cdc, link)) + store.Set(types.ChainLinksStoreKey(link.User, link.ChainConfig.Name, target), types.MustMarshalChainLink(k.cdc, link)) + store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, target, link.User), []byte(link.User)) k.AfterChainLinkSaved(ctx, link) @@ -75,6 +75,7 @@ func (k Keeper) GetChainLink(ctx sdk.Context, owner, chainName, target string) ( func (k Keeper) DeleteChainLink(ctx sdk.Context, link types.ChainLink) { store := ctx.KVStore(k.storeKey) store.Delete(types.ChainLinksStoreKey(link.User, link.ChainConfig.Name, link.GetAddressData().GetValue())) + store.Delete(types.ChainLinkOwnerKey(link.ChainConfig.Name, link.GetAddressData().GetValue(), link.User)) k.AfterChainLinkDeleted(ctx, link) } diff --git a/x/profiles/legacy/v5/store.go b/x/profiles/legacy/v5/store.go index b6e1f2def4..a7b164a4fe 100644 --- a/x/profiles/legacy/v5/store.go +++ b/x/profiles/legacy/v5/store.go @@ -18,6 +18,22 @@ func MigrateStore(ctx sdk.Context, storeKey sdk.StoreKey, cdc codec.BinaryCodec) store := ctx.KVStore(storeKey) // Fix the application links + err := fixApplicationLinks(store, cdc) + if err != nil { + return err + } + + // Fix the chain links + err = fixChainLinks(store, cdc) + if err != nil { + return err + } + + return nil +} + +// fixApplicationLinks fixes the application links by adding the missing owner keys +func fixApplicationLinks(store sdk.KVStore, cdc codec.BinaryCodec) error { applicationLinksStore := prefix.NewStore(store, types.ApplicationLinkPrefix) applicationLinksIterator := applicationLinksStore.Iterator(nil, nil) @@ -38,24 +54,30 @@ func MigrateStore(ctx sdk.Context, storeKey sdk.StoreKey, cdc codec.BinaryCodec) store.Set(types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User), []byte(link.User)) } - // Fix the chain links - TODO - //chainLinkStore := prefix.NewStore(store, types.ChainLinksPrefix) - //chainLinksIterator := chainLinkStore.Iterator(nil, nil) - // - //var chainLinks []types.ChainLink - //for ; chainLinksIterator.Valid(); chainLinksIterator.Next() { - // var chainLink types.ChainLink - // err := cdc.Unmarshal(chainLinksIterator.Value(), &chainLink) - // if err != nil { - // return err - // } - // - // chainLinks = append(chainLinks, chainLink) - //} - // - //for _, link := range chainLinks { - // store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, link.GetAddressData().GetValue(), link.User), []byte(link.User)) - //} + return nil +} + +// fixChainLinks fixes the chain links by adding the missing owner keys +func fixChainLinks(store sdk.KVStore, cdc codec.BinaryCodec) error { + chainLinkStore := prefix.NewStore(store, types.ChainLinksPrefix) + chainLinksIterator := chainLinkStore.Iterator(nil, nil) + + var chainLinks []types.ChainLink + for ; chainLinksIterator.Valid(); chainLinksIterator.Next() { + var chainLink types.ChainLink + err := cdc.Unmarshal(chainLinksIterator.Value(), &chainLink) + if err != nil { + return err + } + + chainLinks = append(chainLinks, chainLink) + } + + chainLinksIterator.Close() + + for _, link := range chainLinks { + store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, link.GetAddressData().GetValue(), link.User), []byte(link.User)) + } return nil } diff --git a/x/profiles/types/keys.go b/x/profiles/types/keys.go index af448a5741..875712e1ad 100644 --- a/x/profiles/types/keys.go +++ b/x/profiles/types/keys.go @@ -42,7 +42,9 @@ var ( ChainLinksPrefix = []byte{0x12} ApplicationLinkPrefix = []byte{0x13} ApplicationLinkClientIDPrefix = []byte{0x14} - ApplicationLinkAppPrefix = []byte{0x15} + + ChainLinkChainPrefix = []byte{0x15} + ApplicationLinkAppPrefix = []byte{0x16} ) // DTagStoreKey turns a DTag into the key used to store the address associated with it into the store @@ -77,6 +79,21 @@ func ChainLinksStoreKey(user, chainName, address string) []byte { return append(UserChainLinksChainPrefix(user, chainName), []byte(address)...) } +// ChainLinkChainKey returns the key used to store all the chain links associated to the chain with the given name +func ChainLinkChainKey(chainName string) []byte { + return append(ChainLinkChainPrefix, []byte(chainName)...) +} + +// ChainLinkChainAddressKey returns the key used to store all the links for the given chain and external address +func ChainLinkChainAddressKey(chainName, address string) []byte { + return append(ChainLinkChainKey(chainName), []byte(address)...) +} + +// ChainLinkOwnerKey returns the key to store the owner of the chain link to the given chain and external address +func ChainLinkOwnerKey(chainName, address, owner string) []byte { + return append(ChainLinkChainAddressKey(chainName, address), []byte(owner)...) +} + // UserApplicationLinksPrefix returns the store prefix used to identify all the application links for the given user func UserApplicationLinksPrefix(user string) []byte { return append(ApplicationLinkPrefix, []byte(user)...) From 4bc9c288ca7936fe5e5ed786b5bb81d33a4bcc1c Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Tue, 22 Mar 2022 11:42:37 +0000 Subject: [PATCH 12/19] chore: updated module version --- x/profiles/module.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/profiles/module.go b/x/profiles/module.go index 1c616cd353..dbce099c3e 100644 --- a/x/profiles/module.go +++ b/x/profiles/module.go @@ -28,7 +28,7 @@ import ( ) const ( - consensusVersion = 5 + consensusVersion = 6 ) // type check to ensure the interface is properly implemented From 996e2f87c63ca4f53d8c381de0632fcda8a38ea2 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Tue, 22 Mar 2022 13:59:32 +0000 Subject: [PATCH 13/19] started working on chain links rever search querier --- proto/desmos/profiles/v2/query.proto | 7 + .../desmos/profiles/v2/query_app_links.proto | 2 + .../profiles/v2/query_chain_links.proto | 32 + x/profiles/keeper/grpc_query.go | 38 + x/profiles/keeper/grpc_query_test.go | 70 +- x/profiles/types/keys.go | 2 +- x/profiles/types/query.pb.go | 118 ++- x/profiles/types/query.pb.gw.go | 80 ++ x/profiles/types/query_app_links.go | 5 +- x/profiles/types/query_app_links.pb.go | 2 + x/profiles/types/query_chain_links.go | 9 + x/profiles/types/query_chain_links.pb.go | 902 +++++++++++++++++- 12 files changed, 1178 insertions(+), 89 deletions(-) diff --git a/proto/desmos/profiles/v2/query.proto b/proto/desmos/profiles/v2/query.proto index 089c4d0dac..7a5d7d3b37 100644 --- a/proto/desmos/profiles/v2/query.proto +++ b/proto/desmos/profiles/v2/query.proto @@ -36,6 +36,13 @@ service Query { option (google.api.http).get = "/desmos/profiles/v2/chain-links"; } + // ChainLinkOwners queries for the owners of chain links, optionally searching + // for a specific chain name and external address + rpc ChainLinkOwners(QueryChainLinkOwnersRequest) + returns (QueryChainLinkOwnersResponse) { + option (google.api.http).get = "/desmos/profiles/v2/chain-links/owners"; + } + // ApplicationLinks queries the applications links associated to the given // user, if provided. Otherwise, it queries all the application links stored. rpc ApplicationLinks(QueryApplicationLinksRequest) diff --git a/proto/desmos/profiles/v2/query_app_links.proto b/proto/desmos/profiles/v2/query_app_links.proto index c5d96864ef..eb860f41ca 100644 --- a/proto/desmos/profiles/v2/query_app_links.proto +++ b/proto/desmos/profiles/v2/query_app_links.proto @@ -69,6 +69,8 @@ message QueryApplicationLinkOwnersRequest { // QueryApplicationLinkOwnersResponse contains the data returned by the request // allowing to get application link owners. message QueryApplicationLinkOwnersResponse { + // ApplicationLinkOwnerDetails contains the details of a single application + // link owner message ApplicationLinkOwnerDetails { string user = 1; string application = 2; diff --git a/proto/desmos/profiles/v2/query_chain_links.proto b/proto/desmos/profiles/v2/query_chain_links.proto index e7898b3782..336ce729cc 100644 --- a/proto/desmos/profiles/v2/query_chain_links.proto +++ b/proto/desmos/profiles/v2/query_chain_links.proto @@ -38,3 +38,35 @@ message QueryChainLinksResponse { // Pagination defines the pagination response cosmos.base.query.v1beta1.PageResponse pagination = 2; } + +// QueryChainLinkOwnersRequest contains the data of the request that can +// be used to get chain link owners +message QueryChainLinkOwnersRequest { + // (Optional) Chain name to search link owners of. If not specified, all + // links stored will be searched instead. + string chain_name = 1; + + // (Optional) External address to search for. This will only be used if the + // chain name is specified as well + string target = 2; + + // Pagination defines an optional pagination for the request + cosmos.base.query.v1beta1.PageRequest pagination = 3; +} + +// QueryChainLinkOwnersResponse contains the data returned by the request +// allowing to get chain link owners. +message QueryChainLinkOwnersResponse { + // ChainLinkOwnerDetails contains the details of a single chain link owner + message ChainLinkOwnerDetails { + string user = 1; + string chain_name = 2; + string target = 3; + } + + // Addresses of the chain links owners + repeated ChainLinkOwnerDetails owners = 1 [ (gogoproto.nullable) = false ]; + + // Pagination defines the pagination response + cosmos.base.query.v1beta1.PageResponse pagination = 2; +} \ No newline at end of file diff --git a/x/profiles/keeper/grpc_query.go b/x/profiles/keeper/grpc_query.go index 38720fe9d9..fa356e45c6 100644 --- a/x/profiles/keeper/grpc_query.go +++ b/x/profiles/keeper/grpc_query.go @@ -123,6 +123,43 @@ func (k Keeper) ChainLinks(ctx context.Context, request *types.QueryChainLinksRe return &types.QueryChainLinksResponse{Links: links, Pagination: pageRes}, nil } +// ChainLinkOwners implements the Query/ChainLinkOwners gRPC method +func (k Keeper) ChainLinkOwners(ctx context.Context, request *types.QueryChainLinkOwnersRequest) (*types.QueryChainLinkOwnersResponse, error) { + sdkCtx := sdk.UnwrapSDKContext(ctx) + store := sdkCtx.KVStore(k.storeKey) + + ownersPrefix := types.ChainLinkChainPrefix + switch { + case request.ChainName != "" && request.Target != "": + ownersPrefix = types.ChainLinkChainAddressKey(request.ChainName, request.Target) + case request.ChainName != "": + ownersPrefix = types.ChainLinkChainKey(request.ChainName) + } + + var owners []types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails + ownersStore := prefix.NewStore(store, ownersPrefix) + pageRes, err := query.Paginate(ownersStore, request.Pagination, func(key []byte, value []byte) error { + keyWithPrefix := append(ownersPrefix, key...) + cleanedKey := bytes.TrimSuffix(bytes.TrimPrefix(keyWithPrefix, types.ChainLinkChainPrefix), value) + values := bytes.Split(cleanedKey, types.Separator) + chainName, target := values[0], values[1] + + owners = append(owners, types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails{ + User: string(value), + ChainName: string(chainName), + Target: string(target), + }) + + return nil + }) + + if err != nil { + return nil, status.Error(codes.Internal, err.Error()) + } + + return &types.QueryChainLinkOwnersResponse{Owners: owners, Pagination: pageRes}, nil +} + // ApplicationLinks implements the Query/ApplicationLinks gRPC method func (k Keeper) ApplicationLinks(ctx context.Context, request *types.QueryApplicationLinksRequest) (*types.QueryApplicationLinksResponse, error) { sdkCtx := sdk.UnwrapSDKContext(ctx) @@ -201,6 +238,7 @@ func (k Keeper) ApplicationLinkOwners(ctx context.Context, request *types.QueryA Application: string(application), Username: string(username), }) + return nil }) diff --git a/x/profiles/keeper/grpc_query_test.go b/x/profiles/keeper/grpc_query_test.go index 26e4659bf3..d69eed9d57 100644 --- a/x/profiles/keeper/grpc_query_test.go +++ b/x/profiles/keeper/grpc_query_test.go @@ -518,6 +518,66 @@ func (suite *KeeperTestSuite) TestQueryServer_ChainLinks() { } } +func (suite *KeeperTestSuite) TestQueryServer_ChainLinkOwners() { + testCases := []struct { + name string + store func(ctx sdk.Context) + request *types.QueryChainLinkOwnersRequest + shouldErr bool + expOwners []types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails + }{ + { + name: "query without any data returns everything", + store: func(ctx sdk.Context) { + suite.Require().NoError(suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewBech32Address("cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", "cosmos"), + types.NewProof( + testutil.PubKeyFromBech32("cosmospub1addwnpepqvryxhhqhw52c4ny5twtfzf3fsrjqhx0x5cuya0fylw0wu0eqptykeqhr4d"), + testutil.SingleSignatureProtoFromHex("909e38994b1583d3f14384c2e9a03c90064e8fd8e19b780bb0ba303dfe671a27287da04d0ce096ce9a140bd070ee36818f5519eb2070a16971efd8143855524b"), + "74657874", + ), + types.NewChainConfig("cosmos"), + time.Date(2019, 1, 1, 00, 00, 00, 000, time.UTC), + ))) + }, + request: types.NewQueryChainLinkOwnersRequest("", "", nil), + }, + { + name: "query with chain name returns the correct data", + store: func(ctx sdk.Context) { + + }, + request: types.NewQueryChainLinkOwnersRequest("cosmos", "", nil), + }, + { + name: "query with chain name and target returns the correct data", + store: func(ctx sdk.Context) { + + }, + request: types.NewQueryChainLinkOwnersRequest("cosmos", "xxx", nil), + }, + } + + for _, tc := range testCases { + tc := tc + suite.Run(tc.name, func() { + ctx, _ := suite.ctx.CacheContext() + if tc.store != nil { + tc.store(ctx) + } + + res, err := suite.k.ChainLinkOwners(sdk.WrapSDKContext(ctx), tc.request) + if tc.shouldErr { + suite.Require().Error(err) + } else { + suite.Require().NoError(err) + suite.Require().Equal(tc.expOwners, res.Owners) + } + }) + } +} + func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinks() { testCases := []struct { name string @@ -987,7 +1047,7 @@ func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinkOwners() { )), ) }, - req: types.NewQueryApplicationLinkOwnersRequest("", ""), + req: types.NewQueryApplicationLinkOwnersRequest("", "", nil), shouldErr: false, expOwners: []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ { @@ -1003,7 +1063,7 @@ func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinkOwners() { }, }, { - name: "query with application returns only that application links", + name: "query with application returns the correct data", store: func(ctx sdk.Context) { profile := testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47") suite.ak.SetAccount(ctx, profile) @@ -1074,7 +1134,7 @@ func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinkOwners() { )), ) }, - req: types.NewQueryApplicationLinkOwnersRequest("twitter", ""), + req: types.NewQueryApplicationLinkOwnersRequest("twitter", "", nil), shouldErr: false, expOwners: []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ { @@ -1090,7 +1150,7 @@ func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinkOwners() { }, }, { - name: "query with application and username returns correct data", + name: "query with application and username returns the correct data", store: func(ctx sdk.Context) { profile := testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47") suite.ak.SetAccount(ctx, profile) @@ -1161,7 +1221,7 @@ func (suite *KeeperTestSuite) TestQueryServer_ApplicationLinkOwners() { )), ) }, - req: types.NewQueryApplicationLinkOwnersRequest("twitter", "user"), + req: types.NewQueryApplicationLinkOwnersRequest("twitter", "user", nil), shouldErr: false, expOwners: []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ { diff --git a/x/profiles/types/keys.go b/x/profiles/types/keys.go index 875712e1ad..55ff0435d7 100644 --- a/x/profiles/types/keys.go +++ b/x/profiles/types/keys.go @@ -86,7 +86,7 @@ func ChainLinkChainKey(chainName string) []byte { // ChainLinkChainAddressKey returns the key used to store all the links for the given chain and external address func ChainLinkChainAddressKey(chainName, address string) []byte { - return append(ChainLinkChainKey(chainName), []byte(address)...) + return append(ChainLinkChainKey(chainName), append(Separator, []byte(address)...)...) } // ChainLinkOwnerKey returns the key to store the owner of the chain link to the given chain and external address diff --git a/x/profiles/types/query.pb.go b/x/profiles/types/query.pb.go index 62c9faf40c..c5cb0c9cc7 100644 --- a/x/profiles/types/query.pb.go +++ b/x/profiles/types/query.pb.go @@ -33,44 +33,46 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("desmos/profiles/v2/query.proto", fileDescriptor_fba4df0d7bde4d7c) } var fileDescriptor_fba4df0d7bde4d7c = []byte{ - // 582 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x4f, 0x6f, 0x12, 0x41, - 0x18, 0x87, 0x59, 0x13, 0x6b, 0xdc, 0x93, 0x79, 0xa3, 0x07, 0x08, 0x6e, 0x63, 0x15, 0x68, 0x28, - 0xdd, 0x11, 0x88, 0x26, 0x35, 0x7a, 0xb0, 0xed, 0xa5, 0xd1, 0xc4, 0x6a, 0x7a, 0xf2, 0x42, 0x66, - 0x97, 0x61, 0x3b, 0x71, 0x99, 0x99, 0xee, 0x2c, 0x28, 0x69, 0xb8, 0x78, 0xf3, 0x62, 0x4c, 0x3c, - 0xeb, 0xa7, 0xf0, 0x43, 0x78, 0x31, 0x36, 0xf1, 0xe2, 0xd1, 0x80, 0x1f, 0xc4, 0x30, 0x7f, 0x4a, - 0xa4, 0x2c, 0xa5, 0xbd, 0xed, 0x30, 0xcf, 0x6f, 0xde, 0xe7, 0x9d, 0x19, 0xc6, 0xf5, 0xda, 0x44, - 0x76, 0xb9, 0x44, 0x22, 0xe1, 0x1d, 0x1a, 0x13, 0x89, 0xfa, 0x0d, 0x74, 0xd4, 0x23, 0xc9, 0xc0, - 0x17, 0x09, 0x4f, 0x39, 0x80, 0x9e, 0xf7, 0xed, 0xbc, 0xdf, 0x6f, 0x14, 0x6e, 0x46, 0x3c, 0xe2, - 0x6a, 0x1a, 0x4d, 0xbe, 0x34, 0x59, 0x28, 0x46, 0x9c, 0x47, 0x31, 0x41, 0x58, 0x50, 0x84, 0x19, - 0xe3, 0x29, 0x4e, 0x29, 0x67, 0xd2, 0xcc, 0xe6, 0xcd, 0xac, 0x1a, 0x05, 0xbd, 0x0e, 0xc2, 0xcc, - 0x94, 0x28, 0x94, 0xb3, 0x14, 0x5a, 0xe6, 0x17, 0xc3, 0xd5, 0x32, 0xb9, 0x76, 0x8a, 0xa3, 0x56, - 0x42, 0x8e, 0x7a, 0x44, 0xa6, 0xb6, 0x60, 0x29, 0x7b, 0x55, 0x9c, 0xe0, 0xae, 0xc5, 0xaa, 0x99, - 0x58, 0x78, 0x88, 0x29, 0x6b, 0xc5, 0x94, 0xbd, 0xb1, 0xec, 0x7a, 0x26, 0x8b, 0x85, 0xf8, 0x8f, - 0xcc, 0x87, 0x7c, 0x42, 0xb6, 0xf4, 0x26, 0xe9, 0x81, 0x2d, 0xa8, 0x47, 0x28, 0xc0, 0x92, 0xe8, - 0x34, 0xea, 0xd7, 0x03, 0x92, 0xe2, 0x3a, 0x12, 0x38, 0xa2, 0x4c, 0xed, 0x9a, 0x66, 0x1b, 0x5f, - 0xae, 0xbb, 0x57, 0x5f, 0x4e, 0x10, 0xf8, 0xe0, 0xb8, 0xd7, 0xf6, 0x75, 0x59, 0xa8, 0xf8, 0x67, - 0xcf, 0xc4, 0x57, 0x98, 0x21, 0x5e, 0xe9, 0x9d, 0x28, 0xac, 0x9f, 0x0f, 0x4a, 0xc1, 0x99, 0x24, - 0x6b, 0x1b, 0xef, 0x7f, 0xfd, 0xfd, 0x7c, 0xa5, 0x04, 0x77, 0xd1, 0x9c, 0x16, 0x4f, 0xbf, 0x8f, - 0x7b, 0x92, 0x24, 0x43, 0xf8, 0xe9, 0xb8, 0xc5, 0x3d, 0x16, 0xf2, 0x2e, 0x65, 0xd1, 0xee, 0x01, - 0x8e, 0x0e, 0x12, 0xcc, 0x64, 0x87, 0x24, 0xa6, 0xac, 0x84, 0xc7, 0x99, 0x75, 0x17, 0xc5, 0xac, - 0xf5, 0x93, 0x4b, 0xa6, 0x4d, 0x2b, 0x0d, 0xd5, 0x4a, 0x0d, 0xaa, 0xf3, 0x5a, 0x51, 0x17, 0x25, - 0x35, 0xd1, 0xd3, 0x1b, 0x03, 0x1f, 0x1d, 0xd7, 0xdd, 0x99, 0x1c, 0xf7, 0xf3, 0xc9, 0x19, 0x42, - 0x35, 0xd3, 0x60, 0x0a, 0x59, 0xdb, 0x8d, 0xa5, 0x58, 0xe3, 0x56, 0x51, 0x6e, 0x77, 0x60, 0x75, - 0x9e, 0x9b, 0xba, 0x6f, 0x9b, 0xea, 0x16, 0xc1, 0x57, 0xc7, 0xbd, 0xf1, 0x54, 0x88, 0x98, 0x86, - 0xea, 0x3a, 0x68, 0xad, 0xfb, 0x99, 0xa5, 0x66, 0x51, 0x2b, 0x57, 0xbf, 0x40, 0xc2, 0x28, 0x96, - 0x94, 0xe2, 0x2a, 0xdc, 0x9e, 0xa7, 0x88, 0x85, 0x30, 0x82, 0x3f, 0x1c, 0x37, 0x3f, 0xb3, 0xc6, - 0xf6, 0x60, 0x27, 0xa6, 0x84, 0xa5, 0x7b, 0xbb, 0xb0, 0xb5, 0x6c, 0xdd, 0x69, 0xc6, 0x2a, 0x3f, - 0xba, 0x4c, 0xd4, 0xb8, 0x6f, 0x29, 0xf7, 0x26, 0xd4, 0x17, 0xba, 0xa3, 0x50, 0xe5, 0x24, 0x3a, - 0xd6, 0x1f, 0x2d, 0xda, 0x1e, 0xc2, 0x37, 0xc7, 0xbd, 0x35, 0x53, 0xe0, 0xc5, 0x5b, 0x46, 0x12, - 0x09, 0x0f, 0x96, 0x15, 0xd2, 0xbc, 0xed, 0xe3, 0xe1, 0x45, 0x63, 0xa6, 0x87, 0x9a, 0xea, 0xa1, - 0x0c, 0xf7, 0x16, 0xf7, 0xc0, 0xb5, 0xdc, 0xd0, 0x5d, 0xd9, 0x57, 0xaf, 0x19, 0x94, 0xb3, 0xff, - 0xeb, 0x0a, 0xb0, 0x5e, 0x95, 0x73, 0x39, 0x23, 0xb2, 0xa6, 0x44, 0x8a, 0x50, 0x98, 0xfb, 0x24, - 0x28, 0x76, 0xfb, 0xd9, 0xf7, 0x91, 0xe7, 0x9c, 0x8c, 0x3c, 0xe7, 0xcf, 0xc8, 0x73, 0x3e, 0x8d, - 0xbd, 0xdc, 0xc9, 0xd8, 0xcb, 0xfd, 0x1e, 0x7b, 0xb9, 0xd7, 0xf5, 0x88, 0xa6, 0x87, 0xbd, 0xc0, - 0x0f, 0x79, 0xd7, 0xe4, 0x37, 0x63, 0x1c, 0x48, 0xbb, 0x56, 0xbf, 0x89, 0xde, 0x4d, 0x17, 0x4c, - 0x07, 0x82, 0xc8, 0x60, 0x45, 0xbd, 0x79, 0xcd, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x04, - 0x79, 0xb2, 0x92, 0x06, 0x00, 0x00, + // 611 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x4d, 0x6b, 0x13, 0x41, + 0x18, 0xc7, 0xb3, 0x82, 0x15, 0xe6, 0xa2, 0x0c, 0x7a, 0x48, 0x88, 0x5b, 0xac, 0xe6, 0x85, 0x34, + 0xdd, 0x31, 0x09, 0x0a, 0x15, 0x3d, 0xd8, 0xf6, 0x52, 0x14, 0xac, 0xd2, 0x93, 0x97, 0x30, 0xbb, + 0x99, 0x6c, 0x07, 0x37, 0x33, 0xd3, 0x9d, 0x4d, 0x34, 0x94, 0x5c, 0xbc, 0x79, 0x11, 0xc1, 0xbb, + 0x27, 0x3f, 0x82, 0x1f, 0xc1, 0x83, 0x17, 0xb1, 0xe0, 0xc5, 0xa3, 0x24, 0x7e, 0x10, 0xc9, 0xbc, + 0x24, 0x34, 0xcd, 0x26, 0x69, 0x6f, 0xbb, 0x3b, 0xbf, 0xff, 0x3c, 0xbf, 0x67, 0xf6, 0x61, 0x80, + 0xdb, 0x22, 0xb2, 0xc3, 0x25, 0x12, 0x31, 0x6f, 0xd3, 0x88, 0x48, 0xd4, 0xab, 0xa3, 0xe3, 0x2e, + 0x89, 0xfb, 0x9e, 0x88, 0x79, 0xc2, 0x21, 0xd4, 0xeb, 0x9e, 0x5d, 0xf7, 0x7a, 0xf5, 0xdc, 0xcd, + 0x90, 0x87, 0x5c, 0x2d, 0xa3, 0xf1, 0x93, 0x26, 0x73, 0xf9, 0x90, 0xf3, 0x30, 0x22, 0x08, 0x0b, + 0x8a, 0x30, 0x63, 0x3c, 0xc1, 0x09, 0xe5, 0x4c, 0x9a, 0xd5, 0xac, 0x59, 0x55, 0x6f, 0x7e, 0xb7, + 0x8d, 0x30, 0x33, 0x25, 0x72, 0xc5, 0x34, 0x85, 0xa6, 0xf9, 0x62, 0xb8, 0x6a, 0x2a, 0xd7, 0x4a, + 0x70, 0xd8, 0x8c, 0xc9, 0x71, 0x97, 0xc8, 0xc4, 0x16, 0x2c, 0xa4, 0xef, 0x8a, 0x63, 0xdc, 0xb1, + 0x58, 0x25, 0x15, 0x0b, 0x8e, 0x30, 0x65, 0xcd, 0x88, 0xb2, 0x37, 0x96, 0x2d, 0xa7, 0xb2, 0x58, + 0x88, 0x33, 0x64, 0x36, 0xe0, 0x63, 0xb2, 0xa9, 0x0f, 0x49, 0xbf, 0xd8, 0x82, 0xfa, 0x0d, 0xf9, + 0x58, 0x12, 0x9d, 0x46, 0xbd, 0x9a, 0x4f, 0x12, 0x5c, 0x43, 0x02, 0x87, 0x94, 0xa9, 0x53, 0xd3, + 0x6c, 0xfd, 0x3b, 0x00, 0x57, 0x5f, 0x8e, 0x11, 0xf8, 0xc1, 0x01, 0xd7, 0x0e, 0x74, 0x59, 0x58, + 0xf2, 0xce, 0xff, 0x13, 0x4f, 0x61, 0x86, 0x78, 0xa5, 0x4f, 0x22, 0x57, 0x5e, 0x0e, 0x4a, 0xc1, + 0x99, 0x24, 0x1b, 0x9b, 0xef, 0x7f, 0xff, 0xfb, 0x7c, 0xa5, 0x00, 0xef, 0xa2, 0x39, 0x2d, 0x4e, + 0x9e, 0x4f, 0xba, 0x92, 0xc4, 0x03, 0xf8, 0xcb, 0x01, 0xf9, 0x7d, 0x16, 0xf0, 0x0e, 0x65, 0xe1, + 0xde, 0x21, 0x0e, 0x0f, 0x63, 0xcc, 0x64, 0x9b, 0xc4, 0xa6, 0xac, 0x84, 0x8f, 0x53, 0xeb, 0x2e, + 0x8a, 0x59, 0xeb, 0x27, 0x97, 0x4c, 0x9b, 0x56, 0xea, 0xaa, 0x95, 0x2a, 0xac, 0xcc, 0x6b, 0x45, + 0x0d, 0x4a, 0x62, 0xa2, 0x93, 0x89, 0x81, 0x1f, 0x1d, 0x00, 0x76, 0xc7, 0xbf, 0xfb, 0xf9, 0xf8, + 0x1f, 0xc2, 0x4a, 0xaa, 0xc1, 0x14, 0xb2, 0xb6, 0x9b, 0x2b, 0xb1, 0xc6, 0xad, 0xa4, 0xdc, 0xee, + 0xc0, 0xf5, 0x79, 0x6e, 0x6a, 0xde, 0xb6, 0xd4, 0x14, 0xc1, 0xaf, 0x0e, 0xb8, 0x3e, 0xc9, 0xbf, + 0x78, 0xcb, 0x48, 0x2c, 0x21, 0x5a, 0x5e, 0x49, 0x93, 0x56, 0xed, 0xfe, 0xea, 0x01, 0xe3, 0xe7, + 0x29, 0xbf, 0x32, 0x2c, 0x2e, 0xf1, 0x43, 0x5c, 0x2b, 0x7d, 0x71, 0xc0, 0x8d, 0xa7, 0x42, 0x44, + 0x34, 0x50, 0x53, 0xab, 0x4f, 0x2f, 0xbd, 0xec, 0x2c, 0x6a, 0x45, 0x6b, 0x17, 0x48, 0x18, 0xd3, + 0x82, 0x32, 0x5d, 0x87, 0xb7, 0xe7, 0x99, 0x62, 0x21, 0xcc, 0x39, 0xfe, 0x74, 0x40, 0x76, 0x66, + 0x8f, 0x9d, 0xfe, 0x6e, 0x44, 0x09, 0x4b, 0xf6, 0xf7, 0xe0, 0xf6, 0xaa, 0x75, 0xa7, 0x19, 0xab, + 0xfc, 0xe8, 0x32, 0x51, 0xe3, 0xbe, 0xad, 0xdc, 0x1b, 0xb0, 0xb6, 0xd0, 0x1d, 0x05, 0x2a, 0x27, + 0xd1, 0x89, 0x7e, 0x68, 0xd2, 0xd6, 0x00, 0x7e, 0x73, 0xc0, 0xad, 0x99, 0x02, 0x66, 0x3a, 0x1e, + 0xac, 0x2a, 0x74, 0x76, 0x46, 0x1e, 0x5e, 0x34, 0x66, 0x7a, 0xa8, 0xaa, 0x1e, 0x8a, 0xf0, 0xde, + 0xe2, 0x1e, 0xcc, 0x9c, 0x0c, 0xc0, 0xda, 0x81, 0xba, 0x74, 0x61, 0x31, 0xfd, 0x4a, 0x52, 0x80, + 0xf5, 0x2a, 0x2d, 0xe5, 0x8c, 0xc8, 0x86, 0x12, 0xc9, 0xc3, 0xdc, 0xdc, 0x9b, 0x4b, 0xb1, 0x3b, + 0xcf, 0x7e, 0x0c, 0x5d, 0xe7, 0x74, 0xe8, 0x3a, 0x7f, 0x87, 0xae, 0xf3, 0x69, 0xe4, 0x66, 0x4e, + 0x47, 0x6e, 0xe6, 0xcf, 0xc8, 0xcd, 0xbc, 0xae, 0x85, 0x34, 0x39, 0xea, 0xfa, 0x5e, 0xc0, 0x3b, + 0x26, 0xbf, 0x15, 0x61, 0x5f, 0xda, 0xbd, 0x7a, 0x0d, 0xf4, 0x6e, 0xba, 0x61, 0xd2, 0x17, 0x44, + 0xfa, 0x6b, 0xea, 0x6a, 0x6e, 0xfc, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x2e, 0xcf, 0xbd, 0x67, 0x39, + 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -95,6 +97,9 @@ type QueryClient interface { // ChainLinks queries the chain links associated to the given user, if // provided. Otherwise it queries all the chain links stored. ChainLinks(ctx context.Context, in *QueryChainLinksRequest, opts ...grpc.CallOption) (*QueryChainLinksResponse, error) + // ChainLinkOwners queries for the owners of chain links, optionally searching + // for a specific chain name and external address + ChainLinkOwners(ctx context.Context, in *QueryChainLinkOwnersRequest, opts ...grpc.CallOption) (*QueryChainLinkOwnersResponse, error) // ApplicationLinks queries the applications links associated to the given // user, if provided. Otherwise, it queries all the application links stored. ApplicationLinks(ctx context.Context, in *QueryApplicationLinksRequest, opts ...grpc.CallOption) (*QueryApplicationLinksResponse, error) @@ -143,6 +148,15 @@ func (c *queryClient) ChainLinks(ctx context.Context, in *QueryChainLinksRequest return out, nil } +func (c *queryClient) ChainLinkOwners(ctx context.Context, in *QueryChainLinkOwnersRequest, opts ...grpc.CallOption) (*QueryChainLinkOwnersResponse, error) { + out := new(QueryChainLinkOwnersResponse) + err := c.cc.Invoke(ctx, "/desmos.profiles.v2.Query/ChainLinkOwners", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) ApplicationLinks(ctx context.Context, in *QueryApplicationLinksRequest, opts ...grpc.CallOption) (*QueryApplicationLinksResponse, error) { out := new(QueryApplicationLinksResponse) err := c.cc.Invoke(ctx, "/desmos.profiles.v2.Query/ApplicationLinks", in, out, opts...) @@ -191,6 +205,9 @@ type QueryServer interface { // ChainLinks queries the chain links associated to the given user, if // provided. Otherwise it queries all the chain links stored. ChainLinks(context.Context, *QueryChainLinksRequest) (*QueryChainLinksResponse, error) + // ChainLinkOwners queries for the owners of chain links, optionally searching + // for a specific chain name and external address + ChainLinkOwners(context.Context, *QueryChainLinkOwnersRequest) (*QueryChainLinkOwnersResponse, error) // ApplicationLinks queries the applications links associated to the given // user, if provided. Otherwise, it queries all the application links stored. ApplicationLinks(context.Context, *QueryApplicationLinksRequest) (*QueryApplicationLinksResponse, error) @@ -217,6 +234,9 @@ func (*UnimplementedQueryServer) IncomingDTagTransferRequests(ctx context.Contex func (*UnimplementedQueryServer) ChainLinks(ctx context.Context, req *QueryChainLinksRequest) (*QueryChainLinksResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ChainLinks not implemented") } +func (*UnimplementedQueryServer) ChainLinkOwners(ctx context.Context, req *QueryChainLinkOwnersRequest) (*QueryChainLinkOwnersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ChainLinkOwners not implemented") +} func (*UnimplementedQueryServer) ApplicationLinks(ctx context.Context, req *QueryApplicationLinksRequest) (*QueryApplicationLinksResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplicationLinks not implemented") } @@ -288,6 +308,24 @@ func _Query_ChainLinks_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Query_ChainLinkOwners_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryChainLinkOwnersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ChainLinkOwners(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/desmos.profiles.v2.Query/ChainLinkOwners", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ChainLinkOwners(ctx, req.(*QueryChainLinkOwnersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_ApplicationLinks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryApplicationLinksRequest) if err := dec(in); err != nil { @@ -376,6 +414,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "ChainLinks", Handler: _Query_ChainLinks_Handler, }, + { + MethodName: "ChainLinkOwners", + Handler: _Query_ChainLinkOwners_Handler, + }, { MethodName: "ApplicationLinks", Handler: _Query_ApplicationLinks_Handler, diff --git a/x/profiles/types/query.pb.gw.go b/x/profiles/types/query.pb.gw.go index 4619bf6308..6acc9045da 100644 --- a/x/profiles/types/query.pb.gw.go +++ b/x/profiles/types/query.pb.gw.go @@ -157,6 +157,42 @@ func local_request_Query_ChainLinks_0(ctx context.Context, marshaler runtime.Mar } +var ( + filter_Query_ChainLinkOwners_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_ChainLinkOwners_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryChainLinkOwnersRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ChainLinkOwners_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ChainLinkOwners(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ChainLinkOwners_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryChainLinkOwnersRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ChainLinkOwners_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ChainLinkOwners(ctx, &protoReq) + return msg, metadata, err + +} + var ( filter_Query_ApplicationLinks_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -367,6 +403,26 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_ChainLinkOwners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ChainLinkOwners_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ChainLinkOwners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_ApplicationLinks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -548,6 +604,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_ChainLinkOwners_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_ChainLinkOwners_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ChainLinkOwners_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Query_ApplicationLinks_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -638,6 +714,8 @@ var ( pattern_Query_ChainLinks_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"desmos", "profiles", "v2", "chain-links"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_ChainLinkOwners_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"desmos", "profiles", "v2", "chain-links", "owners"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_ApplicationLinks_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"desmos", "profiles", "v2", "app-links"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Query_ApplicationLinkByClientID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"desmos", "profiles", "v2", "app-links", "clients", "client_id"}, "", runtime.AssumeColonVerbOpt(true))) @@ -654,6 +732,8 @@ var ( forward_Query_ChainLinks_0 = runtime.ForwardResponseMessage + forward_Query_ChainLinkOwners_0 = runtime.ForwardResponseMessage + forward_Query_ApplicationLinks_0 = runtime.ForwardResponseMessage forward_Query_ApplicationLinkByClientID_0 = runtime.ForwardResponseMessage diff --git a/x/profiles/types/query_app_links.go b/x/profiles/types/query_app_links.go index 67efa23624..bec8d1017e 100644 --- a/x/profiles/types/query_app_links.go +++ b/x/profiles/types/query_app_links.go @@ -26,9 +26,12 @@ func NewQueryApplicationLinkByClientIDRequest(clientID string) *QueryApplication } // NewQueryApplicationLinkOwnersRequest returns a new QueryApplicationLinkOwnersRequest instance -func NewQueryApplicationLinkOwnersRequest(application, username string) *QueryApplicationLinkOwnersRequest { +func NewQueryApplicationLinkOwnersRequest( + application, username string, pageReq *query.PageRequest, +) *QueryApplicationLinkOwnersRequest { return &QueryApplicationLinkOwnersRequest{ Application: application, Username: username, + Pagination: pageReq, } } diff --git a/x/profiles/types/query_app_links.pb.go b/x/profiles/types/query_app_links.pb.go index a5129cd1b3..32641d7bc6 100644 --- a/x/profiles/types/query_app_links.pb.go +++ b/x/profiles/types/query_app_links.pb.go @@ -377,6 +377,8 @@ func (m *QueryApplicationLinkOwnersResponse) GetPagination() *query.PageResponse return nil } +// ApplicationLinkOwnerDetails contains the details of a single application +// link owner type QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails struct { User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` Application string `protobuf:"bytes,2,opt,name=application,proto3" json:"application,omitempty"` diff --git a/x/profiles/types/query_chain_links.go b/x/profiles/types/query_chain_links.go index 67353d839e..253a69c0e1 100644 --- a/x/profiles/types/query_chain_links.go +++ b/x/profiles/types/query_chain_links.go @@ -17,3 +17,12 @@ func NewQueryChainLinksRequest( Pagination: pageReq, } } + +// NewQueryChainLinkOwnersRequest returns a new QueryChainLinkOwnersRequest instance +func NewQueryChainLinkOwnersRequest(chainName, target string, pageReq *query.PageRequest) *QueryChainLinkOwnersRequest { + return &QueryChainLinkOwnersRequest{ + ChainName: chainName, + Target: target, + Pagination: pageReq, + } +} diff --git a/x/profiles/types/query_chain_links.pb.go b/x/profiles/types/query_chain_links.pb.go index 0defe500af..57685aeeeb 100644 --- a/x/profiles/types/query_chain_links.pb.go +++ b/x/profiles/types/query_chain_links.pb.go @@ -160,9 +160,200 @@ func (m *QueryChainLinksResponse) GetPagination() *query.PageResponse { return nil } +// QueryChainLinkOwnersRequest contains the data of the request that can +// be used to get chain link owners +type QueryChainLinkOwnersRequest struct { + // (Optional) Chain name to search link owners of. If not specified, all + // links stored will be searched instead. + ChainName string `protobuf:"bytes,1,opt,name=chain_name,json=chainName,proto3" json:"chain_name,omitempty"` + // (Optional) External address to search for. This will only be used if the + // chain name is specified as well + Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + // Pagination defines an optional pagination for the request + Pagination *query.PageRequest `protobuf:"bytes,3,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryChainLinkOwnersRequest) Reset() { *m = QueryChainLinkOwnersRequest{} } +func (m *QueryChainLinkOwnersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryChainLinkOwnersRequest) ProtoMessage() {} +func (*QueryChainLinkOwnersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f3f86dba4268625b, []int{2} +} +func (m *QueryChainLinkOwnersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryChainLinkOwnersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryChainLinkOwnersRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryChainLinkOwnersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChainLinkOwnersRequest.Merge(m, src) +} +func (m *QueryChainLinkOwnersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryChainLinkOwnersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChainLinkOwnersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChainLinkOwnersRequest proto.InternalMessageInfo + +func (m *QueryChainLinkOwnersRequest) GetChainName() string { + if m != nil { + return m.ChainName + } + return "" +} + +func (m *QueryChainLinkOwnersRequest) GetTarget() string { + if m != nil { + return m.Target + } + return "" +} + +func (m *QueryChainLinkOwnersRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination + } + return nil +} + +// QueryChainLinkOwnersResponse contains the data returned by the request +// allowing to get chain link owners. +type QueryChainLinkOwnersResponse struct { + // Addresses of the chain links owners + Owners []QueryChainLinkOwnersResponse_ChainLinkOwnerDetails `protobuf:"bytes,1,rep,name=owners,proto3" json:"owners"` + // Pagination defines the pagination response + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryChainLinkOwnersResponse) Reset() { *m = QueryChainLinkOwnersResponse{} } +func (m *QueryChainLinkOwnersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryChainLinkOwnersResponse) ProtoMessage() {} +func (*QueryChainLinkOwnersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f3f86dba4268625b, []int{3} +} +func (m *QueryChainLinkOwnersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryChainLinkOwnersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryChainLinkOwnersResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryChainLinkOwnersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChainLinkOwnersResponse.Merge(m, src) +} +func (m *QueryChainLinkOwnersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryChainLinkOwnersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChainLinkOwnersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChainLinkOwnersResponse proto.InternalMessageInfo + +func (m *QueryChainLinkOwnersResponse) GetOwners() []QueryChainLinkOwnersResponse_ChainLinkOwnerDetails { + if m != nil { + return m.Owners + } + return nil +} + +func (m *QueryChainLinkOwnersResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination + } + return nil +} + +// ChainLinkOwnerDetails contains the details of a single chain link owner +type QueryChainLinkOwnersResponse_ChainLinkOwnerDetails struct { + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + ChainName string `protobuf:"bytes,2,opt,name=chain_name,json=chainName,proto3" json:"chain_name,omitempty"` + Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` +} + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) Reset() { + *m = QueryChainLinkOwnersResponse_ChainLinkOwnerDetails{} +} +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) String() string { + return proto.CompactTextString(m) +} +func (*QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) ProtoMessage() {} +func (*QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_f3f86dba4268625b, []int{3, 0} +} +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryChainLinkOwnersResponse_ChainLinkOwnerDetails.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChainLinkOwnersResponse_ChainLinkOwnerDetails.Merge(m, src) +} +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) XXX_Size() int { + return m.Size() +} +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChainLinkOwnersResponse_ChainLinkOwnerDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChainLinkOwnersResponse_ChainLinkOwnerDetails proto.InternalMessageInfo + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) GetUser() string { + if m != nil { + return m.User + } + return "" +} + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) GetChainName() string { + if m != nil { + return m.ChainName + } + return "" +} + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) GetTarget() string { + if m != nil { + return m.Target + } + return "" +} + func init() { proto.RegisterType((*QueryChainLinksRequest)(nil), "desmos.profiles.v2.QueryChainLinksRequest") proto.RegisterType((*QueryChainLinksResponse)(nil), "desmos.profiles.v2.QueryChainLinksResponse") + proto.RegisterType((*QueryChainLinkOwnersRequest)(nil), "desmos.profiles.v2.QueryChainLinkOwnersRequest") + proto.RegisterType((*QueryChainLinkOwnersResponse)(nil), "desmos.profiles.v2.QueryChainLinkOwnersResponse") + proto.RegisterType((*QueryChainLinkOwnersResponse_ChainLinkOwnerDetails)(nil), "desmos.profiles.v2.QueryChainLinkOwnersResponse.ChainLinkOwnerDetails") } func init() { @@ -170,33 +361,37 @@ func init() { } var fileDescriptor_f3f86dba4268625b = []byte{ - // 401 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x41, 0x8e, 0xd3, 0x30, - 0x14, 0x86, 0xe3, 0x99, 0x32, 0xd2, 0x78, 0x76, 0x16, 0x1a, 0x32, 0x11, 0x13, 0xaa, 0x59, 0x40, - 0x55, 0x84, 0xad, 0xa6, 0x2b, 0xb6, 0x45, 0x82, 0x05, 0x08, 0x41, 0x96, 0x6c, 0x2a, 0xa7, 0x7d, - 0x75, 0x23, 0x12, 0x3b, 0x8d, 0x9d, 0x88, 0xde, 0x82, 0x0b, 0x70, 0x02, 0x2e, 0xd2, 0x65, 0x97, - 0xac, 0x10, 0x6a, 0x2f, 0x82, 0x62, 0x1b, 0x5a, 0x54, 0xa4, 0xd9, 0xbd, 0x3f, 0xff, 0xff, 0xf2, - 0x7f, 0xc9, 0xc3, 0xc3, 0x39, 0xe8, 0x52, 0x69, 0x56, 0xd5, 0x6a, 0x91, 0x17, 0xa0, 0x59, 0x9b, - 0xb0, 0x55, 0x03, 0xf5, 0x7a, 0x3a, 0x5b, 0xf2, 0x5c, 0x4e, 0x8b, 0x5c, 0x7e, 0xd6, 0xb4, 0xaa, - 0x95, 0x51, 0x84, 0xb8, 0x2c, 0xfd, 0x93, 0xa5, 0x6d, 0x12, 0x3d, 0x14, 0x4a, 0x28, 0x6b, 0xb3, - 0x6e, 0x72, 0xc9, 0xe8, 0xb1, 0x50, 0x4a, 0x14, 0xc0, 0x78, 0x95, 0x33, 0x2e, 0xa5, 0x32, 0xdc, - 0xe4, 0x4a, 0xfa, 0xf7, 0x44, 0x37, 0xde, 0xb5, 0x2a, 0x6b, 0x16, 0x8c, 0xcb, 0xb5, 0xb7, 0x9e, - 0xff, 0x07, 0xa7, 0x54, 0x73, 0x28, 0xf4, 0x29, 0x4f, 0x74, 0x33, 0x53, 0x5d, 0x78, 0xea, 0xea, - 0x9d, 0xf0, 0xd6, 0xd0, 0x29, 0x96, 0x71, 0x0d, 0xee, 0x7b, 0x58, 0x3b, 0xca, 0xc0, 0xf0, 0x11, - 0xab, 0xb8, 0xc8, 0xa5, 0xe5, 0x71, 0xd9, 0xbb, 0xef, 0x08, 0x5f, 0x7f, 0xec, 0x22, 0xaf, 0xba, - 0x86, 0x77, 0x5d, 0x41, 0x0a, 0xab, 0x06, 0xb4, 0x21, 0x04, 0xf7, 0x1a, 0x0d, 0x75, 0x88, 0xfa, - 0x68, 0x70, 0x99, 0xda, 0x99, 0xdc, 0x62, 0xec, 0x50, 0x24, 0x2f, 0x21, 0x3c, 0xb3, 0xce, 0xa5, - 0x7d, 0xf2, 0x9e, 0x97, 0x40, 0xae, 0xf1, 0x85, 0xe1, 0xb5, 0x00, 0x13, 0x9e, 0x5b, 0xcb, 0x2b, - 0xf2, 0x1a, 0xe3, 0x43, 0x73, 0xd8, 0xeb, 0xa3, 0xc1, 0x55, 0xf2, 0x94, 0x7a, 0xe8, 0x0e, 0x93, - 0x5a, 0x4c, 0xea, 0x31, 0xe9, 0x07, 0x2e, 0xc0, 0x63, 0xa4, 0x47, 0x9b, 0x77, 0xdf, 0x10, 0x7e, - 0x74, 0x42, 0xab, 0x2b, 0x25, 0x35, 0x90, 0x97, 0xf8, 0x81, 0xfd, 0x3f, 0x21, 0xea, 0x9f, 0x0f, - 0xae, 0x92, 0x5b, 0x7a, 0x7a, 0x30, 0xfa, 0x77, 0x6d, 0xd2, 0xdb, 0xfc, 0x7c, 0x12, 0xa4, 0x6e, - 0x83, 0xbc, 0xf9, 0x07, 0xef, 0xcc, 0xe2, 0x3d, 0xbb, 0x17, 0xcf, 0xf5, 0x1e, 0xf3, 0x4d, 0xde, - 0x6e, 0x76, 0x31, 0xda, 0xee, 0x62, 0xf4, 0x6b, 0x17, 0xa3, 0xaf, 0xfb, 0x38, 0xd8, 0xee, 0xe3, - 0xe0, 0xc7, 0x3e, 0x0e, 0x3e, 0x8d, 0x44, 0x6e, 0x96, 0x4d, 0x46, 0x67, 0xaa, 0x64, 0x0e, 0xec, - 0x45, 0xc1, 0x33, 0xed, 0x67, 0xd6, 0x8e, 0xd9, 0x97, 0xc3, 0xdd, 0xcd, 0xba, 0x02, 0x9d, 0x5d, - 0xd8, 0x0b, 0x8d, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x58, 0xf0, 0xc2, 0x74, 0xa6, 0x02, 0x00, - 0x00, + // 475 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0x4f, 0x6f, 0xd3, 0x30, + 0x18, 0x87, 0xeb, 0xb6, 0x54, 0x9a, 0x77, 0xb3, 0x60, 0x64, 0x61, 0x0b, 0xd5, 0x0e, 0x50, 0x0d, + 0x61, 0xab, 0xdd, 0x89, 0xeb, 0x40, 0xe3, 0x00, 0xe2, 0x4f, 0x8f, 0x5c, 0x2a, 0xa7, 0x7d, 0x97, + 0x59, 0x24, 0x76, 0x16, 0x3b, 0x85, 0x7e, 0x0b, 0x3e, 0x00, 0x7c, 0x02, 0x4e, 0x7c, 0x8b, 0x1d, + 0x77, 0xe4, 0x84, 0x50, 0xfb, 0x45, 0x50, 0x6c, 0xb3, 0x11, 0x35, 0x0c, 0x09, 0xf5, 0xe6, 0xd7, + 0xef, 0x6b, 0xff, 0x9e, 0x3e, 0x8d, 0xf1, 0xe1, 0x0c, 0x74, 0xa6, 0x34, 0xcb, 0x0b, 0x75, 0x2a, + 0x52, 0xd0, 0x6c, 0x3e, 0x62, 0xe7, 0x25, 0x14, 0x8b, 0xc9, 0xf4, 0x8c, 0x0b, 0x39, 0x49, 0x85, + 0x7c, 0xaf, 0x69, 0x5e, 0x28, 0xa3, 0x08, 0x71, 0xb3, 0xf4, 0xf7, 0x2c, 0x9d, 0x8f, 0xc2, 0xdb, + 0x89, 0x4a, 0x94, 0x6d, 0xb3, 0x6a, 0xe5, 0x26, 0xc3, 0xbd, 0x44, 0xa9, 0x24, 0x05, 0xc6, 0x73, + 0xc1, 0xb8, 0x94, 0xca, 0x70, 0x23, 0x94, 0xf4, 0xf7, 0x84, 0xbb, 0xbe, 0x6b, 0xab, 0xb8, 0x3c, + 0x65, 0x5c, 0x2e, 0x7c, 0xeb, 0x51, 0x03, 0x4e, 0xa6, 0x66, 0x90, 0xea, 0x75, 0x9e, 0x70, 0x77, + 0xaa, 0xaa, 0xe1, 0x89, 0x8b, 0x77, 0x85, 0x6f, 0x1d, 0xba, 0x8a, 0xc5, 0x5c, 0x83, 0xfb, 0x3d, + 0x6c, 0x3e, 0x8c, 0xc1, 0xf0, 0x21, 0xcb, 0x79, 0x22, 0xa4, 0xe5, 0x71, 0xb3, 0x07, 0x5f, 0x11, + 0xde, 0x79, 0x5b, 0x8d, 0x3c, 0xad, 0x12, 0x5e, 0x56, 0x01, 0x63, 0x38, 0x2f, 0x41, 0x1b, 0x42, + 0x70, 0xb7, 0xd4, 0x50, 0x04, 0xa8, 0x8f, 0x06, 0x5b, 0x63, 0xbb, 0x26, 0xfb, 0x18, 0x3b, 0x14, + 0xc9, 0x33, 0x08, 0xda, 0xb6, 0xb3, 0x65, 0x77, 0x5e, 0xf1, 0x0c, 0xc8, 0x0e, 0xee, 0x19, 0x5e, + 0x24, 0x60, 0x82, 0x8e, 0x6d, 0xf9, 0x8a, 0x9c, 0x60, 0x7c, 0x9d, 0x1c, 0x74, 0xfb, 0x68, 0xb0, + 0x3d, 0x7a, 0x40, 0x3d, 0x74, 0x85, 0x49, 0x2d, 0x26, 0xf5, 0x98, 0xf4, 0x0d, 0x4f, 0xc0, 0x63, + 0x8c, 0xff, 0x38, 0x79, 0xf0, 0x05, 0xe1, 0xbb, 0x6b, 0xb4, 0x3a, 0x57, 0x52, 0x03, 0x79, 0x82, + 0x6f, 0x59, 0x3f, 0x01, 0xea, 0x77, 0x06, 0xdb, 0xa3, 0x7d, 0xba, 0xfe, 0x87, 0xd1, 0xab, 0x63, + 0xc7, 0xdd, 0x8b, 0x1f, 0xf7, 0x5b, 0x63, 0x77, 0x82, 0x3c, 0xaf, 0xe1, 0xb5, 0x2d, 0xde, 0xc3, + 0x7f, 0xe2, 0xb9, 0xdc, 0x1a, 0xdf, 0x67, 0x84, 0xef, 0xd5, 0xf9, 0x5e, 0x7f, 0x90, 0x50, 0x5c, + 0x29, 0xad, 0xeb, 0x43, 0x7f, 0xd7, 0xd7, 0xbe, 0x41, 0x5f, 0xe7, 0xbf, 0xf5, 0x7d, 0x6b, 0xe3, + 0xbd, 0x66, 0x3c, 0xef, 0x70, 0x86, 0x7b, 0xca, 0xee, 0x78, 0x89, 0x27, 0x4d, 0x12, 0x6f, 0xba, + 0x81, 0xd6, 0xf7, 0x9f, 0x81, 0xe1, 0x22, 0xd5, 0xde, 0xb6, 0xbf, 0x7b, 0x63, 0xba, 0xc3, 0x18, + 0xdf, 0x69, 0xcc, 0xdb, 0xe0, 0xa7, 0x7b, 0xfc, 0xe2, 0x62, 0x19, 0xa1, 0xcb, 0x65, 0x84, 0x7e, + 0x2e, 0x23, 0xf4, 0x69, 0x15, 0xb5, 0x2e, 0x57, 0x51, 0xeb, 0xfb, 0x2a, 0x6a, 0xbd, 0x1b, 0x26, + 0xc2, 0x9c, 0x95, 0x31, 0x9d, 0xaa, 0x8c, 0x39, 0x4d, 0x8f, 0x53, 0x1e, 0x6b, 0xbf, 0x66, 0xf3, + 0x23, 0xf6, 0xf1, 0xfa, 0x29, 0x9b, 0x45, 0x0e, 0x3a, 0xee, 0xd9, 0x47, 0x77, 0xf4, 0x2b, 0x00, + 0x00, 0xff, 0xff, 0xb5, 0xe1, 0xdb, 0xd4, 0x79, 0x04, 0x00, 0x00, } func (m *QueryChainLinksRequest) Marshal() (dAtA []byte, err error) { @@ -304,6 +499,148 @@ func (m *QueryChainLinksResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *QueryChainLinkOwnersRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryChainLinkOwnersRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryChainLinkOwnersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryChainLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.Target) > 0 { + i -= len(m.Target) + copy(dAtA[i:], m.Target) + i = encodeVarintQueryChainLinks(dAtA, i, uint64(len(m.Target))) + i-- + dAtA[i] = 0x12 + } + if len(m.ChainName) > 0 { + i -= len(m.ChainName) + copy(dAtA[i:], m.ChainName) + i = encodeVarintQueryChainLinks(dAtA, i, uint64(len(m.ChainName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryChainLinkOwnersResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryChainLinkOwnersResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryChainLinkOwnersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryChainLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Owners) > 0 { + for iNdEx := len(m.Owners) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Owners[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQueryChainLinks(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Target) > 0 { + i -= len(m.Target) + copy(dAtA[i:], m.Target) + i = encodeVarintQueryChainLinks(dAtA, i, uint64(len(m.Target))) + i-- + dAtA[i] = 0x1a + } + if len(m.ChainName) > 0 { + i -= len(m.ChainName) + copy(dAtA[i:], m.ChainName) + i = encodeVarintQueryChainLinks(dAtA, i, uint64(len(m.ChainName))) + i-- + dAtA[i] = 0x12 + } + if len(m.User) > 0 { + i -= len(m.User) + copy(dAtA[i:], m.User) + i = encodeVarintQueryChainLinks(dAtA, i, uint64(len(m.User))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQueryChainLinks(dAtA []byte, offset int, v uint64) int { offset -= sovQueryChainLinks(v) base := offset @@ -359,6 +696,67 @@ func (m *QueryChainLinksResponse) Size() (n int) { return n } +func (m *QueryChainLinkOwnersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ChainName) + if l > 0 { + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + l = len(m.Target) + if l > 0 { + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + return n +} + +func (m *QueryChainLinkOwnersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Owners) > 0 { + for _, e := range m.Owners { + l = e.Size() + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + return n +} + +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.User) + if l > 0 { + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + l = len(m.ChainName) + if l > 0 { + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + l = len(m.Target) + if l > 0 { + n += 1 + l + sovQueryChainLinks(uint64(l)) + } + return n +} + func sovQueryChainLinks(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -388,17 +786,199 @@ func (m *QueryChainLinksRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryChainLinksRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryChainLinksRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryChainLinksRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChainName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChainName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Target = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryChainLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryChainLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryChainLinksResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryChainLinksResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryChainLinksRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryChainLinksResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQueryChainLinks @@ -408,25 +988,113 @@ func (m *QueryChainLinksRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQueryChainLinks } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQueryChainLinks } if postIndex > l { return io.ErrUnexpectedEOF } - m.User = string(dAtA[iNdEx:postIndex]) + m.Links = append(m.Links, ChainLink{}) + if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryChainLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryChainLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryChainLinkOwnersRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryChainLinkOwnersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryChainLinkOwnersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ChainName", wireType) } @@ -458,7 +1126,7 @@ func (m *QueryChainLinksRequest) Unmarshal(dAtA []byte) error { } m.ChainName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } @@ -490,7 +1158,7 @@ func (m *QueryChainLinksRequest) Unmarshal(dAtA []byte) error { } m.Target = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } @@ -547,7 +1215,7 @@ func (m *QueryChainLinksRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryChainLinksResponse) Unmarshal(dAtA []byte) error { +func (m *QueryChainLinkOwnersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -570,15 +1238,15 @@ func (m *QueryChainLinksResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryChainLinksResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryChainLinkOwnersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryChainLinksResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryChainLinkOwnersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Owners", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -605,8 +1273,8 @@ func (m *QueryChainLinksResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Links = append(m.Links, ChainLink{}) - if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Owners = append(m.Owners, QueryChainLinkOwnersResponse_ChainLinkOwnerDetails{}) + if err := m.Owners[len(m.Owners)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -667,6 +1335,152 @@ func (m *QueryChainLinksResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryChainLinkOwnersResponse_ChainLinkOwnerDetails) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ChainLinkOwnerDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ChainLinkOwnerDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChainName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChainName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQueryChainLinks + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQueryChainLinks + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQueryChainLinks + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Target = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQueryChainLinks(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQueryChainLinks + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQueryChainLinks(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 6ea38bc8a0ab9accfda41205f407a8bed4167238 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Wed, 23 Mar 2022 11:41:56 +0000 Subject: [PATCH 14/19] added gRPC tests --- testutil/profiles.go | 11 ++++ x/profiles/keeper/grpc_query_test.go | 95 ++++++++++++++++++++++++++-- 2 files changed, 101 insertions(+), 5 deletions(-) diff --git a/testutil/profiles.go b/testutil/profiles.go index 828fd2bb24..e856185738 100644 --- a/testutil/profiles.go +++ b/testutil/profiles.go @@ -5,6 +5,8 @@ import ( "fmt" "time" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -48,6 +50,15 @@ func PubKeyFromBech32(pubKey string) cryptotypes.PubKey { return publicKey } +func PubKeyFromJSON(cdc codec.Codec, pubKey string) cryptotypes.PubKey { + var publicKey cryptotypes.PubKey + err := cdc.UnmarshalInterfaceJSON([]byte(pubKey), &publicKey) + if err != nil { + panic(err) + } + return publicKey +} + func ProfileFromAddr(address string) *types.Profile { profile, err := types.NewProfile( fmt.Sprintf("%s-dtag", address), diff --git a/x/profiles/keeper/grpc_query_test.go b/x/profiles/keeper/grpc_query_test.go index d69eed9d57..f7c5ea5404 100644 --- a/x/profiles/keeper/grpc_query_test.go +++ b/x/profiles/keeper/grpc_query_test.go @@ -529,6 +529,7 @@ func (suite *KeeperTestSuite) TestQueryServer_ChainLinkOwners() { { name: "query without any data returns everything", store: func(ctx sdk.Context) { + suite.Require().NoError(suite.k.SaveProfile(ctx, testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47"))) suite.Require().NoError(suite.k.SaveChainLink(ctx, types.NewChainLink( "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", types.NewBech32Address("cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", "cosmos"), @@ -540,22 +541,106 @@ func (suite *KeeperTestSuite) TestQueryServer_ChainLinkOwners() { types.NewChainConfig("cosmos"), time.Date(2019, 1, 1, 00, 00, 00, 000, time.UTC), ))) + suite.Require().NoError(suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewBech32Address("cosmos167x6ehhple8gwz5ezy9x0464jltvdpzl6qfdt4", "cosmos"), + types.NewProof( + testutil.PubKeyFromJSON(suite.cdc, `{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A6XZ3b2QhhtHrglAqacSwnsastcmqdQ0OuGHXfA3H43c"}`), + testutil.SingleSignatureProtoFromHex("fc71bae3b7f55105d612d84f93738f4efdc32f866198c37b48d9e986d27082ba6162de59586cc53ab188870024fb8aad41b1407857787ddc9d0110695d8ffb54"), + "74657874", + ), + types.NewChainConfig("likecoin"), + time.Date(2019, 1, 1, 00, 00, 00, 000, time.UTC), + ))) + }, + request: types.NewQueryChainLinkOwnersRequest("", "", nil), + shouldErr: false, + expOwners: []types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails{ + { + User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + ChainName: "cosmos", + Target: "cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", + }, + { + User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + ChainName: "likecoin", + Target: "cosmos167x6ehhple8gwz5ezy9x0464jltvdpzl6qfdt4", + }, }, - request: types.NewQueryChainLinkOwnersRequest("", "", nil), }, { name: "query with chain name returns the correct data", store: func(ctx sdk.Context) { - + suite.Require().NoError(suite.k.SaveProfile(ctx, testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47"))) + suite.Require().NoError(suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewBech32Address("cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", "cosmos"), + types.NewProof( + testutil.PubKeyFromBech32("cosmospub1addwnpepqvryxhhqhw52c4ny5twtfzf3fsrjqhx0x5cuya0fylw0wu0eqptykeqhr4d"), + testutil.SingleSignatureProtoFromHex("909e38994b1583d3f14384c2e9a03c90064e8fd8e19b780bb0ba303dfe671a27287da04d0ce096ce9a140bd070ee36818f5519eb2070a16971efd8143855524b"), + "74657874", + ), + types.NewChainConfig("cosmos"), + time.Date(2019, 1, 1, 00, 00, 00, 000, time.UTC), + ))) + suite.Require().NoError(suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewBech32Address("cosmos167x6ehhple8gwz5ezy9x0464jltvdpzl6qfdt4", "cosmos"), + types.NewProof( + testutil.PubKeyFromJSON(suite.cdc, `{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A6XZ3b2QhhtHrglAqacSwnsastcmqdQ0OuGHXfA3H43c"}`), + testutil.SingleSignatureProtoFromHex("fc71bae3b7f55105d612d84f93738f4efdc32f866198c37b48d9e986d27082ba6162de59586cc53ab188870024fb8aad41b1407857787ddc9d0110695d8ffb54"), + "74657874", + ), + types.NewChainConfig("likecoin"), + time.Date(2019, 1, 1, 00, 00, 00, 000, time.UTC), + ))) + }, + request: types.NewQueryChainLinkOwnersRequest("cosmos", "", nil), + shouldErr: false, + expOwners: []types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails{ + { + User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + ChainName: "cosmos", + Target: "cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", + }, }, - request: types.NewQueryChainLinkOwnersRequest("cosmos", "", nil), }, { name: "query with chain name and target returns the correct data", store: func(ctx sdk.Context) { - + suite.Require().NoError(suite.k.SaveProfile(ctx, testutil.ProfileFromAddr("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47"))) + suite.Require().NoError(suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewBech32Address("cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", "cosmos"), + types.NewProof( + testutil.PubKeyFromBech32("cosmospub1addwnpepqvryxhhqhw52c4ny5twtfzf3fsrjqhx0x5cuya0fylw0wu0eqptykeqhr4d"), + testutil.SingleSignatureProtoFromHex("909e38994b1583d3f14384c2e9a03c90064e8fd8e19b780bb0ba303dfe671a27287da04d0ce096ce9a140bd070ee36818f5519eb2070a16971efd8143855524b"), + "74657874", + ), + types.NewChainConfig("cosmos"), + time.Date(2019, 1, 1, 00, 00, 00, 000, time.UTC), + ))) + suite.Require().NoError(suite.k.SaveChainLink(ctx, types.NewChainLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + types.NewBech32Address("cosmos167x6ehhple8gwz5ezy9x0464jltvdpzl6qfdt4", "cosmos"), + types.NewProof( + testutil.PubKeyFromJSON(suite.cdc, `{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A6XZ3b2QhhtHrglAqacSwnsastcmqdQ0OuGHXfA3H43c"}`), + testutil.SingleSignatureProtoFromHex("fc71bae3b7f55105d612d84f93738f4efdc32f866198c37b48d9e986d27082ba6162de59586cc53ab188870024fb8aad41b1407857787ddc9d0110695d8ffb54"), + "74657874", + ), + types.NewChainConfig("likecoin"), + time.Date(2019, 1, 1, 00, 00, 00, 000, time.UTC), + ))) + }, + request: types.NewQueryChainLinkOwnersRequest("cosmos", "cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", nil), + shouldErr: false, + expOwners: []types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails{ + { + User: "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + ChainName: "cosmos", + Target: "cosmos1nc54z3kzyal57w6wcf5khmwrxx5rafnwvu0m5z", + }, }, - request: types.NewQueryChainLinkOwnersRequest("cosmos", "xxx", nil), }, } From 6fea2ffc17f5cbaabda512f7a40aa8dc990d13e6 Mon Sep 17 00:00:00 2001 From: RiccardoM Date: Wed, 23 Mar 2022 11:45:49 +0000 Subject: [PATCH 15/19] Updated Swagger definition --- client/docs/swagger-ui/swagger.yaml | 1476 ++++++++++++++++++++------- 1 file changed, 1127 insertions(+), 349 deletions(-) diff --git a/client/docs/swagger-ui/swagger.yaml b/client/docs/swagger-ui/swagger.yaml index 8be0aafa95..5112192b4a 100644 --- a/client/docs/swagger-ui/swagger.yaml +++ b/client/docs/swagger-ui/swagger.yaml @@ -762,215 +762,726 @@ paths: type: string tags: - Query - /desmos/profiles/v2/chain-links: + /desmos/profiles/v2/app-links/owners: get: summary: |- - ChainLinks queries the chain links associated to the given user, if - provided. Otherwise it queries all the chain links stored. - operationId: ChainLinks + ApplicationLinkOwners queries for the owners of applications links, + optionally searching for a specific application and username. + operationId: ApplicationLinkOwners responses: '200': description: A successful response. schema: type: object properties: - links: + owners: type: array items: type: object properties: user: type: string - title: User defines the destination profile address to link - address: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized + application: + type: string + username: + type: string + title: >- + ApplicationLinkOwnerDetails contains the details of a single + application - protocol buffer message. This string must contain at - least + link owner + title: Addresses of the application links owners + pagination: + title: Pagination defines the pagination response + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - one "/" character. The last segment of the URL's - path must represent + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - the fully qualified name of the type (as in + corresponding request message has used PageRequest. - `path/google.protobuf.Duration`). The name should be - in a canonical form + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + description: >- + QueryApplicationLinkOwnersResponse contains the data returned by + the request - (e.g., leading "." is not accepted). + allowing to get application link owners. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + protocol buffer message. This string must contain at + least - In practice, teams usually precompile into the - binary all types that they + one "/" character. The last segment of the URL's path + must represent - expect it to use in the context of Any. However, for - URLs which use the + the fully qualified name of the type (as in - scheme `http`, `https`, or no scheme, one can - optionally set up a type + `path/google.protobuf.Duration`). The name should be in + a canonical form - server that maps type URLs to message definitions as - follows: + (e.g., leading "." is not accepted). - * If no scheme is provided, `https` is assumed. + In practice, teams usually precompile into the binary + all types that they - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + expect it to use in the context of Any. However, for + URLs which use the - Note: this functionality is not currently available - in the official + scheme `http`, `https`, or no scheme, one can optionally + set up a type - protobuf release, and it is not used for type URLs - beginning with + server that maps type URLs to message definitions as + follows: - type.googleapis.com. + * If no scheme is provided, `https` is assumed. - Schemes other than `http`, `https` (or the empty - scheme) might be + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the - above specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Note: this functionality is not currently available in + the official - URL that describes the type of the serialized message. + protobuf release, and it is not used for type URLs + beginning with + type.googleapis.com. - Protobuf library provides support to pack/unpack Any - values in the form - of utility functions or additional generated methods of - the Any type. + Schemes other than `http`, `https` (or the empty scheme) + might be + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - Example 1: Pack and unpack a message in C++. + URL that describes the type of the serialized message. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - Example 2: Pack and unpack a message in Java. + Protobuf library provides support to pack/unpack Any values + in the form - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + of utility functions or additional generated methods of the + Any type. - Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Example 1: Pack and unpack a message in C++. - Example 4: Pack and unpack a message in Go + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + Example 2: Pack and unpack a message in Java. - The pack methods provided by protobuf library will by - default use + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + Example 3: Pack and unpack a message in Python. - methods only use the fully qualified type name after the - last '/' + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + Example 4: Pack and unpack a message in Go - name "y.z". + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + The pack methods provided by protobuf library will by + default use + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - JSON + methods only use the fully qualified type name after the + last '/' - ==== + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - The JSON representation of an `Any` value uses the - regular + name "y.z". - representation of the deserialized, embedded message, - with an - additional field `@type` which contains the type URL. - Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: application + description: >- + (Optional) Application name to search link owners of. If not + specified, all + + links stored will be searched instead. + in: query + required: false + type: string + - name: username + description: |- + (Optional) Username to search for. This will only be used if the + application is specified as well. + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /desmos/profiles/v2/chain-links: + get: + summary: |- + ChainLinks queries the chain links associated to the given user, if + provided. Otherwise it queries all the chain links stored. + operationId: ChainLinks + responses: + '200': + description: A successful response. + schema: + type: object + properties: + links: + type: array + items: + type: object + properties: + user: + type: string + title: User defines the destination profile address to link + address: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the + above specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + title: >- + Address contains the data of the external chain address + to be connected + + with the Desmos profile + proof: + title: >- + Proof contains the ownership proof of the external chain + address + type: object + properties: + pub_key: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must + contain at least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name + should be in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, + for URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message + definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup + results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently + available in the official + + protobuf release, and it is not used for type + URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of + the above specified type. + description: >- + `Any` contains an arbitrary serialized protocol + buffer message along with a + + URL that describes the type of the serialized + message. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a - custom JSON + Protobuf library provides support to pack/unpack Any + values in the form - representation, that representation will be embedded - adding a field + of utility functions or additional generated methods + of the Any type. - `value` which holds the custom JSON in addition to the - `@type` - field. Example (for message - [google.protobuf.Duration][]): + Example 1: Pack and unpack a message in C++. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - Address contains the data of the external chain address - to be connected + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - with the Desmos profile - proof: - title: >- - Proof contains the ownership proof of the external chain - address - type: object - properties: - pub_key: + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } + + The pack methods provided by protobuf library will + by default use + + 'type.googleapis.com/full.type.name' as the type URL + and the unpack + + methods only use the fully qualified type name after + the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" + will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded + message, with an + + additional field `@type` which contains the type + URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to + the `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + title: >- + PubKey represents the public key associated with the + address for which to + + prove the ownership + signature: type: object properties: type_url: @@ -1111,258 +1622,412 @@ paths: ==== - The JSON representation of an `Any` value uses the - regular + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded + message, with an + + additional field `@type` which contains the type + URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to + the `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + title: >- + Signature represents the hex-encoded signature of + the PlainText value + plain_text: + type: string + title: >- + PlainText represents the hex-encoded value signed in + order to produce the + + Signature + chain_config: + title: >- + ChainConfig contains the configuration of the external + chain + type: object + properties: + name: + type: string + description: >- + ChainConfig contains the data of the chain with which + the link is made. + creation_time: + type: string + format: date-time + title: >- + CreationTime represents the time in which the link has + been created + title: >- + ChainLink contains the data representing either an inter- or + cross- chain + + link + pagination: + title: Pagination defines the pagination response + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + description: |- + QueryChainLinksResponse is the response type for the + Query/ChainLinks RPC method. + default: + description: An unexpected error response + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least - representation of the deserialized, embedded - message, with an + one "/" character. The last segment of the URL's path + must represent - additional field `@type` which contains the type - URL. Example: + the fully qualified name of the type (as in - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + `path/google.protobuf.Duration`). The name should be in + a canonical form - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + (e.g., leading "." is not accepted). - If the embedded message type is well-known and has a - custom JSON - representation, that representation will be embedded - adding a field + In practice, teams usually precompile into the binary + all types that they - `value` which holds the custom JSON in addition to - the `@type` + expect it to use in the context of Any. However, for + URLs which use the - field. Example (for message - [google.protobuf.Duration][]): + scheme `http`, `https`, or no scheme, one can optionally + set up a type - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - PubKey represents the public key associated with the - address for which to + server that maps type URLs to message definitions as + follows: - prove the ownership - signature: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - protocol buffer message. This string must - contain at least + * If no scheme is provided, `https` is assumed. - one "/" character. The last segment of the URL's - path must represent + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - the fully qualified name of the type (as in + Note: this functionality is not currently available in + the official - `path/google.protobuf.Duration`). The name - should be in a canonical form + protobuf release, and it is not used for type URLs + beginning with - (e.g., leading "." is not accepted). + type.googleapis.com. - In practice, teams usually precompile into the - binary all types that they + Schemes other than `http`, `https` (or the empty scheme) + might be - expect it to use in the context of Any. However, - for URLs which use the + used with implementation specific semantics. + value: + type: string + format: byte + description: >- + Must be a valid serialized protocol buffer of the above + specified type. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - scheme `http`, `https`, or no scheme, one can - optionally set up a type + URL that describes the type of the serialized message. - server that maps type URLs to message - definitions as follows: + Protobuf library provides support to pack/unpack Any values + in the form - * If no scheme is provided, `https` is assumed. + of utility functions or additional generated methods of the + Any type. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup - results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - Note: this functionality is not currently - available in the official + Example 1: Pack and unpack a message in C++. - protobuf release, and it is not used for type - URLs beginning with + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - type.googleapis.com. + Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Schemes other than `http`, `https` (or the empty - scheme) might be + Example 3: Pack and unpack a message in Python. - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of - the above specified type. - description: >- - `Any` contains an arbitrary serialized protocol - buffer message along with a + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - URL that describes the type of the serialized - message. + Example 4: Pack and unpack a message in Go + foo := &pb.Foo{...} + any, err := ptypes.MarshalAny(foo) + ... + foo := &pb.Foo{} + if err := ptypes.UnmarshalAny(any, foo); err != nil { + ... + } - Protobuf library provides support to pack/unpack Any - values in the form + The pack methods provided by protobuf library will by + default use - of utility functions or additional generated methods - of the Any type. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + methods only use the fully qualified type name after the + last '/' - Example 1: Pack and unpack a message in C++. + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + name "y.z". - Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - Example 3: Pack and unpack a message in Python. + JSON - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + ==== - Example 4: Pack and unpack a message in Go + The JSON representation of an `Any` value uses the regular - foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) - ... - foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { - ... - } + representation of the deserialized, embedded message, with + an - The pack methods provided by protobuf library will - by default use + additional field `@type` which contains the type URL. + Example: - 'type.googleapis.com/full.type.name' as the type URL - and the unpack + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - methods only use the fully qualified type name after - the last '/' + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - in the type URL, for example "foo.bar.com/x/y.z" - will yield type + If the embedded message type is well-known and has a custom + JSON - name "y.z". + representation, that representation will be embedded adding + a field + `value` which holds the custom JSON in addition to the + `@type` + field. Example (for message [google.protobuf.Duration][]): - JSON + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: user + description: >- + (optional) User represents the Desmos address of the user to which + search - ==== + the link for. + in: query + required: false + type: string + - name: chain_name + description: >- + (optional) ChainName contains the name of the chain to which search + the - The JSON representation of an `Any` value uses the - regular + link for. Used only if user is also set. + in: query + required: false + type: string + - name: target + description: >- + (optional) Target must contain the external address to which query + the link - representation of the deserialized, embedded - message, with an + for. Used only if chain name is also set. + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. - additional field `@type` which contains the type - URL. Example: + It is less efficient than using key. Only one of offset or key + should - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include - If the embedded message type is well-known and has a - custom JSON + a count of the total number of items available for pagination in + UIs. - representation, that representation will be embedded - adding a field + count_total is only respected when offset is used. It is ignored + when key - `value` which holds the custom JSON in addition to - the `@type` + is set. + in: query + required: false + type: boolean + format: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. - field. Example (for message - [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - Signature represents the hex-encoded signature of - the PlainText value - plain_text: - type: string - title: >- - PlainText represents the hex-encoded value signed in - order to produce the + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + format: boolean + tags: + - Query + /desmos/profiles/v2/chain-links/owners: + get: + summary: >- + ChainLinkOwners queries for the owners of chain links, optionally + searching - Signature - chain_config: - title: >- - ChainConfig contains the configuration of the external - chain - type: object - properties: - name: - type: string - description: >- - ChainConfig contains the data of the chain with which - the link is made. - creation_time: + for a specific chain name and external address + operationId: ChainLinkOwners + responses: + '200': + description: A successful response. + schema: + type: object + properties: + owners: + type: array + items: + type: object + properties: + user: + type: string + chain_name: + type: string + target: type: string - format: date-time - title: >- - CreationTime represents the time in which the link has - been created title: >- - ChainLink contains the data representing either an inter- or - cross- chain - - link + ChainLinkOwnerDetails contains the details of a single chain + link owner + title: Addresses of the chain links owners pagination: title: Pagination defines the pagination response type: object @@ -1391,9 +2056,11 @@ paths: repeated Bar results = 1; PageResponse page = 2; } - description: |- - QueryChainLinksResponse is the response type for the - Query/ChainLinks RPC method. + description: >- + QueryChainLinkOwnersResponse contains the data returned by the + request + + allowing to get chain link owners. default: description: An unexpected error response schema: @@ -1584,30 +2251,21 @@ paths: "value": "1.212s" } parameters: - - name: user - description: >- - (optional) User represents the Desmos address of the user to which - search - - the link for. - in: query - required: false - type: string - name: chain_name description: >- - (optional) ChainName contains the name of the chain to which search - the + (Optional) Chain name to search link owners of. If not specified, + all - link for. Used only if user is also set. + links stored will be searched instead. in: query required: false type: string - name: target description: >- - (optional) Target must contain the external address to which query - the link + (Optional) External address to search for. This will only be used if + the - for. Used only if chain name is also set. + chain name is specified as well. in: query required: false type: string @@ -5539,6 +6197,69 @@ definitions: title: |- QueryApplicationLinkByClientIDResponse contains the data returned by the request allowing to get an application link using a client id + desmos.profiles.v2.QueryApplicationLinkOwnersResponse: + type: object + properties: + owners: + type: array + items: + type: object + properties: + user: + type: string + application: + type: string + username: + type: string + title: >- + ApplicationLinkOwnerDetails contains the details of a single + application + + link owner + title: Addresses of the application links owners + pagination: + title: Pagination defines the pagination response + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + description: >- + QueryApplicationLinkOwnersResponse contains the data returned by the + request + + allowing to get application link owners. + desmos.profiles.v2.QueryApplicationLinkOwnersResponse.ApplicationLinkOwnerDetails: + type: object + properties: + user: + type: string + application: + type: string + username: + type: string + title: |- + ApplicationLinkOwnerDetails contains the details of a single application + link owner desmos.profiles.v2.QueryApplicationLinksResponse: type: object properties: @@ -5677,6 +6398,63 @@ definitions: title: |- QueryApplicationLinksResponse represents the response to the query used to get the application links for a specific user + desmos.profiles.v2.QueryChainLinkOwnersResponse: + type: object + properties: + owners: + type: array + items: + type: object + properties: + user: + type: string + chain_name: + type: string + target: + type: string + title: >- + ChainLinkOwnerDetails contains the details of a single chain link + owner + title: Addresses of the chain links owners + pagination: + title: Pagination defines the pagination response + type: object + properties: + next_key: + type: string + format: byte + title: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + description: |- + QueryChainLinkOwnersResponse contains the data returned by the request + allowing to get chain link owners. + desmos.profiles.v2.QueryChainLinkOwnersResponse.ChainLinkOwnerDetails: + type: object + properties: + user: + type: string + chain_name: + type: string + target: + type: string + title: ChainLinkOwnerDetails contains the details of a single chain link owner desmos.profiles.v2.QueryChainLinksResponse: type: object properties: From 63fedef0bada65d6342601c57eaf43872564e07e Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Wed, 23 Mar 2022 14:27:51 +0000 Subject: [PATCH 16/19] added changeset entry --- ...b19a07694f596ae5facae8dbd18ca8eb70bd6be0bc775aee829.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/entries/ed739ae62d392b19a07694f596ae5facae8dbd18ca8eb70bd6be0bc775aee829.yaml diff --git a/.changeset/entries/ed739ae62d392b19a07694f596ae5facae8dbd18ca8eb70bd6be0bc775aee829.yaml b/.changeset/entries/ed739ae62d392b19a07694f596ae5facae8dbd18ca8eb70bd6be0bc775aee829.yaml new file mode 100644 index 0000000000..a53b700e7f --- /dev/null +++ b/.changeset/entries/ed739ae62d392b19a07694f596ae5facae8dbd18ca8eb70bd6be0bc775aee829.yaml @@ -0,0 +1,6 @@ +type: feat +module: x/profiles +pull_request: 793 +description: Added the ability to reverse search application links and chain links +backward_compatible: true +date: 2022-03-23T14:27:24.394374729Z From a51b8b9b434aa909e5809a9df8f5c3401d16132d Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Fri, 25 Mar 2022 10:07:11 +0000 Subject: [PATCH 17/19] added store tests --- x/profiles/legacy/v5/store_test.go | 171 +++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 x/profiles/legacy/v5/store_test.go diff --git a/x/profiles/legacy/v5/store_test.go b/x/profiles/legacy/v5/store_test.go new file mode 100644 index 0000000000..d279d0100f --- /dev/null +++ b/x/profiles/legacy/v5/store_test.go @@ -0,0 +1,171 @@ +package v5_test + +import ( + "encoding/hex" + v5 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v5" + "testing" + "time" + + "github.com/cosmos/cosmos-sdk/types/tx/signing" + "github.com/desmos-labs/desmos/v3/testutil" + profilestypes "github.com/desmos-labs/desmos/v3/x/profiles/types" + + "github.com/cosmos/cosmos-sdk/store" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/tendermint/tendermint/libs/log" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + dbm "github.com/tendermint/tm-db" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + + "github.com/desmos-labs/desmos/v3/app" + "github.com/desmos-labs/desmos/v3/x/relationships/types" +) + +func buildContext( + keys map[string]*sdk.KVStoreKey, tKeys map[string]*sdk.TransientStoreKey, memKeys map[string]*sdk.MemoryStoreKey, +) sdk.Context { + db := dbm.NewMemDB() + cms := store.NewCommitMultiStore(db) + for _, key := range keys { + cms.MountStoreWithDB(key, sdk.StoreTypeIAVL, db) + } + for _, tKey := range tKeys { + cms.MountStoreWithDB(tKey, sdk.StoreTypeTransient, db) + } + for _, memKey := range memKeys { + cms.MountStoreWithDB(memKey, sdk.StoreTypeMemory, nil) + } + + err := cms.LoadLatestVersion() + if err != nil { + panic(err) + } + + return sdk.NewContext(cms, tmproto.Header{}, false, log.NewNopLogger()) +} + +func TestMigrateStore(t *testing.T) { + cdc, _ := app.MakeCodecs() + + // Build all the necessary keys + keys := sdk.NewKVStoreKeys(authtypes.StoreKey, types.StoreKey) + tKeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) + memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) + + // Build common data + pubKey := testutil.PubKeyFromBech32("cosmospub1addwnpepqvryxhhqhw52c4ny5twtfzf3fsrjqhx0x5cuya0fylw0wu0eqptykeqhr4d") + pubKeyAny := testutil.NewAny(pubKey) + + testCases := []struct { + name string + store func(ctx sdk.Context) + shouldErr bool + check func(ctx sdk.Context) + }{ + { + name: "application links owners are added properly", + store: func(ctx sdk.Context) { + kvStore := ctx.KVStore(keys[types.StoreKey]) + + // Store an application link + linkKey := profilestypes.UserApplicationLinkKey("cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", "twitter", "twitteruser") + kvStore.Set( + linkKey, + cdc.MustMarshal(&profilestypes.ApplicationLink{ + User: "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + Data: profilestypes.NewData("twitter", "twitteruser"), + State: profilestypes.ApplicationLinkStateInitialized, + OracleRequest: profilestypes.NewOracleRequest( + 0, + 1, + profilestypes.NewOracleRequestCallData("twitter", "calldata"), + "client_id", + ), + Result: nil, + CreationTime: time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), + }), + ) + + // Store an application link client id + kvStore.Set(profilestypes.ApplicationLinkClientIDKey("client_id"), linkKey) + }, + check: func(ctx sdk.Context) { + kvStore := ctx.KVStore(keys[types.StoreKey]) + + // Check the application link owner + key := profilestypes.ApplicationLinkOwnerKey( + "twitter", + "twitteruser", + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + ) + require.Equal(t, []byte("cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773"), kvStore.Get(key)) + }, + }, + { + name: "chain link owners are added properly", + store: func(ctx sdk.Context) { + kvStore := ctx.KVStore(keys[types.StoreKey]) + + // Store the chain link + signatureValue, err := hex.DecodeString("7369676E6174757265") + require.NoError(t, err) + signature := profilestypes.SingleSignatureData{ + Mode: signing.SignMode_SIGN_MODE_TEXTUAL, + Signature: signatureValue, + } + signatureAny := testutil.NewAny(&signature) + + chainLink := profilestypes.NewChainLink( + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + profilestypes.NewBech32Address("cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f", "cosmos"), + profilestypes.Proof{ + PubKey: pubKeyAny, + Signature: signatureAny, + PlainText: "74657874", + }, + profilestypes.ChainConfig{Name: "cosmos"}, + time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), + ) + + kvStore.Set( + profilestypes.ChainLinksStoreKey("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", "cosmos", "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f"), + cdc.MustMarshal(&chainLink), + ) + }, + check: func(ctx sdk.Context) { + kvStore := ctx.KVStore(keys[types.StoreKey]) + + key := profilestypes.ChainLinkOwnerKey( + "cosmos", + "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f", + "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", + ) + require.Equal(t, []byte("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47"), kvStore.Get(key)) + }, + }, + } + + for _, tc := range testCases { + tc := tc + t.Run(tc.name, func(t *testing.T) { + ctx := buildContext(keys, tKeys, memKeys) + if tc.store != nil { + tc.store(ctx) + } + + err := v5.MigrateStore(ctx, keys[types.StoreKey], cdc) + if tc.shouldErr { + require.Error(t, err) + } else { + require.NoError(t, err) + if tc.check != nil { + tc.check(ctx) + } + } + }) + } +} From ce789c3d542f05e0e294999e71bb96dee837654b Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 28 Mar 2022 13:25:52 +0200 Subject: [PATCH 18/19] updated how chain and app links owners are stored and added tests Signed-off-by: Riccardo Montagnin --- x/profiles/keeper/grpc_query.go | 23 +++++++++----------- x/profiles/keeper/keeper_app_links.go | 11 ++++------ x/profiles/keeper/keeper_app_links_test.go | 9 ++++++++ x/profiles/keeper/keeper_chain_links.go | 5 ++++- x/profiles/keeper/keeper_chain_links_test.go | 8 +++++++ x/profiles/legacy/v5/store.go | 4 ++-- x/profiles/legacy/v5/store_test.go | 8 ++++--- x/profiles/types/keys.go | 21 +++++++++++++++--- 8 files changed, 60 insertions(+), 29 deletions(-) diff --git a/x/profiles/keeper/grpc_query.go b/x/profiles/keeper/grpc_query.go index fa356e45c6..b4974c9e10 100644 --- a/x/profiles/keeper/grpc_query.go +++ b/x/profiles/keeper/grpc_query.go @@ -1,7 +1,6 @@ package keeper import ( - "bytes" "context" "strings" @@ -139,15 +138,14 @@ func (k Keeper) ChainLinkOwners(ctx context.Context, request *types.QueryChainLi var owners []types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails ownersStore := prefix.NewStore(store, ownersPrefix) pageRes, err := query.Paginate(ownersStore, request.Pagination, func(key []byte, value []byte) error { + // Re-add the prefix because the prefix store trims it out, and we need it to get the data keyWithPrefix := append(ownersPrefix, key...) - cleanedKey := bytes.TrimSuffix(bytes.TrimPrefix(keyWithPrefix, types.ChainLinkChainPrefix), value) - values := bytes.Split(cleanedKey, types.Separator) - chainName, target := values[0], values[1] + chainName, target, user := types.GetChainLinkOwnerData(keyWithPrefix) owners = append(owners, types.QueryChainLinkOwnersResponse_ChainLinkOwnerDetails{ - User: string(value), - ChainName: string(chainName), - Target: string(target), + User: user, + ChainName: chainName, + Target: target, }) return nil @@ -228,15 +226,14 @@ func (k Keeper) ApplicationLinkOwners(ctx context.Context, request *types.QueryA var owners []types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails ownersStore := prefix.NewStore(store, ownersPrefix) pageRes, err := query.Paginate(ownersStore, request.Pagination, func(key []byte, value []byte) error { + // Re-add the prefix because the prefix store trims it out, and we need it to get the data keyWithPrefix := append(ownersPrefix, key...) - cleanedKey := bytes.TrimSuffix(bytes.TrimPrefix(keyWithPrefix, types.ApplicationLinkAppPrefix), value) - values := bytes.Split(cleanedKey, types.Separator) - application, username := values[0], values[1] + application, username, user := types.GetApplicationLinkOwnerData(keyWithPrefix) owners = append(owners, types.QueryApplicationLinkOwnersResponse_ApplicationLinkOwnerDetails{ - User: string(value), - Application: string(application), - Username: string(username), + User: user, + Application: application, + Username: username, }) return nil diff --git a/x/profiles/keeper/keeper_app_links.go b/x/profiles/keeper/keeper_app_links.go index 4e1d7e7f2c..c54e891ac7 100644 --- a/x/profiles/keeper/keeper_app_links.go +++ b/x/profiles/keeper/keeper_app_links.go @@ -10,6 +10,7 @@ import ( // Connections are stored using three keys: // 1. UserApplicationLinkKey (user + application + username) -> types.ApplicationLink // 2. ApplicationLinkClientIDKey (client_id) -> UserApplicationLinkKey +// 3. ApplicationLinkOwnerKey (application + username + user) -> 0x01 // // This allows to get connections by client id as well as by app + username quickly @@ -19,16 +20,12 @@ func (k Keeper) SaveApplicationLink(ctx sdk.Context, link types.ApplicationLink) return sdkerrors.Wrapf(types.ErrProfileNotFound, "a profile is required to link an application") } - // Get the keys - userApplicationLinkKey := types.UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username) - applicationLinkClientIDKey := types.ApplicationLinkClientIDKey(link.OracleRequest.ClientID) - applicationOwnerKey := types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User) - // Store the data store := ctx.KVStore(k.storeKey) + userApplicationLinkKey := types.UserApplicationLinkKey(link.User, link.Data.Application, link.Data.Username) store.Set(userApplicationLinkKey, types.MustMarshalApplicationLink(k.cdc, link)) - store.Set(applicationLinkClientIDKey, userApplicationLinkKey) - store.Set(applicationOwnerKey, []byte(link.User)) + store.Set(types.ApplicationLinkClientIDKey(link.OracleRequest.ClientID), userApplicationLinkKey) + store.Set(types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User), []byte{0x01}) ctx.EventManager().EmitEvent( sdk.NewEvent( diff --git a/x/profiles/keeper/keeper_app_links_test.go b/x/profiles/keeper/keeper_app_links_test.go index 934503e28c..f8252bc956 100644 --- a/x/profiles/keeper/keeper_app_links_test.go +++ b/x/profiles/keeper/keeper_app_links_test.go @@ -487,6 +487,15 @@ func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { "twitter", "twitteruser", )) + + // Check the additional keys + store := suite.ctx.KVStore(suite.storeKey) + suite.Require().False(store.Has(types.ApplicationLinkClientIDKey("client_id"))) + suite.Require().False(store.Has(types.ApplicationLinkOwnerKey( + "twitter", + "twitteruser", + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + ))) }, }, } diff --git a/x/profiles/keeper/keeper_chain_links.go b/x/profiles/keeper/keeper_chain_links.go index fc69952b9d..42b207ef45 100644 --- a/x/profiles/keeper/keeper_chain_links.go +++ b/x/profiles/keeper/keeper_chain_links.go @@ -8,6 +8,9 @@ import ( ) // SaveChainLink stores the given chain link +// Chain links are stored using two keys: +// 1. ChainLinkStoreKey (user + chain name + target) -> types.ChainLink +// 2. ChainLinkOwnerKey (chain name + target + user) -> 0x01 func (k Keeper) SaveChainLink(ctx sdk.Context, link types.ChainLink) error { // Validate the chain link err := link.Validate() @@ -45,7 +48,7 @@ func (k Keeper) SaveChainLink(ctx sdk.Context, link types.ChainLink) error { // Store the data store := ctx.KVStore(k.storeKey) store.Set(types.ChainLinksStoreKey(link.User, link.ChainConfig.Name, target), types.MustMarshalChainLink(k.cdc, link)) - store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, target, link.User), []byte(link.User)) + store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, target, link.User), []byte{0x01}) k.AfterChainLinkSaved(ctx, link) diff --git a/x/profiles/keeper/keeper_chain_links_test.go b/x/profiles/keeper/keeper_chain_links_test.go index 89e589e1f2..66aa94c9f6 100644 --- a/x/profiles/keeper/keeper_chain_links_test.go +++ b/x/profiles/keeper/keeper_chain_links_test.go @@ -355,6 +355,14 @@ func (suite *KeeperTestSuite) TestKeeper_DeleteChainLink() { "cosmos", ext.GetAddress().String(), )) + + // Check the additional keys + store := suite.ctx.KVStore(suite.storeKey) + suite.Require().False(store.Has(types.ChainLinkOwnerKey( + "cosmos", + ext.GetAddress().String(), + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + ))) }, }, } diff --git a/x/profiles/legacy/v5/store.go b/x/profiles/legacy/v5/store.go index a7b164a4fe..0bef62a8c8 100644 --- a/x/profiles/legacy/v5/store.go +++ b/x/profiles/legacy/v5/store.go @@ -51,7 +51,7 @@ func fixApplicationLinks(store sdk.KVStore, cdc codec.BinaryCodec) error { applicationLinksIterator.Close() for _, link := range applicationLinks { - store.Set(types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User), []byte(link.User)) + store.Set(types.ApplicationLinkOwnerKey(link.Data.Application, link.Data.Username, link.User), []byte{0x01}) } return nil @@ -76,7 +76,7 @@ func fixChainLinks(store sdk.KVStore, cdc codec.BinaryCodec) error { chainLinksIterator.Close() for _, link := range chainLinks { - store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, link.GetAddressData().GetValue(), link.User), []byte(link.User)) + store.Set(types.ChainLinkOwnerKey(link.ChainConfig.Name, link.GetAddressData().GetValue(), link.User), []byte{0x01}) } return nil diff --git a/x/profiles/legacy/v5/store_test.go b/x/profiles/legacy/v5/store_test.go index d279d0100f..9e6f1b3669 100644 --- a/x/profiles/legacy/v5/store_test.go +++ b/x/profiles/legacy/v5/store_test.go @@ -2,11 +2,13 @@ package v5_test import ( "encoding/hex" - v5 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v5" "testing" "time" + v5 "github.com/desmos-labs/desmos/v3/x/profiles/legacy/v5" + "github.com/cosmos/cosmos-sdk/types/tx/signing" + "github.com/desmos-labs/desmos/v3/testutil" profilestypes "github.com/desmos-labs/desmos/v3/x/profiles/types" @@ -102,7 +104,7 @@ func TestMigrateStore(t *testing.T) { "twitteruser", "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", ) - require.Equal(t, []byte("cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773"), kvStore.Get(key)) + require.Equal(t, []byte{0x01}, kvStore.Get(key)) }, }, { @@ -144,7 +146,7 @@ func TestMigrateStore(t *testing.T) { "cosmos10clxpupsmddtj7wu7g0wdysajqwp890mva046f", "cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47", ) - require.Equal(t, []byte("cosmos1y54exmx84cqtasvjnskf9f63djuuj68p7hqf47"), kvStore.Get(key)) + require.Equal(t, []byte{0x01}, kvStore.Get(key)) }, }, } diff --git a/x/profiles/types/keys.go b/x/profiles/types/keys.go index 55ff0435d7..d866384746 100644 --- a/x/profiles/types/keys.go +++ b/x/profiles/types/keys.go @@ -1,6 +1,7 @@ package types import ( + "bytes" "strings" ) @@ -90,8 +91,15 @@ func ChainLinkChainAddressKey(chainName, address string) []byte { } // ChainLinkOwnerKey returns the key to store the owner of the chain link to the given chain and external address -func ChainLinkOwnerKey(chainName, address, owner string) []byte { - return append(ChainLinkChainAddressKey(chainName, address), []byte(owner)...) +func ChainLinkOwnerKey(chainName, target, owner string) []byte { + return append(ChainLinkChainAddressKey(chainName, target), append(Separator, []byte(owner)...)...) +} + +// GetChainLinkOwnerData returns the application link chain name, target and owner from the given key +func GetChainLinkOwnerData(key []byte) (chainName, target, owner string) { + cleanedKey := bytes.TrimPrefix(key, ChainLinkChainPrefix) + values := bytes.Split(cleanedKey, Separator) + return string(values[0]), string(values[1]), string(values[2]) } // UserApplicationLinksPrefix returns the store prefix used to identify all the application links for the given user @@ -132,5 +140,12 @@ func ApplicationLinkAppUsernameKey(application, username string) []byte { // ApplicationLinkOwnerKey returns the key used to store the given owner associating it to the application link // having the provided application and username func ApplicationLinkOwnerKey(application, username, owner string) []byte { - return append(ApplicationLinkAppUsernameKey(application, username), []byte(owner)...) + return append(ApplicationLinkAppUsernameKey(application, username), append(Separator, []byte(owner)...)...) +} + +// GetApplicationLinkOwnerData returns the application, username and owner from a given ApplicationLinkOwnerKey +func GetApplicationLinkOwnerData(key []byte) (application, username, owner string) { + cleanedKey := bytes.TrimPrefix(key, ApplicationLinkAppPrefix) + values := bytes.Split(cleanedKey, Separator) + return string(values[0]), string(values[1]), string(values[2]) } From 3ee9064973f445ce5221494c2b835f2bbbf0e306 Mon Sep 17 00:00:00 2001 From: Riccardo Montagnin Date: Mon, 28 Mar 2022 15:29:28 +0200 Subject: [PATCH 19/19] updated test names and added missing tests Signed-off-by: Riccardo Montagnin --- x/profiles/keeper/keeper_app_links_test.go | 26 ++++++++++++++++---- x/profiles/keeper/keeper_chain_links_test.go | 12 +++++++-- x/profiles/keeper/keeper_test.go | 2 +- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/x/profiles/keeper/keeper_app_links_test.go b/x/profiles/keeper/keeper_app_links_test.go index f8252bc956..fb71f4f277 100644 --- a/x/profiles/keeper/keeper_app_links_test.go +++ b/x/profiles/keeper/keeper_app_links_test.go @@ -16,6 +16,7 @@ func (suite *KeeperTestSuite) Test_SaveApplicationLink() { store func(ctx sdk.Context) link types.ApplicationLink shouldErr bool + check func(ctx sdk.Context) }{ { name: "user without profile returns error", @@ -54,6 +55,22 @@ func (suite *KeeperTestSuite) Test_SaveApplicationLink() { time.Date(2020, 1, 1, 00, 00, 00, 000, time.UTC), ), shouldErr: false, + check: func(ctx sdk.Context) { + suite.Require().True(suite.k.HasApplicationLink(ctx, + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + "twitter", + "twitteruser", + )) + + // Check the additional keys + store := ctx.KVStore(suite.storeKey) + suite.Require().True(store.Has(types.ApplicationLinkClientIDKey("client_id"))) + suite.Require().True(store.Has(types.ApplicationLinkOwnerKey( + "twitter", + "twitteruser", + "cosmos10nsdxxdvy9qka3zv0lzw8z9cnu6kanld8jh773", + ))) + }, }, } @@ -70,10 +87,9 @@ func (suite *KeeperTestSuite) Test_SaveApplicationLink() { suite.Require().Error(err) } else { suite.Require().NoError(err) - - store := ctx.KVStore(suite.storeKey) - suite.Require().True(store.Has(types.UserApplicationLinkKey(tc.link.User, tc.link.Data.Application, tc.link.Data.Username))) - suite.Require().True(store.Has(types.ApplicationLinkClientIDKey(tc.link.OracleRequest.ClientID))) + if tc.check != nil { + tc.check(ctx) + } } }) } @@ -489,7 +505,7 @@ func (suite *KeeperTestSuite) Test_DeleteApplicationLink() { )) // Check the additional keys - store := suite.ctx.KVStore(suite.storeKey) + store := ctx.KVStore(suite.storeKey) suite.Require().False(store.Has(types.ApplicationLinkClientIDKey("client_id"))) suite.Require().False(store.Has(types.ApplicationLinkOwnerKey( "twitter", diff --git a/x/profiles/keeper/keeper_chain_links_test.go b/x/profiles/keeper/keeper_chain_links_test.go index 66aa94c9f6..72e18b0959 100644 --- a/x/profiles/keeper/keeper_chain_links_test.go +++ b/x/profiles/keeper/keeper_chain_links_test.go @@ -15,7 +15,7 @@ import ( "github.com/desmos-labs/desmos/v3/x/profiles/types" ) -func (suite *KeeperTestSuite) TestKeeper_StoreChainLink() { +func (suite *KeeperTestSuite) TestKeeper_SaveChainLink() { // Generate source and destination key ext := suite.GetRandomProfile() sig := hex.EncodeToString(ext.Sign([]byte(ext.GetAddress().String()))) @@ -143,6 +143,14 @@ func (suite *KeeperTestSuite) TestKeeper_StoreChainLink() { types.NewChainConfig("cosmos"), time.Date(2020, 1, 2, 00, 00, 00, 000, time.UTC), )) + + // Check the additional keys + store := ctx.KVStore(suite.storeKey) + suite.Require().True(store.Has(types.ChainLinkOwnerKey( + "cosmos", + ext.GetAddress().String(), + "cosmos19xz3mrvzvp9ymgmudhpukucg6668l5haakh04x", + ))) }, }, } @@ -357,7 +365,7 @@ func (suite *KeeperTestSuite) TestKeeper_DeleteChainLink() { )) // Check the additional keys - store := suite.ctx.KVStore(suite.storeKey) + store := ctx.KVStore(suite.storeKey) suite.Require().False(store.Has(types.ChainLinkOwnerKey( "cosmos", ext.GetAddress().String(), diff --git a/x/profiles/keeper/keeper_test.go b/x/profiles/keeper/keeper_test.go index 09e7cfed71..40e6041216 100644 --- a/x/profiles/keeper/keeper_test.go +++ b/x/profiles/keeper/keeper_test.go @@ -11,7 +11,7 @@ import ( "github.com/desmos-labs/desmos/v3/x/profiles/types" ) -func (suite *KeeperTestSuite) TestKeeper_StoreProfile() { +func (suite *KeeperTestSuite) TestKeeper_SaveProfile() { testCases := []struct { name string store func(ctx sdk.Context)