@tonappchain/sdk 0.7.0-rc9 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +198 -191
  3. package/dist/artifacts/dev/index.d.ts +9 -0
  4. package/dist/artifacts/dev/index.js +52 -0
  5. package/dist/artifacts/dev/tac/addresses.d.ts +4 -0
  6. package/dist/artifacts/dev/tac/addresses.js +8 -0
  7. package/dist/artifacts/dev/tac/artifacts.d.ts +330 -0
  8. package/dist/artifacts/dev/tac/artifacts.js +26 -0
  9. package/dist/artifacts/dev/tac/endpoints.d.ts +2 -0
  10. package/dist/artifacts/dev/tac/endpoints.js +5 -0
  11. package/dist/artifacts/dev/tac/index.d.ts +6 -0
  12. package/dist/artifacts/dev/tac/index.js +43 -0
  13. package/dist/artifacts/dev/tac/internal/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +296 -0
  14. package/dist/artifacts/dev/tac/internal/artifacts/contracts/core/Structs.sol/IStructsInterface.json +1087 -0
  15. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +114 -0
  16. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +194 -0
  17. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +164 -0
  18. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC20.sol/ICrossChainLayerERC20.json +278 -0
  19. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC721.sol/ICrossChainLayerERC721.json +380 -0
  20. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/tokens/IERC20WithDecimals.sol/IERC20WithDecimals.json +207 -0
  21. package/dist/artifacts/dev/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +103 -0
  22. package/dist/artifacts/dev/tac/internal/artifacts/contracts/smart-account/interfaces/ITacSmartAccount.sol/ITacSmartAccount.json +181 -0
  23. package/dist/artifacts/dev/tac/internal/scripts/utils/encoding.d.ts +4 -0
  24. package/dist/artifacts/dev/tac/internal/scripts/utils/encoding.js +18 -0
  25. package/dist/artifacts/dev/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.d.ts +199 -0
  26. package/dist/artifacts/dev/tac/internal/typechain-types/common.d.ts +50 -0
  27. package/dist/artifacts/dev/tac/internal/typechain-types/common.js +2 -0
  28. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.d.ts +356 -0
  29. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.js +2 -0
  30. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +75 -0
  31. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.js +2 -0
  32. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +123 -0
  33. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ISettings.js +2 -0
  34. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +99 -0
  35. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.js +2 -0
  36. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.d.ts +182 -0
  37. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.js +2 -0
  38. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.d.ts +244 -0
  39. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.js +2 -0
  40. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.d.ts +133 -0
  41. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.js +2 -0
  42. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +77 -0
  43. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.js +2 -0
  44. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.d.ts +127 -0
  45. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.js +2 -0
  46. package/dist/artifacts/dev/tac/multicall.d.ts +1 -0
  47. package/dist/artifacts/dev/tac/multicall.js +22 -0
  48. package/dist/artifacts/dev/tac/structs.d.ts +1 -0
  49. package/dist/artifacts/dev/tac/structs.js +2 -0
  50. package/dist/artifacts/dev/tac/utils.d.ts +1 -0
  51. package/dist/artifacts/dev/tac/utils.js +5 -0
  52. package/dist/artifacts/dev/tac/wrappers.d.ts +9 -0
  53. package/dist/artifacts/dev/tac/wrappers.js +2 -0
  54. package/dist/artifacts/dev/ton/addresses.d.ts +1 -0
  55. package/dist/artifacts/dev/ton/addresses.js +5 -0
  56. package/dist/artifacts/dev/ton/artifacts.d.ts +47 -0
  57. package/dist/artifacts/dev/ton/artifacts.js +26 -0
  58. package/dist/artifacts/dev/ton/endpoints.d.ts +3 -0
  59. package/dist/artifacts/dev/ton/endpoints.js +6 -0
  60. package/dist/artifacts/dev/ton/index.d.ts +3 -0
  61. package/dist/artifacts/dev/ton/index.js +40 -0
  62. package/dist/artifacts/dev/ton/internal/build/CrossChainLayer.compiled.json +1 -0
  63. package/dist/artifacts/dev/ton/internal/build/Executor.compiled.json +1 -0
  64. package/dist/artifacts/dev/ton/internal/build/JettonMinter.compiled.json +1 -0
  65. package/dist/artifacts/dev/ton/internal/build/JettonProxy.compiled.json +1 -0
  66. package/dist/artifacts/dev/ton/internal/build/JettonWallet.compiled.json +1 -0
  67. package/dist/artifacts/dev/ton/internal/build/NFTCollection.compiled.json +1 -0
  68. package/dist/artifacts/dev/ton/internal/build/NFTItem.compiled.json +1 -0
  69. package/dist/artifacts/dev/ton/internal/build/NFTProxy.compiled.json +1 -0
  70. package/dist/artifacts/dev/ton/internal/build/Settings.compiled.json +1 -0
  71. package/dist/artifacts/dev/ton/internal/wrappers/Constants.d.ts +56 -0
  72. package/dist/artifacts/dev/ton/internal/wrappers/Constants.js +62 -0
  73. package/dist/artifacts/dev/ton/internal/wrappers/CrossChainLayer.d.ts +164 -0
  74. package/dist/artifacts/dev/ton/internal/wrappers/CrossChainLayer.js +336 -0
  75. package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.d.ts +94 -0
  76. package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.js +202 -0
  77. package/dist/artifacts/dev/ton/internal/wrappers/JettonProxy.d.ts +80 -0
  78. package/dist/artifacts/dev/ton/internal/wrappers/JettonProxy.js +158 -0
  79. package/dist/{wrappers → artifacts/dev/ton/internal/wrappers}/JettonWallet.d.ts +52 -13
  80. package/dist/artifacts/dev/ton/internal/wrappers/JettonWallet.js +193 -0
  81. package/dist/artifacts/dev/ton/internal/wrappers/NFTCollection.d.ts +75 -0
  82. package/dist/artifacts/dev/ton/internal/wrappers/NFTCollection.js +151 -0
  83. package/dist/artifacts/dev/ton/internal/wrappers/NFTItem.d.ts +82 -0
  84. package/dist/artifacts/dev/ton/internal/wrappers/NFTItem.js +148 -0
  85. package/dist/artifacts/dev/ton/internal/wrappers/NFTProxy.d.ts +84 -0
  86. package/dist/artifacts/dev/ton/internal/wrappers/NFTProxy.js +157 -0
  87. package/dist/artifacts/dev/ton/internal/wrappers/Settings.d.ts +80 -0
  88. package/dist/artifacts/dev/ton/internal/wrappers/Settings.js +152 -0
  89. package/dist/artifacts/dev/ton/internal/wrappers/utils/GasUtils.d.ts +79 -0
  90. package/dist/artifacts/dev/ton/internal/wrappers/utils/GasUtils.js +291 -0
  91. package/dist/artifacts/dev/ton/internal/wrappers/utils/MerkleRoots.d.ts +7 -0
  92. package/dist/artifacts/dev/ton/internal/wrappers/utils/MerkleRoots.js +27 -0
  93. package/dist/artifacts/dev/ton/wrappers.d.ts +8 -0
  94. package/dist/artifacts/dev/ton/wrappers.js +27 -0
  95. package/dist/artifacts/index.d.ts +3 -0
  96. package/dist/artifacts/index.js +39 -0
  97. package/dist/artifacts/mainnet/index.d.ts +9 -0
  98. package/dist/artifacts/mainnet/index.js +52 -0
  99. package/dist/artifacts/mainnet/tac/addresses.d.ts +4 -0
  100. package/dist/artifacts/mainnet/tac/addresses.js +7 -0
  101. package/dist/artifacts/mainnet/tac/artifacts.d.ts +330 -0
  102. package/dist/artifacts/mainnet/tac/artifacts.js +26 -0
  103. package/dist/artifacts/mainnet/tac/endpoints.d.ts +2 -0
  104. package/dist/artifacts/mainnet/tac/endpoints.js +5 -0
  105. package/dist/artifacts/mainnet/tac/index.d.ts +6 -0
  106. package/dist/artifacts/mainnet/tac/index.js +43 -0
  107. package/dist/artifacts/mainnet/tac/internal/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +296 -0
  108. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/core/Structs.sol/IStructsInterface.json +1087 -0
  109. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +114 -0
  110. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +194 -0
  111. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +164 -0
  112. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC20.sol/ICrossChainLayerERC20.json +278 -0
  113. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC721.sol/ICrossChainLayerERC721.json +380 -0
  114. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/tokens/IERC20WithDecimals.sol/IERC20WithDecimals.json +207 -0
  115. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +103 -0
  116. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/smart-account/interfaces/ITacSmartAccount.sol/ITacSmartAccount.json +181 -0
  117. package/dist/artifacts/mainnet/tac/internal/scripts/utils/encoding.d.ts +4 -0
  118. package/dist/artifacts/mainnet/tac/internal/scripts/utils/encoding.js +18 -0
  119. package/dist/artifacts/mainnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.d.ts +199 -0
  120. package/dist/artifacts/mainnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.js +2 -0
  121. package/dist/artifacts/mainnet/tac/internal/typechain-types/common.d.ts +50 -0
  122. package/dist/artifacts/mainnet/tac/internal/typechain-types/common.js +2 -0
  123. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.d.ts +356 -0
  124. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.js +2 -0
  125. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +75 -0
  126. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.js +2 -0
  127. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +123 -0
  128. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ISettings.js +2 -0
  129. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +99 -0
  130. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.js +2 -0
  131. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.d.ts +182 -0
  132. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.js +2 -0
  133. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.d.ts +244 -0
  134. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.js +2 -0
  135. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.d.ts +133 -0
  136. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.js +2 -0
  137. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +77 -0
  138. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.js +2 -0
  139. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.d.ts +127 -0
  140. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.js +2 -0
  141. package/dist/artifacts/mainnet/tac/multicall.d.ts +1 -0
  142. package/dist/artifacts/mainnet/tac/multicall.js +22 -0
  143. package/dist/artifacts/mainnet/tac/structs.d.ts +1 -0
  144. package/dist/artifacts/mainnet/tac/structs.js +2 -0
  145. package/dist/artifacts/mainnet/tac/utils.d.ts +1 -0
  146. package/dist/artifacts/mainnet/tac/utils.js +5 -0
  147. package/dist/artifacts/mainnet/tac/wrappers.d.ts +9 -0
  148. package/dist/artifacts/mainnet/tac/wrappers.js +2 -0
  149. package/dist/artifacts/mainnet/ton/addresses.d.ts +1 -0
  150. package/dist/artifacts/mainnet/ton/addresses.js +4 -0
  151. package/dist/artifacts/mainnet/ton/artifacts.d.ts +47 -0
  152. package/dist/artifacts/mainnet/ton/artifacts.js +26 -0
  153. package/dist/artifacts/mainnet/ton/endpoints.d.ts +3 -0
  154. package/dist/artifacts/mainnet/ton/endpoints.js +6 -0
  155. package/dist/artifacts/mainnet/ton/index.d.ts +3 -0
  156. package/dist/artifacts/mainnet/ton/index.js +40 -0
  157. package/dist/artifacts/mainnet/ton/internal/build/CrossChainLayer.compiled.json +1 -0
  158. package/dist/artifacts/mainnet/ton/internal/build/Executor.compiled.json +1 -0
  159. package/dist/artifacts/mainnet/ton/internal/build/JettonMinter.compiled.json +1 -0
  160. package/dist/artifacts/mainnet/ton/internal/build/JettonProxy.compiled.json +1 -0
  161. package/dist/artifacts/mainnet/ton/internal/build/JettonWallet.compiled.json +1 -0
  162. package/dist/artifacts/mainnet/ton/internal/build/NFTCollection.compiled.json +1 -0
  163. package/dist/artifacts/mainnet/ton/internal/build/NFTItem.compiled.json +1 -0
  164. package/dist/artifacts/mainnet/ton/internal/build/NFTProxy.compiled.json +1 -0
  165. package/dist/artifacts/mainnet/ton/internal/build/Settings.compiled.json +1 -0
  166. package/dist/artifacts/mainnet/ton/internal/wrappers/Constants.d.ts +56 -0
  167. package/dist/artifacts/mainnet/ton/internal/wrappers/Constants.js +62 -0
  168. package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.d.ts +164 -0
  169. package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.js +336 -0
  170. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.d.ts +94 -0
  171. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.js +202 -0
  172. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonProxy.d.ts +80 -0
  173. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonProxy.js +158 -0
  174. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonWallet.d.ts +95 -0
  175. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonWallet.js +193 -0
  176. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTCollection.d.ts +75 -0
  177. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTCollection.js +151 -0
  178. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTItem.d.ts +82 -0
  179. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTItem.js +148 -0
  180. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTProxy.d.ts +84 -0
  181. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTProxy.js +157 -0
  182. package/dist/artifacts/mainnet/ton/internal/wrappers/Settings.d.ts +80 -0
  183. package/dist/artifacts/mainnet/ton/internal/wrappers/Settings.js +152 -0
  184. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/GasUtils.d.ts +79 -0
  185. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/GasUtils.js +291 -0
  186. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/MerkleRoots.d.ts +7 -0
  187. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/MerkleRoots.js +27 -0
  188. package/dist/artifacts/mainnet/ton/wrappers.d.ts +8 -0
  189. package/dist/artifacts/mainnet/ton/wrappers.js +27 -0
  190. package/dist/artifacts/tacTypes.d.ts +13 -0
  191. package/dist/artifacts/tacTypes.js +2 -0
  192. package/dist/artifacts/testnet/index.d.ts +9 -0
  193. package/dist/artifacts/testnet/index.js +52 -0
  194. package/dist/artifacts/testnet/tac/addresses.d.ts +4 -0
  195. package/dist/artifacts/testnet/tac/addresses.js +7 -0
  196. package/dist/artifacts/testnet/tac/artifacts.d.ts +330 -0
  197. package/dist/artifacts/testnet/tac/artifacts.js +26 -0
  198. package/dist/artifacts/testnet/tac/endpoints.d.ts +2 -0
  199. package/dist/artifacts/testnet/tac/endpoints.js +5 -0
  200. package/dist/artifacts/testnet/tac/index.d.ts +6 -0
  201. package/dist/artifacts/testnet/tac/index.js +43 -0
  202. package/dist/artifacts/testnet/tac/internal/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json +296 -0
  203. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/core/Structs.sol/IStructsInterface.json +1087 -0
  204. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +114 -0
  205. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +194 -0
  206. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +164 -0
  207. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC20.sol/ICrossChainLayerERC20.json +278 -0
  208. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/tokens/ICrossChainLayerERC721.sol/ICrossChainLayerERC721.json +380 -0
  209. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/tokens/IERC20WithDecimals.sol/IERC20WithDecimals.json +207 -0
  210. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +103 -0
  211. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/smart-account/interfaces/ITacSmartAccount.sol/ITacSmartAccount.json +181 -0
  212. package/dist/artifacts/testnet/tac/internal/scripts/utils/encoding.d.ts +4 -0
  213. package/dist/artifacts/testnet/tac/internal/scripts/utils/encoding.js +18 -0
  214. package/dist/artifacts/testnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.d.ts +199 -0
  215. package/dist/artifacts/testnet/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.js +2 -0
  216. package/dist/artifacts/testnet/tac/internal/typechain-types/common.d.ts +50 -0
  217. package/dist/artifacts/testnet/tac/internal/typechain-types/common.js +2 -0
  218. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.d.ts +356 -0
  219. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/core/Structs.sol/IStructsInterface.js +2 -0
  220. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +75 -0
  221. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.js +2 -0
  222. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +123 -0
  223. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ISettings.js +2 -0
  224. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +99 -0
  225. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.js +2 -0
  226. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.d.ts +182 -0
  227. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC20.js +2 -0
  228. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.d.ts +244 -0
  229. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/ICrossChainLayerERC721.js +2 -0
  230. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.d.ts +133 -0
  231. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/tokens/IERC20WithDecimals.js +2 -0
  232. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +77 -0
  233. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.js +2 -0
  234. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.d.ts +127 -0
  235. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ITacSmartAccount.js +2 -0
  236. package/dist/artifacts/testnet/tac/multicall.d.ts +1 -0
  237. package/dist/artifacts/testnet/tac/multicall.js +22 -0
  238. package/dist/artifacts/testnet/tac/structs.d.ts +1 -0
  239. package/dist/artifacts/testnet/tac/structs.js +2 -0
  240. package/dist/artifacts/testnet/tac/utils.d.ts +1 -0
  241. package/dist/artifacts/testnet/tac/utils.js +5 -0
  242. package/dist/artifacts/testnet/tac/wrappers.d.ts +9 -0
  243. package/dist/artifacts/testnet/tac/wrappers.js +2 -0
  244. package/dist/artifacts/testnet/ton/addresses.d.ts +1 -0
  245. package/dist/artifacts/testnet/ton/addresses.js +4 -0
  246. package/dist/artifacts/testnet/ton/artifacts.d.ts +47 -0
  247. package/dist/artifacts/testnet/ton/artifacts.js +26 -0
  248. package/dist/artifacts/testnet/ton/endpoints.d.ts +3 -0
  249. package/dist/artifacts/testnet/ton/endpoints.js +6 -0
  250. package/dist/artifacts/testnet/ton/index.d.ts +3 -0
  251. package/dist/artifacts/testnet/ton/index.js +40 -0
  252. package/dist/artifacts/testnet/ton/internal/build/CrossChainLayer.compiled.json +1 -0
  253. package/dist/artifacts/testnet/ton/internal/build/Executor.compiled.json +1 -0
  254. package/dist/artifacts/testnet/ton/internal/build/JettonMinter.compiled.json +1 -0
  255. package/dist/artifacts/testnet/ton/internal/build/JettonProxy.compiled.json +1 -0
  256. package/dist/artifacts/testnet/ton/internal/build/JettonWallet.compiled.json +1 -0
  257. package/dist/artifacts/testnet/ton/internal/build/NFTCollection.compiled.json +1 -0
  258. package/dist/artifacts/testnet/ton/internal/build/NFTItem.compiled.json +1 -0
  259. package/dist/artifacts/testnet/ton/internal/build/NFTProxy.compiled.json +1 -0
  260. package/dist/artifacts/testnet/ton/internal/build/Settings.compiled.json +1 -0
  261. package/dist/artifacts/testnet/ton/internal/wrappers/Constants.d.ts +56 -0
  262. package/dist/artifacts/testnet/ton/internal/wrappers/Constants.js +62 -0
  263. package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.d.ts +164 -0
  264. package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.js +336 -0
  265. package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.d.ts +94 -0
  266. package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.js +202 -0
  267. package/dist/artifacts/testnet/ton/internal/wrappers/JettonProxy.d.ts +80 -0
  268. package/dist/artifacts/testnet/ton/internal/wrappers/JettonProxy.js +158 -0
  269. package/dist/artifacts/testnet/ton/internal/wrappers/JettonWallet.d.ts +95 -0
  270. package/dist/artifacts/testnet/ton/internal/wrappers/JettonWallet.js +193 -0
  271. package/dist/artifacts/testnet/ton/internal/wrappers/NFTCollection.d.ts +75 -0
  272. package/dist/artifacts/testnet/ton/internal/wrappers/NFTCollection.js +151 -0
  273. package/dist/artifacts/testnet/ton/internal/wrappers/NFTItem.d.ts +82 -0
  274. package/dist/artifacts/testnet/ton/internal/wrappers/NFTItem.js +148 -0
  275. package/dist/artifacts/testnet/ton/internal/wrappers/NFTProxy.d.ts +84 -0
  276. package/dist/artifacts/testnet/ton/internal/wrappers/NFTProxy.js +157 -0
  277. package/dist/artifacts/testnet/ton/internal/wrappers/Settings.d.ts +80 -0
  278. package/dist/artifacts/testnet/ton/internal/wrappers/Settings.js +152 -0
  279. package/dist/artifacts/testnet/ton/internal/wrappers/utils/GasUtils.d.ts +79 -0
  280. package/dist/artifacts/testnet/ton/internal/wrappers/utils/GasUtils.js +291 -0
  281. package/dist/artifacts/testnet/ton/internal/wrappers/utils/MerkleRoots.d.ts +7 -0
  282. package/dist/artifacts/testnet/ton/internal/wrappers/utils/MerkleRoots.js +27 -0
  283. package/dist/artifacts/testnet/ton/wrappers.d.ts +8 -0
  284. package/dist/artifacts/testnet/ton/wrappers.js +27 -0
  285. package/dist/artifacts/tonTypes.d.ts +20 -0
  286. package/dist/artifacts/tonTypes.js +2 -0
  287. package/dist/{adapters → src/adapters}/contractOpener.d.ts +2 -1
  288. package/dist/{adapters → src/adapters}/contractOpener.js +39 -6
  289. package/dist/src/adapters/index.d.ts +2 -0
  290. package/dist/src/adapters/index.js +18 -0
  291. package/dist/{adapters → src/adapters}/retryableContractOpener.d.ts +6 -3
  292. package/dist/{adapters → src/adapters}/retryableContractOpener.js +10 -11
  293. package/dist/src/agnosticSdk/AbiHandler.d.ts +27 -0
  294. package/dist/src/agnosticSdk/AbiHandler.js +137 -0
  295. package/dist/src/agnosticSdk/AgnosticSdk.d.ts +201 -0
  296. package/dist/src/agnosticSdk/AgnosticSdk.js +201 -0
  297. package/dist/src/agnosticSdk/AgnosticStructs.d.ts +108 -0
  298. package/dist/src/agnosticSdk/AgnosticStructs.js +23 -0
  299. package/dist/src/agnosticSdk/DebugHelpers.d.ts +88 -0
  300. package/dist/src/agnosticSdk/DebugHelpers.js +274 -0
  301. package/dist/src/agnosticSdk/HooksHandler.d.ts +43 -0
  302. package/dist/src/agnosticSdk/HooksHandler.js +102 -0
  303. package/dist/src/agnosticSdk/ReplacementHelper.d.ts +95 -0
  304. package/dist/src/agnosticSdk/ReplacementHelper.js +235 -0
  305. package/dist/{assets → src/assets}/AssetCache.d.ts +1 -1
  306. package/dist/{assets → src/assets}/AssetFactory.d.ts +2 -2
  307. package/dist/{assets → src/assets}/AssetFactory.js +4 -3
  308. package/dist/{assets → src/assets}/FT.d.ts +14 -17
  309. package/dist/{assets → src/assets}/FT.js +94 -58
  310. package/dist/{assets → src/assets}/NFT.d.ts +15 -16
  311. package/dist/{assets → src/assets}/NFT.js +58 -32
  312. package/dist/{assets → src/assets}/TON.d.ts +8 -13
  313. package/dist/{assets → src/assets}/TON.js +27 -21
  314. package/dist/src/errors/index.d.ts +2 -0
  315. package/dist/{errors → src/errors}/index.js +8 -2
  316. package/dist/{errors → src/errors}/instances.d.ts +11 -1
  317. package/dist/src/errors/instances.js +58 -0
  318. package/dist/src/index.d.ts +21 -0
  319. package/dist/{index.js → src/index.js} +38 -18
  320. package/dist/src/interfaces/Asset.d.ts +78 -0
  321. package/dist/src/interfaces/Asset.js +2 -0
  322. package/dist/src/interfaces/ContractOpener.d.ts +21 -0
  323. package/dist/src/interfaces/ContractOpener.js +2 -0
  324. package/dist/src/interfaces/IConfiguration.d.ts +35 -0
  325. package/dist/src/interfaces/IConfiguration.js +2 -0
  326. package/dist/src/interfaces/IHttpClient.d.ts +16 -0
  327. package/dist/src/interfaces/IHttpClient.js +2 -0
  328. package/dist/src/interfaces/ILiteSequencerClient.d.ts +43 -0
  329. package/dist/src/interfaces/ILiteSequencerClient.js +2 -0
  330. package/dist/src/interfaces/ILiteSequencerClientFactory.d.ts +9 -0
  331. package/dist/src/interfaces/ILiteSequencerClientFactory.js +2 -0
  332. package/dist/src/interfaces/ILogger.d.ts +10 -0
  333. package/dist/src/interfaces/ILogger.js +2 -0
  334. package/dist/src/interfaces/IOperationTracker.d.ts +81 -0
  335. package/dist/src/interfaces/IOperationTracker.js +2 -0
  336. package/dist/src/interfaces/ISimulator.d.ts +18 -0
  337. package/dist/src/interfaces/ISimulator.js +2 -0
  338. package/dist/src/interfaces/ITACTransactionManager.d.ts +15 -0
  339. package/dist/src/interfaces/ITACTransactionManager.js +2 -0
  340. package/dist/src/interfaces/ITONTransactionManager.d.ts +20 -0
  341. package/dist/src/interfaces/ITONTransactionManager.js +2 -0
  342. package/dist/src/interfaces/ITacSDK.d.ts +185 -0
  343. package/dist/src/interfaces/ITacSDK.js +2 -0
  344. package/dist/src/interfaces/SenderAbstraction.d.ts +35 -0
  345. package/dist/src/interfaces/SenderAbstraction.js +2 -0
  346. package/dist/src/interfaces/WalletInstanse.d.ts +20 -0
  347. package/dist/src/interfaces/WalletInstanse.js +2 -0
  348. package/dist/src/interfaces/index.d.ts +14 -0
  349. package/dist/src/interfaces/index.js +30 -0
  350. package/dist/src/sdk/AxiosHttpClient.d.ts +12 -0
  351. package/dist/src/sdk/AxiosHttpClient.js +23 -0
  352. package/dist/{sdk → src/sdk}/Configuration.d.ts +6 -5
  353. package/dist/src/sdk/Configuration.js +195 -0
  354. package/dist/{sdk → src/sdk}/Consts.d.ts +3 -0
  355. package/dist/{sdk → src/sdk}/Consts.js +4 -1
  356. package/dist/src/sdk/LiteSequencerClient.d.ts +18 -0
  357. package/dist/{sdk → src/sdk}/LiteSequencerClient.js +81 -25
  358. package/dist/{sdk → src/sdk}/Logger.d.ts +5 -5
  359. package/dist/{sdk → src/sdk}/Logger.js +12 -4
  360. package/dist/{sdk → src/sdk}/OperationTracker.d.ts +5 -13
  361. package/dist/{sdk → src/sdk}/OperationTracker.js +112 -16
  362. package/dist/src/sdk/Simulator.d.ts +11 -0
  363. package/dist/src/sdk/Simulator.js +70 -0
  364. package/dist/{sdk → src/sdk}/StartTracking.d.ts +1 -1
  365. package/dist/src/sdk/TACTransactionManager.d.ts +10 -0
  366. package/dist/src/sdk/TACTransactionManager.js +101 -0
  367. package/dist/src/sdk/TONTransactionManager.d.ts +17 -0
  368. package/dist/src/sdk/TONTransactionManager.js +220 -0
  369. package/dist/src/sdk/TacSdk.d.ts +44 -0
  370. package/dist/src/sdk/TacSdk.js +181 -0
  371. package/dist/{sdk → src/sdk}/TxFinalizer.d.ts +3 -2
  372. package/dist/{sdk → src/sdk}/TxFinalizer.js +13 -8
  373. package/dist/{sdk → src/sdk}/Utils.d.ts +14 -7
  374. package/dist/{sdk → src/sdk}/Utils.js +127 -34
  375. package/dist/{sdk → src/sdk}/Validator.d.ts +2 -2
  376. package/dist/{sdk → src/sdk}/Validator.js +6 -6
  377. package/dist/{sender → src/sender}/BatchSender.d.ts +1 -2
  378. package/dist/{sender → src/sender}/RawSender.d.ts +3 -3
  379. package/dist/{sender → src/sender}/SenderFactory.d.ts +1 -1
  380. package/dist/{sender → src/sender}/SenderFactory.js +1 -1
  381. package/dist/{sender → src/sender}/TonConnectSender.d.ts +2 -2
  382. package/dist/{sender → src/sender}/TonConnectSender.js +3 -3
  383. package/dist/{sender → src/sender}/index.d.ts +1 -1
  384. package/dist/{sender → src/sender}/index.js +1 -1
  385. package/dist/{structs → src/structs}/InternalStruct.d.ts +30 -6
  386. package/dist/{structs → src/structs}/Struct.d.ts +109 -62
  387. package/dist/{structs → src/structs}/Struct.js +7 -1
  388. package/dist/{wrappers → src/wrappers}/ContentUtils.js +0 -1
  389. package/dist/{wrappers → src/wrappers}/HighloadWalletV3.d.ts +2 -2
  390. package/package.json +118 -67
  391. package/dist/errors/index.d.ts +0 -2
  392. package/dist/errors/instances.js +0 -47
  393. package/dist/index.d.ts +0 -19
  394. package/dist/sdk/Configuration.js +0 -90
  395. package/dist/sdk/LiteSequencerClient.d.ts +0 -13
  396. package/dist/sdk/Simulator.d.ts +0 -23
  397. package/dist/sdk/Simulator.js +0 -169
  398. package/dist/sdk/TacSdk.d.ts +0 -32
  399. package/dist/sdk/TacSdk.js +0 -154
  400. package/dist/sdk/TransactionManager.d.ts +0 -22
  401. package/dist/sdk/TransactionManager.js +0 -269
  402. package/dist/sender/SenderAbstraction.d.ts +0 -22
  403. package/dist/sender/SenderAbstraction.js +0 -5
  404. package/dist/structs/Services.d.ts +0 -66
  405. package/dist/wrappers/JettonMaster.d.ts +0 -24
  406. package/dist/wrappers/JettonMaster.js +0 -53
  407. package/dist/wrappers/JettonWallet.js +0 -124
  408. package/dist/wrappers/Settings.d.ts +0 -10
  409. package/dist/wrappers/Settings.js +0 -38
  410. /package/dist/{structs/Services.js → artifacts/dev/tac/internal/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721.js} +0 -0
  411. /package/dist/{assets → src/assets}/AssetCache.js +0 -0
  412. /package/dist/{assets → src/assets}/index.d.ts +0 -0
  413. /package/dist/{assets → src/assets}/index.js +0 -0
  414. /package/dist/{errors → src/errors}/errors.d.ts +0 -0
  415. /package/dist/{errors → src/errors}/errors.js +0 -0
  416. /package/dist/{sdk → src/sdk}/StartTracking.js +0 -0
  417. /package/dist/{sender → src/sender}/BatchSender.js +0 -0
  418. /package/dist/{sender → src/sender}/RawSender.js +0 -0
  419. /package/dist/{structs → src/structs}/InternalStruct.js +0 -0
  420. /package/dist/{wrappers → src/wrappers}/ContentUtils.d.ts +0 -0
  421. /package/dist/{wrappers → src/wrappers}/HighloadQueryId.d.ts +0 -0
  422. /package/dist/{wrappers → src/wrappers}/HighloadQueryId.js +0 -0
  423. /package/dist/{wrappers → src/wrappers}/HighloadWalletV3.js +0 -0
@@ -0,0 +1,17 @@
1
+ import { IConfiguration, ILogger, IOperationTracker, ISimulator, ITONTransactionManager } from '../interfaces';
2
+ import type { SenderAbstraction } from '../sender';
3
+ import { BatchCrossChainTx, CrossChainTransactionOptions, CrossChainTransactionsOptions, CrosschainTx, EvmProxyMsg, FeeParams, TransactionLinkerWithOperationId } from '../structs/Struct';
4
+ export declare class TONTransactionManager implements ITONTransactionManager {
5
+ private readonly config;
6
+ private readonly simulator;
7
+ private readonly operationTracker;
8
+ private readonly logger;
9
+ constructor(config: IConfiguration, simulator: ISimulator, operationTracker: IOperationTracker, logger?: ILogger);
10
+ protected buildFeeParams(options: CrossChainTransactionOptions, evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, tx: CrosschainTx): Promise<FeeParams>;
11
+ private prepareCrossChainTransaction;
12
+ private generateCrossChainMessages;
13
+ sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, tx: CrosschainTx): Promise<TransactionLinkerWithOperationId>;
14
+ sendCrossChainTransactions(sender: SenderAbstraction, txs: BatchCrossChainTx[], options?: CrossChainTransactionsOptions): Promise<TransactionLinkerWithOperationId[]>;
15
+ private prepareBatchTransactions;
16
+ private waitForOperationIds;
17
+ }
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TONTransactionManager = void 0;
4
+ const assets_1 = require("../assets");
5
+ const errors_1 = require("../errors");
6
+ const instances_1 = require("../errors/instances");
7
+ const Consts_1 = require("./Consts");
8
+ const Logger_1 = require("./Logger");
9
+ const Utils_1 = require("./Utils");
10
+ const Validator_1 = require("./Validator");
11
+ class TONTransactionManager {
12
+ constructor(config, simulator, operationTracker, logger = new Logger_1.NoopLogger()) {
13
+ this.config = config;
14
+ this.simulator = simulator;
15
+ this.operationTracker = operationTracker;
16
+ this.logger = logger;
17
+ }
18
+ async buildFeeParams(options, evmProxyMsg, sender, tx) {
19
+ const { withoutSimulation, protocolFee, evmExecutorFee, tvmExecutorFee, isRoundTrip } = options;
20
+ if (withoutSimulation) {
21
+ if (protocolFee === undefined || evmExecutorFee === undefined) {
22
+ throw errors_1.missingFeeParamsError;
23
+ }
24
+ if (isRoundTrip && tvmExecutorFee === undefined) {
25
+ throw errors_1.missingTvmExecutorFeeError;
26
+ }
27
+ if (!evmProxyMsg.gasLimit) {
28
+ throw errors_1.missingGasLimitError;
29
+ }
30
+ return {
31
+ protocolFee,
32
+ evmExecutorFee,
33
+ tvmExecutorFee: tvmExecutorFee || 0n,
34
+ gasLimit: evmProxyMsg.gasLimit,
35
+ isRoundTrip: isRoundTrip || false,
36
+ };
37
+ }
38
+ const simulationResult = await this.simulator.getSimulationInfo(sender, tx);
39
+ if (!evmProxyMsg.gasLimit)
40
+ evmProxyMsg.gasLimit = simulationResult.feeParams.gasLimit;
41
+ return {
42
+ protocolFee: protocolFee ?? simulationResult.feeParams.protocolFee,
43
+ evmExecutorFee: evmExecutorFee ?? simulationResult.feeParams.evmExecutorFee,
44
+ tvmExecutorFee: simulationResult.feeParams.isRoundTrip && tvmExecutorFee !== undefined
45
+ ? tvmExecutorFee
46
+ : simulationResult.feeParams.tvmExecutorFee,
47
+ gasLimit: evmProxyMsg.gasLimit ?? simulationResult.feeParams.gasLimit,
48
+ isRoundTrip: isRoundTrip ?? simulationResult.feeParams.isRoundTrip,
49
+ };
50
+ }
51
+ async prepareCrossChainTransaction(evmProxyMsg, sender, assets, options, skipAssetsBalanceValidation = false) {
52
+ this.logger.debug('Preparing cross-chain transaction');
53
+ const caller = sender.getSenderAddress();
54
+ const { allowSimulationError = false, isRoundTrip = undefined, calculateRollbackFee = true, validateAssetsBalance = true, } = options || {};
55
+ const { evmValidExecutors = [], tvmValidExecutors = [] } = options || {};
56
+ Validator_1.Validator.validateEVMAddress(evmProxyMsg.evmTargetAddress);
57
+ const aggregatedData = (0, Utils_1.aggregateTokens)(assets);
58
+ Validator_1.Validator.validateEVMAddresses(evmValidExecutors);
59
+ Validator_1.Validator.validateTVMAddresses(tvmValidExecutors);
60
+ const shouldValidateAssets = validateAssetsBalance && !skipAssetsBalanceValidation;
61
+ if (shouldValidateAssets) {
62
+ await Promise.all([
63
+ ...aggregatedData.jettons.map((jetton) => jetton.checkCanBeTransferredBy(caller)),
64
+ ...aggregatedData.nfts.map((nft) => nft.checkCanBeTransferredBy(caller)),
65
+ aggregatedData.ton?.checkCanBeTransferredBy(caller),
66
+ ].filter(Boolean));
67
+ }
68
+ const tokensLength = aggregatedData.jettons.length + aggregatedData.nfts.length;
69
+ const transactionLinker = (0, Utils_1.generateTransactionLinker)(caller, tokensLength || 1);
70
+ this.logger.debug(`Generated transaction linker: ${(0, Utils_1.formatObjectForLogging)(transactionLinker)}`);
71
+ const tacExecutors = evmValidExecutors.length ? evmValidExecutors : this.config.getTrustedTACExecutors;
72
+ const tonExecutors = tvmValidExecutors.length ? tvmValidExecutors : this.config.getTrustedTONExecutors;
73
+ const tx = {
74
+ evmProxyMsg,
75
+ assets: assets ?? [],
76
+ options: {
77
+ allowSimulationError,
78
+ isRoundTrip,
79
+ evmValidExecutors: tacExecutors,
80
+ tvmValidExecutors: tonExecutors,
81
+ calculateRollbackFee,
82
+ },
83
+ };
84
+ const feeParams = await this.buildFeeParams(options || {}, evmProxyMsg, sender, tx);
85
+ this.logger.debug(`Resulting fee params: ${(0, Utils_1.formatObjectForLogging)(feeParams)}`);
86
+ const validExecutors = {
87
+ tac: tacExecutors,
88
+ ton: tonExecutors,
89
+ };
90
+ const evmData = (0, Utils_1.buildEvmDataCell)(transactionLinker, evmProxyMsg, validExecutors);
91
+ const messages = await this.generateCrossChainMessages(caller, evmData, aggregatedData, feeParams);
92
+ return {
93
+ transaction: {
94
+ validUntil: Date.now() + Consts_1.FIFTEEN_MINUTES,
95
+ messages,
96
+ network: this.config.network,
97
+ },
98
+ transactionLinker,
99
+ };
100
+ }
101
+ async generateCrossChainMessages(caller, evmData, aggregatedData, feeParams) {
102
+ this.logger.debug('Generating cross-chain messages');
103
+ const { jettons, nfts, ton = assets_1.TON.create(this.config) } = aggregatedData;
104
+ const totalAssets = [...jettons, ...nfts];
105
+ let crossChainTonAmount = ton.rawAmount;
106
+ let feeTonAmount = feeParams.protocolFee + feeParams.evmExecutorFee + feeParams.tvmExecutorFee;
107
+ this.logger.debug(`Crosschain ton amount: ${crossChainTonAmount}, Fee ton amount: ${feeTonAmount}`);
108
+ if (!totalAssets.length) {
109
+ return [
110
+ {
111
+ address: this.config.TONParams.crossChainLayerAddress,
112
+ value: crossChainTonAmount + feeTonAmount + Consts_1.TRANSACTION_TON_AMOUNT,
113
+ payload: await ton.generatePayload({ excessReceiver: caller, evmData, feeParams }),
114
+ },
115
+ ];
116
+ }
117
+ const messages = [];
118
+ let currentFeeParams = feeParams;
119
+ for (const asset of totalAssets) {
120
+ const payload = await asset.generatePayload({
121
+ excessReceiver: caller,
122
+ evmData,
123
+ crossChainTonAmount,
124
+ forwardFeeTonAmount: feeTonAmount,
125
+ feeParams: currentFeeParams,
126
+ });
127
+ const address = asset instanceof assets_1.FT ? await asset.getUserWalletAddress(caller) : asset.address;
128
+ messages.push({
129
+ address,
130
+ value: crossChainTonAmount + feeTonAmount + Consts_1.TRANSACTION_TON_AMOUNT,
131
+ payload,
132
+ });
133
+ crossChainTonAmount = 0n;
134
+ feeTonAmount = 0n;
135
+ currentFeeParams = undefined;
136
+ }
137
+ this.logger.debug('Cross-chain messages generated successfully');
138
+ return messages;
139
+ }
140
+ async sendCrossChainTransaction(evmProxyMsg, sender, tx) {
141
+ const { transaction, transactionLinker } = await this.prepareCrossChainTransaction(evmProxyMsg, sender, tx.assets, tx.options);
142
+ await assets_1.TON.checkBalance(sender, this.config, [transaction]);
143
+ this.logger.debug(`Sending transaction: ${(0, Utils_1.formatObjectForLogging)(transactionLinker)}`);
144
+ const sendTransactionResult = await sender.sendShardTransaction(transaction, this.config.network, this.config.TONParams.contractOpener);
145
+ if (!sendTransactionResult.success || sendTransactionResult.error) {
146
+ throw (0, instances_1.sendCrossChainTransactionFailedError)(sendTransactionResult.error?.message ?? 'Transaction failed to send');
147
+ }
148
+ const shouldWaitForOperationId = tx.options?.waitOperationId ?? true;
149
+ if (!shouldWaitForOperationId) {
150
+ return { sendTransactionResult, ...transactionLinker };
151
+ }
152
+ const waitOptions = tx.options?.waitOptions ?? {};
153
+ waitOptions.successCheck = waitOptions.successCheck ?? ((id) => !!id);
154
+ waitOptions.logger = waitOptions.logger ?? this.logger;
155
+ const operationId = await this.operationTracker
156
+ .getOperationId(transactionLinker, waitOptions)
157
+ .catch((error) => {
158
+ this.logger.error(`Error while waiting for operation ID: ${error}`);
159
+ return undefined;
160
+ });
161
+ return { sendTransactionResult, operationId, ...transactionLinker };
162
+ }
163
+ async sendCrossChainTransactions(sender, txs, options) {
164
+ const caller = sender.getSenderAddress();
165
+ this.logger.debug(`Preparing ${txs.length} cross-chain transactions for ${caller}`);
166
+ const { transactions, transactionLinkers } = await this.prepareBatchTransactions(txs, sender);
167
+ await assets_1.TON.checkBalance(sender, this.config, transactions);
168
+ this.logger.debug(`Sending transactions: ${(0, Utils_1.formatObjectForLogging)(transactionLinkers)}`);
169
+ const results = await sender.sendShardTransactions(transactions, this.config.network, this.config.TONParams.contractOpener);
170
+ for (const result of results) {
171
+ if (!result.success || result.error) {
172
+ throw (0, instances_1.sendCrossChainTransactionFailedError)(result.error?.message ?? 'Transaction failed to send');
173
+ }
174
+ }
175
+ const shouldWaitForOperationIds = options?.waitOperationIds ?? true;
176
+ return shouldWaitForOperationIds
177
+ ? await this.waitForOperationIds(transactionLinkers, caller, options?.waitOptions ?? {})
178
+ : transactionLinkers;
179
+ }
180
+ async prepareBatchTransactions(txs, sender) {
181
+ const caller = sender.getSenderAddress();
182
+ const txsRequiringValidation = txs.filter((tx) => tx.options?.validateAssetsBalance ?? true);
183
+ if (txsRequiringValidation.length) {
184
+ // Aggregate only assets from txs that require validation and validate once per unique asset
185
+ const assetsToValidate = txsRequiringValidation.flatMap((tx) => tx.assets ?? []);
186
+ const aggregatedData = (0, Utils_1.aggregateTokens)(assetsToValidate);
187
+ await Promise.all([
188
+ ...aggregatedData.jettons.map((jetton) => jetton.checkCanBeTransferredBy(caller)),
189
+ ...aggregatedData.nfts.map((nft) => nft.checkCanBeTransferredBy(caller)),
190
+ aggregatedData.ton?.checkCanBeTransferredBy(caller),
191
+ ].filter(Boolean));
192
+ }
193
+ const results = await Promise.all(txs.map(({ evmProxyMsg, assets, options }) => this.prepareCrossChainTransaction(evmProxyMsg, sender, assets, options, true)));
194
+ return {
195
+ transactions: results.map((r) => r.transaction),
196
+ transactionLinkers: results.map((r) => r.transactionLinker),
197
+ };
198
+ }
199
+ async waitForOperationIds(transactionLinkers, caller, waitOptions) {
200
+ this.logger.debug(`Waiting for operation IDs`);
201
+ try {
202
+ waitOptions.successCheck =
203
+ waitOptions.successCheck ??
204
+ ((operationIds) => Object.keys(operationIds).length == transactionLinkers.length &&
205
+ Object.values(operationIds).every((ids) => ids.operationIds.length > 0));
206
+ waitOptions.logger = waitOptions.logger ?? this.logger;
207
+ const operationIds = await this.operationTracker.getOperationIdsByShardsKeys(transactionLinkers.map((linker) => linker.shardsKey), caller, waitOptions);
208
+ this.logger.debug(`Operation IDs: ${(0, Utils_1.formatObjectForLogging)(operationIds)}`);
209
+ return transactionLinkers.map((linker) => ({
210
+ ...linker,
211
+ operationId: operationIds[linker.shardsKey].operationIds.at(0),
212
+ }));
213
+ }
214
+ catch (error) {
215
+ this.logger.error(`Error while waiting for operation IDs: ${error}`);
216
+ return transactionLinkers;
217
+ }
218
+ }
219
+ }
220
+ exports.TONTransactionManager = TONTransactionManager;
@@ -0,0 +1,44 @@
1
+ import { Wallet } from 'ethers';
2
+ import { JettonMinterData, NFTItemData } from '../../artifacts/tonTypes';
3
+ import { FT, NFT } from '../assets';
4
+ import { IConfiguration, ILogger, IOperationTracker, ITacSDK } from '../interfaces';
5
+ import type { SenderAbstraction } from '../sender';
6
+ import { AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg, AssetLike, BatchCrossChainTxWithAssetLike, CrossChainTransactionOptions, CrossChainTransactionsOptions, CrosschainTx, EVMAddress, EvmProxyMsg, ExecutionFeeEstimationResult, NFTAddressType, SDKParams, SuggestedTVMExecutorFee, TACSimulationParams, TACSimulationResult, TransactionLinkerWithOperationId, TVMAddress, UserWalletBalanceExtended } from '../structs/Struct';
7
+ export declare class TacSdk implements ITacSDK {
8
+ readonly config: IConfiguration;
9
+ readonly operationTracker: IOperationTracker;
10
+ private readonly simulator;
11
+ private readonly tonTransactionManager;
12
+ private readonly tacTransactionManager;
13
+ private constructor();
14
+ static create(sdkParams: SDKParams, logger?: ILogger): Promise<TacSdk>;
15
+ closeConnections(): unknown;
16
+ get nativeTONAddress(): string;
17
+ getSmartAccountAddressForTvmWallet(tvmWallet: string, applicationAddress: string): Promise<string>;
18
+ nativeTACAddress(): Promise<string>;
19
+ get getTrustedTACExecutors(): string[];
20
+ get getTrustedTONExecutors(): string[];
21
+ getSimulationInfo(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetLike[], options?: CrossChainTransactionOptions): Promise<ExecutionFeeEstimationResult>;
22
+ getTVMExecutorFeeInfo(assets: AssetLike[], feeSymbol: string, tvmValidExecutors?: string[]): Promise<SuggestedTVMExecutorFee>;
23
+ sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetLike[], options?: CrossChainTransactionOptions): Promise<TransactionLinkerWithOperationId>;
24
+ sendCrossChainTransactions(sender: SenderAbstraction, txs: BatchCrossChainTxWithAssetLike[], options?: CrossChainTransactionsOptions): Promise<TransactionLinkerWithOperationId[]>;
25
+ bridgeTokensToTON(signer: Wallet, value: bigint, tonTarget: string, assets?: AssetLike[], tvmExecutorFee?: bigint, tvmValidExecutors?: string[]): Promise<string>;
26
+ isContractDeployedOnTVM(address: string): Promise<boolean>;
27
+ simulateTACMessage(req: TACSimulationParams): Promise<TACSimulationResult>;
28
+ simulateTransactions(sender: SenderAbstraction, txs: CrosschainTx[]): Promise<ExecutionFeeEstimationResult[]>;
29
+ getAsset(args: AssetFromFTArg): Promise<FT>;
30
+ getAsset(args: AssetFromNFTCollectionArg): Promise<NFT>;
31
+ getAsset(args: AssetFromNFTItemArg): Promise<NFT>;
32
+ getUserJettonWalletAddress(userAddress: string, tokenAddress: string): Promise<string>;
33
+ getUserJettonBalance(userAddress: string, tokenAddress: string): Promise<bigint>;
34
+ getUserJettonBalanceExtended(userAddress: string, tokenAddress: string): Promise<UserWalletBalanceExtended>;
35
+ getJettonData(itemAddress: TVMAddress): Promise<JettonMinterData>;
36
+ getFT(address: TVMAddress | EVMAddress): Promise<FT>;
37
+ getNFTItemData(itemAddress: TVMAddress): Promise<NFTItemData>;
38
+ getNFT(args: AssetFromNFTCollectionArg | AssetFromNFTItemArg): Promise<NFT>;
39
+ getEVMTokenAddress(tvmTokenAddress: string): Promise<string>;
40
+ getTVMTokenAddress(evmTokenAddress: string): Promise<string>;
41
+ getTVMNFTAddress(evmNFTAddress: string, tokenId?: number | bigint): Promise<string>;
42
+ getEVMNFTAddress(tvmNFTAddress: string, addressType: NFTAddressType): Promise<string>;
43
+ getOperationTracker(): IOperationTracker;
44
+ }
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TacSdk = void 0;
4
+ const artifacts_1 = require("../../artifacts");
5
+ const assets_1 = require("../assets");
6
+ const Struct_1 = require("../structs/Struct");
7
+ const Configuration_1 = require("./Configuration");
8
+ const Consts_1 = require("./Consts");
9
+ const Logger_1 = require("./Logger");
10
+ const OperationTracker_1 = require("./OperationTracker");
11
+ const Simulator_1 = require("./Simulator");
12
+ const TACTransactionManager_1 = require("./TACTransactionManager");
13
+ const TONTransactionManager_1 = require("./TONTransactionManager");
14
+ const Utils_1 = require("./Utils");
15
+ class TacSdk {
16
+ constructor(config, simulator, tonTransactionManager, tacTransactionManager, operationTracker) {
17
+ this.config = config;
18
+ this.simulator = simulator;
19
+ this.tonTransactionManager = tonTransactionManager;
20
+ this.tacTransactionManager = tacTransactionManager;
21
+ this.operationTracker = operationTracker;
22
+ }
23
+ static async create(sdkParams, logger = new Logger_1.NoopLogger()) {
24
+ const network = sdkParams.network;
25
+ const delay = sdkParams.delay ?? Consts_1.DEFAULT_DELAY;
26
+ let artifacts;
27
+ switch (network) {
28
+ case Struct_1.Network.MAINNET:
29
+ artifacts = artifacts_1.mainnet;
30
+ break;
31
+ case Struct_1.Network.TESTNET:
32
+ artifacts = artifacts_1.testnet;
33
+ break;
34
+ case Struct_1.Network.DEV:
35
+ artifacts = artifacts_1.dev;
36
+ break;
37
+ default:
38
+ throw new Error(`Unsupported network: ${network}`);
39
+ }
40
+ const config = await Configuration_1.Configuration.create(network, artifacts, sdkParams.TONParams, sdkParams.TACParams, sdkParams.customLiteSequencerEndpoints, delay);
41
+ const operationTracker = new OperationTracker_1.OperationTracker(network, config.liteSequencerEndpoints);
42
+ const simulator = new Simulator_1.Simulator(config, operationTracker, logger);
43
+ const tonTransactionManager = new TONTransactionManager_1.TONTransactionManager(config, simulator, operationTracker, logger);
44
+ const tacTransactionManager = new TACTransactionManager_1.TACTransactionManager(config, operationTracker, logger);
45
+ return new TacSdk(config, simulator, tonTransactionManager, tacTransactionManager, operationTracker);
46
+ }
47
+ closeConnections() {
48
+ return this.config.closeConnections();
49
+ }
50
+ get nativeTONAddress() {
51
+ return this.config.nativeTONAddress;
52
+ }
53
+ async getSmartAccountAddressForTvmWallet(tvmWallet, applicationAddress) {
54
+ const bouncedAddress = (0, Utils_1.getBouncedAddress)(tvmWallet);
55
+ return await this.config.TACParams.smartAccountFactory.getSmartAccountForApplication(bouncedAddress, applicationAddress);
56
+ }
57
+ async nativeTACAddress() {
58
+ return this.config.nativeTACAddress();
59
+ }
60
+ get getTrustedTACExecutors() {
61
+ return this.config.getTrustedTACExecutors;
62
+ }
63
+ get getTrustedTONExecutors() {
64
+ return this.config.getTrustedTONExecutors;
65
+ }
66
+ async getSimulationInfo(evmProxyMsg, sender, assets, options) {
67
+ const normalizedAssets = await (0, Utils_1.normalizeAssets)(this.config, assets);
68
+ const tx = { evmProxyMsg, assets: normalizedAssets, options };
69
+ return this.simulator.getSimulationInfo(sender, tx);
70
+ }
71
+ async getTVMExecutorFeeInfo(assets, feeSymbol, tvmValidExecutors) {
72
+ const normalized = await (0, Utils_1.normalizeAssets)(this.config, assets);
73
+ const params = {
74
+ tonAssets: (0, Utils_1.mapAssetsToTonAssets)(normalized),
75
+ feeSymbol: feeSymbol,
76
+ tvmValidExecutors: tvmValidExecutors ?? [],
77
+ };
78
+ return this.operationTracker.getTVMExecutorFee(params);
79
+ }
80
+ async sendCrossChainTransaction(evmProxyMsg, sender, assets = [], options) {
81
+ const normalizedAssets = await (0, Utils_1.normalizeAssets)(this.config, assets);
82
+ const tx = { evmProxyMsg, assets: normalizedAssets, options };
83
+ return this.tonTransactionManager.sendCrossChainTransaction(evmProxyMsg, sender, tx);
84
+ }
85
+ async sendCrossChainTransactions(sender, txs, options) {
86
+ const normalizedTxs = await Promise.all(txs.map(async (tx) => ({
87
+ evmProxyMsg: tx.evmProxyMsg,
88
+ options: tx.options,
89
+ assets: await (0, Utils_1.normalizeAssets)(this.config, tx.assets),
90
+ })));
91
+ return this.tonTransactionManager.sendCrossChainTransactions(sender, normalizedTxs, options);
92
+ }
93
+ async bridgeTokensToTON(signer, value, tonTarget, assets, tvmExecutorFee, tvmValidExecutors) {
94
+ const normalizedAssets = await (0, Utils_1.normalizeAssets)(this.config, assets);
95
+ return this.tacTransactionManager.bridgeTokensToTON(signer, value, tonTarget, normalizedAssets, tvmExecutorFee, tvmValidExecutors);
96
+ }
97
+ async isContractDeployedOnTVM(address) {
98
+ return this.config.isContractDeployedOnTVM(address);
99
+ }
100
+ async simulateTACMessage(req) {
101
+ return this.operationTracker.simulateTACMessage(req);
102
+ }
103
+ async simulateTransactions(sender, txs) {
104
+ return this.simulator.getSimulationsInfo(sender, txs);
105
+ }
106
+ async getAsset(args) {
107
+ return await assets_1.AssetFactory.from(this.config, args);
108
+ }
109
+ // Jetton methods
110
+ async getUserJettonWalletAddress(userAddress, tokenAddress) {
111
+ const ft = await assets_1.AssetFactory.from(this.config, {
112
+ address: tokenAddress,
113
+ tokenType: Struct_1.AssetType.FT,
114
+ });
115
+ return ft.getUserWalletAddress(userAddress);
116
+ }
117
+ async getUserJettonBalance(userAddress, tokenAddress) {
118
+ const ft = await assets_1.AssetFactory.from(this.config, {
119
+ address: tokenAddress,
120
+ tokenType: Struct_1.AssetType.FT,
121
+ });
122
+ return ft.getUserBalance(userAddress);
123
+ }
124
+ async getUserJettonBalanceExtended(userAddress, tokenAddress) {
125
+ const ft = await assets_1.AssetFactory.from(this.config, {
126
+ address: tokenAddress,
127
+ tokenType: Struct_1.AssetType.FT,
128
+ });
129
+ return ft.getUserBalanceExtended(userAddress);
130
+ }
131
+ async getJettonData(itemAddress) {
132
+ return assets_1.FT.getJettonData(this.config, itemAddress);
133
+ }
134
+ async getFT(address) {
135
+ return await assets_1.FT.fromAddress(this.config, address);
136
+ }
137
+ // NFT methods
138
+ async getNFTItemData(itemAddress) {
139
+ return assets_1.NFT.getItemData(this.config, itemAddress);
140
+ }
141
+ async getNFT(args) {
142
+ if ('addressType' in args && args.addressType === Struct_1.NFTAddressType.ITEM) {
143
+ return assets_1.NFT.fromItem(this.config, args.address);
144
+ }
145
+ else {
146
+ const collectionArgs = args;
147
+ return assets_1.NFT.fromCollection(this.config, {
148
+ collection: collectionArgs.address,
149
+ index: collectionArgs.index,
150
+ });
151
+ }
152
+ }
153
+ // Address conversion methods
154
+ async getEVMTokenAddress(tvmTokenAddress) {
155
+ const asset = await assets_1.AssetFactory.from(this.config, {
156
+ address: tvmTokenAddress,
157
+ tokenType: Struct_1.AssetType.FT,
158
+ });
159
+ return asset.getEVMAddress();
160
+ }
161
+ async getTVMTokenAddress(evmTokenAddress) {
162
+ return assets_1.FT.getTVMAddress(this.config, evmTokenAddress);
163
+ }
164
+ async getTVMNFTAddress(evmNFTAddress, tokenId) {
165
+ return assets_1.NFT.getTVMAddress(this.config, evmNFTAddress, tokenId === undefined ? undefined : BigInt(tokenId));
166
+ }
167
+ async getEVMNFTAddress(tvmNFTAddress, addressType) {
168
+ if (addressType === Struct_1.NFTAddressType.ITEM) {
169
+ const nft = await assets_1.NFT.fromItem(this.config, tvmNFTAddress);
170
+ return nft.getEVMAddress();
171
+ }
172
+ else {
173
+ const nftCollection = await assets_1.NFT.fromCollection(this.config, { collection: tvmNFTAddress, index: 0n });
174
+ return nftCollection.getEVMAddress();
175
+ }
176
+ }
177
+ getOperationTracker() {
178
+ return this.operationTracker;
179
+ }
180
+ }
181
+ exports.TacSdk = TacSdk;
@@ -1,9 +1,10 @@
1
+ import { IHttpClient, ILogger } from '../interfaces';
1
2
  import { TxFinalizerConfig } from '../structs/InternalStruct';
2
- import { ILogger } from '../structs/Services';
3
3
  export declare class TonTxFinalizer {
4
4
  private logger;
5
5
  private apiConfig;
6
- constructor(apiConfig: TxFinalizerConfig, logger?: ILogger);
6
+ private readonly httpClient;
7
+ constructor(apiConfig: TxFinalizerConfig, logger?: ILogger, httpClient?: IHttpClient);
7
8
  private logHashFormats;
8
9
  private fetchAdjacentTransactions;
9
10
  trackTransactionTree(hash: string, maxDepth?: number): Promise<void>;
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.TonTxFinalizer = void 0;
7
- const axios_1 = __importDefault(require("axios"));
4
+ const AxiosHttpClient_1 = require("./AxiosHttpClient");
8
5
  const Logger_1 = require("./Logger");
9
6
  const Utils_1 = require("./Utils");
10
7
  const IGNORE_OPCODE = [
@@ -12,9 +9,10 @@ const IGNORE_OPCODE = [
12
9
  '0x7362d09c', // Jetton Notify
13
10
  ];
14
11
  class TonTxFinalizer {
15
- constructor(apiConfig, logger = new Logger_1.NoopLogger()) {
12
+ constructor(apiConfig, logger = new Logger_1.NoopLogger(), httpClient = new AxiosHttpClient_1.AxiosHttpClient()) {
16
13
  this.apiConfig = apiConfig;
17
14
  this.logger = logger;
15
+ this.httpClient = httpClient;
18
16
  }
19
17
  logHashFormats(hash) {
20
18
  let hex, base64;
@@ -34,10 +32,9 @@ class TonTxFinalizer {
34
32
  // Fetches adjacent transactions from toncenter
35
33
  async fetchAdjacentTransactions(hash, retries = 5, delay = 1000) {
36
34
  for (let i = retries; i >= 0; i--) {
37
- await (0, Utils_1.sleep)(delay);
38
35
  try {
39
36
  const url = this.apiConfig.urlBuilder(hash);
40
- const response = await axios_1.default.get(url, {
37
+ const response = await this.httpClient.get(url, {
41
38
  headers: {
42
39
  [this.apiConfig.authorization.header]: this.apiConfig.authorization.value,
43
40
  },
@@ -49,6 +46,9 @@ class TonTxFinalizer {
49
46
  const errorMessage = error.message;
50
47
  // Rate limit error (429) - retry
51
48
  if (errorMessage.includes('429')) {
49
+ if (i > 0) {
50
+ await (0, Utils_1.sleep)(delay);
51
+ }
52
52
  continue;
53
53
  }
54
54
  // Log all errors except 404 Not Found
@@ -56,6 +56,9 @@ class TonTxFinalizer {
56
56
  const logMessage = error instanceof Error ? error.message : error;
57
57
  console.warn(`Failed to fetch adjacent transactions for ${hash}:`, logMessage);
58
58
  }
59
+ if (i > 0) {
60
+ await (0, Utils_1.sleep)(delay);
61
+ }
59
62
  }
60
63
  }
61
64
  return [];
@@ -91,7 +94,9 @@ class TonTxFinalizer {
91
94
  `action.result_code = ${action.resultCode}`);
92
95
  }
93
96
  if (currentDepth + 1 < maxDepth) {
94
- queue.push({ hash: tx.hash, depth: currentDepth + 1 });
97
+ if (tx.outMsgs.length > 0) {
98
+ queue.push({ hash: tx.hash, depth: currentDepth + 1 });
99
+ }
95
100
  }
96
101
  }
97
102
  else {
@@ -1,10 +1,9 @@
1
1
  import { Address, Cell } from '@ton/ton';
2
2
  import { AbiCoder } from 'ethers';
3
- import { FT } from '../assets/FT';
4
- import { NFT } from '../assets/NFT';
5
- import { TON } from '../assets/TON';
3
+ import type { FT, NFT, TON } from '../assets';
4
+ import { Asset, IConfiguration } from '../interfaces';
6
5
  import { RandomNumberByTimestamp } from '../structs/InternalStruct';
7
- import { Asset, EvmProxyMsg, FeeParams, TransactionLinker, ValidExecutors, WaitOptions } from '../structs/Struct';
6
+ import { AssetLike, EvmProxyMsg, FeeParams, TONAsset, TransactionLinker, ValidExecutors, WaitOptions } from '../structs/Struct';
8
7
  export declare const sleep: (ms: number) => Promise<unknown>;
9
8
  export declare function generateRandomNumber(interval: number): number;
10
9
  export declare function generateRandomNumberByTimestamp(): RandomNumberByTimestamp;
@@ -18,10 +17,18 @@ export declare const calculateRawAmount: (amount: number, decimals: number) => b
18
17
  export declare const calculateAmount: (rawAmount: bigint, decimals: number) => number;
19
18
  export declare const toCamelCaseTransformer: (data: string) => any;
20
19
  export declare const generateFeeData: (feeParams?: FeeParams) => Cell | undefined;
21
- export declare function waitUntilSuccess<T, A extends unknown[]>(options: WaitOptions<T> | undefined, operation: (...args: A) => Promise<T>, ...args: A): Promise<T>;
20
+ export declare function waitUntilSuccess<T, TContext = unknown, A extends unknown[] = unknown[]>(options: WaitOptions<T, TContext> | undefined, operation: (...args: A) => Promise<T>, operationDescription?: string, ...args: A): Promise<T>;
22
21
  export declare function formatObjectForLogging(obj: unknown): string;
23
- export declare function aggregateTokens(assets?: Asset[]): Promise<{
22
+ export declare function getBouncedAddress(tvmAddress: string): string;
23
+ export declare function aggregateTokens(assets?: Asset[]): {
24
24
  jettons: FT[];
25
25
  nfts: NFT[];
26
26
  ton?: TON;
27
- }>;
27
+ };
28
+ export declare function sha256toBigInt(ContractName: string): bigint;
29
+ export declare function mapAssetsToTonAssets(assets: Asset[]): TONAsset[];
30
+ export declare function normalizeAsset(config: IConfiguration, input: AssetLike): Promise<Asset>;
31
+ export declare function normalizeAssets(config: IConfiguration, assets?: AssetLike[]): Promise<Asset[]>;
32
+ export declare function getAddressString(cell?: Cell): string;
33
+ export declare function getNumber(len: number, cell?: Cell): number;
34
+ export declare function getString(cell?: Cell): string;