@sign-global/tokentable 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/.github/workflows/push.yml +33 -0
  2. package/.prettierignore +2 -0
  3. package/.prettierrc +7 -0
  4. package/README.md +186 -0
  5. package/dist/cjs/airdrop/BaseAirdropClient.d.ts +28 -0
  6. package/dist/cjs/airdrop/BaseAirdropClient.js +50 -0
  7. package/dist/cjs/airdrop/BaseAirdropClient.js.map +1 -0
  8. package/dist/cjs/airdrop/EvmAirdropClient.d.ts +19 -0
  9. package/dist/cjs/airdrop/EvmAirdropClient.js +65 -0
  10. package/dist/cjs/airdrop/EvmAirdropClient.js.map +1 -0
  11. package/dist/cjs/airdrop/TonAirdropClient.d.ts +24 -0
  12. package/dist/cjs/airdrop/TonAirdropClient.js +78 -0
  13. package/dist/cjs/airdrop/TonAirdropClient.js.map +1 -0
  14. package/dist/cjs/airdrop/common/index.d.ts +1034 -0
  15. package/dist/cjs/airdrop/common/index.js +37 -0
  16. package/dist/cjs/airdrop/common/index.js.map +1 -0
  17. package/dist/cjs/airdrop/common/projectDataForTon.d.ts +79 -0
  18. package/dist/cjs/airdrop/common/projectDataForTon.js +83 -0
  19. package/dist/cjs/airdrop/common/projectDataForTon.js.map +1 -0
  20. package/dist/cjs/airdrop/constants/chain-config.d.ts +1043 -0
  21. package/dist/cjs/airdrop/constants/chain-config.js +90 -0
  22. package/dist/cjs/airdrop/constants/chain-config.js.map +1 -0
  23. package/dist/cjs/airdrop/constants/index.d.ts +2 -0
  24. package/dist/cjs/airdrop/constants/index.js +20 -0
  25. package/dist/cjs/airdrop/constants/index.js.map +1 -0
  26. package/dist/cjs/airdrop/constants/network.d.ts +90 -0
  27. package/dist/cjs/airdrop/constants/network.js +79 -0
  28. package/dist/cjs/airdrop/constants/network.js.map +1 -0
  29. package/dist/cjs/airdrop/core/evm/AirdropService.d.ts +36 -0
  30. package/dist/cjs/airdrop/core/evm/AirdropService.js +146 -0
  31. package/dist/cjs/airdrop/core/evm/AirdropService.js.map +1 -0
  32. package/dist/cjs/airdrop/core/evm/contracts/AirdropV2Client.d.ts +8 -0
  33. package/dist/cjs/airdrop/core/evm/contracts/AirdropV2Client.js +40 -0
  34. package/dist/cjs/airdrop/core/evm/contracts/AirdropV2Client.js.map +1 -0
  35. package/dist/cjs/airdrop/core/evm/contracts/AirdropV3Client.d.ts +16 -0
  36. package/dist/cjs/airdrop/core/evm/contracts/AirdropV3Client.js +49 -0
  37. package/dist/cjs/airdrop/core/evm/contracts/AirdropV3Client.js.map +1 -0
  38. package/dist/cjs/airdrop/core/evm/contracts/AirdropV3FeeClient.d.ts +6 -0
  39. package/dist/cjs/airdrop/core/evm/contracts/AirdropV3FeeClient.js +21 -0
  40. package/dist/cjs/airdrop/core/evm/contracts/AirdropV3FeeClient.js.map +1 -0
  41. package/dist/cjs/airdrop/core/evm/contracts/AirdropV4Client.d.ts +13 -0
  42. package/dist/cjs/airdrop/core/evm/contracts/AirdropV4Client.js +28 -0
  43. package/dist/cjs/airdrop/core/evm/contracts/AirdropV4Client.js.map +1 -0
  44. package/dist/cjs/airdrop/core/evm/contracts/ContractBaseClient.d.ts +28 -0
  45. package/dist/cjs/airdrop/core/evm/contracts/ContractBaseClient.js +60 -0
  46. package/dist/cjs/airdrop/core/evm/contracts/ContractBaseClient.js.map +1 -0
  47. package/dist/cjs/airdrop/core/evm/contracts/DeployClient.d.ts +7 -0
  48. package/dist/cjs/airdrop/core/evm/contracts/DeployClient.js +38 -0
  49. package/dist/cjs/airdrop/core/evm/contracts/DeployClient.js.map +1 -0
  50. package/dist/cjs/airdrop/core/evm/contracts/FeeCollectorClient.d.ts +6 -0
  51. package/dist/cjs/airdrop/core/evm/contracts/FeeCollectorClient.js +26 -0
  52. package/dist/cjs/airdrop/core/evm/contracts/FeeCollectorClient.js.map +1 -0
  53. package/dist/cjs/airdrop/core/evm/contracts/KycClient.d.ts +6 -0
  54. package/dist/cjs/airdrop/core/evm/contracts/KycClient.js +26 -0
  55. package/dist/cjs/airdrop/core/evm/contracts/KycClient.js.map +1 -0
  56. package/dist/cjs/airdrop/core/evm/contracts/abis/AirdropV2.json +676 -0
  57. package/dist/cjs/airdrop/core/evm/contracts/abis/AirdropV3.json +740 -0
  58. package/dist/cjs/airdrop/core/evm/contracts/abis/AirdropV3_Fee.json +678 -0
  59. package/dist/cjs/airdrop/core/evm/contracts/abis/CustomFeeNativeAirdropV4.json +701 -0
  60. package/dist/cjs/airdrop/core/evm/contracts/abis/Deployer.json +271 -0
  61. package/dist/cjs/airdrop/core/evm/contracts/abis/FeeCollector.json +322 -0
  62. package/dist/cjs/airdrop/core/evm/contracts/abis/KycHook.json +312 -0
  63. package/dist/cjs/airdrop/core/ton/AirdropClientV1.d.ts +24 -0
  64. package/dist/cjs/airdrop/core/ton/AirdropClientV1.js +104 -0
  65. package/dist/cjs/airdrop/core/ton/AirdropClientV1.js.map +1 -0
  66. package/dist/cjs/airdrop/core/ton/AirdropClientV2.d.ts +28 -0
  67. package/dist/cjs/airdrop/core/ton/AirdropClientV2.js +102 -0
  68. package/dist/cjs/airdrop/core/ton/AirdropClientV2.js.map +1 -0
  69. package/dist/cjs/airdrop/core/ton/AirdropClientV3.d.ts +28 -0
  70. package/dist/cjs/airdrop/core/ton/AirdropClientV3.js +109 -0
  71. package/dist/cjs/airdrop/core/ton/AirdropClientV3.js.map +1 -0
  72. package/dist/cjs/airdrop/core/ton/AirdropService.d.ts +40 -0
  73. package/dist/cjs/airdrop/core/ton/AirdropService.js +102 -0
  74. package/dist/cjs/airdrop/core/ton/AirdropService.js.map +1 -0
  75. package/dist/cjs/airdrop/core/ton/TonContractBaseClient.d.ts +33 -0
  76. package/dist/cjs/airdrop/core/ton/TonContractBaseClient.js +215 -0
  77. package/dist/cjs/airdrop/core/ton/TonContractBaseClient.js.map +1 -0
  78. package/dist/cjs/airdrop/core/ton/v1/build/Leaf.compiled.json +1 -0
  79. package/dist/cjs/airdrop/core/ton/v1/utils/constants.d.ts +40 -0
  80. package/dist/cjs/airdrop/core/ton/v1/utils/constants.js +47 -0
  81. package/dist/cjs/airdrop/core/ton/v1/utils/constants.js.map +1 -0
  82. package/dist/cjs/airdrop/core/ton/v1/utils/date.utils.d.ts +3 -0
  83. package/dist/cjs/airdrop/core/ton/v1/utils/date.utils.js +15 -0
  84. package/dist/cjs/airdrop/core/ton/v1/utils/date.utils.js.map +1 -0
  85. package/dist/cjs/airdrop/core/ton/v1/utils/index.d.ts +3 -0
  86. package/dist/cjs/airdrop/core/ton/v1/utils/index.js +20 -0
  87. package/dist/cjs/airdrop/core/ton/v1/utils/index.js.map +1 -0
  88. package/dist/cjs/airdrop/core/ton/v1/utils/ton.utils.d.ts +17 -0
  89. package/dist/cjs/airdrop/core/ton/v1/utils/ton.utils.js +87 -0
  90. package/dist/cjs/airdrop/core/ton/v1/utils/ton.utils.js.map +1 -0
  91. package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonMinter.d.ts +24 -0
  92. package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonMinter.js +67 -0
  93. package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonMinter.js.map +1 -0
  94. package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonWallet.d.ts +23 -0
  95. package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonWallet.js +63 -0
  96. package/dist/cjs/airdrop/core/ton/v1/wrappers/JettonWallet.js.map +1 -0
  97. package/dist/cjs/airdrop/core/ton/v1/wrappers/Leaf.d.ts +26 -0
  98. package/dist/cjs/airdrop/core/ton/v1/wrappers/Leaf.js +77 -0
  99. package/dist/cjs/airdrop/core/ton/v1/wrappers/Leaf.js.map +1 -0
  100. package/dist/cjs/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.d.ts +62 -0
  101. package/dist/cjs/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js +228 -0
  102. package/dist/cjs/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js.map +1 -0
  103. package/dist/cjs/airdrop/core/ton/v1/wrappers/index.d.ts +2 -0
  104. package/dist/cjs/airdrop/core/ton/v1/wrappers/index.js +19 -0
  105. package/dist/cjs/airdrop/core/ton/v1/wrappers/index.js.map +1 -0
  106. package/dist/cjs/airdrop/core/ton/v2/build/Leaf.compiled.json +1 -0
  107. package/dist/cjs/airdrop/core/ton/v2/utils/constants.d.ts +41 -0
  108. package/dist/cjs/airdrop/core/ton/v2/utils/constants.js +48 -0
  109. package/dist/cjs/airdrop/core/ton/v2/utils/constants.js.map +1 -0
  110. package/dist/cjs/airdrop/core/ton/v2/utils/date.utils.d.ts +3 -0
  111. package/dist/cjs/airdrop/core/ton/v2/utils/date.utils.js +15 -0
  112. package/dist/cjs/airdrop/core/ton/v2/utils/date.utils.js.map +1 -0
  113. package/dist/cjs/airdrop/core/ton/v2/utils/index.d.ts +3 -0
  114. package/dist/cjs/airdrop/core/ton/v2/utils/index.js +20 -0
  115. package/dist/cjs/airdrop/core/ton/v2/utils/index.js.map +1 -0
  116. package/dist/cjs/airdrop/core/ton/v2/utils/ton.utils.d.ts +20 -0
  117. package/dist/cjs/airdrop/core/ton/v2/utils/ton.utils.js +104 -0
  118. package/dist/cjs/airdrop/core/ton/v2/utils/ton.utils.js.map +1 -0
  119. package/dist/cjs/airdrop/core/ton/v2/wrappers/Leaf.d.ts +24 -0
  120. package/dist/cjs/airdrop/core/ton/v2/wrappers/Leaf.js +60 -0
  121. package/dist/cjs/airdrop/core/ton/v2/wrappers/Leaf.js.map +1 -0
  122. package/dist/cjs/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.d.ts +65 -0
  123. package/dist/cjs/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js +245 -0
  124. package/dist/cjs/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js.map +1 -0
  125. package/dist/cjs/airdrop/core/ton/v2/wrappers/index.d.ts +2 -0
  126. package/dist/cjs/airdrop/core/ton/v2/wrappers/index.js +19 -0
  127. package/dist/cjs/airdrop/core/ton/v2/wrappers/index.js.map +1 -0
  128. package/dist/cjs/airdrop/core/ton/v3/build/Leaf.compiled.json +1 -0
  129. package/dist/cjs/airdrop/core/ton/v3/utils/constants.d.ts +40 -0
  130. package/dist/cjs/airdrop/core/ton/v3/utils/constants.js +47 -0
  131. package/dist/cjs/airdrop/core/ton/v3/utils/constants.js.map +1 -0
  132. package/dist/cjs/airdrop/core/ton/v3/utils/date.utils.d.ts +3 -0
  133. package/dist/cjs/airdrop/core/ton/v3/utils/date.utils.js +15 -0
  134. package/dist/cjs/airdrop/core/ton/v3/utils/date.utils.js.map +1 -0
  135. package/dist/cjs/airdrop/core/ton/v3/utils/index.d.ts +3 -0
  136. package/dist/cjs/airdrop/core/ton/v3/utils/index.js +20 -0
  137. package/dist/cjs/airdrop/core/ton/v3/utils/index.js.map +1 -0
  138. package/dist/cjs/airdrop/core/ton/v3/utils/ton.utils.d.ts +17 -0
  139. package/dist/cjs/airdrop/core/ton/v3/utils/ton.utils.js +87 -0
  140. package/dist/cjs/airdrop/core/ton/v3/utils/ton.utils.js.map +1 -0
  141. package/dist/cjs/airdrop/core/ton/v3/wrappers/Leaf.d.ts +24 -0
  142. package/dist/cjs/airdrop/core/ton/v3/wrappers/Leaf.js +60 -0
  143. package/dist/cjs/airdrop/core/ton/v3/wrappers/Leaf.js.map +1 -0
  144. package/dist/cjs/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.d.ts +63 -0
  145. package/dist/cjs/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js +225 -0
  146. package/dist/cjs/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js.map +1 -0
  147. package/dist/cjs/airdrop/core/ton/v3/wrappers/index.d.ts +2 -0
  148. package/dist/cjs/airdrop/core/ton/v3/wrappers/index.js +19 -0
  149. package/dist/cjs/airdrop/core/ton/v3/wrappers/index.js.map +1 -0
  150. package/dist/cjs/airdrop/index.d.ts +3 -0
  151. package/dist/cjs/airdrop/index.js +23 -0
  152. package/dist/cjs/airdrop/index.js.map +1 -0
  153. package/dist/cjs/airdrop/services/index.d.ts +23 -0
  154. package/dist/cjs/airdrop/services/index.js +44 -0
  155. package/dist/cjs/airdrop/services/index.js.map +1 -0
  156. package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.d.ts +46 -0
  157. package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.js +173 -0
  158. package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.js.map +1 -0
  159. package/dist/cjs/airdrop/services/wallet-service/ton/index.d.ts +1 -0
  160. package/dist/cjs/airdrop/services/wallet-service/ton/index.js +6 -0
  161. package/dist/cjs/airdrop/services/wallet-service/ton/index.js.map +1 -0
  162. package/dist/cjs/airdrop/types/index.d.ts +105 -0
  163. package/dist/cjs/airdrop/types/index.js +21 -0
  164. package/dist/cjs/airdrop/types/index.js.map +1 -0
  165. package/dist/cjs/index.d.ts +1 -0
  166. package/dist/cjs/index.js +7 -0
  167. package/dist/cjs/index.js.map +1 -0
  168. package/dist/cjs/utils/api-client.d.ts +18 -0
  169. package/dist/cjs/utils/api-client.js +47 -0
  170. package/dist/cjs/utils/api-client.js.map +1 -0
  171. package/dist/cjs/utils/index.d.ts +3 -0
  172. package/dist/cjs/utils/index.js +20 -0
  173. package/dist/cjs/utils/index.js.map +1 -0
  174. package/dist/cjs/utils/utils.d.ts +7 -0
  175. package/dist/cjs/utils/utils.js +39 -0
  176. package/dist/cjs/utils/utils.js.map +1 -0
  177. package/dist/cjs/utils/web3.d.ts +1 -0
  178. package/dist/cjs/utils/web3.js +15 -0
  179. package/dist/cjs/utils/web3.js.map +1 -0
  180. package/dist/esm/airdrop/BaseAirdropClient.d.ts +28 -0
  181. package/dist/esm/airdrop/BaseAirdropClient.js +46 -0
  182. package/dist/esm/airdrop/BaseAirdropClient.js.map +1 -0
  183. package/dist/esm/airdrop/EvmAirdropClient.d.ts +19 -0
  184. package/dist/esm/airdrop/EvmAirdropClient.js +61 -0
  185. package/dist/esm/airdrop/EvmAirdropClient.js.map +1 -0
  186. package/dist/esm/airdrop/TonAirdropClient.d.ts +24 -0
  187. package/dist/esm/airdrop/TonAirdropClient.js +74 -0
  188. package/dist/esm/airdrop/TonAirdropClient.js.map +1 -0
  189. package/dist/esm/airdrop/common/index.d.ts +1034 -0
  190. package/dist/esm/airdrop/common/index.js +30 -0
  191. package/dist/esm/airdrop/common/index.js.map +1 -0
  192. package/dist/esm/airdrop/common/projectDataForTon.d.ts +79 -0
  193. package/dist/esm/airdrop/common/projectDataForTon.js +80 -0
  194. package/dist/esm/airdrop/common/projectDataForTon.js.map +1 -0
  195. package/dist/esm/airdrop/constants/chain-config.d.ts +1043 -0
  196. package/dist/esm/airdrop/constants/chain-config.js +87 -0
  197. package/dist/esm/airdrop/constants/chain-config.js.map +1 -0
  198. package/dist/esm/airdrop/constants/index.d.ts +2 -0
  199. package/dist/esm/airdrop/constants/index.js +3 -0
  200. package/dist/esm/airdrop/constants/index.js.map +1 -0
  201. package/dist/esm/airdrop/constants/network.d.ts +90 -0
  202. package/dist/esm/airdrop/constants/network.js +76 -0
  203. package/dist/esm/airdrop/constants/network.js.map +1 -0
  204. package/dist/esm/airdrop/core/evm/AirdropService.d.ts +36 -0
  205. package/dist/esm/airdrop/core/evm/AirdropService.js +142 -0
  206. package/dist/esm/airdrop/core/evm/AirdropService.js.map +1 -0
  207. package/dist/esm/airdrop/core/evm/contracts/AirdropV2Client.d.ts +8 -0
  208. package/dist/esm/airdrop/core/evm/contracts/AirdropV2Client.js +33 -0
  209. package/dist/esm/airdrop/core/evm/contracts/AirdropV2Client.js.map +1 -0
  210. package/dist/esm/airdrop/core/evm/contracts/AirdropV3Client.d.ts +16 -0
  211. package/dist/esm/airdrop/core/evm/contracts/AirdropV3Client.js +42 -0
  212. package/dist/esm/airdrop/core/evm/contracts/AirdropV3Client.js.map +1 -0
  213. package/dist/esm/airdrop/core/evm/contracts/AirdropV3FeeClient.d.ts +6 -0
  214. package/dist/esm/airdrop/core/evm/contracts/AirdropV3FeeClient.js +14 -0
  215. package/dist/esm/airdrop/core/evm/contracts/AirdropV3FeeClient.js.map +1 -0
  216. package/dist/esm/airdrop/core/evm/contracts/AirdropV4Client.d.ts +13 -0
  217. package/dist/esm/airdrop/core/evm/contracts/AirdropV4Client.js +21 -0
  218. package/dist/esm/airdrop/core/evm/contracts/AirdropV4Client.js.map +1 -0
  219. package/dist/esm/airdrop/core/evm/contracts/ContractBaseClient.d.ts +28 -0
  220. package/dist/esm/airdrop/core/evm/contracts/ContractBaseClient.js +56 -0
  221. package/dist/esm/airdrop/core/evm/contracts/ContractBaseClient.js.map +1 -0
  222. package/dist/esm/airdrop/core/evm/contracts/DeployClient.d.ts +7 -0
  223. package/dist/esm/airdrop/core/evm/contracts/DeployClient.js +31 -0
  224. package/dist/esm/airdrop/core/evm/contracts/DeployClient.js.map +1 -0
  225. package/dist/esm/airdrop/core/evm/contracts/FeeCollectorClient.d.ts +6 -0
  226. package/dist/esm/airdrop/core/evm/contracts/FeeCollectorClient.js +19 -0
  227. package/dist/esm/airdrop/core/evm/contracts/FeeCollectorClient.js.map +1 -0
  228. package/dist/esm/airdrop/core/evm/contracts/KycClient.d.ts +6 -0
  229. package/dist/esm/airdrop/core/evm/contracts/KycClient.js +19 -0
  230. package/dist/esm/airdrop/core/evm/contracts/KycClient.js.map +1 -0
  231. package/dist/esm/airdrop/core/evm/contracts/abis/AirdropV2.json +676 -0
  232. package/dist/esm/airdrop/core/evm/contracts/abis/AirdropV3.json +740 -0
  233. package/dist/esm/airdrop/core/evm/contracts/abis/AirdropV3_Fee.json +678 -0
  234. package/dist/esm/airdrop/core/evm/contracts/abis/CustomFeeNativeAirdropV4.json +701 -0
  235. package/dist/esm/airdrop/core/evm/contracts/abis/Deployer.json +271 -0
  236. package/dist/esm/airdrop/core/evm/contracts/abis/FeeCollector.json +322 -0
  237. package/dist/esm/airdrop/core/evm/contracts/abis/KycHook.json +312 -0
  238. package/dist/esm/airdrop/core/ton/AirdropClientV1.d.ts +24 -0
  239. package/dist/esm/airdrop/core/ton/AirdropClientV1.js +97 -0
  240. package/dist/esm/airdrop/core/ton/AirdropClientV1.js.map +1 -0
  241. package/dist/esm/airdrop/core/ton/AirdropClientV2.d.ts +28 -0
  242. package/dist/esm/airdrop/core/ton/AirdropClientV2.js +95 -0
  243. package/dist/esm/airdrop/core/ton/AirdropClientV2.js.map +1 -0
  244. package/dist/esm/airdrop/core/ton/AirdropClientV3.d.ts +28 -0
  245. package/dist/esm/airdrop/core/ton/AirdropClientV3.js +102 -0
  246. package/dist/esm/airdrop/core/ton/AirdropClientV3.js.map +1 -0
  247. package/dist/esm/airdrop/core/ton/AirdropService.d.ts +40 -0
  248. package/dist/esm/airdrop/core/ton/AirdropService.js +98 -0
  249. package/dist/esm/airdrop/core/ton/AirdropService.js.map +1 -0
  250. package/dist/esm/airdrop/core/ton/TonContractBaseClient.d.ts +33 -0
  251. package/dist/esm/airdrop/core/ton/TonContractBaseClient.js +211 -0
  252. package/dist/esm/airdrop/core/ton/TonContractBaseClient.js.map +1 -0
  253. package/dist/esm/airdrop/core/ton/v1/build/Leaf.compiled.json +1 -0
  254. package/dist/esm/airdrop/core/ton/v1/utils/constants.d.ts +40 -0
  255. package/dist/esm/airdrop/core/ton/v1/utils/constants.js +44 -0
  256. package/dist/esm/airdrop/core/ton/v1/utils/constants.js.map +1 -0
  257. package/dist/esm/airdrop/core/ton/v1/utils/date.utils.d.ts +3 -0
  258. package/dist/esm/airdrop/core/ton/v1/utils/date.utils.js +10 -0
  259. package/dist/esm/airdrop/core/ton/v1/utils/date.utils.js.map +1 -0
  260. package/dist/esm/airdrop/core/ton/v1/utils/index.d.ts +3 -0
  261. package/dist/esm/airdrop/core/ton/v1/utils/index.js +4 -0
  262. package/dist/esm/airdrop/core/ton/v1/utils/index.js.map +1 -0
  263. package/dist/esm/airdrop/core/ton/v1/utils/ton.utils.d.ts +17 -0
  264. package/dist/esm/airdrop/core/ton/v1/utils/ton.utils.js +69 -0
  265. package/dist/esm/airdrop/core/ton/v1/utils/ton.utils.js.map +1 -0
  266. package/dist/esm/airdrop/core/ton/v1/wrappers/JettonMinter.d.ts +24 -0
  267. package/dist/esm/airdrop/core/ton/v1/wrappers/JettonMinter.js +62 -0
  268. package/dist/esm/airdrop/core/ton/v1/wrappers/JettonMinter.js.map +1 -0
  269. package/dist/esm/airdrop/core/ton/v1/wrappers/JettonWallet.d.ts +23 -0
  270. package/dist/esm/airdrop/core/ton/v1/wrappers/JettonWallet.js +58 -0
  271. package/dist/esm/airdrop/core/ton/v1/wrappers/JettonWallet.js.map +1 -0
  272. package/dist/esm/airdrop/core/ton/v1/wrappers/Leaf.d.ts +26 -0
  273. package/dist/esm/airdrop/core/ton/v1/wrappers/Leaf.js +72 -0
  274. package/dist/esm/airdrop/core/ton/v1/wrappers/Leaf.js.map +1 -0
  275. package/dist/esm/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.d.ts +62 -0
  276. package/dist/esm/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js +222 -0
  277. package/dist/esm/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.js.map +1 -0
  278. package/dist/esm/airdrop/core/ton/v1/wrappers/index.d.ts +2 -0
  279. package/dist/esm/airdrop/core/ton/v1/wrappers/index.js +3 -0
  280. package/dist/esm/airdrop/core/ton/v1/wrappers/index.js.map +1 -0
  281. package/dist/esm/airdrop/core/ton/v2/build/Leaf.compiled.json +1 -0
  282. package/dist/esm/airdrop/core/ton/v2/utils/constants.d.ts +41 -0
  283. package/dist/esm/airdrop/core/ton/v2/utils/constants.js +45 -0
  284. package/dist/esm/airdrop/core/ton/v2/utils/constants.js.map +1 -0
  285. package/dist/esm/airdrop/core/ton/v2/utils/date.utils.d.ts +3 -0
  286. package/dist/esm/airdrop/core/ton/v2/utils/date.utils.js +10 -0
  287. package/dist/esm/airdrop/core/ton/v2/utils/date.utils.js.map +1 -0
  288. package/dist/esm/airdrop/core/ton/v2/utils/index.d.ts +3 -0
  289. package/dist/esm/airdrop/core/ton/v2/utils/index.js +4 -0
  290. package/dist/esm/airdrop/core/ton/v2/utils/index.js.map +1 -0
  291. package/dist/esm/airdrop/core/ton/v2/utils/ton.utils.d.ts +20 -0
  292. package/dist/esm/airdrop/core/ton/v2/utils/ton.utils.js +83 -0
  293. package/dist/esm/airdrop/core/ton/v2/utils/ton.utils.js.map +1 -0
  294. package/dist/esm/airdrop/core/ton/v2/wrappers/Leaf.d.ts +24 -0
  295. package/dist/esm/airdrop/core/ton/v2/wrappers/Leaf.js +55 -0
  296. package/dist/esm/airdrop/core/ton/v2/wrappers/Leaf.js.map +1 -0
  297. package/dist/esm/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.d.ts +65 -0
  298. package/dist/esm/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js +239 -0
  299. package/dist/esm/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.js.map +1 -0
  300. package/dist/esm/airdrop/core/ton/v2/wrappers/index.d.ts +2 -0
  301. package/dist/esm/airdrop/core/ton/v2/wrappers/index.js +3 -0
  302. package/dist/esm/airdrop/core/ton/v2/wrappers/index.js.map +1 -0
  303. package/dist/esm/airdrop/core/ton/v3/build/Leaf.compiled.json +1 -0
  304. package/dist/esm/airdrop/core/ton/v3/utils/constants.d.ts +40 -0
  305. package/dist/esm/airdrop/core/ton/v3/utils/constants.js +44 -0
  306. package/dist/esm/airdrop/core/ton/v3/utils/constants.js.map +1 -0
  307. package/dist/esm/airdrop/core/ton/v3/utils/date.utils.d.ts +3 -0
  308. package/dist/esm/airdrop/core/ton/v3/utils/date.utils.js +10 -0
  309. package/dist/esm/airdrop/core/ton/v3/utils/date.utils.js.map +1 -0
  310. package/dist/esm/airdrop/core/ton/v3/utils/index.d.ts +3 -0
  311. package/dist/esm/airdrop/core/ton/v3/utils/index.js +4 -0
  312. package/dist/esm/airdrop/core/ton/v3/utils/index.js.map +1 -0
  313. package/dist/esm/airdrop/core/ton/v3/utils/ton.utils.d.ts +17 -0
  314. package/dist/esm/airdrop/core/ton/v3/utils/ton.utils.js +69 -0
  315. package/dist/esm/airdrop/core/ton/v3/utils/ton.utils.js.map +1 -0
  316. package/dist/esm/airdrop/core/ton/v3/wrappers/Leaf.d.ts +24 -0
  317. package/dist/esm/airdrop/core/ton/v3/wrappers/Leaf.js +55 -0
  318. package/dist/esm/airdrop/core/ton/v3/wrappers/Leaf.js.map +1 -0
  319. package/dist/esm/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.d.ts +63 -0
  320. package/dist/esm/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js +219 -0
  321. package/dist/esm/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.js.map +1 -0
  322. package/dist/esm/airdrop/core/ton/v3/wrappers/index.d.ts +2 -0
  323. package/dist/esm/airdrop/core/ton/v3/wrappers/index.js +3 -0
  324. package/dist/esm/airdrop/core/ton/v3/wrappers/index.js.map +1 -0
  325. package/dist/esm/airdrop/index.d.ts +3 -0
  326. package/dist/esm/airdrop/index.js +4 -0
  327. package/dist/esm/airdrop/index.js.map +1 -0
  328. package/dist/esm/airdrop/services/index.d.ts +23 -0
  329. package/dist/esm/airdrop/services/index.js +35 -0
  330. package/dist/esm/airdrop/services/index.js.map +1 -0
  331. package/dist/esm/airdrop/services/wallet-service/ton/WalletService.d.ts +46 -0
  332. package/dist/esm/airdrop/services/wallet-service/ton/WalletService.js +169 -0
  333. package/dist/esm/airdrop/services/wallet-service/ton/WalletService.js.map +1 -0
  334. package/dist/esm/airdrop/services/wallet-service/ton/index.d.ts +1 -0
  335. package/dist/esm/airdrop/services/wallet-service/ton/index.js +2 -0
  336. package/dist/esm/airdrop/services/wallet-service/ton/index.js.map +1 -0
  337. package/dist/esm/airdrop/types/index.d.ts +105 -0
  338. package/dist/esm/airdrop/types/index.js +18 -0
  339. package/dist/esm/airdrop/types/index.js.map +1 -0
  340. package/dist/esm/index.d.ts +1 -0
  341. package/dist/esm/index.js +2 -0
  342. package/dist/esm/index.js.map +1 -0
  343. package/dist/esm/utils/api-client.d.ts +18 -0
  344. package/dist/esm/utils/api-client.js +43 -0
  345. package/dist/esm/utils/api-client.js.map +1 -0
  346. package/dist/esm/utils/index.d.ts +3 -0
  347. package/dist/esm/utils/index.js +4 -0
  348. package/dist/esm/utils/index.js.map +1 -0
  349. package/dist/esm/utils/utils.d.ts +7 -0
  350. package/dist/esm/utils/utils.js +29 -0
  351. package/dist/esm/utils/utils.js.map +1 -0
  352. package/dist/esm/utils/web3.d.ts +1 -0
  353. package/dist/esm/utils/web3.js +9 -0
  354. package/dist/esm/utils/web3.js.map +1 -0
  355. package/index.ts +34 -0
  356. package/package.json +34 -0
  357. package/src/airdrop/BaseAirdropClient.ts +75 -0
  358. package/src/airdrop/EvmAirdropClient.ts +74 -0
  359. package/src/airdrop/TonAirdropClient.ts +93 -0
  360. package/src/airdrop/common/index.ts +49 -0
  361. package/src/airdrop/common/projectDataForTon.ts +79 -0
  362. package/src/airdrop/constants/chain-config.ts +102 -0
  363. package/src/airdrop/constants/index.ts +3 -0
  364. package/src/airdrop/constants/network.ts +78 -0
  365. package/src/airdrop/core/evm/AirdropService.ts +182 -0
  366. package/src/airdrop/core/evm/contracts/AirdropV2Client.ts +37 -0
  367. package/src/airdrop/core/evm/contracts/AirdropV3Client.ts +49 -0
  368. package/src/airdrop/core/evm/contracts/AirdropV3FeeClient.ts +16 -0
  369. package/src/airdrop/core/evm/contracts/AirdropV4Client.ts +36 -0
  370. package/src/airdrop/core/evm/contracts/ContractBaseClient.ts +85 -0
  371. package/src/airdrop/core/evm/contracts/DeployClient.ts +35 -0
  372. package/src/airdrop/core/evm/contracts/FeeCollectorClient.ts +21 -0
  373. package/src/airdrop/core/evm/contracts/KycClient.ts +21 -0
  374. package/src/airdrop/core/evm/contracts/abis/Airdrop.json +674 -0
  375. package/src/airdrop/core/evm/contracts/abis/AirdropV2.json +676 -0
  376. package/src/airdrop/core/evm/contracts/abis/AirdropV3.json +740 -0
  377. package/src/airdrop/core/evm/contracts/abis/AirdropV3_Fee.json +678 -0
  378. package/src/airdrop/core/evm/contracts/abis/CustomFeeNativeAirdropV4.json +701 -0
  379. package/src/airdrop/core/evm/contracts/abis/Deployer.json +271 -0
  380. package/src/airdrop/core/evm/contracts/abis/ERC721.json +737 -0
  381. package/src/airdrop/core/evm/contracts/abis/FeeCollector.json +322 -0
  382. package/src/airdrop/core/evm/contracts/abis/KycHook.json +312 -0
  383. package/src/airdrop/core/ton/AirdropClientV1.ts +122 -0
  384. package/src/airdrop/core/ton/AirdropClientV2.ts +118 -0
  385. package/src/airdrop/core/ton/AirdropClientV3.ts +127 -0
  386. package/src/airdrop/core/ton/AirdropService.ts +121 -0
  387. package/src/airdrop/core/ton/TonContractBaseClient.ts +235 -0
  388. package/src/airdrop/core/ton/v1/build/Leaf.compiled.json +1 -0
  389. package/src/airdrop/core/ton/v1/build/MerkleTokenDistributor.compiled.json +1 -0
  390. package/src/airdrop/core/ton/v1/utils/constants.ts +42 -0
  391. package/src/airdrop/core/ton/v1/utils/date.utils.ts +11 -0
  392. package/src/airdrop/core/ton/v1/utils/index.ts +3 -0
  393. package/src/airdrop/core/ton/v1/utils/ton.utils.ts +84 -0
  394. package/src/airdrop/core/ton/v1/wrappers/JettonMinter.ts +81 -0
  395. package/src/airdrop/core/ton/v1/wrappers/JettonWallet.ts +73 -0
  396. package/src/airdrop/core/ton/v1/wrappers/Leaf.ts +88 -0
  397. package/src/airdrop/core/ton/v1/wrappers/MerkleTokenDistributor.ts +317 -0
  398. package/src/airdrop/core/ton/v1/wrappers/index.ts +2 -0
  399. package/src/airdrop/core/ton/v2/build/Leaf.compiled.json +1 -0
  400. package/src/airdrop/core/ton/v2/build/MerkleTokenDistributor.compiled.json +1 -0
  401. package/src/airdrop/core/ton/v2/utils/constants.ts +43 -0
  402. package/src/airdrop/core/ton/v2/utils/date.utils.ts +11 -0
  403. package/src/airdrop/core/ton/v2/utils/index.ts +3 -0
  404. package/src/airdrop/core/ton/v2/utils/ton.utils.ts +102 -0
  405. package/src/airdrop/core/ton/v2/wrappers/Leaf.ts +69 -0
  406. package/src/airdrop/core/ton/v2/wrappers/MerkleTokenDistributor.ts +340 -0
  407. package/src/airdrop/core/ton/v2/wrappers/index.ts +2 -0
  408. package/src/airdrop/core/ton/v3/build/Leaf.compiled.json +1 -0
  409. package/src/airdrop/core/ton/v3/build/MerkleTokenDistributor.compiled.json +1 -0
  410. package/src/airdrop/core/ton/v3/utils/constants.ts +43 -0
  411. package/src/airdrop/core/ton/v3/utils/date.utils.ts +11 -0
  412. package/src/airdrop/core/ton/v3/utils/index.ts +3 -0
  413. package/src/airdrop/core/ton/v3/utils/ton.utils.ts +84 -0
  414. package/src/airdrop/core/ton/v3/wrappers/Leaf.ts +68 -0
  415. package/src/airdrop/core/ton/v3/wrappers/MerkleTokenDistributor.ts +316 -0
  416. package/src/airdrop/core/ton/v3/wrappers/index.ts +2 -0
  417. package/src/airdrop/index.ts +3 -0
  418. package/src/airdrop/services/index.ts +63 -0
  419. package/src/airdrop/services/wallet-service/ton/WalletService.ts +226 -0
  420. package/src/airdrop/services/wallet-service/ton/index.ts +1 -0
  421. package/src/airdrop/types/index.ts +128 -0
  422. package/src/index.ts +1 -0
  423. package/src/utils/api-client.ts +68 -0
  424. package/src/utils/index.ts +3 -0
  425. package/src/utils/utils.ts +30 -0
  426. package/src/utils/web3.ts +8 -0
  427. package/tsconfig.json +29 -0
@@ -0,0 +1,17 @@
1
+ import { Address, BitString, Cell, Slice } from '@ton/core';
2
+ export declare function stringToSlice(str: string): Slice;
3
+ export declare function sliceToString(slice: Slice): string;
4
+ export declare function stringToInt(str: string): number;
5
+ export declare function intToString(int: number): string;
6
+ export declare function bufferToInt(buf: Buffer): number;
7
+ export declare function intToBuffer(int: number): Buffer;
8
+ export declare function sliceToAddress(slice: Slice): Address;
9
+ export declare function addressToSlice(address: Address): Slice;
10
+ export declare function stringToBitString(str: string): BitString;
11
+ export declare function bitStringToString(bits: BitString, len: number): string;
12
+ export declare function stringToCell(str: string): Cell;
13
+ export declare function cellToString(cell: Cell): string;
14
+ export declare function stringToCrc32(str: string): number;
15
+ export declare function getContractAddress(code: Cell, data: Cell): Address;
16
+ export declare function arraysToCell(arrays: (Slice | Cell | Address | number)[], bits?: number): Cell;
17
+ export declare function coinsToSlice(coins: string): Slice;
@@ -0,0 +1,69 @@
1
+ import { Address, BitString, Cell, Slice, beginCell, contractAddress, crc32c, toNano } from '@ton/core';
2
+ export function stringToSlice(str) {
3
+ return beginCell().storeStringTail(str).endCell().asSlice();
4
+ }
5
+ export function sliceToString(slice) {
6
+ const cell = beginCell().storeSlice(slice).endCell();
7
+ return cell.beginParse().loadStringTail();
8
+ }
9
+ export function stringToInt(str) {
10
+ return str ? parseInt(Buffer.from(str).toString('hex'), 16) : 0;
11
+ }
12
+ export function intToString(int) {
13
+ return Buffer.from(int.toString(16), 'hex').toString('utf-8');
14
+ }
15
+ export function bufferToInt(buf) {
16
+ return buf.readUInt32BE(0);
17
+ }
18
+ export function intToBuffer(int) {
19
+ return Buffer.from(int.toString(16), 'hex');
20
+ }
21
+ export function sliceToAddress(slice) {
22
+ const cell = beginCell().storeSlice(slice).endCell();
23
+ return cell.beginParse().loadAddress();
24
+ }
25
+ export function addressToSlice(address) {
26
+ return beginCell().storeAddress(address).endCell().asSlice();
27
+ }
28
+ export function stringToBitString(str) {
29
+ return new BitString(Buffer.from(str), 0, str.length * 8);
30
+ }
31
+ export function bitStringToString(bits, len) {
32
+ const decoder = new TextDecoder();
33
+ const subBuffer = bits.subbuffer(0, len);
34
+ return subBuffer ? decoder.decode(subBuffer) : '';
35
+ }
36
+ export function stringToCell(str) {
37
+ return beginCell().storeStringTail(str).endCell();
38
+ }
39
+ export function cellToString(cell) {
40
+ return cell.beginParse().loadStringTail();
41
+ }
42
+ export function stringToCrc32(str) {
43
+ return crc32c(Buffer.from(str)).readUint32BE();
44
+ }
45
+ export function getContractAddress(code, data) {
46
+ return contractAddress(0, { code, data });
47
+ }
48
+ export function arraysToCell(arrays, bits = 32) {
49
+ const cell = beginCell();
50
+ arrays.forEach((item) => {
51
+ if (item instanceof Slice) {
52
+ cell.storeSlice(item);
53
+ }
54
+ else if (item instanceof Cell) {
55
+ cell.storeRef(item);
56
+ }
57
+ else if (item instanceof Address) {
58
+ cell.storeAddress(item);
59
+ }
60
+ else if (typeof item === 'number') {
61
+ cell.storeUint(item, bits);
62
+ }
63
+ });
64
+ return cell.endCell();
65
+ }
66
+ export function coinsToSlice(coins) {
67
+ return beginCell().storeCoins(toNano(coins)).endCell().asSlice();
68
+ }
69
+ //# sourceMappingURL=ton.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton.utils.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/ton/v1/utils/ton.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExG,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,SAAS,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACrD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACrD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,SAAS,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAe,EAAE,GAAW;IAC5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEzC,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,SAAS,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAU,EAAE,IAAU;IACvD,OAAO,eAAe,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAA2C,EAAE,IAAI,GAAG,EAAE;IACjF,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IAEzB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,SAAS,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AACnE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
2
+ export type JettonMinterConfig = {
3
+ admin: Address;
4
+ content: Cell;
5
+ walletCode: Cell;
6
+ };
7
+ export declare function jettonMinterConfigToCell(config: JettonMinterConfig): Cell;
8
+ export declare class JettonMinter implements Contract {
9
+ readonly address: Address;
10
+ readonly init?: {
11
+ code: Cell;
12
+ data: Cell;
13
+ } | undefined;
14
+ constructor(address: Address, init?: {
15
+ code: Cell;
16
+ data: Cell;
17
+ } | undefined);
18
+ static createFromAddress(address: Address): JettonMinter;
19
+ static createFromConfig(config: JettonMinterConfig, code: Cell, workchain?: number): JettonMinter;
20
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
21
+ sendMint(provider: ContractProvider, via: Sender, value: bigint, forwardValue: bigint, recipient: Address, amount: bigint): Promise<void>;
22
+ getWalletAddressOf(provider: ContractProvider, address: Address): Promise<Address>;
23
+ getWalletCode(provider: ContractProvider): Promise<Cell>;
24
+ }
@@ -0,0 +1,62 @@
1
+ import { beginCell, contractAddress, SendMode } from '@ton/core';
2
+ export function jettonMinterConfigToCell(config) {
3
+ return beginCell()
4
+ .storeCoins(0)
5
+ .storeAddress(config.admin)
6
+ .storeRef(config.content)
7
+ .storeRef(config.walletCode)
8
+ .endCell();
9
+ }
10
+ export class JettonMinter {
11
+ address;
12
+ init;
13
+ constructor(address, init) {
14
+ this.address = address;
15
+ this.init = init;
16
+ }
17
+ static createFromAddress(address) {
18
+ return new JettonMinter(address);
19
+ }
20
+ static createFromConfig(config, code, workchain = 0) {
21
+ const data = jettonMinterConfigToCell(config);
22
+ const init = { code, data };
23
+ return new JettonMinter(contractAddress(workchain, init), init);
24
+ }
25
+ async sendDeploy(provider, via, value) {
26
+ await provider.internal(via, {
27
+ value,
28
+ sendMode: SendMode.PAY_GAS_SEPARATELY,
29
+ body: beginCell().endCell()
30
+ });
31
+ }
32
+ async sendMint(provider, via, value, forwardValue, recipient, amount) {
33
+ await provider.internal(via, {
34
+ sendMode: SendMode.PAY_GAS_SEPARATELY,
35
+ body: beginCell()
36
+ .storeUint(21, 32)
37
+ .storeUint(0, 64)
38
+ .storeAddress(recipient)
39
+ .storeCoins(forwardValue)
40
+ .storeRef(beginCell()
41
+ .storeUint(0x178d4519, 32)
42
+ .storeUint(0, 64)
43
+ .storeCoins(amount)
44
+ .storeAddress(this.address)
45
+ .storeAddress(this.address)
46
+ .storeCoins(0)
47
+ .storeUint(0, 1)
48
+ .endCell())
49
+ .endCell(),
50
+ value: value + forwardValue
51
+ });
52
+ }
53
+ async getWalletAddressOf(provider, address) {
54
+ return (await provider.get('get_wallet_address', [{ type: 'slice', cell: beginCell().storeAddress(address).endCell() }])).stack.readAddress();
55
+ }
56
+ async getWalletCode(provider) {
57
+ const stack = (await provider.get('get_jetton_data', [])).stack;
58
+ stack.skip(4);
59
+ return stack.readCell();
60
+ }
61
+ }
62
+ //# sourceMappingURL=JettonMinter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JettonMinter.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/ton/v1/wrappers/JettonMinter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
2
+ export type JettonWalletConfig = {
3
+ owner: Address;
4
+ minter: Address;
5
+ walletCode: Cell;
6
+ };
7
+ export declare function jettonWalletConfigToCell(config: JettonWalletConfig): Cell;
8
+ export declare class JettonWallet implements Contract {
9
+ readonly address: Address;
10
+ readonly init?: {
11
+ code: Cell;
12
+ data: Cell;
13
+ } | undefined;
14
+ constructor(address: Address, init?: {
15
+ code: Cell;
16
+ data: Cell;
17
+ } | undefined);
18
+ static createFromAddress(address: Address): JettonWallet;
19
+ static createFromConfig(config: JettonWalletConfig, code: Cell, workchain?: number): JettonWallet;
20
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
21
+ sendTransfer(provider: ContractProvider, via: Sender, value: bigint, forwardValue: bigint, recipient: Address, amount: bigint, forwardPayload: Cell): Promise<void>;
22
+ getJettonBalance(provider: ContractProvider): Promise<bigint>;
23
+ }
@@ -0,0 +1,58 @@
1
+ import { beginCell, contractAddress, SendMode } from '@ton/core';
2
+ export function jettonWalletConfigToCell(config) {
3
+ return beginCell()
4
+ .storeCoins(0)
5
+ .storeAddress(config.owner)
6
+ .storeAddress(config.minter)
7
+ .storeRef(config.walletCode)
8
+ .endCell();
9
+ }
10
+ export class JettonWallet {
11
+ address;
12
+ init;
13
+ constructor(address, init) {
14
+ this.address = address;
15
+ this.init = init;
16
+ }
17
+ static createFromAddress(address) {
18
+ return new JettonWallet(address);
19
+ }
20
+ static createFromConfig(config, code, workchain = 0) {
21
+ const data = jettonWalletConfigToCell(config);
22
+ const init = { code, data };
23
+ return new JettonWallet(contractAddress(workchain, init), init);
24
+ }
25
+ async sendDeploy(provider, via, value) {
26
+ await provider.internal(via, {
27
+ value,
28
+ sendMode: SendMode.PAY_GAS_SEPARATELY,
29
+ body: beginCell().endCell()
30
+ });
31
+ }
32
+ async sendTransfer(provider, via, value, forwardValue, recipient, amount, forwardPayload) {
33
+ await provider.internal(via, {
34
+ sendMode: SendMode.PAY_GAS_SEPARATELY,
35
+ body: beginCell()
36
+ .storeUint(0x0f8a7ea5, 32)
37
+ .storeUint(0, 64)
38
+ .storeCoins(amount)
39
+ .storeAddress(recipient)
40
+ .storeAddress(via.address)
41
+ .storeUint(0, 1)
42
+ .storeCoins(forwardValue)
43
+ .storeUint(1, 1)
44
+ .storeRef(forwardPayload)
45
+ .endCell(),
46
+ value: value + forwardValue
47
+ });
48
+ }
49
+ async getJettonBalance(provider) {
50
+ const state = await provider.getState();
51
+ if (state.state.type !== 'active') {
52
+ return 0n;
53
+ }
54
+ const res = await provider.get('get_wallet_data', []);
55
+ return res.stack.readBigNumber();
56
+ }
57
+ }
58
+ //# sourceMappingURL=JettonWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JettonWallet.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/ton/v1/wrappers/JettonWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,SAAS,EAAkB,eAAe,EAA4B,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQpH,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,OAAO,SAAS,EAAE;SACf,UAAU,CAAC,CAAC,CAAC;SACb,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;SAC1B,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;SAC3B,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;SAC3B,OAAO,EAAE,CAAC;AACf,CAAC;AAED,MAAM,OAAO,YAAY;IACF;IAA2B;IAAhD,YAAqB,OAAgB,EAAW,IAAiC;QAA5D,YAAO,GAAP,OAAO,CAAS;QAAW,SAAI,GAAJ,IAAI,CAA6B;IAAG,CAAC;IAErF,MAAM,CAAC,iBAAiB,CAAC,OAAgB;QACvC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAA0B,EAAE,IAAU,EAAE,SAAS,GAAG,CAAC;QAC3E,MAAM,IAAI,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAA0B,EAAE,GAAW,EAAE,KAAa;QACrE,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC3B,KAAK;YACL,QAAQ,EAAE,QAAQ,CAAC,kBAAkB;YACrC,IAAI,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAA0B,EAC1B,GAAW,EACX,KAAa,EACb,YAAoB,EACpB,SAAkB,EAClB,MAAc,EACd,cAAoB;QAEpB,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC3B,QAAQ,EAAE,QAAQ,CAAC,kBAAkB;YACrC,IAAI,EAAE,SAAS,EAAE;iBACd,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC;iBACzB,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;iBAChB,UAAU,CAAC,MAAM,CAAC;iBAClB,YAAY,CAAC,SAAS,CAAC;iBACvB,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;iBACzB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;iBACf,UAAU,CAAC,YAAY,CAAC;iBACxB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;iBACf,QAAQ,CAAC,cAAc,CAAC;iBACxB,OAAO,EAAE;YACZ,KAAK,EAAE,KAAK,GAAG,YAAY;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAA0B;QAC/C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import { Address, Cell, Contract, ContractProvider, Sender } from '@ton/core';
2
+ export type LeafConfig = {
3
+ used?: boolean;
4
+ distributor: Address;
5
+ index: bigint;
6
+ };
7
+ export declare const MIN_CLAIM_FEE: bigint;
8
+ export declare function leafConfigToCell(config: LeafConfig): Cell;
9
+ export declare class Leaf implements Contract {
10
+ readonly address: Address;
11
+ readonly init?: {
12
+ code: Cell;
13
+ data: Cell;
14
+ } | undefined;
15
+ constructor(address: Address, init?: {
16
+ code: Cell;
17
+ data: Cell;
18
+ } | undefined);
19
+ static createFromAddress(address: Address): Leaf;
20
+ static createFromConfig(config: LeafConfig, code: Cell, workchain?: number): Leaf;
21
+ getSeqno(provider: ContractProvider): Promise<number>;
22
+ getIsUsed(provider: ContractProvider): Promise<boolean>;
23
+ getLeafData(provider: ContractProvider): Promise<LeafConfig>;
24
+ sendLeafFees(_provider: ContractProvider, via: Sender, claimFee: bigint, code: Cell, data: Cell): Promise<void>;
25
+ sendClaim(provider: ContractProvider, proof: Cell, index: bigint, queryId?: number): Promise<void>;
26
+ }
@@ -0,0 +1,72 @@
1
+ import { beginCell, contractAddress, toNano } from '@ton/core';
2
+ import { OpCode } from '../utils';
3
+ export const MIN_CLAIM_FEE = toNano('0.11');
4
+ export function leafConfigToCell(config) {
5
+ const { distributor, index } = config;
6
+ const initState = beginCell()
7
+ .storeBit(false)
8
+ .storeAddress(distributor)
9
+ .storeUint(index, 256)
10
+ .storeUint(0, 64)
11
+ .endCell();
12
+ return initState;
13
+ }
14
+ export class Leaf {
15
+ address;
16
+ init;
17
+ constructor(address, init) {
18
+ this.address = address;
19
+ this.init = init;
20
+ }
21
+ static createFromAddress(address) {
22
+ return new Leaf(address);
23
+ }
24
+ static createFromConfig(config, code, workchain = 0) {
25
+ const data = leafConfigToCell(config);
26
+ const init = { code, data };
27
+ return new Leaf(contractAddress(workchain, init), init);
28
+ }
29
+ async getSeqno(provider) {
30
+ const result = await provider.get('get_seqno', []);
31
+ return result.stack.readNumber();
32
+ }
33
+ async getIsUsed(provider) {
34
+ const result = await provider.get('get_is_used', []);
35
+ const isUsed = result.stack.readNumber();
36
+ return !!isUsed;
37
+ }
38
+ async getLeafData(provider) {
39
+ const result = await provider.get('get_leaf_data', []);
40
+ const cellHash = result.stack.readCell().beginParse();
41
+ const isUsed = cellHash.loadUint(1);
42
+ const distributor = cellHash.loadAddress();
43
+ const index = cellHash.loadUint(256);
44
+ return {
45
+ used: !!isUsed,
46
+ index: BigInt(index),
47
+ distributor
48
+ };
49
+ }
50
+ async sendLeafFees(_provider, via, claimFee, code, data) {
51
+ await via.send({
52
+ bounce: false,
53
+ to: this.address,
54
+ value: MIN_CLAIM_FEE + claimFee,
55
+ init: {
56
+ code,
57
+ data
58
+ },
59
+ body: beginCell().endCell()
60
+ });
61
+ }
62
+ async sendClaim(provider, proof, index, queryId = 0) {
63
+ const messageBody = beginCell()
64
+ .storeUint(OpCode.Claim, 32)
65
+ .storeUint(queryId, 64)
66
+ .storeRef(proof)
67
+ .storeUint(index, 256)
68
+ .endCell();
69
+ await provider.external(messageBody);
70
+ }
71
+ }
72
+ //# sourceMappingURL=Leaf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Leaf.js","sourceRoot":"","sources":["../../../../../../../src/airdrop/core/ton/v1/wrappers/Leaf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { Address, Builder, Cell, Contract, ContractProvider, Dictionary, Sender, Slice } from '@ton/core';
2
+ import { CodeType } from '../utils';
3
+ export type MerkleTokenDistributorConfig = {
4
+ version: string;
5
+ adminAddress: Address;
6
+ root: bigint;
7
+ deployer: Address;
8
+ token?: Address;
9
+ startTime: Date;
10
+ endTime: Date;
11
+ leafCode: Cell;
12
+ claimFee: bigint;
13
+ claimFeeAddress: Address;
14
+ paused?: boolean;
15
+ };
16
+ export declare function tokenDistributorConfigToCell(config: MerkleTokenDistributorConfig): Cell;
17
+ export type TokenDistributorEntry = {
18
+ address: Address;
19
+ claimableAmount: bigint;
20
+ claimableTimestamp: number;
21
+ };
22
+ export declare const tokenDistributorEntryValue: {
23
+ serialize: (src: TokenDistributorEntry, buidler: Builder) => void;
24
+ parse: (src: Slice) => {
25
+ address: Address;
26
+ claimableAmount: bigint;
27
+ claimableTimestamp: number;
28
+ };
29
+ };
30
+ export declare function generateEntriesDictionary(entries: TokenDistributorEntry[]): Dictionary<bigint, TokenDistributorEntry>;
31
+ export declare class MerkleTokenDistributor implements Contract {
32
+ readonly address: Address;
33
+ readonly init?: {
34
+ code: Cell;
35
+ data: Cell;
36
+ } | undefined;
37
+ constructor(address: Address, init?: {
38
+ code: Cell;
39
+ data: Cell;
40
+ } | undefined);
41
+ static createFromAddress(address: Address): MerkleTokenDistributor;
42
+ static createFromConfig(config: MerkleTokenDistributorConfig, code: Cell, workchain?: number): MerkleTokenDistributor;
43
+ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise<void>;
44
+ getVersion(provider: ContractProvider): Promise<string>;
45
+ getLeafAddress(provider: ContractProvider, index: bigint): Promise<Address>;
46
+ getRoot(provider: ContractProvider): Promise<bigint>;
47
+ getTime(provider: ContractProvider): Promise<[Date, Date] | [null, null]>;
48
+ getToken(provider: ContractProvider): Promise<Address | null>;
49
+ getDeployer(provider: ContractProvider): Promise<Address>;
50
+ getClaimFee(provider: ContractProvider): Promise<bigint>;
51
+ getClaimFeeAddress(provider: ContractProvider): Promise<Address>;
52
+ getPaused(provider: ContractProvider): Promise<boolean>;
53
+ sendChangeAdmin(provider: ContractProvider, via: Sender, newAdmin: Address): Promise<void>;
54
+ sendChangeCode(provider: ContractProvider, via: Sender, codeType: CodeType, newCode: Cell): Promise<void>;
55
+ sendChangeVersion(provider: ContractProvider, via: Sender, version: string): Promise<void>;
56
+ sendWithdraw(provider: ContractProvider, via: Sender, amount: string): Promise<void>;
57
+ sendWithdrawTokens(provider: ContractProvider, via: Sender, amount: string): Promise<void>;
58
+ sendSetBaseParams(provider: ContractProvider, via: Sender, startTime: Date, endTime: Date, root: bigint, token: Address): Promise<void>;
59
+ sendSetClaimFee(provider: ContractProvider, via: Sender, claimFee: bigint): Promise<void>;
60
+ sendSetClaimFeeAddress(provider: ContractProvider, via: Sender, claimFeeAddress: Address): Promise<void>;
61
+ sendSetPaused(provider: ContractProvider, via: Sender, paused: boolean): Promise<void>;
62
+ }
@@ -0,0 +1,222 @@
1
+ import { beginCell, contractAddress, Dictionary, SendMode, toNano } from '@ton/core';
2
+ import { dateToUnixTimestamp, intToString, OpCode, stringToInt, unixTimestampToDate } from '../utils';
3
+ export function tokenDistributorConfigToCell(config) {
4
+ const { version, adminAddress, deployer, endTime, leafCode, root, startTime, token, claimFee, claimFeeAddress, paused = false } = config;
5
+ const c2 = beginCell()
6
+ .storeCoins(claimFee)
7
+ .storeAddress(claimFeeAddress)
8
+ .storeUint(paused ? 1 : 0, 1)
9
+ .endCell();
10
+ const c1 = beginCell()
11
+ .storeAddress(deployer)
12
+ .storeAddress(token)
13
+ .storeUint(dateToUnixTimestamp(startTime), 32)
14
+ .storeUint(dateToUnixTimestamp(endTime), 32)
15
+ .storeRef(leafCode)
16
+ .endCell();
17
+ return beginCell()
18
+ .storeUint(stringToInt(version), 64)
19
+ .storeAddress(adminAddress)
20
+ .storeUint(root, 256)
21
+ .storeRef(c1)
22
+ .storeRef(c2)
23
+ .endCell();
24
+ }
25
+ export const tokenDistributorEntryValue = {
26
+ serialize: (src, buidler) => {
27
+ buidler.storeAddress(src.address).storeCoins(src.claimableAmount).storeUint(src.claimableTimestamp, 32);
28
+ },
29
+ parse: (src) => {
30
+ return {
31
+ address: src.loadAddress(),
32
+ claimableAmount: src.loadCoins(),
33
+ claimableTimestamp: src.loadUint(32)
34
+ };
35
+ }
36
+ };
37
+ export function generateEntriesDictionary(entries) {
38
+ const dict = Dictionary.empty(Dictionary.Keys.BigUint(256), tokenDistributorEntryValue);
39
+ for (let i = 0; i < entries.length; i++) {
40
+ dict.set(BigInt(i), entries[i]);
41
+ }
42
+ return dict;
43
+ }
44
+ export class MerkleTokenDistributor {
45
+ address;
46
+ init;
47
+ constructor(address, init) {
48
+ this.address = address;
49
+ this.init = init;
50
+ }
51
+ static createFromAddress(address) {
52
+ return new MerkleTokenDistributor(address);
53
+ }
54
+ static createFromConfig(config, code, workchain = 0) {
55
+ const data = tokenDistributorConfigToCell(config);
56
+ const init = { code, data };
57
+ return new MerkleTokenDistributor(contractAddress(workchain, init), init);
58
+ }
59
+ async sendDeploy(provider, via, value) {
60
+ await provider.internal(via, {
61
+ value,
62
+ sendMode: SendMode.PAY_GAS_SEPARATELY,
63
+ body: beginCell().endCell()
64
+ });
65
+ }
66
+ async getVersion(provider) {
67
+ const result = await provider.get('get_version', []);
68
+ return intToString(Number(result.stack.readBigNumber()));
69
+ }
70
+ async getLeafAddress(provider, index) {
71
+ const arg = {
72
+ value: index,
73
+ type: 'int'
74
+ };
75
+ const result = await provider.get('get_leaf_address', [arg]);
76
+ return result.stack.readAddress();
77
+ }
78
+ async getRoot(provider) {
79
+ const result = await provider.get('get_root', []);
80
+ return result.stack.readBigNumber();
81
+ }
82
+ async getTime(provider) {
83
+ const result = await provider.get('get_time', []);
84
+ const stack = result.stack;
85
+ try {
86
+ return [unixTimestampToDate(stack.readNumber()), unixTimestampToDate(stack.readNumber())];
87
+ }
88
+ catch (e) {
89
+ return [null, null];
90
+ }
91
+ }
92
+ async getToken(provider) {
93
+ const result = await provider.get('get_token', []);
94
+ try {
95
+ return result.stack.readAddress();
96
+ }
97
+ catch (e) {
98
+ return null;
99
+ }
100
+ }
101
+ async getDeployer(provider) {
102
+ const result = await provider.get('get_deployer', []);
103
+ return result.stack.readAddress();
104
+ }
105
+ async getClaimFee(provider) {
106
+ const result = await provider.get('get_claim_fee', []);
107
+ return result.stack.readBigNumber();
108
+ }
109
+ async getClaimFeeAddress(provider) {
110
+ const result = await provider.get('get_claim_fee_address', []);
111
+ return result.stack.readAddress();
112
+ }
113
+ async getPaused(provider) {
114
+ const result = await provider.get('get_paused', []);
115
+ return result.stack.readNumber() === 1;
116
+ }
117
+ async sendChangeAdmin(provider, via, newAdmin) {
118
+ const messageBody = beginCell().storeUint(OpCode.ChangeAdmin, 32).storeUint(0, 64).storeAddress(newAdmin).endCell();
119
+ const result = await provider.internal(via, {
120
+ value: '0.01',
121
+ body: messageBody
122
+ });
123
+ return result;
124
+ }
125
+ async sendChangeCode(provider, via, codeType, newCode) {
126
+ const messageBody = beginCell()
127
+ .storeUint(OpCode.ChangeCode, 32)
128
+ .storeUint(0, 64)
129
+ .storeUint(codeType, 32)
130
+ .storeRef(newCode)
131
+ .endCell();
132
+ const result = await provider.internal(via, {
133
+ value: '0.01',
134
+ body: messageBody
135
+ });
136
+ return result;
137
+ }
138
+ async sendChangeVersion(provider, via, version) {
139
+ const messageBody = beginCell()
140
+ .storeUint(OpCode.ChangeVersion, 32)
141
+ .storeUint(0, 64)
142
+ .storeUint(stringToInt(version), 64)
143
+ .endCell();
144
+ const result = await provider.internal(via, {
145
+ value: '0.01',
146
+ body: messageBody
147
+ });
148
+ return result;
149
+ }
150
+ async sendWithdraw(provider, via, amount) {
151
+ const messageBody = beginCell()
152
+ .storeUint(OpCode.Withdraw, 32)
153
+ .storeUint(0, 64)
154
+ .storeCoins(toNano(amount))
155
+ .endCell();
156
+ const result = await provider.internal(via, {
157
+ value: '0.01',
158
+ body: messageBody
159
+ });
160
+ return result;
161
+ }
162
+ async sendWithdrawTokens(provider, via, amount) {
163
+ const messageBody = beginCell()
164
+ .storeUint(OpCode.WithdrawTokens, 32)
165
+ .storeUint(0, 64)
166
+ .storeCoins(toNano(amount))
167
+ .endCell();
168
+ const result = await provider.internal(via, {
169
+ value: '0.1',
170
+ body: messageBody
171
+ });
172
+ return result;
173
+ }
174
+ async sendSetBaseParams(provider, via, startTime, endTime, root, token) {
175
+ const messageBody = beginCell()
176
+ .storeUint(OpCode.SetBaseParams, 32)
177
+ .storeUint(0, 64)
178
+ .storeAddress(token)
179
+ .storeUint(dateToUnixTimestamp(startTime), 32)
180
+ .storeUint(dateToUnixTimestamp(endTime), 32)
181
+ .storeUint(root, 256)
182
+ .endCell();
183
+ const result = await provider.internal(via, {
184
+ value: '0.01',
185
+ body: messageBody
186
+ });
187
+ return result;
188
+ }
189
+ async sendSetClaimFee(provider, via, claimFee) {
190
+ const messageBody = beginCell().storeUint(OpCode.SetClaimFee, 32).storeUint(0, 64).storeCoins(claimFee).endCell();
191
+ const result = await provider.internal(via, {
192
+ value: '0.01',
193
+ body: messageBody
194
+ });
195
+ return result;
196
+ }
197
+ async sendSetClaimFeeAddress(provider, via, claimFeeAddress) {
198
+ const messageBody = beginCell()
199
+ .storeUint(OpCode.SetClaimFee, 32)
200
+ .storeUint(0, 64)
201
+ .storeAddress(claimFeeAddress)
202
+ .endCell();
203
+ const result = await provider.internal(via, {
204
+ value: '0.01',
205
+ body: messageBody
206
+ });
207
+ return result;
208
+ }
209
+ async sendSetPaused(provider, via, paused) {
210
+ const messageBody = beginCell()
211
+ .storeUint(OpCode.SetPaused, 32)
212
+ .storeUint(0, 64)
213
+ .storeUint(paused ? 1 : 0, 1)
214
+ .endCell();
215
+ const result = await provider.internal(via, {
216
+ value: '0.01',
217
+ body: messageBody
218
+ });
219
+ return result;
220
+ }
221
+ }
222
+ //# sourceMappingURL=MerkleTokenDistributor.js.map