Documentation ¶
Index ¶
- Constants
- Variables
- func GrantQueueKey(expiration time.Time, granter sdk.AccAddress, grantee sdk.AccAddress) []byte
- func GrantQueueTimePrefix(expiration time.Time) []byte
- type Keeper
- func (k Keeper) DeleteGrant(ctx sdk.Context, grantee sdk.AccAddress, granter sdk.AccAddress, ...) error
- func (k Keeper) DequeueAndDeleteExpiredGrants(ctx sdk.Context, limit int) error
- func (k Keeper) DispatchActions(ctx sdk.Context, grantee sdk.AccAddress, msgs []sdk.Msg) ([][]byte, error)
- func (k Keeper) Exec(goCtx context.Context, msg *authz.MsgExec) (*authz.MsgExecResponse, error)
- func (k Keeper) ExportGenesis(ctx sdk.Context) *authz.GenesisState
- func (k Keeper) GetAuthorization(ctx sdk.Context, grantee sdk.AccAddress, granter sdk.AccAddress, ...) (authz.Authorization, *time.Time)
- func (k Keeper) GetAuthorizations(ctx sdk.Context, grantee sdk.AccAddress, granter sdk.AccAddress) ([]authz.Authorization, error)
- func (k Keeper) Grant(goCtx context.Context, msg *authz.MsgGrant) (*authz.MsgGrantResponse, error)
- func (k Keeper) GranteeGrants(c context.Context, req *authz.QueryGranteeGrantsRequest) (*authz.QueryGranteeGrantsResponse, error)
- func (k Keeper) GranterGrants(c context.Context, req *authz.QueryGranterGrantsRequest) (*authz.QueryGranterGrantsResponse, error)
- func (k Keeper) Grants(c context.Context, req *authz.QueryGrantsRequest) (*authz.QueryGrantsResponse, error)
- func (k Keeper) InitGenesis(ctx sdk.Context, data *authz.GenesisState)
- func (k Keeper) IterateGrants(ctx sdk.Context, ...)
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) Revoke(goCtx context.Context, msg *authz.MsgRevoke) (*authz.MsgRevokeResponse, error)
- func (k Keeper) SaveGrant(ctx sdk.Context, grantee, granter sdk.AccAddress, ...) error
- type Migrator
Constants ¶
const StoreKey = authz.ModuleName
StoreKey is the store key string for authz
Variables ¶
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 ¶ added in v0.46.0
func GrantQueueKey(expiration time.Time, granter sdk.AccAddress, 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 ¶ added in v0.46.0
GrantQueueTimePrefix - return grant queue time prefix
Types ¶
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
func NewKeeper ¶
func NewKeeper(storeKey storetypes.StoreKey, cdc codec.BinaryCodec, router *baseapp.MsgServiceRouter, ak authz.AccountKeeper) Keeper
NewKeeper constructs a message authorization Keeper
func (Keeper) DeleteGrant ¶
func (k Keeper) DeleteGrant(ctx sdk.Context, grantee sdk.AccAddress, 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 ¶ added in v0.46.0
NOTE: backported from v50 DequeueAndDeleteExpiredGrants deletes expired grants from the state and grant queue.
func (Keeper) DispatchActions ¶
func (k Keeper) DispatchActions(ctx sdk.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) ExportGenesis ¶
func (k Keeper) ExportGenesis(ctx sdk.Context) *authz.GenesisState
ExportGenesis returns a GenesisState for a given context.
func (Keeper) GetAuthorization ¶ added in v0.46.2
func (k Keeper) GetAuthorization(ctx sdk.Context, grantee sdk.AccAddress, 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 sdk.Context, grantee sdk.AccAddress, granter sdk.AccAddress) ([]authz.Authorization, error)
GetAuthorizations Returns list of `Authorizations` granted to the grantee by the granter.
func (Keeper) GranteeGrants ¶ added in v0.45.2
func (k Keeper) GranteeGrants(c context.Context, req *authz.QueryGranteeGrantsRequest) (*authz.QueryGranteeGrantsResponse, error)
GranteeGrants implements the Query/GranteeGrants gRPC method.
func (Keeper) GranterGrants ¶ added in v0.45.2
func (k Keeper) GranterGrants(c context.Context, req *authz.QueryGranterGrantsRequest) (*authz.QueryGranterGrantsResponse, error)
GranterGrants implements the Query/GranterGrants gRPC method.
func (Keeper) Grants ¶
func (k Keeper) Grants(c context.Context, req *authz.QueryGrantsRequest) (*authz.QueryGrantsResponse, error)
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 sdk.Context, data *authz.GenesisState)
InitGenesis new authz genesis
func (Keeper) IterateGrants ¶
func (k Keeper) IterateGrants(ctx sdk.Context, handler func(granterAddr sdk.AccAddress, granteeAddr sdk.AccAddress, grant authz.Grant) bool, )
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 ¶
func (k Keeper) Revoke(goCtx context.Context, msg *authz.MsgRevoke) (*authz.MsgRevokeResponse, error)
Revoke implements the MsgServer.Revoke method.
func (Keeper) SaveGrant ¶
func (k Keeper) SaveGrant(ctx sdk.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 ¶ added in v0.46.0
type Migrator struct {
// contains filtered or unexported fields
}
Migrator is a struct for handling in-place store migrations.
func NewMigrator ¶ added in v0.46.0
NewMigrator returns a new Migrator.