KRWP 보팅 서비스 버그 수정

금일 @skymin 님으로 부터 제보를 받고 KRWP 보팅 서비스 버그를 수정하였습니다.

3일 전 생성된 계정으로 포스팅을 하고 KRWP 보팅 서비스를 이용하였는데 스테이킹이 되어있지 않는데도 보팅이 되었습니다.
처음 생성한 계정은 스팀엔진 토큰이 없기 때문에 제대로 된 값이 나오지 않습니다.
이런 경우를 대비해서 로직을 작성해 두었지만 몇달 전 해당 함수를 변경하면서 그럴 경우에는 0으로 반환되도록 수정을 했었나 봅니다.
기존처럼 이상한 값이 나왔으면 에러로 처리했을텐데 0으로 반환되는 바람에 정상적인 로직을 수행하게 되었습니다.

문제는 정상적인 로직에서는 다음과 같이 stake, delegationsIn 양이 저장이 되어 있습니다.

그래서 KRWP 스테이킹 양을 계산할때 반환되는 값을 저장한 변수.stake + 변수.delegationsIn으로 계산을 하게 됩니다.
그런데 위와 같이 0으로 반환을 했으니 NaN 이라는 값으로 처리하게 되었고 이 값은 숫자가 아닌 값이라 숫자와 비교가 불가능하게 되었습니다.
이로 인해서 스테이킹양이 없어도 보팅이 되었습니다.

현재 SCT에서 글을 쓰는 경우 KRWP 를 저자보상으로 받게 되어 있기 때문에 이런 경우는 거의 발생을 하지 않지만 계정을 새로 만들게 되면서 발생을 하였습니다.
다행히 3일이 지난 후에 저자 보상을 받게되면서 위와같은 경우가 사라지게 되었습니다.

관련해서 수정을 하여 현재는 정상적으로 동작하고 있습니다.

해당 버그를 찾아서 제보해 주신 @skymin님께 진심으로 감사드립니다.
감사의 의미로 20 KRWP 를 버그바운티로 보내드렸습니다.

해당 버그바운티는 KRWP 보팅 서비스 이벤트를 위해 5%씩 적립하고 있는 재원에서 사용되었습니다.

감사합니다.


This page is synchronized from the post: ‘KRWP 보팅 서비스 버그 수정’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×