스마트 컨트렉트와 nft burn 오류에 대해서

안녕하세요. 초보 개발자입니다.
klaytn ide 통해서 smart contract를 KIP17로 배포해봤는데요.

배포한 컨트랙과 제 지갑 주소에 임의로 만든 NFT 파일을 민트했습니다.
이후 burn을 이용해 nft를 소각 시키려고 했지만, 제 지갑 주소에 nft는 burn이 되었고, 배포한 컨트랙에 nft는 burn이 되지 않는군요.

function은 다음과 같습니다.

function burn(uint256 tokenId) public {
        require(_isApprovedOrOwner(msg.sender, tokenId), "KIP17Burnable: caller is not owner nor approved");
        _burn(tokenId);
    }

컨트랙에 있는 tokenid 4번이 소각이 안됩니다.
burn 기능 자체가 스마트 컨트랙을 진행한 owner 계정이여도 소유자가 아니면 burn이 불가능한건가요?

추가로 여쭙고 싶은 부분은 nft를 제 지갑 주소에 보낸 후 burn을 하여도 오픈씨에는 컬렉션에서 보입니다.
오픈씨 nft 상세 기록에는 null address로 보냈다고 적혀있으며, 클레이튼 스코프에서도 nft가 사라진 걸 볼 수 있었는데 오픈씨의 문제점인지 계정 컬렉션에 왜 그대로 보이는지 궁금합니다.

안녕하세요.

  1. burn() code관련
    주어진 코드만 봐서는 작성하신 contract의 burn의 기능을 정확히 알기가 힘듭니다. burn 함수의 코드를 직접 살펴보시기 바랍니다.

  2. Opensea관련
    클레이튼 포럼은 클레이튼과 관련된 질문을 하는 곳입니다. OpenSea와 관련된 질문은 OpenSea 쪽에 문의를 하는 것이 맞는 것 같습니다.

감사합니다.

1개의 좋아요