ever-sdk-js

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

APACHE-2.0 License

Downloads
45.3K
Stars
95
Committers
27

Bot releases are hidden (Show)

ever-sdk-js - Version 1.48.0

Published by AtomXY 2 months ago

Updating the version according to the main project

ever-sdk-js - Version 1.47.0

Published by AtomXY 2 months ago

ever-sdk-js - Version 1.45.1 Latest Release

Published by AtomXY 8 months ago

What's Changed

ever-sdk-js - Version 1.45.0

Published by AlexeyVavilin 12 months ago

New

  • ABI 2.4 supported.

Breaking

  • For contracts with ABI version => 2.4 initial public key should be explicitly supplied
    inside initial_data in abi module functions. Signer public key and initial_pubkey parameter
    are not used in contract initial data encoding since ABI version 2.4.

  • abi.decode_initial_data and abi.update_initial_data functions don't support ABI version => 2.4.
    abi.decode_account_data and abi.encode_initial_data should be used instead

  • Only workchain_id parameter is allowed if state_init parameter of DeploySet is provided.
    State init should be finalized and ready to be used in message as is.

  • abi.encode_account parameter state_init is BOC or cached BOC reference instead of
    StateInitSource enum. There is only one way to provide account state init now.

ever-sdk-js - Version 1.44.4

Published by AlexeyVavilin 12 months ago

New

  • Account BOC for local error resolving is fetched from blockchain API instead of collections API
ever-sdk-js - Version: 1.44.3

Published by d3p about 1 year ago

New

  • Error appeared during network paramaters resolving is returned to client instead of using default parameters
ever-sdk-js - Version: 1.44.2

Published by d3p about 1 year ago

New

  • Pruned account serialization supported
ever-sdk-js - Version: 1.44.1

Published by d3p about 1 year ago

New

  • functions with callbacks (e.g. processing.process_messages) can be called as sync.
  • send_event parameter is now optional with default value false.

Deprecated

ever-sdk-js - Version: 1.44.0

Published by d3p about 1 year ago

New

  • Ability to call async functions via tc_request_sync.
  • In rust API, the following functions become sync (slight breaking):
    abi::encode_internal_message, abi::attach_signature_to_message_body, abi::attach_signature,
    abi::decode_message, abi::decode_message_body, abi::decode_account_data,
    abi::update_initial_data, abi::encode_initial_data, abi::decode_initial_data,
    abi::decode_boc, abi::encode_boc, boc::decode_tvc, boc::parse_message, boc::parse_transaction,
    boc::parse_account, boc::parse_block, boc::parse_shardstate, boc::get_blockchain_config,
    boc::get_boc_hash, boc::get_code_from_tvc, boc::cache_get, boc::cache_set, boc::cache_unpin,
    boc::encode_boc, boc::get_code_salt, boc::set_code_salt, boc::decode_state_init, boc::encode_state_init,
    boc::encode_external_in_message, boc::get_compiler_version, processing::monitor_messages,
    processing::get_monitor_info, processing::cancel_monitor
  • Code generator for modules.ts produces _sync wrapper for all API functions.
ever-sdk-js - Version: 1.43.3

Published by d3p over 1 year ago

Fixed

  • Memory leak in a spawned loop of the web socket link.
ever-sdk-js - Version: 1.43.2

Published by d3p over 1 year ago

Fixed

  • Non existing accounts are treated as missing since q-server return non existed if account is missing
ever-sdk-js - Version: 1.43.1

Published by d3p over 1 year ago

Fixed

  • MonitoredMessage API representation simplified.
ever-sdk-js - Version: 1.43.0

Published by d3p over 1 year ago

New

  • network.network_retries_count config parameter is finally deprecated and not used in SDK.
    max_reconnect_timeout is used instead
  • Message monitoring errors received by subscription are returned from
    processing.fetch_next_monitor_results function
  • Message monitor buffers new messages for delayed start of the subscription. New subscription
    starts when 1 second has passed since the last addition or when 5 seconds has passed since last sending
  • Message monitor uses more than one subscription.
  • Version of ton_types upped to 2.0.0
  • Fixed code for changed dependencies api
  • Removed logic related to client-server clock sync
  • boc.encode_tvc and boc.decode_tvc are renamed to boc.encode_state_init
    and boc.decode_state_init.
  • boc.decode_tvc decodes TVC BOC according to the TVC spec.
  • DeploySet.tvc supports new TVC file format (according to new TVC spec).
    Old tvc files (with serialized state init) are also supported.
  • DeploySet.state_init allows to specify serialized state init.
  • DeploySet.code allows to construct state init from provided serialized code.
  • DeploySet's fields tvc, state_init and code are mutually exclusive (so you should
    provide value for one of these fields).
  • ProcessingEvent::MessageExpired is sent to callback in case of retry in processing.process_message
ever-sdk-js - Version: 1.42.1

Published by d3p over 1 year ago

[1.42.1] – 2023-03-23

