4

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.

      Transaction:
        ...
        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.

2
  • 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.