Klip prepare.executeContract invalid params 파라미터

 const castNumber = new BigNumber(num).toString()
 const res = await prepare.executeContract({ 
      bappName, 
      to,
      value: '0',
      from: walletAddr, 
      abi: JSON.stringify(abi), 
      params: JSON.stringify([param0, castNumber, param1, parm2, param3])
  })

executeContract 호출시 invalid params 에러가 납니다.

castNumber 자리에 decimal 18처리 후 “9999999999999999999999” 가 들어갔습니다.

제가 원래 쓰려던 입력은 decimal 18로 한 10,000 입니다. = 10000000000000000000000

param에 들어가는 숫자값에 제약사항이 있을까요?

안녕하세요 :slight_smile:

abi와 파라미터가 일치하지 않는 상황일 것 같은데요, 아래 포스트 참조하여 확인해보시면 좋을 것 같습니다.

혹시 계속 안 되시는 경우, abi를 올려주시면 답변드리는데 도움이 될 것 같습니다.

중간에 질문 내용이 바뀌어 추가 설명 드립니다.

javascript에서 big number 처리에 이슈가 있을 것 같은데요, 이 부분은 klip과 관련없이 적절한 패키지를 사용해서 맞는 값을 전달해주셔야 하겠습니다. 추가로 이전 글에서 설명 드렸던 것처럼 decimal 적용 후 소수점 6자리 미만의 값은 0으로 처리해주셔야합니다.

abi 를 잘못 사용한것 같습니다.

해결 되었습니다.

답변 감사합니다.

1개의 좋아요