Added
- New Assets Module: Added classes and utilities for working with FT, NFT, and TON assets, including AssetFactory and AssetCache
- Logger Components: ConsoleLogger and NoopLogger for flexible logging configuration - SDK components are silent by default unless logger is provided
- Simulator Component: Internal simulation component for TAC-side transaction simulation, gas estimation, and fee calculation
- Transaction Managers: TONTransactionManager and TACTransactionManager for handling cross-chain transaction execution
- TonTxFinalizer: Utility for verifying transaction tree success on TON blockchain using TON Center API
- RetryableContractOpener: Enhanced contract opener for improved SDK stability and reliability
- Balance Verification: Automatic balance checking before sending cross-chain transactions
- Batch Transaction Support: RawSender can now send transactions in batches (254 for V5R1 wallets, 4 for other wallet versions)
- Wait Options: Optional
waitOptionsparameter for OperationTracker methods andsendCrossChainTransaction(s)to automatically wait for operation completion - AgnosticProxy SDK: Experimental SDK for building complex DeFi operations with dynamic value replacement (testing only)
Changed
- Performance Optimizations: Significantly improved SDK initialization speed by parallelizing blockchain queries and initialization steps
- Sender Architecture: Refactored BatchSender, RawSender, and TonConnectSender with improved contractOpener and retryableContractOpener
- Core Infrastructure: Updated error handling, structs, utilities, and OperationTracker components
- Method Signatures: OperationTracker methods and
sendCrossChainTransaction(s)now accept optionalwaitOptionsfor automatic completion waiting
Added
- Advanced options to
sendCrossChainTransaction - Method to send multiple crosschain transactions at once:
sendCrossChainTransactions - Batch sending support for crosschain transactions
- Error handling while sending crosschain transactions
Changed
- TonClient with TAC endpoint as default contract opener
Added
metaInfofield to theExecutionStages- LiteSequencerClient to handle lite sequencer requests and its parameters
- Method to calculate tvmExecutorFee:
getTVMExecutorFeeInfo
Changed
getEVMTokenAddressnow automatically normalizes addresses toEQform- For TAC->TON transactions tvmExecutorFee calculated via lite sequencer
Changed
- Due to an API change, updated the
operationIdretrieval. An empty string will be returned for 404 errors
Added
OperationTypetypeExecutionStagesTableDatatypeTrackingOperationResulttypeStageNameenumgetOperationTypeinOperationTrackerretrieves theOperationTypeforoperationId
Changed
- The stage names have been changed
- Changed namings in enums
OperationTypeadded in theExecutionStagesExecutionStagesstructure- Added return value in method
sendShardTransactioninTonConnectSender - Added
forceSendoption in methodsendCrossChainTransactioninTacSdk startTrackinghas been improved. Added optional parameters and return values
Removed
- Deleted
isBridgeOperation(now it can be determined withgetOperationType)
Changed
- Changed package tac-sdk -> @tonappchain/sdk
calculateEVMTokenAddressfunction now requires tokenUtils address as deployer and crossChainLayer address as constructor params- Rename shardedId -> shardsKey
- A
gasLimitfield has been added toEvmProxyMsg(defaulting to undefined, which will be set through simulation in this case) - Renamed json properties in
buildEvmDataCell - Renamed urls in
OperationTracker
Added
optionsparameter ingetSendermethod to modify W5 and Highload V3 walletscustomLiteSequencerEndpointsparameter inSDKParamsto specify custom lite sequencer endpointssimulateEVMMessagemethod inTacSdkto simulate EVM message execution on TAC sidegetOperationStatusesmethod inOperationTrackerretrieves the statuses of multiple operations based on their respectiveoperationId'sgetOperationIdsByShardsKeysmethod inOperationTrackerretrieves theoperationId'sbased on their respectiveshardsKey'sgetStageProfilingsmethod inOperationTrackerretrieves theExecutionStages'sbased on their respectiveoperationId'sgetStageProfilingmethod inOperationTrackerretrieves theExecutionStagesforoperationId- Added a pre-check before sending to the blockchain to ensure the transaction will execute successfully on the TAC side using the
simulateEVMMessagemethod - Support for highload V3 wallet as a sender
Added
- Section in readme about TACHeader
- AddLiquidity uniswap_v2 test
orbsOpenermethod to construct custom contractOpener for TacSDK. It uses Orbs Network and does not have rate limits
Changed
- SDK uses orbsOpener by default
addressfield inAssetBridgingDatacan be either EVM or TVM address- Method
SenderFactory.getSenderrequires additional parameternetworkwhen creating wallet wrapper using mnemonic - Fixed
getContractStateinliteClientOpener - Fixed all tests for TACHeader logic
- Version
@tonappchain/artifactsupgraded to0.0.12-addresses - Request to
/statusendpoint of Sequencer API changed fromGETtoPOSTwith body - Signature of
getOperationStatusis changed
Removed
- Deleted test bridgeData
Changed
- Calculate token addresses through emulation
- Renamed
TransactionStatustoOperationTracker - Renamed method
OperationTracker.getStatusTransaction()toOperationTracker.getOperationStatus() - Renamed method
OperationTracker.getSimpifiedTransactionStatus()toOperationTracker.getSimplifiedOperationStatus() - Renamed
TacSDKTonClientParamstoSDKParams - Changed struct of
SDKParams - Changed
ton-lite-clientlibrary to its fork@tonappchain/ton-lite-client
Added
- Custom
TONParamsandTACParamsinSDKParams networkandcustomLiteSequencerEndpointsparams toOperationTrackerconstructor- Static async function
createinTacSdkfor creating an instance ofTacSdk - Custom errors
- Methods that may construct custom contractOpener for TacSDK
- Method
closeConnectionsinTacSdkfor closing all network connections - Optional method
closeConnectionstoContractOpenerinterface
Removed
initfunction inTacSdk- Public constructor of
TacSdk
Added
- Method to get TVM address based on EVM address
- Tests for SDK methods using contract emulation
- Support for custom contract opener
- SDK uses @tonappchain/artifacts
- Added get methods for native token addresses
- Added support for native token address calculation in getEVMTokenAddress and getTVMTokenAddress methods
Removed
- Support for TON wallet v1