Skip to content

Releases: neodix42/ton

TON v2024.12

25 Dec 16:28
Compare
Choose a tag to compare

2024.12 Update

  1. FunC 0.4.6: Fix in try/catch handling, fixing pure flag for functions stored in variables
  2. Merging parts of Accelerator: support of specific shard monitoring, archive/liteserver slice format, support for partial liteservers, proxy liteserver, on-demand neighbour queue loading
  3. Fix of asynchronous cell loading
  4. Various improvements: caching certificates checks, better block overloading detection, _malloc in emulator
  5. Introduction of telemetry in overlays
  6. Use non-null local-id for tonlib-LS interaction - mitigates MitM attack.
  7. Adding SECP256K1_XONLY_PUBKEY_TWEAK_ADD, SETCONTCTRMANY instructions to TVM (activated by Config8.version >= 9)
  8. Private keys export via validator-engine-console - required for better backups
  9. Fix proof checking in tonlib, hash in raw.Message in tonlib_api

Besides the work of the core team, this update is based on the efforts of OtterSec and LayerZero (FunC), tg:@throwunless (FunC), Aviv Frenkel and Dima Kogan from Fordefi (LS MitM), @hacker-volodya (Tonlib), OKX team (async cell loading), @krigga (emulator)

TON v2024.12-1

25 Dec 16:32
Compare
Choose a tag to compare

2024.12 Update

  1. FunC 0.4.6: Fix in try/catch handling, fixing pure flag for functions stored in variables
  2. Merging parts of Accelerator: support of specific shard monitoring, archive/liteserver slice format, support for partial liteservers, proxy liteserver, on-demand neighbour queue loading
  3. Fix of asynchronous cell loading
  4. Various improvements: caching certificates checks, better block overloading detection, _malloc in emulator
  5. Introduction of telemetry in overlays
  6. Use non-null local-id for tonlib-LS interaction - mitigates MitM attack.
  7. Adding SECP256K1_XONLY_PUBKEY_TWEAK_ADD, SETCONTCTRMANY instructions to TVM (activated by Config8.version >= 9)
  8. Private keys export via validator-engine-console - required for better backups
  9. Fix proof checking in tonlib, hash in raw.Message in tonlib_api

Besides the work of the core team, this update is based on the efforts of OtterSec and LayerZero (FunC), tg:@throwunless (FunC), Aviv Frenkel and Dima Kogan from Fordefi (LS MitM), @hacker-volodya (Tonlib), OKX team (async cell loading), @krigga (emulator)

TON v2024.11

26 Nov 19:22
Compare
Choose a tag to compare

2024.10 Update

  1. Parallel write to celldb: substantial improvement of sync and GC speed, especially with slow disks.
  2. Decreased network traffic: only first block candidate is sent optimistically.
  3. Improved channel creation and dht lookups, introduction of semi-private overlays
  4. New LS dispatch queue related methods and improvement security
  5. Fixing recursion in TVM continuations
  6. Improved stats for actors, validator sessions, perf counters, overlays, adnl, rocksdb
  7. Migration to C++20
  8. Improved block size estimates: account for depth in various structures
  9. Fix bug with << optimization in FunC
  10. Minor changes of TVM which will be activated by Config8.version >= 9
  11. Multiple minor improvements

Besides the work of the core team, this update is based on the efforts of @krigga (emulator), Arayz @ TonBit (LS security, TVM recursion), @ret2happy (UB in BLST).

TON v2024.09-1

13 Sep 16:08
Compare
Choose a tag to compare

2024.08 Update

  1. Introduction of dispatch queues, message envelopes with transaction chain metadata, and explicitly stored msg_queue size, which will be activated by Config8.version >= 8 and new Config8.capabilities bits: capStoreOutMsgQueueSize, capMsgMetadata, capDeferMessages.
  2. A number of changes to transcation executor which will activated for Config8.version >= 8:
    • Check mode on invalid action_send_msg. Ignore action if IGNORE_ERROR (+2) bit is set, bounce if BOUNCE_ON_FAIL (+16) bit is set.
    • Slightly change random seed generation to fix mix of addr_rewrite and addr.
    • Fill in skipped_actions for both invalid and valid messages with IGNORE_ERROR mode that can't be sent.
    • Allow unfreeze through external messages.
    • Don't use user-provided fwd_fee and ihr_fee for internal messages.
  3. A few issues with broadcasts were fixed: stop on receiving last piece, response to AdnlMessageCreateChannel
  4. A number of fixes and improvements for emulator and tonlib: correct work with config_addr, not accepted externals, bounces, debug ops gas consumption, added version and c5 dump, fixed tonlib crashes
  5. Added new flags and commands to the node, in particular --fast-state-serializer, getcollatoroptionsjson, setcollatoroptionsjson

Besides the work of the core team, this update is based on the efforts of @krigga (emulator), stonfi team, in particular @dbaranovstonfi and @hey-researcher (emulator), and @loeul, @xiaoxianBoy, @simlecode (typos in comments and docs).

TON v2024.09

13 Sep 15:36
Compare
Choose a tag to compare

2024.08 Update

  1. Introduction of dispatch queues, message envelopes with transaction chain metadata, and explicitly stored msg_queue size, which will be activated by Config8.version >= 8 and new Config8.capabilities bits: capStoreOutMsgQueueSize, capMsgMetadata, capDeferMessages.
  2. A number of changes to transcation executor which will activated for Config8.version >= 8:
    • Check mode on invalid action_send_msg. Ignore action if IGNORE_ERROR (+2) bit is set, bounce if BOUNCE_ON_FAIL (+16) bit is set.
    • Slightly change random seed generation to fix mix of addr_rewrite and addr.
    • Fill in skipped_actions for both invalid and valid messages with IGNORE_ERROR mode that can't be sent.
    • Allow unfreeze through external messages.
    • Don't use user-provided fwd_fee and ihr_fee for internal messages.
  3. A few issues with broadcasts were fixed: stop on receiving last piece, response to AdnlMessageCreateChannel
  4. A number of fixes and improvements for emulator and tonlib: correct work with config_addr, not accepted externals, bounces, debug ops gas consumption, added version and c5 dump, fixed tonlib crashes
  5. Added new flags and commands to the node, in particular --fast-state-serializer, getcollatoroptionsjson, setcollatoroptionsjson

