Hi @Jose_Luis_Latas !
That error usually means the transaction data field isn’t encoded in the format the VM expects (so it can’t tokenize it to create the VM input). In most cases it’s caused by invalid/incorrect ABI encoding for the smart contract function call.
Since you didn’t include the contract ABI (or at least the exact function signature + argument types), I can’t say the exact encoding you should use. But based on your attempts, the key change is: the data field must be Base64-encoded.
For example, if your contract has a method like:
{
"name": "bet",
"mutability": "mutable",
"payableInTokens": ["KLV"],
"inputs": [
{ "name": "bet_type", "type": "BetType" },
{ "name": "bet_value", "type": "u32" }
],
"outputs": [{ "type": "Bet" }]
}
Where bet_type is an enum, the call data would be something like:
- raw call:
bet@00@32 - transaction
data: Base64(bet@00@32)
Please also check this other thread (I’ll send the link next). If you try the suggestions there and it still doesn’t work, share:
- the function signature + argument types you’re calling.
and we can help you validate the expected encoding/payload.