ever-sdk-js

Javascript SDK for TVM blockchains (Everscale, TON, Venom, etc)

APACHE-2.0 License

Downloads
45.3K
Stars
95
Committers
27
ever-sdk-js - Version: 1.38.0

Published by d3p about 2 years ago

[1.38.0] – 2022-10-06

New

  • Debot module:
    • ABI specification v2.3 is supported in DEngine.
    • Supported flags OVERRIDE_TS, OVERRIDE_EXPT, ASYNC_CALL for external messages in DEngine.

Improvement

  • Support cookies in net module for std mode (not wasm)
  • Remove network aliases (main, dev, main.ton.dev, net.ton.dev)
  • No balancing logic in case of 1 endpoint + removed the check of REMP support on backend during client initialization.
    These changes will make client initialization faster -> CLI tools that use SDK will work faster, web pages will load initial data faster.
  • Changed 401 error message to response message from API
  • Tests improvements: cryptobox tests made stable
ever-sdk-js - Version: 1.37.2

Published by d3p about 2 years ago

[1.37.2] – 2022-08-10

New

  • crypto.encryption_box_get_info returns nacl box public key in info.public field.
  • Gosh instruction are supported in local VM and executor:
    • execute_diff
    • execute_diff_patch_not_quiet
    • execute_zip
    • execute_unzip
    • execute_diff_zip
    • execute_diff_patch_zip_not_quiet
    • execute_diff_patch_quiet
    • execute_diff_patch_zip_quiet
    • execute_diff_patch_binary_not_quiet
    • execute_diff_patch_binary_zip_not_quiet
    • execute_diff_patch_binary_quiet
    • execute_diff_patch_binary_zip_quiet

Improvement

  • create_crypto_box optimisation.
    When a user creates a crypto box, library encrypts provided secret information using provided
    password and salt.
    When library encrypts the secret, it calculates encryption key from password and salt
    using scrypt function which takes a lot of CPU time (about 1 second).
    So when a user creates many crypto boxes using the same password and salt,
    it takes a lot of time (about 12 seconds for 10 crypto boxes).
    With the optimisations introduced in this version the library stores the
    pair (password+salt => encryption key) in internal cache for approximately 2 seconds.
    So when a user creates many crypto boxes at a time using the same password and salt,
    library uses cached information to skip heavy calculations. As a result now it takes only
    a second to create 10 crypto boxes.

Fixed

  • Some enum types were not properly presented in api.json (some types that use serde(content="value"))
ever-sdk-js - Version: 1.37.1

Published by d3p about 2 years ago

[1.37.1] – 2022-08-03

Fixed

  • Pinned BOC cache now has reference counter for each pin in BOC. BOC can be pinned several times
    with the same pin. BOC is removed from cache after all references for all pins are unpinned with
    cache_unpin function calls.
  • Fixed error resolving in case when account state was modified after message expiration time. Now
    appropriate error text is added to error message instead of executor internal error
ever-sdk-js - Version: 1.37.0

Published by d3p about 2 years ago

[1.37.0] – 2022-07-28

New

  • client sends config.network.access_key as Authorization: Basic ... or Authorization: Bearer ... header.
  • client accepts endpoints with /graphql suffixes specified in config.
  • lib-web option disableSeparateWorker. By default, lib web starts a separate worker that will utilize core (wasm).
    So main thread never freezes – it is fine for UI. But in some cases (e.g. when worker already exists in application or extension)
    separate worker is a bad approach. In this case application can suppress this with libWebSetup({disableSeparateWorker: true}).

Fixed

  • Updated zstd in order to fix building.
ever-sdk-js - Version: 1.36.1

Published by d3p over 2 years ago

[1.36.1] – 2022-07-18

Improvement

  • Time synchorization check between device and server improved: calculation of timediff with server is moved from batched query to send_message function and therefore now query execution time does not affect this time diff.
ever-sdk-js - Version: 1.36.0

Published by d3p over 2 years ago

[1.36.0] – 2022-07-01

New

  • ABI specification v2.3 is supported
  • parameter address is added to abi.encode_message_body function

Fixed

  • memory leak in utils.compress_zstd and utils.decompress_zstd functions in WASM
ever-sdk-js - Version: 1.35.1

Published by d3p over 2 years ago

[1.35.1] – 2022-06-28

Improved

  • abi module errors have been improved
ever-sdk-js - Version: 1.35.0

Published by d3p over 2 years ago

[1.35.0] – 2022-06-28

New

  • chksig_always_succeed execution option used in params of the tvm.run_get, tvm.run_tvm
    and tvm.run_executor.
  • abi.calc_function_id function
  • tokio library is updated to 1.* version
ever-sdk-js - Version: 1.34.3

Published by d3p over 2 years ago

[1.34.3] – 2022-06-08

New

  • send accessKey header in api requests (specified in config.network.accessKey)

