keeper

package
v7.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2024 License: Apache-2.0 Imports: 39 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 {
	ChannelKeeper types.ChannelKeeper
	PortKeeper    types.PortKeeper
	ScopedKeeper  types.ScopedKeeper
	// 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.Codec,
	legacyAmino *codec.LegacyAmino,
	storeKey storetypes.StoreKey,
	ak authkeeper.AccountKeeper,
	rk types.RelationshipsKeeper,
	channelKeeper types.ChannelKeeper,
	portKeeper types.PortKeeper,
	scopedKeeper types.ScopedKeeper,
	authority string,
) *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

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

ChainLinkOwners implements the Query/ChainLinkOwners gRPC method

ChainLinks implements the Query/ChainLinks gRPC method

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

DefaultExternalAddresses implements the Query/DefaultExternalAddresses gRPC 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) GetDefaultExternalAddressEntries

func (k Keeper) GetDefaultExternalAddressEntries(ctx sdk.Context) []types.DefaultExternalAddressEntry

GetDefaultExternalAddressEntries returns a slice of DefaultExternalAddressEntry objects containing the details of all the default exnternal address entries stored inside the current 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) HasDefaultExternalAddress

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

HasDefaultExternalAddress tells whether the given owner has a default external address on the given chain name 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(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(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(dTagTransferRequest types.DTagTransferRequest) (stop bool),
)

IterateDTagTransferRequests iterates over all the DTag transfer requests and performs the provided function

func (Keeper) IterateDefaultExternalAddresses

func (k Keeper) IterateDefaultExternalAddresses(ctx sdk.Context, fn func(entry types.DefaultExternalAddressEntry) (stop bool))

IterateDefaultExternalAddresses iterates through the default external addresses and performs the provided function

func (k Keeper) IterateExpiringApplicationLinks(ctx sdk.Context, fn func(link types.ApplicationLink) (stop bool))

IterateExpiringApplicationLinks iterates through all the expiring application links references. The key will be skipped and deleted if the application link has already been deleted.

func (Keeper) IterateProfiles

func (k Keeper) IterateProfiles(ctx sdk.Context, fn func(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(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(link types.ChainLink) (stop bool))

IterateUserChainLinks iterates through all the chain links related to the given user and perform the provided function

func (Keeper) IterateUserChainLinksByChain

func (k Keeper) IterateUserChainLinksByChain(ctx sdk.Context, user string, chainName string, fn func(link types.ChainLink) (stop bool))

IterateUserChainLinksByChain iterates through the chain links related to the given user by the chain having the given chain name and perform the provided function

func (Keeper) IterateUserIncomingDTagTransferRequests

func (k Keeper) IterateUserIncomingDTagTransferRequests(
	ctx sdk.Context, user string, fn func(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 The first chain link of each chain for the owner will be set as default external address 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) SaveDefaultExternalAddress

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

SaveDefaultExternalAddress stores the given address as a default external address

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

func (k *Keeper) SetIBCKeepers(
	channelKeeper types.ChannelKeeper,
	portKeeper types.PortKeeper,
	scopedKeeper types.ScopedKeeper,
)

SetIBCKeepers set IBCKeepers for Keeper

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.

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, legacySubspace types.ParamsSubspace) 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

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

Migrate5to6 migrates from version 5 to 6.

func (Migrator) Migrate6to7

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

Migrate6to7 migrates from version 6 to 7.

func (Migrator) Migrate7to8

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

Migrate7to8 migrates from version 7 to 8.

func (Migrator) Migrate8to9

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

Migrate8to9 migrates from version 8 to 9.

func (Migrator) Migrate9to10

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

Migrate9to10 migrates from version 9 to 10.

type MsgServer

type MsgServer struct {
	// To ensure setting IBC keepers properly, keeper must be a reference as DesmosApp
	*Keeper
}

func (MsgServer) AcceptDTagTransferRequest

AcceptDTagTransferRequest defines a rpc method for MsgAcceptDTagTransferRequest

func (MsgServer) CancelDTagTransferRequest

CancelDTagTransferRequest defines a rpc method for MsgCancelDTagTransferRequest

func (MsgServer) DeleteProfile

DeleteProfile defines a rpc method for MsgDeleteProfile

func (MsgServer) LinkChainAccount

LinkChainAccount defines a rpc method for MsgLinkChainAccount

func (MsgServer) RefuseDTagTransferRequest

RefuseDTagTransferRequest defines a rpc method for MsgRefuseDTagTransferRequest

func (MsgServer) RequestDTagTransfer

RequestDTagTransfer defines a rpc method for MsgRequestDTagTransfer

func (MsgServer) SaveProfile

SaveProfile defines a rpc method for MsgSaveProfile

func (MsgServer) SetDefaultExternalAddress

SetDefaultExternalAddress defines a rpc method for MsgSetDefaultExternalAddress

func (MsgServer) UnlinkApplication

UnlinkApplication defines a rpc method for MsgUnlinkApplication

func (MsgServer) UnlinkChainAccount

UnlinkChainAccount defines a rpc method for MsgUnlinkChainAccount

func (MsgServer) UpdateParams

UpdateParams updates the module parameters

type OracleScriptCallData

type OracleScriptCallData struct {
	Application string `obi:"application"`
	CallData    string `obi:"call_data"`
}

OracleScriptCallData represents the data that should be OBI-encoded and sent to perform an oracle request

Jump to

Keyboard shortcuts

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