@sign-global/tokentable 0.5.3-beta.0 → 1.0.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 (634) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/index.d.mts +122 -0
  3. package/dist/index.d.ts +122 -0
  4. package/dist/index.js +828 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.mjs +824 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +23 -34
  9. package/src/AirdropClient.ts +320 -0
  10. package/src/SignatureAirdropClient.ts +390 -0
  11. package/src/index.ts +4 -0
  12. package/src/strategies/AirdropStrategyFactory.ts +34 -0
  13. package/src/strategies/EvmAirdropStrategy.ts +88 -0
  14. package/src/strategies/IAirdropStrategy.ts +28 -0
  15. package/src/strategies/SolanaAirdropStrategy.ts +76 -0
  16. package/src/strategies/StrategyCache.ts +34 -0
  17. package/src/strategies/TonAirdropStrategy.ts +76 -0
  18. package/src/tests/index.test.ts +387 -0
  19. package/tsup.config.ts +28 -0
  20. package/.github/workflows/beta.yml +0 -28
  21. package/.github/workflows/push.yml +0 -33
  22. package/.prettierignore +0 -2
  23. package/.prettierrc +0 -7
  24. package/README.md +0 -286
  25. package/dist/cjs/airdrop/AirdropClient.d.ts +0 -47
  26. package/dist/cjs/airdrop/AirdropClient.js +0 -260
  27. package/dist/cjs/airdrop/AirdropClient.js.map +0 -1
  28. package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +0 -54
  29. package/dist/cjs/airdrop/SignatureAirdropClient.js +0 -312
  30. package/dist/cjs/airdrop/SignatureAirdropClient.js.map +0 -1
  31. package/dist/cjs/airdrop/common/index.d.ts +0 -1075
  32. package/dist/cjs/airdrop/common/index.js +0 -41
  33. package/dist/cjs/airdrop/common/index.js.map +0 -1
  34. package/dist/cjs/airdrop/common/projectDataForTon.d.ts +0 -79
  35. package/dist/cjs/airdrop/common/projectDataForTon.js +0 -83
  36. package/dist/cjs/airdrop/common/projectDataForTon.js.map +0 -1
  37. package/dist/cjs/airdrop/constants/chain-config.d.ts +0 -1144
  38. package/dist/cjs/airdrop/constants/chain-config.js +0 -108
  39. package/dist/cjs/airdrop/constants/chain-config.js.map +0 -1
  40. package/dist/cjs/airdrop/constants/index.d.ts +0 -7
  41. package/dist/cjs/airdrop/constants/index.js +0 -25
  42. package/dist/cjs/airdrop/constants/index.js.map +0 -1
  43. package/dist/cjs/airdrop/constants/network.d.ts +0 -180
  44. package/dist/cjs/airdrop/constants/network.js +0 -150
  45. package/dist/cjs/airdrop/constants/network.js.map +0 -1
  46. package/dist/cjs/airdrop/contracts/evm/AirdropService.d.ts +0 -36
  47. package/dist/cjs/airdrop/contracts/evm/AirdropService.js +0 -149
  48. package/dist/cjs/airdrop/contracts/evm/AirdropService.js.map +0 -1
  49. package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.d.ts +0 -26
  50. package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.js +0 -95
  51. package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.js.map +0 -1
  52. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureClient.d.ts +0 -17
  53. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureClient.js +0 -51
  54. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureClient.js.map +0 -1
  55. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.d.ts +0 -17
  56. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.js +0 -51
  57. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.js.map +0 -1
  58. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV2Client.d.ts +0 -8
  59. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV2Client.js +0 -40
  60. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV2Client.js.map +0 -1
  61. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV3Client.d.ts +0 -16
  62. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV3Client.js +0 -49
  63. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV3Client.js.map +0 -1
  64. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV3FeeClient.d.ts +0 -6
  65. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV3FeeClient.js +0 -21
  66. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV3FeeClient.js.map +0 -1
  67. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV4Client.d.ts +0 -13
  68. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV4Client.js +0 -28
  69. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropV4Client.js.map +0 -1
  70. package/dist/cjs/airdrop/contracts/evm/contracts/ContractBaseClient.d.ts +0 -32
  71. package/dist/cjs/airdrop/contracts/evm/contracts/ContractBaseClient.js +0 -68
  72. package/dist/cjs/airdrop/contracts/evm/contracts/ContractBaseClient.js.map +0 -1
  73. package/dist/cjs/airdrop/contracts/evm/contracts/DeployClient.d.ts +0 -7
  74. package/dist/cjs/airdrop/contracts/evm/contracts/DeployClient.js +0 -40
  75. package/dist/cjs/airdrop/contracts/evm/contracts/DeployClient.js.map +0 -1
  76. package/dist/cjs/airdrop/contracts/evm/contracts/FeeCollectorClient.d.ts +0 -6
  77. package/dist/cjs/airdrop/contracts/evm/contracts/FeeCollectorClient.js +0 -26
  78. package/dist/cjs/airdrop/contracts/evm/contracts/FeeCollectorClient.js.map +0 -1
  79. package/dist/cjs/airdrop/contracts/evm/contracts/KycClient.d.ts +0 -6
  80. package/dist/cjs/airdrop/contracts/evm/contracts/KycClient.js +0 -26
  81. package/dist/cjs/airdrop/contracts/evm/contracts/KycClient.js.map +0 -1
  82. package/dist/cjs/airdrop/contracts/evm/contracts/abis/AirdropV2.json +0 -676
  83. package/dist/cjs/airdrop/contracts/evm/contracts/abis/AirdropV3.json +0 -740
  84. package/dist/cjs/airdrop/contracts/evm/contracts/abis/AirdropV3_Fee.json +0 -678
  85. package/dist/cjs/airdrop/contracts/evm/contracts/abis/CustomFeeNativeAirdropV4.json +0 -701
  86. package/dist/cjs/airdrop/contracts/evm/contracts/abis/Deployer.json +0 -271
  87. package/dist/cjs/airdrop/contracts/evm/contracts/abis/FeeCollector.json +0 -322
  88. package/dist/cjs/airdrop/contracts/evm/contracts/abis/FungibleTokenECDSADistributor.json +0 -564
  89. package/dist/cjs/airdrop/contracts/evm/contracts/abis/FungibleTokenWithFeesECDSADistributor.json +0 -260
  90. package/dist/cjs/airdrop/contracts/evm/contracts/abis/KycHook.json +0 -312
  91. package/dist/cjs/airdrop/contracts/index.d.ts +0 -5
  92. package/dist/cjs/airdrop/contracts/index.js +0 -14
  93. package/dist/cjs/airdrop/contracts/index.js.map +0 -1
  94. package/dist/cjs/airdrop/contracts/solana/AirdropService.d.ts +0 -16
  95. package/dist/cjs/airdrop/contracts/solana/AirdropService.js +0 -38
  96. package/dist/cjs/airdrop/contracts/solana/AirdropService.js.map +0 -1
  97. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.d.ts +0 -46
  98. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js +0 -218
  99. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js.map +0 -1
  100. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.d.ts +0 -12
  101. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js +0 -71
  102. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js.map +0 -1
  103. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.d.ts +0 -49
  104. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.js +0 -243
  105. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.js.map +0 -1
  106. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.d.ts +0 -21
  107. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.js +0 -35
  108. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.js.map +0 -1
  109. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.d.ts +0 -28
  110. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js +0 -84
  111. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js.map +0 -1
  112. package/dist/cjs/airdrop/contracts/solana/eddsa_token_distributor_solana.d.ts +0 -1627
  113. package/dist/cjs/airdrop/contracts/solana/eddsa_token_distributor_solana.js +0 -3
  114. package/dist/cjs/airdrop/contracts/solana/eddsa_token_distributor_solana.js.map +0 -1
  115. package/dist/cjs/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.d.ts +0 -1631
  116. package/dist/cjs/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js +0 -3
  117. package/dist/cjs/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js.map +0 -1
  118. package/dist/cjs/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.json +0 -1625
  119. package/dist/cjs/airdrop/contracts/solana/fee_collector.d.ts +0 -1266
  120. package/dist/cjs/airdrop/contracts/solana/fee_collector.js +0 -3
  121. package/dist/cjs/airdrop/contracts/solana/fee_collector.js.map +0 -1
  122. package/dist/cjs/airdrop/contracts/solana/fee_collector.json +0 -1260
  123. package/dist/cjs/airdrop/contracts/solana/fungible_token_distributor_solana.d.ts +0 -1579
  124. package/dist/cjs/airdrop/contracts/solana/fungible_token_distributor_solana.js +0 -3
  125. package/dist/cjs/airdrop/contracts/solana/fungible_token_distributor_solana.js.map +0 -1
  126. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.d.ts +0 -1658
  127. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.js +0 -3
  128. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.js.map +0 -1
  129. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.json +0 -1652
  130. package/dist/cjs/airdrop/contracts/ton/AirdropClientV1.d.ts +0 -24
  131. package/dist/cjs/airdrop/contracts/ton/AirdropClientV1.js +0 -104
  132. package/dist/cjs/airdrop/contracts/ton/AirdropClientV1.js.map +0 -1
  133. package/dist/cjs/airdrop/contracts/ton/AirdropClientV2.d.ts +0 -30
  134. package/dist/cjs/airdrop/contracts/ton/AirdropClientV2.js +0 -102
  135. package/dist/cjs/airdrop/contracts/ton/AirdropClientV2.js.map +0 -1
  136. package/dist/cjs/airdrop/contracts/ton/AirdropClientV21.d.ts +0 -31
  137. package/dist/cjs/airdrop/contracts/ton/AirdropClientV21.js +0 -112
  138. package/dist/cjs/airdrop/contracts/ton/AirdropClientV21.js.map +0 -1
  139. package/dist/cjs/airdrop/contracts/ton/AirdropClientV3.d.ts +0 -30
  140. package/dist/cjs/airdrop/contracts/ton/AirdropClientV3.js +0 -109
  141. package/dist/cjs/airdrop/contracts/ton/AirdropClientV3.js.map +0 -1
  142. package/dist/cjs/airdrop/contracts/ton/AirdropService.d.ts +0 -52
  143. package/dist/cjs/airdrop/contracts/ton/AirdropService.js +0 -127
  144. package/dist/cjs/airdrop/contracts/ton/AirdropService.js.map +0 -1
  145. package/dist/cjs/airdrop/contracts/ton/TonContractBaseClient.d.ts +0 -34
  146. package/dist/cjs/airdrop/contracts/ton/TonContractBaseClient.js +0 -216
  147. package/dist/cjs/airdrop/contracts/ton/TonContractBaseClient.js.map +0 -1
  148. package/dist/cjs/airdrop/contracts/ton/v1/build/Leaf.compiled.json +0 -1
  149. package/dist/cjs/airdrop/contracts/ton/v1/utils/constants.d.ts +0 -40
  150. package/dist/cjs/airdrop/contracts/ton/v1/utils/constants.js +0 -47
  151. package/dist/cjs/airdrop/contracts/ton/v1/utils/constants.js.map +0 -1
  152. package/dist/cjs/airdrop/contracts/ton/v1/utils/date.utils.d.ts +0 -3
  153. package/dist/cjs/airdrop/contracts/ton/v1/utils/date.utils.js +0 -15
  154. package/dist/cjs/airdrop/contracts/ton/v1/utils/date.utils.js.map +0 -1
  155. package/dist/cjs/airdrop/contracts/ton/v1/utils/index.d.ts +0 -3
  156. package/dist/cjs/airdrop/contracts/ton/v1/utils/index.js +0 -20
  157. package/dist/cjs/airdrop/contracts/ton/v1/utils/index.js.map +0 -1
  158. package/dist/cjs/airdrop/contracts/ton/v1/utils/ton.utils.d.ts +0 -17
  159. package/dist/cjs/airdrop/contracts/ton/v1/utils/ton.utils.js +0 -87
  160. package/dist/cjs/airdrop/contracts/ton/v1/utils/ton.utils.js.map +0 -1
  161. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/JettonMinter.d.ts +0 -24
  162. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/JettonMinter.js +0 -67
  163. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/JettonMinter.js.map +0 -1
  164. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/JettonWallet.d.ts +0 -23
  165. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/JettonWallet.js +0 -63
  166. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/JettonWallet.js.map +0 -1
  167. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/Leaf.d.ts +0 -26
  168. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/Leaf.js +0 -77
  169. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/Leaf.js.map +0 -1
  170. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.d.ts +0 -62
  171. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.js +0 -228
  172. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.js.map +0 -1
  173. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/index.d.ts +0 -2
  174. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/index.js +0 -19
  175. package/dist/cjs/airdrop/contracts/ton/v1/wrappers/index.js.map +0 -1
  176. package/dist/cjs/airdrop/contracts/ton/v2/build/Leaf.compiled.json +0 -1
  177. package/dist/cjs/airdrop/contracts/ton/v2/utils/constants.d.ts +0 -41
  178. package/dist/cjs/airdrop/contracts/ton/v2/utils/constants.js +0 -48
  179. package/dist/cjs/airdrop/contracts/ton/v2/utils/constants.js.map +0 -1
  180. package/dist/cjs/airdrop/contracts/ton/v2/utils/date.utils.d.ts +0 -3
  181. package/dist/cjs/airdrop/contracts/ton/v2/utils/date.utils.js +0 -15
  182. package/dist/cjs/airdrop/contracts/ton/v2/utils/date.utils.js.map +0 -1
  183. package/dist/cjs/airdrop/contracts/ton/v2/utils/index.d.ts +0 -3
  184. package/dist/cjs/airdrop/contracts/ton/v2/utils/index.js +0 -20
  185. package/dist/cjs/airdrop/contracts/ton/v2/utils/index.js.map +0 -1
  186. package/dist/cjs/airdrop/contracts/ton/v2/utils/ton.utils.d.ts +0 -20
  187. package/dist/cjs/airdrop/contracts/ton/v2/utils/ton.utils.js +0 -104
  188. package/dist/cjs/airdrop/contracts/ton/v2/utils/ton.utils.js.map +0 -1
  189. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/Leaf.d.ts +0 -24
  190. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/Leaf.js +0 -60
  191. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/Leaf.js.map +0 -1
  192. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.d.ts +0 -65
  193. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.js +0 -245
  194. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.js.map +0 -1
  195. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/index.d.ts +0 -2
  196. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/index.js +0 -19
  197. package/dist/cjs/airdrop/contracts/ton/v2/wrappers/index.js.map +0 -1
  198. package/dist/cjs/airdrop/contracts/ton/v21/build/Leaf.compiled.json +0 -1
  199. package/dist/cjs/airdrop/contracts/ton/v21/utils/constants.d.ts +0 -44
  200. package/dist/cjs/airdrop/contracts/ton/v21/utils/constants.js +0 -51
  201. package/dist/cjs/airdrop/contracts/ton/v21/utils/constants.js.map +0 -1
  202. package/dist/cjs/airdrop/contracts/ton/v21/utils/date.utils.d.ts +0 -3
  203. package/dist/cjs/airdrop/contracts/ton/v21/utils/date.utils.js +0 -15
  204. package/dist/cjs/airdrop/contracts/ton/v21/utils/date.utils.js.map +0 -1
  205. package/dist/cjs/airdrop/contracts/ton/v21/utils/index.d.ts +0 -3
  206. package/dist/cjs/airdrop/contracts/ton/v21/utils/index.js +0 -20
  207. package/dist/cjs/airdrop/contracts/ton/v21/utils/index.js.map +0 -1
  208. package/dist/cjs/airdrop/contracts/ton/v21/utils/ton.utils.d.ts +0 -17
  209. package/dist/cjs/airdrop/contracts/ton/v21/utils/ton.utils.js +0 -87
  210. package/dist/cjs/airdrop/contracts/ton/v21/utils/ton.utils.js.map +0 -1
  211. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/Leaf.d.ts +0 -24
  212. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/Leaf.js +0 -60
  213. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/Leaf.js.map +0 -1
  214. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.d.ts +0 -66
  215. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.js +0 -255
  216. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.js.map +0 -1
  217. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/index.d.ts +0 -2
  218. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/index.js +0 -19
  219. package/dist/cjs/airdrop/contracts/ton/v21/wrappers/index.js.map +0 -1
  220. package/dist/cjs/airdrop/contracts/ton/v3/build/Leaf.compiled.json +0 -1
  221. package/dist/cjs/airdrop/contracts/ton/v3/utils/constants.d.ts +0 -40
  222. package/dist/cjs/airdrop/contracts/ton/v3/utils/constants.js +0 -47
  223. package/dist/cjs/airdrop/contracts/ton/v3/utils/constants.js.map +0 -1
  224. package/dist/cjs/airdrop/contracts/ton/v3/utils/date.utils.d.ts +0 -3
  225. package/dist/cjs/airdrop/contracts/ton/v3/utils/date.utils.js +0 -15
  226. package/dist/cjs/airdrop/contracts/ton/v3/utils/date.utils.js.map +0 -1
  227. package/dist/cjs/airdrop/contracts/ton/v3/utils/index.d.ts +0 -3
  228. package/dist/cjs/airdrop/contracts/ton/v3/utils/index.js +0 -20
  229. package/dist/cjs/airdrop/contracts/ton/v3/utils/index.js.map +0 -1
  230. package/dist/cjs/airdrop/contracts/ton/v3/utils/ton.utils.d.ts +0 -17
  231. package/dist/cjs/airdrop/contracts/ton/v3/utils/ton.utils.js +0 -87
  232. package/dist/cjs/airdrop/contracts/ton/v3/utils/ton.utils.js.map +0 -1
  233. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/Leaf.d.ts +0 -24
  234. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/Leaf.js +0 -60
  235. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/Leaf.js.map +0 -1
  236. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.d.ts +0 -63
  237. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.js +0 -225
  238. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.js.map +0 -1
  239. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/index.d.ts +0 -2
  240. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/index.js +0 -19
  241. package/dist/cjs/airdrop/contracts/ton/v3/wrappers/index.js.map +0 -1
  242. package/dist/cjs/airdrop/index.d.ts +0 -4
  243. package/dist/cjs/airdrop/index.js +0 -15
  244. package/dist/cjs/airdrop/index.js.map +0 -1
  245. package/dist/cjs/airdrop/services/index.d.ts +0 -63
  246. package/dist/cjs/airdrop/services/index.js +0 -100
  247. package/dist/cjs/airdrop/services/index.js.map +0 -1
  248. package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.d.ts +0 -46
  249. package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.js +0 -173
  250. package/dist/cjs/airdrop/services/wallet-service/ton/WalletService.js.map +0 -1
  251. package/dist/cjs/airdrop/services/wallet-service/ton/index.d.ts +0 -1
  252. package/dist/cjs/airdrop/services/wallet-service/ton/index.js +0 -6
  253. package/dist/cjs/airdrop/services/wallet-service/ton/index.js.map +0 -1
  254. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.d.ts +0 -16
  255. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js +0 -24
  256. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js.map +0 -1
  257. package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.d.ts +0 -28
  258. package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.js +0 -82
  259. package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.js.map +0 -1
  260. package/dist/cjs/airdrop/strategies/IAirdropStrategy.d.ts +0 -30
  261. package/dist/cjs/airdrop/strategies/IAirdropStrategy.js +0 -3
  262. package/dist/cjs/airdrop/strategies/IAirdropStrategy.js.map +0 -1
  263. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.d.ts +0 -28
  264. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.js +0 -70
  265. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.js.map +0 -1
  266. package/dist/cjs/airdrop/strategies/StrategyCache.d.ts +0 -10
  267. package/dist/cjs/airdrop/strategies/StrategyCache.js +0 -32
  268. package/dist/cjs/airdrop/strategies/StrategyCache.js.map +0 -1
  269. package/dist/cjs/airdrop/strategies/TonAirdropStrategy.d.ts +0 -27
  270. package/dist/cjs/airdrop/strategies/TonAirdropStrategy.js +0 -68
  271. package/dist/cjs/airdrop/strategies/TonAirdropStrategy.js.map +0 -1
  272. package/dist/cjs/airdrop/types/index.d.ts +0 -180
  273. package/dist/cjs/airdrop/types/index.js +0 -42
  274. package/dist/cjs/airdrop/types/index.js.map +0 -1
  275. package/dist/cjs/index.d.ts +0 -4
  276. package/dist/cjs/index.js +0 -33
  277. package/dist/cjs/index.js.map +0 -1
  278. package/dist/cjs/utils/api-client.d.ts +0 -19
  279. package/dist/cjs/utils/api-client.js +0 -47
  280. package/dist/cjs/utils/api-client.js.map +0 -1
  281. package/dist/cjs/utils/biz.d.ts +0 -15
  282. package/dist/cjs/utils/biz.js +0 -41
  283. package/dist/cjs/utils/biz.js.map +0 -1
  284. package/dist/cjs/utils/index.d.ts +0 -5
  285. package/dist/cjs/utils/index.js +0 -22
  286. package/dist/cjs/utils/index.js.map +0 -1
  287. package/dist/cjs/utils/math.d.ts +0 -1
  288. package/dist/cjs/utils/math.js +0 -9
  289. package/dist/cjs/utils/math.js.map +0 -1
  290. package/dist/cjs/utils/utils.d.ts +0 -9
  291. package/dist/cjs/utils/utils.js +0 -53
  292. package/dist/cjs/utils/utils.js.map +0 -1
  293. package/dist/cjs/utils/web3.d.ts +0 -29
  294. package/dist/cjs/utils/web3.js +0 -132
  295. package/dist/cjs/utils/web3.js.map +0 -1
  296. package/dist/cjs/wallets/WalletBase.d.ts +0 -32
  297. package/dist/cjs/wallets/WalletBase.js +0 -71
  298. package/dist/cjs/wallets/WalletBase.js.map +0 -1
  299. package/dist/cjs/wallets/WalletFactory.d.ts +0 -8
  300. package/dist/cjs/wallets/WalletFactory.js +0 -38
  301. package/dist/cjs/wallets/WalletFactory.js.map +0 -1
  302. package/dist/cjs/wallets/index.d.ts +0 -2
  303. package/dist/cjs/wallets/index.js +0 -21
  304. package/dist/cjs/wallets/index.js.map +0 -1
  305. package/dist/cjs/wallets/providers/evm/EvmWallet.d.ts +0 -26
  306. package/dist/cjs/wallets/providers/evm/EvmWallet.js +0 -83
  307. package/dist/cjs/wallets/providers/evm/EvmWallet.js.map +0 -1
  308. package/dist/cjs/wallets/providers/evm/index.d.ts +0 -10
  309. package/dist/cjs/wallets/providers/evm/index.js +0 -37
  310. package/dist/cjs/wallets/providers/evm/index.js.map +0 -1
  311. package/dist/cjs/wallets/providers/index.d.ts +0 -3
  312. package/dist/cjs/wallets/providers/index.js +0 -14
  313. package/dist/cjs/wallets/providers/index.js.map +0 -1
  314. package/dist/cjs/wallets/providers/solana/index.d.ts +0 -31
  315. package/dist/cjs/wallets/providers/solana/index.js +0 -112
  316. package/dist/cjs/wallets/providers/solana/index.js.map +0 -1
  317. package/dist/cjs/wallets/providers/ton/TonWallet.d.ts +0 -23
  318. package/dist/cjs/wallets/providers/ton/TonWallet.js +0 -118
  319. package/dist/cjs/wallets/providers/ton/TonWallet.js.map +0 -1
  320. package/dist/cjs/wallets/providers/ton/index.d.ts +0 -9
  321. package/dist/cjs/wallets/providers/ton/index.js +0 -29
  322. package/dist/cjs/wallets/providers/ton/index.js.map +0 -1
  323. package/dist/cjs/wallets/types.d.ts +0 -38
  324. package/dist/cjs/wallets/types.js +0 -30
  325. package/dist/cjs/wallets/types.js.map +0 -1
  326. package/dist/cjs/wallets/utils/index.d.ts +0 -8
  327. package/dist/cjs/wallets/utils/index.js +0 -41
  328. package/dist/cjs/wallets/utils/index.js.map +0 -1
  329. package/dist/esm/airdrop/AirdropClient.d.ts +0 -47
  330. package/dist/esm/airdrop/AirdropClient.js +0 -256
  331. package/dist/esm/airdrop/AirdropClient.js.map +0 -1
  332. package/dist/esm/airdrop/SignatureAirdropClient.d.ts +0 -54
  333. package/dist/esm/airdrop/SignatureAirdropClient.js +0 -308
  334. package/dist/esm/airdrop/SignatureAirdropClient.js.map +0 -1
  335. package/dist/esm/airdrop/common/index.d.ts +0 -1075
  336. package/dist/esm/airdrop/common/index.js +0 -34
  337. package/dist/esm/airdrop/common/index.js.map +0 -1
  338. package/dist/esm/airdrop/common/projectDataForTon.d.ts +0 -79
  339. package/dist/esm/airdrop/common/projectDataForTon.js +0 -80
  340. package/dist/esm/airdrop/common/projectDataForTon.js.map +0 -1
  341. package/dist/esm/airdrop/constants/chain-config.d.ts +0 -1144
  342. package/dist/esm/airdrop/constants/chain-config.js +0 -105
  343. package/dist/esm/airdrop/constants/chain-config.js.map +0 -1
  344. package/dist/esm/airdrop/constants/index.d.ts +0 -7
  345. package/dist/esm/airdrop/constants/index.js +0 -8
  346. package/dist/esm/airdrop/constants/index.js.map +0 -1
  347. package/dist/esm/airdrop/constants/network.d.ts +0 -180
  348. package/dist/esm/airdrop/constants/network.js +0 -147
  349. package/dist/esm/airdrop/constants/network.js.map +0 -1
  350. package/dist/esm/airdrop/contracts/evm/AirdropService.d.ts +0 -36
  351. package/dist/esm/airdrop/contracts/evm/AirdropService.js +0 -145
  352. package/dist/esm/airdrop/contracts/evm/AirdropService.js.map +0 -1
  353. package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.d.ts +0 -26
  354. package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.js +0 -91
  355. package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.js.map +0 -1
  356. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureClient.d.ts +0 -17
  357. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureClient.js +0 -44
  358. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureClient.js.map +0 -1
  359. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.d.ts +0 -17
  360. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.js +0 -44
  361. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.js.map +0 -1
  362. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV2Client.d.ts +0 -8
  363. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV2Client.js +0 -33
  364. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV2Client.js.map +0 -1
  365. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV3Client.d.ts +0 -16
  366. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV3Client.js +0 -42
  367. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV3Client.js.map +0 -1
  368. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV3FeeClient.d.ts +0 -6
  369. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV3FeeClient.js +0 -14
  370. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV3FeeClient.js.map +0 -1
  371. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV4Client.d.ts +0 -13
  372. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV4Client.js +0 -21
  373. package/dist/esm/airdrop/contracts/evm/contracts/AirdropV4Client.js.map +0 -1
  374. package/dist/esm/airdrop/contracts/evm/contracts/ContractBaseClient.d.ts +0 -32
  375. package/dist/esm/airdrop/contracts/evm/contracts/ContractBaseClient.js +0 -64
  376. package/dist/esm/airdrop/contracts/evm/contracts/ContractBaseClient.js.map +0 -1
  377. package/dist/esm/airdrop/contracts/evm/contracts/DeployClient.d.ts +0 -7
  378. package/dist/esm/airdrop/contracts/evm/contracts/DeployClient.js +0 -33
  379. package/dist/esm/airdrop/contracts/evm/contracts/DeployClient.js.map +0 -1
  380. package/dist/esm/airdrop/contracts/evm/contracts/FeeCollectorClient.d.ts +0 -6
  381. package/dist/esm/airdrop/contracts/evm/contracts/FeeCollectorClient.js +0 -19
  382. package/dist/esm/airdrop/contracts/evm/contracts/FeeCollectorClient.js.map +0 -1
  383. package/dist/esm/airdrop/contracts/evm/contracts/KycClient.d.ts +0 -6
  384. package/dist/esm/airdrop/contracts/evm/contracts/KycClient.js +0 -19
  385. package/dist/esm/airdrop/contracts/evm/contracts/KycClient.js.map +0 -1
  386. package/dist/esm/airdrop/contracts/evm/contracts/abis/AirdropV2.json +0 -676
  387. package/dist/esm/airdrop/contracts/evm/contracts/abis/AirdropV3.json +0 -740
  388. package/dist/esm/airdrop/contracts/evm/contracts/abis/AirdropV3_Fee.json +0 -678
  389. package/dist/esm/airdrop/contracts/evm/contracts/abis/CustomFeeNativeAirdropV4.json +0 -701
  390. package/dist/esm/airdrop/contracts/evm/contracts/abis/Deployer.json +0 -271
  391. package/dist/esm/airdrop/contracts/evm/contracts/abis/FeeCollector.json +0 -322
  392. package/dist/esm/airdrop/contracts/evm/contracts/abis/FungibleTokenECDSADistributor.json +0 -564
  393. package/dist/esm/airdrop/contracts/evm/contracts/abis/FungibleTokenWithFeesECDSADistributor.json +0 -260
  394. package/dist/esm/airdrop/contracts/evm/contracts/abis/KycHook.json +0 -312
  395. package/dist/esm/airdrop/contracts/index.d.ts +0 -5
  396. package/dist/esm/airdrop/contracts/index.js +0 -6
  397. package/dist/esm/airdrop/contracts/index.js.map +0 -1
  398. package/dist/esm/airdrop/contracts/solana/AirdropService.d.ts +0 -16
  399. package/dist/esm/airdrop/contracts/solana/AirdropService.js +0 -34
  400. package/dist/esm/airdrop/contracts/solana/AirdropService.js.map +0 -1
  401. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.d.ts +0 -46
  402. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js +0 -188
  403. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js.map +0 -1
  404. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.d.ts +0 -12
  405. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js +0 -41
  406. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js.map +0 -1
  407. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.d.ts +0 -49
  408. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.js +0 -213
  409. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.js.map +0 -1
  410. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.d.ts +0 -21
  411. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.js +0 -31
  412. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.js.map +0 -1
  413. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.d.ts +0 -28
  414. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js +0 -80
  415. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js.map +0 -1
  416. package/dist/esm/airdrop/contracts/solana/eddsa_token_distributor_solana.d.ts +0 -1627
  417. package/dist/esm/airdrop/contracts/solana/eddsa_token_distributor_solana.js +0 -2
  418. package/dist/esm/airdrop/contracts/solana/eddsa_token_distributor_solana.js.map +0 -1
  419. package/dist/esm/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.d.ts +0 -1631
  420. package/dist/esm/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js +0 -2
  421. package/dist/esm/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js.map +0 -1
  422. package/dist/esm/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.json +0 -1625
  423. package/dist/esm/airdrop/contracts/solana/fee_collector.d.ts +0 -1266
  424. package/dist/esm/airdrop/contracts/solana/fee_collector.js +0 -2
  425. package/dist/esm/airdrop/contracts/solana/fee_collector.js.map +0 -1
  426. package/dist/esm/airdrop/contracts/solana/fee_collector.json +0 -1260
  427. package/dist/esm/airdrop/contracts/solana/fungible_token_distributor_solana.d.ts +0 -1579
  428. package/dist/esm/airdrop/contracts/solana/fungible_token_distributor_solana.js +0 -2
  429. package/dist/esm/airdrop/contracts/solana/fungible_token_distributor_solana.js.map +0 -1
  430. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.d.ts +0 -1658
  431. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.js +0 -2
  432. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.js.map +0 -1
  433. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.json +0 -1652
  434. package/dist/esm/airdrop/contracts/ton/AirdropClientV1.d.ts +0 -24
  435. package/dist/esm/airdrop/contracts/ton/AirdropClientV1.js +0 -97
  436. package/dist/esm/airdrop/contracts/ton/AirdropClientV1.js.map +0 -1
  437. package/dist/esm/airdrop/contracts/ton/AirdropClientV2.d.ts +0 -30
  438. package/dist/esm/airdrop/contracts/ton/AirdropClientV2.js +0 -95
  439. package/dist/esm/airdrop/contracts/ton/AirdropClientV2.js.map +0 -1
  440. package/dist/esm/airdrop/contracts/ton/AirdropClientV21.d.ts +0 -31
  441. package/dist/esm/airdrop/contracts/ton/AirdropClientV21.js +0 -105
  442. package/dist/esm/airdrop/contracts/ton/AirdropClientV21.js.map +0 -1
  443. package/dist/esm/airdrop/contracts/ton/AirdropClientV3.d.ts +0 -30
  444. package/dist/esm/airdrop/contracts/ton/AirdropClientV3.js +0 -102
  445. package/dist/esm/airdrop/contracts/ton/AirdropClientV3.js.map +0 -1
  446. package/dist/esm/airdrop/contracts/ton/AirdropService.d.ts +0 -52
  447. package/dist/esm/airdrop/contracts/ton/AirdropService.js +0 -123
  448. package/dist/esm/airdrop/contracts/ton/AirdropService.js.map +0 -1
  449. package/dist/esm/airdrop/contracts/ton/TonContractBaseClient.d.ts +0 -34
  450. package/dist/esm/airdrop/contracts/ton/TonContractBaseClient.js +0 -212
  451. package/dist/esm/airdrop/contracts/ton/TonContractBaseClient.js.map +0 -1
  452. package/dist/esm/airdrop/contracts/ton/v1/build/Leaf.compiled.json +0 -1
  453. package/dist/esm/airdrop/contracts/ton/v1/utils/constants.d.ts +0 -40
  454. package/dist/esm/airdrop/contracts/ton/v1/utils/constants.js +0 -44
  455. package/dist/esm/airdrop/contracts/ton/v1/utils/constants.js.map +0 -1
  456. package/dist/esm/airdrop/contracts/ton/v1/utils/date.utils.d.ts +0 -3
  457. package/dist/esm/airdrop/contracts/ton/v1/utils/date.utils.js +0 -10
  458. package/dist/esm/airdrop/contracts/ton/v1/utils/date.utils.js.map +0 -1
  459. package/dist/esm/airdrop/contracts/ton/v1/utils/index.d.ts +0 -3
  460. package/dist/esm/airdrop/contracts/ton/v1/utils/index.js +0 -4
  461. package/dist/esm/airdrop/contracts/ton/v1/utils/index.js.map +0 -1
  462. package/dist/esm/airdrop/contracts/ton/v1/utils/ton.utils.d.ts +0 -17
  463. package/dist/esm/airdrop/contracts/ton/v1/utils/ton.utils.js +0 -69
  464. package/dist/esm/airdrop/contracts/ton/v1/utils/ton.utils.js.map +0 -1
  465. package/dist/esm/airdrop/contracts/ton/v1/wrappers/JettonMinter.d.ts +0 -24
  466. package/dist/esm/airdrop/contracts/ton/v1/wrappers/JettonMinter.js +0 -62
  467. package/dist/esm/airdrop/contracts/ton/v1/wrappers/JettonMinter.js.map +0 -1
  468. package/dist/esm/airdrop/contracts/ton/v1/wrappers/JettonWallet.d.ts +0 -23
  469. package/dist/esm/airdrop/contracts/ton/v1/wrappers/JettonWallet.js +0 -58
  470. package/dist/esm/airdrop/contracts/ton/v1/wrappers/JettonWallet.js.map +0 -1
  471. package/dist/esm/airdrop/contracts/ton/v1/wrappers/Leaf.d.ts +0 -26
  472. package/dist/esm/airdrop/contracts/ton/v1/wrappers/Leaf.js +0 -72
  473. package/dist/esm/airdrop/contracts/ton/v1/wrappers/Leaf.js.map +0 -1
  474. package/dist/esm/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.d.ts +0 -62
  475. package/dist/esm/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.js +0 -222
  476. package/dist/esm/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.js.map +0 -1
  477. package/dist/esm/airdrop/contracts/ton/v1/wrappers/index.d.ts +0 -2
  478. package/dist/esm/airdrop/contracts/ton/v1/wrappers/index.js +0 -3
  479. package/dist/esm/airdrop/contracts/ton/v1/wrappers/index.js.map +0 -1
  480. package/dist/esm/airdrop/contracts/ton/v2/build/Leaf.compiled.json +0 -1
  481. package/dist/esm/airdrop/contracts/ton/v2/utils/constants.d.ts +0 -41
  482. package/dist/esm/airdrop/contracts/ton/v2/utils/constants.js +0 -45
  483. package/dist/esm/airdrop/contracts/ton/v2/utils/constants.js.map +0 -1
  484. package/dist/esm/airdrop/contracts/ton/v2/utils/date.utils.d.ts +0 -3
  485. package/dist/esm/airdrop/contracts/ton/v2/utils/date.utils.js +0 -10
  486. package/dist/esm/airdrop/contracts/ton/v2/utils/date.utils.js.map +0 -1
  487. package/dist/esm/airdrop/contracts/ton/v2/utils/index.d.ts +0 -3
  488. package/dist/esm/airdrop/contracts/ton/v2/utils/index.js +0 -4
  489. package/dist/esm/airdrop/contracts/ton/v2/utils/index.js.map +0 -1
  490. package/dist/esm/airdrop/contracts/ton/v2/utils/ton.utils.d.ts +0 -20
  491. package/dist/esm/airdrop/contracts/ton/v2/utils/ton.utils.js +0 -83
  492. package/dist/esm/airdrop/contracts/ton/v2/utils/ton.utils.js.map +0 -1
  493. package/dist/esm/airdrop/contracts/ton/v2/wrappers/Leaf.d.ts +0 -24
  494. package/dist/esm/airdrop/contracts/ton/v2/wrappers/Leaf.js +0 -55
  495. package/dist/esm/airdrop/contracts/ton/v2/wrappers/Leaf.js.map +0 -1
  496. package/dist/esm/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.d.ts +0 -65
  497. package/dist/esm/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.js +0 -239
  498. package/dist/esm/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.js.map +0 -1
  499. package/dist/esm/airdrop/contracts/ton/v2/wrappers/index.d.ts +0 -2
  500. package/dist/esm/airdrop/contracts/ton/v2/wrappers/index.js +0 -3
  501. package/dist/esm/airdrop/contracts/ton/v2/wrappers/index.js.map +0 -1
  502. package/dist/esm/airdrop/contracts/ton/v21/build/Leaf.compiled.json +0 -1
  503. package/dist/esm/airdrop/contracts/ton/v21/utils/constants.d.ts +0 -44
  504. package/dist/esm/airdrop/contracts/ton/v21/utils/constants.js +0 -48
  505. package/dist/esm/airdrop/contracts/ton/v21/utils/constants.js.map +0 -1
  506. package/dist/esm/airdrop/contracts/ton/v21/utils/date.utils.d.ts +0 -3
  507. package/dist/esm/airdrop/contracts/ton/v21/utils/date.utils.js +0 -10
  508. package/dist/esm/airdrop/contracts/ton/v21/utils/date.utils.js.map +0 -1
  509. package/dist/esm/airdrop/contracts/ton/v21/utils/index.d.ts +0 -3
  510. package/dist/esm/airdrop/contracts/ton/v21/utils/index.js +0 -4
  511. package/dist/esm/airdrop/contracts/ton/v21/utils/index.js.map +0 -1
  512. package/dist/esm/airdrop/contracts/ton/v21/utils/ton.utils.d.ts +0 -17
  513. package/dist/esm/airdrop/contracts/ton/v21/utils/ton.utils.js +0 -69
  514. package/dist/esm/airdrop/contracts/ton/v21/utils/ton.utils.js.map +0 -1
  515. package/dist/esm/airdrop/contracts/ton/v21/wrappers/Leaf.d.ts +0 -24
  516. package/dist/esm/airdrop/contracts/ton/v21/wrappers/Leaf.js +0 -55
  517. package/dist/esm/airdrop/contracts/ton/v21/wrappers/Leaf.js.map +0 -1
  518. package/dist/esm/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.d.ts +0 -66
  519. package/dist/esm/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.js +0 -249
  520. package/dist/esm/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.js.map +0 -1
  521. package/dist/esm/airdrop/contracts/ton/v21/wrappers/index.d.ts +0 -2
  522. package/dist/esm/airdrop/contracts/ton/v21/wrappers/index.js +0 -3
  523. package/dist/esm/airdrop/contracts/ton/v21/wrappers/index.js.map +0 -1
  524. package/dist/esm/airdrop/contracts/ton/v3/build/Leaf.compiled.json +0 -1
  525. package/dist/esm/airdrop/contracts/ton/v3/utils/constants.d.ts +0 -40
  526. package/dist/esm/airdrop/contracts/ton/v3/utils/constants.js +0 -44
  527. package/dist/esm/airdrop/contracts/ton/v3/utils/constants.js.map +0 -1
  528. package/dist/esm/airdrop/contracts/ton/v3/utils/date.utils.d.ts +0 -3
  529. package/dist/esm/airdrop/contracts/ton/v3/utils/date.utils.js +0 -10
  530. package/dist/esm/airdrop/contracts/ton/v3/utils/date.utils.js.map +0 -1
  531. package/dist/esm/airdrop/contracts/ton/v3/utils/index.d.ts +0 -3
  532. package/dist/esm/airdrop/contracts/ton/v3/utils/index.js +0 -4
  533. package/dist/esm/airdrop/contracts/ton/v3/utils/index.js.map +0 -1
  534. package/dist/esm/airdrop/contracts/ton/v3/utils/ton.utils.d.ts +0 -17
  535. package/dist/esm/airdrop/contracts/ton/v3/utils/ton.utils.js +0 -69
  536. package/dist/esm/airdrop/contracts/ton/v3/utils/ton.utils.js.map +0 -1
  537. package/dist/esm/airdrop/contracts/ton/v3/wrappers/Leaf.d.ts +0 -24
  538. package/dist/esm/airdrop/contracts/ton/v3/wrappers/Leaf.js +0 -55
  539. package/dist/esm/airdrop/contracts/ton/v3/wrappers/Leaf.js.map +0 -1
  540. package/dist/esm/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.d.ts +0 -63
  541. package/dist/esm/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.js +0 -219
  542. package/dist/esm/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.js.map +0 -1
  543. package/dist/esm/airdrop/contracts/ton/v3/wrappers/index.d.ts +0 -2
  544. package/dist/esm/airdrop/contracts/ton/v3/wrappers/index.js +0 -3
  545. package/dist/esm/airdrop/contracts/ton/v3/wrappers/index.js.map +0 -1
  546. package/dist/esm/airdrop/index.d.ts +0 -4
  547. package/dist/esm/airdrop/index.js +0 -5
  548. package/dist/esm/airdrop/index.js.map +0 -1
  549. package/dist/esm/airdrop/services/index.d.ts +0 -63
  550. package/dist/esm/airdrop/services/index.js +0 -84
  551. package/dist/esm/airdrop/services/index.js.map +0 -1
  552. package/dist/esm/airdrop/services/wallet-service/ton/WalletService.d.ts +0 -46
  553. package/dist/esm/airdrop/services/wallet-service/ton/WalletService.js +0 -169
  554. package/dist/esm/airdrop/services/wallet-service/ton/WalletService.js.map +0 -1
  555. package/dist/esm/airdrop/services/wallet-service/ton/index.d.ts +0 -1
  556. package/dist/esm/airdrop/services/wallet-service/ton/index.js +0 -2
  557. package/dist/esm/airdrop/services/wallet-service/ton/index.js.map +0 -1
  558. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.d.ts +0 -16
  559. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js +0 -20
  560. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js.map +0 -1
  561. package/dist/esm/airdrop/strategies/EvmAirdropStrategy.d.ts +0 -28
  562. package/dist/esm/airdrop/strategies/EvmAirdropStrategy.js +0 -78
  563. package/dist/esm/airdrop/strategies/EvmAirdropStrategy.js.map +0 -1
  564. package/dist/esm/airdrop/strategies/IAirdropStrategy.d.ts +0 -30
  565. package/dist/esm/airdrop/strategies/IAirdropStrategy.js +0 -2
  566. package/dist/esm/airdrop/strategies/IAirdropStrategy.js.map +0 -1
  567. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.d.ts +0 -28
  568. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.js +0 -66
  569. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.js.map +0 -1
  570. package/dist/esm/airdrop/strategies/StrategyCache.d.ts +0 -10
  571. package/dist/esm/airdrop/strategies/StrategyCache.js +0 -28
  572. package/dist/esm/airdrop/strategies/StrategyCache.js.map +0 -1
  573. package/dist/esm/airdrop/strategies/TonAirdropStrategy.d.ts +0 -27
  574. package/dist/esm/airdrop/strategies/TonAirdropStrategy.js +0 -64
  575. package/dist/esm/airdrop/strategies/TonAirdropStrategy.js.map +0 -1
  576. package/dist/esm/airdrop/types/index.d.ts +0 -180
  577. package/dist/esm/airdrop/types/index.js +0 -39
  578. package/dist/esm/airdrop/types/index.js.map +0 -1
  579. package/dist/esm/index.d.ts +0 -4
  580. package/dist/esm/index.js +0 -5
  581. package/dist/esm/index.js.map +0 -1
  582. package/dist/esm/utils/api-client.d.ts +0 -19
  583. package/dist/esm/utils/api-client.js +0 -43
  584. package/dist/esm/utils/api-client.js.map +0 -1
  585. package/dist/esm/utils/biz.d.ts +0 -15
  586. package/dist/esm/utils/biz.js +0 -36
  587. package/dist/esm/utils/biz.js.map +0 -1
  588. package/dist/esm/utils/index.d.ts +0 -5
  589. package/dist/esm/utils/index.js +0 -6
  590. package/dist/esm/utils/index.js.map +0 -1
  591. package/dist/esm/utils/math.d.ts +0 -1
  592. package/dist/esm/utils/math.js +0 -6
  593. package/dist/esm/utils/math.js.map +0 -1
  594. package/dist/esm/utils/utils.d.ts +0 -9
  595. package/dist/esm/utils/utils.js +0 -41
  596. package/dist/esm/utils/utils.js.map +0 -1
  597. package/dist/esm/utils/web3.d.ts +0 -29
  598. package/dist/esm/utils/web3.js +0 -121
  599. package/dist/esm/utils/web3.js.map +0 -1
  600. package/dist/esm/wallets/WalletBase.d.ts +0 -32
  601. package/dist/esm/wallets/WalletBase.js +0 -67
  602. package/dist/esm/wallets/WalletBase.js.map +0 -1
  603. package/dist/esm/wallets/WalletFactory.d.ts +0 -8
  604. package/dist/esm/wallets/WalletFactory.js +0 -34
  605. package/dist/esm/wallets/WalletFactory.js.map +0 -1
  606. package/dist/esm/wallets/index.d.ts +0 -2
  607. package/dist/esm/wallets/index.js +0 -3
  608. package/dist/esm/wallets/index.js.map +0 -1
  609. package/dist/esm/wallets/providers/evm/EvmWallet.d.ts +0 -26
  610. package/dist/esm/wallets/providers/evm/EvmWallet.js +0 -78
  611. package/dist/esm/wallets/providers/evm/EvmWallet.js.map +0 -1
  612. package/dist/esm/wallets/providers/evm/index.d.ts +0 -10
  613. package/dist/esm/wallets/providers/evm/index.js +0 -31
  614. package/dist/esm/wallets/providers/evm/index.js.map +0 -1
  615. package/dist/esm/wallets/providers/index.d.ts +0 -3
  616. package/dist/esm/wallets/providers/index.js +0 -5
  617. package/dist/esm/wallets/providers/index.js.map +0 -1
  618. package/dist/esm/wallets/providers/solana/index.d.ts +0 -31
  619. package/dist/esm/wallets/providers/solana/index.js +0 -102
  620. package/dist/esm/wallets/providers/solana/index.js.map +0 -1
  621. package/dist/esm/wallets/providers/ton/TonWallet.d.ts +0 -23
  622. package/dist/esm/wallets/providers/ton/TonWallet.js +0 -113
  623. package/dist/esm/wallets/providers/ton/TonWallet.js.map +0 -1
  624. package/dist/esm/wallets/providers/ton/index.d.ts +0 -9
  625. package/dist/esm/wallets/providers/ton/index.js +0 -24
  626. package/dist/esm/wallets/providers/ton/index.js.map +0 -1
  627. package/dist/esm/wallets/types.d.ts +0 -38
  628. package/dist/esm/wallets/types.js +0 -27
  629. package/dist/esm/wallets/types.js.map +0 -1
  630. package/dist/esm/wallets/utils/index.d.ts +0 -8
  631. package/dist/esm/wallets/utils/index.js +0 -35
  632. package/dist/esm/wallets/utils/index.js.map +0 -1
  633. package/jest.config.cjs +0 -5
  634. package/tsconfig.json +0 -29
