Cypress에서는 잘 수행되는 트랜잭션이 baobab에서는 실행되지 않습니다

안녕하세요, Klaytn 기반의 DeFI 서비스를 운영하고 있는 팀입니다.
곧 진행 될 메인넷 하드포크에 대비하여 현재 하드포크가 이미 진행된 바오밥 테스트넷에서 다양한 테스트를 진행해보고 있습니다.
테스트 과정에서 현재 Cypress(메인넷)에서는 잘 수행되는 트랜잭션이 바오밥(테스트넷)에서는 정상적으로 수행되지 않고 있습니다.

EN Node v1.8.1, v1.8.2 둘다 트랜잭션이 실패하는 상황입니다.
v1.8.1의 경우 더 심각한 것은 evm revert가 발생했음에도 불구하고 truffle에서 배포 스크립트가 정상적으로 실행되는 것처럼 나옵니다(실제로는 배포 스크립트 수행 과정에서 evm revert가 발생함)

IBEP20은 pancake-swap-lib(GitHub - pancakeswap/pancake-swap-lib)의 IBEP20 interface입니다.
funder가 보유하고 있는 auctionToken을 contract로 전송하는 단순한 코드입니다.

실제 revert가 발생한 Transaction입니다.

owner 권한으로 트랜잭션을 실행 시켰으며, totalTokens 이상의 충분한 token balance를 보유하고 있습니다. approve를 통해 allowance도 충분한 상황이며, 이미 cypress에서는 정상적으로 수행되는 코드라는것을 실제 테스트를 통해 확인한 상황입니다.

하드포크가 진행된 바오밥에서는 cypress에서는 정상적으로 수행이 됐던 트랜잭션이 알수없는 evm revert가 발생해서 글을 남기게 되었습니다.

안정적인 하드포크 진행 및 클레이튼 생태계를 위해 빠르게 이슈 대응 부탁드립니다.

사용하고 있는 solc 버전은 0.6.12입니다.
사용한 evmVersion은 constantinople로도 해보았고, istanbul로 해보았는데 둘다 되지 않습니다.

몇일전 Baobab에 적용된 하드포크는 EVM의 동작에 변경이 없습니다.
작년 11월 이후 (75373312 블록 이후) Baobab에서 테스트 하신적 있으신가요?
아마도 작년 11월에 바오밥에 적용된 IstanbulEVM hardfork 의 영향이 아닐까 유추됩니다. Release v1.7.0 Release Notes · klaytn/klaytn · GitHub

현재 리포팅주신 정보로는 Contract의 문제인지 Klaytn 코어의 문제인지 파악하기 어렵습니다. IstanbulEVM hardfork에는 gas cost 변경과 precompiled contract 변경이 있으니 관련 내용이 귀사 서비스에 미치는 영향이 없는지 먼저 확인하시는게 좋을 것 같습니다. 위의 v1.7.0 릴리즈 노트에 있는 “Protocol Upgrade” 상세 내용과 v1.8.0 릴리즈노트에 있는 "하드포크에 따른 주의사항"을 확인해주시면 감사하겠습니다.

저희 또한 관련내용을 확인하고 새로운 발견이 있으면 공유드리도록 하겠습니다. 소스코드가 공개되어 있다면 링크를 주신다면 분석에 더 도움이 될거 같네요.

안녕하세요, aidan.kwon@krustuniverse.com로 소스코드 및 배포 스크립트 전달 드렸습니다.
@Aidan

@lay 0x01ddd67253dca28a9d5fb255699d36237e17ad5b 토큰 컨트랙트에 vaultAddress 를 설정하지 않아서, 기본값인 0x0 주소로 Tax를 보내려다 revert 나는 것으로 추정됩니다. 확인 가능하실까요?

아시다시피 BEP20 표준에서는 0x0 주소로의 토큰 전송을 허용하지 않습니다.

조금 전, Klaytnscope 에서 setVaultAddress 가 호출되었네요. “latest” 블록에서 본문에 첨부주신 트랜잭션과 동일한 내용을 klay_call 로 호출해보니 성공하는 것을 확인했습니다.

@Aidan 안녕하세요, Aidan님, 답변이 늦어 죄송합니다.
EN Node 버전 업그레이드 이전에 해당 함수를 호출했었는데, 실패가 됐었나봅니다…
하드포크 업데이트로 인해 많이 바쁘셨을텐데, 괜한 시간을 뺏은 것 같아 죄송한 마음뿐입니다.

하드포크가 성공적으로 이뤄져서 기쁘게 생각하고 있고, 앞으로 클레이튼 기반의 좋은 디파이 서비스들을
많이 만들어보겠습니다.

귀중한 시간 내주셔서 감사합니다.

적극적으로 리포팅해주셔서 저희도 감사합니다.
지금처럼 소통하며 더 나은 생태계와 디파이 서비스를 함께 만들어 나가면 좋겠습니다.

감사합니다!