code  
                
               
                 
              
                  
                    10월 27, 2021,  8:07오전
                   
                   
              1 
               
             
            
               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에 들어가는 숫자값에 제약사항이 있을까요?
             
            
               
               
               
            
            
           
          
            
            
              안녕하세요 
abi와 파라미터가 일치하지 않는 상황일 것 같은데요, 아래 포스트 참조하여 확인해보시면 좋을 것 같습니다.
  
  
    안녕하세요 
KlipSDK 사용 중, executeContract 에서 params 문제가 있어 문의드립니다. 
스마트컨트랙트 파라미터로 uint256 배열과 address 배열을 받고 있는데, excuteContract의 params에는 제대로 배열이 들어가는 것 같은데 revert 에러가 발생합니다. 
Input 데이터를 보니 값이 빈 배열로 들어가는 것 같습니다. params를 주는 방식에 문제가 있는 것인지 조언이 필요합니다 ㅠ.ㅠ 
테스트에 사용한 abi와 params입니다. 
const abi = `{
    "inputs": [
      {
        "internalType": "address[]",
        "name": "addressArray",
        "type": "address[]"
      },
      {
        "internalType": "uint256[]",
        "name": "uintArray",
      …
   
 
혹시 계속 안 되시는 경우, abi를 올려주시면 답변드리는데 도움이 될 것 같습니다.
             
            
               
               
               
            
            
           
          
            
            
              중간에 질문 내용이 바뀌어 추가 설명 드립니다.
javascript에서 big number 처리에 이슈가 있을 것 같은데요, 이 부분은 klip과 관련없이 적절한 패키지를 사용해서 맞는 값을 전달해주셔야 하겠습니다. 추가로 이전 글에서 설명 드렸던 것처럼 decimal 적용 후 소수점 6자리 미만의 값은 0으로 처리해주셔야합니다.