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.17.0

Published by d3p over 3 years ago

[1.17.0] – 2021-06-21

New

  • Added support of external encryption boxes. See the documentation
  • Debot module:
    • Dengine waits for completion of all transactions in a chain initiated by debot's onchain call.
ever-sdk-js - Version: 1.16.1

Published by d3p over 3 years ago

[1.16.1] – 2021-06-16

New

  • timeout option to query_transaction_tree – timeout used to limit waiting time for the next
    message and transaction in the transaction tree.

Improved

  • Improved error messages regarding ABI and JSON interface. SDK now shows additional tips for the user in cases of
    errors.

Fixed

  • Warnings in Rust 1.52+. Little fixes in the documentation.
  • total_output field in fees was always 0.
  • query_transaction_tree didn't wait for messages.
ever-sdk-js - Version: 1.16.0

Published by d3p over 3 years ago

[1.16.0] – 2021-05-25

New

  • query_transaction_tree function that returns messages and transactions tree produced
    by the specified message was added to query module. See the documentation
  • libOptions.loadModule – ability to specify alternative WASM module loader.

Fixed

  • AbiData.key type changed to u32.
  • attempt to use orderBy instead of order in query_collection will raise error.
ever-sdk-js - Version: 1.15.0

Published by d3p over 3 years ago

[1.15.0] – 2021-05-18

New

  • Sync latency detection increases connection reliability. Library will change the current endpoint
    when it detects data sync latency on it.

  • Configuration parameters: latency_detection_interval,
    max_latency. See client documentation for details.

  • Debot module:

    • signing messages with signing box handles returned from debots.
    • return any sdk errors to debot in case of external calls.
    • defining signing box handle used to sign message in approve callback.
ever-sdk-js - Version: 1.14.2

Published by d3p over 3 years ago

[1.14.2] – 2021-04-30

Fixed

  • Typo in lib-react-native install script
ever-sdk-js - Version: 1.14.1

Published by d3p over 3 years ago

[1.14.1] – 2021-04-28

Fixed

  • Debot module:
    • DebotInfo field key renamed to caption
ever-sdk-js - Version: 1.14.0

Published by d3p over 3 years ago

[1.14.0] – 2021-04-28

New

  • Debot module:
    • implementation of Network DeBot interface in DEngine.
    • implementation of signHash function in Sdk interface.

Fixed

  • Debot module:
    • fixed bug in Json interface with supporting nested structures and arrays of structures.
    • fixed bug in Json interface with keys containing hyphens.
ever-sdk-js - Version: 1.13.0

Published by d3p over 3 years ago

[1.13.0] – 2021-04-23

New

  • Refined bridging model in core package. Library introduces new interface BinaryBridge.
    Bridge authors can implement this interface instead of BinaryLibrary to
    get more precise control over bridging.
    For example it makes possible to use separated response handlers for different
    requests.

  • net.query_counterparties - allows to query and paginate through the list of accounts that the specified account
    has interacted with, sorted by the time of the last internal message between accounts.
    Subscription to counterparties collection is available via net.subscribe_collection function.

  • Blockchain interaction reliability improvement (broadcast): library sends external inbound messages simultaneously
    to the N randomly chosen endpoints. If all N endpoints failed to responce then library repeats
    sending to another random N endpoints (except the failed one).
    If all the available endpoints fail to respond then library throws error.
    The N parameter is taken from config.network.sending_endpoint_count (default is 2).

  • Blockchain interaction reliability improvement (bad delivery list): library tracks endpoints
    with bad message delivery (expired messages). These endpoints have lower priority when library chooses endpoints
    to send message.

  • Debot module:

    • Implementation of Json DeBot interface in DEngine.
ever-sdk-js - Version: 1.12.0

Published by d3p over 3 years ago

[1.12.0] – 2021-04-01

New

  • utils.compress_zstd compresses data using Facebook's Zstandard algorithm.
  • utils.decompress_zstd decompresses data using Facebook's Zstandard algorithm.
  • Debot module:
    • init function that creates an instance of DeBot and returns DeBot metadata.
    • Dengine fetches metadata form DeBot by calling 2 mandatory functions: getRequiredInterfaces and getDebotInfo. This data is returned by fetch and init functions.
    • approve DeBot Browser callback which is called by DEngine to request permission for DeBot activities.

Changed

  • Debot Module:
    • [breaking] fetch function does't create an instance of debot. It returns DeBot metadata (DebotInfo).
    • [breaking] start function does't create an instance of debot. It accepts DeBot handle created in init function.
ever-sdk-js - Version: 1.11.1

Published by d3p over 3 years ago

[1.11.1] – 2021-03-15

New

  • Giver address in tests is calculated from secret key. Default values are provided for TON OS SE giver
ever-sdk-js - Version: 1.11.0

Published by d3p over 3 years ago

[1.11.0] – 2021-03-05

New

  • utils.calc_storage_fee function to calculate account storage fee over a some time period.
  • Debot Module:
    • Added unstable functions to Sdk interface: getAccountsDataByHash
ever-sdk-js - Version: 1.10.2

Published by d3p over 3 years ago

[1.10.2] – 2021-03-11

Fixed

  • index.d.ts files in lib- packages are refined to be more typed.
  • export of the account.ts added to core/index.
ever-sdk-js - Version: 1.10.1

Published by d3p over 3 years ago

[1.10.1] – 2021-03-10

