Releases: justdmitry/TonLib.NET
Releases · justdmitry/TonLib.NET
v0.24.0
v0.23.1
What's Changed
- Fix
Cell.csto prevent "Sequence contains no elements" exception during cell construction by @atonce-original in #12
v0.23.0
v0.22
New features and fixes:
- Additional overloads for
SmcRunGetMethodfor less boilerplate code; - Drop support unsupported anymore
net7, updateSystem.Text.Jsonto 8.0.4; StoreAddressIntStdnow accepts nulls and empty strings (and writes two zero bits);- New
CreateTransferCellandCreateBurnCellmethods inTep74Jettonsrecipe (to create cells instead of messages); - New
TryParseJettonTransferNotificationinTep74Jettonsrecipe to work with incoming jetton transfers; - Remove obsolete
ISerializablesupport fromTonClientException; - Add CancellationTokens to
ITonClientparams (fix #8).
v0.21.3: Deep Tx parsing and other useful helpers
Transaction data can be parsed now (according to block.tlb) to obtain some "internal" fields from phases, like fees or success flag(s). See TransactionTests.cs for more details;
Improvements to existing classes:
- Boc: new
ParseFromHexandTryParseFromHex(in addition to ...FromBase64); - Slice:
LoadAndParseDict,TryLoadAndParseDictandParseDictnow accept optionalIEqualityComparer<TKey>; - Slice: new
SkipRefso you don't need to read it to temporary variable; - Slice/Cell: new
ParseDictRef,LoadAndParseDictRefandTryLoadAndParseDictRefto work with Cell-as-value dicts; - AddressUtils: new
TrySetBounceableto validate address string and convert it to required bounceable mode in one call; - ITonClient: new
SyncStateCurrentSeqnoproperty return current (synced to) masterchain height; - ITonClient: new
Deinitmethod to "forget" LiteServer currently connected to, and initiate new connection on nextInitIfNeeded- for example if you detect that current LiteServer is not synced; - TonOptions: new
ConfigPathLocalTestnetandConfigPathLocalMainnetproperties, so you can use locally saved config instead of downloading it every time;
v0.20: A lot of new stuff
- New
TonRecipes.NFTsadded to work with TEP-62 NFTs:GetCollectionData,GetNftAddressByIndex,GetNftData,GetNftContent,CreateTransferMessage; - New extension methods
ToBoc()forStackEntry,StackEntryCell,StackEntrySlice,CellandSlice, so you can write shorter code with lessToTvmCell()and similar chained conversions; - New extension methods
ToInt(),ToLong(),ToBigInteger()andToBigIntegerBytes()forStackEntry, so you can writeresult.Stack[0].ToInt()instead ofint.Parse(result.Stack[0].ToTvmNumberDecimal(), CultureInfo.InvariantCulture); - Additional constructors for types that expect
List<ofSomething>: now they also accepts arrays withparamsmodifier; - New
TonUtils.KeyUtilsto work with keys, particularlyParseEd25519PublicKeyto convert public key from internal tonlib representation to bytes; - New requests:
GetConfigAllandGetConfigParamto get blockchain configuration data; - Additional
Slicenumeric methods:PreloadUShort,PreloadShort,PreloadUInt,PreloadInt,PreloadULong,PreloadLong; - Additional
SliceandCellBuilderstring methods:LoadStringandStoreString(as utf-8 bytes); - Additional
SliceandCellBuilderlong-string methods:LoadStringSnakeandStoreStringSnake,LoadStringChunkedandStoreStringChunked; - Support for wallet-v4:
V4AccountStateandV4InitialAccountState; - New framework net8.0 added to list of target frameworks
v0.19: TonRecipes for Jettons
- Use
TonRecipes.Jettonsto transfer or burn jettons, to get general Jetton data or JettonWallet data
⚠ But wait for resolution of ton-blockchain/ton#709 first! ⚠ - Framework
net7.0added (now supports bothnet6.0andnet7.0)
v0.18: TonRecipes for anonymous numbers
TonRecipes.Telemint replaced with two: TonRecipes.TelegramUsernames (for *.t.me names) and TonRecipes.TelegramNumbers (for +888 anonymous numbers).
v0.17: TonRecipes
New TonRecipes static class with read-to-use one-liners, e.g.:
TonRecipes.RootDns.GetNftAddressto get DNS NFT Contract address fromsomething.tondomain name;TonRecipes.RootDns.GetOwnerto get owner of DNS NFT by it's address;TonRecipes.RootDns.GetAllInfoto load all information from DNS NFT smartcontract data and parse to separate ready-to-use fields;- Other RootDns methods;
- Similar
TonRecipes.Telemintclass to work with*.t.meNFTs;
v0.16: TonUtils
Static TonUtils class with useful functions:
Address.IsValid (string address, out byte workchainId, out bool bounceable, out bool testnetOnly)Address.SetBounceable (string address, bool bounceable)Coins.FromNano (long nano)Coins.ToNano (decimal ton)Text.EncodeAsBase64 (string? source)Text.TryDecodeBase64 (string? source, out string? result)Adnl.Encode (ReadOnlySpan<byte> adnl)Adnl.Decode (string adnl)
More helpers may be added in future releases.