From 4b4880e68240ca18955a394d3a0da6975de5be8f Mon Sep 17 00:00:00 2001 From: Harish Marri Date: Mon, 20 Nov 2023 20:52:08 +0530 Subject: [PATCH 1/2] fix: do not allow non-transferable nfts to transfer with nft-transfer module --- x/ics721nft/keeper.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/x/ics721nft/keeper.go b/x/ics721nft/keeper.go index cc92569a..c61cd6c2 100644 --- a/x/ics721nft/keeper.go +++ b/x/ics721nft/keeper.go @@ -140,6 +140,14 @@ func (k Keeper) GetNFT(ctx sdk.Context, classID, tokenID string) (nfttransfer.NF if !has { return nil, false } + nftMetadata, err := onfttypes.UnmarshalNFTMetadata(k.cdc, _nft.Data.GetValue()) + if err != nil { + return nil, false + } + if nftMetadata.Transferable == false { + k.Logger(ctx).Error("non-transferable nft") + return nil, false + } metadata, err := k.nb.BuildMetadata(_nft) if err != nil { k.Logger(ctx).Error("encode nft data failed") From e08de32fc24e145f9cc9c9a3681ab4d5c827c5b6 Mon Sep 17 00:00:00 2001 From: Harish Marri Date: Mon, 20 Nov 2023 20:54:56 +0530 Subject: [PATCH 2/2] fix lint --- x/ics721nft/keeper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ics721nft/keeper.go b/x/ics721nft/keeper.go index c61cd6c2..4fb767a1 100644 --- a/x/ics721nft/keeper.go +++ b/x/ics721nft/keeper.go @@ -144,7 +144,7 @@ func (k Keeper) GetNFT(ctx sdk.Context, classID, tokenID string) (nfttransfer.NF if err != nil { return nil, false } - if nftMetadata.Transferable == false { + if !nftMetadata.Transferable { k.Logger(ctx).Error("non-transferable nft") return nil, false }