New

  • New high-level wrapper Account.ts that simplifies work with accounts:

    Account class is introduced that supports these high-level methods:

    • (static) giver - allows to specify a giver to be used in all deploy operations
    • deploy - deploys a contract
    • run - executes a contract on-chain
    • runLocal - executes a contract off-chain (on client side, contract state does not change) (execution is syncronized with the previously called deploy or run so that it is performed on the updated account state)
    • getAddress - returns account address
    • getAccount- returns all the data about the account in json format
    • boc - returns the account boc.

    GiverContract object is introduced that is ititialized with TON OS SE Giver address and keys.

ever-sdk-js - Version: 1.10.0

Published by d3p over 3 years ago

[1.10.0] – 2021-03-04

New

  • Add optional field src_address to ParamsOfEncodeInternalMessage.
  • Field abi in ParamsOfEncodeInternalMessage is optional and can be None if call_set and deploy_set are None.
  • boc.encode_boc function provides ability to build and serialize any custom tree of cells.
    Application can use several base Builder serialization primitives like integers, bitstrings
    and nested cells.
  • boc.get_blockchain_config function can extract blockchain configuration from key block and also
    from zerostate.
  • tvm module functions download current blockchain configuration if net is initialized with
    DApp Server endpoints. Otherwise default configuration is used.
  • Debot Module:
    • Support for debot invoking in Debot Engine. send browser callback is used not only for interface calls but to invoke debots.
    • start and fetch functions returns debot ABI.
    • Added new built-in interface Hex which implements hexadecimal encoding and decoding.
    • Added unstable functions to Sdk interface: naclBox, naclBoxOpen, naclKeypairFromSecret, getAccountCodeHash.

Changed

  • Both call_set and deploy_set in ParamsOfEncodeInternalMessage can be omitted. In this case encode_internal_message generates internal message with empty body.
  • Debot Module:
    • send function accepts one argument - serialized internal message as string encoded into base64.

Documentation

Fixed

ever-sdk-js - Version: 1.9.0

Published by d3p over 3 years ago

1.9.0 Feb 19, 2021

New

  • tuple_list_as_array parameter in tvm.run_get function which controls lists representation.
    Default is stack-like based on nested tuples. If set to true then returned lists are encoded as plain arrays. Use this option if you receive this error on Web: "Runtime error. Unreachable code should not be executed..."
    This reduces stack size requirements for long lists.
  • function_name field of CallSet structure can be the name or id (as string in hex starting with 0x) of the called function.
  • Fields config_servers, query_url, account_address, gas_used added into specific errors' ClientError.data object.

Fixed

  • Binaries download links are now under https protocol
  • If you receive this error on Web: "Runtime error. Unreachable code should not be executed..." in run_get, use the new parameter tuple_list_as_array = true. See the documentation. This may happen, for example, when elector contract contains too many participants
ever-sdk-js - Version: 1.8.0

Published by d3p over 3 years ago

1.8.0 Feb 11, 2021

New

  • Debot Module:
    • Added new built-in interface Msg which allows to send external message to blockchain and sign it with supplied keypair.

Fixed

  • crypto.hdkey_public_from_xprv used compressed 33-byte form instead of normal 32-byte.
ever-sdk-js - Version: 1.7.0

Published by d3p over 3 years ago

1.7.0 Feb 9, 2021

New

  • BOC cache management functions were introduced:
    • boc.cache_set,
    • boc.cache_get
    • boc.cache_unpin
  • Now functions that take boc as a parameter can also take a reference to boc cash instead so that it deсreases the number of boc serialization
    and deserializations which drastically improves performance of run_tvm and run_executor expecially in case of numerous calls on the same data.
  • boc_cache parameter in tvm.run_tvm and tvm.run_executor functions to save resulting messages and account BOCs into cache.
  • return_updated_account flag parameter introduced in tvm.run_tvm and tvm.run_executor functions to return updated account state. Important: by default this flag is false and account data is not returned.
  • abi.encode_internal_message function to encode an internal ABI-compatible message.
  • Debot Module:
    • Support for get-methods and external calls in debots.
      Debots can send external inbound messages to destination contracts (signed - for external calls and unsigned - for get-methods) using native language syntax without actions.
    • Built-in debot interfaces (interfaces implemented by DEngine).
      Added two built-in interfaces: base64 and Sdk.
    • Added DebotInterfaceExecutor to automatically route messages to destination interfaces.
    • Debot's fetch function is optional now. New debots can implement only start function.
ever-sdk-js - Version: 1.6.3

Published by d3p over 3 years ago

1.6.3 Feb 4, 2021

Fixed

  • Expired message wasn't retried if local execution succeeded.
ever-sdk-js - Version 1.6.1

Published by d3p over 3 years ago

ever-sdk-js - Version: 1.6.0

Published by d3p over 3 years ago

1.6.0 Jan 29, 2021

New

  • nacl_sign_detached_verify function to verify detached signature.
  • aggregate_collection function as a wrapper for GraphQL aggregation queries.
  • batch_query function performs multiple queries per single fetch.
  • Active endpoint invalidation in case of network error occuring.
  • network.network_retries_count config parameter is deprecated. network.max_reconnect_timeout is introduced that allows to specify maximum network resolving timeout. Default value is 2 mins.
  • initial_pubkey field in DeploySet to specify public key instead of one from TVC file or provided by signer.
  • Support for debot interfaces:
    • send Browser Callback to send messages with interface calls to Browser.
    • new variant ParamsOfAppDebotBrowser::Send.
    • send API function to send messages from Browser to Debot.
    • run_output.rs - internal structure RunOutput to filter messages generated by debot to 4 categories: interface calls, external calls, get-method calls and invoke calls.

Fixed

  • Device time synchronization is checked only in send_message. Data querying does not require proper time now