Replies: 3 comments 1 reply
-
Not really from just a call. To accomplish this you would need an archive node with tracing enabled. Then you could use the node specific The other option is to use something like EthereumJS, which you can fork from a specific block number, and trap external calls. For state changes you will want to track the state trie (storage changes, balance changes, bytecode changes and nonce changes) as a whole, and you might also care about the effects of the logX opcodes. Does that help? I will warn it is a bit of an under taking regardless of which path you follow... |
Beta Was this translation helpful? Give feedback.
-
Thanks, that does give a bit of insight. One specific use case would be to check if a call alters the reserves on a Uniswap pair for example. This would be for incoming pending transactions. Would the archive node only be needed if I'm trying to interpret past/already mined contract calls? |
Beta Was this translation helpful? Give feedback.
-
In an implementation of a direct call to the Uniswap Router like this, I need the ABI to read the returns from the Uniswap Router:
If we can assume that the private contract calls the Uniswap Router and does alter a pairs reserves somehow, can we extract the return data from the Uniswap Router to the private contract without having the private contracts ABI? Would that require one of the suggestions you mentioned above? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Is it possible to understand what effect a transaction sent to a private contract (no code, or ABI available) will have on the global state of the Ethereum chain?
I'm wondering if a
staticCall
specifying thefrom
address to a contract function without returning information can be understood?Beta Was this translation helpful? Give feedback.
All reactions