Javascript SDK for TVM blockchains (Everscale, TON, Venom, etc)
APACHE-2.0 License
Bot releases are visible (Hide)
Published by AtomXY 2 months ago
Updating the version according to the main project
Published by AtomXY 2 months ago
Published by AlexeyVavilin 12 months ago
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.
Published by AlexeyVavilin 12 months ago
Published by d3p about 1 year ago
Published by d3p about 1 year ago
Published by d3p about 1 year ago
processing.process_messages
) can be called as sync.send_event
parameter is now optional with default value false
.Published by d3p about 1 year ago
tc_request_sync
.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
modules.ts
produces _sync
wrapper for all API functions.Published by d3p over 1 year ago
Published by d3p over 1 year ago
non existed
if account is missingPublished by d3p over 1 year ago
MonitoredMessage
API representation simplified.Published by d3p over 1 year ago
network.network_retries_count
config parameter is finally deprecated and not used in SDK.max_reconnect_timeout
is used insteadprocessing.fetch_next_monitor_results
functionton_types
upped to 2.0.0boc.encode_tvc
and boc.decode_tvc
are renamed to boc.encode_state_init
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).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 shouldProcessingEvent::MessageExpired
is sent to callback in case of retry in processing.process_message
Published by d3p over 1 year ago
Published by d3p over 1 year ago
processing
module: monitor_messages
,fetch_next_monitor_results
, get_monitor_info
, cancel_monitor****
.processing.send_messages
function.net.first_remp_status_timeout
config parameter default value set to 1 ms in order to startParamsOfSubscribe
was not public.subscribe
did not trim subscription query text. It is required for some graphql serversPublished by d3p over 1 year ago
getLibName
type declarationPublished by d3p over 1 year ago
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.
abi.get_signature_data
function ouput parameter hash
is renamed to unsigned
for consistency with other crypto functions parametersdictionary
parameter or mnemonic crypto functions and crypto config.MnemonicDictionary
enum type instead of number
. MnemonicDictionary
numericdebot
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.Published by d3p almost 2 years ago
abi.get_signature_data
function that returns signature from message and hash to verify the signaturehttp
protocol instead of https
(e.g.localhost:8033
in expanded to http://localhost:8033/graphql
)Published by d3p almost 2 years ago
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
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
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:
SDK.signHash
method with leading zeroes up to 32 bytes.Published by d3p almost 2 years ago
send_message
to minimize API usageUnauthorized
is returned from all network functions in case of authentication failure