Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find the bug cause of internal failing transactions #315

Open
jjmr007 opened this issue Jul 13, 2021 · 1 comment
Open

Find the bug cause of internal failing transactions #315

jjmr007 opened this issue Jul 13, 2021 · 1 comment
Assignees
Labels
bug Something isn't working high priority

Comments

@jjmr007
Copy link
Contributor

jjmr007 commented Jul 13, 2021

Tx: 0x8bf5a2b77701981d75e57225aa00c99e76ba3cc39d9862b0ae5702ad122d327d

Tx: 0xcc90582268236201bf322fed034aa9a23a4b34c15bb25f9bf42ebb4b713350b5

@jjmr007 jjmr007 self-assigned this Jul 13, 2021
@jjmr007 jjmr007 added bug Something isn't working high priority labels Jul 13, 2021
@jjmr007
Copy link
Contributor Author

jjmr007 commented Jul 15, 2021

Findings:

1.- Successful transactions with internal revertions are possible when the instruction reverted is a low level staticcall transaction.
2.- Both of the former transactions failed at the same stage, with the exact same staticcall transactions.
3.- In one of the reverted internal transactions, the PriceFeed contract (0x437aC62769f386B2D238409b7f0a7596d36506e4) calls the SovrynProtocol contract (0x5a0D867E0D70FCc6ADe25c3f1B89d618b5B4EaA7) with the view function decimals() which does not belong to that contract, but to a standard ERC20 contract. Thatr's the reason for this kind of revertion.
4.- However about which instruction is ordering the query of "decimals" to a non ERC20 contract, is still unknown.
5.- The former internal transaction is related to an internal call to the queryReturn function of PriceFeed which calls the internal function _queryRate(address sourceToken, address destToken) but this call use as destToken the address of SovrynProtocol (non ERC20 contract) causing a revertion. What instruction is ordering PriceFeeds to do that call with such wrong parameter is still unknown.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working high priority
Projects
None yet
Development

No branches or pull requests

1 participant