이더스캔 Fail with error 'ds-math-sub-underflow' 조치 방법이 궁금합니다.
유니스왑에서 lp토큰을 tmtg 와 lbxc 로 분리과정에서 발생했습니다.
트래잭션 해시는
0x573d643c1a8f793d358412a43ae6923fd500afbb5116054deb4727328919056d
입니다.
자문을 구합니다.
안녕하세요 질문자님
이더스캔 Fail with error 'ds-math-sub-underflow 에 대해 질문하셨는데요,
이는 이더리움 스마트컨트랙트에서 컴퓨터 프로그램의 값이 제한적이기에 발생하는 현상입니다. 보통, 해결 방법으로 오픈제플린의 세이프매쓰 라이브러리를 많이 사용하는데 링크를 보시고 참고하시길 바랍니다.
올려주신 트랜잭션 해시를 확인 해보니 Warning! Error encountered during contract execution [Reverted] 의 경고 문구가 떠있는 것을 확인 할 수 있습니다. 이는 다른 주소에 토큰을 보내기전에 토큰의 잔액이 충분하지 않을 경우 뜨는 경고 이기에 잔액이 충분한지 확인 하시길 바랍니다.
질문에 도움이 되셨길 바랍니다.
안녕하세요
해당 오류는 스마트 컨트랙트 실행하는 도중에 언더플로우가 발생했기 때문에 발생하는 것입니다.
사용하신 입력 값에 문제가 있을 수도 있고, 혹은 유동성 풀에 공급에 문제가 발생하여 에러가 날 수도 있습니다.
수량을 적게 바꿔서 다시 시도를 해보시거나 혹은 tmtg 재단에 문의해보시는 것이 빠를 것 같습니다.
DSMath 컨트랙트의 sub함수 호출과정에서 에러가 생겼을 때 저 에러가 확인되는데...
removeLiquidityWithPermit 호출하며 전달되는 변수가 sub함수 조건에 맞지 않아 에러가 나는데..
이더 스캔만으로는 어느 부분에서 에러가 나는지 파악하기 어려워 알수가 없네요ㅠㅠ
질문자님께서는 이전에 성공하신 경험이 있으신것 같은데
https://etherscan.io/tx/0x45be9f24e2179ca2d8ffe5e3c185414eb94e450406e59b411547342a0d571c64
이때 전송했던 값들과 비교해보시는게 어떨까 싶습니다.
원인을 파악하지 못해 죄송합니다.안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.
질문하신 내용에 대하여 아래와 같이 답변 드립니다.
관련 트랙잭션이 이미 실행되었가나 실패했을때 발생하는 상태값입니다.유니스왑에서 해당 트랜잭션에 대한 문의를 남기는게 가장 빠른 해결책을 찾으실수 있습니다.
트랜잭션 내부적인 오류발생으로 보입니다.
부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!