Fixed

  • Client was notified about every REMP status timeout. Now it is notified only once when fallback
    scenario is started
ever-sdk-js - Version: 1.42.0

Published by d3p over 1 year ago

[1.42.0] – 2023-03-22

New

  • Added message monitoring functions to the processing module: monitor_messages,
    fetch_next_monitor_results, get_monitor_info, cancel_monitor****.
  • Added processing.send_messages function.
  • Improved error resolving for deleted accounts
  • net.first_remp_status_timeout config parameter default value set to 1 ms in order to start
    fallback scenario together with REMP statuses processing while REMP is not properly tuned yet.
  • Network errors are returned on subscription creation if occured

Fixed

  • ParamsOfSubscribe was not public.
  • subscribe did not trim subscription query text. It is required for some graphql servers
    expecting that query text starts from operation text.
ever-sdk-js - Version: 1.41.1

Published by d3p over 1 year ago

[1.41.1] – 2023-02-14

Fixed

  • update getLibName type declaration
ever-sdk-js - Version: 1.41.0

Published by d3p over 1 year ago

[1.41.0] – 2023-02-13

New

  • CapSignatureWithId capability is supported.

    Network signature ID is used by VM in signature verifying instructions if capability
    CapSignatureWithId is enabled in blockchain configuration parameters.

    This parameter should be set to global_id field from any blockchain block if network can
    not be reached at the moment of message encoding and the message is aimed to be sent into
    network with CapSignatureWithId enabled. Otherwise signature ID is detected automatically
    inside message encoding functions.
    Overwrite priority: ExecutionOptions.signature_id -> ClientConfig.network.signature_id -> last network block

    • ClientConfig.network.signature_id optional parameter is added. Specify it in case of offline work for all message signing operations to use.
    • ExecutionOptions is extended with signature_id optional parameter. Specify locally for a particular run_tvm or run_executor call.
    • net.get_signature_id function returns global_id if CapSignatureWithId capability is enabled,
  • message_id and message_dst fields are added to all ProcessingEvent variants

  • Config parameter binding: { library: string, version: string }. Binding authors should define
    this parameter at context initialization.

  • tonclient-binding-library and tonclient-binding-version GraphQL request headers.

  • Error.data.binding_library and Error.data.binding_version error data fields.

  • specifying binding info in core initialization.

Client breaking changes

  • abi.get_signature_data function ouput parameter hash is renamed to unsigned for consistency with other crypto functions parameters

Possible breaking change on binding side

  • Changed type of the dictionary parameter or mnemonic crypto functions and crypto config.
    Now it uses MnemonicDictionary enum type instead of number. MnemonicDictionary numeric
    constants are compatible with previous values.

Deprecated

  • debot engine module is deprecated. Debot engine development has migrated to a separate repository (soon will be published). So, in order to reduce sdk binary size, we will remove debot engine module from sdk in the next releases.
ever-sdk-js - Version: 1.40.0

Published by d3p almost 2 years ago

[1.40.0] – 2023-01-11

New

  • abi.get_signature_data function that returns signature from message and hash to verify the signature

Improvement

  • local endpoints with port specified are expanded with http protocol instead of https (e.g.
    localhost:8033 in expanded to http://localhost:8033/graphql)
ever-sdk-js - Version: 1.39.0

Published by d3p almost 2 years ago

[1.39.0] – 2022-12-07

Improvement

  • Resolved endpoints are cached for 10 minutes so subsequent messages sent will not require
    additional server request

  • Queries are retried in case of network errors when websocket connection is used

  • WaitForTimeout error code (607) is returned in case of wait_for_transaction function was
    successfully executed but expected data did not appeared during the specified timeout

  • timeout parameter in net.query_transaction_tree behaviour changed. Now value 0 indicates that
    no time limit should be used and function will wait for all transactions execution

New

  • transaction_max_count parameter in net.query_transaction_tree which controls the count of
    transaction to be awaited and returned

  • data_layout and function_name parameters in abi.decode_message and abi.decode_message_body
    that can be used to decode responsible function output and optimize message decoding by strict layout check

Fixed

  • abi.encode_initial_data function properly creates data in case of public key omitted.
    Now abi.encode_initial_data call without initial data values and public key creates
    the same data as compiled tvc

  • Graphql error messages with HTTP response 400 was skipped (was not propagated to
    the SDK client application).

  • Several misspelling.

  • Message processing freeze in case of large amount of messages parallel processing using Websocket
    connection

  • Websocket interaction thread panic

  • Debot module:

    • fill hash argument in SDK.signHash method with leading zeroes up to 32 bytes.
ever-sdk-js - Version: 1.38.1

Published by d3p almost 2 years ago

[1.38.1] – 2022-11-10

Improvement

  • Aditional info query is removed from send_message to minimize API usage

Fixed

  • Error code Unauthorized is returned from all network functions in case of authentication failure
  • Server connection attempt is not retried in case of authentication failure