{

"version": "1.21.5",
"modules": [
  {
    "name": "client",
    "summary": "Provides information about library.",
    "description": null,
    "types": [
      {
        "name": "ClientErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "NotImplemented",
            "type": "Number",
            "value": "1",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidHex",
            "type": "Number",
            "value": "2",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidBase64",
            "type": "Number",
            "value": "3",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidAddress",
            "type": "Number",
            "value": "4",
            "summary": null,
            "description": null
          },
          {
            "name": "CallbackParamsCantBeConvertedToJson",
            "type": "Number",
            "value": "5",
            "summary": null,
            "description": null
          },
          {
            "name": "WebsocketConnectError",
            "type": "Number",
            "value": "6",
            "summary": null,
            "description": null
          },
          {
            "name": "WebsocketReceiveError",
            "type": "Number",
            "value": "7",
            "summary": null,
            "description": null
          },
          {
            "name": "WebsocketSendError",
            "type": "Number",
            "value": "8",
            "summary": null,
            "description": null
          },
          {
            "name": "HttpClientCreateError",
            "type": "Number",
            "value": "9",
            "summary": null,
            "description": null
          },
          {
            "name": "HttpRequestCreateError",
            "type": "Number",
            "value": "10",
            "summary": null,
            "description": null
          },
          {
            "name": "HttpRequestSendError",
            "type": "Number",
            "value": "11",
            "summary": null,
            "description": null
          },
          {
            "name": "HttpRequestParseError",
            "type": "Number",
            "value": "12",
            "summary": null,
            "description": null
          },
          {
            "name": "CallbackNotRegistered",
            "type": "Number",
            "value": "13",
            "summary": null,
            "description": null
          },
          {
            "name": "NetModuleNotInit",
            "type": "Number",
            "value": "14",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidConfig",
            "type": "Number",
            "value": "15",
            "summary": null,
            "description": null
          },
          {
            "name": "CannotCreateRuntime",
            "type": "Number",
            "value": "16",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidContextHandle",
            "type": "Number",
            "value": "17",
            "summary": null,
            "description": null
          },
          {
            "name": "CannotSerializeResult",
            "type": "Number",
            "value": "18",
            "summary": null,
            "description": null
          },
          {
            "name": "CannotSerializeError",
            "type": "Number",
            "value": "19",
            "summary": null,
            "description": null
          },
          {
            "name": "CannotConvertJsValueToJson",
            "type": "Number",
            "value": "20",
            "summary": null,
            "description": null
          },
          {
            "name": "CannotReceiveSpawnedResult",
            "type": "Number",
            "value": "21",
            "summary": null,
            "description": null
          },
          {
            "name": "SetTimerError",
            "type": "Number",
            "value": "22",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidParams",
            "type": "Number",
            "value": "23",
            "summary": null,
            "description": null
          },
          {
            "name": "ContractsAddressConversionFailed",
            "type": "Number",
            "value": "24",
            "summary": null,
            "description": null
          },
          {
            "name": "UnknownFunction",
            "type": "Number",
            "value": "25",
            "summary": null,
            "description": null
          },
          {
            "name": "AppRequestError",
            "type": "Number",
            "value": "26",
            "summary": null,
            "description": null
          },
          {
            "name": "NoSuchRequest",
            "type": "Number",
            "value": "27",
            "summary": null,
            "description": null
          },
          {
            "name": "CanNotSendRequestResult",
            "type": "Number",
            "value": "28",
            "summary": null,
            "description": null
          },
          {
            "name": "CanNotReceiveRequestResult",
            "type": "Number",
            "value": "29",
            "summary": null,
            "description": null
          },
          {
            "name": "CanNotParseRequestResult",
            "type": "Number",
            "value": "30",
            "summary": null,
            "description": null
          },
          {
            "name": "UnexpectedCallbackResponse",
            "type": "Number",
            "value": "31",
            "summary": null,
            "description": null
          },
          {
            "name": "CanNotParseNumber",
            "type": "Number",
            "value": "32",
            "summary": null,
            "description": null
          },
          {
            "name": "InternalError",
            "type": "Number",
            "value": "33",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidHandle",
            "type": "Number",
            "value": "34",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ClientError",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "code",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": null,
            "description": null
          },
          {
            "name": "message",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "data",
            "type": "Ref",
            "ref_name": "Value",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ClientConfig",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "network",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "client.NetworkConfig"
            },
            "summary": null,
            "description": null
          },
          {
            "name": "crypto",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "client.CryptoConfig"
            },
            "summary": null,
            "description": null
          },
          {
            "name": "abi",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "client.AbiConfig"
            },
            "summary": null,
            "description": null
          },
          {
            "name": "boc",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "client.BocConfig"
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "NetworkConfig",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "server_address",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "DApp Server public address. For instance, for `net.ton.dev/graphql` GraphQL endpoint the server address will be net.ton.dev",
            "description": null
          },
          {
            "name": "endpoints",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "String"
              }
            },
            "summary": "List of DApp Server addresses.",
            "description": "Any correct URL format can be specified, including IP addresses This parameter is prevailing over `server_address`."
          },
          {
            "name": "network_retries_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "Int",
              "number_size": 8
            },
            "summary": "Deprecated.",
            "description": "You must use `network.max_reconnect_timeout` that allows to specify maximum network resolving timeout."
          },
          {
            "name": "max_reconnect_timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Maximum time for sequential reconnections.",
            "description": "Must be specified in milliseconds. Default is 120000 (2 min)."
          },
          {
            "name": "reconnect_timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Deprecated",
            "description": null
          },
          {
            "name": "message_retries_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "Int",
              "number_size": 8
            },
            "summary": "The number of automatic message processing retries that SDK performs in case of `Message Expired (507)` error - but only for those messages which local emulation was successful or failed with replay protection error.",
            "description": "Default is 5."
          },
          {
            "name": "message_processing_timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Timeout that is used to process message delivery for the contracts which ABI does not include \"expire\" header. If the message is not delivered within the specified timeout the appropriate error occurs.",
            "description": "Must be specified in milliseconds. Default is 40000 (40 sec)."
          },
          {
            "name": "wait_for_timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Maximum timeout that is used for query response.",
            "description": "Must be specified in milliseconds. Default is 40000 (40 sec)."
          },
          {
            "name": "out_of_sync_threshold",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Maximum time difference between server and client.",
            "description": "If client's device time is out of sync and difference is more than the threshold then error will occur. Also an error will occur if the specified threshold is more than\n`message_processing_timeout/2`.\n\nMust be specified in milliseconds. Default is 15000 (15 sec)."
          },
          {
            "name": "sending_endpoint_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Maximum number of randomly chosen endpoints the library uses to broadcast a message.",
            "description": "Default is 2."
          },
          {
            "name": "latency_detection_interval",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Frequency of sync latency detection.",
            "description": "Library periodically checks the current endpoint for blockchain data syncronization latency.\nIf the latency (time-lag) is less then `NetworkConfig.max_latency`\nthen library selects another endpoint.\n\nMust be specified in milliseconds. Default is 60000 (1 min)."
          },
          {
            "name": "max_latency",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Maximum value for the endpoint's blockchain data syncronization latency (time-lag). Library periodically checks the current endpoint for blockchain data syncronization latency. If the latency (time-lag) is less then `NetworkConfig.max_latency` then library selects another endpoint.",
            "description": "Must be specified in milliseconds. Default is 60000 (1 min)."
          },
          {
            "name": "query_timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Default timeout for http requests.",
            "description": "Is is used when no timeout specified for the request to limit the answer waiting time. If no answer received during the timeout requests ends with\nerror.\n\nMust be specified in milliseconds. Default is 60000 (1 min)."
          },
          {
            "name": "access_key",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Access key to GraphQL API.",
            "description": "At the moment is not used in production."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "CryptoConfig",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "mnemonic_dictionary",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Mnemonic dictionary that will be used by default in crypto functions. If not specified, 1 dictionary will be used.",
            "description": null
          },
          {
            "name": "mnemonic_word_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Mnemonic word count that will be used by default in crypto functions. If not specified the default value will be 12.",
            "description": null
          },
          {
            "name": "hdkey_derivation_path",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Derivation path that will be used by default in crypto functions. If not specified `m/44'/396'/0'/0/0` will be used.",
            "description": null
          }
        ],
        "summary": "Crypto config.",
        "description": null
      },
      {
        "name": "AbiConfig",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "workchain",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "Int",
              "number_size": 32
            },
            "summary": "Workchain id that is used by default in DeploySet",
            "description": null
          },
          {
            "name": "message_expiration_timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Message lifetime for contracts which ABI includes \"expire\" header. The default value is 40 sec.",
            "description": null
          },
          {
            "name": "message_expiration_timeout_grow_factor",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "Float",
              "number_size": 32
            },
            "summary": "Factor that increases the expiration timeout for each retry The default value is 1.5",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "BocConfig",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "cache_max_size",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Maximum BOC cache size in kilobytes.",
            "description": "Default is 10 MB"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "BuildInfoDependency",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "name",
            "type": "String",
            "summary": "Dependency name.",
            "description": "Usually it is a crate name."
          },
          {
            "name": "git_commit",
            "type": "String",
            "summary": "Git commit hash of the related repository.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfAppRequest",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "app_request_id",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Request ID.",
            "description": "Should be used in `resolve_app_request` call"
          },
          {
            "name": "request_data",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Request describing data",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AppRequestResult",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Error",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "text",
                "type": "String",
                "summary": "Error description",
                "description": null
              }
            ],
            "summary": "Error occurred during request processing",
            "description": null
          },
          {
            "name": "Ok",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "result",
                "type": "Ref",
                "ref_name": "Value",
                "summary": "Request processing result",
                "description": null
              }
            ],
            "summary": "Request processed successfully",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfGetApiReference",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "api",
            "type": "Ref",
            "ref_name": "API",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfVersion",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "version",
            "type": "String",
            "summary": "Core Library version",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfBuildInfo",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "build_number",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Build number assigned to this build by the CI.",
            "description": null
          },
          {
            "name": "dependencies",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "client.BuildInfoDependency"
            },
            "summary": "Fingerprint of the most important dependencies.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfResolveAppRequest",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "app_request_id",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Request ID received from SDK",
            "description": null
          },
          {
            "name": "result",
            "type": "Ref",
            "ref_name": "client.AppRequestResult",
            "summary": "Result of request processing",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "get_api_reference",
        "summary": "Returns Core Library API reference",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "client.ResultOfGetApiReference"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "version",
        "summary": "Returns Core Library version",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "client.ResultOfVersion"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "build_info",
        "summary": "Returns detailed information about this build.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "client.ResultOfBuildInfo"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "resolve_app_request",
        "summary": "Resolves application request processing result",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "client.ParamsOfResolveAppRequest",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "crypto",
    "summary": "Crypto functions.",
    "description": null,
    "types": [
      {
        "name": "CryptoErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "InvalidPublicKey",
            "type": "Number",
            "value": "100",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidSecretKey",
            "type": "Number",
            "value": "101",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidKey",
            "type": "Number",
            "value": "102",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidFactorizeChallenge",
            "type": "Number",
            "value": "106",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidBigInt",
            "type": "Number",
            "value": "107",
            "summary": null,
            "description": null
          },
          {
            "name": "ScryptFailed",
            "type": "Number",
            "value": "108",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidKeySize",
            "type": "Number",
            "value": "109",
            "summary": null,
            "description": null
          },
          {
            "name": "NaclSecretBoxFailed",
            "type": "Number",
            "value": "110",
            "summary": null,
            "description": null
          },
          {
            "name": "NaclBoxFailed",
            "type": "Number",
            "value": "111",
            "summary": null,
            "description": null
          },
          {
            "name": "NaclSignFailed",
            "type": "Number",
            "value": "112",
            "summary": null,
            "description": null
          },
          {
            "name": "Bip39InvalidEntropy",
            "type": "Number",
            "value": "113",
            "summary": null,
            "description": null
          },
          {
            "name": "Bip39InvalidPhrase",
            "type": "Number",
            "value": "114",
            "summary": null,
            "description": null
          },
          {
            "name": "Bip32InvalidKey",
            "type": "Number",
            "value": "115",
            "summary": null,
            "description": null
          },
          {
            "name": "Bip32InvalidDerivePath",
            "type": "Number",
            "value": "116",
            "summary": null,
            "description": null
          },
          {
            "name": "Bip39InvalidDictionary",
            "type": "Number",
            "value": "117",
            "summary": null,
            "description": null
          },
          {
            "name": "Bip39InvalidWordCount",
            "type": "Number",
            "value": "118",
            "summary": null,
            "description": null
          },
          {
            "name": "MnemonicGenerationFailed",
            "type": "Number",
            "value": "119",
            "summary": null,
            "description": null
          },
          {
            "name": "MnemonicFromEntropyFailed",
            "type": "Number",
            "value": "120",
            "summary": null,
            "description": null
          },
          {
            "name": "SigningBoxNotRegistered",
            "type": "Number",
            "value": "121",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidSignature",
            "type": "Number",
            "value": "122",
            "summary": null,
            "description": null
          },
          {
            "name": "EncryptionBoxNotRegistered",
            "type": "Number",
            "value": "123",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidIvSize",
            "type": "Number",
            "value": "124",
            "summary": null,
            "description": null
          },
          {
            "name": "UnsupportedCipherMode",
            "type": "Number",
            "value": "125",
            "summary": null,
            "description": null
          },
          {
            "name": "CannotCreateCipher",
            "type": "Number",
            "value": "126",
            "summary": null,
            "description": null
          },
          {
            "name": "EncryptDataError",
            "type": "Number",
            "value": "127",
            "summary": null,
            "description": null
          },
          {
            "name": "DecryptDataError",
            "type": "Number",
            "value": "128",
            "summary": null,
            "description": null
          },
          {
            "name": "IvRequired",
            "type": "Number",
            "value": "129",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "SigningBoxHandle",
        "type": "Number",
        "number_type": "UInt",
        "number_size": 32,
        "summary": null,
        "description": null
      },
      {
        "name": "EncryptionBoxHandle",
        "type": "Number",
        "number_type": "UInt",
        "number_size": 32,
        "summary": null,
        "description": null
      },
      {
        "name": "EncryptionBoxInfo",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "hdpath",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Derivation path, for instance \"m/44'/396'/0'/0/0\"",
            "description": null
          },
          {
            "name": "algorithm",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Cryptographic algorithm, used by this encryption box",
            "description": null
          },
          {
            "name": "options",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Options, depends on algorithm and specific encryption box implementation",
            "description": null
          },
          {
            "name": "public",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Public information, depends on algorithm",
            "description": null
          }
        ],
        "summary": "Encryption box information",
        "description": null
      },
      {
        "name": "EncryptionAlgorithm",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "AES",
            "type": "Ref",
            "ref_name": "crypto.AesParams",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "CipherMode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "CBC",
            "type": "None",
            "summary": null,
            "description": null
          },
          {
            "name": "CFB",
            "type": "None",
            "summary": null,
            "description": null
          },
          {
            "name": "CTR",
            "type": "None",
            "summary": null,
            "description": null
          },
          {
            "name": "ECB",
            "type": "None",
            "summary": null,
            "description": null
          },
          {
            "name": "OFB",
            "type": "None",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AesParams",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "mode",
            "type": "Ref",
            "ref_name": "crypto.CipherMode",
            "summary": null,
            "description": null
          },
          {
            "name": "key",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "iv",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AesInfo",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "mode",
            "type": "Ref",
            "ref_name": "crypto.CipherMode",
            "summary": null,
            "description": null
          },
          {
            "name": "iv",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfFactorize",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "composite",
            "type": "String",
            "summary": "Hexadecimal representation of u64 composite number.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfFactorize",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "factors",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "Two factors of composite or empty if composite can't be factorized.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfModularPower",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "base",
            "type": "String",
            "summary": "`base` argument of calculation.",
            "description": null
          },
          {
            "name": "exponent",
            "type": "String",
            "summary": "`exponent` argument of calculation.",
            "description": null
          },
          {
            "name": "modulus",
            "type": "String",
            "summary": "`modulus` argument of calculation.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfModularPower",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "modular_power",
            "type": "String",
            "summary": "Result of modular exponentiation",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfTonCrc16",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "data",
            "type": "String",
            "summary": "Input data for CRC calculation.",
            "description": "Encoded with `base64`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfTonCrc16",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "crc",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 16,
            "summary": "Calculated CRC for input data.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfGenerateRandomBytes",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "length",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Size of random byte array.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfGenerateRandomBytes",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "bytes",
            "type": "String",
            "summary": "Generated bytes encoded in `base64`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfConvertPublicKeyToTonSafeFormat",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "public_key",
            "type": "String",
            "summary": "Public key - 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfConvertPublicKeyToTonSafeFormat",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "ton_public_key",
            "type": "String",
            "summary": "Public key represented in TON safe format.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "KeyPair",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "public",
            "type": "String",
            "summary": "Public key - 64 symbols hex string",
            "description": null
          },
          {
            "name": "secret",
            "type": "String",
            "summary": "Private key - u64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfSign",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "unsigned",
            "type": "String",
            "summary": "Data that must be signed encoded in `base64`.",
            "description": null
          },
          {
            "name": "keys",
            "type": "Ref",
            "ref_name": "crypto.KeyPair",
            "summary": "Sign keys.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfSign",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "signed",
            "type": "String",
            "summary": "Signed data combined with signature encoded in `base64`.",
            "description": null
          },
          {
            "name": "signature",
            "type": "String",
            "summary": "Signature encoded in `hex`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfVerifySignature",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "signed",
            "type": "String",
            "summary": "Signed data that must be verified encoded in `base64`.",
            "description": null
          },
          {
            "name": "public",
            "type": "String",
            "summary": "Signer's public key - 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfVerifySignature",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "unsigned",
            "type": "String",
            "summary": "Unsigned data encoded in `base64`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfHash",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "data",
            "type": "String",
            "summary": "Input data for hash calculation.",
            "description": "Encoded with `base64`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfHash",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "hash",
            "type": "String",
            "summary": "Hash of input `data`.",
            "description": "Encoded with 'hex'."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfScrypt",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "password",
            "type": "String",
            "summary": "The password bytes to be hashed. Must be encoded with `base64`.",
            "description": null
          },
          {
            "name": "salt",
            "type": "String",
            "summary": "Salt bytes that modify the hash to protect against Rainbow table attacks. Must be encoded with `base64`.",
            "description": null
          },
          {
            "name": "log_n",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 8,
            "summary": "CPU/memory cost parameter",
            "description": null
          },
          {
            "name": "r",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "The block size parameter, which fine-tunes sequential memory read size and performance.",
            "description": null
          },
          {
            "name": "p",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Parallelization parameter.",
            "description": null
          },
          {
            "name": "dk_len",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Intended output length in octets of the derived key.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfScrypt",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "key",
            "type": "String",
            "summary": "Derived key.",
            "description": "Encoded with `hex`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclSignKeyPairFromSecret",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "secret",
            "type": "String",
            "summary": "Secret key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclSign",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "unsigned",
            "type": "String",
            "summary": "Data that must be signed encoded in `base64`.",
            "description": null
          },
          {
            "name": "secret",
            "type": "String",
            "summary": "Signer's secret key - unprefixed 0-padded to 128 symbols hex string (concatenation of 64 symbols secret and 64 symbols public keys). See `nacl_sign_keypair_from_secret_key`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfNaclSign",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "signed",
            "type": "String",
            "summary": "Signed data, encoded in `base64`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclSignOpen",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "signed",
            "type": "String",
            "summary": "Signed data that must be unsigned.",
            "description": "Encoded with `base64`."
          },
          {
            "name": "public",
            "type": "String",
            "summary": "Signer's public key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfNaclSignOpen",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "unsigned",
            "type": "String",
            "summary": "Unsigned data, encoded in `base64`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfNaclSignDetached",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "signature",
            "type": "String",
            "summary": "Signature encoded in `hex`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclSignDetachedVerify",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "unsigned",
            "type": "String",
            "summary": "Unsigned data that must be verified.",
            "description": "Encoded with `base64`."
          },
          {
            "name": "signature",
            "type": "String",
            "summary": "Signature that must be verified.",
            "description": "Encoded with `hex`."
          },
          {
            "name": "public",
            "type": "String",
            "summary": "Signer's public key - unprefixed 0-padded to 64 symbols hex string.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfNaclSignDetachedVerify",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "succeeded",
            "type": "Boolean",
            "summary": "`true` if verification succeeded or `false` if it failed",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclBoxKeyPairFromSecret",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "secret",
            "type": "String",
            "summary": "Secret key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclBox",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "decrypted",
            "type": "String",
            "summary": "Data that must be encrypted encoded in `base64`.",
            "description": null
          },
          {
            "name": "nonce",
            "type": "String",
            "summary": "Nonce, encoded in `hex`",
            "description": null
          },
          {
            "name": "their_public",
            "type": "String",
            "summary": "Receiver's public key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          },
          {
            "name": "secret",
            "type": "String",
            "summary": "Sender's private key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfNaclBox",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "encrypted",
            "type": "String",
            "summary": "Encrypted data encoded in `base64`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclBoxOpen",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "encrypted",
            "type": "String",
            "summary": "Data that must be decrypted.",
            "description": "Encoded with `base64`."
          },
          {
            "name": "nonce",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "their_public",
            "type": "String",
            "summary": "Sender's public key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          },
          {
            "name": "secret",
            "type": "String",
            "summary": "Receiver's private key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfNaclBoxOpen",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "decrypted",
            "type": "String",
            "summary": "Decrypted data encoded in `base64`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclSecretBox",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "decrypted",
            "type": "String",
            "summary": "Data that must be encrypted.",
            "description": "Encoded with `base64`."
          },
          {
            "name": "nonce",
            "type": "String",
            "summary": "Nonce in `hex`",
            "description": null
          },
          {
            "name": "key",
            "type": "String",
            "summary": "Secret key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfNaclSecretBoxOpen",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "encrypted",
            "type": "String",
            "summary": "Data that must be decrypted.",
            "description": "Encoded with `base64`."
          },
          {
            "name": "nonce",
            "type": "String",
            "summary": "Nonce in `hex`",
            "description": null
          },
          {
            "name": "key",
            "type": "String",
            "summary": "Public key - unprefixed 0-padded to 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfMnemonicWords",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "dictionary",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Dictionary identifier",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfMnemonicWords",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "words",
            "type": "String",
            "summary": "The list of mnemonic words",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfMnemonicFromRandom",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "dictionary",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Dictionary identifier",
            "description": null
          },
          {
            "name": "word_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Mnemonic word count",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfMnemonicFromRandom",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "phrase",
            "type": "String",
            "summary": "String of mnemonic words",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfMnemonicFromEntropy",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "entropy",
            "type": "String",
            "summary": "Entropy bytes.",
            "description": "Hex encoded."
          },
          {
            "name": "dictionary",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Dictionary identifier",
            "description": null
          },
          {
            "name": "word_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Mnemonic word count",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfMnemonicFromEntropy",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "phrase",
            "type": "String",
            "summary": "Phrase",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfMnemonicVerify",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "phrase",
            "type": "String",
            "summary": "Phrase",
            "description": null
          },
          {
            "name": "dictionary",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Dictionary identifier",
            "description": null
          },
          {
            "name": "word_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Word count",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfMnemonicVerify",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "valid",
            "type": "Boolean",
            "summary": "Flag indicating if the mnemonic is valid or not",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfMnemonicDeriveSignKeys",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "phrase",
            "type": "String",
            "summary": "Phrase",
            "description": null
          },
          {
            "name": "path",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Derivation path, for instance \"m/44'/396'/0'/0/0\"",
            "description": null
          },
          {
            "name": "dictionary",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Dictionary identifier",
            "description": null
          },
          {
            "name": "word_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Word count",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfHDKeyXPrvFromMnemonic",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "phrase",
            "type": "String",
            "summary": "String with seed phrase",
            "description": null
          },
          {
            "name": "dictionary",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Dictionary identifier",
            "description": null
          },
          {
            "name": "word_count",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Mnemonic word count",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfHDKeyXPrvFromMnemonic",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "xprv",
            "type": "String",
            "summary": "Serialized extended master private key",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfHDKeyDeriveFromXPrv",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "xprv",
            "type": "String",
            "summary": "Serialized extended private key",
            "description": null
          },
          {
            "name": "child_index",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Child index (see BIP-0032)",
            "description": null
          },
          {
            "name": "hardened",
            "type": "Boolean",
            "summary": "Indicates the derivation of hardened/not-hardened key (see BIP-0032)",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfHDKeyDeriveFromXPrv",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "xprv",
            "type": "String",
            "summary": "Serialized extended private key",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfHDKeyDeriveFromXPrvPath",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "xprv",
            "type": "String",
            "summary": "Serialized extended private key",
            "description": null
          },
          {
            "name": "path",
            "type": "String",
            "summary": "Derivation path, for instance \"m/44'/396'/0'/0/0\"",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfHDKeyDeriveFromXPrvPath",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "xprv",
            "type": "String",
            "summary": "Derived serialized extended private key",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfHDKeySecretFromXPrv",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "xprv",
            "type": "String",
            "summary": "Serialized extended private key",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfHDKeySecretFromXPrv",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "secret",
            "type": "String",
            "summary": "Private key - 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfHDKeyPublicFromXPrv",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "xprv",
            "type": "String",
            "summary": "Serialized extended private key",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfHDKeyPublicFromXPrv",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "public",
            "type": "String",
            "summary": "Public key - 64 symbols hex string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfChaCha20",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "data",
            "type": "String",
            "summary": "Source data to be encrypted or decrypted.",
            "description": "Must be encoded with `base64`."
          },
          {
            "name": "key",
            "type": "String",
            "summary": "256-bit key.",
            "description": "Must be encoded with `hex`."
          },
          {
            "name": "nonce",
            "type": "String",
            "summary": "96-bit nonce.",
            "description": "Must be encoded with `hex`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfChaCha20",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "data",
            "type": "String",
            "summary": "Encrypted/decrypted data.",
            "description": "Encoded with `base64`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "RegisteredSigningBox",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "handle",
            "type": "Ref",
            "ref_name": "crypto.SigningBoxHandle",
            "summary": "Handle of the signing box.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfAppSigningBox",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "GetPublicKey",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Get signing box public key",
            "description": null
          },
          {
            "name": "Sign",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "unsigned",
                "type": "String",
                "summary": "Data to sign encoded as base64",
                "description": null
              }
            ],
            "summary": "Sign data",
            "description": null
          }
        ],
        "summary": "Signing box callbacks.",
        "description": null
      },
      {
        "name": "ResultOfAppSigningBox",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "GetPublicKey",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "public_key",
                "type": "String",
                "summary": "Signing box public key",
                "description": null
              }
            ],
            "summary": "Result of getting public key",
            "description": null
          },
          {
            "name": "Sign",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "signature",
                "type": "String",
                "summary": "Data signature encoded as hex",
                "description": null
              }
            ],
            "summary": "Result of signing data",
            "description": null
          }
        ],
        "summary": "Returning values from signing box callbacks.",
        "description": null
      },
      {
        "name": "ResultOfSigningBoxGetPublicKey",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "pubkey",
            "type": "String",
            "summary": "Public key of signing box.",
            "description": "Encoded with hex"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfSigningBoxSign",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "signing_box",
            "type": "Ref",
            "ref_name": "crypto.SigningBoxHandle",
            "summary": "Signing Box handle.",
            "description": null
          },
          {
            "name": "unsigned",
            "type": "String",
            "summary": "Unsigned user data.",
            "description": "Must be encoded with `base64`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfSigningBoxSign",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "signature",
            "type": "String",
            "summary": "Data signature.",
            "description": "Encoded with `hex`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "RegisteredEncryptionBox",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "handle",
            "type": "Ref",
            "ref_name": "crypto.EncryptionBoxHandle",
            "summary": "Handle of the encryption box",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfAppEncryptionBox",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "GetInfo",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Get encryption box info",
            "description": null
          },
          {
            "name": "Encrypt",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "data",
                "type": "String",
                "summary": "Data, encoded in Base64",
                "description": null
              }
            ],
            "summary": "Encrypt data",
            "description": null
          },
          {
            "name": "Decrypt",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "data",
                "type": "String",
                "summary": "Data, encoded in Base64",
                "description": null
              }
            ],
            "summary": "Decrypt data",
            "description": null
          }
        ],
        "summary": "Encryption box callbacks.",
        "description": null
      },
      {
        "name": "ResultOfAppEncryptionBox",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "GetInfo",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "info",
                "type": "Ref",
                "ref_name": "crypto.EncryptionBoxInfo",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Result of getting encryption box info",
            "description": null
          },
          {
            "name": "Encrypt",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "data",
                "type": "String",
                "summary": "Encrypted data, encoded in Base64",
                "description": null
              }
            ],
            "summary": "Result of encrypting data",
            "description": null
          },
          {
            "name": "Decrypt",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "data",
                "type": "String",
                "summary": "Decrypted data, encoded in Base64",
                "description": null
              }
            ],
            "summary": "Result of decrypting data",
            "description": null
          }
        ],
        "summary": "Returning values from signing box callbacks.",
        "description": null
      },
      {
        "name": "ParamsOfEncryptionBoxGetInfo",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "encryption_box",
            "type": "Ref",
            "ref_name": "crypto.EncryptionBoxHandle",
            "summary": "Encryption box handle",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncryptionBoxGetInfo",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "info",
            "type": "Ref",
            "ref_name": "crypto.EncryptionBoxInfo",
            "summary": "Encryption box information",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfEncryptionBoxEncrypt",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "encryption_box",
            "type": "Ref",
            "ref_name": "crypto.EncryptionBoxHandle",
            "summary": "Encryption box handle",
            "description": null
          },
          {
            "name": "data",
            "type": "String",
            "summary": "Data to be encrypted, encoded in Base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncryptionBoxEncrypt",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "data",
            "type": "String",
            "summary": "Encrypted data, encoded in Base64.",
            "description": "Padded to cipher block size"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfEncryptionBoxDecrypt",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "encryption_box",
            "type": "Ref",
            "ref_name": "crypto.EncryptionBoxHandle",
            "summary": "Encryption box handle",
            "description": null
          },
          {
            "name": "data",
            "type": "String",
            "summary": "Data to be decrypted, encoded in Base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncryptionBoxDecrypt",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "data",
            "type": "String",
            "summary": "Decrypted data, encoded in Base64.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfCreateEncryptionBox",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "algorithm",
            "type": "Ref",
            "ref_name": "crypto.EncryptionAlgorithm",
            "summary": "Encryption algorithm specifier including cipher parameters (key, IV, etc)",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "factorize",
        "summary": "Integer factorization",
        "description": "Performs prime factorization – decomposition of a composite number\ninto a product of smaller prime integers (factors).\nSee [https://en.wikipedia.org/wiki/Integer_factorization]",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfFactorize",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfFactorize"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "modular_power",
        "summary": "Modular exponentiation",
        "description": "Performs modular exponentiation for big integers (`base`^`exponent` mod `modulus`).\nSee [https://en.wikipedia.org/wiki/Modular_exponentiation]",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfModularPower",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfModularPower"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "ton_crc16",
        "summary": "Calculates CRC16 using TON algorithm.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfTonCrc16",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfTonCrc16"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "generate_random_bytes",
        "summary": "Generates random byte array of the specified length and returns it in `base64` format",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfGenerateRandomBytes",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfGenerateRandomBytes"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "convert_public_key_to_ton_safe_format",
        "summary": "Converts public key to ton safe_format",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfConvertPublicKeyToTonSafeFormat",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfConvertPublicKeyToTonSafeFormat"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "generate_random_sign_keys",
        "summary": "Generates random ed25519 key pair.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.KeyPair"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "sign",
        "summary": "Signs a data using the provided keys.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfSign",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfSign"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "verify_signature",
        "summary": "Verifies signed data using the provided public key. Raises error if verification is failed.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfVerifySignature",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfVerifySignature"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "sha256",
        "summary": "Calculates SHA256 hash of the specified data.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfHash",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfHash"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "sha512",
        "summary": "Calculates SHA512 hash of the specified data.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfHash",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfHash"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "scrypt",
        "summary": "Perform `scrypt` encryption",
        "description": "Derives key from `password` and `key` using `scrypt` algorithm.\nSee [https://en.wikipedia.org/wiki/Scrypt].\n\n# Arguments\n- `log_n` - The log2 of the Scrypt parameter `N`\n- `r` - The Scrypt parameter `r`\n- `p` - The Scrypt parameter `p`\n# Conditions\n- `log_n` must be less than `64`\n- `r` must be greater than `0` and less than or equal to `4294967295`\n- `p` must be greater than `0` and less than `4294967295`\n# Recommended values sufficient for most use-cases\n- `log_n = 15` (`n = 32768`)\n- `r = 8`\n- `p = 1`",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfScrypt",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfScrypt"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_sign_keypair_from_secret_key",
        "summary": "Generates a key pair for signing from the secret key",
        "description": "**NOTE:** In the result the secret key is actually the concatenation\nof secret and public keys (128 symbols hex string) by design of [NaCL](http://nacl.cr.yp.to/sign.html).\nSee also [the stackexchange question](https://crypto.stackexchange.com/questions/54353/).",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclSignKeyPairFromSecret",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.KeyPair"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_sign",
        "summary": "Signs data using the signer's secret key.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclSign",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclSign"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_sign_open",
        "summary": "Verifies the signature and returns the unsigned message",
        "description": "Verifies the signature in `signed` using the signer's public key `public`\nand returns the message `unsigned`.\n\nIf the signature fails verification, crypto_sign_open raises an exception.",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclSignOpen",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclSignOpen"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_sign_detached",
        "summary": "Signs the message using the secret key and returns a signature.",
        "description": "Signs the message `unsigned` using the secret key `secret`\nand returns a signature `signature`.",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclSign",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclSignDetached"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_sign_detached_verify",
        "summary": "Verifies the signature with public key and `unsigned` data.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclSignDetachedVerify",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclSignDetachedVerify"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_box_keypair",
        "summary": "Generates a random NaCl key pair",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.KeyPair"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_box_keypair_from_secret_key",
        "summary": "Generates key pair from a secret key",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclBoxKeyPairFromSecret",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.KeyPair"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_box",
        "summary": "Public key authenticated encryption",
        "description": "Encrypt and authenticate a message using the senders secret key, the receivers public\nkey, and a nonce.",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclBox",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclBox"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_box_open",
        "summary": "Decrypt and verify the cipher text using the receivers secret key, the senders public key, and the nonce.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclBoxOpen",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclBoxOpen"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_secret_box",
        "summary": "Encrypt and authenticate message using nonce and secret key.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclSecretBox",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclBox"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "nacl_secret_box_open",
        "summary": "Decrypts and verifies cipher text using `nonce` and secret `key`.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfNaclSecretBoxOpen",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfNaclBoxOpen"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "mnemonic_words",
        "summary": "Prints the list of words from the specified dictionary",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfMnemonicWords",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfMnemonicWords"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "mnemonic_from_random",
        "summary": "Generates a random mnemonic",
        "description": "Generates a random mnemonic from the specified dictionary and word count",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfMnemonicFromRandom",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfMnemonicFromRandom"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "mnemonic_from_entropy",
        "summary": "Generates mnemonic from pre-generated entropy",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfMnemonicFromEntropy",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfMnemonicFromEntropy"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "mnemonic_verify",
        "summary": "Validates a mnemonic phrase",
        "description": "The phrase supplied will be checked for word length and validated according to the checksum\nspecified in BIP0039.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfMnemonicVerify",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfMnemonicVerify"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "mnemonic_derive_sign_keys",
        "summary": "Derives a key pair for signing from the seed phrase",
        "description": "Validates the seed phrase, generates master key and then derives\nthe key pair from the master key and the specified path",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfMnemonicDeriveSignKeys",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.KeyPair"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "hdkey_xprv_from_mnemonic",
        "summary": "Generates an extended master private key that will be the root for all the derived keys",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfHDKeyXPrvFromMnemonic",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfHDKeyXPrvFromMnemonic"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "hdkey_derive_from_xprv",
        "summary": "Returns extended private key derived from the specified extended private key and child index",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfHDKeyDeriveFromXPrv",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfHDKeyDeriveFromXPrv"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "hdkey_derive_from_xprv_path",
        "summary": "Derives the extended private key from the specified key and path",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfHDKeyDeriveFromXPrvPath",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfHDKeyDeriveFromXPrvPath"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "hdkey_secret_from_xprv",
        "summary": "Extracts the private key from the serialized extended private key",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfHDKeySecretFromXPrv",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfHDKeySecretFromXPrv"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "hdkey_public_from_xprv",
        "summary": "Extracts the public key from the serialized extended private key",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfHDKeyPublicFromXPrv",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfHDKeyPublicFromXPrv"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "chacha20",
        "summary": "Performs symmetric `chacha20` encryption.",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfChaCha20",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfChaCha20"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "register_signing_box",
        "summary": "Register an application implemented signing box.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "app_object",
            "type": "Generic",
            "generic_name": "AppObject",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "crypto.ParamsOfAppSigningBox"
              },
              {
                "type": "Ref",
                "ref_name": "crypto.ResultOfAppSigningBox"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.RegisteredSigningBox"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "get_signing_box",
        "summary": "Creates a default signing box implementation.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.KeyPair",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.RegisteredSigningBox"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "signing_box_get_public_key",
        "summary": "Returns public key of signing key pair.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.RegisteredSigningBox",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfSigningBoxGetPublicKey"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "signing_box_sign",
        "summary": "Returns signed user data.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfSigningBoxSign",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfSigningBoxSign"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "remove_signing_box",
        "summary": "Removes signing box from SDK.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.RegisteredSigningBox",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "register_encryption_box",
        "summary": "Register an application implemented encryption box.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "app_object",
            "type": "Generic",
            "generic_name": "AppObject",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "crypto.ParamsOfAppEncryptionBox"
              },
              {
                "type": "Ref",
                "ref_name": "crypto.ResultOfAppEncryptionBox"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.RegisteredEncryptionBox"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "remove_encryption_box",
        "summary": "Removes encryption box from SDK",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.RegisteredEncryptionBox",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "encryption_box_get_info",
        "summary": "Queries info from the given encryption box",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfEncryptionBoxGetInfo",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfEncryptionBoxGetInfo"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "encryption_box_encrypt",
        "summary": "Encrypts data using given encryption box Note.",
        "description": "Block cipher algorithms pad data to cipher block size so encrypted data can be longer then original data. Client should store the original data size after encryption and use it after\ndecryption to retrieve the original data from decrypted data.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfEncryptionBoxEncrypt",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfEncryptionBoxEncrypt"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "encryption_box_decrypt",
        "summary": "Decrypts data using given encryption box Note.",
        "description": "Block cipher algorithms pad data to cipher block size so encrypted data can be longer then original data. Client should store the original data size after encryption and use it after\ndecryption to retrieve the original data from decrypted data.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfEncryptionBoxDecrypt",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.ResultOfEncryptionBoxDecrypt"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "create_encryption_box",
        "summary": "Creates encryption box with specified algorithm",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "crypto.ParamsOfCreateEncryptionBox",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "crypto.RegisteredEncryptionBox"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "abi",
    "summary": "Provides message encoding and decoding according to the ABI specification.",
    "description": null,
    "types": [
      {
        "name": "AbiErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "RequiredAddressMissingForEncodeMessage",
            "type": "Number",
            "value": "301",
            "summary": null,
            "description": null
          },
          {
            "name": "RequiredCallSetMissingForEncodeMessage",
            "type": "Number",
            "value": "302",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidJson",
            "type": "Number",
            "value": "303",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidMessage",
            "type": "Number",
            "value": "304",
            "summary": null,
            "description": null
          },
          {
            "name": "EncodeDeployMessageFailed",
            "type": "Number",
            "value": "305",
            "summary": null,
            "description": null
          },
          {
            "name": "EncodeRunMessageFailed",
            "type": "Number",
            "value": "306",
            "summary": null,
            "description": null
          },
          {
            "name": "AttachSignatureFailed",
            "type": "Number",
            "value": "307",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidTvcImage",
            "type": "Number",
            "value": "308",
            "summary": null,
            "description": null
          },
          {
            "name": "RequiredPublicKeyMissingForFunctionHeader",
            "type": "Number",
            "value": "309",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidSigner",
            "type": "Number",
            "value": "310",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidAbi",
            "type": "Number",
            "value": "311",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidFunctionId",
            "type": "Number",
            "value": "312",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidData",
            "type": "Number",
            "value": "313",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "Abi",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Contract",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "value",
                "type": "Ref",
                "ref_name": "abi.AbiContract",
                "summary": null,
                "description": null
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "Json",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "value",
                "type": "String",
                "summary": null,
                "description": null
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "Handle",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "value",
                "type": "Ref",
                "ref_name": "abi.AbiHandle",
                "summary": null,
                "description": null
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "Serialized",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "value",
                "type": "Ref",
                "ref_name": "abi.AbiContract",
                "summary": null,
                "description": null
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AbiHandle",
        "type": "Number",
        "number_type": "UInt",
        "number_size": 32,
        "summary": null,
        "description": null
      },
      {
        "name": "FunctionHeader",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "expire",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Message expiration time in seconds. If not specified - calculated automatically from message_expiration_timeout(), try_index and message_expiration_timeout_grow_factor() (if ABI includes `expire` header).",
            "description": null
          },
          {
            "name": "time",
            "type": "Optional",
            "optional_inner": {
              "type": "BigInt",
              "number_type": "UInt",
              "number_size": 64
            },
            "summary": "Message creation time in milliseconds.",
            "description": "If not specified, `now` is used (if ABI includes `time` header)."
          },
          {
            "name": "pubkey",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Public key is used by the contract to check the signature.",
            "description": "Encoded in `hex`. If not specified, method fails with exception (if ABI includes `pubkey` header).."
          }
        ],
        "summary": "The ABI function header.",
        "description": "Includes several hidden function parameters that contract\nuses for security, message delivery monitoring and replay protection reasons.\n\nThe actual set of header fields depends on the contract's ABI.\nIf a contract's ABI does not include some headers, then they are not filled."
      },
      {
        "name": "CallSet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "function_name",
            "type": "String",
            "summary": "Function name that is being called. Or function id encoded as string in hex (starting with 0x).",
            "description": null
          },
          {
            "name": "header",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.FunctionHeader"
            },
            "summary": "Function header.",
            "description": "If an application omits some header parameters required by the\ncontract's ABI, the library will set the default values for\nthem."
          },
          {
            "name": "input",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Function input parameters according to ABI.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "DeploySet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "tvc",
            "type": "String",
            "summary": "Content of TVC file encoded in `base64`.",
            "description": null
          },
          {
            "name": "workchain_id",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "Int",
              "number_size": 32
            },
            "summary": "Target workchain for destination address.",
            "description": "Default is `0`."
          },
          {
            "name": "initial_data",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "List of initial values for contract's public variables.",
            "description": null
          },
          {
            "name": "initial_pubkey",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Optional public key that can be provided in deploy set in order to substitute one in TVM file or provided by Signer.",
            "description": "Public key resolving priority:\n1. Public key from deploy set.\n2. Public key, specified in TVM file.\n3. Public key, provided by Signer."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "Signer",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "None",
            "type": "Struct",
            "struct_fields": [],
            "summary": "No keys are provided.",
            "description": "Creates an unsigned message."
          },
          {
            "name": "External",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "public_key",
                "type": "String",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Only public key is provided in unprefixed hex string format to generate unsigned message and `data_to_sign` which can be signed later.",
            "description": null
          },
          {
            "name": "Keys",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "keys",
                "type": "Ref",
                "ref_name": "crypto.KeyPair",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Key pair is provided for signing",
            "description": null
          },
          {
            "name": "SigningBox",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "handle",
                "type": "Ref",
                "ref_name": "crypto.SigningBoxHandle",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Signing Box interface is provided for signing, allows Dapps to sign messages using external APIs, such as HSM, cold wallet, etc.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "MessageBodyType",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "Input",
            "type": "None",
            "summary": "Message contains the input of the ABI function.",
            "description": null
          },
          {
            "name": "Output",
            "type": "None",
            "summary": "Message contains the output of the ABI function.",
            "description": null
          },
          {
            "name": "InternalOutput",
            "type": "None",
            "summary": "Message contains the input of the imported ABI function.",
            "description": "Occurs when contract sends an internal message to other\ncontract."
          },
          {
            "name": "Event",
            "type": "None",
            "summary": "Message contains the input of the ABI event.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "StateInitSource",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Message",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "source",
                "type": "Ref",
                "ref_name": "abi.MessageSource",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Deploy message.",
            "description": null
          },
          {
            "name": "StateInit",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "code",
                "type": "String",
                "summary": "Code BOC.",
                "description": "Encoded in `base64`."
              },
              {
                "name": "data",
                "type": "String",
                "summary": "Data BOC.",
                "description": "Encoded in `base64`."
              },
              {
                "name": "library",
                "type": "Optional",
                "optional_inner": {
                  "type": "String"
                },
                "summary": "Library BOC.",
                "description": "Encoded in `base64`."
              }
            ],
            "summary": "State init data.",
            "description": null
          },
          {
            "name": "Tvc",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "tvc",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "public_key",
                "type": "Optional",
                "optional_inner": {
                  "type": "String"
                },
                "summary": null,
                "description": null
              },
              {
                "name": "init_params",
                "type": "Optional",
                "optional_inner": {
                  "type": "Ref",
                  "ref_name": "abi.StateInitParams"
                },
                "summary": null,
                "description": null
              }
            ],
            "summary": "Content of the TVC file.",
            "description": "Encoded in `base64`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "StateInitParams",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": null,
            "description": null
          },
          {
            "name": "value",
            "type": "Ref",
            "ref_name": "Value",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "MessageSource",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Encoded",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "message",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "abi",
                "type": "Optional",
                "optional_inner": {
                  "type": "Ref",
                  "ref_name": "abi.Abi"
                },
                "summary": null,
                "description": null
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "EncodingParams",
            "type": "Ref",
            "ref_name": "abi.ParamsOfEncodeMessage",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AbiParam",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "name",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "type",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "components",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "abi.AbiParam"
              }
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AbiEvent",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "name",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "inputs",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "abi.AbiParam"
            },
            "summary": null,
            "description": null
          },
          {
            "name": "id",
            "type": "Optional",
            "optional_inner": {
              "type": "Optional",
              "optional_inner": {
                "type": "String"
              }
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AbiData",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "key",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": null,
            "description": null
          },
          {
            "name": "name",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "type",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "components",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "abi.AbiParam"
              }
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AbiFunction",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "name",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "inputs",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "abi.AbiParam"
            },
            "summary": null,
            "description": null
          },
          {
            "name": "outputs",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "abi.AbiParam"
            },
            "summary": null,
            "description": null
          },
          {
            "name": "id",
            "type": "Optional",
            "optional_inner": {
              "type": "Optional",
              "optional_inner": {
                "type": "String"
              }
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AbiContract",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "ABI version",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": null,
            "description": null
          },
          {
            "name": "abi_version",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": null,
            "description": null
          },
          {
            "name": "version",
            "type": "Optional",
            "optional_inner": {
              "type": "Optional",
              "optional_inner": {
                "type": "String"
              }
            },
            "summary": null,
            "description": null
          },
          {
            "name": "header",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "String"
              }
            },
            "summary": null,
            "description": null
          },
          {
            "name": "functions",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "abi.AbiFunction"
              }
            },
            "summary": null,
            "description": null
          },
          {
            "name": "events",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "abi.AbiEvent"
              }
            },
            "summary": null,
            "description": null
          },
          {
            "name": "data",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "abi.AbiData"
              }
            },
            "summary": null,
            "description": null
          },
          {
            "name": "fields",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "abi.AbiParam"
              }
            },
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfEncodeMessageBody",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": "Contract ABI.",
            "description": null
          },
          {
            "name": "call_set",
            "type": "Ref",
            "ref_name": "abi.CallSet",
            "summary": "Function call parameters.",
            "description": "Must be specified in non deploy message.\n\nIn case of deploy message contains parameters of constructor."
          },
          {
            "name": "is_internal",
            "type": "Boolean",
            "summary": "True if internal message body must be encoded.",
            "description": null
          },
          {
            "name": "signer",
            "type": "Ref",
            "ref_name": "abi.Signer",
            "summary": "Signing parameters.",
            "description": null
          },
          {
            "name": "processing_try_index",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Processing try index.",
            "description": "Used in message processing with retries.\n\nEncoder uses the provided try index to calculate message\nexpiration time.\n\nExpiration timeouts will grow with every retry.\n\nDefault value is 0."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncodeMessageBody",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "body",
            "type": "String",
            "summary": "Message body BOC encoded with `base64`.",
            "description": null
          },
          {
            "name": "data_to_sign",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Optional data to sign.",
            "description": "Encoded with `base64`. \nPresents when `message` is unsigned. Can be used for external\nmessage signing. Is this case you need to sing this data and\nproduce signed message using `abi.attach_signature`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfAttachSignatureToMessageBody",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": "Contract ABI",
            "description": null
          },
          {
            "name": "public_key",
            "type": "String",
            "summary": "Public key.",
            "description": "Must be encoded with `hex`."
          },
          {
            "name": "message",
            "type": "String",
            "summary": "Unsigned message body BOC.",
            "description": "Must be encoded with `base64`."
          },
          {
            "name": "signature",
            "type": "String",
            "summary": "Signature.",
            "description": "Must be encoded with `hex`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfAttachSignatureToMessageBody",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "body",
            "type": "String",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfEncodeMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": "Contract ABI.",
            "description": null
          },
          {
            "name": "address",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Target address the message will be sent to.",
            "description": "Must be specified in case of non-deploy message."
          },
          {
            "name": "deploy_set",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.DeploySet"
            },
            "summary": "Deploy parameters.",
            "description": "Must be specified in case of deploy message."
          },
          {
            "name": "call_set",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.CallSet"
            },
            "summary": "Function call parameters.",
            "description": "Must be specified in case of non-deploy message.\n\nIn case of deploy message it is optional and contains parameters\nof the functions that will to be called upon deploy transaction."
          },
          {
            "name": "signer",
            "type": "Ref",
            "ref_name": "abi.Signer",
            "summary": "Signing parameters.",
            "description": null
          },
          {
            "name": "processing_try_index",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 8
            },
            "summary": "Processing try index.",
            "description": "Used in message processing with retries (if contract's ABI includes \"expire\" header).\n\nEncoder uses the provided try index to calculate message\nexpiration time. The 1st message expiration time is specified in\nClient config.\n\nExpiration timeouts will grow with every retry.\nRetry grow factor is set in Client config:\n<.....add config parameter with default value here>\n\nDefault value is 0."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncodeMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "message",
            "type": "String",
            "summary": "Message BOC encoded with `base64`.",
            "description": null
          },
          {
            "name": "data_to_sign",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Optional data to be signed encoded in `base64`.",
            "description": "Returned in case of `Signer::External`. Can be used for external\nmessage signing. Is this case you need to use this data to create signature and\nthen produce signed message using `abi.attach_signature`."
          },
          {
            "name": "address",
            "type": "String",
            "summary": "Destination address.",
            "description": null
          },
          {
            "name": "message_id",
            "type": "String",
            "summary": "Message id.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfEncodeInternalMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.Abi"
            },
            "summary": "Contract ABI.",
            "description": "Can be None if both deploy_set and call_set are None."
          },
          {
            "name": "address",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Target address the message will be sent to.",
            "description": "Must be specified in case of non-deploy message."
          },
          {
            "name": "src_address",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Source address of the message.",
            "description": null
          },
          {
            "name": "deploy_set",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.DeploySet"
            },
            "summary": "Deploy parameters.",
            "description": "Must be specified in case of deploy message."
          },
          {
            "name": "call_set",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.CallSet"
            },
            "summary": "Function call parameters.",
            "description": "Must be specified in case of non-deploy message.\n\nIn case of deploy message it is optional and contains parameters\nof the functions that will to be called upon deploy transaction."
          },
          {
            "name": "value",
            "type": "String",
            "summary": "Value in nanotokens to be sent with message.",
            "description": null
          },
          {
            "name": "bounce",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Flag of bounceable message.",
            "description": "Default is true."
          },
          {
            "name": "enable_ihr",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Enable Instant Hypercube Routing for the message.",
            "description": "Default is false."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncodeInternalMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "message",
            "type": "String",
            "summary": "Message BOC encoded with `base64`.",
            "description": null
          },
          {
            "name": "address",
            "type": "String",
            "summary": "Destination address.",
            "description": null
          },
          {
            "name": "message_id",
            "type": "String",
            "summary": "Message id.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfAttachSignature",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": "Contract ABI",
            "description": null
          },
          {
            "name": "public_key",
            "type": "String",
            "summary": "Public key encoded in `hex`.",
            "description": null
          },
          {
            "name": "message",
            "type": "String",
            "summary": "Unsigned message BOC encoded in `base64`.",
            "description": null
          },
          {
            "name": "signature",
            "type": "String",
            "summary": "Signature encoded in `hex`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfAttachSignature",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "message",
            "type": "String",
            "summary": "Signed message BOC",
            "description": null
          },
          {
            "name": "message_id",
            "type": "String",
            "summary": "Message ID",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfDecodeMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": "contract ABI",
            "description": null
          },
          {
            "name": "message",
            "type": "String",
            "summary": "Message BOC",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "DecodedMessageBody",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "body_type",
            "type": "Ref",
            "ref_name": "abi.MessageBodyType",
            "summary": "Type of the message body content.",
            "description": null
          },
          {
            "name": "name",
            "type": "String",
            "summary": "Function or event name.",
            "description": null
          },
          {
            "name": "value",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Parameters or result value.",
            "description": null
          },
          {
            "name": "header",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.FunctionHeader"
            },
            "summary": "Function header.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfDecodeMessageBody",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": "Contract ABI used to decode.",
            "description": null
          },
          {
            "name": "body",
            "type": "String",
            "summary": "Message body BOC encoded in `base64`.",
            "description": null
          },
          {
            "name": "is_internal",
            "type": "Boolean",
            "summary": "True if the body belongs to the internal message.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfEncodeAccount",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "state_init",
            "type": "Ref",
            "ref_name": "abi.StateInitSource",
            "summary": "Source of the account state init.",
            "description": null
          },
          {
            "name": "balance",
            "type": "Optional",
            "optional_inner": {
              "type": "BigInt",
              "number_type": "UInt",
              "number_size": 64
            },
            "summary": "Initial balance.",
            "description": null
          },
          {
            "name": "last_trans_lt",
            "type": "Optional",
            "optional_inner": {
              "type": "BigInt",
              "number_type": "UInt",
              "number_size": 64
            },
            "summary": "Initial value for the `last_trans_lt`.",
            "description": null
          },
          {
            "name": "last_paid",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Initial value for the `last_paid`.",
            "description": null
          },
          {
            "name": "boc_cache",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "boc.BocCacheType"
            },
            "summary": "Cache type to put the result.",
            "description": "The BOC itself returned if no cache type provided"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncodeAccount",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "account",
            "type": "String",
            "summary": "Account BOC encoded in `base64`.",
            "description": null
          },
          {
            "name": "id",
            "type": "String",
            "summary": "Account ID  encoded in `hex`.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfDecodeAccountData",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Ref",
            "ref_name": "abi.Abi",
            "summary": "Contract ABI",
            "description": null
          },
          {
            "name": "data",
            "type": "String",
            "summary": "Data BOC or BOC handle",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfDecodeData",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "data",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Decoded data as a JSON structure.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "encode_message_body",
        "summary": "Encodes message body according to ABI function call.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfEncodeMessageBody",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.ResultOfEncodeMessageBody"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "attach_signature_to_message_body",
        "summary": null,
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfAttachSignatureToMessageBody",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.ResultOfAttachSignatureToMessageBody"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "encode_message",
        "summary": "Encodes an ABI-compatible message",
        "description": "Allows to encode deploy and function call messages,\nboth signed and unsigned.\n\nUse cases include messages of any possible type:\n- deploy with initial function call (i.e. `constructor` or any other function that is used for some kind\nof initialization);\n- deploy without initial function call;\n- signed/unsigned + data for signing.\n\n`Signer` defines how the message should or shouldn't be signed:\n\n`Signer::None` creates an unsigned message. This may be needed in case of some public methods,\nthat do not require authorization by pubkey.\n\n`Signer::External` takes public key and returns `data_to_sign` for later signing.\nUse `attach_signature` method with the result signature to get the signed message.\n\n`Signer::Keys` creates a signed message with provided key pair.\n\n[SOON] `Signer::SigningBox` Allows using a special interface to implement signing\nwithout private key disclosure to SDK. For instance, in case of using a cold wallet or HSM,\nwhen application calls some API to sign data.\n\nThere is an optional public key can be provided in deploy set in order to substitute one\nin TVM file.\n\nPublic key resolving priority:\n1. Public key from deploy set.\n2. Public key, specified in TVM file.\n3. Public key, provided by signer.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfEncodeMessage",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.ResultOfEncodeMessage"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "encode_internal_message",
        "summary": "Encodes an internal ABI-compatible message",
        "description": "Allows to encode deploy and function call messages.\n\nUse cases include messages of any possible type:\n- deploy with initial function call (i.e. `constructor` or any other function that is used for some kind\nof initialization);\n- deploy without initial function call;\n- simple function call\n\nThere is an optional public key can be provided in deploy set in order to substitute one\nin TVM file.\n\nPublic key resolving priority:\n1. Public key from deploy set.\n2. Public key, specified in TVM file.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfEncodeInternalMessage",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.ResultOfEncodeInternalMessage"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "attach_signature",
        "summary": "Combines `hex`-encoded `signature` with `base64`-encoded `unsigned_message`. Returns signed message encoded in `base64`.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfAttachSignature",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.ResultOfAttachSignature"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "decode_message",
        "summary": "Decodes message body using provided message BOC and ABI.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfDecodeMessage",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.DecodedMessageBody"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "decode_message_body",
        "summary": "Decodes message body using provided body BOC and ABI.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfDecodeMessageBody",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.DecodedMessageBody"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "encode_account",
        "summary": "Creates account state BOC",
        "description": "Creates account state provided with one of these sets of data :\n1. BOC of code, BOC of data, BOC of library\n2. TVC (string in `base64`), keys, init params",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfEncodeAccount",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.ResultOfEncodeAccount"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "decode_account_data",
        "summary": "Decodes account data using provided data BOC and ABI.",
        "description": "Note: this feature requires ABI 2.1 or higher.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfDecodeAccountData",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "abi.ResultOfDecodeData"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "boc",
    "summary": "BOC manipulation module.",
    "description": null,
    "types": [
      {
        "name": "BocCacheType",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Pinned",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "pin",
                "type": "String",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Pin the BOC with `pin` name.",
            "description": "Such BOC will not be removed from cache until it is unpinned"
          },
          {
            "name": "Unpinned",
            "type": "Struct",
            "struct_fields": [],
            "summary": " ",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "BocErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "InvalidBoc",
            "type": "Number",
            "value": "201",
            "summary": null,
            "description": null
          },
          {
            "name": "SerializationError",
            "type": "Number",
            "value": "202",
            "summary": null,
            "description": null
          },
          {
            "name": "InappropriateBlock",
            "type": "Number",
            "value": "203",
            "summary": null,
            "description": null
          },
          {
            "name": "MissingSourceBoc",
            "type": "Number",
            "value": "204",
            "summary": null,
            "description": null
          },
          {
            "name": "InsufficientCacheSize",
            "type": "Number",
            "value": "205",
            "summary": null,
            "description": null
          },
          {
            "name": "BocRefNotFound",
            "type": "Number",
            "value": "206",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidBocRef",
            "type": "Number",
            "value": "207",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfParse",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc",
            "type": "String",
            "summary": "BOC encoded as base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfParse",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "parsed",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "JSON containing parsed BOC",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfParseShardstate",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc",
            "type": "String",
            "summary": "BOC encoded as base64",
            "description": null
          },
          {
            "name": "id",
            "type": "String",
            "summary": "Shardstate identificator",
            "description": null
          },
          {
            "name": "workchain_id",
            "type": "Number",
            "number_type": "Int",
            "number_size": 32,
            "summary": "Workchain shardstate belongs to",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfGetBlockchainConfig",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "block_boc",
            "type": "String",
            "summary": "Key block BOC or zerostate BOC encoded as base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfGetBlockchainConfig",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "config_boc",
            "type": "String",
            "summary": "Blockchain config BOC encoded as base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfGetBocHash",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc",
            "type": "String",
            "summary": "BOC encoded as base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfGetBocHash",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "hash",
            "type": "String",
            "summary": "BOC root hash encoded with hex",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfGetCodeFromTvc",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "tvc",
            "type": "String",
            "summary": "Contract TVC image encoded as base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfGetCodeFromTvc",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "code",
            "type": "String",
            "summary": "Contract code encoded as base64",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfBocCacheGet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc_ref",
            "type": "String",
            "summary": "Reference to the cached BOC",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfBocCacheGet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "BOC encoded as base64.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfBocCacheSet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc",
            "type": "String",
            "summary": "BOC encoded as base64 or BOC reference",
            "description": null
          },
          {
            "name": "cache_type",
            "type": "Ref",
            "ref_name": "boc.BocCacheType",
            "summary": "Cache type",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfBocCacheSet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc_ref",
            "type": "String",
            "summary": "Reference to the cached BOC",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfBocCacheUnpin",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "pin",
            "type": "String",
            "summary": "Pinned name",
            "description": null
          },
          {
            "name": "boc_ref",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Reference to the cached BOC.",
            "description": "If it is provided then only referenced BOC is unpinned"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "BuilderOp",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Integer",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "size",
                "type": "Number",
                "number_type": "UInt",
                "number_size": 32,
                "summary": "Bit size of the value.",
                "description": null
              },
              {
                "name": "value",
                "type": "Ref",
                "ref_name": "Value",
                "summary": "Value: - `Number` containing integer number.",
                "description": "e.g. `123`, `-123`. - Decimal string. e.g. `\"123\"`, `\"-123\"`.\n- `0x` prefixed hexadecimal string.\n  e.g `0x123`, `0X123`, `-0x123`."
              }
            ],
            "summary": "Append integer to cell data.",
            "description": null
          },
          {
            "name": "BitString",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "value",
                "type": "String",
                "summary": "Bit string content using bitstring notation. See `TON VM specification` 1.0.",
                "description": "Contains hexadecimal string representation:\n- Can end with `_` tag.\n- Can be prefixed with `x` or `X`.\n- Can be prefixed with `x{` or `X{` and ended with `}`.\n\nContains binary string represented as a sequence\nof `0` and `1` prefixed with `n` or `N`.\n\nExamples:\n`1AB`, `x1ab`, `X1AB`, `x{1abc}`, `X{1ABC}`\n`2D9_`, `x2D9_`, `X2D9_`, `x{2D9_}`, `X{2D9_}`\n`n00101101100`, `N00101101100`"
              }
            ],
            "summary": "Append bit string to cell data.",
            "description": null
          },
          {
            "name": "Cell",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "builder",
                "type": "Array",
                "array_item": {
                  "type": "Ref",
                  "ref_name": "boc.BuilderOp"
                },
                "summary": "Nested cell builder",
                "description": null
              }
            ],
            "summary": "Append ref to nested cells",
            "description": null
          },
          {
            "name": "CellBoc",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "boc",
                "type": "String",
                "summary": "Nested cell BOC encoded with `base64` or BOC cache key.",
                "description": null
              }
            ],
            "summary": "Append ref to nested cell",
            "description": null
          }
        ],
        "summary": "Cell builder operation.",
        "description": null
      },
      {
        "name": "ParamsOfEncodeBoc",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "builder",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "boc.BuilderOp"
            },
            "summary": "Cell builder operations.",
            "description": null
          },
          {
            "name": "boc_cache",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "boc.BocCacheType"
            },
            "summary": "Cache type to put the result. The BOC itself returned if no cache type provided.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfEncodeBoc",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "boc",
            "type": "String",
            "summary": "Encoded cell BOC or BOC cache key.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "parse_message",
        "summary": "Parses message boc into a JSON",
        "description": "JSON structure is compatible with GraphQL API message object",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfParse",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfParse"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "parse_transaction",
        "summary": "Parses transaction boc into a JSON",
        "description": "JSON structure is compatible with GraphQL API transaction object",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfParse",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfParse"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "parse_account",
        "summary": "Parses account boc into a JSON",
        "description": "JSON structure is compatible with GraphQL API account object",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfParse",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfParse"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "parse_block",
        "summary": "Parses block boc into a JSON",
        "description": "JSON structure is compatible with GraphQL API block object",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfParse",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfParse"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "parse_shardstate",
        "summary": "Parses shardstate boc into a JSON",
        "description": "JSON structure is compatible with GraphQL API shardstate object",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfParseShardstate",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfParse"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "get_blockchain_config",
        "summary": "Extract blockchain configuration from key block and also from zerostate.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfGetBlockchainConfig",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfGetBlockchainConfig"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "get_boc_hash",
        "summary": "Calculates BOC root hash",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfGetBocHash",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfGetBocHash"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "get_code_from_tvc",
        "summary": "Extracts code from TVC contract image",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfGetCodeFromTvc",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfGetCodeFromTvc"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "cache_get",
        "summary": "Get BOC from cache",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfBocCacheGet",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfBocCacheGet"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "cache_set",
        "summary": "Save BOC into cache",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfBocCacheSet",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfBocCacheSet"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "cache_unpin",
        "summary": "Unpin BOCs with specified pin.",
        "description": "BOCs which don't have another pins will be removed from cache",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfBocCacheUnpin",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "encode_boc",
        "summary": "Encodes BOC from builder operations.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "boc.ParamsOfEncodeBoc",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "boc.ResultOfEncodeBoc"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "processing",
    "summary": "Message processing module.",
    "description": "This module incorporates functions related to complex message\nprocessing scenarios.",
    "types": [
      {
        "name": "ProcessingErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "MessageAlreadyExpired",
            "type": "Number",
            "value": "501",
            "summary": null,
            "description": null
          },
          {
            "name": "MessageHasNotDestinationAddress",
            "type": "Number",
            "value": "502",
            "summary": null,
            "description": null
          },
          {
            "name": "CanNotBuildMessageCell",
            "type": "Number",
            "value": "503",
            "summary": null,
            "description": null
          },
          {
            "name": "FetchBlockFailed",
            "type": "Number",
            "value": "504",
            "summary": null,
            "description": null
          },
          {
            "name": "SendMessageFailed",
            "type": "Number",
            "value": "505",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidMessageBoc",
            "type": "Number",
            "value": "506",
            "summary": null,
            "description": null
          },
          {
            "name": "MessageExpired",
            "type": "Number",
            "value": "507",
            "summary": null,
            "description": null
          },
          {
            "name": "TransactionWaitTimeout",
            "type": "Number",
            "value": "508",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidBlockReceived",
            "type": "Number",
            "value": "509",
            "summary": null,
            "description": null
          },
          {
            "name": "CanNotCheckBlockShard",
            "type": "Number",
            "value": "510",
            "summary": null,
            "description": null
          },
          {
            "name": "BlockNotFound",
            "type": "Number",
            "value": "511",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidData",
            "type": "Number",
            "value": "512",
            "summary": null,
            "description": null
          },
          {
            "name": "ExternalSignerMustNotBeUsed",
            "type": "Number",
            "value": "513",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ProcessingEvent",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "WillFetchFirstBlock",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Notifies the application that the account's current shard block will be fetched from the network. This step is performed before the message sending so that sdk knows starting from which block it will search for the transaction.",
            "description": "Fetched block will be used later in waiting phase."
          },
          {
            "name": "FetchFirstBlockFailed",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "error",
                "type": "Ref",
                "ref_name": "client.ClientError",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Notifies the app that the client has failed to fetch the account's current shard block.",
            "description": "This may happen due to the network issues. Receiving this event means that message processing will not proceed -\nmessage was not sent, and Developer can try to run `process_message` again,\nin the hope that the connection is restored."
          },
          {
            "name": "WillSend",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "shard_block_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message",
                "type": "String",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Notifies the app that the message will be sent to the network. This event means that the account's current shard block was successfully fetched and the message was successfully created (`abi.encode_message` function was executed successfully).",
            "description": null
          },
          {
            "name": "DidSend",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "shard_block_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message",
                "type": "String",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Notifies the app that the message was sent to the network, i.e `processing.send_message` was successfuly executed. Now, the message is in the blockchain. If Application exits at this phase, Developer needs to proceed with processing after the application is restored with `wait_for_transaction` function, passing shard_block_id and message from this event.",
            "description": "Do not forget to specify abi of your contract as well, it is crucial for proccessing. See `processing.wait_for_transaction` documentation."
          },
          {
            "name": "SendFailed",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "shard_block_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "error",
                "type": "Ref",
                "ref_name": "client.ClientError",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Notifies the app that the sending operation was failed with network error.",
            "description": "Nevertheless the processing will be continued at the waiting\nphase because the message possibly has been delivered to the\nnode.\nIf Application exits at this phase, Developer needs to proceed with processing\nafter the application is restored with `wait_for_transaction` function, passing\nshard_block_id and message from this event. Do not forget to specify abi of your contract\nas well, it is crucial for proccessing. See `processing.wait_for_transaction` documentation."
          },
          {
            "name": "WillFetchNextBlock",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "shard_block_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message",
                "type": "String",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Notifies the app that the next shard block will be fetched from the network.",
            "description": "Event can occurs more than one time due to block walking\nprocedure.\nIf Application exits at this phase, Developer needs to proceed with processing\nafter the application is restored with `wait_for_transaction` function, passing\nshard_block_id and message from this event. Do not forget to specify abi of your contract\nas well, it is crucial for proccessing. See `processing.wait_for_transaction` documentation."
          },
          {
            "name": "FetchNextBlockFailed",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "shard_block_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "error",
                "type": "Ref",
                "ref_name": "client.ClientError",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Notifies the app that the next block can't be fetched.",
            "description": "If no block was fetched within `NetworkConfig.wait_for_timeout` then processing stops.\nThis may happen when the shard stops, or there are other network issues.\nIn this case Developer should resume message processing with `wait_for_transaction`, passing shard_block_id,\nmessage and contract abi to it. Note that passing ABI is crucial, because it will influence the processing strategy.\n\nAnother way to tune this is to specify long timeout in `NetworkConfig.wait_for_timeout`"
          },
          {
            "name": "MessageExpired",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "message_id",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "message",
                "type": "String",
                "summary": null,
                "description": null
              },
              {
                "name": "error",
                "type": "Ref",
                "ref_name": "client.ClientError",
                "summary": null,
                "description": null
              }
            ],
            "summary": "Notifies the app that the message was not executed within expire timeout on-chain and will never be because it is already expired. The expiration timeout can be configured with `AbiConfig` parameters.",
            "description": "This event occurs only for the contracts which ABI includes \"expire\" header.\n\nIf Application specifies `NetworkConfig.message_retries_count` > 0, then `process_message`\nwill perform retries: will create a new message and send it again and repeat it untill it reaches\nthe maximum retries count or receives a successful result.  All the processing\nevents will be repeated."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfProcessMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "transaction",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Parsed transaction.",
            "description": "In addition to the regular transaction fields there is a\n`boc` field encoded with `base64` which contains source\ntransaction BOC."
          },
          {
            "name": "out_messages",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "List of output messages' BOCs.",
            "description": "Encoded as `base64`"
          },
          {
            "name": "decoded",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "processing.DecodedOutput"
            },
            "summary": "Optional decoded message bodies according to the optional `abi` parameter.",
            "description": null
          },
          {
            "name": "fees",
            "type": "Ref",
            "ref_name": "tvm.TransactionFees",
            "summary": "Transaction fees",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "DecodedOutput",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "out_messages",
            "type": "Array",
            "array_item": {
              "type": "Optional",
              "optional_inner": {
                "type": "Ref",
                "ref_name": "abi.DecodedMessageBody"
              }
            },
            "summary": "Decoded bodies of the out messages.",
            "description": "If the message can't be decoded, then `None` will be stored in\nthe appropriate position."
          },
          {
            "name": "output",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Decoded body of the function output message.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfSendMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "message",
            "type": "String",
            "summary": "Message BOC.",
            "description": null
          },
          {
            "name": "abi",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.Abi"
            },
            "summary": "Optional message ABI.",
            "description": "If this parameter is specified and the message has the\n`expire` header then expiration time will be checked against\nthe current time to prevent unnecessary sending of already expired message.\n\nThe `message already expired` error will be returned in this\ncase.\n\nNote, that specifying `abi` for ABI compliant contracts is\nstrongly recommended, so that proper processing strategy can be\nchosen."
          },
          {
            "name": "send_events",
            "type": "Boolean",
            "summary": "Flag for requesting events sending",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfSendMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "shard_block_id",
            "type": "String",
            "summary": "The last generated shard block of the message destination account before the message was sent.",
            "description": "This block id must be used as a parameter of the\n`wait_for_transaction`."
          },
          {
            "name": "sending_endpoints",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "The list of endpoints to which the message was sent.",
            "description": "This list id must be used as a parameter of the\n`wait_for_transaction`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfWaitForTransaction",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "abi",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.Abi"
            },
            "summary": "Optional ABI for decoding the transaction result.",
            "description": "If it is specified, then the output messages' bodies will be\ndecoded according to this ABI.\n\nThe `abi_decoded` result field will be filled out."
          },
          {
            "name": "message",
            "type": "String",
            "summary": "Message BOC.",
            "description": "Encoded with `base64`."
          },
          {
            "name": "shard_block_id",
            "type": "String",
            "summary": "The last generated block id of the destination account shard before the message was sent.",
            "description": "You must provide the same value as the `send_message` has returned."
          },
          {
            "name": "send_events",
            "type": "Boolean",
            "summary": "Flag that enables/disables intermediate events",
            "description": null
          },
          {
            "name": "sending_endpoints",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "String"
              }
            },
            "summary": "The list of endpoints to which the message was sent.",
            "description": "Use this field to get more informative errors.\nProvide the same value as the `send_message` has returned.\nIf the message was not delivered (expired), SDK will log the endpoint URLs, used for its sending."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfProcessMessage",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "message_encode_params",
            "type": "Ref",
            "ref_name": "abi.ParamsOfEncodeMessage",
            "summary": "Message encode parameters.",
            "description": null
          },
          {
            "name": "send_events",
            "type": "Boolean",
            "summary": "Flag for requesting events sending",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "send_message",
        "summary": "Sends message to the network",
        "description": "Sends message to the network and returns the last generated shard block of the destination account\nbefore the message was sent. It will be required later for message processing.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "processing.ParamsOfSendMessage",
            "summary": null,
            "description": null
          },
          {
            "name": "callback",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "Request"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "processing.ResultOfSendMessage"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "wait_for_transaction",
        "summary": "Performs monitoring of the network for the result transaction of the external inbound message processing.",
        "description": "`send_events` enables intermediate events, such as `WillFetchNextBlock`,\n`FetchNextBlockFailed` that may be useful for logging of new shard blocks creation\nduring message processing.\n\nNote, that presence of the `abi` parameter is critical for ABI\ncompliant contracts. Message processing uses drastically\ndifferent strategy for processing message for contracts which\nABI includes \"expire\" header.\n\nWhen the ABI header `expire` is present, the processing uses\n`message expiration` strategy:\n- The maximum block gen time is set to\n  `message_expiration_timeout + transaction_wait_timeout`.\n- When maximum block gen time is reached, the processing will\n  be finished with `MessageExpired` error.\n\nWhen the ABI header `expire` isn't present or `abi` parameter\nisn't specified, the processing uses `transaction waiting`\nstrategy:\n- The maximum block gen time is set to\n  `now() + transaction_wait_timeout`.\n\n- If maximum block gen time is reached and no result transaction is found,\nthe processing will exit with an error.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "processing.ParamsOfWaitForTransaction",
            "summary": null,
            "description": null
          },
          {
            "name": "callback",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "Request"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "processing.ResultOfProcessMessage"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "process_message",
        "summary": "Creates message, sends it to the network and monitors its processing.",
        "description": "Creates ABI-compatible message,\nsends it to the network and monitors for the result transaction.\nDecodes the output messages' bodies.\n\nIf contract's ABI includes \"expire\" header, then\nSDK implements retries in case of unsuccessful message delivery within the expiration\ntimeout: SDK recreates the message, sends it and processes it again.\n\nThe intermediate events, such as `WillFetchFirstBlock`, `WillSend`, `DidSend`,\n`WillFetchNextBlock`, etc - are switched on/off by `send_events` flag\nand logged into the supplied callback function.\n\nThe retry configuration parameters are defined in the client's `NetworkConfig` and `AbiConfig`.\n\nIf contract's ABI does not include \"expire\" header\nthen, if no transaction is found within the network timeout (see config parameter ), exits with error.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "processing.ParamsOfProcessMessage",
            "summary": null,
            "description": null
          },
          {
            "name": "request",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "Request"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "processing.ResultOfProcessMessage"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "utils",
    "summary": "Misc utility Functions.",
    "description": null,
    "types": [
      {
        "name": "AddressStringFormat",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "AccountId",
            "type": "Struct",
            "struct_fields": [],
            "summary": null,
            "description": null
          },
          {
            "name": "Hex",
            "type": "Struct",
            "struct_fields": [],
            "summary": null,
            "description": null
          },
          {
            "name": "Base64",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "url",
                "type": "Boolean",
                "summary": null,
                "description": null
              },
              {
                "name": "test",
                "type": "Boolean",
                "summary": null,
                "description": null
              },
              {
                "name": "bounce",
                "type": "Boolean",
                "summary": null,
                "description": null
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AccountAddressType",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "AccountId",
            "type": "None",
            "summary": null,
            "description": null
          },
          {
            "name": "Hex",
            "type": "None",
            "summary": null,
            "description": null
          },
          {
            "name": "Base64",
            "type": "None",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfConvertAddress",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "address",
            "type": "String",
            "summary": "Account address in any TON format.",
            "description": null
          },
          {
            "name": "output_format",
            "type": "Ref",
            "ref_name": "utils.AddressStringFormat",
            "summary": "Specify the format to convert to.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfConvertAddress",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "address",
            "type": "String",
            "summary": "Address in the specified format",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfGetAddressType",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "address",
            "type": "String",
            "summary": "Account address in any TON format.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfGetAddressType",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "address_type",
            "type": "Ref",
            "ref_name": "utils.AccountAddressType",
            "summary": "Account address type.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfCalcStorageFee",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "account",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "period",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfCalcStorageFee",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "fee",
            "type": "String",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfCompressZstd",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "uncompressed",
            "type": "String",
            "summary": "Uncompressed data.",
            "description": "Must be encoded as base64."
          },
          {
            "name": "level",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "Int",
              "number_size": 32
            },
            "summary": "Compression level, from 1 to 21. Where: 1 - lowest compression level (fastest compression); 21 - highest compression level (slowest compression). If level is omitted, the default compression level is used (currently `3`).",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfCompressZstd",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "compressed",
            "type": "String",
            "summary": "Compressed data.",
            "description": "Must be encoded as base64."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfDecompressZstd",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "compressed",
            "type": "String",
            "summary": "Compressed data.",
            "description": "Must be encoded as base64."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfDecompressZstd",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "decompressed",
            "type": "String",
            "summary": "Decompressed data.",
            "description": "Must be encoded as base64."
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "convert_address",
        "summary": "Converts address from any TON format to any TON format",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "utils.ParamsOfConvertAddress",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "utils.ResultOfConvertAddress"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "get_address_type",
        "summary": "Validates and returns the type of any TON address.",
        "description": "Address types are the following\n\n`0:919db8e740d50bf349df2eea03fa30c385d846b991ff5542e67098ee833fc7f7` - standard TON address most\ncommonly used in all cases. Also called as hex address\n`919db8e740d50bf349df2eea03fa30c385d846b991ff5542e67098ee833fc7f7` - account ID. A part of full\naddress. Identifies account inside particular workchain\n`EQCRnbjnQNUL80nfLuoD+jDDhdhGuZH/VULmcJjugz/H9wam` - base64 address. Also called \"user-friendly\".\nWas used at the beginning of TON. Now it is supported for compatibility",
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "utils.ParamsOfGetAddressType",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "utils.ResultOfGetAddressType"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "calc_storage_fee",
        "summary": "Calculates storage fee for an account over a specified time period",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "utils.ParamsOfCalcStorageFee",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "utils.ResultOfCalcStorageFee"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "compress_zstd",
        "summary": "Compresses data using Zstandard algorithm",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "utils.ParamsOfCompressZstd",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "utils.ResultOfCompressZstd"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "decompress_zstd",
        "summary": "Decompresses data using Zstandard algorithm",
        "description": null,
        "params": [
          {
            "name": "_context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "utils.ParamsOfDecompressZstd",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "utils.ResultOfDecompressZstd"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "tvm",
    "summary": null,
    "description": null,
    "types": [
      {
        "name": "TvmErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "CanNotReadTransaction",
            "type": "Number",
            "value": "401",
            "summary": null,
            "description": null
          },
          {
            "name": "CanNotReadBlockchainConfig",
            "type": "Number",
            "value": "402",
            "summary": null,
            "description": null
          },
          {
            "name": "TransactionAborted",
            "type": "Number",
            "value": "403",
            "summary": null,
            "description": null
          },
          {
            "name": "InternalError",
            "type": "Number",
            "value": "404",
            "summary": null,
            "description": null
          },
          {
            "name": "ActionPhaseFailed",
            "type": "Number",
            "value": "405",
            "summary": null,
            "description": null
          },
          {
            "name": "AccountCodeMissing",
            "type": "Number",
            "value": "406",
            "summary": null,
            "description": null
          },
          {
            "name": "LowBalance",
            "type": "Number",
            "value": "407",
            "summary": null,
            "description": null
          },
          {
            "name": "AccountFrozenOrDeleted",
            "type": "Number",
            "value": "408",
            "summary": null,
            "description": null
          },
          {
            "name": "AccountMissing",
            "type": "Number",
            "value": "409",
            "summary": null,
            "description": null
          },
          {
            "name": "UnknownExecutionError",
            "type": "Number",
            "value": "410",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidInputStack",
            "type": "Number",
            "value": "411",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidAccountBoc",
            "type": "Number",
            "value": "412",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidMessageType",
            "type": "Number",
            "value": "413",
            "summary": null,
            "description": null
          },
          {
            "name": "ContractExecutionError",
            "type": "Number",
            "value": "414",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ExecutionOptions",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "blockchain_config",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "boc with config",
            "description": null
          },
          {
            "name": "block_time",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "time that is used as transaction time",
            "description": null
          },
          {
            "name": "block_lt",
            "type": "Optional",
            "optional_inner": {
              "type": "BigInt",
              "number_type": "UInt",
              "number_size": 64
            },
            "summary": "block logical time",
            "description": null
          },
          {
            "name": "transaction_lt",
            "type": "Optional",
            "optional_inner": {
              "type": "BigInt",
              "number_type": "UInt",
              "number_size": 64
            },
            "summary": "transaction logical time",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AccountForExecutor",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "None",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Non-existing account to run a creation internal message. Should be used with `skip_transaction_check = true` if the message has no deploy data since transactions on the uninitialized account are always aborted",
            "description": null
          },
          {
            "name": "Uninit",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Emulate uninitialized account to run deploy message",
            "description": null
          },
          {
            "name": "Account",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "boc",
                "type": "String",
                "summary": "Account BOC.",
                "description": "Encoded as base64."
              },
              {
                "name": "unlimited_balance",
                "type": "Optional",
                "optional_inner": {
                  "type": "Boolean"
                },
                "summary": "Flag for running account with the unlimited balance.",
                "description": "Can be used to calculate transaction fees without balance check"
              }
            ],
            "summary": "Account state to run message",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "TransactionFees",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "in_msg_fwd_fee",
            "type": "BigInt",
            "number_type": "UInt",
            "number_size": 64,
            "summary": null,
            "description": null
          },
          {
            "name": "storage_fee",
            "type": "BigInt",
            "number_type": "UInt",
            "number_size": 64,
            "summary": null,
            "description": null
          },
          {
            "name": "gas_fee",
            "type": "BigInt",
            "number_type": "UInt",
            "number_size": 64,
            "summary": null,
            "description": null
          },
          {
            "name": "out_msgs_fwd_fee",
            "type": "BigInt",
            "number_type": "UInt",
            "number_size": 64,
            "summary": null,
            "description": null
          },
          {
            "name": "total_account_fees",
            "type": "BigInt",
            "number_type": "UInt",
            "number_size": 64,
            "summary": null,
            "description": null
          },
          {
            "name": "total_output",
            "type": "BigInt",
            "number_type": "UInt",
            "number_size": 64,
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfRunExecutor",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "message",
            "type": "String",
            "summary": "Input message BOC.",
            "description": "Must be encoded as base64."
          },
          {
            "name": "account",
            "type": "Ref",
            "ref_name": "tvm.AccountForExecutor",
            "summary": "Account to run on executor",
            "description": null
          },
          {
            "name": "execution_options",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "tvm.ExecutionOptions"
            },
            "summary": "Execution options.",
            "description": null
          },
          {
            "name": "abi",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.Abi"
            },
            "summary": "Contract ABI for decoding output messages",
            "description": null
          },
          {
            "name": "skip_transaction_check",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Skip transaction check flag",
            "description": null
          },
          {
            "name": "boc_cache",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "boc.BocCacheType"
            },
            "summary": "Cache type to put the result.",
            "description": "The BOC itself returned if no cache type provided"
          },
          {
            "name": "return_updated_account",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Return updated account flag.",
            "description": "Empty string is returned if the flag is `false`"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfRunExecutor",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "transaction",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Parsed transaction.",
            "description": "In addition to the regular transaction fields there is a\n`boc` field encoded with `base64` which contains source\ntransaction BOC."
          },
          {
            "name": "out_messages",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "List of output messages' BOCs.",
            "description": "Encoded as `base64`"
          },
          {
            "name": "decoded",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "processing.DecodedOutput"
            },
            "summary": "Optional decoded message bodies according to the optional `abi` parameter.",
            "description": null
          },
          {
            "name": "account",
            "type": "String",
            "summary": "Updated account state BOC.",
            "description": "Encoded as `base64`"
          },
          {
            "name": "fees",
            "type": "Ref",
            "ref_name": "tvm.TransactionFees",
            "summary": "Transaction fees",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfRunTvm",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "message",
            "type": "String",
            "summary": "Input message BOC.",
            "description": "Must be encoded as base64."
          },
          {
            "name": "account",
            "type": "String",
            "summary": "Account BOC.",
            "description": "Must be encoded as base64."
          },
          {
            "name": "execution_options",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "tvm.ExecutionOptions"
            },
            "summary": "Execution options.",
            "description": null
          },
          {
            "name": "abi",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.Abi"
            },
            "summary": "Contract ABI for decoding output messages",
            "description": null
          },
          {
            "name": "boc_cache",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "boc.BocCacheType"
            },
            "summary": "Cache type to put the result.",
            "description": "The BOC itself returned if no cache type provided"
          },
          {
            "name": "return_updated_account",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Return updated account flag.",
            "description": "Empty string is returned if the flag is `false`"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfRunTvm",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "out_messages",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "List of output messages' BOCs.",
            "description": "Encoded as `base64`"
          },
          {
            "name": "decoded",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "processing.DecodedOutput"
            },
            "summary": "Optional decoded message bodies according to the optional `abi` parameter.",
            "description": null
          },
          {
            "name": "account",
            "type": "String",
            "summary": "Updated account state BOC.",
            "description": "Encoded as `base64`. Attention! Only `account_state.storage.state.data` part of the BOC is updated."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfRunGet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "account",
            "type": "String",
            "summary": "Account BOC in `base64`",
            "description": null
          },
          {
            "name": "function_name",
            "type": "String",
            "summary": "Function name",
            "description": null
          },
          {
            "name": "input",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Input parameters",
            "description": null
          },
          {
            "name": "execution_options",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "tvm.ExecutionOptions"
            },
            "summary": "Execution options",
            "description": null
          },
          {
            "name": "tuple_list_as_array",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Convert lists based on nested tuples in the **result** into plain arrays.",
            "description": "Default is `false`. Input parameters may use any of lists representations\nIf you receive this error on Web: \"Runtime error. Unreachable code should not be executed...\",\nset this flag to true.\nThis may happen, for example, when elector contract contains too many participants"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfRunGet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "output",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Values returned by get-method on stack",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "run_executor",
        "summary": "Emulates all the phases of contract execution locally",
        "description": "Performs all the phases of contract execution on Transaction Executor -\nthe same component that is used on Validator Nodes.\n\nCan be used for contract debugging, to find out the reason why a message was not delivered successfully.\nValidators throw away the failed external inbound messages (if they failed bedore `ACCEPT`) in the real network.\nThis is why these messages are impossible to debug in the real network.\nWith the help of run_executor you can do that. In fact, `process_message` function\nperforms local check with `run_executor` if there was no transaction as a result of processing\nand returns the error, if there is one.\n\nAnother use case to use `run_executor` is to estimate fees for message execution.\nSet  `AccountForExecutor::Account.unlimited_balance`\nto `true` so that emulation will not depend on the actual balance.\nThis may be needed to calculate deploy fees for an account that does not exist yet.\nJSON with fees is in `fees` field of the result.\n\nOne more use case - you can produce the sequence of operations,\nthus emulating the sequential contract calls locally.\nAnd so on.\n\nTransaction executor requires account BOC (bag of cells) as a parameter.\nTo get the account BOC - use `net.query` method to download it from GraphQL API\n(field `boc` of `account`) or generate it with `abi.encode_account` method.\n\nAlso it requires message BOC. To get the message BOC - use `abi.encode_message` or `abi.encode_internal_message`.\n\nIf you need this emulation to be as precise as possible (for instance - emulate transaction\nwith particular lt in particular block or use particular blockchain config,\ndownloaded from a particular key block - then specify `execution_options` parameter.\n\nIf you need to see the aborted transaction as a result, not as an error, set `skip_transaction_check` to `true`.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "tvm.ParamsOfRunExecutor",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "tvm.ResultOfRunExecutor"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "run_tvm",
        "summary": "Executes get-methods of ABI-compatible contracts",
        "description": "Performs only a part of compute phase of transaction execution\nthat is used to run get-methods of ABI-compatible contracts.\n\nIf you try to run get-methods with `run_executor` you will get an error, because it checks ACCEPT and exits\nif there is none, which is actually true for get-methods.\n\n To get the account BOC (bag of cells) - use `net.query` method to download it from GraphQL API\n(field `boc` of `account`) or generate it with `abi.encode_account method`.\nTo get the message BOC - use `abi.encode_message` or prepare it any other way, for instance, with FIFT script.\n\nAttention! Updated account state is produces as well, but only\n`account_state.storage.state.data`  part of the BOC is updated.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "tvm.ParamsOfRunTvm",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "tvm.ResultOfRunTvm"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "run_get",
        "summary": "Executes a get-method of FIFT contract",
        "description": "Executes a get-method of FIFT contract that fulfills the smc-guidelines https://test.ton.org/smc-guidelines.txt\nand returns the result data from TVM's stack",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "tvm.ParamsOfRunGet",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "tvm.ResultOfRunGet"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "net",
    "summary": "Network access.",
    "description": null,
    "types": [
      {
        "name": "NetErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "QueryFailed",
            "type": "Number",
            "value": "601",
            "summary": null,
            "description": null
          },
          {
            "name": "SubscribeFailed",
            "type": "Number",
            "value": "602",
            "summary": null,
            "description": null
          },
          {
            "name": "WaitForFailed",
            "type": "Number",
            "value": "603",
            "summary": null,
            "description": null
          },
          {
            "name": "GetSubscriptionResultFailed",
            "type": "Number",
            "value": "604",
            "summary": null,
            "description": null
          },
          {
            "name": "InvalidServerResponse",
            "type": "Number",
            "value": "605",
            "summary": null,
            "description": null
          },
          {
            "name": "ClockOutOfSync",
            "type": "Number",
            "value": "606",
            "summary": null,
            "description": null
          },
          {
            "name": "WaitForTimeout",
            "type": "Number",
            "value": "607",
            "summary": null,
            "description": null
          },
          {
            "name": "GraphqlError",
            "type": "Number",
            "value": "608",
            "summary": null,
            "description": null
          },
          {
            "name": "NetworkModuleSuspended",
            "type": "Number",
            "value": "609",
            "summary": null,
            "description": null
          },
          {
            "name": "WebsocketDisconnected",
            "type": "Number",
            "value": "610",
            "summary": null,
            "description": null
          },
          {
            "name": "NotSupported",
            "type": "Number",
            "value": "611",
            "summary": null,
            "description": null
          },
          {
            "name": "NoEndpointsProvided",
            "type": "Number",
            "value": "612",
            "summary": null,
            "description": null
          },
          {
            "name": "GraphqlWebsocketInitError",
            "type": "Number",
            "value": "613",
            "summary": null,
            "description": null
          },
          {
            "name": "NetworkModuleResumed",
            "type": "Number",
            "value": "614",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "OrderBy",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "path",
            "type": "String",
            "summary": null,
            "description": null
          },
          {
            "name": "direction",
            "type": "Ref",
            "ref_name": "net.SortDirection",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "SortDirection",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "ASC",
            "type": "None",
            "summary": null,
            "description": null
          },
          {
            "name": "DESC",
            "type": "None",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfQueryOperation",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "QueryCollection",
            "type": "Ref",
            "ref_name": "net.ParamsOfQueryCollection",
            "summary": null,
            "description": null
          },
          {
            "name": "WaitForCollection",
            "type": "Ref",
            "ref_name": "net.ParamsOfWaitForCollection",
            "summary": null,
            "description": null
          },
          {
            "name": "AggregateCollection",
            "type": "Ref",
            "ref_name": "net.ParamsOfAggregateCollection",
            "summary": null,
            "description": null
          },
          {
            "name": "QueryCounterparties",
            "type": "Ref",
            "ref_name": "net.ParamsOfQueryCounterparties",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "FieldAggregation",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "field",
            "type": "String",
            "summary": "Dot separated path to the field",
            "description": null
          },
          {
            "name": "fn",
            "type": "Ref",
            "ref_name": "net.AggregationFn",
            "summary": "Aggregation function that must be applied to field values",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "AggregationFn",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "COUNT",
            "type": "None",
            "summary": "Returns count of filtered record",
            "description": null
          },
          {
            "name": "MIN",
            "type": "None",
            "summary": "Returns the minimal value for a field in filtered records",
            "description": null
          },
          {
            "name": "MAX",
            "type": "None",
            "summary": "Returns the maximal value for a field in filtered records",
            "description": null
          },
          {
            "name": "SUM",
            "type": "None",
            "summary": "Returns a sum of values for a field in filtered records",
            "description": null
          },
          {
            "name": "AVERAGE",
            "type": "None",
            "summary": "Returns an average value for a field in filtered records",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "TransactionNode",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "id",
            "type": "String",
            "summary": "Transaction id.",
            "description": null
          },
          {
            "name": "in_msg",
            "type": "String",
            "summary": "In message id.",
            "description": null
          },
          {
            "name": "out_msgs",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "Out message ids.",
            "description": null
          },
          {
            "name": "account_addr",
            "type": "String",
            "summary": "Account address.",
            "description": null
          },
          {
            "name": "total_fees",
            "type": "String",
            "summary": "Transactions total fees.",
            "description": null
          },
          {
            "name": "aborted",
            "type": "Boolean",
            "summary": "Aborted flag.",
            "description": null
          },
          {
            "name": "exit_code",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Compute phase exit code.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "MessageNode",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "id",
            "type": "String",
            "summary": "Message id.",
            "description": null
          },
          {
            "name": "src_transaction_id",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Source transaction id.",
            "description": "This field is missing for an external inbound messages."
          },
          {
            "name": "dst_transaction_id",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Destination transaction id.",
            "description": "This field is missing for an external outbound messages."
          },
          {
            "name": "src",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Source address.",
            "description": null
          },
          {
            "name": "dst",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Destination address.",
            "description": null
          },
          {
            "name": "value",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Transferred tokens value.",
            "description": null
          },
          {
            "name": "bounce",
            "type": "Boolean",
            "summary": "Bounce flag.",
            "description": null
          },
          {
            "name": "decoded_body",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "abi.DecodedMessageBody"
            },
            "summary": "Decoded body.",
            "description": "Library tries to decode message body using provided `params.abi_registry`.\nThis field will be missing if none of the provided abi can be used to decode."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfQuery",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "query",
            "type": "String",
            "summary": "GraphQL query text.",
            "description": null
          },
          {
            "name": "variables",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Variables used in query.",
            "description": "Must be a map with named values that can be used in query."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfQuery",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "result",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Result provided by DAppServer.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfBatchQuery",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "operations",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "net.ParamsOfQueryOperation"
            },
            "summary": "List of query operations that must be performed per single fetch.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfBatchQuery",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "results",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Result values for batched queries.",
            "description": "Returns an array of values. Each value corresponds to `queries` item."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfQueryCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "collection",
            "type": "String",
            "summary": "Collection name (accounts, blocks, transactions, messages, block_signatures)",
            "description": null
          },
          {
            "name": "filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Collection filter",
            "description": null
          },
          {
            "name": "result",
            "type": "String",
            "summary": "Projection (result) string",
            "description": null
          },
          {
            "name": "order",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "net.OrderBy"
              }
            },
            "summary": "Sorting order",
            "description": null
          },
          {
            "name": "limit",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Number of documents to return",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfQueryCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "result",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Objects that match the provided criteria",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfAggregateCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "collection",
            "type": "String",
            "summary": "Collection name (accounts, blocks, transactions, messages, block_signatures)",
            "description": null
          },
          {
            "name": "filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Collection filter",
            "description": null
          },
          {
            "name": "fields",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "net.FieldAggregation"
              }
            },
            "summary": "Projection (result) string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfAggregateCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "values",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Values for requested fields.",
            "description": "Returns an array of strings. Each string refers to the corresponding `fields` item.\nNumeric value is returned as a decimal string representations."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfWaitForCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "collection",
            "type": "String",
            "summary": "Collection name (accounts, blocks, transactions, messages, block_signatures)",
            "description": null
          },
          {
            "name": "filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Collection filter",
            "description": null
          },
          {
            "name": "result",
            "type": "String",
            "summary": "Projection (result) string",
            "description": null
          },
          {
            "name": "timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Query timeout",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfWaitForCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "result",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "First found object that matches the provided criteria",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfSubscribeCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "handle",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Subscription handle.",
            "description": "Must be closed with `unsubscribe`"
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfSubscribeCollection",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "collection",
            "type": "String",
            "summary": "Collection name (accounts, blocks, transactions, messages, block_signatures)",
            "description": null
          },
          {
            "name": "filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Collection filter",
            "description": null
          },
          {
            "name": "result",
            "type": "String",
            "summary": "Projection (result) string",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfFindLastShardBlock",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "address",
            "type": "String",
            "summary": "Account address",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfFindLastShardBlock",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "block_id",
            "type": "String",
            "summary": "Account shard last block ID",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "EndpointsSet",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "endpoints",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "List of endpoints provided by server",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfGetEndpoints",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "query",
            "type": "String",
            "summary": "Current query endpoint",
            "description": null
          },
          {
            "name": "endpoints",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "List of all endpoints used by client",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfQueryCounterparties",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "account",
            "type": "String",
            "summary": "Account address",
            "description": null
          },
          {
            "name": "result",
            "type": "String",
            "summary": "Projection (result) string",
            "description": null
          },
          {
            "name": "first",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Number of counterparties to return",
            "description": null
          },
          {
            "name": "after",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "`cursor` field of the last received result",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfQueryTransactionTree",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "in_msg",
            "type": "String",
            "summary": "Input message id.",
            "description": null
          },
          {
            "name": "abi_registry",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "Ref",
                "ref_name": "abi.Abi"
              }
            },
            "summary": "List of contract ABIs that will be used to decode message bodies. Library will try to decode each returned message body using any ABI from the registry.",
            "description": null
          },
          {
            "name": "timeout",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Timeout used to limit waiting time for the missing messages and transaction.",
            "description": "If some of the following messages and transactions are missing yet\nThe maximum waiting time is regulated by this option.\n\nDefault value is 60000 (1 min)."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfQueryTransactionTree",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "messages",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "net.MessageNode"
            },
            "summary": "Messages.",
            "description": null
          },
          {
            "name": "transactions",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "net.TransactionNode"
            },
            "summary": "Transactions.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfCreateBlockIterator",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "start_time",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Starting time to iterate from.",
            "description": "If the application specifies this parameter then the iteration\nincludes blocks with `gen_utime` >= `start_time`.\nOtherwise the iteration starts from zero state.\n\nMust be specified in seconds."
          },
          {
            "name": "end_time",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Optional end time to iterate for.",
            "description": "If the application specifies this parameter then the iteration\nincludes blocks with `gen_utime` < `end_time`.\nOtherwise the iteration never stops.\n\nMust be specified in seconds."
          },
          {
            "name": "shard_filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "String"
              }
            },
            "summary": "Shard prefix filter.",
            "description": "If the application specifies this parameter and it is not the empty array\nthen the iteration will include items related to accounts that belongs to\nthe specified shard prefixes.\nShard prefix must be represented as a string \"workchain:prefix\".\nWhere `workchain` is a signed integer and the `prefix` if a hexadecimal\nrepresentation if the 64-bit unsigned integer with tagged shard prefix.\nFor example: \"0:3800000000000000\"."
          },
          {
            "name": "result",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Projection (result) string.",
            "description": "List of the fields that must be returned for iterated items.\nThis field is the same as the `result` parameter of\nthe `query_collection` function.\nNote that iterated items can contains additional fields that are\nnot requested in the `result`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "RegisteredIterator",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "handle",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Iterator handle.",
            "description": "Must be removed using `remove_iterator`\nwhen it is no more needed for the application."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfResumeBlockIterator",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "resume_state",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Iterator state from which to resume.",
            "description": "Same as value returned from `iterator_next`."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfCreateTransactionIterator",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "start_time",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Starting time to iterate from.",
            "description": "If the application specifies this parameter then the iteration\nincludes blocks with `gen_utime` >= `start_time`.\nOtherwise the iteration starts from zero state.\n\nMust be specified in seconds."
          },
          {
            "name": "end_time",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Optional end time to iterate for.",
            "description": "If the application specifies this parameter then the iteration\nincludes blocks with `gen_utime` < `end_time`.\nOtherwise the iteration never stops.\n\nMust be specified in seconds."
          },
          {
            "name": "shard_filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "String"
              }
            },
            "summary": "Shard prefix filters.",
            "description": "If the application specifies this parameter and it is not an empty array\nthen the iteration will include items related to accounts that belongs to\nthe specified shard prefixes.\nShard prefix must be represented as a string \"workchain:prefix\".\nWhere `workchain` is a signed integer and the `prefix` if a hexadecimal\nrepresentation if the 64-bit unsigned integer with tagged shard prefix.\nFor example: \"0:3800000000000000\".\nAccount address conforms to the shard filter if\nit belongs to the filter workchain and the first bits of address match to\nthe shard prefix. Only transactions with suitable account addresses are iterated."
          },
          {
            "name": "accounts_filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "String"
              }
            },
            "summary": "Account address filter.",
            "description": "Application can specify the list of accounts for which\nit wants to iterate transactions.\n\nIf this parameter is missing or an empty list then the library iterates\ntransactions for all accounts that pass the shard filter.\n\nNote that the library doesn't detect conflicts between the account filter and the shard filter\nif both are specified.\nSo it is an application responsibility to specify the correct filter combination."
          },
          {
            "name": "result",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Projection (result) string.",
            "description": "List of the fields that must be returned for iterated items.\nThis field is the same as the `result` parameter of\nthe `query_collection` function.\nNote that iterated items can contain additional fields that are\nnot requested in the `result`."
          },
          {
            "name": "include_transfers",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Include `transfers` field in iterated transactions.",
            "description": "If this parameter is `true` then each transaction contains field\n`transfers` with list of transfer. See more about this structure in function description."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfResumeTransactionIterator",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "resume_state",
            "type": "Ref",
            "ref_name": "Value",
            "summary": "Iterator state from which to resume.",
            "description": "Same as value returned from `iterator_next`."
          },
          {
            "name": "accounts_filter",
            "type": "Optional",
            "optional_inner": {
              "type": "Array",
              "array_item": {
                "type": "String"
              }
            },
            "summary": "Account address filter.",
            "description": "Application can specify the list of accounts for which\nit wants to iterate transactions.\n\nIf this parameter is missing or an empty list then the library iterates\ntransactions for all accounts that passes the shard filter.\n\nNote that the library doesn't detect conflicts between the account filter and the shard filter\nif both are specified.\nSo it is the application's responsibility to specify the correct filter combination."
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ParamsOfIteratorNext",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "iterator",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 32,
            "summary": "Iterator handle",
            "description": null
          },
          {
            "name": "limit",
            "type": "Optional",
            "optional_inner": {
              "type": "Number",
              "number_type": "UInt",
              "number_size": 32
            },
            "summary": "Maximum count of the returned items.",
            "description": "If value is missing or is less than 1 the library uses 1."
          },
          {
            "name": "return_resume_state",
            "type": "Optional",
            "optional_inner": {
              "type": "Boolean"
            },
            "summary": "Indicates that function must return the iterator state that can be used for resuming iteration.",
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "ResultOfIteratorNext",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "items",
            "type": "Array",
            "array_item": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Next available items.",
            "description": "Note that `iterator_next` can return an empty items and `has_more` equals to `true`.\nIn this case the application have to continue iteration.\nSuch situation can take place when there is no data yet but\nthe requested `end_time` is not reached."
          },
          {
            "name": "has_more",
            "type": "Boolean",
            "summary": "Indicates that there are more available items in iterated range.",
            "description": null
          },
          {
            "name": "resume_state",
            "type": "Optional",
            "optional_inner": {
              "type": "Ref",
              "ref_name": "Value"
            },
            "summary": "Optional iterator state that can be used for resuming iteration.",
            "description": "This field is returned only if the `return_resume_state` parameter\nis specified.\n\nNote that `resume_state` corresponds to the iteration position\nafter the returned items."
          }
        ],
        "summary": null,
        "description": null
      }
    ],
    "functions": [
      {
        "name": "query",
        "summary": "Performs DAppServer GraphQL query.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfQuery",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfQuery"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "batch_query",
        "summary": "Performs multiple queries per single fetch.",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfBatchQuery",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfBatchQuery"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "query_collection",
        "summary": "Queries collection data",
        "description": "Queries data that satisfies the `filter` conditions,\nlimits the number of returned records and orders them.\nThe projection fields are limited to `result` fields",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfQueryCollection",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfQueryCollection"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "aggregate_collection",
        "summary": "Aggregates collection data.",
        "description": "Aggregates values from the specified `fields` for records\nthat satisfies the `filter` conditions,",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfAggregateCollection",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfAggregateCollection"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "wait_for_collection",
        "summary": "Returns an object that fulfills the conditions or waits for its appearance",
        "description": "Triggers only once.\nIf object that satisfies the `filter` conditions\nalready exists - returns it immediately.\nIf not - waits for insert/update of data within the specified `timeout`,\nand returns it.\nThe projection fields are limited to `result` fields",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfWaitForCollection",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfWaitForCollection"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "unsubscribe",
        "summary": "Cancels a subscription",
        "description": "Cancels a subscription specified by its handle.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ResultOfSubscribeCollection",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "subscribe_collection",
        "summary": "Creates a subscription",
        "description": "Triggers for each insert/update of data that satisfies\nthe `filter` conditions.\nThe projection fields are limited to `result` fields.\n\nThe subscription is a persistent communication channel between\nclient and Free TON Network.\nAll changes in the blockchain will be reflected in realtime.\nChanges means inserts and updates of the blockchain entities.\n\n### Important Notes on Subscriptions\n\nUnfortunately sometimes the connection with the network brakes down.\nIn this situation the library attempts to reconnect to the network.\nThis reconnection sequence can take significant time.\nAll of this time the client is disconnected from the network.\n\nBad news is that all blockchain changes that happened while\nthe client was disconnected are lost.\n\nGood news is that the client report errors to the callback when\nit loses and resumes connection.\n\nSo, if the lost changes are important to the application then\nthe application must handle these error reports.\n\nLibrary reports errors with `responseType` == 101\nand the error object passed via `params`.\n\nWhen the library has successfully reconnected\nthe application receives callback with\n`responseType` == 101 and `params.code` == 614 (NetworkModuleResumed).\n\nApplication can use several ways to handle this situation:\n- If application monitors changes for the single blockchain\nobject (for example specific account):  application\ncan perform a query for this object and handle actual data as a\nregular data from the subscription.\n- If application monitors sequence of some blockchain objects\n(for example transactions of the specific account): application must\nrefresh all cached (or visible to user) lists where this sequences presents.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfSubscribeCollection",
            "summary": null,
            "description": null
          },
          {
            "name": "callback",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "Request"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfSubscribeCollection"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "suspend",
        "summary": "Suspends network module to stop any network activity",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "resume",
        "summary": "Resumes network module to enable network activity",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "find_last_shard_block",
        "summary": "Returns ID of the last block in a specified account shard",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfFindLastShardBlock",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfFindLastShardBlock"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "fetch_endpoints",
        "summary": "Requests the list of alternative endpoints from server",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.EndpointsSet"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "set_endpoints",
        "summary": "Sets the list of endpoints to use on reinit",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.EndpointsSet",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "get_endpoints",
        "summary": "Requests the list of alternative endpoints from server",
        "description": null,
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfGetEndpoints"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "query_counterparties",
        "summary": "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",
        "description": "*Attention* this query retrieves data from 'Counterparties' service which is not supported in\nthe opensource version of DApp Server (and will not be supported) as well as in TON OS SE (will be supported in SE in future),\nbut is always accessible via [TON OS Devnet/Mainnet Clouds](https://docs.ton.dev/86757ecb2/p/85c869-networks)",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfQueryCounterparties",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfQueryCollection"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "query_transaction_tree",
        "summary": "Returns transactions tree for specific message.",
        "description": "Performs recursive retrieval of the transactions tree produced by the specific message:\nin_msg -> dst_transaction -> out_messages -> dst_transaction -> ...\n\nAll retrieved messages and transactions will be included\ninto `result.messages` and `result.transactions` respectively.\n\nThe retrieval process will stop when the retrieved transaction count is more than 50.\n\nIt is guaranteed that each message in `result.messages` has the corresponding transaction\nin the `result.transactions`.\n\nBut there are no guaranties that all messages from transactions `out_msgs` are\npresented in `result.messages`.\nSo the application have to continue retrieval for missing messages if it requires.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfQueryTransactionTree",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfQueryTransactionTree"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "create_block_iterator",
        "summary": "Creates block iterator.",
        "description": "Block iterator uses robust iteration methods that guaranties that every\nblock in the specified range isn't missed or iterated twice.\n\nIterated range can be reduced with some filters:\n- `start_time` – the bottom time range. Only blocks with `gen_utime`\nmore or equal to this value is iterated. If this parameter is omitted then there is\nno bottom time edge, so all blocks since zero state is iterated.\n- `end_time` – the upper time range. Only blocks with `gen_utime`\nless then this value is iterated. If this parameter is omitted then there is\nno upper time edge, so iterator never finishes.\n- `shard_filter` – workchains and shard prefixes that reduce the set of interesting\nblocks. Block conforms to the shard filter if it belongs to the filter workchain\nand the first bits of block's `shard` fields matches to the shard prefix.\nOnly blocks with suitable shard are iterated.\n\nItems iterated is a JSON objects with block data. The minimal set of returned\nfields is:\n```text\nid\ngen_utime\nworkchain_id\nshard\nafter_split\nafter_merge\nprev_ref {\n    root_hash\n}\nprev_alt_ref {\n    root_hash\n}\n```\nApplication can request additional fields in the `result` parameter.\n\nApplication should call the `remove_iterator` when iterator is no longer required.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfCreateBlockIterator",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.RegisteredIterator"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "resume_block_iterator",
        "summary": "Resumes block iterator.",
        "description": "The iterator stays exactly at the same position where the `resume_state` was catched.\n\nApplication should call the `remove_iterator` when iterator is no longer required.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfResumeBlockIterator",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.RegisteredIterator"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "create_transaction_iterator",
        "summary": "Creates transaction iterator.",
        "description": "Transaction iterator uses robust iteration methods that guaranty that every\ntransaction in the specified range isn't missed or iterated twice.\n\nIterated range can be reduced with some filters:\n- `start_time` – the bottom time range. Only transactions with `now`\nmore or equal to this value are iterated. If this parameter is omitted then there is\nno bottom time edge, so all the transactions since zero state are iterated.\n- `end_time` – the upper time range. Only transactions with `now`\nless then this value are iterated. If this parameter is omitted then there is\nno upper time edge, so iterator never finishes.\n- `shard_filter` – workchains and shard prefixes that reduce the set of interesting\naccounts. Account address conforms to the shard filter if\nit belongs to the filter workchain and the first bits of address match to\nthe shard prefix. Only transactions with suitable account addresses are iterated.\n- `accounts_filter` – set of account addresses whose transactions must be iterated.\nNote that accounts filter can conflict with shard filter so application must combine\nthese filters carefully.\n\nIterated item is a JSON objects with transaction data. The minimal set of returned\nfields is:\n```text\nid\naccount_addr\nnow\nbalance_delta(format:DEC)\nbounce { bounce_type }\nin_message {\n    id\n    value(format:DEC)\n    msg_type\n    src\n}\nout_messages {\n    id\n    value(format:DEC)\n    msg_type\n    dst\n}\n```\nApplication can request an additional fields in the `result` parameter.\n\nAnother parameter that affects on the returned fields is the `include_transfers`.\nWhen this parameter is `true` the iterator computes and adds `transfer` field containing\nlist of the useful `TransactionTransfer` objects.\nEach transfer is calculated from the particular message related to the transaction\nand has the following structure:\n- message – source message identifier.\n- isBounced – indicates that the transaction is bounced, which means the value will be returned back to the sender.\n- isDeposit – indicates that this transfer is the deposit (true) or withdraw (false).\n- counterparty – account address of the transfer source or destination depending on `isDeposit`.\n- value – amount of nano tokens transferred. The value is represented as a decimal string\nbecause the actual value can be more precise than the JSON number can represent. Application\nmust use this string carefully – conversion to number can follow to loose of precision.\n\nApplication should call the `remove_iterator` when iterator is no longer required.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfCreateTransactionIterator",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.RegisteredIterator"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "resume_transaction_iterator",
        "summary": "Resumes transaction iterator.",
        "description": "The iterator stays exactly at the same position where the `resume_state` was caught.\nNote that `resume_state` doesn't store the account filter. If the application requires\nto use the same account filter as it was when the iterator was created then the application\nmust pass the account filter again in `accounts_filter` parameter.\n\nApplication should call the `remove_iterator` when iterator is no longer required.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfResumeTransactionIterator",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.RegisteredIterator"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "iterator_next",
        "summary": "Returns next available items.",
        "description": "In addition to available items this function returns the `has_more` flag\nindicating that the iterator isn't reach the end of the iterated range yet.\n\nThis function can return the empty list of available items but\nindicates that there are more items is available.\nThis situation appears when the iterator doesn't reach iterated range\nbut database doesn't contains available items yet.\n\nIf application requests resume state in `return_resume_state` parameter\nthen this function returns `resume_state` that can be used later to\nresume the iteration from the position after returned items.\n\nThe structure of the items returned depends on the iterator used.\nSee the description to the appropriated iterator creation function.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.ParamsOfIteratorNext",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "net.ResultOfIteratorNext"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "remove_iterator",
        "summary": "Removes an iterator",
        "description": "Frees all resources allocated in library to serve iterator.\n\nApplication always should call the `remove_iterator` when iterator\nis no longer required.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "net.RegisteredIterator",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      }
    ]
  },
  {
    "name": "debot",
    "summary": "[UNSTABLE](UNSTABLE.md) Module for working with debot.",
    "description": null,
    "types": [
      {
        "name": "DebotErrorCode",
        "type": "EnumOfConsts",
        "enum_consts": [
          {
            "name": "DebotStartFailed",
            "type": "Number",
            "value": "801",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotFetchFailed",
            "type": "Number",
            "value": "802",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotExecutionFailed",
            "type": "Number",
            "value": "803",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotInvalidHandle",
            "type": "Number",
            "value": "804",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotInvalidJsonParams",
            "type": "Number",
            "value": "805",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotInvalidFunctionId",
            "type": "Number",
            "value": "806",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotInvalidAbi",
            "type": "Number",
            "value": "807",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotGetMethodFailed",
            "type": "Number",
            "value": "808",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotInvalidMsg",
            "type": "Number",
            "value": "809",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotExternalCallFailed",
            "type": "Number",
            "value": "810",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotBrowserCallbackFailed",
            "type": "Number",
            "value": "811",
            "summary": null,
            "description": null
          },
          {
            "name": "DebotOperationRejected",
            "type": "Number",
            "value": "812",
            "summary": null,
            "description": null
          }
        ],
        "summary": null,
        "description": null
      },
      {
        "name": "DebotHandle",
        "type": "Number",
        "number_type": "UInt",
        "number_size": 32,
        "summary": "[UNSTABLE](UNSTABLE.md) Handle of registered in SDK debot",
        "description": null
      },
      {
        "name": "DebotAction",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "description",
            "type": "String",
            "summary": "A short action description.",
            "description": "Should be used by Debot Browser as name of menu item."
          },
          {
            "name": "name",
            "type": "String",
            "summary": "Depends on action type.",
            "description": "Can be a debot function name or a print string (for Print Action)."
          },
          {
            "name": "action_type",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 8,
            "summary": "Action type.",
            "description": null
          },
          {
            "name": "to",
            "type": "Number",
            "number_type": "UInt",
            "number_size": 8,
            "summary": "ID of debot context to switch after action execution.",
            "description": null
          },
          {
            "name": "attributes",
            "type": "String",
            "summary": "Action attributes.",
            "description": "In the form of \"param=value,flag\". attribute example: instant, args, fargs, sign."
          },
          {
            "name": "misc",
            "type": "String",
            "summary": "Some internal action data.",
            "description": "Used by debot only."
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Describes a debot action in a Debot Context.",
        "description": null
      },
      {
        "name": "DebotInfo",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "name",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "DeBot short name.",
            "description": null
          },
          {
            "name": "version",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "DeBot semantic version.",
            "description": null
          },
          {
            "name": "publisher",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "The name of DeBot deployer.",
            "description": null
          },
          {
            "name": "caption",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "Short info about DeBot.",
            "description": null
          },
          {
            "name": "author",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "The name of DeBot developer.",
            "description": null
          },
          {
            "name": "support",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "TON address of author for questions and donations.",
            "description": null
          },
          {
            "name": "hello",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "String with the first messsage from DeBot.",
            "description": null
          },
          {
            "name": "language",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "String with DeBot interface language (ISO-639).",
            "description": null
          },
          {
            "name": "dabi",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "String with DeBot ABI.",
            "description": null
          },
          {
            "name": "icon",
            "type": "Optional",
            "optional_inner": {
              "type": "String"
            },
            "summary": "DeBot icon.",
            "description": null
          },
          {
            "name": "interfaces",
            "type": "Array",
            "array_item": {
              "type": "String"
            },
            "summary": "Vector with IDs of DInterfaces used by DeBot.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Describes DeBot metadata.",
        "description": null
      },
      {
        "name": "DebotActivity",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Transaction",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "msg",
                "type": "String",
                "summary": "External inbound message BOC.",
                "description": null
              },
              {
                "name": "dst",
                "type": "String",
                "summary": "Target smart contract address.",
                "description": null
              },
              {
                "name": "out",
                "type": "Array",
                "array_item": {
                  "type": "Ref",
                  "ref_name": "debot.Spending"
                },
                "summary": "List of spendings as a result of transaction.",
                "description": null
              },
              {
                "name": "fee",
                "type": "BigInt",
                "number_type": "UInt",
                "number_size": 64,
                "summary": "Transaction total fee.",
                "description": null
              },
              {
                "name": "setcode",
                "type": "Boolean",
                "summary": "Indicates if target smart contract updates its code.",
                "description": null
              },
              {
                "name": "signkey",
                "type": "String",
                "summary": "Public key from keypair that was used to sign external message.",
                "description": null
              },
              {
                "name": "signing_box_handle",
                "type": "Number",
                "number_type": "UInt",
                "number_size": 32,
                "summary": "Signing box handle used to sign external message.",
                "description": null
              }
            ],
            "summary": "DeBot wants to create new transaction in blockchain.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Describes the operation that the DeBot wants to perform.",
        "description": null
      },
      {
        "name": "Spending",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "amount",
            "type": "BigInt",
            "number_type": "UInt",
            "number_size": 64,
            "summary": "Amount of nanotokens that will be sent to `dst` address.",
            "description": null
          },
          {
            "name": "dst",
            "type": "String",
            "summary": "Destination address of recipient of funds.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Describes how much funds will be debited from the target  contract balance as a result of the transaction.",
        "description": null
      },
      {
        "name": "ParamsOfInit",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "address",
            "type": "String",
            "summary": "Debot smart contract address",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Parameters to init DeBot.",
        "description": null
      },
      {
        "name": "RegisteredDebot",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "debot_handle",
            "type": "Ref",
            "ref_name": "debot.DebotHandle",
            "summary": "Debot handle which references an instance of debot engine.",
            "description": null
          },
          {
            "name": "debot_abi",
            "type": "String",
            "summary": "Debot abi as json string.",
            "description": null
          },
          {
            "name": "info",
            "type": "Ref",
            "ref_name": "debot.DebotInfo",
            "summary": "Debot metadata.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Structure for storing debot handle returned from `init` function.",
        "description": null
      },
      {
        "name": "ParamsOfAppDebotBrowser",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Log",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "msg",
                "type": "String",
                "summary": "A string that must be printed to user.",
                "description": null
              }
            ],
            "summary": "Print message to user.",
            "description": null
          },
          {
            "name": "Switch",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "context_id",
                "type": "Number",
                "number_type": "UInt",
                "number_size": 8,
                "summary": "Debot context ID to which debot is switched.",
                "description": null
              }
            ],
            "summary": "Switch debot to another context (menu).",
            "description": null
          },
          {
            "name": "SwitchCompleted",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Notify browser that all context actions are shown.",
            "description": null
          },
          {
            "name": "ShowAction",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "action",
                "type": "Ref",
                "ref_name": "debot.DebotAction",
                "summary": "Debot action that must be shown to user as menu item. At least `description` property must be shown from [DebotAction] structure.",
                "description": null
              }
            ],
            "summary": "Show action to the user. Called after `switch` for each action in context.",
            "description": null
          },
          {
            "name": "Input",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "prompt",
                "type": "String",
                "summary": "A prompt string that must be printed to user before input request.",
                "description": null
              }
            ],
            "summary": "Request user input.",
            "description": null
          },
          {
            "name": "GetSigningBox",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Get signing box to sign data.",
            "description": "Signing box returned is owned and disposed by debot engine"
          },
          {
            "name": "InvokeDebot",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "debot_addr",
                "type": "String",
                "summary": "Address of debot in blockchain.",
                "description": null
              },
              {
                "name": "action",
                "type": "Ref",
                "ref_name": "debot.DebotAction",
                "summary": "Debot action to execute.",
                "description": null
              }
            ],
            "summary": "Execute action of another debot.",
            "description": null
          },
          {
            "name": "Send",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "message",
                "type": "String",
                "summary": "Internal message to DInterface address.",
                "description": "Message body contains interface function and parameters."
              }
            ],
            "summary": "Used by Debot to call DInterface implemented by Debot Browser.",
            "description": null
          },
          {
            "name": "Approve",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "activity",
                "type": "Ref",
                "ref_name": "debot.DebotActivity",
                "summary": "DeBot activity details.",
                "description": null
              }
            ],
            "summary": "Requests permission from DeBot Browser to execute DeBot operation.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Debot Browser callbacks",
        "description": "Called by debot engine to communicate with debot browser."
      },
      {
        "name": "ResultOfAppDebotBrowser",
        "type": "EnumOfTypes",
        "enum_types": [
          {
            "name": "Input",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "value",
                "type": "String",
                "summary": "String entered by user.",
                "description": null
              }
            ],
            "summary": "Result of user input.",
            "description": null
          },
          {
            "name": "GetSigningBox",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "signing_box",
                "type": "Ref",
                "ref_name": "crypto.SigningBoxHandle",
                "summary": "Signing box for signing data requested by debot engine.",
                "description": "Signing box is owned and disposed by debot engine"
              }
            ],
            "summary": "Result of getting signing box.",
            "description": null
          },
          {
            "name": "InvokeDebot",
            "type": "Struct",
            "struct_fields": [],
            "summary": "Result of debot invoking.",
            "description": null
          },
          {
            "name": "Approve",
            "type": "Struct",
            "struct_fields": [
              {
                "name": "approved",
                "type": "Boolean",
                "summary": "Indicates whether the DeBot is allowed to perform the specified operation.",
                "description": null
              }
            ],
            "summary": "Result of `approve` callback.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Returning values from Debot Browser callbacks.",
        "description": null
      },
      {
        "name": "ParamsOfStart",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "debot_handle",
            "type": "Ref",
            "ref_name": "debot.DebotHandle",
            "summary": "Debot handle which references an instance of debot engine.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Parameters to start DeBot. DeBot must be already initialized with init() function.",
        "description": null
      },
      {
        "name": "ParamsOfFetch",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "address",
            "type": "String",
            "summary": "Debot smart contract address.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Parameters to fetch DeBot metadata.",
        "description": null
      },
      {
        "name": "ResultOfFetch",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "info",
            "type": "Ref",
            "ref_name": "debot.DebotInfo",
            "summary": "Debot metadata.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md)",
        "description": null
      },
      {
        "name": "ParamsOfExecute",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "debot_handle",
            "type": "Ref",
            "ref_name": "debot.DebotHandle",
            "summary": "Debot handle which references an instance of debot engine.",
            "description": null
          },
          {
            "name": "action",
            "type": "Ref",
            "ref_name": "debot.DebotAction",
            "summary": "Debot Action that must be executed.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Parameters for executing debot action.",
        "description": null
      },
      {
        "name": "ParamsOfSend",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "debot_handle",
            "type": "Ref",
            "ref_name": "debot.DebotHandle",
            "summary": "Debot handle which references an instance of debot engine.",
            "description": null
          },
          {
            "name": "message",
            "type": "String",
            "summary": "BOC of internal message to debot encoded in base64 format.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md) Parameters of `send` function.",
        "description": null
      },
      {
        "name": "ParamsOfRemove",
        "type": "Struct",
        "struct_fields": [
          {
            "name": "debot_handle",
            "type": "Ref",
            "ref_name": "debot.DebotHandle",
            "summary": "Debot handle which references an instance of debot engine.",
            "description": null
          }
        ],
        "summary": "[UNSTABLE](UNSTABLE.md)",
        "description": null
      }
    ],
    "functions": [
      {
        "name": "init",
        "summary": "[UNSTABLE](UNSTABLE.md) Creates and instance of DeBot.",
        "description": "Downloads debot smart contract (code and data) from blockchain and creates\nan instance of Debot Engine for it.\n\n# Remarks\nIt does not switch debot to context 0. Browser Callbacks are not called.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "debot.ParamsOfInit",
            "summary": null,
            "description": null
          },
          {
            "name": "app_object",
            "type": "Generic",
            "generic_name": "AppObject",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "debot.ParamsOfAppDebotBrowser"
              },
              {
                "type": "Ref",
                "ref_name": "debot.ResultOfAppDebotBrowser"
              }
            ],
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "debot.RegisteredDebot"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "start",
        "summary": "[UNSTABLE](UNSTABLE.md) Starts the DeBot.",
        "description": "Downloads debot smart contract from blockchain and switches it to\ncontext zero.\n\nThis function must be used by Debot Browser to start a dialog with debot.\nWhile the function is executing, several Browser Callbacks can be called,\nsince the debot tries to display all actions from the context 0 to the user.\n\nWhen the debot starts SDK registers `BrowserCallbacks` AppObject.\nTherefore when `debote.remove` is called the debot is being deleted and the callback is called\nwith `finish`=`true` which indicates that it will never be used again.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "debot.ParamsOfStart",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "fetch",
        "summary": "[UNSTABLE](UNSTABLE.md) Fetches DeBot metadata from blockchain.",
        "description": "Downloads DeBot from blockchain and creates and fetches its metadata.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "debot.ParamsOfFetch",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "Ref",
              "ref_name": "debot.ResultOfFetch"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "execute",
        "summary": "[UNSTABLE](UNSTABLE.md) Executes debot action.",
        "description": "Calls debot engine referenced by debot handle to execute input action.\nCalls Debot Browser Callbacks if needed.\n\n# Remarks\nChain of actions can be executed if input action generates a list of subactions.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "debot.ParamsOfExecute",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "send",
        "summary": "[UNSTABLE](UNSTABLE.md) Sends message to Debot.",
        "description": "Used by Debot Browser to send response on Dinterface call or from other Debots.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "debot.ParamsOfSend",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      },
      {
        "name": "remove",
        "summary": "[UNSTABLE](UNSTABLE.md) Destroys debot handle.",
        "description": "Removes handle from Client Context and drops debot engine referenced by that handle.",
        "params": [
          {
            "name": "context",
            "type": "Generic",
            "generic_name": "Arc",
            "generic_args": [
              {
                "type": "Ref",
                "ref_name": "ClientContext"
              }
            ],
            "summary": null,
            "description": null
          },
          {
            "name": "params",
            "type": "Ref",
            "ref_name": "debot.ParamsOfRemove",
            "summary": null,
            "description": null
          }
        ],
        "result": {
          "type": "Generic",
          "generic_name": "ClientResult",
          "generic_args": [
            {
              "type": "None"
            }
          ]
        },
        "errors": null
      }
    ]
  }
]

}