@@ -0,0 +1,390 @@
1
+ import { WalletFactory } from '@sign-global/tokentable-wallets';
2
+ import {
3
+ bindWallet,
4
+ checkEligibility,
5
+ checkGetSignatures,
6
+ connectGoogleApi,
7
+ connectTwitter,
8
+ disconnectRecipient,
9
+ getAirdropProject,
10
+ cleanUrlParams,
11
+ isMobile,
12
+ getChainRpc,
13
+ CONST,
14
+ EvmSignatureAirdropService,
15
+ SolanaSignatureAirdropService,
16
+ AirdropSigIdentityTypeEnum,
17
+ ChainId,
18
+ ErrorCode,
19
+ IAirdropOptions,
20
+ IAirdropSignatureClaim,
21
+ IAirdropSignatureIdentity,
22
+ IClaimSignature,
23
+ IProject,
24
+ IWalletClient,
25
+ SolanaWalletState,
26
+ ViemWalletClient,
27
+ ChainType
28
+ } from '@sign-global/tokentable-core';
29
+
30
+ export class SignatureAirdropClient {
31
+ private projectId?: string;
32
+ private endpoint?: string;
33
+ private project: IProject | undefined;
34
+ private chainRpc?: string;
35
+ protected claims?: IAirdropSignatureClaim[];
36
+ protected identities?: IAirdropSignatureIdentity[];
37
+ private projectPromise: Promise<void> | undefined;
38
+ private authPromise: Promise<void> | undefined;
39
+ private strategyCache: Map<string, EvmSignatureAirdropService | SolanaSignatureAirdropService> = new Map();
40
+ constructor(params: IAirdropOptions) {
41
+ this.projectId = params.projectId;
42
+ this.endpoint = params.endpoint;
43
+ this.chainRpc = params.chainRpc;
44
+ if (this.project) {
45
+ this.project = params.project;
46
+ } else {
47
+ this.projectPromise = this.initializeProjects();
48
+ }
49
+ if (isMobile()) {
50
+ this.authPromise = this.checkAndHandleTwitterCode();
51
+ }
52
+ }
53
+
54
+ private readonly LOCAL_STORAGE_SID_PREFIX = 'sid_';
55
+
56
+ private async checkAndHandleTwitterCode() {
57
+ try {
58
+ const urlParams = new URLSearchParams(window.location.search);
59
+ const code = urlParams.get('code');
60
+ const type = urlParams.get('type');
61
+
62
+ if (code && this.projectId) {
63
+ let res;
64
+ if (type === 'twitter') {
65
+ res = await connectTwitter({ code, projectId: this.projectId }, this.endpoint);
66
+ } else if (type === 'google') {
67
+ res = await connectGoogleApi({ code, projectId: this.projectId }, this.endpoint);
68
+ }
69
+ if (res?.sid) {
70
+ this.setSid(this.projectId!, res.sid);
71
+ } else {
72
+ throw new Error('Failed to connect');
73
+ }
74
+ cleanUrlParams(['code', 'type']);
75
+ }
76
+ } catch (error) {
77
+ console.error(error);
78
+ }
79
+ }
80
+
81
+ private setSid(projectId: string, sid: string): void {
82
+ window.localStorage.setItem(`${this.LOCAL_STORAGE_SID_PREFIX}${projectId}`, sid);
83
+ }
84
+
85
+ private async fetchProjectDetails(projectId: string): Promise<void> {
86
+ const project = await getAirdropProject(projectId, this.endpoint);
87
+ this.project = project;
88
+ if (this.chainRpc) return;
89
+ const chainId = project.chainType === ChainType.Evm ? Number(project.chainId) : project.chainId;
90
+ this.chainRpc = getChainRpc(chainId as ChainId);
91
+ }
92
+
93
+ protected async initializeProjects() {
94
+ try {
95
+ let projectId = this.projectId;
96
+ if (!projectId) {
97
+ return;
98
+ }
99
+ await this.fetchProjectDetails(projectId);
100
+ } catch (error: any) {
101
+ throw new Error(`Failed to initialize project: ${error.message}`);
102
+ }
103
+ }
104
+
105
+ async getProjectInfo() {
106
+ if (this.projectPromise) {
107
+ await this.projectPromise;
108
+ }
109
+ if (!this.project) throw new Error('Project not found');
110
+ return this.project;
111
+ }
112
+
113
+ async connectOAuth({
114
+ onSuccess,
115
+ onError,
116
+ type
117
+ }: {
118
+ onSuccess: () => void;
119
+ onError: (error: Error) => void;
120
+ type: AirdropSigIdentityTypeEnum;
121
+ }) {
122
+ const project = await this.getProjectInfo();
123
+ const authorizeUrl = project.identities.find((item: any) => item.identityType === type)?.authorizeUrl;
124
+ if (!authorizeUrl) {
125
+ onError(new Error('Authorize URL not found'));
126
+ return;
127
+ }
128
+ if (isMobile()) {
129
+ const state = encodeURIComponent(window.location.href);
130
+ window.location.href = `${authorizeUrl}&state=${state}`;
131
+ return;
132
+ }
133
+ const onWindowMessage = async (message: any) => {
134
+ const name = message.data?.name;
135
+ if (name && [CONST.TWITTER_AUTH_SUCCESS, CONST.GOOGLE_AUTH_SUCCESS].includes(name)) {
136
+ const { code } = message.data.data || {};
137
+ try {
138
+ let res;
139
+ if (name === CONST.GOOGLE_AUTH_SUCCESS) {
140
+ res = await connectGoogleApi({ code, projectId: project.id }, this.endpoint);
141
+ } else if (name === CONST.TWITTER_AUTH_SUCCESS) {
142
+ res = await connectTwitter({ code, projectId: project.id }, this.endpoint);
143
+ }
144
+ if (res?.sid) {
145
+ this.setSid(project.id, res?.sid);
146
+ onSuccess();
147
+ } else {
148
+ onError(new Error('Failed to connect'));
149
+ }
150
+ } catch (error) {
151
+ onError(error as Error);
152
+ } finally {
153
+ window.removeEventListener('message', onWindowMessage);
154
+ }
155
+ }
156
+ };
157
+
158
+ window.addEventListener('message', onWindowMessage);
159
+ window.open(`${authorizeUrl}&state=state`, `twitter_auth_${project.id}`, 'width=600,height=800');
160
+ }
161
+
162
+ async connectX({ onSuccess, onError }: { onSuccess: () => void; onError: (error: Error) => void }) {
163
+ await this.connectOAuth({
164
+ onSuccess,
165
+ onError,
166
+ type: AirdropSigIdentityTypeEnum.Twitter
167
+ });
168
+ }
169
+
170
+ async connectGoogle({ onSuccess, onError }: { onSuccess: () => void; onError: (error: Error) => void }) {
171
+ await this.connectOAuth({
172
+ onSuccess,
173
+ onError,
174
+ type: AirdropSigIdentityTypeEnum.Google
175
+ });
176
+ }
177
+
178
+ async connectWallet({
179
+ chainType,
180
+ onSuccess,
181
+ onError
182
+ }: {
183
+ chainType: ChainType;
184
+ onSuccess?: (address: string) => void;
185
+ onError?: (error: any) => void;
186
+ }) {
187
+ try {
188
+ const project = await this.getProjectInfo();
189
+ const wallet = WalletFactory.getWallet(chainType);
190
+ const timestamp = Date.now();
191
+ const recipientTypeMap = {
192
+ [ChainType.Evm]: AirdropSigIdentityTypeEnum.EVMWallet,
193
+ [ChainType.Solana]: AirdropSigIdentityTypeEnum.SolanaWallet,
194
+ [ChainType.Ton]: AirdropSigIdentityTypeEnum.TONWallet
195
+ };
196
+ const msg = [project.id, recipientTypeMap[chainType], timestamp].join(',');
197
+ const signResult = await wallet.signin(msg, false);
198
+ await wallet.disconnect();
199
+ const { message, signature } = signResult || {};
200
+
201
+ if (this.identities?.find((it) => it.value?.toLowerCase() === wallet.address?.toLowerCase())) {
202
+ onError?.(ErrorCode.WALLET_ALREADY_CONNECTED);
203
+ return;
204
+ }
205
+
206
+ const payload = {
207
+ signature: signature as string,
208
+ message: message as string,
209
+ key: wallet.publicKey || wallet.address!,
210
+ address: wallet.address!,
211
+ projectId: project.id,
212
+ timestamp: timestamp,
213
+ recipientType: recipientTypeMap[chainType]
214
+ };
215
+
216
+ const res = await bindWallet(payload, this.endpoint);
217
+ if (res?.sid) {
218
+ this.setSid(project.id, res?.sid);
219
+ }
220
+ onSuccess?.(wallet.address!);
221
+ } catch (error) {
222
+ onError?.(error);
223
+ }
224
+ }
225
+
226
+ async getClaims() {
227
+ const project = await this.getProjectInfo();
228
+ if (this.authPromise) {
229
+ await this.authPromise;
230
+ }
231
+ const res = await checkEligibility(
232
+ {
233
+ projectId: project.id
234
+ },
235
+ this.endpoint
236
+ );
237
+ this.claims = res.claims;
238
+ this.identities = res.identities;
239
+ return res;
240
+ }
241
+
242
+ public async disconnectIdentity({
243
+ recipientType,
244
+ recipient
245
+ }: {
246
+ recipientType: AirdropSigIdentityTypeEnum;
247
+ recipient?: string;
248
+ }) {
249
+ const project = await this.getProjectInfo();
250
+ return await disconnectRecipient(
251
+ {
252
+ projectId: project.id,
253
+ recipientType,
254
+ recipient
255
+ },
256
+ this.endpoint
257
+ );
258
+ }
259
+
260
+ public async getStrategy(
261
+ walletClient?: IWalletClient
262
+ ): Promise<EvmSignatureAirdropService | SolanaSignatureAirdropService> {
263
+ const project = await this.getProjectInfo();
264
+
265
+ const cacheKey = walletClient
266
+ ? project.chainType === ChainType.Evm
267
+ ? (walletClient as ViemWalletClient).account?.address!
268
+ : project.chainType === ChainType.Solana
269
+ ? (walletClient as SolanaWalletState).publicKey!.toString()
270
+ : 'walletClient'
271
+ : 'default';
272
+ if (this.strategyCache.has(cacheKey)) {
273
+ return this.strategyCache.get(cacheKey)!;
274
+ }
275
+
276
+ const strategy =
277
+ project.chainType === ChainType.Solana
278
+ ? new SolanaSignatureAirdropService({
279
+ chainId: project.chainId,
280
+ projectId: project.id,
281
+ token: project.tokenAddress,
282
+ walletClient: walletClient as any,
283
+ chainRpc: this.chainRpc!
284
+ })
285
+ : new EvmSignatureAirdropService({
286
+ chainId: Number(project.chainId) as ChainId,
287
+ contractAddress: project.contractAddress,
288
+ walletClient: walletClient as any,
289
+ chainRpc: this.chainRpc!
290
+ });
291
+ this.strategyCache.set(cacheKey, strategy);
292
+ return strategy;
293
+ }
294
+
295
+ async getVersion(): Promise<string> {
296
+ const strategy = await this.getStrategy();
297
+ return strategy.getVersion();
298
+ }
299
+
300
+ // solana prams need to wallet
301
+ async getClaimFee(amount?: bigint, walletClient?: IWalletClient): Promise<undefined | bigint> {
302
+ const strategy = await this.getStrategy(walletClient);
303
+ if (!strategy.getClaimFee) {
304
+ throw new Error('getClaimFee is not supported for this chain');
305
+ }
306
+ return await strategy.getClaimFee(this.project?.contractAddress || '', amount || BigInt(1));
307
+ }
308
+
309
+ async claimAirdrop({
310
+ claimIds,
311
+ walletClient,
312
+ recipient
313
+ }: {
314
+ claimIds: string[];
315
+ walletClient: IWalletClient;
316
+ recipient: string;
317
+ }) {
318
+ if (!claimIds.length) {
319
+ throw new Error('Claim IDs cannot be empty');
320
+ }
321
+ if (!walletClient) {
322
+ throw new Error('Wallet client is required');
323
+ }
324
+ if (!this.claims?.length) {
325
+ throw new Error('No claims available');
326
+ }
327
+ const service = await this.getStrategy(walletClient);
328
+ const project = await this.getProjectInfo();
329
+ const res = await checkGetSignatures(
330
+ {
331
+ claimIds,
332
+ projectId: this.projectId!,
333
+ recipient
334
+ },
335
+ this.endpoint
336
+ );
337
+ if (!res?.signatures?.length) {
338
+ throw new Error('Failed to get signatures');
339
+ }
340
+ const signatureMap = res?.signatures?.reduce(
341
+ (map, item) => {
342
+ map[item.claimId] = item;
343
+ return map;
344
+ },
345
+ {} as Record<string, IClaimSignature>
346
+ );
347
+ const filteredClaims = this.claims.filter((it) => claimIds.includes(it.claimId));
348
+ if (!filteredClaims.length) {
349
+ throw new Error('No matching claims found');
350
+ }
351
+
352
+ // only evm use
353
+ const defaultRecipient =
354
+ project.chainType === ChainType.Evm ? (walletClient as ViemWalletClient).account?.address! : '';
355
+
356
+ const claimData = filteredClaims.map((it) => {
357
+ const signature = signatureMap[it.claimId];
358
+ if (!signature) {
359
+ throw new Error(`Signature not found for claim ID: ${it.claimId}`);
360
+ }
361
+
362
+ return {
363
+ ...it,
364
+ recipient: recipient ? recipient : defaultRecipient,
365
+ ...signature
366
+ };
367
+ });
368
+
369
+ const hash = (await service!.claim(claimData, recipient)) as `0x${string}`;
370
+ return hash;
371
+ }
372
+
373
+ async batchCheckClaimed(): Promise<boolean[]> {
374
+ if (!this.claims?.length) return [];
375
+ const strategy = await this.getStrategy();
376
+ if (!strategy.batchFetchClaimed) {
377
+ throw new Error('batchCheckClaimed is not supported for this chain');
378
+ }
379
+ const claimIds = this.claims?.map((it) => it.claimId);
380
+ return strategy.batchFetchClaimed(claimIds);
381
+ }
382
+
383
+ async getPaused(): Promise<boolean> {
384
+ const strategy = await this.getStrategy();
385
+ if (!strategy.getPaused) {
386
+ throw new Error('getPaused is not supported for this chain');
387
+ }
388
+ return strategy.getPaused();
389
+ }
390
+ }
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ export { AirdropClient } from './AirdropClient';
2
+ export { SignatureAirdropClient } from './SignatureAirdropClient';
3
+ export * from '@sign-global/tokentable-core';
4
+ export * from '@sign-global/tokentable-wallets';
@@ -0,0 +1,34 @@
1
+ import { ChainType, IWalletClient } from '@sign-global/tokentable-core';
2
+ import { EvmAirdropStrategy } from './EvmAirdropStrategy';
3
+ import { IAirdropStrategy, IAirdropStrategyConstructor } from './IAirdropStrategy';
4
+ import { SolanaAirdropStrategy } from './SolanaAirdropStrategy';
5
+ import { TonAirdropStrategy } from './TonAirdropStrategy';
6
+ import { TonClient } from '@ton/ton';
7
+
8
+ export class AirdropStrategyFactory {
9
+ private static strategyMap: Record<ChainType, IAirdropStrategyConstructor | null> = {
10
+ [ChainType.Evm]: EvmAirdropStrategy,
11
+ [ChainType.Ton]: TonAirdropStrategy,
12
+ [ChainType.Solana]: SolanaAirdropStrategy
13
+ };
14
+
15
+ static createStrategy(params: {
16
+ chainType: ChainType;
17
+ contractAddress: string;
18
+ chainId: string | number;
19
+ walletClient?: IWalletClient;
20
+ tonClient?: TonClient;
21
+ version?: string;
22
+ projectId: string;
23
+ chainRpc: string;
24
+ }): IAirdropStrategy {
25
+ const { chainType, ...strategyParams } = params;
26
+ const StrategyClass = this.strategyMap[chainType];
27
+
28
+ if (!StrategyClass) {
29
+ throw new Error(`Unsupported chain type: ${chainType}`);
30
+ }
31
+
32
+ return new StrategyClass(strategyParams);
33
+ }
34
+ }
@@ -0,0 +1,88 @@
1
+ import { EvmAirdropService, ChainId, IWalletClient } from '@sign-global/tokentable-core';
2
+ import { IAirdropStrategy } from './IAirdropStrategy';
3
+ import { WalletClient as ViemWalletClient } from 'viem';
4
+
5
+ export class EvmAirdropStrategy implements IAirdropStrategy {
6
+ private service: EvmAirdropService | undefined;
7
+ private readonly contractAddress: string;
8
+ private readonly chainId: ChainId;
9
+ private readonly chainRpc: string;
10
+ private walletClient?: ViemWalletClient;
11
+ private cachedVersion: string | null = null;
12
+
13
+ constructor(params: {
14
+ contractAddress: string;
15
+ chainId: string | number;
16
+ walletClient?: IWalletClient;
17
+ chainRpc: string;
18
+ }) {
19
+ this.contractAddress = params.contractAddress;
20
+ this.chainId = Number(params.chainId) as ChainId;
21
+ this.chainRpc = params.chainRpc;
22
+ if (params.walletClient) {
23
+ this.walletClient = params.walletClient as ViemWalletClient;
24
+ }
25
+ }
26
+
27
+ async initialize(walletClient?: IWalletClient): Promise<void> {
28
+ if (walletClient) {
29
+ this.walletClient = walletClient as ViemWalletClient;
30
+ }
31
+ this.service = new EvmAirdropService({
32
+ contractAddress: this.contractAddress,
33
+ chainId: this.chainId,
34
+ walletClient: this.walletClient,
35
+ chainRpc: this.chainRpc
36
+ });
37
+ }
38
+
39
+ isInitialized(): boolean {
40
+ return !!this.service;
41
+ }
42
+
43
+ async getVersion(): Promise<string> {
44
+ if (this.cachedVersion) {
45
+ return this.cachedVersion;
46
+ }
47
+ if (!this.service) throw new Error('Strategy not initialized');
48
+ this.cachedVersion = await this.service.getVersion();
49
+ return this.cachedVersion;
50
+ }
51
+
52
+ async claim(claimData: any): Promise<any> {
53
+ if (!this.service) throw new Error('Strategy not initialized');
54
+ const { proof, group, data, value, extraData } = claimData;
55
+ return this.service.claim({
56
+ proof,
57
+ group,
58
+ data,
59
+ value,
60
+ extraData
61
+ });
62
+ }
63
+
64
+ async checkClaimed(claimData: any): Promise<boolean> {
65
+ if (!this.service) throw new Error('Strategy not initialized');
66
+ return this.service.isLeafUsed(claimData.leaf);
67
+ }
68
+
69
+ async batchCheckClaimed(leafs: string[]): Promise<{ result: boolean; status: string }[]> {
70
+ if (!this.service) throw new Error('Strategy not initialized');
71
+ return this.service.batchFetchClaimed(leafs);
72
+ }
73
+
74
+ async getNFT(): Promise<string> {
75
+ if (!this.service) throw new Error('Strategy not initialized');
76
+ return this.service.getNFT() as unknown as string;
77
+ }
78
+
79
+ async getKycThreshold(): Promise<bigint> {
80
+ if (!this.service) throw new Error('Strategy not initialized');
81
+ return this.service.getKycThreshold();
82
+ }
83
+
84
+ async getClaimFee(contractAddress: string, amount: bigint): Promise<bigint> {
85
+ if (!this.service) throw new Error('Strategy not initialized');
86
+ return this.service.getClaimFee(contractAddress, amount) as unknown as bigint;
87
+ }
88
+ }
@@ -0,0 +1,28 @@
1
+ import { IWalletClient } from '@sign-global/tokentable-core';
2
+ import { TonClient } from '@ton/ton';
3
+
4
+ export interface IAirdropStrategy {
5
+ getVersion(): Promise<string>;
6
+ claim(claimData: any, options?: { onLoading?: () => void }): Promise<any>;
7
+ checkClaimed(claimData: any): Promise<boolean>;
8
+ isInitialized(): boolean;
9
+ initialize(walletClient?: IWalletClient): Promise<void>;
10
+ getPaused?(): Promise<boolean>;
11
+ // EVM specific methods
12
+ batchCheckClaimed?(leafs: string[]): Promise<Array<{ result: boolean; status: string }>>;
13
+ getNFT?(): Promise<string>;
14
+ getKycThreshold?(): Promise<bigint>;
15
+ getClaimFee?(contractAddress: string, amount: bigint): Promise<string | bigint>;
16
+ }
17
+
18
+ export interface IAirdropStrategyConstructor {
19
+ new (params: {
20
+ contractAddress: string;
21
+ chainId: string | number;
22
+ walletClient?: IWalletClient;
23
+ tonClient?: TonClient;
24
+ version?: string;
25
+ projectId: string;
26
+ chainRpc: string;
27
+ }): IAirdropStrategy;
28
+ }
@@ -0,0 +1,76 @@
1
+ import { SolanaAirdropService, ChainId, IWalletClient, SolanaWalletState } from '@sign-global/tokentable-core';
2
+ import { IAirdropStrategy } from './IAirdropStrategy';
3
+
4
+ export class SolanaAirdropStrategy implements IAirdropStrategy {
5
+ private service: SolanaAirdropService | undefined;
6
+ private readonly chainId: ChainId;
7
+ private readonly chainRpc: string;
8
+ private walletClient?: SolanaWalletState;
9
+ private cachedVersion: string | null = null;
10
+ private projectId: string;
11
+
12
+ constructor(params: {
13
+ contractAddress: string;
14
+ chainId: string | number;
15
+ walletClient?: IWalletClient;
16
+ projectId: string;
17
+ chainRpc: string;
18
+ }) {
19
+ this.chainId = params.chainId as ChainId;
20
+ this.projectId = params.projectId;
21
+ this.chainRpc = params.chainRpc;
22
+ if (params.walletClient) {
23
+ this.walletClient = params.walletClient as SolanaWalletState;
24
+ }
25
+ }
26
+
27
+ async initialize(walletClient?: IWalletClient): Promise<void> {
28
+ if (walletClient) {
29
+ this.walletClient = walletClient as SolanaWalletState;
30
+ }
31
+ this.service = new SolanaAirdropService({
32
+ projectId: this.projectId,
33
+ chainId: this.chainId as string,
34
+ walletClient: this.walletClient as any,
35
+ chainRpc: this.chainRpc
36
+ });
37
+ }
38
+
39
+ isInitialized(): boolean {
40
+ return !!this.service;
41
+ }
42
+
43
+ async getVersion(): Promise<string> {
44
+ if (this.cachedVersion) {
45
+ return this.cachedVersion;
46
+ }
47
+ if (!this.service) throw new Error('Strategy not initialized');
48
+ this.cachedVersion = await this.service.getVersion();
49
+ return this.cachedVersion;
50
+ }
51
+
52
+ async claim(claimData: any): Promise<any> {
53
+ if (!this.service) throw new Error('Strategy not initialized');
54
+ return this.service.claim(claimData);
55
+ }
56
+
57
+ async checkClaimed(claimData: any): Promise<boolean> {
58
+ if (!this.service) throw new Error('Strategy not initialized');
59
+ return this.service.isLeafUsed(claimData.leaf);
60
+ }
61
+
62
+ async batchCheckClaimed(leafs: string[]): Promise<{ result: boolean; status: string }[]> {
63
+ if (!this.service) throw new Error('Strategy not initialized');
64
+ return this.service.batchFetchClaimed(leafs);
65
+ }
66
+
67
+ async getClaimFee(contractAddress: string, amount: bigint): Promise<bigint> {
68
+ if (!this.service) throw new Error('Strategy not initialized');
69
+ return this.service.getClaimFee(contractAddress, amount) as unknown as bigint;
70
+ }
71
+
72
+ async getPaused(): Promise<boolean> {
73
+ if (!this.service) throw new Error('Strategy not initialized');
74
+ return this.service.getPaused();
75
+ }
76
+ }
@@ -0,0 +1,34 @@
1
+ import { IAirdropStrategy } from './IAirdropStrategy';
2
+
3
+ export class StrategyCache {
4
+ private readOnlyStrategies: Map<string, IAirdropStrategy> = new Map();
5
+ private walletStrategies: Map<string, IAirdropStrategy> = new Map();
6
+
7
+ private getCacheKey(contractAddress: string, chainId: string | number, chainType: string): string {
8
+ return `${chainType}:${contractAddress}:${chainId}`;
9
+ }
10
+
11
+ getStrategy(contractAddress: string, chainId: string | number, chainType: string, hasWallet: boolean = false): IAirdropStrategy | undefined {
12
+ const cache = hasWallet ? this.walletStrategies : this.readOnlyStrategies;
13
+ const cacheKey = this.getCacheKey(contractAddress, chainId, chainType);
14
+ return cache.get(cacheKey);
15
+ }
16
+
17
+ setStrategy(contractAddress: string, chainId: string | number, chainType: string, strategy: IAirdropStrategy, hasWallet: boolean = false): void {
18
+ const cache = hasWallet ? this.walletStrategies : this.readOnlyStrategies;
19
+ const cacheKey = this.getCacheKey(contractAddress, chainId, chainType);
20
+ cache.set(cacheKey, strategy);
21
+ }
22
+
23
+ clearStrategy(contractAddress: string, chainId: string | number, chainType: string, hasWallet?: boolean): void {
24
+ const cacheKey = this.getCacheKey(contractAddress, chainId, chainType);
25
+ if (hasWallet === undefined || hasWallet) {
26
+ this.walletStrategies.delete(cacheKey);
27
+ }
28
+ if (hasWallet === undefined || !hasWallet) {
29
+ this.readOnlyStrategies.delete(cacheKey);
30
+ }
31
+ }
32
+ }
33
+
34
+ export const strategyCache = new StrategyCache();