44 lines
1 KiB
Go
44 lines
1 KiB
Go
package keeper
|
|
|
|
import (
|
|
"context"
|
|
|
|
"mukan/x/poj/types"
|
|
)
|
|
|
|
// SetMinerState sets a specific minerState in the store
|
|
func (k Keeper) SetMinerState(ctx context.Context, state types.MinerState) {
|
|
k.MinerStates.Set(ctx, state.Address, state)
|
|
}
|
|
|
|
// GetMinerState returns a minerState from its address
|
|
func (k Keeper) GetMinerState(ctx context.Context, address string) (val types.MinerState, found bool) {
|
|
state, err := k.MinerStates.Get(ctx, address)
|
|
if err != nil {
|
|
return types.MinerState{Address: address}, false
|
|
}
|
|
return state, true
|
|
}
|
|
|
|
// RemoveMinerState removes a minerState from the store
|
|
func (k Keeper) RemoveMinerState(ctx context.Context, address string) {
|
|
k.MinerStates.Remove(ctx, address)
|
|
}
|
|
|
|
// GetAllMinerState returns all minerState
|
|
func (k Keeper) GetAllMinerState(ctx context.Context) (list []types.MinerState) {
|
|
iter, err := k.MinerStates.Iterate(ctx, nil)
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer iter.Close()
|
|
|
|
for ; iter.Valid(); iter.Next() {
|
|
val, err := iter.Value()
|
|
if err != nil {
|
|
continue
|
|
}
|
|
list = append(list, val)
|
|
}
|
|
return
|
|
}
|