Besides the work of the core team, this update is based on the efforts of @krigga (emulator), stonfi team, in particular @dbaranovstonfi and @hey-researcher (emulator), and @loeul, @xiaoxianBoy, @simlecode (typos in comments and docs).

TON v2024.05-1

25 May 06:39
Compare
Choose a tag to compare

2024.04 Update

  1. Emulator: Single call optimized runGetMethod added
  2. Tonlib: a series of proof improvements, also breaking Change in liteServer.getAllShardsInfo method (see below)
  3. DB: usage statistics now collected, outdated persistent states are not serialized
  4. LS: fast getOutMsgQueueSizes added, preliminary support of non-final block requests
  5. Network: lz4 compression of block candidates (disabled by default).
  6. Overlays: add custom overlays
  7. Transaction Executor: fixed issue with due_payment collection
  • liteServer.getAllShardsInfo method was updated for better efficiency. Previously, field proof contained BoC with two roots: one for BlockState from block's root and another for ShardHashes from BlockState. Now, it returns a single-root proof BoC, specifically the merkle proof of ShardHashes directly from the block's root, streamlining data access and integrity. Checking of the proof requires to check that ShardHashes in the data correspond to ShardHashes from the block.

Besides the work of the core team, this update is based on the efforts of @akifoq (due_payment issue).

TON v2024.05

24 May 18:49
Compare
Choose a tag to compare

2024.04 Update

  1. Emulator: Single call optimized runGetMethod added
  2. Tonlib: a series of proof improvements, also breaking Change in liteServer.getAllShardsInfo method (see below)
  3. DB: usage statistics now collected, outdated persistent states are not serialized
  4. LS: fast getOutMsgQueueSizes added, preliminary support of non-final block requests
  5. Network: lz4 compression of block candidates (disabled by default).
  6. Overlays: add custom overlays
  7. Transaction Executor: fixed issue with due_payment collection
  • liteServer.getAllShardsInfo method was updated for better efficiency. Previously, field proof contained BoC with two roots: one for BlockState from block's root and another for ShardHashes from BlockState. Now, it returns a single-root proof BoC, specifically the merkle proof of ShardHashes directly from the block's root, streamlining data access and integrity. Checking of the proof requires to check that ShardHashes in the data correspond to ShardHashes from the block.

Besides the work of the core team, this update is based on the efforts of @akifoq (due_payment issue).

TON v2024.04

06 Apr 10:04
cc4244f
Compare
Choose a tag to compare

2024.04 Update

  1. Emulator: Single call optimized runGetMethod added
  2. Tonlib: a series of proof improvements, also breaking Change in liteServer.getAllShardsInfo method (see below)
  3. DB: usage statistics now collected, outdated persistent states are not serialized
  4. LS: fast getOutMsgQueueSizes added, preliminary support of non-final block requests
  5. Network: lz4 compression of block candidates (disabled by default).

  • liteServer.getAllShardsInfo method was updated for better efficiency. Previously, field proof contained BoC with two roots: one for BlockState from block's root and another for ShardHashes from BlockState. Now, it returns a single-root proof BoC, specifically the merkle proof of ShardHashes directly from the block's root, streamlining data access and integrity. Checking of the proof requires to check that ShardHashes in the data correspond to ShardHashes from the block.

TON v2024.02

22 Feb 09:50
Compare
Choose a tag to compare

2024.02 Update

  1. Improvement of validator synchronisation:
    • Better handling of block broadcasts -> faster sync
    • Additional separate overlay among validators as second option for synchronisation
  2. Improvements in LS:
    • c7 and library context is fully filled up for server-side rungetmethod
    • Cache for runmethods and successfull external messages
    • Logging of LS requests statistic
  3. Precise control of open files:
    • almost instantaneous validator start
    • --max-archive-fd option
    • autoremoval of not used temp archive files
    • --archive-preload-period option
  4. Preparatory (not enabled yet) code for addition on new TVM instructions for cheaper fee calculation onchain.

TON v2024.01

17 Jan 21:27
9728bc6
Compare
Choose a tag to compare

2024.01 Update

  1. Fixes in how gas in transactions on special accounts is accounted in block limit. Previously, gas was counted as usual, so to conduct elections that costs >30m gas block limit in masterchain was set to 37m gas. To lower the limit for safety reasons it is proposed to not count gas on special accounts. Besides gas_max is set to special_gas_limit for all types of transactions on special accounts. New behavior is activated through setting gas_prices_v3 in ConfigParam 20;.
    • Besides update of config temporally increases gas limit on EQD_v9j1rlsuHHw2FIhcsCFFSD367ldfDdCKcsNmNpIRzUlu to special_gas_limit, see details.
  2. Improvements in LS behavior
    • Improved detection of the state with all shards applied to decrease rate of Block is not applied error
    • Better error logs: block not in db and block is not applied separation
    • Fix error in proof generation for blocks after merge
  3. Improvements in DHT work and storage, CellDb, config.json ammendment, peer misbehavior detection, validator session stats collection, emulator.

Besides the work of the core team, this update is based on the efforts of @XaBbl4 (peer misbehavior detection).