@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,20 @@
1
+ import type * as Dev from './dev';
2
+ import type * as Mainnet from './mainnet';
3
+ import type * as Testnet from './testnet';
4
+ export type MsgType = Dev.ton.wrappers.MsgType | Testnet.ton.wrappers.MsgType | Mainnet.ton.wrappers.MsgType;
5
+ export type CrossChainLayer = Dev.ton.wrappers.CrossChainLayer | Testnet.ton.wrappers.CrossChainLayer | Mainnet.ton.wrappers.CrossChainLayer;
6
+ export type CrossChainLayerData = Dev.ton.wrappers.CrossChainLayerConfig | Testnet.ton.wrappers.CrossChainLayerConfig | Mainnet.ton.wrappers.CrossChainLayerConfig;
7
+ export type JettonMinter = Dev.ton.wrappers.JettonMinter | Testnet.ton.wrappers.JettonMinter | Mainnet.ton.wrappers.JettonMinter;
8
+ export type JettonMinterData = Dev.ton.wrappers.JettonMinterData | Testnet.ton.wrappers.JettonMinterData | Mainnet.ton.wrappers.JettonMinterData;
9
+ export type JettonWallet = Dev.ton.wrappers.JettonWallet | Testnet.ton.wrappers.JettonWallet | Mainnet.ton.wrappers.JettonWallet;
10
+ export type JettonWalletData = Dev.ton.wrappers.JettonWalletData | Testnet.ton.wrappers.JettonWalletData | Mainnet.ton.wrappers.JettonWalletData;
11
+ export type JettonProxy = Dev.ton.wrappers.JettonProxy | Testnet.ton.wrappers.JettonProxy | Mainnet.ton.wrappers.JettonProxy;
12
+ export type JettonProxyData = Dev.ton.wrappers.JettonProxyConfig | Testnet.ton.wrappers.JettonProxyConfig | Mainnet.ton.wrappers.JettonProxyConfig;
13
+ export type Settings = Dev.ton.wrappers.Settings | Testnet.ton.wrappers.Settings | Mainnet.ton.wrappers.Settings;
14
+ export type SettingsData = Dev.ton.wrappers.SettingsConfig | Testnet.ton.wrappers.SettingsConfig | Mainnet.ton.wrappers.SettingsConfig;
15
+ export type NFTCollection = Dev.ton.wrappers.NFTCollection | Testnet.ton.wrappers.NFTCollection | Mainnet.ton.wrappers.NFTCollection;
16
+ export type NFTCollectionData = Dev.ton.wrappers.NFTCollectionData | Testnet.ton.wrappers.NFTCollectionData | Mainnet.ton.wrappers.NFTCollectionData;
17
+ export type NFTItem = Dev.ton.wrappers.NFTItem | Testnet.ton.wrappers.NFTItem | Mainnet.ton.wrappers.NFTItem;
18
+ export type NFTItemData = Dev.ton.wrappers.NFTItemData | Testnet.ton.wrappers.NFTItemData | Mainnet.ton.wrappers.NFTItemData;
19
+ export type NFTProxy = Dev.ton.wrappers.NFTProxy | Testnet.ton.wrappers.NFTProxy | Mainnet.ton.wrappers.NFTProxy;
20
+ export type NFTProxyData = Dev.ton.wrappers.NFTProxyConfig | Testnet.ton.wrappers.NFTProxyConfig | Mainnet.ton.wrappers.NFTProxyConfig;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +1,6 @@
1
1
  import { Blockchain } from '@ton/sandbox';
2
- import { ContractOpener, Network } from '../structs/Struct';
2
+ import { ContractOpener } from '../interfaces';
3
+ import { Network } from '../structs/Struct';
3
4
  type LiteServer = {
4
5
  ip: number;
5
6
  port: number;
@@ -6,9 +6,42 @@ exports.orbsOpener = orbsOpener;
6
6
  exports.orbsOpener4 = orbsOpener4;
7
7
  const ton_access_1 = require("@orbs-network/ton-access");
8
8
  const ton_1 = require("@ton/ton");
9
- const artifacts_1 = require("@tonappchain/artifacts");
10
9
  const ton_lite_client_1 = require("@tonappchain/ton-lite-client");
10
+ const artifacts_1 = require("../../artifacts");
11
+ const Utils_1 = require("../sdk/Utils");
11
12
  const Struct_1 = require("../structs/Struct");
13
+ async function getHttpEndpointWithRetry(network, maxRetries = 5, delay = 1000) {
14
+ let lastError;
15
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
16
+ try {
17
+ const tonNetwork = network === Struct_1.Network.MAINNET ? 'mainnet' : 'testnet';
18
+ return await (0, ton_access_1.getHttpEndpoint)({ network: tonNetwork });
19
+ }
20
+ catch (error) {
21
+ lastError = error;
22
+ if (attempt <= maxRetries) {
23
+ await (0, Utils_1.sleep)(delay);
24
+ }
25
+ }
26
+ }
27
+ throw lastError || new Error('Failed to get HTTP endpoint after retries');
28
+ }
29
+ async function getHttpV4EndpointWithRetry(network, maxRetries = 5, delay = 1000) {
30
+ let lastError;
31
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
32
+ try {
33
+ const tonNetwork = network === Struct_1.Network.MAINNET ? 'mainnet' : 'testnet';
34
+ return await (0, ton_access_1.getHttpV4Endpoint)({ network: tonNetwork });
35
+ }
36
+ catch (error) {
37
+ lastError = error;
38
+ if (attempt <= maxRetries) {
39
+ await (0, Utils_1.sleep)(delay);
40
+ }
41
+ }
42
+ }
43
+ throw lastError || new Error('Failed to get HTTP V4 endpoint after retries');
44
+ }
12
45
  function intToIP(int) {
13
46
  const part1 = int & 255;
14
47
  const part2 = (int >> 8) & 255;
@@ -17,7 +50,9 @@ function intToIP(int) {
17
50
  return part4 + '.' + part3 + '.' + part2 + '.' + part1;
18
51
  }
19
52
  async function getDefaultLiteServers(network) {
20
- const url = network === Struct_1.Network.TESTNET ? artifacts_1.testnet.DEFAULT_LITESERVERS : artifacts_1.mainnet.DEFAULT_LITESERVERS;
53
+ const url = network === Struct_1.Network.TESTNET || network === Struct_1.Network.DEV
54
+ ? artifacts_1.testnet.DEFAULT_LITESERVERS
55
+ : artifacts_1.mainnet.DEFAULT_LITESERVERS;
21
56
  const resp = await fetch(url);
22
57
  const liteClients = await resp.json();
23
58
  return liteClients.liteservers;
@@ -67,13 +102,11 @@ function sandboxOpener(blockchain) {
67
102
  };
68
103
  }
69
104
  async function orbsOpener(network) {
70
- const endpoint = await (0, ton_access_1.getHttpEndpoint)({
71
- network,
72
- });
105
+ const endpoint = await getHttpEndpointWithRetry(network);
73
106
  return new ton_1.TonClient({ endpoint });
74
107
  }
75
108
  async function orbsOpener4(network, timeout = 10000) {
76
- const endpoint = await (0, ton_access_1.getHttpV4Endpoint)({ network });
109
+ const endpoint = await getHttpV4EndpointWithRetry(network);
77
110
  const client4 = new ton_1.TonClient4({ endpoint, timeout });
78
111
  return {
79
112
  open: (contract) => client4.open(contract),
@@ -0,0 +1,2 @@
1
+ export * from './contractOpener';
2
+ export * from './retryableContractOpener';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./contractOpener"), exports);
18
+ __exportStar(require("./retryableContractOpener"), exports);
@@ -1,10 +1,13 @@
1
1
  import { SandboxContract } from '@ton/sandbox';
2
2
  import { Address, Contract, OpenedContract } from '@ton/ton';
3
- import { mainnet, testnet } from '@tonappchain/artifacts';
4
- import { ContractOpener, ContractState } from '../structs/Struct';
3
+ import { ContractOpener } from '../interfaces';
4
+ import { ContractState, Network } from '../structs/Struct';
5
5
  export interface OpenerConfig {
6
+ /** Underlying opener implementation to use for this slot. */
6
7
  opener: ContractOpener;
8
+ /** Number of retry attempts before falling back to the next opener. */
7
9
  retries: number;
10
+ /** Delay in milliseconds between retries for this opener. */
8
11
  retryDelay: number;
9
12
  }
10
13
  export declare class RetryableContractOpener implements ContractOpener {
@@ -18,4 +21,4 @@ export declare class RetryableContractOpener implements ContractOpener {
18
21
  private createRetryableContract;
19
22
  private callMethodAcrossOpeners;
20
23
  }
21
- export declare function createDefaultRetryableOpener(artifacts: typeof testnet | typeof mainnet, maxRetries?: number, retryDelay?: number): Promise<ContractOpener>;
24
+ export declare function createDefaultRetryableOpener(tonRpcEndpoint: string, networkType: Network, maxRetries?: number, retryDelay?: number): Promise<ContractOpener>;
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RetryableContractOpener = void 0;
4
4
  exports.createDefaultRetryableOpener = createDefaultRetryableOpener;
5
5
  const ton_1 = require("@ton/ton");
6
- const artifacts_1 = require("@tonappchain/artifacts");
7
6
  const instances_1 = require("../errors/instances");
8
7
  const Struct_1 = require("../structs/Struct");
9
8
  const contractOpener_1 = require("./contractOpener");
@@ -86,16 +85,16 @@ class RetryableContractOpener {
86
85
  }
87
86
  }
88
87
  exports.RetryableContractOpener = RetryableContractOpener;
89
- async function createDefaultRetryableOpener(artifacts, maxRetries = 3, retryDelay = 1000) {
88
+ async function createDefaultRetryableOpener(tonRpcEndpoint, networkType, maxRetries = 5, retryDelay = 1000) {
89
+ const openers = [];
90
90
  const tonClient = new ton_1.TonClient({
91
- endpoint: new URL('api/v2/jsonRPC', artifacts.TON_RPC_ENDPOINT_BY_TAC).toString(),
91
+ endpoint: new URL('api/v2/jsonRPC', tonRpcEndpoint).toString(),
92
92
  });
93
- const network = artifacts === artifacts_1.testnet ? Struct_1.Network.TESTNET : Struct_1.Network.MAINNET;
94
- const opener4 = await (0, contractOpener_1.orbsOpener4)(network);
95
- const opener = await (0, contractOpener_1.orbsOpener)(network);
96
- return new RetryableContractOpener([
97
- { opener: tonClient, retries: maxRetries, retryDelay },
98
- { opener: opener4, retries: maxRetries, retryDelay },
99
- { opener: opener, retries: maxRetries, retryDelay },
100
- ]);
93
+ openers.push({ opener: tonClient, retries: maxRetries, retryDelay });
94
+ if (networkType !== Struct_1.Network.DEV) {
95
+ const opener4 = await (0, contractOpener_1.orbsOpener4)(networkType);
96
+ const opener = await (0, contractOpener_1.orbsOpener)(networkType);
97
+ openers.push({ opener: opener4, retries: maxRetries, retryDelay }, { opener: opener, retries: maxRetries, retryDelay });
98
+ }
99
+ return new RetryableContractOpener(openers);
101
100
  }
@@ -0,0 +1,27 @@
1
+ import { Interface } from 'ethers';
2
+ export declare class AbiHandler {
3
+ contractInterfaces: Map<string, Interface>;
4
+ /**
5
+ * Add a contract interface for encoding function calls
6
+ * Supports both human-readable ABI strings and generated ABI JSON objects
7
+ * @param address - The address of the contract to add interface for
8
+ * @param abi - The abi of the contract to add interface for
9
+ * @returns The sdk instance
10
+ */
11
+ addContractInterface(address: string, abi: string | any[]): this;
12
+ /**
13
+ * Parse ABI - handles both human-readable strings and generated ABI JSON objects
14
+ * Extracts only function definitions from JSON ABI
15
+ */
16
+ private _parseAbi;
17
+ /**
18
+ * Build human-readable function signature from JSON ABI function object
19
+ * @param func - The function to build signature for
20
+ * @returns The signature of the function
21
+ */
22
+ private _buildFunctionSignature;
23
+ /**
24
+ * Build parameter type string, handling tuples/structs properly
25
+ */
26
+ private _buildParameterType;
27
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbiHandler = void 0;
4
+ const ethers_1 = require("ethers");
5
+ class AbiHandler {
6
+ constructor() {
7
+ this.contractInterfaces = new Map();
8
+ }
9
+ /**
10
+ * Add a contract interface for encoding function calls
11
+ * Supports both human-readable ABI strings and generated ABI JSON objects
12
+ * @param address - The address of the contract to add interface for
13
+ * @param abi - The abi of the contract to add interface for
14
+ * @returns The sdk instance
15
+ */
16
+ addContractInterface(address, abi) {
17
+ const parsedAbi = this._parseAbi(abi);
18
+ this.contractInterfaces.set(address.toLowerCase(), new ethers_1.Interface(parsedAbi));
19
+ return this;
20
+ }
21
+ /**
22
+ * Parse ABI - handles both human-readable strings and generated ABI JSON objects
23
+ * Extracts only function definitions from JSON ABI
24
+ */
25
+ _parseAbi(abi) {
26
+ const humanReadableAbi = [];
27
+ for (const item of abi) {
28
+ // If it's already a string (human-readable format), keep it
29
+ if (typeof item === 'string') {
30
+ humanReadableAbi.push(item);
31
+ continue;
32
+ }
33
+ // If it's a JSON ABI object, parse it
34
+ if (typeof item === 'object' && item.type) {
35
+ // Only process functions
36
+ if (item.type === 'function') {
37
+ const signature = this._buildFunctionSignature(item);
38
+ if (signature) {
39
+ humanReadableAbi.push(signature);
40
+ }
41
+ }
42
+ // Skip events, errors, constructor, etc.
43
+ }
44
+ }
45
+ return humanReadableAbi;
46
+ }
47
+ /**
48
+ * Build human-readable function signature from JSON ABI function object
49
+ * @param func - The function to build signature for
50
+ * @returns The signature of the function
51
+ */
52
+ _buildFunctionSignature(func) {
53
+ if (!func.name || !Array.isArray(func.inputs)) {
54
+ return null;
55
+ }
56
+ // Build parameter list with proper tuple handling
57
+ const params = func.inputs
58
+ .map((input) => {
59
+ const paramType = this._buildParameterType(input);
60
+ // Add parameter name if available
61
+ if (input.name) {
62
+ return `${paramType} ${input.name}`;
63
+ }
64
+ return paramType;
65
+ })
66
+ .join(', ');
67
+ // Build return types if available
68
+ let returnTypes = '';
69
+ if (func.outputs && func.outputs.length > 0) {
70
+ const outputs = func.outputs
71
+ .map((output) => {
72
+ const outputType = this._buildParameterType(output);
73
+ if (output.name) {
74
+ return `${outputType} ${output.name}`;
75
+ }
76
+ return outputType;
77
+ })
78
+ .join(', ');
79
+ returnTypes = ` returns (${outputs})`;
80
+ }
81
+ // Build full signature
82
+ const stateMutability = func.stateMutability || 'nonpayable';
83
+ let mutabilityKeyword = '';
84
+ if (stateMutability === 'view') {
85
+ mutabilityKeyword = ' view';
86
+ }
87
+ else if (stateMutability === 'pure') {
88
+ mutabilityKeyword = ' pure';
89
+ }
90
+ else if (stateMutability === 'payable') {
91
+ mutabilityKeyword = ' payable';
92
+ }
93
+ return `function ${func.name}(${params})${mutabilityKeyword} external${returnTypes}`;
94
+ }
95
+ /**
96
+ * Build parameter type string, handling tuples/structs properly
97
+ */
98
+ _buildParameterType(param) {
99
+ if (param.type === 'tuple') {
100
+ // Handle struct/tuple types
101
+ if (param.components && Array.isArray(param.components)) {
102
+ const componentTypes = param.components
103
+ .map((component) => {
104
+ const baseType = this._buildParameterType(component);
105
+ // Include parameter name for struct components if available
106
+ if (component.name) {
107
+ return `${baseType} ${component.name}`;
108
+ }
109
+ return baseType;
110
+ })
111
+ .join(',');
112
+ return `(${componentTypes})`;
113
+ }
114
+ return 'tuple'; // fallback
115
+ }
116
+ if (param.type === 'tuple[]') {
117
+ // Handle array of structs
118
+ if (param.components && Array.isArray(param.components)) {
119
+ const componentTypes = param.components
120
+ .map((component) => {
121
+ const baseType = this._buildParameterType(component);
122
+ // Include parameter name for struct components if available
123
+ if (component.name) {
124
+ return `${baseType} ${component.name}`;
125
+ }
126
+ return baseType;
127
+ })
128
+ .join(',');
129
+ return `(${componentTypes})[]`;
130
+ }
131
+ return 'tuple[]'; // fallback
132
+ }
133
+ // Handle regular types and arrays
134
+ return param.type;
135
+ }
136
+ }
137
+ exports.AbiHandler = AbiHandler;
@@ -0,0 +1,201 @@
1
+ import { Network } from '../structs/Struct';
2
+ import { AmountChange, Hook, NFTData, ZapCall } from './AgnosticStructs';
3
+ /**
4
+ * SDK for building AgnosticProxy Zap calls with efficient hook encoding
5
+ * @param network - The network to use (MAINNET || TESTNET || DEV)
6
+ * @param agnosticProxyAddress - The address of the agnostic proxy(optional)
7
+ */
8
+ export declare class AgnosticProxySDK {
9
+ private agnosticProxyAddress;
10
+ private abiHandler;
11
+ private replacementHelper;
12
+ private hooksHandler;
13
+ private debugHelpers;
14
+ constructor(network: Network, agnosticProxyAddress?: string);
15
+ addContractInterface(address: string, abi: string | any[]): this;
16
+ /**
17
+ * Create a custom hook with optional dynamic value replacement
18
+ * @param contractAddress - The address of the contract to call
19
+ * @param functionName - The name of the function to call
20
+ * @param params - The parameters of the function to call
21
+ * @param options - The options of the custom hook
22
+ * @returns The custom hook
23
+ */
24
+ createCustomHook(contractAddress: string, functionName: string, params: any[], options?: {
25
+ isFromSAPerspective?: boolean;
26
+ value?: bigint;
27
+ dynamicReplacements?: AmountChange[];
28
+ }): Hook;
29
+ /**
30
+ * Create a full balance approve hook
31
+ * @param token - The token to approve
32
+ * @param to - The address to approve to
33
+ * @param isFromSAPerspective - Whether the hook is from the smart account perspective or from proxy perspective
34
+ * @returns The full balance approve hook
35
+ */
36
+ createFullBalanceApproveHook(token: string, to: string, isFromSAPerspective?: boolean): Hook;
37
+ /**
38
+ * Create a full balance transfer hook
39
+ * @param token - The token to transfer
40
+ * @param to - The address to transfer to
41
+ * @param isFromSAPerspective - Whether the hook is from the smart account perspective or from proxy perspective
42
+ * @returns The full balance transfer hook
43
+ */
44
+ createFullBalanceTransferHook(token: string, to: string, isFromSAPerspective?: boolean): Hook;
45
+ /**
46
+ * Utility: Create multiple approve hooks at once
47
+ * @param approvals - The approvals to create
48
+ * @returns The multiple approve hooks
49
+ */
50
+ createMultipleApproves(approvals: {
51
+ token: string;
52
+ spender: string;
53
+ isFromSA?: boolean;
54
+ }[]): Hook[];
55
+ /**
56
+ * Utility: Create a sequence of custom hooks
57
+ * @param calls - The calls to create
58
+ * @returns The hook sequence
59
+ */
60
+ createHookSequence(calls: {
61
+ contract: string;
62
+ functionName: string;
63
+ params: any[];
64
+ options?: {
65
+ isFromSAPerspective?: boolean;
66
+ value?: bigint;
67
+ dynamicReplacements?: AmountChange[];
68
+ };
69
+ }[]): Hook[];
70
+ /**
71
+ * Helper to create dynamic amount replacement for a specific parameter
72
+ * @param paramIndex - The index of the parameter to replace
73
+ * @param token - The token to replace
74
+ * @param balanceAddress - The address to replace the parameter with
75
+ * @returns The amount replacement
76
+ */
77
+ createAmountReplacement(paramIndex: number, token: string, balanceAddress: string): AmountChange;
78
+ /**
79
+ * Advanced replacement calculator - calculates position and length for any parameter type
80
+ * Required that you have added the contract interface first using addContractInterface().
81
+ * If human readable abi is used, need to provide function and params names also
82
+ * @param contractAddress - The address of the contract to call
83
+ * @param functionName - The name of the function to call
84
+ * @param parameterName - The name of the parameter to replace
85
+ * @param token - The token to replace
86
+ * @param balanceAddress - The address to replace the parameter with
87
+ * @returns The replacement data
88
+ */
89
+ calculateReplacementData(contractAddress: string, functionName: string, parameterName: string, token: string, balanceAddress: string): AmountChange;
90
+ /**
91
+ * Get replacement helper - shows available functions and parameters for a contract
92
+ * Required that you have added the contract interface first using addContractInterface().
93
+ * If human readable abi is used, need to provide function and params names also
94
+ * @param contractAddress - The address of the contract to call
95
+ * @returns The replacement helper
96
+ */
97
+ getReplacementHelper(contractAddress: string): {
98
+ contractAddress: string;
99
+ functions: {
100
+ name: string;
101
+ signature: string;
102
+ parameters: {
103
+ name: string;
104
+ type: string;
105
+ index: number;
106
+ canReplace: boolean;
107
+ reason?: string;
108
+ }[];
109
+ }[];
110
+ };
111
+ /**
112
+ * Interactive replacement builder - helps build replacement step by step
113
+ * @param contractAddress - The address of the contract to call
114
+ * @param functionName - The name of the function to call
115
+ * @param parameterName - The name of the parameter to replace
116
+ * @param token - The token to replace
117
+ * @param balanceAddress - The address to replace the parameter with
118
+ * @param options - The options of the interactive replacement builder
119
+ * @returns The interactive replacement builder
120
+ */
121
+ buildReplacementInteractive(contractAddress: string, functionName: string, parameterName: string, token: string, balanceAddress: string, options?: {
122
+ showCalculation?: boolean;
123
+ validate?: boolean;
124
+ }): {
125
+ replacement: AmountChange;
126
+ calculation: {
127
+ functionSignature: string;
128
+ parameterInfo: {
129
+ name: string;
130
+ type: string;
131
+ index: number;
132
+ position: number;
133
+ length: number;
134
+ };
135
+ positionCalculation: string;
136
+ };
137
+ validation: {
138
+ isValid: boolean;
139
+ warnings: string[];
140
+ suggestions: string[];
141
+ };
142
+ };
143
+ /**
144
+ * Debug helper: Decode hook data back to readable format
145
+ * @param hook - The hook to decode
146
+ * @returns The decoded hook
147
+ */
148
+ decodeHookData(hook: Hook): any;
149
+ /**
150
+ * Debug helper: Get estimated gas for a ZapCall
151
+ * @param zapCall - The zap call to estimate the gas usage for
152
+ * @returns The estimated gas usage
153
+ */
154
+ estimateGasUsage(zapCall: ZapCall): number;
155
+ /**
156
+ * Visualize ZapCall chain - Human readable description of all operations
157
+ * @param zapCall - The zap call to visualize
158
+ */
159
+ visualizeZapCall(zapCall: ZapCall): void;
160
+ /**
161
+ * Get a detailed breakdown of a ZapCall for logging
162
+ * @param zapCall - The zap call to get the breakdown for
163
+ * @returns The breakdown of the zap call
164
+ */
165
+ getZapCallBreakdown(zapCall: ZapCall): {
166
+ totalHooks: number;
167
+ hookTypes: {
168
+ [key: string]: number;
169
+ };
170
+ gasEstimate: number;
171
+ encodedSize: number;
172
+ bridgeRequired: boolean;
173
+ hookDescriptions: string[];
174
+ };
175
+ /**
176
+ * Compare two ZapCalls and show differences
177
+ * @param zapCall1 - The first zap call to compare
178
+ * @param zapCall2 - The second zap call to compare
179
+ * @param label1 - The label of the first zap call
180
+ * @param label2 - The label of the second zap call
181
+ */
182
+ compareZapCalls(zapCall1: ZapCall, zapCall2: ZapCall, label1?: string, label2?: string): void;
183
+ getAgnosticCallParams(): {
184
+ evmTargetAddress: string;
185
+ methodName: string;
186
+ };
187
+ /**
188
+ * Build a complete ZapCall
189
+ * @param hooks - The hooks of the zap call
190
+ * @param bridgeTokens - The tokens to bridge
191
+ * @param bridgeNFTs - The nfts to bridge
192
+ * @returns The zap call
193
+ */
194
+ buildZapCall(hooks: Hook[], bridgeTokens?: string[], bridgeNFTs?: NFTData[]): ZapCall;
195
+ /**
196
+ * Encode ZapCall for transaction
197
+ * @param zapCall - The zap call to encode
198
+ * @returns The encoded zap call that can be used as calldata in tac sdk
199
+ */
200
+ encodeZapCall(zapCall: ZapCall): string;
201
+ }