@tonappchain/sdk 0.7.0-rc9 → 0.7.0

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 +1 -1
  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 +7 -13
  313. package/dist/{assets → src/assets}/TON.js +22 -20
  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 +57 -6
  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,235 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReplacementHelper = void 0;
4
+ const ethers_1 = require("ethers");
5
+ class ReplacementHelper {
6
+ /**
7
+ * Helper to create dynamic amount replacement for a specific parameter
8
+ * @param paramIndex - The index of the parameter to replace
9
+ * @param token - The token to replace
10
+ * @param balanceAddress - The address to replace the parameter with
11
+ * @returns The amount replacement
12
+ */
13
+ createAmountReplacement(paramIndex, token, balanceAddress) {
14
+ // Calculate position in calldata (4 bytes selector + 32 bytes per param)
15
+ const position = 4 + paramIndex * 32;
16
+ return {
17
+ position,
18
+ len: 32, // uint256 is 32 bytes
19
+ token,
20
+ balanceAddress,
21
+ };
22
+ }
23
+ /**
24
+ * Advanced replacement calculator - calculates position and length for any parameter type
25
+ * Required that you have added the contract interface first using addContractInterface().
26
+ * If human readable abi is used, need to provide function and params names also
27
+ * @param contractAddress - The address of the contract to call
28
+ * @param functionName - The name of the function to call
29
+ * @param parameterName - The name of the parameter to replace
30
+ * @param token - The token to replace
31
+ * @param balanceAddress - The address to replace the parameter with
32
+ * @returns The replacement data
33
+ */
34
+ calculateReplacementData(contractAddress, functionName, parameterName, token, balanceAddress, contractInterfaces) {
35
+ const contractInterface = contractInterfaces.get(contractAddress.toLowerCase());
36
+ if (!contractInterface) {
37
+ throw new Error(`Contract interface not found for address: ${contractAddress}. Please add it first using addContractInterface().`);
38
+ }
39
+ let functionFragment;
40
+ try {
41
+ functionFragment = contractInterface.getFunction(functionName);
42
+ }
43
+ catch {
44
+ throw new Error(`Function '${functionName}' not found in contract interface for ${contractAddress}`);
45
+ }
46
+ if (!functionFragment) {
47
+ throw new Error(`Function '${functionName}' not found in contract interface for ${contractAddress}`);
48
+ }
49
+ // Find the parameter by name
50
+ const paramIndex = functionFragment.inputs.findIndex((input) => input.name === parameterName);
51
+ if (paramIndex === -1) {
52
+ const availableParams = functionFragment.inputs
53
+ .map((input) => `${input.name} (${input.type})`)
54
+ .join(', ');
55
+ throw new Error(`Parameter '${parameterName}' not found in function '${functionName}'. Available parameters: ${availableParams}`);
56
+ }
57
+ // Calculate position and length based on parameter type
58
+ const { position, len } = this._calculateParamPositionAndLength(functionFragment.inputs, paramIndex);
59
+ return {
60
+ position,
61
+ len,
62
+ token,
63
+ balanceAddress,
64
+ };
65
+ }
66
+ /**
67
+ * Get replacement helper - shows available functions and parameters for a contract
68
+ * Required that you have added the contract interface first using addContractInterface().
69
+ * If human readable abi is used, need to provide function and params names also
70
+ * @param contractAddress - The address of the contract to call
71
+ * @returns The replacement helper
72
+ */
73
+ getReplacementHelper(contractAddress, contractInterfaces) {
74
+ const contractInterface = contractInterfaces.get(contractAddress.toLowerCase());
75
+ if (!contractInterface) {
76
+ throw new Error(`Contract interface not found for address: ${contractAddress}. Please add it first using addContractInterface().`);
77
+ }
78
+ const functions = contractInterface.fragments
79
+ .filter((fragment) => fragment.type === 'function')
80
+ .map((fragment) => {
81
+ const func = fragment;
82
+ return {
83
+ name: func.name,
84
+ signature: func.format('full'),
85
+ parameters: func.inputs.map((input, index) => {
86
+ const canReplace = this._canParameterBeReplaced(input.type);
87
+ return {
88
+ name: input.name || `param${index}`,
89
+ type: input.type,
90
+ index,
91
+ canReplace: canReplace.canReplace,
92
+ reason: canReplace.reason,
93
+ };
94
+ }),
95
+ };
96
+ });
97
+ return {
98
+ contractAddress,
99
+ functions,
100
+ };
101
+ }
102
+ /**
103
+ * Interactive replacement builder - helps build replacement step by step
104
+ * @param contractAddress - The address of the contract to call
105
+ * @param functionName - The name of the function to call
106
+ * @param parameterName - The name of the parameter to replace
107
+ * @param token - The token to replace
108
+ * @param balanceAddress - The address to replace the parameter with
109
+ * @param options - The options of the interactive replacement builder
110
+ * @returns The interactive replacement builder
111
+ */
112
+ buildReplacementInteractive(contractAddress, functionName, parameterName, token, balanceAddress, contractInterfaces, options = {}) {
113
+ const { validate = true } = options;
114
+ // Get the replacement data
115
+ const replacement = this.calculateReplacementData(contractAddress, functionName, parameterName, token, balanceAddress, contractInterfaces);
116
+ // Get function info for calculation details
117
+ const contractInterface = contractInterfaces.get(contractAddress.toLowerCase());
118
+ if (!contractInterface) {
119
+ throw new Error(`Contract interface not found for address: ${contractAddress}`);
120
+ }
121
+ const functionFragment = contractInterface.getFunction(functionName);
122
+ if (!functionFragment) {
123
+ throw new Error(`Function '${functionName}' not found in contract interface for ${contractAddress}`);
124
+ }
125
+ const paramIndex = functionFragment.inputs.findIndex((input) => input.name === parameterName);
126
+ const param = functionFragment.inputs[paramIndex];
127
+ const calculation = {
128
+ functionSignature: functionFragment.format('full'),
129
+ parameterInfo: {
130
+ name: parameterName,
131
+ type: param.type,
132
+ index: paramIndex,
133
+ position: replacement.position,
134
+ length: replacement.len,
135
+ },
136
+ positionCalculation: `Position = 4 bytes (selector) + ${paramIndex} * 32 bytes = ${replacement.position} bytes`,
137
+ };
138
+ // Validation
139
+ const validation = {
140
+ isValid: true,
141
+ warnings: [],
142
+ suggestions: [],
143
+ };
144
+ if (validate) {
145
+ // Check if parameter type is suitable for replacement
146
+ const typeCheck = this._canParameterBeReplaced(param.type);
147
+ if (!typeCheck.canReplace) {
148
+ validation.isValid = false;
149
+ validation.warnings.push(`Parameter type '${param.type}' ${typeCheck.reason}`);
150
+ }
151
+ // Check if it's a reasonable parameter to replace
152
+ if (param.name.toLowerCase().includes('amount') || param.name.toLowerCase().includes('value')) {
153
+ validation.suggestions.push(`✅ Parameter '${param.name}' looks suitable for dynamic replacement`);
154
+ }
155
+ else {
156
+ validation.warnings.push(`⚠️ Parameter '${param.name}' might not be intended for amount replacement`);
157
+ }
158
+ // Check token address
159
+ if (!ethers_1.ethers.isAddress(token)) {
160
+ validation.isValid = false;
161
+ validation.warnings.push(`Invalid token address: ${token}`);
162
+ }
163
+ if (!ethers_1.ethers.isAddress(balanceAddress)) {
164
+ validation.isValid = false;
165
+ validation.warnings.push(`Invalid balance address: ${balanceAddress}`);
166
+ }
167
+ }
168
+ return {
169
+ replacement,
170
+ calculation,
171
+ validation,
172
+ };
173
+ }
174
+ /**
175
+ * Private helper to calculate position and length for complex parameter types
176
+ * @param inputs - The inputs of the function
177
+ * @param targetIndex - The index of the parameter to calculate the position and length for
178
+ * @returns The position and length of the parameter
179
+ */
180
+ _calculateParamPositionAndLength(inputs, targetIndex) {
181
+ // For now, we support simple types. Complex types (arrays, structs) would need more sophisticated calculation
182
+ // This is a simplified version that works for basic types like uint256, address, etc.
183
+ let position = 4; // Start after function selector
184
+ for (let i = 0; i < targetIndex; i++) {
185
+ const paramType = inputs[i].type;
186
+ position += this._getTypeSize(paramType);
187
+ }
188
+ const targetType = inputs[targetIndex].type;
189
+ const len = this._getTypeSize(targetType);
190
+ return { position, len };
191
+ }
192
+ /**
193
+ * Get the size in bytes for a parameter type
194
+ * @param type - The type of the parameter
195
+ * @returns The size in bytes of the parameter
196
+ */
197
+ _getTypeSize(type) {
198
+ // Basic types are all 32 bytes in calldata (due to ABI encoding)
199
+ if (type.startsWith('uint') ||
200
+ type.startsWith('int') ||
201
+ type === 'address' ||
202
+ type === 'bool' ||
203
+ type.startsWith('bytes32')) {
204
+ return 32;
205
+ }
206
+ // Dynamic types (bytes, string) are also 32 bytes for the offset
207
+ if (type === 'bytes' || type === 'string') {
208
+ return 32;
209
+ }
210
+ // Arrays are 32 bytes for the offset
211
+ if (type.includes('[]')) {
212
+ return 32;
213
+ }
214
+ // Default to 32 bytes for unknown types
215
+ return 32;
216
+ }
217
+ /**
218
+ * Check if a parameter type can be replaced with a balance
219
+ * @param type - The type of the parameter
220
+ * @returns The can replace and reason of the parameter
221
+ */
222
+ _canParameterBeReplaced(type) {
223
+ if (type.startsWith('uint') && !type.includes('[]')) {
224
+ return { canReplace: true };
225
+ }
226
+ if (type.startsWith('int') && !type.includes('[]')) {
227
+ return { canReplace: true, reason: 'but be careful with signed integers' };
228
+ }
229
+ return {
230
+ canReplace: false,
231
+ reason: `is not suitable for balance replacement. Only uint/int types are supported.`,
232
+ };
233
+ }
234
+ }
235
+ exports.ReplacementHelper = ReplacementHelper;
@@ -1,4 +1,4 @@
1
- import { Asset } from '../structs/Struct';
1
+ import { Asset } from '../interfaces';
2
2
  export declare class AssetCache {
3
3
  private static readonly cache;
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { IConfiguration } from '../structs/Services';
2
- import { Asset, AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg, EVMAddress, NFTAddressType, TVMAddress } from '../structs/Struct';
1
+ import { Asset, IConfiguration } from '../interfaces';
2
+ import { AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg, EVMAddress, NFTAddressType, TVMAddress } from '../structs/Struct';
3
3
  export declare class AssetFactory {
4
4
  static from(configuration: IConfiguration, token: AssetFromFTArg | AssetFromNFTCollectionArg | AssetFromNFTItemArg): Promise<Asset>;
5
5
  static createFTAsset(configuration: IConfiguration, address: TVMAddress | EVMAddress): Promise<Asset>;
@@ -16,7 +16,7 @@ class AssetFactory {
16
16
  }
17
17
  const cachedAsset = AssetCache_1.AssetCache.get(token);
18
18
  if (cachedAsset) {
19
- return cachedAsset.clone.withAmount({ rawAmount: 0n });
19
+ return cachedAsset.clone.withRawAmount(0n);
20
20
  }
21
21
  const asset = token.tokenType === Struct_1.AssetType.FT
22
22
  ? await this.createFTAsset(configuration, token.address)
@@ -1,38 +1,35 @@
1
1
  import { SandboxContract } from '@ton/sandbox';
2
2
  import { Cell, OpenedContract } from '@ton/ton';
3
+ import { JettonMinterData, JettonWallet } from '../../artifacts/tonTypes';
4
+ import { Asset, IConfiguration } from '../interfaces';
3
5
  import { AssetOpType } from '../structs/InternalStruct';
4
- import { IConfiguration } from '../structs/Services';
5
- import { AssetType, ContractOpener, EVMAddress, FeeParams, TVMAddress, UserWalletBalanceExtended } from '../structs/Struct';
6
- import { Asset, Origin } from '../structs/Struct';
7
- import { JettonWallet } from '../wrappers/JettonWallet';
6
+ import { AssetType, EVMAddress, FeeParams, FTOriginAndData, TVMAddress, UserWalletBalanceExtended } from '../structs/Struct';
7
+ import { Origin } from '../structs/Struct';
8
8
  export declare class FT implements Asset {
9
9
  private _tvmAddress;
10
10
  readonly type: AssetType;
11
11
  readonly origin: Origin;
12
12
  private _configuration;
13
13
  private _jettonMinter;
14
- private _decimals?;
14
+ private _decimals;
15
15
  private _transferAmount;
16
16
  private _evmAddress?;
17
17
  get address(): string;
18
- static getJettonData(contractOpener: ContractOpener, address: TVMAddress): Promise<import("../wrappers/JettonMaster").JettonMasterData>;
18
+ static getJettonData(configuration: IConfiguration, address: TVMAddress): Promise<JettonMinterData>;
19
+ getJettonData(): Promise<JettonMinterData>;
19
20
  static getOrigin(configuration: IConfiguration, address: TVMAddress): Promise<Origin>;
21
+ static getOriginAndData(configuration: IConfiguration, address: TVMAddress): Promise<FTOriginAndData>;
20
22
  static getTVMAddress(configuration: IConfiguration, address: EVMAddress): Promise<string>;
21
23
  static getEVMAddress(configuration: IConfiguration, address: TVMAddress): Promise<string>;
22
24
  private constructor();
25
+ private static getTACDecimals;
23
26
  static fromAddress(configuration: IConfiguration, address: TVMAddress | EVMAddress): Promise<FT>;
24
27
  get rawAmount(): bigint;
25
28
  get clone(): FT;
26
- withAmount(amount: {
27
- rawAmount: bigint;
28
- } | {
29
- amount: number;
30
- }): Promise<FT>;
31
- addAmount(amount: {
32
- rawAmount: bigint;
33
- } | {
34
- amount: number;
35
- }): Promise<FT>;
29
+ withAmount(amount: number): FT;
30
+ withRawAmount(rawAmount: bigint): FT;
31
+ addAmount(amount: number): FT;
32
+ addRawAmount(rawAmount: bigint): FT;
36
33
  getDecimals(): Promise<number>;
37
34
  getEVMAddress(): Promise<string>;
38
35
  getTVMAddress(): Promise<string>;
@@ -49,7 +46,7 @@ export declare class FT implements Asset {
49
46
  getUserBalance(userAddress: string): Promise<bigint>;
50
47
  getUserBalanceExtended(userAddress: string): Promise<UserWalletBalanceExtended>;
51
48
  checkBalance(userAddress: string): Promise<void>;
52
- checkCanBeTransferedBy(userAddress: string): Promise<void>;
49
+ checkCanBeTransferredBy(userAddress: string): Promise<void>;
53
50
  getBalanceOf(userAddress: string): Promise<bigint>;
54
51
  private getTransferPayload;
55
52
  private getBurnPayload;
@@ -10,29 +10,36 @@ const Validator_1 = require("../sdk/Validator");
10
10
  const InternalStruct_1 = require("../structs/InternalStruct");
11
11
  const Struct_1 = require("../structs/Struct");
12
12
  const Struct_2 = require("../structs/Struct");
13
- const JettonMaster_1 = require("../wrappers/JettonMaster");
14
- const JettonWallet_1 = require("../wrappers/JettonWallet");
13
+ const ContentUtils_1 = require("../wrappers/ContentUtils");
15
14
  class FT {
16
15
  get address() {
17
16
  return this._tvmAddress.toString({ bounceable: true });
18
17
  }
19
- static async getJettonData(contractOpener, address) {
18
+ static async getJettonData(configuration, address) {
20
19
  Validator_1.Validator.validateTVMAddress(address);
21
- const jetton = contractOpener.open(JettonMaster_1.JettonMaster.createFromAddress(ton_1.Address.parse(address)));
22
- return await jetton.getJettonData();
20
+ const jetton = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(address)));
21
+ return jetton.getJettonData();
22
+ }
23
+ async getJettonData() {
24
+ return FT.getJettonData(this._configuration, this._tvmAddress.toString());
23
25
  }
24
26
  static async getOrigin(configuration, address) {
27
+ const result = await this.getOriginAndData(configuration, address);
28
+ return result.origin;
29
+ }
30
+ static async getOriginAndData(configuration, address) {
25
31
  const { jettonMinterCode, crossChainLayerAddress, jettonWalletCode } = configuration.TONParams;
26
32
  const { code: thisCodeBOC } = await configuration.TONParams.contractOpener.getContractState(ton_1.Address.parse(address));
27
33
  if (!thisCodeBOC) {
28
34
  throw errors_1.emptyContractError;
29
35
  }
30
36
  const thisCode = ton_1.Cell.fromBoc(thisCodeBOC)[0];
37
+ const jettonMinter = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(address)));
31
38
  if (!jettonMinterCode.equals(thisCode)) {
32
- return Struct_2.Origin.TON;
39
+ const jettonData = await jettonMinter.getJettonData();
40
+ return { origin: Struct_2.Origin.TON, jettonMinter, jettonData };
33
41
  }
34
- const jettonMinter = configuration.TONParams.contractOpener.open(JettonMaster_1.JettonMaster.createFromAddress(ton_1.Address.parse(address)));
35
- const evmAddress = await jettonMinter.getEVMAddress();
42
+ const evmAddress = await jettonMinter.getEVMTokenAddress();
36
43
  const expectedMinterAddress = await (0, Utils_1.calculateContractAddress)(jettonMinterCode, (0, ton_1.beginCell)()
37
44
  .storeCoins(0)
38
45
  .storeAddress(ton_1.Address.parse(crossChainLayerAddress))
@@ -42,26 +49,27 @@ class FT {
42
49
  .storeStringTail(evmAddress)
43
50
  .endCell());
44
51
  if (!expectedMinterAddress.equals(ton_1.Address.parse(address))) {
45
- return Struct_2.Origin.TON;
52
+ const jettonData = await jettonMinter.getJettonData();
53
+ return { origin: Struct_2.Origin.TON, jettonMinter, jettonData };
46
54
  }
47
- return Struct_2.Origin.TAC;
55
+ return { origin: Struct_2.Origin.TAC, jettonMinter, evmAddress };
48
56
  }
49
57
  static async getTVMAddress(configuration, address) {
50
58
  Validator_1.Validator.validateEVMAddress(address);
51
- // If token is TON native
52
59
  const fromTVM = await configuration.TACParams.tokenUtils['exists(address)'](address);
53
60
  if (fromTVM) {
54
- const erc20Token = configuration.artifacts.tac.wrappers.CrossChainLayerERC20FactoryTAC.connect(address, configuration.TACParams.provider);
61
+ const cclErc20Abi = configuration.artifacts.tac.compilationArtifacts.ICrossChainLayerERC20.abi;
62
+ const erc20Token = new ethers_1.ethers.Contract(address, cclErc20Abi, configuration.TACParams.provider);
55
63
  const info = await erc20Token.getInfo();
56
64
  return info.tvmAddress;
57
65
  }
58
- // If token is TAC native
59
- const jettonMaster = JettonMaster_1.JettonMaster.createFromConfig({
66
+ const jettonMaster = configuration.artifacts.ton.wrappers.JettonMinter.createFromConfig({
67
+ totalSupply: 0n,
68
+ adminAddress: ton_1.Address.parse(configuration.TONParams.crossChainLayerAddress),
69
+ jettonWalletCode: configuration.TONParams.jettonWalletCode,
60
70
  evmTokenAddress: address,
61
- crossChainLayerAddress: ton_1.Address.parse(configuration.TONParams.crossChainLayerAddress),
62
- code: configuration.TONParams.jettonMinterCode,
63
- walletCode: configuration.TONParams.jettonWalletCode,
64
- });
71
+ content: (0, ton_1.beginCell)().endCell(),
72
+ }, configuration.TONParams.jettonMinterCode);
65
73
  return jettonMaster.address.toString();
66
74
  }
67
75
  static async getEVMAddress(configuration, address) {
@@ -71,29 +79,63 @@ class FT {
71
79
  return configuration.TACParams.tokenUtils.computeAddress(tokenAddressString);
72
80
  }
73
81
  else {
74
- const givenMinter = configuration.TONParams.contractOpener.open(new JettonMaster_1.JettonMaster(ton_1.Address.parse(tokenAddressString)));
75
- return givenMinter.getEVMAddress();
82
+ const givenMinter = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(tokenAddressString)));
83
+ return givenMinter.getEVMTokenAddress();
76
84
  }
77
85
  }
78
- constructor(address, origin, configuration) {
86
+ constructor(address, origin, configuration, decimals) {
79
87
  this.type = Struct_1.AssetType.FT;
80
88
  this._tvmAddress = ton_1.Address.parse(address);
81
89
  this._configuration = configuration;
82
- this._jettonMinter = this._configuration.TONParams.contractOpener.open(new JettonMaster_1.JettonMaster(this._tvmAddress));
90
+ this._jettonMinter = this._configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(this._tvmAddress));
83
91
  this.origin = origin;
84
92
  this._transferAmount = 0n;
93
+ this._decimals = decimals;
94
+ }
95
+ static async getTACDecimals(configuration, evmAddress) {
96
+ const nativeTACAddress = await configuration.nativeTACAddress();
97
+ if (evmAddress === nativeTACAddress) {
98
+ return Consts_1.TAC_DECIMALS; // Native TAC always has 18 decimals
99
+ }
100
+ // For ERC20 contracts, get decimals from contract
101
+ const erc20TokenAbi = configuration.artifacts.tac.compilationArtifacts.IERC20WithDecimals.abi;
102
+ const erc20Token = new ethers_1.ethers.Contract(evmAddress, erc20TokenAbi, configuration.TACParams.provider);
103
+ return Number(await erc20Token.decimals());
85
104
  }
86
105
  static async fromAddress(configuration, address) {
87
106
  const tvmAddress = (0, ethers_1.isAddress)(address) ? await this.getTVMAddress(configuration, address) : address;
88
- const origin = await FT.getOrigin(configuration, tvmAddress).catch((e) => {
107
+ const { origin, jettonMinter, evmAddress: cachedEvmAddress, jettonData, } = await this.getOriginAndData(configuration, tvmAddress).catch((e) => {
89
108
  if (e instanceof errors_1.ContractError) {
90
- return Struct_2.Origin.TAC;
109
+ const jettonMinter = configuration.TONParams.contractOpener.open(configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(tvmAddress)));
110
+ return { origin: Struct_2.Origin.TAC, jettonMinter, evmAddress: undefined, jettonData: undefined };
91
111
  }
92
112
  throw e;
93
113
  });
94
- const token = new FT(tvmAddress, origin, configuration);
95
- if ((0, ethers_1.isAddress)(address)) {
96
- token._evmAddress = address;
114
+ let decimals;
115
+ let finalEvmAddress;
116
+ if (origin === Struct_2.Origin.TON) {
117
+ if (!jettonData) {
118
+ throw errors_1.missingJettonDataError;
119
+ }
120
+ const metadata = await (0, ContentUtils_1.readJettonMetadata)(jettonData.content);
121
+ const decimalsRaw = metadata.metadata.decimals ?? Consts_1.TON_DECIMALS;
122
+ if (decimalsRaw === undefined) {
123
+ throw errors_1.missingDecimals;
124
+ }
125
+ decimals = Number(decimalsRaw);
126
+ }
127
+ else {
128
+ if ((0, ethers_1.isAddress)(address)) {
129
+ finalEvmAddress = address;
130
+ }
131
+ else {
132
+ finalEvmAddress = cachedEvmAddress || (await jettonMinter.getEVMTokenAddress());
133
+ }
134
+ decimals = await this.getTACDecimals(configuration, finalEvmAddress);
135
+ }
136
+ const token = new FT(tvmAddress, origin, configuration, decimals);
137
+ if (finalEvmAddress || (0, ethers_1.isAddress)(address)) {
138
+ token._evmAddress = finalEvmAddress || address;
97
139
  }
98
140
  return token;
99
141
  }
@@ -101,44 +143,38 @@ class FT {
101
143
  return this._transferAmount;
102
144
  }
103
145
  get clone() {
104
- const ft = new FT(this._tvmAddress.toString(), this.origin, this._configuration);
146
+ const ft = new FT(this._tvmAddress.toString(), this.origin, this._configuration, this._decimals);
105
147
  ft._transferAmount = this._transferAmount;
106
148
  ft._evmAddress = this._evmAddress;
107
- ft._decimals = this._decimals;
108
149
  return ft;
109
150
  }
110
- async withAmount(amount) {
151
+ withAmount(amount) {
111
152
  if (this._transferAmount > 0n) {
112
- // clone token if withAmount set before to avoid changing the original token
113
153
  const newToken = this.clone;
114
- newToken._transferAmount =
115
- 'rawAmount' in amount ? amount.rawAmount : (0, Utils_1.calculateRawAmount)(amount.amount, await this.getDecimals());
154
+ newToken._transferAmount = (0, Utils_1.calculateRawAmount)(amount, this._decimals);
116
155
  return newToken;
117
156
  }
118
- if ('rawAmount' in amount) {
119
- this._transferAmount = amount.rawAmount;
120
- }
121
- else {
122
- const decimals = await this.getDecimals();
123
- this._transferAmount = (0, Utils_1.calculateRawAmount)(amount.amount, decimals);
124
- }
157
+ this._transferAmount = (0, Utils_1.calculateRawAmount)(amount, this._decimals);
125
158
  return this;
126
159
  }
127
- async addAmount(amount) {
128
- if ('rawAmount' in amount) {
129
- this._transferAmount = this._transferAmount + amount.rawAmount;
130
- }
131
- else {
132
- const decimals = await this.getDecimals();
133
- this._transferAmount = this._transferAmount + (0, Utils_1.calculateRawAmount)(amount.amount, decimals);
160
+ withRawAmount(rawAmount) {
161
+ if (this._transferAmount > 0n) {
162
+ const newToken = this.clone;
163
+ newToken._transferAmount = rawAmount;
164
+ return newToken;
134
165
  }
166
+ this._transferAmount = rawAmount;
167
+ return this;
168
+ }
169
+ addAmount(amount) {
170
+ this._transferAmount = this._transferAmount + (0, Utils_1.calculateRawAmount)(amount, this._decimals);
171
+ return this;
172
+ }
173
+ addRawAmount(rawAmount) {
174
+ this._transferAmount = this._transferAmount + rawAmount;
135
175
  return this;
136
176
  }
137
177
  async getDecimals() {
138
- if (!this._decimals) {
139
- const decimalsRaw = (await this._jettonMinter.getJettonData()).content.metadata.decimals;
140
- this._decimals = decimalsRaw ? Number(decimalsRaw) : 9;
141
- }
142
178
  return this._decimals;
143
179
  }
144
180
  async getEVMAddress() {
@@ -150,8 +186,8 @@ class FT {
150
186
  this._evmAddress = await this._configuration.TACParams.tokenUtils.computeAddress(tokenAddressString);
151
187
  }
152
188
  else if (this.origin === Struct_2.Origin.TAC) {
153
- const givenMinter = this._configuration.TONParams.contractOpener.open(new JettonMaster_1.JettonMaster(ton_1.Address.parse(tokenAddressString)));
154
- this._evmAddress = await givenMinter.getEVMAddress();
189
+ const givenMinter = this._configuration.TONParams.contractOpener.open(this._configuration.artifacts.ton.wrappers.JettonMinter.createFromAddress(ton_1.Address.parse(tokenAddressString)));
190
+ this._evmAddress = await givenMinter.getEVMTokenAddress();
155
191
  }
156
192
  else {
157
193
  throw (0, errors_1.unknownTokenTypeError)(tokenAddressString, 'Token origin is neither TON nor TAC');
@@ -180,10 +216,10 @@ class FT {
180
216
  }
181
217
  async getWallet(userAddress) {
182
218
  const walletAddress = await this.getUserWalletAddress(userAddress);
183
- return this._configuration.TONParams.contractOpener.open(JettonWallet_1.JettonWallet.createFromAddress(ton_1.Address.parse(walletAddress)));
219
+ return this._configuration.TONParams.contractOpener.open(this._configuration.artifacts.ton.wrappers.JettonWallet.createFromAddress(ton_1.Address.parse(walletAddress)));
184
220
  }
185
221
  async getUserWalletAddress(userAddress) {
186
- return this._jettonMinter.getWalletAddress(userAddress);
222
+ return (await this._jettonMinter.getWalletAddress(ton_1.Address.parse(userAddress))).toString({ bounceable: true });
187
223
  }
188
224
  async getUserBalance(userAddress) {
189
225
  const wallet = await this.getWallet(userAddress);
@@ -210,7 +246,7 @@ class FT {
210
246
  throw (0, errors_1.insufficientBalanceError)(this._tvmAddress.toString());
211
247
  }
212
248
  }
213
- async checkCanBeTransferedBy(userAddress) {
249
+ async checkCanBeTransferredBy(userAddress) {
214
250
  await this.checkBalance(userAddress);
215
251
  }
216
252
  async getBalanceOf(userAddress) {
@@ -218,11 +254,11 @@ class FT {
218
254
  }
219
255
  getTransferPayload(rawAmount, notificationReceiverAddress, responseAddress, evmData, crossChainTonAmount, forwardFeeAmount, feeData) {
220
256
  const queryId = (0, Utils_1.generateRandomNumberByTimestamp)().randomNumber;
221
- return JettonWallet_1.JettonWallet.transferMessage(rawAmount, notificationReceiverAddress, responseAddress, Consts_1.JETTON_TRANSFER_FORWARD_TON_AMOUNT + forwardFeeAmount + crossChainTonAmount, crossChainTonAmount, feeData, evmData, queryId);
257
+ return this._configuration.artifacts.ton.wrappers.JettonWallet.transferMessage(rawAmount, notificationReceiverAddress, responseAddress, Consts_1.JETTON_TRANSFER_FORWARD_TON_AMOUNT + forwardFeeAmount + crossChainTonAmount, crossChainTonAmount, feeData, evmData, queryId);
222
258
  }
223
259
  getBurnPayload(rawAmount, notificationReceiverAddress, evmData, crossChainTonAmount, feeData) {
224
260
  const queryId = (0, Utils_1.generateRandomNumberByTimestamp)().randomNumber;
225
- return JettonWallet_1.JettonWallet.burnMessage(rawAmount, notificationReceiverAddress, crossChainTonAmount, feeData, evmData, queryId);
261
+ return this._configuration.artifacts.ton.wrappers.JettonWallet.burnMessage(rawAmount, notificationReceiverAddress, crossChainTonAmount, feeData, evmData, queryId);
226
262
  }
227
263
  }
228
264
  exports.FT = FT;
@@ -1,8 +1,9 @@
1
- import { Address, Cell } from '@ton/ton';
2
- import { IConfiguration } from '../structs/Services';
3
- import { Asset, AssetType, ContractOpener, EVMAddress, FeeParams, NFTItemData, Origin, TVMAddress } from '../structs/Struct';
1
+ import { Cell } from '@ton/ton';
2
+ import { NFTCollectionData, NFTItemData } from '../../artifacts/tonTypes';
3
+ import { Asset, IConfiguration } from '../interfaces';
4
+ import { AssetType, EVMAddress, FeeParams, Origin, TVMAddress } from '../structs/Struct';
4
5
  export declare class NFT implements Asset {
5
- private _addresses;
6
+ private readonly _addresses;
6
7
  readonly origin: Origin;
7
8
  readonly type: AssetType;
8
9
  private _nftCollection;
@@ -11,7 +12,6 @@ export declare class NFT implements Asset {
11
12
  * @description Create NFT from item address. Item MUST BE deployed on TON.
12
13
  * @param configuration - Configuration
13
14
  * @param item - Item address (TVM address)
14
- * @param origin - Origin
15
15
  * @returns NFT
16
16
  */
17
17
  static fromItem(configuration: IConfiguration, item: TVMAddress): Promise<NFT>;
@@ -19,21 +19,18 @@ export declare class NFT implements Asset {
19
19
  * @description Create NFT from collection address. TON-native assets MUST BE deployed on TON.
20
20
  * @param configuration - Configuration
21
21
  * @param item - Item address (TVM address)
22
- * @param origin - Origin
23
22
  * @returns NFT
24
23
  */
25
24
  static fromCollection(configuration: IConfiguration, item: {
26
25
  collection: TVMAddress | EVMAddress;
27
26
  index: bigint;
28
27
  }): Promise<NFT>;
29
- static getItemData(contractOpener: ContractOpener, itemAddress: TVMAddress): Promise<NFTItemData>;
30
- static getCollectionData(contractOpener: ContractOpener, collectionAddress: TVMAddress): Promise<{
31
- nextIndex: number;
32
- content: Cell;
33
- adminAddress: Address;
34
- }>;
28
+ static getItemData(configuration: IConfiguration, itemAddress: TVMAddress): Promise<NFTItemData>;
29
+ getItemData(): Promise<NFTItemData>;
30
+ static getCollectionData(configuration: IConfiguration, collectionAddress: TVMAddress): Promise<NFTCollectionData>;
31
+ getCollectionData(): Promise<NFTCollectionData>;
35
32
  static getOrigin(configuration: IConfiguration, itemOrCollection: TVMAddress): Promise<Origin>;
36
- static getItemAddress(contractOpener: ContractOpener, collectionAddress: TVMAddress, index: bigint): Promise<string>;
33
+ static getItemAddress(configuration: IConfiguration, collectionAddress: TVMAddress, index: bigint): Promise<string>;
37
34
  static getTVMAddress(configuration: IConfiguration, collectionAddress: EVMAddress, tokenId?: bigint): Promise<string>;
38
35
  constructor(nftAddress: {
39
36
  item: TVMAddress;
@@ -50,8 +47,10 @@ export declare class NFT implements Asset {
50
47
  get address(): string;
51
48
  get rawAmount(): bigint;
52
49
  get clone(): NFT;
53
- withAmount(): Promise<NFT>;
54
- addAmount(): Promise<NFT>;
50
+ withAmount(_amount?: number): NFT;
51
+ withRawAmount(_rawAmount?: bigint): NFT;
52
+ addAmount(_amount?: number): NFT;
53
+ addRawAmount(_rawAmount?: bigint): NFT;
55
54
  getEVMAddress(): Promise<string>;
56
55
  getTVMAddress(): Promise<string>;
57
56
  generatePayload(params: {
@@ -62,7 +61,7 @@ export declare class NFT implements Asset {
62
61
  feeParams?: FeeParams;
63
62
  }): Promise<Cell>;
64
63
  isOwnedBy(userAddress: string): Promise<boolean>;
65
- checkCanBeTransferedBy(userAddress: string): Promise<void>;
64
+ checkCanBeTransferredBy(userAddress: string): Promise<void>;
66
65
  getBalanceOf(userAddress: string): Promise<bigint>;
67
66
  private getBurnPayload;
68
67
  private getTransferPayload;