Initialization of cc, cp, and gas limits
-
The original
cc, current continuation, is initialized using the cell slice created from thecodesection of the smart contract. If the account is frozen or uninitialized, the code must be provided in theinitfield of the incoming message. -
The
cp, current TVM codepage, is set to the default value of 0. - The gas limit values are initialized based on the results of the credit phase.
Registers initialization
-
c0:Quit— extraordinary continuation which terminates TVM with exit code0. -
c1:Quit— extraordinary continuation which terminates TVM with exit code1. Both exit codes0and1are considered successful terminations of TVM. -
c2:ExcQuit— extraordinary continuation which terminates TVM with an exception. In this case, the exit code is an exception number. -
c3: root cell of code currently executing in TVM. -
c4: root cell of account data. -
c5: empty cell. -
c7:Tuple[Tuple[0x076ef1ea, 0, 0, ...]].
Stack
The contents of the stack depend on the event that triggered the transaction:- Internal message
- External message
- Tick-tock
- Split prepare
- Merge install
- Get method (off-chain)
Get methods can have arbitrary IDs and should not overlap with the ones listed above.