Fixed

  • send headers in info api requests
ever-sdk-js - Version: 1.34.2

Published by d3p over 2 years ago

[1.34.2] – 2022-05-30

Fixed

  • build process
  • compress/decompress zstd for wasm
ever-sdk-js - Version: 1.34.1

Published by d3p over 2 years ago

[1.34.1] – 2022-05-26

New

  • supported removing Copy interface from UInt256
  • supported changed interface of ton_types::Cell
ever-sdk-js - Version: 1.34.0

Published by d3p over 2 years ago

[1.34.0] – 2022-05-18

New

  • client.config function that returns the current client config

  • run_executor().fees is extended with these fields:

    • ext_in_msg_fee - fee for processing external inbound message
    • total_fwd_fees - total fees of action phase
    • account_fees - total fees the account pays for the transaction
  • main and dev endpoints aliases for Evernode Cloud Mainnet and Devnet endpoints

  • binding-gen: enum of types produces its own type for each enum variant.

  • lib-web: large numbers in transaction fees are rounded now (previously they caused errors).

  • core: if an application calls first client core functions in parallel
    then core creates more than one internal context per single TonClient
    instance. As a side effect of this is that a Nodejs process didn't
    finish even when client.close was called.

Improved

  • Added documentation for TransactionFees type (run_executor().fees).
  • Documentation now includes enum types descriptions.
    To achieve it we updated binding-gen: enum of types now produces its own type for each enum variant.
ever-sdk-js - Version: 1.33.1

Published by d3p over 2 years ago

[1.33.1] – 2022-05-10

Fixed

  • Websocket errors weren't treated as a network errors.
    This is why all the processing functions that worked via wss protocol failed on these errors without retries. Now retries are performed.
  • SDK tried to rebalance even if only a single endpoint was specified. Now in case of a single endpoint, no rebalancing occurs.
ever-sdk-js - Version: 1.33.0

Published by d3p over 2 years ago

[1.33.0] – 2022-05-02

New

  • allow_partial flag in all abi.decode_* functions. This flag controls decoder behaviour whether return error or not in case of incomplete BOC decoding
  • REMP supported. ProcessingEvent enum is extended with REMP statuses (enum of events posted into processing.wait_for_transaction function callback )
  • UNSTABLE. first_remp_status_timeout and next_remp_status_timeout parameters in network config
ever-sdk-js - Version: 1.32.0

Published by d3p over 2 years ago

[1.32.0] – 2022-03-22

New

  • network.queries_protocol config parameter allows selecting protocol the SDK uses to communicaite with GraphQL endpoint:
    • HTTP – SDK performs single HTTP-request for each request.
    • WS – SDK uses single WebSocket connection to send all requests. This protocol is a preferable
      way when the application sends many GraphQL requests in parallel.

Fixed

  • Debot module:
    • If DEngine received a non-zero exit_code while emulating a transaction while sending a message, DEngine will call onErrorId callback of the message.
ever-sdk-js - Version: 1.31.0

Published by d3p over 2 years ago

[1.31.0] – 2022-03-09

New

crypto module:

Fixed

  • Documentation generator for app object interface fills documentation from
    ParamsOfXXXAppObject enum.
  • Documentation generator for function with obj parameter add this parameter
    into parameters section with link to appropriate AppObject interface.
ever-sdk-js - Version: 1.30.2

Published by d3p over 2 years ago

[1.30.2] – 2022-03-14

Fixed

  • Update JSI client podspec for react-native greater than 0.66
ever-sdk-js - Version: 1.30.1

Published by d3p over 2 years ago

[1.30.1] – 2022-02-16

Changed

  • Rebranding:
    • rename repository name from 'ton-client-js' to 'ever-sdk-js'
    • rename binary binding filenames from 'tonclient_' to 'eversdk_'
    • rename npm scope name from '@tonclient' to '@eversdk'
      @tonclient/core -> @eversdk/core
      @tonclient/lib-node -> @eversdk/lib-node
      @tonclient/lib-web -> @eversdk/lib-web
      @tonclient/lib-react-native -> @eversdk/lib-react-native
ever-sdk-js - Version: 1.30.0

Published by d3p over 2 years ago

[1.30.0] – 2022-02-04

New

  • Added boc.encode_external_in_message function to encode message BOC based on
    a low level message parts such as a body, state init etc.
  • Added net.subscribe function to start a low level GraphQL subscription.
  • Added support for new MYCODE TVM command in tvm.run_tvm and tvm.run_get functions.
ever-sdk-js - Version: 1.29.0

Published by d3p over 2 years ago

[1.29.0] – 2022-02-03

New

  • Added abi.encode_boc function to encode parameters with values to BOC, using ABI types.
  • Added support of address type in boc.encode_boc.
  • All fetch requests are now called with timeouts to prevent freezing in case of infinite answer.
  • Support of MYCODE instruction in TVM