@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
@@ -1,269 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionManager = void 0;
4
- const assets_1 = require("../assets");
5
- const Struct_1 = require("../structs/Struct");
6
- const Consts_1 = require("./Consts");
7
- const Logger_1 = require("./Logger");
8
- const Utils_1 = require("./Utils");
9
- const Validator_1 = require("./Validator");
10
- class TransactionManager {
11
- constructor(config, simulator, operationTracker, logger = new Logger_1.NoopLogger(), options) {
12
- this.config = config;
13
- this.simulator = simulator;
14
- this.operationTracker = operationTracker;
15
- this.logger = logger;
16
- this.evmDataCellBuilder = options?.evmDataCellBuilder ?? Utils_1.buildEvmDataCell;
17
- }
18
- async prepareCrossChainTransaction(evmProxyMsg, caller, assets, options) {
19
- this.logger.debug('Preparing cross-chain transaction');
20
- const { allowSimulationError = false, isRoundTrip = undefined, protocolFee = undefined, evmExecutorFee = undefined, tvmExecutorFee = undefined, } = options || {};
21
- let { evmValidExecutors = [], tvmValidExecutors = [] } = options || {};
22
- Validator_1.Validator.validateEVMAddress(evmProxyMsg.evmTargetAddress);
23
- Validator_1.Validator.validateEVMAddresses(options?.evmValidExecutors);
24
- Validator_1.Validator.validateTVMAddresses(options?.tvmValidExecutors);
25
- const aggregatedData = await (0, Utils_1.aggregateTokens)(assets);
26
- await Promise.all(aggregatedData.jettons.map((jetton) => jetton.checkCanBeTransferedBy(caller)));
27
- await Promise.all(aggregatedData.nfts.map((nft) => nft.checkCanBeTransferedBy(caller)));
28
- await aggregatedData.ton?.checkCanBeTransferedBy(caller);
29
- const tokensLength = aggregatedData.jettons.length + aggregatedData.nfts.length;
30
- this.logger.debug(`Tokens length: ${tokensLength}`);
31
- const transactionLinkerShardCount = tokensLength == 0 ? 1 : tokensLength;
32
- this.logger.debug(`Transaction linker shard count: ${transactionLinkerShardCount}`);
33
- const transactionLinker = (0, Utils_1.generateTransactionLinker)(caller, transactionLinkerShardCount);
34
- this.logger.debug(`Generated transaction linker: ${(0, Utils_1.formatObjectForLogging)(transactionLinker)}`);
35
- if (evmValidExecutors.length == 0) {
36
- evmValidExecutors = this.config.getTrustedTACExecutors;
37
- }
38
- if (tvmValidExecutors.length == 0) {
39
- tvmValidExecutors = this.config.getTrustedTONExecutors;
40
- }
41
- const { feeParams } = await this.simulator.getSimulationInfoForTransaction(evmProxyMsg, transactionLinker, assets ?? [], allowSimulationError, isRoundTrip, evmValidExecutors, tvmValidExecutors);
42
- if (evmProxyMsg.gasLimit == undefined) {
43
- evmProxyMsg.gasLimit = feeParams.gasLimit;
44
- }
45
- if (evmExecutorFee != undefined) {
46
- feeParams.evmExecutorFee = evmExecutorFee;
47
- }
48
- if (feeParams.isRoundTrip && tvmExecutorFee != undefined) {
49
- feeParams.tvmExecutorFee = tvmExecutorFee;
50
- }
51
- if (protocolFee != undefined) {
52
- feeParams.protocolFee = protocolFee;
53
- }
54
- this.logger.debug(`Resulting fee params: ${(0, Utils_1.formatObjectForLogging)(feeParams)}`);
55
- const validExecutors = {
56
- tac: evmValidExecutors,
57
- ton: tvmValidExecutors,
58
- };
59
- this.logger.debug(`Valid executors: ${(0, Utils_1.formatObjectForLogging)(validExecutors)}`);
60
- const evmData = this.evmDataCellBuilder(transactionLinker, evmProxyMsg, validExecutors);
61
- const messages = await this.generateCrossChainMessages(caller, evmData, aggregatedData, feeParams);
62
- const transaction = {
63
- validUntil: +new Date() + 15 * 60 * 1000,
64
- messages,
65
- network: this.config.network,
66
- };
67
- this.logger.debug('Transaction prepared');
68
- return { transaction, transactionLinker };
69
- }
70
- async generateCrossChainMessages(caller, evmData, aggregatedData, feeParams) {
71
- this.logger.debug(`Generating cross-chain messages`);
72
- const { jettons, nfts, ton = assets_1.TON.create(this.config) } = aggregatedData;
73
- let crossChainTonAmount = ton.rawAmount;
74
- let feeTonAmount = feeParams.protocolFee + feeParams.evmExecutorFee + feeParams.tvmExecutorFee;
75
- this.logger.debug(`Crosschain ton amount: ${crossChainTonAmount}`);
76
- this.logger.debug(`Fee ton amount: ${feeTonAmount}`);
77
- if (jettons.length == 0 && nfts.length == 0) {
78
- return [
79
- {
80
- address: this.config.TONParams.crossChainLayerAddress,
81
- value: crossChainTonAmount + feeTonAmount + Consts_1.TRANSACTION_TON_AMOUNT,
82
- payload: await ton.generatePayload({
83
- excessReceiver: caller,
84
- evmData,
85
- feeParams,
86
- }),
87
- },
88
- ];
89
- }
90
- const messages = [];
91
- let currentFeeParams = feeParams;
92
- for (const jetton of aggregatedData.jettons) {
93
- const payload = await jetton.generatePayload({
94
- excessReceiver: caller,
95
- evmData,
96
- crossChainTonAmount,
97
- forwardFeeTonAmount: feeTonAmount,
98
- feeParams: currentFeeParams,
99
- });
100
- const jettonWalletAddress = await jetton.getUserWalletAddress(caller);
101
- messages.push({
102
- address: jettonWalletAddress,
103
- value: crossChainTonAmount + feeTonAmount + Consts_1.TRANSACTION_TON_AMOUNT,
104
- payload,
105
- });
106
- crossChainTonAmount = 0n;
107
- feeTonAmount = 0n;
108
- currentFeeParams = undefined;
109
- }
110
- for (const nft of aggregatedData.nfts) {
111
- const payload = await nft.generatePayload({
112
- excessReceiver: caller,
113
- evmData,
114
- crossChainTonAmount,
115
- forwardFeeTonAmount: feeTonAmount,
116
- feeParams: currentFeeParams,
117
- });
118
- messages.push({
119
- address: nft.address,
120
- value: crossChainTonAmount + feeTonAmount + Consts_1.TRANSACTION_TON_AMOUNT,
121
- payload,
122
- });
123
- crossChainTonAmount = 0n;
124
- feeTonAmount = 0n;
125
- currentFeeParams = undefined;
126
- }
127
- this.logger.debug('Generating cross-chain messages success');
128
- return messages;
129
- }
130
- async sendCrossChainTransaction(evmProxyMsg, sender, assets, options, waitOptions) {
131
- const caller = sender.getSenderAddress();
132
- this.logger.debug(`Caller: ${caller}`);
133
- const { transaction, transactionLinker } = await this.prepareCrossChainTransaction(evmProxyMsg, caller, assets, options);
134
- await assets_1.TON.checkBalance(sender, this.config, [transaction]);
135
- this.logger.debug(`*****Sending transaction: ${(0, Utils_1.formatObjectForLogging)(transaction)}`);
136
- const sendTransactionResult = await sender.sendShardTransaction(transaction, this.config.network, this.config.TONParams.contractOpener);
137
- return waitOptions
138
- ? {
139
- sendTransactionResult,
140
- operationId: await this.operationTracker
141
- .getOperationId(transactionLinker, {
142
- ...waitOptions,
143
- successCheck: (operationId) => !!operationId,
144
- logger: this.logger,
145
- })
146
- .catch((error) => {
147
- this.logger.error(`Error while waiting for operation ID: ${error}`);
148
- return undefined;
149
- }),
150
- ...transactionLinker,
151
- }
152
- : { sendTransactionResult, ...transactionLinker };
153
- }
154
- async sendCrossChainTransactions(sender, txs, waitOptions) {
155
- const caller = sender.getSenderAddress();
156
- this.logger.debug(`Caller: ${caller}`);
157
- this.logger.debug('Preparing multiple cross-chain transactions');
158
- const { transactions, transactionLinkers } = await this.prepareCrossChainTransactions(txs, caller);
159
- await assets_1.TON.checkBalance(sender, this.config, transactions);
160
- this.logger.debug(`*****Sending transactions: ${(0, Utils_1.formatObjectForLogging)(transactions)}`);
161
- await sender.sendShardTransactions(transactions, this.config.network, this.config.TONParams.contractOpener);
162
- if (!waitOptions) {
163
- return transactionLinkers;
164
- }
165
- return await this.waitForOperationIds(transactionLinkers, caller, waitOptions);
166
- }
167
- async prepareCrossChainTransactions(txs, caller) {
168
- const transactions = [];
169
- const transactionLinkers = [];
170
- for (const { options, assets, evmProxyMsg } of txs) {
171
- const { transaction, transactionLinker } = await this.prepareCrossChainTransaction(evmProxyMsg, caller, assets, options);
172
- transactions.push(transaction);
173
- transactionLinkers.push(transactionLinker);
174
- }
175
- return { transactions, transactionLinkers };
176
- }
177
- async waitForOperationIds(transactionLinkers, caller, waitOptions) {
178
- this.logger.debug(`Waiting for operation IDs`);
179
- try {
180
- const operationIds = await this.operationTracker.getOperationIdsByShardsKeys(transactionLinkers.map((linker) => linker.shardsKey), caller, {
181
- ...waitOptions,
182
- logger: this.logger,
183
- successCheck: (operationIds) => Object.keys(operationIds).length == transactionLinkers.length &&
184
- Object.values(operationIds).every((ids) => ids.operationIds.length > 0),
185
- });
186
- this.logger.debug(`Operation IDs: ${(0, Utils_1.formatObjectForLogging)(operationIds)}`);
187
- return transactionLinkers.map((linker) => ({
188
- ...linker,
189
- operationId: operationIds[linker.shardsKey].operationIds.at(0),
190
- }));
191
- }
192
- catch (error) {
193
- this.logger.error(`Error while waiting for operation IDs: ${error}`);
194
- return transactionLinkers;
195
- }
196
- }
197
- async bridgeTokensToTON(signer, value, tonTarget, assets, tvmExecutorFee) {
198
- this.logger.debug('Bridging tokens to TON');
199
- if (assets == undefined) {
200
- assets = [];
201
- }
202
- const tonAssets = [...assets];
203
- if (value > 0n) {
204
- tonAssets.push(await (await assets_1.AssetFactory.from(this.config, {
205
- address: await this.config.nativeTACAddress(),
206
- tokenType: Struct_1.AssetType.FT,
207
- })).withAmount({ rawAmount: value }));
208
- }
209
- Validator_1.Validator.validateTVMAddress(tonTarget);
210
- const suggestedTONExecutorFee = await this.simulator.getTVMExecutorFeeInfo(tonAssets, Consts_1.TAC_SYMBOL);
211
- this.logger.debug(`Suggested TON executor fee: ${(0, Utils_1.formatObjectForLogging)(suggestedTONExecutorFee)}`);
212
- const crossChainLayerAddress = await this.config.TACParams.crossChainLayer.getAddress();
213
- for (const asset of assets) {
214
- const evmAddress = await asset.getEVMAddress();
215
- if (asset.type == Struct_1.AssetType.FT) {
216
- this.logger.debug(`Approving token ${evmAddress} for ${crossChainLayerAddress}`);
217
- const tokenContract = this.config.artifacts.tac.wrappers.ERC20FactoryTAC.connect(evmAddress, this.config.TACParams.provider);
218
- const tx = await tokenContract.connect(signer).approve(crossChainLayerAddress, asset.rawAmount);
219
- await tx.wait();
220
- this.logger.debug(`Approved ${evmAddress} for ${crossChainLayerAddress}`);
221
- }
222
- if (asset.type == Struct_1.AssetType.NFT) {
223
- this.logger.debug(`Approving collection ${evmAddress} for ${crossChainLayerAddress}`);
224
- const tokenContract = this.config.artifacts.tac.wrappers.ERC721FactoryTAC.connect(evmAddress, this.config.TACParams.provider);
225
- const tx = await tokenContract
226
- .connect(signer)
227
- .approve(crossChainLayerAddress, asset.addresses.index);
228
- await tx.wait();
229
- this.logger.debug(`Approved ${asset.address} for ${crossChainLayerAddress}`);
230
- }
231
- }
232
- const shardsKey = BigInt(Math.round(Math.random() * 1e18));
233
- this.logger.debug(`Shards key: ${shardsKey}`);
234
- const protocolFee = await this.config.TACParams.crossChainLayer.getProtocolFee();
235
- this.logger.debug(`Protocol fee: ${protocolFee}`);
236
- const outMessage = {
237
- shardsKey: shardsKey,
238
- tvmTarget: tonTarget,
239
- tvmPayload: '',
240
- tvmProtocolFee: protocolFee,
241
- tvmExecutorFee: tvmExecutorFee ?? BigInt(suggestedTONExecutorFee.inTAC),
242
- tvmValidExecutors: this.config.getTrustedTONExecutors,
243
- toBridge: await Promise.all(assets
244
- .filter((asset) => asset.type === Struct_1.AssetType.FT)
245
- .map(async (asset) => ({
246
- evmAddress: await asset.getEVMAddress(),
247
- amount: asset.rawAmount,
248
- }))),
249
- toBridgeNFT: await Promise.all(assets
250
- .filter((asset) => asset.type === Struct_1.AssetType.NFT)
251
- .map(async (asset) => ({
252
- evmAddress: await asset.getEVMAddress(),
253
- amount: 1n,
254
- tokenId: asset.addresses.index,
255
- }))),
256
- };
257
- const encodedOutMessage = this.config.artifacts.tac.utils.encodeOutMessageV1(outMessage);
258
- const outMsgVersion = 1n;
259
- const totalValue = value + BigInt(outMessage.tvmProtocolFee) + BigInt(outMessage.tvmExecutorFee);
260
- this.logger.debug(`Total value: ${totalValue}`);
261
- const tx = await this.config.TACParams.crossChainLayer
262
- .connect(signer)
263
- .sendMessage(outMsgVersion, encodedOutMessage, { value: totalValue });
264
- await tx.wait();
265
- this.logger.debug(`Transaction hash: ${tx.hash}`);
266
- return tx.hash;
267
- }
268
- }
269
- exports.TransactionManager = TransactionManager;
@@ -1,22 +0,0 @@
1
- import type { Contract, ContractProvider, MessageRelaxed, SendMode } from '@ton/ton';
2
- import type { SendResult, ShardTransaction } from '../structs/InternalStruct';
3
- import type { Asset, ContractOpener } from '../structs/Struct';
4
- import { Network } from '../structs/Struct';
5
- export declare const sleep: (ms: number) => Promise<unknown>;
6
- export interface WalletInstance extends Contract {
7
- getSeqno(provider: ContractProvider): Promise<number>;
8
- sendTransfer(provider: ContractProvider, args: {
9
- seqno: number;
10
- secretKey: Buffer;
11
- messages: MessageRelaxed[];
12
- sendMode: SendMode;
13
- timeout?: number;
14
- }): Promise<void>;
15
- }
16
- export interface SenderAbstraction {
17
- sendShardTransaction(shardTransaction: ShardTransaction, chain?: Network, contractOpener?: ContractOpener): Promise<SendResult>;
18
- sendShardTransactions(shardTransactions: ShardTransaction[], chain?: Network, contractOpener?: ContractOpener): Promise<SendResult[]>;
19
- getSenderAddress(): string;
20
- getBalance(contractOpener: ContractOpener): Promise<bigint>;
21
- getBalanceOf(asset: Asset): Promise<bigint>;
22
- }
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sleep = void 0;
4
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
5
- exports.sleep = sleep;
@@ -1,66 +0,0 @@
1
- import { mainnet, testnet } from '@tonappchain/artifacts';
2
- import { Wallet } from 'ethers';
3
- import type { SenderAbstraction } from '../sender';
4
- import { InternalTACParams, InternalTONParams } from './InternalStruct';
5
- import { Asset, CrossChainTransactionOptions, CrosschainTx, EvmProxyMsg, ExecutionFeeEstimationResult, ExecutionStages, ExecutionStagesByOperationId, Network, NFTAddressType, NFTItemData, OperationIdsByShardsKey, OperationType, SimplifiedStatuses, StatusInfo, StatusInfosByOperationId, SuggestedTONExecutorFee, TACSimulationRequest, TACSimulationResult, TransactionLinker, TransactionLinkerWithOperationId, UserWalletBalanceExtended, WaitOptions } from './Struct';
6
- export interface IConfiguration {
7
- readonly network: Network;
8
- readonly artifacts: typeof testnet | typeof mainnet;
9
- readonly TONParams: InternalTONParams;
10
- readonly TACParams: InternalTACParams;
11
- readonly liteSequencerEndpoints: string[];
12
- readonly nativeTONAddress: string;
13
- nativeTACAddress(): Promise<string>;
14
- readonly getTrustedTACExecutors: string[];
15
- readonly getTrustedTONExecutors: string[];
16
- closeConnections(): unknown;
17
- isContractDeployedOnTVM(address: string): Promise<boolean>;
18
- }
19
- export interface ILogger {
20
- debug(...arg: unknown[]): void;
21
- info(...arg: unknown[]): void;
22
- warn(...arg: unknown[]): void;
23
- error(...arg: unknown[]): void;
24
- }
25
- export interface ISimulator {
26
- simulateTACMessage(req: TACSimulationRequest): Promise<TACSimulationResult>;
27
- simulateTransactions(sender: SenderAbstraction, txs: CrosschainTx[]): Promise<TACSimulationResult[]>;
28
- getTVMExecutorFeeInfo(assets: Asset[], feeSymbol: string): Promise<SuggestedTONExecutorFee>;
29
- getTransactionSimulationInfo(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: Asset[]): Promise<ExecutionFeeEstimationResult>;
30
- getSimulationInfoForTransaction(evmProxyMsg: EvmProxyMsg, transactionLinker: TransactionLinker, assets: Asset[], allowSimulationError?: boolean, isRoundTrip?: boolean, evmValidExecutors?: string[], tvmValidExecutors?: string[]): Promise<ExecutionFeeEstimationResult>;
31
- }
32
- export interface IOperationTracker {
33
- getOperationType(operationId: string, waitOptions?: WaitOptions<OperationType>): Promise<OperationType>;
34
- getOperationId(transactionLinker: TransactionLinker, waitOptions?: WaitOptions<string>): Promise<string>;
35
- getOperationIdByTransactionHash(transactionHash: string, waitOptions?: WaitOptions<string>): Promise<string>;
36
- getOperationIdsByShardsKeys(shardsKeys: string[], caller: string, waitOptions?: WaitOptions<OperationIdsByShardsKey>, chunkSize?: number): Promise<OperationIdsByShardsKey>;
37
- getStageProfiling(operationId: string, waitOptions?: WaitOptions<ExecutionStages>): Promise<ExecutionStages>;
38
- getStageProfilings(operationIds: string[], waitOptions?: WaitOptions<ExecutionStagesByOperationId>, chunkSize?: number): Promise<ExecutionStagesByOperationId>;
39
- getOperationStatuses(operationIds: string[], waitOptions?: WaitOptions<StatusInfosByOperationId>, chunkSize?: number): Promise<StatusInfosByOperationId>;
40
- getOperationStatus(operationId: string, waitOptions?: WaitOptions<StatusInfo>): Promise<StatusInfo>;
41
- getSimplifiedOperationStatus(transactionLinker: TransactionLinker): Promise<SimplifiedStatuses>;
42
- }
43
- export interface ITacSDK {
44
- readonly config: IConfiguration;
45
- get nativeTONAddress(): string;
46
- nativeTACAddress(): Promise<string>;
47
- get getTrustedTACExecutors(): string[];
48
- get getTrustedTONExecutors(): string[];
49
- closeConnections(): unknown;
50
- simulateTACMessage(req: TACSimulationRequest): Promise<TACSimulationResult>;
51
- simulateTransactions(sender: SenderAbstraction, txs: CrosschainTx[]): Promise<TACSimulationResult[]>;
52
- getTransactionSimulationInfo(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: Asset[]): Promise<ExecutionFeeEstimationResult>;
53
- getTVMExecutorFeeInfo(assets: Asset[], feeSymbol: string): Promise<SuggestedTONExecutorFee>;
54
- sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: Asset[], options?: CrossChainTransactionOptions, waitOptions?: WaitOptions<string>): Promise<TransactionLinkerWithOperationId>;
55
- sendCrossChainTransactions(sender: SenderAbstraction, txs: CrosschainTx[], waitOptions?: WaitOptions<OperationIdsByShardsKey>): Promise<TransactionLinkerWithOperationId[]>;
56
- bridgeTokensToTON(signer: Wallet, value: bigint, tonTarget: string, assets?: Asset[], tvmExecutorFee?: bigint): Promise<string>;
57
- getUserJettonWalletAddress(userAddress: string, tokenAddress: string): Promise<string>;
58
- getUserJettonBalance(userAddress: string, tokenAddress: string): Promise<bigint>;
59
- getUserJettonBalanceExtended(userAddress: string, tokenAddress: string): Promise<UserWalletBalanceExtended>;
60
- getNFTItemData(itemAddress: string): Promise<NFTItemData>;
61
- getEVMTokenAddress(tvmTokenAddress: string): Promise<string>;
62
- getTVMTokenAddress(evmTokenAddress: string): Promise<string>;
63
- getTVMNFTAddress(evmNFTAddress: string, tokenId?: number | bigint): Promise<string>;
64
- getEVMNFTAddress(tvmNFTAddress: string, addressType: NFTAddressType): Promise<string>;
65
- isContractDeployedOnTVM(address: string): Promise<boolean>;
66
- }
@@ -1,24 +0,0 @@
1
- import { Address, Cell, Contract, ContractProvider } from '@ton/ton';
2
- import type { JettonExtendedMetadata } from './ContentUtils';
3
- export type JettonMasterInitData = {
4
- evmTokenAddress: string;
5
- crossChainLayerAddress: Address;
6
- code: Cell;
7
- walletCode: Cell;
8
- };
9
- export type JettonMasterData = {
10
- totalSupply: number;
11
- mintable: boolean;
12
- adminAddress: string;
13
- content: JettonExtendedMetadata;
14
- jettonWalletCode: Cell;
15
- };
16
- export declare class JettonMaster implements Contract {
17
- static createFromAddress(address: Address): JettonMaster;
18
- static createFromConfig(config: JettonMasterInitData, workchain?: number): JettonMaster;
19
- readonly address: Address;
20
- constructor(address: Address);
21
- getWalletAddress(provider: ContractProvider, owner: string): Promise<string>;
22
- getJettonData(provider: ContractProvider): Promise<JettonMasterData>;
23
- getEVMAddress(provider: ContractProvider): Promise<string>;
24
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JettonMaster = void 0;
4
- const ton_1 = require("@ton/ton");
5
- const ContentUtils_1 = require("./ContentUtils");
6
- class JettonMaster {
7
- static createFromAddress(address) {
8
- return new JettonMaster(address);
9
- }
10
- static createFromConfig(config, workchain = 0) {
11
- const data = (0, ton_1.beginCell)()
12
- .storeCoins(0)
13
- .storeAddress(config.crossChainLayerAddress)
14
- .storeAddress(null)
15
- .storeRef((0, ton_1.beginCell)().endCell())
16
- .storeRef(config.walletCode)
17
- .storeStringTail(config.evmTokenAddress)
18
- .endCell();
19
- return JettonMaster.createFromAddress((0, ton_1.contractAddress)(workchain, { data, code: config.code }));
20
- }
21
- constructor(address) {
22
- this.address = address;
23
- }
24
- async getWalletAddress(provider, owner) {
25
- const res = await provider.get('get_wallet_address', [
26
- {
27
- type: 'slice',
28
- cell: (0, ton_1.beginCell)().storeAddress(ton_1.Address.parse(owner)).endCell(),
29
- },
30
- ]);
31
- return res.stack.readAddress().toString();
32
- }
33
- async getJettonData(provider) {
34
- const result = await provider.get('get_jetton_data', []);
35
- const totalSupply = Number((0, ton_1.fromNano)(result.stack.readBigNumber()));
36
- const mintable = result.stack.readBoolean();
37
- const adminAddress = result.stack.readAddress().toString();
38
- const content = await (0, ContentUtils_1.readJettonMetadata)(result.stack.readCell());
39
- const jettonWalletCode = result.stack.readCell();
40
- return {
41
- totalSupply,
42
- mintable,
43
- adminAddress,
44
- content,
45
- jettonWalletCode,
46
- };
47
- }
48
- async getEVMAddress(provider) {
49
- const result = await provider.get('get_evm_token_address', []);
50
- return result.stack.readString();
51
- }
52
- }
53
- exports.JettonMaster = JettonMaster;
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JettonWallet = exports.JettonWalletOpCodes = void 0;
4
- exports.jettonWalletConfigToCell = jettonWalletConfigToCell;
5
- const ton_1 = require("@ton/ton");
6
- const ton_2 = require("@ton/ton");
7
- var JettonWalletOpCodes;
8
- (function (JettonWalletOpCodes) {
9
- JettonWalletOpCodes[JettonWalletOpCodes["burn"] = 1499400124] = "burn";
10
- JettonWalletOpCodes[JettonWalletOpCodes["transfer"] = 260734629] = "transfer";
11
- JettonWalletOpCodes[JettonWalletOpCodes["internalTransfer"] = 395134233] = "internalTransfer";
12
- })(JettonWalletOpCodes || (exports.JettonWalletOpCodes = JettonWalletOpCodes = {}));
13
- function jettonWalletConfigToCell(config) {
14
- return (0, ton_2.beginCell)()
15
- .storeCoins(config.balance)
16
- .storeAddress(ton_2.Address.parse(config.ownerAddress))
17
- .storeAddress(ton_2.Address.parse(config.jettonMasterAddress))
18
- .endCell();
19
- }
20
- class JettonWallet {
21
- constructor(address, init) {
22
- this.address = address;
23
- this.init = init;
24
- }
25
- static createFromAddress(address) {
26
- return new JettonWallet(address);
27
- }
28
- static createFromConfig(config, code, workchain = 0) {
29
- const data = jettonWalletConfigToCell(config);
30
- const init = { code, data };
31
- return new JettonWallet((0, ton_2.contractAddress)(workchain, init), init);
32
- }
33
- static burnMessage(jettonAmount, receiverAddress, crossChainTonAmount, feeData, crossChainPayload, queryId) {
34
- const body = (0, ton_2.beginCell)()
35
- .storeUint(JettonWalletOpCodes.burn, 32)
36
- .storeUint(queryId || 0, 64)
37
- .storeCoins(jettonAmount)
38
- .storeAddress(receiverAddress ? ton_2.Address.parse(receiverAddress) : null);
39
- if (crossChainTonAmount || crossChainPayload) {
40
- body.storeMaybeRef((0, ton_2.beginCell)()
41
- .storeCoins(crossChainTonAmount ?? 0n)
42
- .storeMaybeRef(feeData)
43
- .storeMaybeRef(crossChainPayload)
44
- .endCell());
45
- }
46
- else {
47
- body.storeMaybeRef(null);
48
- }
49
- return body.endCell();
50
- }
51
- async sendBurn(provider, via, value, opts) {
52
- const body = JettonWallet.burnMessage(opts.jettonAmount, opts.receiverAddress, opts.crossChainTonAmount, opts.feeData, opts.crossChainPayload, opts.queryId);
53
- await provider.internal(via, {
54
- value,
55
- sendMode: ton_2.SendMode.PAY_GAS_SEPARATELY,
56
- body: body,
57
- });
58
- }
59
- static transferMessage(jettonAmount, to, responseAddress, forwardTonAmount, crossChainTonAmount, feeData, crossChainPayload, queryId) {
60
- return (0, ton_2.beginCell)()
61
- .storeUint(JettonWalletOpCodes.transfer, 32)
62
- .storeUint(queryId ?? 0, 64)
63
- .storeCoins(jettonAmount)
64
- .storeAddress(ton_2.Address.parse(to))
65
- .storeAddress(responseAddress ? ton_2.Address.parse(responseAddress) : null)
66
- .storeMaybeRef(null)
67
- .storeCoins(forwardTonAmount || 0n)
68
- .storeMaybeRef((0, ton_2.beginCell)()
69
- .storeCoins(crossChainTonAmount ?? 0n)
70
- .storeMaybeRef(feeData)
71
- .storeMaybeRef(crossChainPayload)
72
- .endCell())
73
- .endCell();
74
- }
75
- async sendTransfer(provider, via, value, opts) {
76
- await provider.internal(via, {
77
- value,
78
- sendMode: ton_2.SendMode.PAY_GAS_SEPARATELY,
79
- body: (0, ton_2.beginCell)()
80
- .storeUint(JettonWalletOpCodes.transfer, 32)
81
- .storeUint(opts.queryId || 0, 64)
82
- .storeCoins(opts.jettonAmount)
83
- .storeAddress(ton_2.Address.parse(opts.toOwnerAddress))
84
- .storeAddress(opts.responseAddress ? ton_2.Address.parse(opts.responseAddress) : null)
85
- .storeMaybeRef(opts.customPayload)
86
- .storeCoins(opts.forwardTonAmount ?? 0n)
87
- .storeMaybeRef(opts.forwardPayload)
88
- .endCell(),
89
- });
90
- }
91
- async sendReceive(provider, via, value, opts) {
92
- await provider.internal(via, {
93
- value,
94
- sendMode: ton_2.SendMode.PAY_GAS_SEPARATELY,
95
- body: (0, ton_2.beginCell)()
96
- .storeUint(JettonWalletOpCodes.internalTransfer, 32)
97
- .storeUint(opts.queryId || 0, 64)
98
- .storeCoins((0, ton_1.toNano)(opts.jettonAmount.toFixed(9)))
99
- .storeAddress(opts.fromOwnerAddress ? ton_2.Address.parse(opts.fromOwnerAddress) : null)
100
- .storeAddress(opts.responseAddress ? ton_2.Address.parse(opts.responseAddress) : null)
101
- .storeCoins(opts.forwardTonAmount || 0)
102
- .storeMaybeRef(opts.forwardPayload)
103
- .endCell(),
104
- });
105
- }
106
- async getWalletData(provider) {
107
- const result = await provider.get('get_wallet_data', []);
108
- return {
109
- balance: result.stack.readBigNumber(),
110
- ownerAddress: result.stack.readAddress().toString(),
111
- jettonMasterAddress: result.stack.readAddress().toString(),
112
- jettonWalletCode: result.stack.readCell(),
113
- };
114
- }
115
- async getJettonBalance(provider) {
116
- const state = await provider.getState();
117
- if (state.state.type !== 'active') {
118
- return 0n;
119
- }
120
- const result = await provider.get('get_wallet_data', []);
121
- return result.stack.readBigNumber();
122
- }
123
- }
124
- exports.JettonWallet = JettonWallet;
@@ -1,10 +0,0 @@
1
- import type { Cell, Contract, ContractProvider } from '@ton/ton';
2
- import { Address } from '@ton/ton';
3
- export declare class Settings implements Contract {
4
- static create(address: Address): Settings;
5
- readonly address: Address;
6
- constructor(address: Address);
7
- getKeyFromString(ContractName: string): bigint;
8
- getAddressSetting(provider: ContractProvider, ContractName: string): Promise<string>;
9
- getCellSetting(provider: ContractProvider, setting: string): Promise<Cell>;
10
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Settings = void 0;
4
- const ethers_1 = require("ethers");
5
- const errors_1 = require("../errors");
6
- class Settings {
7
- static create(address) {
8
- return new Settings(address);
9
- }
10
- constructor(address) {
11
- this.address = address;
12
- }
13
- getKeyFromString(ContractName) {
14
- const hash = ethers_1.ethers.sha256(ethers_1.ethers.toUtf8Bytes(ContractName));
15
- return ethers_1.ethers.toBigInt(hash);
16
- }
17
- async getAddressSetting(provider, ContractName) {
18
- const key = this.getKeyFromString(ContractName);
19
- const { stack } = await provider.get('get', [{ type: 'int', value: key }]);
20
- const cell = stack.readCellOpt();
21
- const found = stack.readBoolean();
22
- if (!found) {
23
- return '';
24
- }
25
- return cell ? cell.beginParse().loadAddress().toString() : '';
26
- }
27
- async getCellSetting(provider, setting) {
28
- const key = this.getKeyFromString(setting);
29
- const { stack } = await provider.get('get', [{ type: 'int', value: key }]);
30
- const cell = stack.readCellOpt();
31
- const found = stack.readBoolean();
32
- if (!found || cell == null) {
33
- throw (0, errors_1.emptySettingError)(setting);
34
- }
35
- return cell;
36
- }
37
- }
38
- exports.Settings = Settings;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes