intellij-ton
intellij-ton copied to clipboard
Support Tact 1.5.0
trafficstars
The following is the list of IDE-relevant changes for Tact v1.5.0 which has been released. This issue is a follow-up on https://github.com/ton-blockchain/intellij-ton/issues/180.
Full changelog for Tact v1.5.0: https://github.com/tact-lang/tact/blob/main/CHANGELOG.md#150---2024-09-15
New Tact features
asmfunctions:asm fun keccak256(s: Slice): Int { 1 INT HASHEXT_KECCAK256 };- Wider range of serialization options for integers —
uint1throughuint256andint1throughint257:counter: Int as uint48; - Constant evaluator now supports calls to user-defined functions and references to declared global constants;
- Allow omitting last semicolons in contract/trait declarations and definitions:
trait Test { abstract fun foo() }-- the semicolon afterfoo()is not required anymore.
New builtin and stdlib functions and methods
- The
existsmethod for theMaptype:m.exists(key), equivalent tom.get(key) != null; - The
deepEqualsmethod for theMaptype:m1.deepEquals(m2); - The
toSlicemethod for structs and messages:struct.toSlice(); - The
storeBitmethod forBuildertype and theloadBitmethod forSlicetype (aliases forstoreBoolandloadBoolrespectively):b.storeBit(true),sl.loadBit(); slice,rawSlice,asciiandcrc32built-in functions;- Corresponding stdlib functions for the new TVM instructions from 2023.07 and 2024.04 upgrades:
storeBuilderextension function andgasConsumed,getComputeFee,getStorageFee,getForwardFee,getSimpleComputeFee,getSimpleForwardFee,getOriginalFwdFee,myStorageDuefunctions. Builder.storeMaybeRef,parseStdAddressandparseVarAddressstdlib functions.