I'm getting an InsufficientDataBytes error when trying to decode transaction input data which seems to be fine on EVM.
Here is the transaction in question https://etherscan.io/tx/0x0a80cc2e457962b40ee74b961f0c1d5ec4578cffc204eb426d51456f2b25f68e
You can see the input data in the traces Action [4] https://etherscan.io/vmtrace?txhash=0x0a80cc2e457962b40ee74b961f0c1d5ec4578cffc204eb426d51456f2b25f68e&type=parity
This is the input data that is returned from the transaction
0xfb0f3ee100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1c41d53dd380000000000000000000000000032af2682d1e89af4aef8203e5050191bf17842cc000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000a49a0e5ef83cf89ac8aae182f22e6464b229efc80000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000063120e2500000000000000000000000000000000000000000000000000000000631602a500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060645ee7d499370000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000061a0ea166d8000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000c341d42cdb000000000000000000000000000210d4c84c9d29b0ded22b19bd6d6562c696d6de100000000000000000000000000000000000000000000000000000000000000410ceaf14d2fd6e9152e320017969785cd9a61b05fa045581226c01189c0c3831d74330b0eab1ad061f4e564cb576759ffddcd39f9dd7569b783fef00ecffe15791c
I also have the correct contract ABI.
web3_contract = Web3.eth.contract(
Web3.toChecksumAddress(contract_address), abi=abi
)
res = web3_contract.decode_function_input(input_data)
Error:
InsufficientDataBytes: Tried to read 96 bytes. Only got 65 bytes