Documentation ¶
Index ¶
- func AllInvariants(k Keeper) sdk.Invariant
- func NewMsgServerImpl(keeper Keeper) types.MsgServer
- func RegisterInvariants(ir sdk.InvariantRegistry, keeper Keeper)
- func ValidApplicationLinks(k Keeper) sdk.Invariant
- func ValidChainLinks(k Keeper) sdk.Invariant
- func ValidDTagTransferRequests(k Keeper) sdk.Invariant
- func ValidProfilesInvariant(k Keeper) sdk.Invariant
- type Keeper
- func (k Keeper) AfterApplicationLinkDeleted(ctx sdk.Context, link types.ApplicationLink)
- func (k Keeper) AfterApplicationLinkSaved(ctx sdk.Context, link types.ApplicationLink)
- func (k Keeper) AfterChainLinkDeleted(ctx sdk.Context, link types.ChainLink)
- func (k Keeper) AfterChainLinkSaved(ctx sdk.Context, link types.ChainLink)
- func (k Keeper) AfterDTagTransferRequestAccepted(ctx sdk.Context, request types.DTagTransferRequest, newDTag string)
- func (k Keeper) AfterDTagTransferRequestCreated(ctx sdk.Context, request types.DTagTransferRequest)
- func (k Keeper) AfterDTagTransferRequestDeleted(ctx sdk.Context, sender, recipient string)
- func (k Keeper) AfterProfileDeleted(ctx sdk.Context, profile *types.Profile)
- func (k Keeper) AfterProfileSaved(ctx sdk.Context, profile *types.Profile)
- func (k Keeper) ApplicationLinkByClientID(ctx context.Context, request *types.QueryApplicationLinkByClientIDRequest) (*types.QueryApplicationLinkByClientIDResponse, error)
- func (k Keeper) ApplicationLinkOwners(ctx context.Context, request *types.QueryApplicationLinkOwnersRequest) (*types.QueryApplicationLinkOwnersResponse, error)
- func (k Keeper) ApplicationLinks(ctx context.Context, request *types.QueryApplicationLinksRequest) (*types.QueryApplicationLinksResponse, error)
- func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool
- func (k Keeper) BindPort(ctx sdk.Context, portID string) error
- func (k Keeper) ChainLinkOwners(ctx context.Context, request *types.QueryChainLinkOwnersRequest) (*types.QueryChainLinkOwnersResponse, error)
- func (k Keeper) ChainLinks(ctx context.Context, request *types.QueryChainLinksRequest) (*types.QueryChainLinksResponse, error)
- func (k Keeper) ChanCloseInit(ctx sdk.Context, portID, channelID string) error
- func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error
- func (k Keeper) DeleteAllUserApplicationLinks(ctx sdk.Context, user string)
- func (k Keeper) DeleteAllUserChainLinks(ctx sdk.Context, user string)
- func (k Keeper) DeleteAllUserIncomingDTagTransferRequests(ctx sdk.Context, receiver string)
- func (k Keeper) DeleteApplicationLink(ctx sdk.Context, appLink types.ApplicationLink)
- func (k Keeper) DeleteChainLink(ctx sdk.Context, link types.ChainLink)
- func (k Keeper) DeleteDTagTransferRequest(ctx sdk.Context, sender, recipient string)
- func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState
- func (k Keeper) GetAddressFromDTag(ctx sdk.Context, dTag string) (addr string)
- func (k Keeper) GetApplicationLink(ctx sdk.Context, user, application, username string) (types.ApplicationLink, bool, error)
- func (k Keeper) GetApplicationLinkByClientID(ctx sdk.Context, clientID string) (types.ApplicationLink, bool, error)
- func (k Keeper) GetApplicationLinks(ctx sdk.Context) []types.ApplicationLink
- func (k Keeper) GetChainLink(ctx sdk.Context, owner, chainName, target string) (types.ChainLink, bool)
- func (k Keeper) GetChainLinks(ctx sdk.Context) []types.ChainLink
- func (k Keeper) GetDTagTransferRequest(ctx sdk.Context, sender, receiver string) (types.DTagTransferRequest, bool, error)
- func (k Keeper) GetDTagTransferRequests(ctx sdk.Context) (requests []types.DTagTransferRequest)
- func (k Keeper) GetParams(ctx sdk.Context) (p types.Params)
- func (k Keeper) GetPort(ctx sdk.Context) string
- func (k Keeper) GetProfile(ctx sdk.Context, address string) (profile *types.Profile, found bool, err error)
- func (k Keeper) GetProfiles(ctx sdk.Context) []*types.Profile
- func (k Keeper) HasApplicationLink(ctx sdk.Context, user, application, username string) bool
- func (k Keeper) HasChainLink(ctx sdk.Context, owner, chainName, target string) bool
- func (k Keeper) HasDTagTransferRequest(ctx sdk.Context, sender, recipient string) bool
- func (k Keeper) HasProfile(ctx sdk.Context, user string) bool
- func (k Keeper) IncomingDTagTransferRequests(ctx context.Context, request *types.QueryIncomingDTagTransferRequestsRequest) (*types.QueryIncomingDTagTransferRequestsResponse, error)
- func (k Keeper) InitGenesis(ctx sdk.Context, data types.GenesisState) []abci.ValidatorUpdate
- func (k Keeper) IsBound(ctx sdk.Context, portID string) bool
- func (k Keeper) IsUserBlocked(ctx sdk.Context, user, blocker string) bool
- func (k Keeper) IterateApplicationLinks(ctx sdk.Context, fn func(index int64, link types.ApplicationLink) (stop bool))
- func (k Keeper) IterateChainLinks(ctx sdk.Context, fn func(index int64, link types.ChainLink) (stop bool))
- func (k Keeper) IterateDTagTransferRequests(ctx sdk.Context, ...)
- func (k Keeper) IterateProfiles(ctx sdk.Context, fn func(index int64, profile *types.Profile) (stop bool))
- func (k Keeper) IterateUserApplicationLinks(ctx sdk.Context, user string, ...)
- func (k Keeper) IterateUserChainLinks(ctx sdk.Context, user string, ...)
- func (k Keeper) IterateUserIncomingDTagTransferRequests(ctx sdk.Context, user string, ...)
- func (k Keeper) LinkApplication(goCtx context.Context, msg *types.MsgLinkApplication) (*types.MsgLinkApplicationResponse, error)
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) OnOracleRequestAcknowledgementPacket(ctx sdk.Context, data oracletypes.OracleRequestPacketData, ...) error
- func (k Keeper) OnOracleRequestTimeoutPacket(ctx sdk.Context, data oracletypes.OracleRequestPacketData) error
- func (k Keeper) OnRecvApplicationLinkPacketData(ctx sdk.Context, data oracletypes.OracleResponsePacketData) error
- func (k Keeper) OnRecvLinkChainAccountPacket(ctx sdk.Context, data types.LinkChainAccountPacketData) (packetAck types.LinkChainAccountPacketAck, err error)
- func (k Keeper) Params(ctx context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Keeper) Profile(ctx context.Context, request *types.QueryProfileRequest) (*types.QueryProfileResponse, error)
- func (k Keeper) RemoveProfile(ctx sdk.Context, address string) error
- func (k Keeper) SaveApplicationLink(ctx sdk.Context, link types.ApplicationLink) error
- func (k Keeper) SaveChainLink(ctx sdk.Context, link types.ChainLink) error
- func (k Keeper) SaveDTagTransferRequest(ctx sdk.Context, request types.DTagTransferRequest) error
- func (k Keeper) SaveProfile(ctx sdk.Context, profile *types.Profile) error
- func (k *Keeper) SetHooks(ph types.ProfilesHooks) *Keeper
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params)
- func (k Keeper) SetPort(ctx sdk.Context, portID string)
- func (k Keeper) StartProfileConnection(ctx sdk.Context, applicationData types.Data, dataSourceCallData string, ...) error
- func (k Keeper) ValidateProfile(ctx sdk.Context, profile *types.Profile) error
- type Migrator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllInvariants ¶
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the profiles MsgServer interface for the provided Keeper.
func RegisterInvariants ¶
func RegisterInvariants(ir sdk.InvariantRegistry, keeper Keeper)
RegisterInvariants registers all posts invariants
func ValidApplicationLinks ¶
ValidApplicationLinks checks that all application links are associated with a user that has a profile
func ValidChainLinks ¶
ValidChainLinks checks that all chain links are associated with a user that has a profile
func ValidDTagTransferRequests ¶
ValidDTagTransferRequests checks that all DTag transfer requests are associated with a recipient that has a profile and they have not been made from the same user towards the same user
func ValidProfilesInvariant ¶
ValidProfilesInvariant checks that all registered Profiles have a non-empty DTag and a non-empty creator
Types ¶
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper maintains the link to data storage and exposes getter/setter methods for the various parts of the state machine
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, legacyAmino *codec.LegacyAmino, storeKey sdk.StoreKey, paramSpace paramstypes.Subspace, ak authkeeper.AccountKeeper, rk types.RelationshipsKeeper, channelKeeper types.ChannelKeeper, portKeeper types.PortKeeper, scopedKeeper types.ScopedKeeper, ) Keeper
NewKeeper creates new instances of the Profiles Keeper. This k stores the profile data using two different associations:
- Address -> Profile This is used to easily retrieve the profile of a user based on an address
- DTag -> Address This is used to get the address of a user based on a DTag
func (Keeper) AfterApplicationLinkDeleted ¶
func (k Keeper) AfterApplicationLinkDeleted(ctx sdk.Context, link types.ApplicationLink)
AfterUserPermissionDeleted - call if hook is registered
func (Keeper) AfterApplicationLinkSaved ¶
func (k Keeper) AfterApplicationLinkSaved(ctx sdk.Context, link types.ApplicationLink)
AfterApplicationLinkSaved - call if hook is registered
func (Keeper) AfterChainLinkDeleted ¶
AfterChainLinkDeleted - call if hook is registered
func (Keeper) AfterChainLinkSaved ¶
AfterChainLinkSaved - call if hook is registered
func (Keeper) AfterDTagTransferRequestAccepted ¶
func (k Keeper) AfterDTagTransferRequestAccepted(ctx sdk.Context, request types.DTagTransferRequest, newDTag string)
AfterDTagTransferRequestAccepted - call if hook is registered
func (Keeper) AfterDTagTransferRequestCreated ¶
func (k Keeper) AfterDTagTransferRequestCreated(ctx sdk.Context, request types.DTagTransferRequest)
AfterDTagTransferRequestCreated - call if hook is registered
func (Keeper) AfterDTagTransferRequestDeleted ¶
AfterDTagTransferRequestDeleted - call if hook is registered
func (Keeper) AfterProfileDeleted ¶
AfterProfileDeleted - call if hook is registered
func (Keeper) AfterProfileSaved ¶
AfterProfileSaved - call if hook is registered
func (Keeper) ApplicationLinkByClientID ¶
func (k Keeper) ApplicationLinkByClientID(ctx context.Context, request *types.QueryApplicationLinkByClientIDRequest) (*types.QueryApplicationLinkByClientIDResponse, error)
ApplicationLinkByClientID implements the Query/ApplicationLinkByClientID gRPC method
func (Keeper) ApplicationLinkOwners ¶
func (k Keeper) ApplicationLinkOwners(ctx context.Context, request *types.QueryApplicationLinkOwnersRequest) (*types.QueryApplicationLinkOwnersResponse, error)
ApplicationLinkOwners implements the Query/ApplicationLinkOwners gRPC method
func (Keeper) ApplicationLinks ¶
func (k Keeper) ApplicationLinks(ctx context.Context, request *types.QueryApplicationLinksRequest) (*types.QueryApplicationLinksResponse, error)
ApplicationLinks implements the Query/ApplicationLinks gRPC method
func (Keeper) AuthenticateCapability ¶
func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool
AuthenticateCapability wraps the scopedKeeper's AuthenticateCapability function
func (Keeper) BindPort ¶
BindPort defines a wrapper function for the port Keeper's function in order to expose it to module's InitGenesis function
func (Keeper) ChainLinkOwners ¶
func (k Keeper) ChainLinkOwners(ctx context.Context, request *types.QueryChainLinkOwnersRequest) (*types.QueryChainLinkOwnersResponse, error)
ChainLinkOwners implements the Query/ChainLinkOwners gRPC method
func (Keeper) ChainLinks ¶
func (k Keeper) ChainLinks(ctx context.Context, request *types.QueryChainLinksRequest) (*types.QueryChainLinksResponse, error)
ChainLinks implements the Query/ChainLinks gRPC method
func (Keeper) ChanCloseInit ¶
ChanCloseInit defines a wrapper function for the channel Keeper's function
func (Keeper) ClaimCapability ¶
func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error
ClaimCapability wraps the scopedKeeper's ClaimCapability method
func (Keeper) DeleteAllUserApplicationLinks ¶
DeleteAllUserApplicationLinks delete all the applications links associated with the given user
func (Keeper) DeleteAllUserChainLinks ¶
DeleteAllUserChainLinks deletes all the chain links associated with the given user
func (Keeper) DeleteAllUserIncomingDTagTransferRequests ¶
DeleteAllUserIncomingDTagTransferRequests deletes all the requests made to the given user
func (Keeper) DeleteApplicationLink ¶
func (k Keeper) DeleteApplicationLink(ctx sdk.Context, appLink types.ApplicationLink)
DeleteApplicationLink removes the application link associated to the given user, for the given application and username
func (Keeper) DeleteChainLink ¶
DeleteChainLink deletes the link associated with the given address and chain name
func (Keeper) DeleteDTagTransferRequest ¶
DeleteDTagTransferRequest deletes the transfer request made from the sender towards the recipient
func (Keeper) ExportGenesis ¶
func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState
ExportGenesis returns the GenesisState associated with the given context
func (Keeper) GetAddressFromDTag ¶
GetAddressFromDTag returns the address associated to the given DTag or an empty string if it does not exists
func (Keeper) GetApplicationLink ¶
func (k Keeper) GetApplicationLink(ctx sdk.Context, user, application, username string) (types.ApplicationLink, bool, error)
GetApplicationLink returns the link for the given application and username. If the link is not found returns an error instead.
func (Keeper) GetApplicationLinkByClientID ¶
func (k Keeper) GetApplicationLinkByClientID(ctx sdk.Context, clientID string) (types.ApplicationLink, bool, error)
GetApplicationLinkByClientID returns the application link and user given a specific client id. If the link is not found, returns false instead.
func (Keeper) GetApplicationLinks ¶
func (k Keeper) GetApplicationLinks(ctx sdk.Context) []types.ApplicationLink
GetApplicationLinks returns a slice of ApplicationLinkEntry objects containing the details of all the applications links entries stored inside the current context
func (Keeper) GetChainLink ¶
func (k Keeper) GetChainLink(ctx sdk.Context, owner, chainName, target string) (types.ChainLink, bool)
GetChainLink returns the chain link for the given owner, chain name and target. If such link does not exist, returns false instead.
func (Keeper) GetChainLinks ¶
GetChainLinks allows to returns the list of all stored chain links
func (Keeper) GetDTagTransferRequest ¶
func (k Keeper) GetDTagTransferRequest(ctx sdk.Context, sender, receiver string) (types.DTagTransferRequest, bool, error)
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 (Keeper) GetDTagTransferRequests ¶
func (k Keeper) GetDTagTransferRequests(ctx sdk.Context) (requests []types.DTagTransferRequest)
GetDTagTransferRequests returns all the requests inside the given context
func (Keeper) GetProfile ¶
func (k Keeper) GetProfile(ctx sdk.Context, address string) (profile *types.Profile, found bool, err error)
GetProfile returns the profile corresponding to the given address inside the current context.
func (Keeper) GetProfiles ¶
GetProfiles returns all the profiles that are stored inside the given context
func (Keeper) HasApplicationLink ¶
HasApplicationLink tells whether the given application link exists
func (Keeper) HasChainLink ¶
HasChainLink tells whether the given chain link exists or not
func (Keeper) HasDTagTransferRequest ¶
HasDTagTransferRequest tells whether a DTag transfer request between the sender and recipient exists or not
func (Keeper) HasProfile ¶
HasProfile returns true iff the given user has a profile, or an error if something is wrong.
func (Keeper) IncomingDTagTransferRequests ¶
func (k Keeper) IncomingDTagTransferRequests(ctx context.Context, request *types.QueryIncomingDTagTransferRequestsRequest) (*types.QueryIncomingDTagTransferRequestsResponse, error)
func (Keeper) InitGenesis ¶
func (k Keeper) InitGenesis(ctx sdk.Context, data types.GenesisState) []abci.ValidatorUpdate
InitGenesis initializes the chain state based on the given GenesisState
func (Keeper) IsUserBlocked ¶
IsUserBlocked returns true if the provided blocker has blocked the given user for the given subspace. If the provided subspace is empty, all subspaces will be checked
func (Keeper) IterateApplicationLinks ¶
func (k Keeper) IterateApplicationLinks(ctx sdk.Context, fn func(index int64, link types.ApplicationLink) (stop bool))
IterateApplicationLinks iterates through all the application links and performs the provided function
func (Keeper) IterateChainLinks ¶
func (k Keeper) IterateChainLinks(ctx sdk.Context, fn func(index int64, link types.ChainLink) (stop bool))
IterateChainLinks iterates through the chain links and perform the provided function
func (Keeper) IterateDTagTransferRequests ¶
func (k Keeper) IterateDTagTransferRequests( ctx sdk.Context, fn func(index int64, dTagTransferRequest types.DTagTransferRequest) (stop bool), )
IterateDTagTransferRequests iterates over all the DTag transfer requests and performs the provided function
func (Keeper) IterateProfiles ¶
func (k Keeper) IterateProfiles(ctx sdk.Context, fn func(index int64, profile *types.Profile) (stop bool))
IterateProfiles iterates through the Profiles set and performs the provided function
func (Keeper) IterateUserApplicationLinks ¶
func (k Keeper) IterateUserApplicationLinks(ctx sdk.Context, user string, fn func(index int64, link types.ApplicationLink) (stop bool))
IterateUserApplicationLinks iterates through all the application links related to the given user and performs the provided function
func (Keeper) IterateUserChainLinks ¶
func (k Keeper) IterateUserChainLinks(ctx sdk.Context, user string, fn func(index int64, link types.ChainLink) (stop bool))
IterateUserChainLinks iterates through all the chain links related to the given user and perform the provided function
func (Keeper) IterateUserIncomingDTagTransferRequests ¶
func (k Keeper) IterateUserIncomingDTagTransferRequests( ctx sdk.Context, user string, fn func(index int64, dTagTransferRequest types.DTagTransferRequest) (stop bool), )
IterateUserIncomingDTagTransferRequests iterates over all the DTag transfer request made to the given user and performs the provided function
func (Keeper) LinkApplication ¶
func (k Keeper) LinkApplication( goCtx context.Context, msg *types.MsgLinkApplication, ) (*types.MsgLinkApplicationResponse, error)
LinkApplication defines a rpc handler method for MsgLinkApplication.
func (Keeper) OnOracleRequestAcknowledgementPacket ¶
func (k Keeper) OnOracleRequestAcknowledgementPacket( ctx sdk.Context, data oracletypes.OracleRequestPacketData, ack channeltypes.Acknowledgement, ) error
func (Keeper) OnOracleRequestTimeoutPacket ¶
func (k Keeper) OnOracleRequestTimeoutPacket( ctx sdk.Context, data oracletypes.OracleRequestPacketData, ) error
OnOracleRequestTimeoutPacket handles the OracleRequestPacketData instance that is sent when a request times out
func (Keeper) OnRecvApplicationLinkPacketData ¶
func (k Keeper) OnRecvApplicationLinkPacketData( ctx sdk.Context, data oracletypes.OracleResponsePacketData, ) error
func (Keeper) OnRecvLinkChainAccountPacket ¶
func (k Keeper) OnRecvLinkChainAccountPacket( ctx sdk.Context, data types.LinkChainAccountPacketData, ) (packetAck types.LinkChainAccountPacketAck, err error)
OnRecvLinkChainAccountPacket processes the reception of a LinkChainAccountPacket To be properly accepted, the packet must be created by signing two different things:
- the source proof, which is obtained by signing the destination (Desmos) address using the private key of the external chain account;
- the destination proof, which is obtained by signing the external chain address using the private key of the Desmos address for which the link should be created.
This way we can make sure the user owns both private keys and no one is trying to pull a replay attack.
func (Keeper) Params ¶
func (k Keeper) Params(ctx context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
Params implements the Query/Params gRPC method
func (Keeper) Profile ¶
func (k Keeper) Profile(ctx context.Context, request *types.QueryProfileRequest) (*types.QueryProfileResponse, error)
Profile implements the Query/Profile gRPC method
func (Keeper) RemoveProfile ¶
RemoveProfile allows to delete a profile associated with the given address inside the current context. It assumes that the address-related profile exists.
func (Keeper) SaveApplicationLink ¶
SaveApplicationLink stores the given connection replacing any existing one for the same user and application
func (Keeper) SaveChainLink ¶
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 (Keeper) SaveDTagTransferRequest ¶
SaveDTagTransferRequest save the given request associating it to the request recipient. It returns an error if the same request already exists. It requires that the request recipient has already a profile.
func (Keeper) SaveProfile ¶
SaveProfile stores the given profile inside the current context. It assumes that the given profile has already been validated. It returns an error if a profile with the same DTag from a different creator already exists
func (*Keeper) SetHooks ¶
func (k *Keeper) SetHooks(ph types.ProfilesHooks) *Keeper
SetHooks allows to set the profiles hooks
func (Keeper) StartProfileConnection ¶
func (k Keeper) StartProfileConnection( ctx sdk.Context, applicationData types.Data, dataSourceCallData string, sender sdk.AccAddress, sourcePort, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, ) error
StartProfileConnection creates and sends an IBC packet containing the proper data allowing to call the Band Protocol oracle script so that the sender account can be verified using the given verification data. nolint:interfacer
type Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrator is a struct for handling in-place store migrations.
func NewMigrator ¶
func NewMigrator(ak authkeeper.AccountKeeper, keeper Keeper, queryServer grpc.Server) Migrator
NewMigrator returns a new Migrator
func (Migrator) Migrate4to5 ¶
Migrate4to5 migrates from version 4 to 5.
Source Files ¶
- alias_functions.go
- genesis.go
- grpc_query.go
- hooks.go
- invariants.go
- keeper.go
- keeper_app_links.go
- keeper_chain_links.go
- keeper_dtag_transfers.go
- keeper_ibc.go
- keeper_params.go
- migrations.go
- msg_server_app_link.go
- msg_server_chain_link.go
- msg_server_dtag_transfers.go
- msgs_server_profile.go
- relay_app_links.go
- relay_chain_links.go