Erik⚡️ pfp
Erik⚡️
@ryk
Interpretation of onchain data can be quite the challenge. 🧵 /zapper
1 reply
4 recasts
8 reactions

Erik⚡️ pfp
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⚡️ pfp
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⚡️ pfp
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

Erik⚡️ pfp
Erik⚡️
@ryk
Let's follow the first one. If we decode the input data and take the first element, we find a call to 0xa9059cbb transfer(address,uint256) on the USDC contract with a value of 54.86. This means the user operation consists of a 54.86 USDC transfer.
1 reply
0 recast
3 reactions

Erik⚡️ pfp
Erik⚡️
@ryk
We can conclude that this bundler's transaction consists of one user operation, which in turn causes two different delegate calls. The first one is a transfer of USDC. The recipient now has a "Last Received" event showing the reception of the USDC.
1 reply
0 recast
3 reactions

Erik⚡️ pfp
Erik⚡️
@ryk
Some bundler's will wrap hundreds, sometimes thousands user operation in a single transaction all thanks to the Account Abstraction protocol. It definitely gave us a good data indexing challenge. Now we can help onchain users understand Account Abstraction transactions from their own perspective.
1 reply
0 recast
3 reactions

Erik⚡️ pfp
Erik⚡️
@ryk
If you like deep technical dives, why not give @zapper and I a follow. I might begin sharing more data analyses in here if this gets enough attention. Wif 💜 ; End of 🧵
0 reply
0 recast
5 reactions