github.com/KiraCore/sekai@v0.3.43/x/layer2/keeper/dapp_session_approval.go (about) 1 package keeper 2 3 import ( 4 "github.com/KiraCore/sekai/x/layer2/types" 5 sdk "github.com/cosmos/cosmos-sdk/types" 6 ) 7 8 func (k Keeper) SetDappSessionApproval(ctx sdk.Context, session types.DappSessionApproval) { 9 bz := k.cdc.MustMarshal(&session) 10 store := ctx.KVStore(k.storeKey) 11 store.Set(types.DappSessionApprovalKey(session.DappName, session.Approver), bz) 12 } 13 14 func (k Keeper) DeleteDappSessionApproval(ctx sdk.Context, name, session string) { 15 store := ctx.KVStore(k.storeKey) 16 store.Delete(types.DappSessionApprovalKey(name, session)) 17 } 18 19 func (k Keeper) GetDappSessionApproval(ctx sdk.Context, name, verifier string) types.DappSessionApproval { 20 store := ctx.KVStore(k.storeKey) 21 bz := store.Get(types.DappSessionApprovalKey(name, verifier)) 22 if bz == nil { 23 return types.DappSessionApproval{} 24 } 25 26 sessionInfo := types.DappSessionApproval{} 27 k.cdc.MustUnmarshal(bz, &sessionInfo) 28 return sessionInfo 29 } 30 31 func (k Keeper) GetDappSessionApprovals(ctx sdk.Context, name string) []types.DappSessionApproval { 32 store := ctx.KVStore(k.storeKey) 33 34 sessions := []types.DappSessionApproval{} 35 it := sdk.KVStorePrefixIterator(store, append([]byte(types.PrefixDappSessionApprovalKey), name...)) 36 defer it.Close() 37 38 for ; it.Valid(); it.Next() { 39 session := types.DappSessionApproval{} 40 k.cdc.MustUnmarshal(it.Value(), &session) 41 sessions = append(sessions, session) 42 } 43 return sessions 44 } 45 46 func (k Keeper) GetAllDappSessionApprovals(ctx sdk.Context) []types.DappSessionApproval { 47 store := ctx.KVStore(k.storeKey) 48 49 sessions := []types.DappSessionApproval{} 50 it := sdk.KVStorePrefixIterator(store, []byte(types.PrefixDappSessionApprovalKey)) 51 defer it.Close() 52 53 for ; it.Valid(); it.Next() { 54 session := types.DappSessionApproval{} 55 k.cdc.MustUnmarshal(it.Value(), &session) 56 sessions = append(sessions, session) 57 } 58 return sessions 59 }