Erik⚡️
@ryk
Interpretation of onchain data can be quite the challenge. 🧵 /zapper
1 reply
4 recasts
8 reactions
Erik⚡️
@ryk
https://arbiscan.io/tx/0x878657a4529b9ab119ae913534427ed465996d1588c2a6551ebcef927670acfd Take this transaction. It is a bundler's emitting a single user operation onchain using the EIP-4337 account abstraction protocol. We can see on Arbiscan that the method called is 0x765e827f (handleOps) with an array of one user operation. From a user's perspective, this doesn't really mean anything.
2 replies
0 recast
3 reactions
Erik⚡️
@ryk
That operation is signed by 0x9436a511a2B80899dFc161b16EAd50Fd4706e143, which in turn makes an execute call using their smart wallet. Arbiscan will display that the transaction is in fact a Account Abstraction transaction, and will display information about the operation. Arbiscan stops there ; we, don't.
1 reply
0 recast
4 reactions
Erik⚡️
@ryk
That execute call's first argument is the execMode, which is 0x01....00 in this case, which maps to the BATCH exec mode. We must interpret the bytes as an array of multiple operations. In this case, the array is of size 2, so the user operation consists of actually 2 actions.
1 reply
0 recast
3 reactions