안녕하세요
발행된 NFT가 있고 어떤 주소가 balanceOf를 호출하면 100개의 토큰을 가지고 있습니다.
전체 토큰아이디를 가져오기 위해서 다름 코드를 실행하였습니다.
for (let i = 0; i < balance; i++)
{
const tid = await contractInstance.methods.tokenOfOwnerByIndex(senderAddress, i).call();
}
증상: tokenOfOwnerByIndex 함수 호출 시 0~59 인덱스까지는 정상실행 되지만 60 이후부터는 아래의 오류가 발생합니다.
이상한 것은 i = 59부터 시작해도 59는 정상실행되지만 60만 되면 오류가 발생합니다.
컨트랙트 소스는 클레이튼에서 제공되는 소스로 배포되었기 때문에
KAS에서 버퍼를 60개만 잡아놓은것은 아닌지 의심되는 상황입니다.
Error: Returned error: evm: execution reverted
at Object.ErrorResponse (…\node_modules\caver-js\packages\caver-core-helpers\src\errors.js:87:16)
at …\node_modules\caver-js\packages\caver-core-requestmanager\src\index.js:155:44
at XMLHttpRequest.request.onreadystatechange (…\node_modules\caver-js\packages\caver-core-requestmanager\caver-providers-http\src\index.js:119:13)
at XMLHttpRequestEventTarget.dispatchEvent (…\node_modules\xhr2-cookies\dist\xml-http-request-event-target.js:34:22)
at XMLHttpRequest._setReadyState (…\node_modules\xhr2-cookies\dist\xml-http-request.js:208:14)
at XMLHttpRequest._onHttpResponseEnd (…\node_modules\xhr2-cookies\dist\xml-http-request.js:318:14)
at IncomingMessage. (…\node_modules\xhr2-cookies\dist\xml-http-request.js:289:61)
at IncomingMessage.emit (node:events:538:35)
at IncomingMessage.emit (node:domain:475:12)
at endReadableNT (node:internal/streams/readable:1342:12)