keeper

package
v0.2.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2024 License: Apache-2.0 Imports: 26 Imported by: 3

Documentation

Index

Constants

View Source
const StoreKey = authz.ModuleName

StoreKey is the store key string for authz

Variables

View Source
var (
	GrantKey         = []byte{0x01} // prefix for each key
	GrantQueuePrefix = []byte{0x02}
)

Keys for store prefixes Items are stored with the following key: values

- 0x01<grant_Bytes>: Grant - 0x02<grant_expiration_Bytes>: GrantQueueItem

Functions

func GrantQueueKey

func GrantQueueKey(expiration time.Time, granter, grantee sdk.AccAddress) []byte

GrantQueueKey - return grant queue store key. If a given grant doesn't have a defined expiration, then it should not be used in the pruning queue. Key format is:

0x02<expiration><granterAddressLen (1 Byte)><granterAddressBytes><granteeAddressLen (1 Byte)><granteeAddressBytes>: GrantQueueItem

func GrantQueueTimePrefix

func GrantQueueTimePrefix(expiration time.Time) []byte

GrantQueueTimePrefix - return grant queue time prefix

Types

type Keeper

type Keeper struct {
	appmodule.Environment
	// contains filtered or unexported fields
}

func NewKeeper

func NewKeeper(env appmodule.Environment, cdc codec.Codec, ak authz.AccountKeeper) Keeper

NewKeeper constructs a message authorization Keeper

func (Keeper) DeleteAllGrants

func (k Keeper) DeleteAllGrants(ctx context.Context, granter sdk.AccAddress) error

DeleteAllGrants revokes all authorizations granted to the grantee by the granter.

func (Keeper) DeleteGrant

func (k Keeper) DeleteGrant(ctx context.Context, grantee, granter sdk.AccAddress, msgType string) error

DeleteGrant revokes any authorization for the provided message type granted to the grantee by the granter.

func (Keeper) DequeueAndDeleteExpiredGrants

func (k Keeper) DequeueAndDeleteExpiredGrants(ctx context.Context, limit int) error

DequeueAndDeleteExpiredGrants deletes expired grants from the state and grant queue.

func (Keeper) DispatchActions

func (k Keeper) DispatchActions(ctx context.Context, grantee sdk.AccAddress, msgs []sdk.Msg) ([][]byte, error)

DispatchActions attempts to execute the provided messages via authorization grants from the message signer to the grantee.

func (Keeper) Exec

func (k Keeper) Exec(ctx context.Context, msg *authz.MsgExec) (*authz.MsgExecResponse, error)

Exec implements the MsgServer.Exec method.

func (Keeper) ExportGenesis

func (k Keeper) ExportGenesis(ctx context.Context) (*authz.GenesisState, error)

ExportGenesis returns a GenesisState for a given context.

func (Keeper) GetAuthorization

func (k Keeper) GetAuthorization(ctx context.Context, grantee, granter sdk.AccAddress, msgType string) (authz.Authorization, *time.Time)

GetAuthorization returns an Authorization and it's expiration time. A nil Authorization is returned under the following circumstances:

  • No grant is found.
  • A grant is found, but it is expired.
  • There was an error getting the authorization from the grant.

func (Keeper) GetAuthorizations

func (k Keeper) GetAuthorizations(ctx context.Context, grantee, granter sdk.AccAddress) ([]authz.Authorization, error)

GetAuthorizations Returns list of `Authorizations` granted to the grantee by the granter.

func (Keeper) Grant

Grant implements the MsgServer.Grant method to create a new grant.

func (Keeper) GranteeGrants

GranteeGrants implements the Query/GranteeGrants gRPC method.

func (Keeper) GranterGrants

GranterGrants implements the Query/GranterGrants gRPC method.

func (Keeper) Grants

Grants implements the Query/Grants gRPC method. It returns grants for a granter-grantee pair. If msg type URL is set, it returns grants only for that msg type.

func (Keeper) InitGenesis

func (k Keeper) InitGenesis(ctx context.Context, data *authz.GenesisState) error

InitGenesis initializes new authz genesis

func (Keeper) IterateGranterGrants

func (k Keeper) IterateGranterGrants(ctx context.Context, granter sdk.AccAddress,
	handler func(granteeAddr sdk.AccAddress, msgType string) (stop bool, err error),
) error

func (Keeper) IterateGrants

func (k Keeper) IterateGrants(ctx context.Context,
	handler func(granterAddr, granteeAddr sdk.AccAddress, grant authz.Grant) (bool, error),
) error

IterateGrants iterates over all authorization grants This function should be used with caution because it can involve significant IO operations. It should not be used in query or msg services without charging additional gas. The iteration stops when the handler function returns true or the iterator exhaust.

func (Keeper) Revoke

Revoke implements the MsgServer.Revoke method.

func (Keeper) RevokeAll

RevokeAll implements the MsgServer.RevokeAll method.

func (Keeper) SaveGrant

func (k Keeper) SaveGrant(ctx context.Context, grantee, granter sdk.AccAddress, authorization authz.Authorization, expiration *time.Time) error

SaveGrant method grants the provided authorization to the grantee on the granter's account with the provided expiration time and insert authorization key into the grants queue. If there is an existing authorization grant for the same `sdk.Msg` type, this grant overwrites that.

type Migrator

type Migrator struct {
	// contains filtered or unexported fields
}

Migrator is a struct for handling in-place store migrations.

func NewMigrator

func NewMigrator(keeper Keeper) Migrator

NewMigrator returns a new Migrator.

func (Migrator) Migrate1to2

func (m Migrator) Migrate1to2(ctx context.Context) error

Migrate1to2 migrates from version 1 to 2.

Jump to

Keyboard shortcuts

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