Skip to content

Tracking issue: Tact v1.5.0 #39

Closed
Closed
@anton-trunov

Description

@anton-trunov

Full changelog for Tact v1.5.0: https://github.com/tact-lang/tact/blob/main/CHANGELOG.md#150---2024-09-15

New Tact features:

  • asm functions: asm fun keccak256(s: Slice): Int { 1 INT HASHEXT_KECCAK256 };
  • Wider range of serialization options for integers — uint1 through uint256 and int1 through int257: counter: Int as uint48;
  • Allow omitting last semicolons in contract/trait declarations and definitions: trait Test { abstract fun foo() } -- the semicolon after foo() is not required anymore.

New builtin and stdlib functions and methods:

  • The exists method for the Map type: m.exists(key), equivalent to m.get(key) != null;
  • The deepEquals method for the Map type: m1.deepEquals(m2);
  • The toSlice method for structs and messages: struct.toSlice();
  • The storeBit method for Builder type and the loadBit method for Slice type (aliases for storeBool and loadBool respectively): b.storeBit(true), sl.loadBit();
  • slice, rawSlice, ascii and crc32 built-in functions;
  • Corresponding stdlib functions for the new TVM instructions from 2023.07 and 2024.04 upgrades: storeBuilder extension function and gasConsumed, getComputeFee, getStorageFee, getForwardFee, getSimpleComputeFee, getSimpleForwardFee, getOriginalFwdFee, myStorageDue functions.
  • Builder.storeMaybeRef, parseStdAddress and parseVarAddress stdlib functions.

Tracking progress

P.S.: Consider removing the built-in functions from highlighting queries, as this generally hurts the highlighting more than it helps. New structs, messages and constants are better candidates for inclusion into queries.

Metadata

Metadata

Assignees

Labels

tact updatetact-lang/tact: features and related updates

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions