Module debot

Module debot

UNSTABLE DEPRECATED Module for working with debot.

Functions

init – UNSTABLE DEPRECATED Creates and instance of DeBot.

start – UNSTABLE DEPRECATED Starts the DeBot.

fetch – UNSTABLE DEPRECATED Fetches DeBot metadata from blockchain.

execute – UNSTABLE DEPRECATED Executes debot action.

send – UNSTABLE DEPRECATED Sends message to Debot.

remove – UNSTABLE DEPRECATED Destroys debot handle.

Types

DebotErrorCode

DebotHandle – UNSTABLE DEPRECATED Handle of registered in SDK debot

DebotAction – UNSTABLE DEPRECATED Describes a debot action in a Debot Context.

DebotInfo – UNSTABLE DEPRECATED Describes DeBot metadata.

DebotActivityTransactionVariant – DeBot wants to create new transaction in blockchain.

DebotActivity – UNSTABLE DEPRECATED Describes the operation that the DeBot wants to perform.

Spending – UNSTABLE DEPRECATED Describes how much funds will be debited from the target contract balance as a result of the transaction.

ParamsOfInit – UNSTABLE DEPRECATED Parameters to init DeBot.

RegisteredDebot – UNSTABLE DEPRECATED Structure for storing debot handle returned from init function.

ParamsOfAppDebotBrowserLogVariant – Print message to user.

ParamsOfAppDebotBrowserSwitchVariant – Switch debot to another context (menu).

ParamsOfAppDebotBrowserSwitchCompletedVariant – Notify browser that all context actions are shown.

ParamsOfAppDebotBrowserShowActionVariant – Show action to the user. Called after switch for each action in context.

ParamsOfAppDebotBrowserInputVariant – Request user input.

ParamsOfAppDebotBrowserGetSigningBoxVariant – Get signing box to sign data.

ParamsOfAppDebotBrowserInvokeDebotVariant – Execute action of another debot.

ParamsOfAppDebotBrowserSendVariant – Used by Debot to call DInterface implemented by Debot Browser.

ParamsOfAppDebotBrowserApproveVariant – Requests permission from DeBot Browser to execute DeBot operation.

ParamsOfAppDebotBrowser – UNSTABLE DEPRECATED Debot Browser callbacks

ResultOfAppDebotBrowserInputVariant – Result of user input.

ResultOfAppDebotBrowserGetSigningBoxVariant – Result of getting signing box.

ResultOfAppDebotBrowserInvokeDebotVariant – Result of debot invoking.

ResultOfAppDebotBrowserApproveVariant – Result of approve callback.

ResultOfAppDebotBrowser – UNSTABLE DEPRECATED Returning values from Debot Browser callbacks.

ParamsOfStart – UNSTABLE DEPRECATED Parameters to start DeBot. DeBot must be already initialized with init() function.

ParamsOfFetch – UNSTABLE DEPRECATED Parameters to fetch DeBot metadata.

ResultOfFetch – UNSTABLE DEPRECATED

ParamsOfExecute – UNSTABLE DEPRECATED Parameters for executing debot action.

ParamsOfSend – UNSTABLE DEPRECATED Parameters of send function.

ParamsOfRemove – UNSTABLE DEPRECATED

AppDebotBrowser – UNSTABLE DEPRECATED Debot Browser callbacks

Functions

init

UNSTABLE DEPRECATED Creates and instance of DeBot.

Downloads debot smart contract (code and data) from blockchain and creates an instance of Debot Engine for it.

Remarks

It does not switch debot to context 0. Browser Callbacks are not called.

NOTE: Sync version is available only for lib-node binding.

Parameters

Result

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

  • debot_abi: string – Debot abi as json string.

  • info: DebotInfo – Debot metadata.

start

UNSTABLE DEPRECATED Starts the DeBot.

Downloads debot smart contract from blockchain and switches it to context zero.

This function must be used by Debot Browser to start a dialog with debot. While the function is executing, several Browser Callbacks can be called, since the debot tries to display all actions from the context 0 to the user.

When the debot starts SDK registers BrowserCallbacks AppObject. Therefore when debote.remove is called the debot is being deleted and the callback is called with finish=true which indicates that it will never be used again.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

fetch

UNSTABLE DEPRECATED Fetches DeBot metadata from blockchain.

Downloads DeBot from blockchain and creates and fetches its metadata.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • address: string – Debot smart contract address.

Result

execute

UNSTABLE DEPRECATED Executes debot action.

Calls debot engine referenced by debot handle to execute input action. Calls Debot Browser Callbacks if needed.

Remarks

Chain of actions can be executed if input action generates a list of subactions.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

  • action: DebotAction – Debot Action that must be executed.

send

UNSTABLE DEPRECATED Sends message to Debot.

Used by Debot Browser to send response on Dinterface call or from other Debots.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

  • message: string – BOC of internal message to debot encoded in base64 format.

remove

UNSTABLE DEPRECATED Destroys debot handle.

Removes handle from Client Context and drops debot engine referenced by that handle.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

Types

DebotErrorCode

One of the following value:

  • DebotStartFailed = 801

  • DebotFetchFailed = 802

  • DebotExecutionFailed = 803

  • DebotInvalidHandle = 804

  • DebotInvalidJsonParams = 805

  • DebotInvalidFunctionId = 806

  • DebotInvalidAbi = 807

  • DebotGetMethodFailed = 808

  • DebotInvalidMsg = 809

  • DebotExternalCallFailed = 810

  • DebotBrowserCallbackFailed = 811

  • DebotOperationRejected = 812

  • DebotNoCode = 813

DebotHandle

UNSTABLE DEPRECATED Handle of registered in SDK debot

DebotAction

UNSTABLE DEPRECATED Describes a debot action in a Debot Context.

  • description: string – A short action description. Should be used by Debot Browser as name of menu item.

  • name: string – Depends on action type. Can be a debot function name or a print string (for Print Action).

  • action_type: number – Action type.

  • to: number – ID of debot context to switch after action execution.

  • attributes: string – Action attributes. In the form of "param=value,flag". attribute example: instant, args, fargs, sign.

  • misc: string – Some internal action data. Used by debot only.

DebotInfo

UNSTABLE DEPRECATED Describes DeBot metadata.

  • name?: string – DeBot short name.

  • version?: string – DeBot semantic version.

  • publisher?: string – The name of DeBot deployer.

  • caption?: string – Short info about DeBot.

  • author?: string – The name of DeBot developer.

  • support?: string – TON address of author for questions and donations.

  • hello?: string – String with the first messsage from DeBot.

  • language?: string – String with DeBot interface language (ISO-639).

  • dabi?: string – String with DeBot ABI.

  • icon?: string – DeBot icon.

  • interfaces: string[] – Vector with IDs of DInterfaces used by DeBot.

  • dabiVersion: string – ABI version ("x.y") supported by DeBot

DebotActivityTransactionVariant

DeBot wants to create new transaction in blockchain.

  • msg: string – External inbound message BOC.

  • dst: string – Target smart contract address.

  • out: Spending[] – List of spendings as a result of transaction.

  • fee: bigint – Transaction total fee.

  • setcode: boolean – Indicates if target smart contract updates its code.

  • signkey: string – Public key from keypair that was used to sign external message.

  • signing_box_handle: number – Signing box handle used to sign external message.

DebotActivity

UNSTABLE DEPRECATED Describes the operation that the DeBot wants to perform.

Depends on value of the type field.

When type is 'Transaction'

DeBot wants to create new transaction in blockchain.

  • msg: string – External inbound message BOC.

  • dst: string – Target smart contract address.

  • out: Spending[] – List of spendings as a result of transaction.

  • fee: bigint – Transaction total fee.

  • setcode: boolean – Indicates if target smart contract updates its code.

  • signkey: string – Public key from keypair that was used to sign external message.

  • signing_box_handle: number – Signing box handle used to sign external message.

Variant constructors:

Spending

UNSTABLE DEPRECATED Describes how much funds will be debited from the target contract balance as a result of the transaction.

  • amount: bigint – Amount of nanotokens that will be sent to dst address.

  • dst: string – Destination address of recipient of funds.

ParamsOfInit

UNSTABLE DEPRECATED Parameters to init DeBot.

  • address: string – Debot smart contract address

RegisteredDebot

UNSTABLE DEPRECATED Structure for storing debot handle returned from init function.

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

  • debot_abi: string – Debot abi as json string.

  • info: DebotInfo – Debot metadata.

ParamsOfAppDebotBrowserLogVariant

Print message to user.

  • msg: string – A string that must be printed to user.

ParamsOfAppDebotBrowserSwitchVariant

Switch debot to another context (menu).

  • context_id: number – Debot context ID to which debot is switched.

ParamsOfAppDebotBrowserSwitchCompletedVariant

Notify browser that all context actions are shown.

ParamsOfAppDebotBrowserShowActionVariant

Show action to the user. Called after switch for each action in context.

  • action: DebotAction – Debot action that must be shown to user as menu item. At least description property must be shown from [DebotAction] structure.

ParamsOfAppDebotBrowserInputVariant

Request user input.

  • prompt: string – A prompt string that must be printed to user before input request.

ParamsOfAppDebotBrowserGetSigningBoxVariant

Get signing box to sign data.

Signing box returned is owned and disposed by debot engine

ParamsOfAppDebotBrowserInvokeDebotVariant

Execute action of another debot.

  • debot_addr: string – Address of debot in blockchain.

  • action: DebotAction – Debot action to execute.

ParamsOfAppDebotBrowserSendVariant

Used by Debot to call DInterface implemented by Debot Browser.

  • message: string – Internal message to DInterface address. Message body contains interface function and parameters.

ParamsOfAppDebotBrowserApproveVariant

Requests permission from DeBot Browser to execute DeBot operation.

ParamsOfAppDebotBrowser

UNSTABLE DEPRECATED Debot Browser callbacks

Called by debot engine to communicate with debot browser.

Depends on value of the type field.

When type is 'Log'

Print message to user.

  • msg: string – A string that must be printed to user.

When type is 'Switch'

Switch debot to another context (menu).

  • context_id: number – Debot context ID to which debot is switched.

When type is 'SwitchCompleted'

Notify browser that all context actions are shown.

When type is 'ShowAction'

Show action to the user. Called after switch for each action in context.

  • action: DebotAction – Debot action that must be shown to user as menu item. At least description property must be shown from [DebotAction] structure.

When type is 'Input'

Request user input.

  • prompt: string – A prompt string that must be printed to user before input request.

When type is 'GetSigningBox'

Get signing box to sign data.

Signing box returned is owned and disposed by debot engine

When type is 'InvokeDebot'

Execute action of another debot.

  • debot_addr: string – Address of debot in blockchain.

  • action: DebotAction – Debot action to execute.

When type is 'Send'

Used by Debot to call DInterface implemented by Debot Browser.

  • message: string – Internal message to DInterface address. Message body contains interface function and parameters.

When type is 'Approve'

Requests permission from DeBot Browser to execute DeBot operation.

Variant constructors:

ResultOfAppDebotBrowserInputVariant

Result of user input.

  • value: string – String entered by user.

ResultOfAppDebotBrowserGetSigningBoxVariant

Result of getting signing box.

  • signing_box: SigningBoxHandle – Signing box for signing data requested by debot engine. Signing box is owned and disposed by debot engine

ResultOfAppDebotBrowserInvokeDebotVariant

Result of debot invoking.

ResultOfAppDebotBrowserApproveVariant

Result of approve callback.

  • approved: boolean – Indicates whether the DeBot is allowed to perform the specified operation.

ResultOfAppDebotBrowser

UNSTABLE DEPRECATED Returning values from Debot Browser callbacks.

Depends on value of the type field.

When type is 'Input'

Result of user input.

  • value: string – String entered by user.

When type is 'GetSigningBox'

Result of getting signing box.

  • signing_box: SigningBoxHandle – Signing box for signing data requested by debot engine. Signing box is owned and disposed by debot engine

When type is 'InvokeDebot'

Result of debot invoking.

When type is 'Approve'

Result of approve callback.

  • approved: boolean – Indicates whether the DeBot is allowed to perform the specified operation.

Variant constructors:

ParamsOfStart

UNSTABLE DEPRECATED Parameters to start DeBot. DeBot must be already initialized with init() function.

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

ParamsOfFetch

UNSTABLE DEPRECATED Parameters to fetch DeBot metadata.

  • address: string – Debot smart contract address.

ResultOfFetch

UNSTABLE DEPRECATED

ParamsOfExecute

UNSTABLE DEPRECATED Parameters for executing debot action.

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

  • action: DebotAction – Debot Action that must be executed.

ParamsOfSend

UNSTABLE DEPRECATED Parameters of send function.

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

  • message: string – BOC of internal message to debot encoded in base64 format.

ParamsOfRemove

UNSTABLE DEPRECATED

  • debot_handle: DebotHandle – Debot handle which references an instance of debot engine.

AppDebotBrowser

UNSTABLE DEPRECATED Debot Browser callbacks

Called by debot engine to communicate with debot browser.

log

Print message to user.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • msg: string – A string that must be printed to user.

switch

Switch debot to another context (menu).

NOTE: Sync version is available only for lib-node binding.

Parameters

  • context_id: number – Debot context ID to which debot is switched.

switch_completed

Notify browser that all context actions are shown.

NOTE: Sync version is available only for lib-node binding.

show_action

Show action to the user. Called after switch for each action in context.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • action: DebotAction – Debot action that must be shown to user as menu item. At least description property must be shown from [DebotAction] structure.

input

Request user input.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • prompt: string – A prompt string that must be printed to user before input request.

Result

  • value: string – String entered by user.

get_signing_box

Get signing box to sign data.

Signing box returned is owned and disposed by debot engine

NOTE: Sync version is available only for lib-node binding.

Result

  • signing_box: SigningBoxHandle – Signing box for signing data requested by debot engine. Signing box is owned and disposed by debot engine

invoke_debot

Execute action of another debot.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • debot_addr: string – Address of debot in blockchain.

  • action: DebotAction – Debot action to execute.

send

Used by Debot to call DInterface implemented by Debot Browser.

NOTE: Sync version is available only for lib-node binding.

Parameters

  • message: string – Internal message to DInterface address. Message body contains interface function and parameters.

approve

Requests permission from DeBot Browser to execute DeBot operation.

NOTE: Sync version is available only for lib-node binding.

Parameters

Result

  • approved: boolean – Indicates whether the DeBot is allowed to perform the specified operation.

Last updated

Was this helpful?