请问通过call调用第三方合约的方法,第三方合约方法内部revert会导致我的整个调用revert吗?
(bool success,) = toContract.call(input); if (success==false) { // handle }
类似这种调用方式,第三方合约内部revert不是会返回success=FALSE吗?但我遇到了整个调用直接revert的场景,想知道什么时候会出现这种情况?
使用底层的 call 调用, 不会 revert , 试试会返回 false。
如果是普通调用函数, 类似: externalContract.Func(a), 如果外部调用发生异常(revert)时, 那么 整个调用链同样会revert.
externalContract.Func(a)