안녕하세요. NFT를 거래할 수 있는 거래소를 제작중입니다.
다만 이해가 되지 않는 부분이있어서 글을 남기게 됩니다.
function ERCApprove(address _CA,address _addr) external {
ERC721(_CA).setApprovalForAll(_addr, true);
}
function approve(address _CA,address _addr) external {
ERC721(_CA).approve(_addr, 1);
}
두 함수다 caller is not owner라는 곳에서 막히게 됩니다. 이 오류가 왜 발생했는지에 대해서는
제가 call 함수를 사용했기 때문에 발생하는 문제라는 것은 인지하고 있습니다.
그렇다면 이 문제를 어떻게 해결할 수 있을지에 대해서는 생각이 잘 나지않습니다.
결국 A라는 컨트랙트에서 B컨트랙트의 approve 류의 함수를 호출하게되면 owner = A의 conract주소가 되는데
이부분을 해결 할 수 있는 방법이 있을까요? 또는 예시 코드가 있을까요?