Approve시 DOMException : Failed to execute 'postMessage' 문제 (vaniila js, kaikas)

안녕하세요. 자체 제작한 토큰을 갖고 approve하는 과정에서
아래와 같은 에러가 표시되 문의드립니다.

Uncaught (in promise) DOMException: Failed to execute ‘postMessage’ on ‘Window’: (…r)=>{const i=o.promiEvent(!t),a=e.toPayload(r),s=((e,t,r,n)=>(i,a)=>{try{a=t.formatOutput(a)}catch(e){i||(i……r} could not be cloned.

우선 kaikas로 지갑연결후,

const tom1 = new caver.kct.kip7(토큰주소);

    tom1.approve(코인스왑계약주소 ,  승인할 양,
    {from:호출자 주소}).then(console.log);

이렇게 작성했는데 계속 DOMException 에러가 나타납니다.

계속 구글링을 해봐도 원인파악이 안돼 문의드립니다.

  • caver의 경우 cdn을 이용해 불러왔고
  • 현재 vaniila js 환경으로 작업중에 있었습니다.

특정 계약에 대해 call과 send를 실행해서 정상동작하는것들 확인했었는데,
kip7토큰에 대해 approve하는 코드에서 dom exception 에러가나서 문의드립니다!

시간내 읽어주셔서 감사합니다!

1 Like

안녕하세요, 이렇게만 봐서는 원인을 파악하기가 어려울 것 같습니다. 어떤 데이터가 리턴되는지 차근차근 디버깅을 해보면 좋을 것 같은데요, 테스트가 가능한 전체코드를 공유해주시면 좀 더 자세히 볼 수 있을 것 같습니다.

2 Likes

저도 동일한 오류인데 혹시 해결하셨나용 ?

caver.klay.KIP7로 쓰세요.
컨트랙 생성도 caver.contract가 아닌 caver.klay.Contract로 사용하면 됩니다.