I am developing a fairly large set of contracts that interact with each other. I wanted to reorganize and optimized the code and I've added lots of PUSH string "..."; FAILWITH to help me debug. I am pushing the contracts to the alphanet so I can try calling them and make sure they interact properly.

After making some changes, I originated the contracts and tried calling them.

~/alphanet.sh client transfer 0 from alice to test1 --arg 'Right 1' --burn-cap 1

And I received the following message, but without any clue of which line is failing.

        This operation FAILED.
Error too big to serialize within the provided gas bounds.
Gas limit exceeded during typechecking or execution.
Try again with a higher gas limit.
Fatal error:
  transfer simulation failed

I looked up how to increase the gas bounds with ~/alphanet.sh client transfer man.

-G --gas-limit <amount>

I called the contract again with a large amount of gas ~/alphanet.sh client transfer 0 from alice to test1 --arg 'Right 1' --burn-cap 1 -G 9999999999999999999999

but I receive the same error. Any ideas how I can get a more detailed error message?

EDIT: My guess is that it has something to do with big map. I moved some things in store that were originally maps into a big map.

  • 1
    You cannot set the gas limit higher than the hard_gas_limit_per_operation. However, try using tezos-client run script ... --trace-stack -G $GAS. With this command you can see the gas usage at each step, and you can set the gas limit as high as you want. Your error looks a little suspicious to me, but I don't know the cause, unless it is just normal gas exhaustion.
    – Tom
    Jul 11 '19 at 19:56
  • Can you try again on the carthagenet test network? The gas costs and limits have significantly changed twice since you asked this question. Mar 5 '20 at 9:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.