2

In this transactions 0xa70ce6df9c08496dfb14eb9a90aee82a9d93c2a4385c990766ea9d91ed80127c input data is a call of swap function:

0000000000000000000000003208684f96458c540eb08f6f01b9e9afb2b7d4f0
0000000000000000000000005a3e6a77ba2f983ec0d371ea3b475f8bc0811ad5
000000000000000000000000de67d97b8770dc98c746a3fc0093c538666eb493
0000000000000000000000009ec9367b8c4dd45ec8e7b800b1f719251053ad60
00000000000000000000000008608176e1d6ac5be11de8403805d4b339899a1b
00000000000000000000000000000000000000000000000000000257c590a000
000000000000000000000000000000000000000000000000000001724d6bd821
0000000000000000000000000000000000000000000000000000000000000004
0000000000000000000000000000000000000000000000000000000000000140
0000000000000000000000000000000000000000000000000000000000000160
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000110
0000000000000000000000000000000000000000000000000000000000f200a0
07e5c0d20000000000000000000000000000000000000000000000000000ce00
006700206ae40711b8002dc6c09ec9367b8c4dd45ec8e7b800b1f719251053ad
602854fbda37ac17aa184772bca10d2ca731e06c8c0000000000000000000000
0000000000000000000000000000000000000000015a3e6a77ba2f983ec0d371
ea3b475f8bc0811ad500206ae40711b8002dc6c02854fbda37ac17aa184772bc
a10d2ca731e06c8c1111111254eeb25477b68fb85ed929f73a96058200000000
00000000000000000000000000000000000000000000000000000001c02aaa39
b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000
e26b9977

0000000000000000000000003208684f96458c540eb08f6f01b9e9afb2b7d4f0 0000000000000000000000005a3e6a77ba2f983ec0d371ea3b475f8bc0811ad5 000000000000000000000000de67d97b8770dc98c746a3fc0093c538666eb493 0000000000000000000000009ec9367b8c4dd45ec8e7b800b1f719251053ad60 00000000000000000000000008608176e1d6ac5be11de8403805d4b339899a1b 00000000000000000000000000000000000000000000000000000257c590a000 000000000000000000000000000000000000000000000000000001724d6bd821 0000000000000000000000000000000000000000000000000000000000000004 0000000000000000000000000000000000000000000000000000000000000140 0000000000000000000000000000000000000000000000000000000000000160 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000110 0000000000000000000000000000000000000000000000000000000000f200a0 07e5c0d20000000000000000000000000000000000000000000000000000ce00 006700206ae40711b8002dc6c09ec9367b8c4dd45ec8e7b800b1f719251053ad 602854fbda37ac17aa184772bca10d2ca731e06c8c0000000000000000000000 0000000000000000000000000000000000000000015a3e6a77ba2f983ec0d371 ea3b475f8bc0811ad500206ae40711b8002dc6c02854fbda37ac17aa184772bc a10d2ca731e06c8c1111111254eeb25477b68fb85ed929f73a96058200000000 00000000000000000000000000000000000000000000000000000001c02aaa39 b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000 - are ten parameters that are 32 bytes each

but what is this 8 characters at the end e26b9977 ?

Even Etherscan does not use it when it decodes data.

1 Answer 1

0

According to ABI specification, that input data ends at ...c756cc2.

"types": [
    "address",
    "(address,address,address,address,uint256,uint256,uint256)",
    "bytes",
    "bytes"
  ]

The first 8 fixed length parameters are easy to guess because they have 32 bytes each. The two bytes arrays follows:

...000000140 
...000000160

The first bytes array is from byte offset 0x140 which points us to 32 bytes with value 0x0 meaning this byte array is blank.

The second byte array is from offset 0x160, this points to the length of the array ...0000110 = 272 bytes. Counting 272 bytes from the next 32-byte slot, the data ended at c756cc2 and the last part 0x000...e26b9977 is ignored.

According to past answers here, extra data are ignored and does not cause error Is it legal to include arbitrary bytes at the end of the DATA section executing a contract method?

About answer why, I think it could be either error in transaction encoding part or the possibility that the one who crafts that transaction use it for some extra logic off-chain (for example, their own script tracks different txs based on this extra data). Looking at similar txs to 1inch, it's likely that 1inch frontend does this intentionally.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.