storing DER

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
This commit is contained in:
Jürgen Eckel 2025-05-20 23:37:48 +02:00
parent 6726cef526
commit 86afb74aaa
No known key found for this signature in database
3 changed files with 33 additions and 2 deletions

28
x/der/keeper/der_asset.go Normal file
View File

@ -0,0 +1,28 @@
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) StoreDerAttest(ctx sdk.Context, asset types.DER) {
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.DerAssetKey))
appendValue := k.cdc.MustMarshal(&asset)
store.Set(util.SerializeString(asset.ZigbeeID), appendValue)
}
func (k Keeper) LookupLiquidAsset(ctx sdk.Context, zigbeeID string) (val types.DER, found bool) {
store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.DerAssetKey))
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
}

View File

@ -10,8 +10,9 @@ import (
func (k msgServer) RegisterDER(goCtx context.Context, msg *types.MsgRegisterDER) (*types.MsgRegisterDERResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
// TODO: Handling the message
_ = ctx
k.StoreDerAttest(ctx, *msg.Der)
//TODO: init NFT creation and storag of NFT to DER associations
return &types.MsgRegisterDERResponse{}, nil
}

View File

@ -12,6 +12,8 @@ const (
// MemStoreKey defines the in-memory store key
MemStoreKey = "mem_der"
DerAssetKey = "Der/DerAsset/"
)
func KeyPrefix(p string) []byte {