keeper

package
v3.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2022 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllInvariants

func AllInvariants(k Keeper) sdk.Invariant

func NewMsgServerImpl

func NewMsgServerImpl(keeper Keeper) types.MsgServer

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(k Keeper) sdk.Invariant

ValidApplicationLinks checks that all application links are associated with a user that has a profile

func ValidChainLinks(k Keeper) sdk.Invariant

ValidChainLinks checks that all chain links are associated with a user that has a profile

func ValidDTagTransferRequests

func ValidDTagTransferRequests(k Keeper) sdk.Invariant

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

func ValidProfilesInvariant(k Keeper) sdk.Invariant

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:

  1. Address -> Profile This is used to easily retrieve the profile of a user based on an address
  2. 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

func (k Keeper) AfterChainLinkDeleted(ctx sdk.Context, link types.ChainLink)

AfterChainLinkDeleted - call if hook is registered

func (Keeper) AfterChainLinkSaved

func (k Keeper) AfterChainLinkSaved(ctx sdk.Context, link types.ChainLink)

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

func (k Keeper) AfterDTagTransferRequestDeleted(ctx sdk.Context, sender, recipient string)

AfterDTagTransferRequestDeleted - call if hook is registered

func (Keeper) AfterProfileDeleted

func (k Keeper) AfterProfileDeleted(ctx sdk.Context, profile *types.Profile)

AfterProfileDeleted - call if hook is registered

func (Keeper) AfterProfileSaved

func (k Keeper) AfterProfileSaved(ctx sdk.Context, profile *types.Profile)

AfterProfileSaved - call if hook is registered

func (Keeper) ApplicationLinkByClientID

ApplicationLinkByClientID implements the Query/ApplicationLinkByClientID gRPC method

func (Keeper) ApplicationLinkOwners added in v3.1.0

ApplicationLinkOwners implements the Query/ApplicationLinkOwners gRPC method

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

func (k Keeper) BindPort(ctx sdk.Context, portID string) error

BindPort defines a wrapper function for the port Keeper's function in order to expose it to module's InitGenesis function

func (Keeper) ChainLinkOwners added in v3.1.0

ChainLinkOwners implements the Query/ChainLinkOwners gRPC method

ChainLinks implements the Query/ChainLinks gRPC method

func (Keeper) ChanCloseInit

func (k Keeper) ChanCloseInit(ctx sdk.Context, portID, channelID string) error

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 (k Keeper) DeleteAllUserApplicationLinks(ctx sdk.Context, user string)

DeleteAllUserApplicationLinks delete all the applications links associated with the given user

func (k Keeper) DeleteAllUserChainLinks(ctx sdk.Context, user string)

DeleteAllUserChainLinks deletes all the chain links associated with the given user

func (Keeper) DeleteAllUserIncomingDTagTransferRequests

func (k Keeper) DeleteAllUserIncomingDTagTransferRequests(ctx sdk.Context, receiver string)

DeleteAllUserIncomingDTagTransferRequests deletes all the requests made to the given user

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 (k Keeper) DeleteChainLink(ctx sdk.Context, link types.ChainLink)

DeleteChainLink deletes the link associated with the given address and chain name

func (Keeper) DeleteDTagTransferRequest

func (k Keeper) DeleteDTagTransferRequest(ctx sdk.Context, sender, recipient string)

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

func (k Keeper) GetAddressFromDTag(ctx sdk.Context, dTag string) (addr string)

GetAddressFromDTag returns the address associated to the given DTag or an empty string if it does not exists

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 (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 (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 (k Keeper) GetChainLinks(ctx sdk.Context) []types.ChainLink

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) GetParams

func (k Keeper) GetParams(ctx sdk.Context) (p types.Params)

GetParams returns the params from the store

func (Keeper) GetPort

func (k Keeper) GetPort(ctx sdk.Context) string

GetPort returns the portID for the module. Used in ExportGenesis

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

func (k Keeper) GetProfiles(ctx sdk.Context) []*types.Profile

GetProfiles returns all the profiles that are stored inside the given context

func (k Keeper) HasApplicationLink(ctx sdk.Context, user, application, username string) bool

HasApplicationLink tells whether the given application link exists

func (k Keeper) HasChainLink(ctx sdk.Context, owner, chainName, target string) bool

HasChainLink tells whether the given chain link exists or not

func (Keeper) HasDTagTransferRequest

func (k Keeper) HasDTagTransferRequest(ctx sdk.Context, sender, recipient string) bool

HasDTagTransferRequest tells whether a DTag transfer request between the sender and recipient exists or not

func (Keeper) HasProfile

func (k Keeper) HasProfile(ctx sdk.Context, user string) bool

HasProfile returns true iff the given user has a profile, or an error if something is wrong.

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) IsBound

func (k Keeper) IsBound(ctx sdk.Context, portID string) bool

IsBound checks if the module is already bound to the desired port

func (Keeper) IsUserBlocked

func (k Keeper) IsUserBlocked(ctx sdk.Context, user, blocker string) bool

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 (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 (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 (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 (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) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

Logger returns a module-specific logger.

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:

  1. the source proof, which is obtained by signing the destination (Desmos) address using the private key of the external chain account;
  2. 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

Params implements the Query/Params gRPC method

func (Keeper) Profile

Profile implements the Query/Profile gRPC method

func (Keeper) RemoveProfile

func (k Keeper) RemoveProfile(ctx sdk.Context, address string) error

RemoveProfile allows to delete a profile associated with the given address inside the current context. It assumes that the address-related profile exists.

func (k Keeper) SaveApplicationLink(ctx sdk.Context, link types.ApplicationLink) error

SaveApplicationLink stores the given connection replacing any existing one for the same user and application

func (k Keeper) SaveChainLink(ctx sdk.Context, link types.ChainLink) error

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

func (k Keeper) SaveDTagTransferRequest(ctx sdk.Context, request types.DTagTransferRequest) error

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

func (k Keeper) SaveProfile(ctx sdk.Context, profile *types.Profile) error

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) SetParams

func (k Keeper) SetParams(ctx sdk.Context, params types.Params)

SetParams sets params on the store

func (Keeper) SetPort

func (k Keeper) SetPort(ctx sdk.Context, portID string)

SetPort sets the portID for the module. Used in InitGenesis

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

func (Keeper) ValidateProfile

func (k Keeper) ValidateProfile(ctx sdk.Context, profile *types.Profile) error

ValidateProfile checks if the given profile is valid according to the current profile's module params

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

func (m Migrator) Migrate4to5(ctx sdk.Context) error

Migrate4to5 migrates from version 4 to 5.

func (Migrator) Migrate5To6 added in v3.1.0

func (m Migrator) Migrate5To6(ctx sdk.Context) error

Migrate5To6 migrates from version 5 to 6.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL