planetmint-go/x/der/keeper/liquid_der_asset.go
Jürgen Eckel a9ba74fd59
added der asset notarization logic
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2025-05-21 09:17:19 +02:00

29 lines
901 B
Go

package keeper
import (
"github.com/planetmint/planetmint-go/util"
"github.com/planetmint/planetmint-go/x/der/types"
"github.com/cosmos/cosmos-sdk/store/prefix"
sdk "github.com/cosmos/cosmos-sdk/types"
)
func (k Keeper) StoreLiquidDerAttest(ctx sdk.Context, asset types.LiquidDerAsset) {
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.LiquidDerAssetKey))
appendValue := k.cdc.MustMarshal(&asset)
store.Set(util.SerializeString(asset.ZigbeeID), appendValue)
}
func (k Keeper) LookupLiquidDerAsset(ctx sdk.Context, zigbeeID string) (val types.LiquidDerAsset, found bool) {
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.LiquidDerAssetKey))
derAsset := store.Get(util.SerializeString(zigbeeID))
if derAsset == nil {
return val, false
}
if err := k.cdc.Unmarshal(derAsset, &val); err != nil {
return val, false
}
return val, true
}