-
Notifications
You must be signed in to change notification settings - Fork 2.1k
fix(cheatcodes
): identify common proxies in state diffs
#11404
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
Conversation
@sakulstra ptal, this should fix it. Tested locally and I was able to get {
"0xdabad81af85554e9ae636395611c58f7ec1aaec5": {
"label": null,
"contract": "lib/aave-helpers/lib/aave-address-book/lib/aave-v3-origin/lib/solidity-utils/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol:TransparentUpgradeableProxy",
"balanceDiff": null,
"nonceDiff": null,
"stateDiff": {
"0xf3e9bdb17e809d40894019e71fc3cd1caab638876c2f7e53420abc45924bfed5": {
"previousValue": "0x006839b936000000000002000000000000000000000000000000000000000000",
"newValue": "0x006839b936000000000003000000000000000000000000000000000000000000"
},
"0xf3e9bdb17e809d40894019e71fc3cd1caab638876c2f7e53420abc45924bfed6": {
"previousValue": "0x000000000000000000093a800000000000006867ddb700000000000000000000",
"newValue": "0x000000000000000000093a800000000000006867ddb70000000000006839b937"
}
}
}
} |
cheatcodes
): identify common proxies in state diffs
@yash-atreya I'm not 100% sure it's as desired, but our needs might not be what foundry needs 😅 What we get on tenderly, is for every state changed:
For proxies:
I know far to little about the internals to understand if that's even possible.
You already fetched the abi/code from etherscan as on the trace you know that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
makes sense to me
Motivation
Ref: #11276 (comment)
The current approach would not identify storage changes on proxy contracts.
Solution
EIP1967_IMPL_SLOT
orEIP1822_PROXIABLE_SLOT
get_contract_name
intoget_contract_data
since they do the same thingPR Checklist