tact-lang / tact

Tact compiler main repository
https://tact-lang.org
MIT License
275 stars 56 forks source link

Tact `dump` changes behaviour of compiled code #334

Closed 0kenx closed 1 month ago

0kenx commented 1 month ago

Sometimes in a large contract, in a message chain A -> B -> C -> D, with Tact compiler debug mode on, execution would stop at C, and the message C->D would not be sent (there's enough incoming gas). When adding some dumps in the code in contract C trying to debug the issue (with no other functional code changes), the entire chain would succeed and C->D is correctly sent. If I disable debug mode, execution would also stop at C.

Any ideas why this could happen?

Tact 1.3.0

0kenx commented 1 month ago

Nevermind, the error is due to a different smart contract address generated when dump is added.