@sign-global/tokentable 0.4.3-beta.0 → 0.4.3-beta.2

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 (227) hide show
  1. package/dist/cjs/airdrop/AirdropClient.d.ts +1 -1
  2. package/dist/cjs/airdrop/AirdropClient.js +4 -3
  3. package/dist/cjs/airdrop/AirdropClient.js.map +1 -1
  4. package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +10 -1
  5. package/dist/cjs/airdrop/SignatureAirdropClient.js +48 -11
  6. package/dist/cjs/airdrop/SignatureAirdropClient.js.map +1 -1
  7. package/dist/cjs/airdrop/common/index.d.ts +1 -1
  8. package/dist/cjs/airdrop/constants/chain-config.d.ts +1 -1
  9. package/dist/cjs/airdrop/constants/chain-config.js +1 -1
  10. package/dist/cjs/airdrop/constants/chain-config.js.map +1 -1
  11. package/dist/cjs/airdrop/constants/index.d.ts +1 -0
  12. package/dist/cjs/airdrop/constants/index.js +1 -0
  13. package/dist/cjs/airdrop/constants/index.js.map +1 -1
  14. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureClient.js +0 -1
  15. package/dist/cjs/airdrop/contracts/evm/contracts/AirdropSignatureClient.js.map +1 -1
  16. package/dist/cjs/airdrop/contracts/index.d.ts +1 -0
  17. package/dist/cjs/airdrop/contracts/index.js +3 -1
  18. package/dist/cjs/airdrop/contracts/index.js.map +1 -1
  19. package/dist/cjs/airdrop/contracts/solana/AirdropService.d.ts +16 -0
  20. package/dist/cjs/airdrop/contracts/solana/AirdropService.js +38 -0
  21. package/dist/cjs/airdrop/contracts/solana/AirdropService.js.map +1 -0
  22. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.d.ts +3 -2
  23. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js +12 -11
  24. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
  25. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.d.ts +3 -2
  26. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js +7 -3
  27. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
  28. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.d.ts +49 -0
  29. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.js +242 -0
  30. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.js.map +1 -0
  31. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.d.ts +1 -0
  32. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.js.map +1 -1
  33. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.d.ts +1 -0
  34. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js +3 -0
  35. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
  36. package/dist/cjs/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.d.ts +1668 -0
  37. package/dist/cjs/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js +3 -0
  38. package/dist/cjs/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js.map +1 -0
  39. package/dist/cjs/airdrop/contracts/solana/{fungible_token_distributor_solana.json → eddsa_token_with_fees_distributor_solana.json} +127 -38
  40. package/dist/cjs/airdrop/contracts/solana/fee_collector.d.ts +198 -1
  41. package/dist/cjs/airdrop/contracts/solana/fee_collector.json +200 -3
  42. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.d.ts +1695 -0
  43. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.js +3 -0
  44. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.js.map +1 -0
  45. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.json +1689 -0
  46. package/dist/cjs/airdrop/services/index.d.ts +3 -2
  47. package/dist/cjs/airdrop/services/index.js +8 -1
  48. package/dist/cjs/airdrop/services/index.js.map +1 -1
  49. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.d.ts +1 -0
  50. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js +2 -1
  51. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js.map +1 -1
  52. package/dist/cjs/airdrop/strategies/IAirdropStrategy.d.ts +1 -0
  53. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.d.ts +25 -0
  54. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.js +62 -0
  55. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.js.map +1 -0
  56. package/dist/cjs/airdrop/types/index.d.ts +8 -1
  57. package/dist/cjs/airdrop/types/index.js +1 -0
  58. package/dist/cjs/airdrop/types/index.js.map +1 -1
  59. package/dist/esm/airdrop/AirdropClient.d.ts +1 -1
  60. package/dist/esm/airdrop/AirdropClient.js +4 -3
  61. package/dist/esm/airdrop/AirdropClient.js.map +1 -1
  62. package/dist/esm/airdrop/SignatureAirdropClient.d.ts +10 -1
  63. package/dist/esm/airdrop/SignatureAirdropClient.js +49 -12
  64. package/dist/esm/airdrop/SignatureAirdropClient.js.map +1 -1
  65. package/dist/esm/airdrop/common/index.d.ts +1 -1
  66. package/dist/esm/airdrop/constants/chain-config.d.ts +1 -1
  67. package/dist/esm/airdrop/constants/chain-config.js +1 -1
  68. package/dist/esm/airdrop/constants/chain-config.js.map +1 -1
  69. package/dist/esm/airdrop/constants/index.d.ts +1 -0
  70. package/dist/esm/airdrop/constants/index.js +1 -0
  71. package/dist/esm/airdrop/constants/index.js.map +1 -1
  72. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureClient.js +0 -1
  73. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureClient.js.map +1 -1
  74. package/dist/esm/airdrop/contracts/index.d.ts +1 -0
  75. package/dist/esm/airdrop/contracts/index.js +1 -0
  76. package/dist/esm/airdrop/contracts/index.js.map +1 -1
  77. package/dist/esm/airdrop/contracts/solana/AirdropService.d.ts +16 -0
  78. package/dist/esm/airdrop/contracts/solana/AirdropService.js +34 -0
  79. package/dist/esm/airdrop/contracts/solana/AirdropService.js.map +1 -0
  80. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.d.ts +3 -2
  81. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js +11 -10
  82. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
  83. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.d.ts +3 -2
  84. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js +7 -3
  85. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
  86. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.d.ts +49 -0
  87. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.js +212 -0
  88. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.js.map +1 -0
  89. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.d.ts +1 -0
  90. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.js.map +1 -1
  91. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.d.ts +1 -0
  92. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js +3 -0
  93. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
  94. package/dist/esm/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.d.ts +1668 -0
  95. package/dist/esm/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js +2 -0
  96. package/dist/esm/airdrop/contracts/solana/eddsa_token_with_fees_distributor_solana.js.map +1 -0
  97. package/dist/esm/airdrop/contracts/solana/{fungible_token_distributor_solana.json → eddsa_token_with_fees_distributor_solana.json} +127 -38
  98. package/dist/esm/airdrop/contracts/solana/fee_collector.d.ts +198 -1
  99. package/dist/esm/airdrop/contracts/solana/fee_collector.json +200 -3
  100. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.d.ts +1695 -0
  101. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.js +2 -0
  102. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.js.map +1 -0
  103. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.json +1689 -0
  104. package/dist/esm/airdrop/services/index.d.ts +3 -2
  105. package/dist/esm/airdrop/services/index.js +6 -0
  106. package/dist/esm/airdrop/services/index.js.map +1 -1
  107. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.d.ts +1 -0
  108. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js +2 -1
  109. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js.map +1 -1
  110. package/dist/esm/airdrop/strategies/IAirdropStrategy.d.ts +1 -0
  111. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.d.ts +25 -0
  112. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.js +58 -0
  113. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.js.map +1 -0
  114. package/dist/esm/airdrop/types/index.d.ts +8 -1
  115. package/dist/esm/airdrop/types/index.js +1 -0
  116. package/dist/esm/airdrop/types/index.js.map +1 -1
  117. package/package.json +2 -9
  118. package/src/airdrop/AirdropClient.ts +0 -307
  119. package/src/airdrop/SignatureAirdropClient.ts +0 -337
  120. package/src/airdrop/common/index.ts +0 -54
  121. package/src/airdrop/common/projectDataForTon.ts +0 -79
  122. package/src/airdrop/constants/chain-config.ts +0 -107
  123. package/src/airdrop/constants/index.ts +0 -8
  124. package/src/airdrop/constants/network.ts +0 -78
  125. package/src/airdrop/contracts/evm/AirdropService.ts +0 -181
  126. package/src/airdrop/contracts/evm/SignatureAirdropService.ts +0 -114
  127. package/src/airdrop/contracts/evm/contracts/AirdropSignatureClient.ts +0 -63
  128. package/src/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.ts +0 -61
  129. package/src/airdrop/contracts/evm/contracts/AirdropV2Client.ts +0 -37
  130. package/src/airdrop/contracts/evm/contracts/AirdropV3Client.ts +0 -49
  131. package/src/airdrop/contracts/evm/contracts/AirdropV3FeeClient.ts +0 -16
  132. package/src/airdrop/contracts/evm/contracts/AirdropV4Client.ts +0 -36
  133. package/src/airdrop/contracts/evm/contracts/ContractBaseClient.ts +0 -85
  134. package/src/airdrop/contracts/evm/contracts/DeployClient.ts +0 -35
  135. package/src/airdrop/contracts/evm/contracts/FeeCollectorClient.ts +0 -21
  136. package/src/airdrop/contracts/evm/contracts/KycClient.ts +0 -21
  137. package/src/airdrop/contracts/evm/contracts/abis/Airdrop.json +0 -674
  138. package/src/airdrop/contracts/evm/contracts/abis/AirdropV2.json +0 -676
  139. package/src/airdrop/contracts/evm/contracts/abis/AirdropV3.json +0 -740
  140. package/src/airdrop/contracts/evm/contracts/abis/AirdropV3_Fee.json +0 -678
  141. package/src/airdrop/contracts/evm/contracts/abis/CustomFeeNativeAirdropV4.json +0 -701
  142. package/src/airdrop/contracts/evm/contracts/abis/Deployer.json +0 -271
  143. package/src/airdrop/contracts/evm/contracts/abis/ERC721.json +0 -737
  144. package/src/airdrop/contracts/evm/contracts/abis/FeeCollector.json +0 -322
  145. package/src/airdrop/contracts/evm/contracts/abis/FungibleTokenECDSADistributor.json +0 -564
  146. package/src/airdrop/contracts/evm/contracts/abis/FungibleTokenWithFeesECDSADistributor.json +0 -260
  147. package/src/airdrop/contracts/evm/contracts/abis/KycHook.json +0 -312
  148. package/src/airdrop/contracts/index.ts +0 -4
  149. package/src/airdrop/contracts/solana/AirdropSignatureClient.ts +0 -242
  150. package/src/airdrop/contracts/solana/FeeCollectorClient.ts +0 -43
  151. package/src/airdrop/contracts/solana/SignatureAirdropService.ts +0 -51
  152. package/src/airdrop/contracts/solana/SolanaContractClient.ts +0 -126
  153. package/src/airdrop/contracts/solana/fee_collector.json +0 -1063
  154. package/src/airdrop/contracts/solana/fee_collector.ts +0 -1069
  155. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.json +0 -1573
  156. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.ts +0 -1579
  157. package/src/airdrop/contracts/ton/AirdropClientV1.ts +0 -122
  158. package/src/airdrop/contracts/ton/AirdropClientV2.ts +0 -118
  159. package/src/airdrop/contracts/ton/AirdropClientV21.ts +0 -131
  160. package/src/airdrop/contracts/ton/AirdropClientV3.ts +0 -127
  161. package/src/airdrop/contracts/ton/AirdropService.ts +0 -150
  162. package/src/airdrop/contracts/ton/TonContractBaseClient.ts +0 -236
  163. package/src/airdrop/contracts/ton/v1/build/Leaf.compiled.json +0 -1
  164. package/src/airdrop/contracts/ton/v1/build/MerkleTokenDistributor.compiled.json +0 -1
  165. package/src/airdrop/contracts/ton/v1/utils/constants.ts +0 -42
  166. package/src/airdrop/contracts/ton/v1/utils/date.utils.ts +0 -11
  167. package/src/airdrop/contracts/ton/v1/utils/index.ts +0 -3
  168. package/src/airdrop/contracts/ton/v1/utils/ton.utils.ts +0 -84
  169. package/src/airdrop/contracts/ton/v1/wrappers/JettonMinter.ts +0 -81
  170. package/src/airdrop/contracts/ton/v1/wrappers/JettonWallet.ts +0 -73
  171. package/src/airdrop/contracts/ton/v1/wrappers/Leaf.ts +0 -88
  172. package/src/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.ts +0 -317
  173. package/src/airdrop/contracts/ton/v1/wrappers/index.ts +0 -2
  174. package/src/airdrop/contracts/ton/v2/build/Leaf.compiled.json +0 -1
  175. package/src/airdrop/contracts/ton/v2/build/MerkleTokenDistributor.compiled.json +0 -1
  176. package/src/airdrop/contracts/ton/v2/utils/constants.ts +0 -43
  177. package/src/airdrop/contracts/ton/v2/utils/date.utils.ts +0 -11
  178. package/src/airdrop/contracts/ton/v2/utils/index.ts +0 -3
  179. package/src/airdrop/contracts/ton/v2/utils/ton.utils.ts +0 -102
  180. package/src/airdrop/contracts/ton/v2/wrappers/Leaf.ts +0 -69
  181. package/src/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.ts +0 -340
  182. package/src/airdrop/contracts/ton/v2/wrappers/index.ts +0 -2
  183. package/src/airdrop/contracts/ton/v21/build/Leaf.compiled.json +0 -1
  184. package/src/airdrop/contracts/ton/v21/build/MerkleTokenDistributor.compiled.json +0 -1
  185. package/src/airdrop/contracts/ton/v21/utils/constants.ts +0 -48
  186. package/src/airdrop/contracts/ton/v21/utils/date.utils.ts +0 -11
  187. package/src/airdrop/contracts/ton/v21/utils/index.ts +0 -3
  188. package/src/airdrop/contracts/ton/v21/utils/ton.utils.ts +0 -84
  189. package/src/airdrop/contracts/ton/v21/wrappers/Leaf.ts +0 -69
  190. package/src/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.ts +0 -346
  191. package/src/airdrop/contracts/ton/v21/wrappers/index.ts +0 -2
  192. package/src/airdrop/contracts/ton/v3/build/Leaf.compiled.json +0 -1
  193. package/src/airdrop/contracts/ton/v3/build/MerkleTokenDistributor.compiled.json +0 -1
  194. package/src/airdrop/contracts/ton/v3/utils/constants.ts +0 -43
  195. package/src/airdrop/contracts/ton/v3/utils/date.utils.ts +0 -11
  196. package/src/airdrop/contracts/ton/v3/utils/index.ts +0 -3
  197. package/src/airdrop/contracts/ton/v3/utils/ton.utils.ts +0 -84
  198. package/src/airdrop/contracts/ton/v3/wrappers/Leaf.ts +0 -68
  199. package/src/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.ts +0 -316
  200. package/src/airdrop/contracts/ton/v3/wrappers/index.ts +0 -2
  201. package/src/airdrop/index.ts +0 -10
  202. package/src/airdrop/services/index.ts +0 -159
  203. package/src/airdrop/services/wallet-service/ton/WalletService.ts +0 -226
  204. package/src/airdrop/services/wallet-service/ton/index.ts +0 -1
  205. package/src/airdrop/strategies/AirdropStrategyFactory.ts +0 -31
  206. package/src/airdrop/strategies/EvmAirdropStrategy.ts +0 -81
  207. package/src/airdrop/strategies/IAirdropStrategy.ts +0 -26
  208. package/src/airdrop/strategies/StrategyCache.ts +0 -34
  209. package/src/airdrop/strategies/TonAirdropStrategy.ts +0 -77
  210. package/src/airdrop/tests/index.test.ts +0 -387
  211. package/src/airdrop/types/index.ts +0 -199
  212. package/src/index.ts +0 -3
  213. package/src/utils/api-client.ts +0 -69
  214. package/src/utils/index.ts +0 -3
  215. package/src/utils/utils.ts +0 -45
  216. package/src/utils/web3.ts +0 -172
  217. package/src/wallets/WalletBase.ts +0 -92
  218. package/src/wallets/WalletFactory.tsx +0 -35
  219. package/src/wallets/index.ts +0 -3
  220. package/src/wallets/providers/evm/EvmWallet.ts +0 -101
  221. package/src/wallets/providers/evm/index.tsx +0 -56
  222. package/src/wallets/providers/index.ts +0 -4
  223. package/src/wallets/providers/solana/index.tsx +0 -133
  224. package/src/wallets/providers/ton/TonWallet.ts +0 -153
  225. package/src/wallets/providers/ton/index.tsx +0 -41
  226. package/src/wallets/types.ts +0 -45
  227. package/src/wallets/utils/index.ts +0 -61
@@ -2,3 +2,4 @@ export { AirdropService as EvmAirdropService } from './evm/AirdropService';
2
2
  export { AirdropService as TonAirdropService } from './ton/AirdropService';
3
3
  export { SignatureAirdropService as EvmSignatureAirdropService } from './evm/SignatureAirdropService';
4
4
  export { SignatureAirdropService as SolanaSignatureAirdropService } from './solana/SignatureAirdropService';
5
+ export { AirdropService as SolanaAirdropService } from './solana/AirdropService';
@@ -2,4 +2,5 @@ export { AirdropService as EvmAirdropService } from './evm/AirdropService';
2
2
  export { AirdropService as TonAirdropService } from './ton/AirdropService';
3
3
  export { SignatureAirdropService as EvmSignatureAirdropService } from './evm/SignatureAirdropService';
4
4
  export { SignatureAirdropService as SolanaSignatureAirdropService } from './solana/SignatureAirdropService';
5
+ export { AirdropService as SolanaAirdropService } from './solana/AirdropService';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,IAAI,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,uBAAuB,IAAI,6BAA6B,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,IAAI,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,uBAAuB,IAAI,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { IAirdropClaimData } from '../../types';
2
+ import { SolanaContractInfo } from './SolanaContractClient';
3
+ export declare class AirdropService {
4
+ options: SolanaContractInfo;
5
+ constructor(options: SolanaContractInfo);
6
+ private get airdropClient();
7
+ getVersion(): Promise<string>;
8
+ getClaimFee(address: string, amount: bigint): Promise<bigint>;
9
+ batchFetchClaimed(leafs: string[]): Promise<{
10
+ result: boolean;
11
+ status: string;
12
+ }[]>;
13
+ isLeafUsed(leaf: string): Promise<boolean>;
14
+ getPaused(): Promise<boolean>;
15
+ claim(data: IAirdropClaimData): Promise<string>;
16
+ }
@@ -0,0 +1,34 @@
1
+ import { MerkleTokenDistributorClient } from './MerkleDistributorClient';
2
+ export class AirdropService {
3
+ options;
4
+ constructor(options) {
5
+ this.options = options;
6
+ }
7
+ get airdropClient() {
8
+ if (!this.options) {
9
+ throw new Error('options is empty');
10
+ }
11
+ return new MerkleTokenDistributorClient(this.options);
12
+ }
13
+ async getVersion() {
14
+ return this.airdropClient.getVersion();
15
+ }
16
+ async getClaimFee(address, amount) {
17
+ const fee = await this.airdropClient.getClaimFee(amount);
18
+ return fee;
19
+ }
20
+ async batchFetchClaimed(leafs) {
21
+ const res = await this.airdropClient.batchFetchClaimed(leafs);
22
+ return res;
23
+ }
24
+ async isLeafUsed(leaf) {
25
+ return this.airdropClient.isLeafUsed(leaf);
26
+ }
27
+ async getPaused() {
28
+ return this.airdropClient.getPaused();
29
+ }
30
+ async claim(data) {
31
+ return this.airdropClient.claim(data);
32
+ }
33
+ }
34
+ //# sourceMappingURL=AirdropService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE,MAAM,OAAO,cAAc;IACzB,OAAO,CAAqB;IAC5B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAe;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAuB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
2
  import { SolanaContractClientBase, SolanaContractInfo } from './SolanaContractClient';
3
- import { FungibleTokenDistributorSolana } from './fungible_token_distributor_solana';
3
+ import { EddsaTokenWithFeesDistributorSolana } from './eddsa_token_with_fees_distributor_solana';
4
4
  import { FeeCollectorClient } from './FeeCollectorClient';
5
- export declare class AirdropSignatureClient extends SolanaContractClientBase<FungibleTokenDistributorSolana> {
5
+ export declare class AirdropSignatureClient extends SolanaContractClientBase<EddsaTokenWithFeesDistributorSolana> {
6
6
  projectId: string;
7
7
  constructor(options: SolanaContractInfo);
8
8
  getVersionPDA(): Promise<PublicKey>;
@@ -40,6 +40,7 @@ export declare class AirdropSignatureClient extends SolanaContractClientBase<Fun
40
40
  extraData?: string;
41
41
  unlockingAt: number;
42
42
  value: string;
43
+ fees: string;
43
44
  hash: string;
44
45
  }[]): Promise<string>;
45
46
  }
@@ -1,6 +1,6 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
2
  import { SolanaContractClientBase } from './SolanaContractClient';
3
- import IDL from './fungible_token_distributor_solana.json';
3
+ import IDL from './eddsa_token_with_fees_distributor_solana.json';
4
4
  import * as anchor from '@coral-xyz/anchor';
5
5
  import { TOKEN_2022_PROGRAM_ID } from '@solana/spl-token';
6
6
  import { FeeCollectorClient } from './FeeCollectorClient';
@@ -31,7 +31,7 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
31
31
  });
32
32
  }
33
33
  async getClaimFee(amount) {
34
- return this.FeeCollector.getClaimFee(amount.toString());
34
+ return this.FeeCollector.getClaimFee(this.programId, amount.toString());
35
35
  }
36
36
  async getStoragePDA() {
37
37
  const [storagePDA] = await this.findProgramAddress([
@@ -131,8 +131,7 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
131
131
  async claim(data) {
132
132
  const config = await this.getContractInfo();
133
133
  const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
134
- const feePDA = await this.FeeCollector.getProjectFeePDA();
135
- const airdropPDA = await this.getAirdropPDA();
134
+ const feePDA = await this.FeeCollector.getProjectFeePDA(this.programId);
136
135
  const tokenVersion = await fetchTokenVersion(config.token, {
137
136
  clusterOrEndpoint: this.chainId
138
137
  });
@@ -156,23 +155,25 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
156
155
  const claimPDA = await this.getClaimPDA(claim.claimId);
157
156
  const decodedData = {
158
157
  claimableTimestamp: new anchor.BN(claim.unlockingAt),
159
- claimableAmount: new anchor.BN(claim.value)
158
+ claimableAmount: new anchor.BN(claim.value),
159
+ fees: new anchor.BN(claim.fees)
160
160
  };
161
161
  tx.add(await this.program.methods
162
- .claim(this.projectId, new Uint8Array(hexStrToU8Array(claim.claimId)), [], decodedData, Buffer.from(hexStrToU8Array(claim.signature)))
162
+ .claim(this.projectId, this.wallet.publicKey, new Uint8Array(hexStrToU8Array(claim.claimId)), [], decodedData, Buffer.from(hexStrToU8Array(claim.signature)))
163
163
  .accountsPartial({
164
164
  authority: this.wallet.publicKey,
165
- airdrop: airdropPDA,
165
+ recipient: this.wallet.publicKey,
166
+ recipientAta: authorityATA.address,
166
167
  claim: claimPDA,
167
- authorityAta: authorityATA.address,
168
168
  tokenMint: new PublicKey(config.token),
169
+ feeCollector: this.FeeCollector.programId,
169
170
  feeCollectorStorage: feeCollectorStoragePDA,
170
171
  feeCollectorVault: null,
172
+ feeTokenMint: null,
171
173
  fee: feePDA,
172
174
  authorityFeeAta: null,
173
175
  tokenProgram: tokenVersion?.programId || TOKEN_2022_PROGRAM_ID,
174
- feeTokenProgram: null,
175
- feeTokenMint: null
176
+ feeTokenProgram: null
176
177
  })
177
178
  .transaction());
178
179
  const hash = await this.program.provider.sendAndConfirm?.(tx, [], {
@@ -1 +1 @@
1
- {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,GAAG,MAAM,iDAAiD,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEvG,MAAM,OAAO,sBAAuB,SAAQ,wBAA6D;IACvG,SAAS,CAAS;IAClB,YAAY,OAA2B;QACrC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhG,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvE,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,kBAAkB,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,MAAM;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAEnH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,UAAU,CAAC,QAAQ,EAAE;YACrB,IAAI,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACzC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAY;YACxC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YACnC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAiB;YAChC,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAY;YACpD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAY;SACzC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjE,OAAO,SAAS,EAAE,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC5C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,YAAwB;QAC1D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,YAAY,EACZ;YACE,uBAAuB;YACvB,mCAAmC;aACpC,EACD,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,CACtD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAoB,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAc;QAC1F,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EACpC,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAClE,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACpC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;SAC7C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAUG;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE;YACzD,iBAAiB,EAAE,IAAI,CAAC,OAAO;SAChC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,iCAAiC,CAAC;YAC3D,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC5B,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3C,eAAe,EAAG,IAAI,CAAC,MAAc,CAAC,eAAe;YACrD,SAAS,EAAE,YAAY,EAAE,SAAS,IAAI,qBAAqB;SAC5D,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,EAAE,CAAC,GAAG,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC;gBACxD,SAAS,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;gBACjD,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrD,SAAS,EAAE,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAC5D,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,WAAW,GAAG;gBAClB,kBAAkB,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;gBACpD,eAAe,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3C,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAChC,CAAC;YAEF,EAAE,CAAC,GAAG,CACJ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;iBACvB,KAAK,CACJ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAC9C,EAAE,EACF,WAAW,EACX,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAC9C;iBACA,eAAe,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;gBACzC,mBAAmB,EAAE,sBAAsB;gBAC3C,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,GAAG,EAAE,MAAM;gBACX,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,YAAY,EAAE,SAAS,IAAI,qBAAqB;gBAC9D,eAAe,EAAE,IAAI;aACtB,CAAC;iBACD,WAAW,EAAE,CACjB,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;gBAChE,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YAEH,QAAQ,GAAG,IAAK,CAAC;QACnB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -5,7 +5,8 @@ export declare class FeeCollectorClient extends SolanaContractClientBase<FeeColl
5
5
  projectId: string;
6
6
  constructor(options: SolanaContractInfo);
7
7
  getStoragePDA(): Promise<PublicKey>;
8
- getProjectFeePDA(): Promise<PublicKey>;
8
+ getProjectFeePDA(programId: PublicKey): Promise<PublicKey>;
9
9
  setDefaultFee(fee: string): Promise<string>;
10
- getClaimFee(tokenAmount: string): Promise<bigint>;
10
+ initProjectFee(): Promise<string>;
11
+ getClaimFee(programId: PublicKey, tokenAmount: string): Promise<bigint>;
11
12
  }
@@ -14,9 +14,10 @@ export class FeeCollectorClient extends SolanaContractClientBase {
14
14
  const [storagePDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('storage')]);
15
15
  return storagePDA;
16
16
  }
17
- async getProjectFeePDA() {
17
+ async getProjectFeePDA(programId) {
18
18
  const [projectFeePDA] = await this.findProgramAddress([
19
19
  anchor.utils.bytes.utf8.encode('fee'),
20
+ programId.toBuffer(),
20
21
  anchor.utils.bytes.utf8.encode(this.projectId)
21
22
  ]);
22
23
  return projectFeePDA;
@@ -24,9 +25,12 @@ export class FeeCollectorClient extends SolanaContractClientBase {
24
25
  async setDefaultFee(fee) {
25
26
  return this.invokeInstruction('setDefaultFee', {}, [new anchor.BN(fee)]);
26
27
  }
27
- async getClaimFee(tokenAmount) {
28
+ async initProjectFee() {
29
+ return this.invokeInstruction('initProjectFee', {}, [this.programId, this.projectId]);
30
+ }
31
+ async getClaimFee(programId, tokenAmount) {
28
32
  try {
29
- const fee = await this.invokeView('getFee', [this.projectId, new anchor.BN(tokenAmount)]);
33
+ const fee = await this.invokeView('getFee', [programId, this.projectId, new anchor.BN(tokenAmount)]);
30
34
  return BigInt(fee);
31
35
  }
32
36
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"FeeCollectorClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/FeeCollectorClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,GAAG,MAAM,sBAAsB,CAAC;AAEvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,OAAO,kBAAmB,SAAQ,wBAAsC;IAC5E,SAAS,CAAS;IAClB,YAAY,OAA2B;QACrC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhG,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1F,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"FeeCollectorClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/FeeCollectorClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,GAAG,MAAM,sBAAsB,CAAC;AAEvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,OAAO,kBAAmB,SAAQ,wBAAsC;IAC5E,SAAS,CAAS;IAClB,YAAY,OAA2B;QACrC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhG,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAoB;QACzC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,SAAS,CAAC,QAAQ,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAoB,EAAE,WAAmB;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,49 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { SolanaContractClientBase, SolanaContractInfo } from './SolanaContractClient';
3
+ import { MerkleTokenDistributorSolana } from './merkle_token_distributor_solana';
4
+ import { FeeCollectorClient } from './FeeCollectorClient';
5
+ import { IAirdropClaimData } from '../../types';
6
+ export declare class MerkleTokenDistributorClient extends SolanaContractClientBase<MerkleTokenDistributorSolana> {
7
+ projectId: string;
8
+ constructor(options: SolanaContractInfo);
9
+ get FeeCollector(): FeeCollectorClient;
10
+ getStoragePDA(): Promise<PublicKey>;
11
+ getAirdropPDA(): Promise<PublicKey>;
12
+ getConfigPDA(): Promise<PublicKey>;
13
+ getVersionPDA(): Promise<PublicKey>;
14
+ getVaultPDA(): Promise<PublicKey>;
15
+ getContractInfo(): Promise<{
16
+ version: string;
17
+ token: string;
18
+ startTime: number;
19
+ endTime: number;
20
+ paused: boolean;
21
+ root: string;
22
+ owner: string;
23
+ }>;
24
+ getVersion(): Promise<string>;
25
+ getPaused(): Promise<boolean>;
26
+ getClaimFee(amount: bigint): Promise<bigint>;
27
+ getFeeInfo(): Promise<{
28
+ feeToken: string;
29
+ feeCollector: string;
30
+ }>;
31
+ deploy(): Promise<string>;
32
+ getAirdropAddress(): Promise<string>;
33
+ initialize({ projectId, token }: {
34
+ projectId: string;
35
+ token: string;
36
+ }): Promise<string>;
37
+ setBaseParams(tokenAddress: string, startTime: number, endTime: number, root: string): Promise<void>;
38
+ togglePause(): Promise<void>;
39
+ setFeeCollector(feeCollector: string): Promise<void>;
40
+ setFeeParams(feeCollector: string, feeToken: string): Promise<string | undefined>;
41
+ transferOwnership(newOwner: string): Promise<void>;
42
+ getUsedLeafPDA(leaf: string): Promise<PublicKey>;
43
+ isLeafUsed(leaf: string): Promise<boolean>;
44
+ batchFetchClaimed(leafs: string[]): Promise<{
45
+ result: boolean;
46
+ status: string;
47
+ }[]>;
48
+ claim({ leaf, proof, index, unlockingAt, amount }: IAirdropClaimData): Promise<string>;
49
+ }
@@ -0,0 +1,212 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { SolanaContractClientBase } from './SolanaContractClient';
3
+ import IDL from './merkle_token_distributor_solana.json';
4
+ import * as anchor from '@coral-xyz/anchor';
5
+ import { TOKEN_PROGRAM_ID } from '@solana/spl-token';
6
+ import { FeeCollectorClient } from './FeeCollectorClient';
7
+ import { fetchTokenVersion } from '../../../utils';
8
+ export class MerkleTokenDistributorClient extends SolanaContractClientBase {
9
+ projectId;
10
+ constructor(options) {
11
+ super({
12
+ ...options,
13
+ idl: IDL
14
+ });
15
+ this.projectId = options.projectId;
16
+ }
17
+ get FeeCollector() {
18
+ return new FeeCollectorClient({
19
+ projectId: this.projectId,
20
+ walletClient: this.wallet,
21
+ chainId: this.chainId
22
+ });
23
+ }
24
+ async getStoragePDA() {
25
+ const [storagePDA] = await this.findProgramAddress([
26
+ anchor.utils.bytes.utf8.encode('storage'),
27
+ anchor.utils.bytes.utf8.encode(this.projectId)
28
+ ]);
29
+ return storagePDA;
30
+ }
31
+ async getAirdropPDA() {
32
+ const [airdropPDA] = await this.findProgramAddress([
33
+ anchor.utils.bytes.utf8.encode('airdrop'),
34
+ anchor.utils.bytes.utf8.encode(this.projectId)
35
+ ]);
36
+ return airdropPDA;
37
+ }
38
+ async getConfigPDA() {
39
+ const [configPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('config')]);
40
+ return configPDA;
41
+ }
42
+ async getVersionPDA() {
43
+ const [versionPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('version')]);
44
+ return versionPDA;
45
+ }
46
+ async getVaultPDA() {
47
+ const airdropPDA = await this.getAirdropPDA();
48
+ const [vaultPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('vault'), airdropPDA.toBuffer()]);
49
+ return vaultPDA;
50
+ }
51
+ async getContractInfo() {
52
+ const airdropPDA = await this.getAirdropPDA();
53
+ const config = await this.fetchAccountData('merkleAirdrop', airdropPDA);
54
+ const versionPDA = await this.getVersionPDA();
55
+ const versionData = await this.fetchAccountData('version', versionPDA);
56
+ return {
57
+ version: versionData.version,
58
+ token: config.projectToken.toString(),
59
+ startTime: Number(config.startTime),
60
+ endTime: Number(config.endTime),
61
+ paused: config.paused,
62
+ root: Buffer.from(config.root).toString('hex'),
63
+ owner: config.owner.toString()
64
+ };
65
+ }
66
+ async getVersion() {
67
+ const versionPDA = await this.getVersionPDA();
68
+ const versionData = await this.fetchAccountData('version', versionPDA);
69
+ return versionData.version;
70
+ }
71
+ async getPaused() {
72
+ const config = await this.getContractInfo();
73
+ return config.paused;
74
+ }
75
+ async getClaimFee(amount) {
76
+ return this.FeeCollector.getClaimFee(this.programId, amount.toString());
77
+ }
78
+ async getFeeInfo() {
79
+ const airdropPDA = await this.getAirdropPDA();
80
+ const config = await this.fetchAccountData('merkleAirdrop', airdropPDA);
81
+ return {
82
+ feeToken: config.feeToken.toString(),
83
+ feeCollector: config.feeCollector.toString()
84
+ };
85
+ }
86
+ async deploy() {
87
+ return this.invokeInstruction('deploy', {
88
+ feeCollector: this.FeeCollector.programId,
89
+ authority: this.wallet.publicKey
90
+ }, [new PublicKey(this.FeeCollector.programId)]);
91
+ }
92
+ async getAirdropAddress() {
93
+ try {
94
+ const airdropPDA = await this.getAirdropPDA();
95
+ await this.fetchAccountData('merkleAirdrop', airdropPDA);
96
+ return airdropPDA.toString();
97
+ }
98
+ catch (error) {
99
+ return '';
100
+ }
101
+ }
102
+ async initialize({ projectId, token }) {
103
+ await this.FeeCollector.initProjectFee();
104
+ const owner = this.wallet.publicKey;
105
+ const airdropPDA = await this.getAirdropPDA();
106
+ const projectFeePDA = await this.FeeCollector.getProjectFeePDA(this.programId);
107
+ const feeCollectorStorage = await this.FeeCollector.getStoragePDA();
108
+ console.log(airdropPDA.toString(), 'airdropPDA');
109
+ console.log(projectFeePDA.toString(), 'projectFeePDA', feeCollectorStorage.toString(), 'feeCollectorStorage');
110
+ const tx = await this.program.methods
111
+ .initialize(projectId, new PublicKey(token), owner, true)
112
+ .accountsPartial({
113
+ feeCollector: this.FeeCollector.programId,
114
+ feeCollectorStorage: feeCollectorStorage,
115
+ fee: projectFeePDA
116
+ })
117
+ .rpc();
118
+ await this.confirmTransaction(tx);
119
+ try {
120
+ const versionPDA = await this.getVersionPDA();
121
+ await this.fetchAccountData('version', versionPDA);
122
+ }
123
+ catch (err) {
124
+ // init version only once
125
+ await this.invokeInstruction('version', {}, []);
126
+ }
127
+ const airdropAddress = await this.getAirdropAddress();
128
+ return airdropAddress;
129
+ }
130
+ async setBaseParams(tokenAddress, startTime, endTime, root) {
131
+ const start = new anchor.BN(startTime), end = new anchor.BN(endTime);
132
+ await this.invokeInstruction('setBaseParams', {
133
+ // airdrop: airdropPDA,
134
+ authority: this.wallet.publicKey
135
+ }, [this.projectId, new PublicKey(tokenAddress), start, end, Array.from(Buffer.from(root, 'hex')), '']);
136
+ }
137
+ async togglePause() {
138
+ await this.invokeInstruction('togglePause', {}, [this.projectId]);
139
+ }
140
+ async setFeeCollector(feeCollector) {
141
+ await this.invokeInstruction('setFeeCollector', {}, [this.projectId, new PublicKey(feeCollector)]);
142
+ }
143
+ async setFeeParams(feeCollector, feeToken) {
144
+ const tx = new anchor.web3.Transaction()
145
+ .add(await this.program.methods
146
+ .setFeeCollector(this.projectId, new PublicKey(feeCollector), true)
147
+ .accountsPartial({
148
+ feeCollectorStorage: null,
149
+ fee: null
150
+ })
151
+ .transaction())
152
+ .add(await this.program.methods.setFeeToken(this.projectId, new PublicKey(feeToken)).transaction());
153
+ return await this.program.provider.sendAndConfirm?.(tx, [], { commitment: 'finalized' });
154
+ }
155
+ async transferOwnership(newOwner) {
156
+ const tx = await this.program.methods
157
+ .transferOwnership(this.projectId, new PublicKey(newOwner))
158
+ .accountsPartial({
159
+ authority: this.wallet.publicKey
160
+ })
161
+ .rpc();
162
+ await this.confirmTransaction?.(tx);
163
+ }
164
+ async getUsedLeafPDA(leaf) {
165
+ const [usedLeafPDA] = await this.findProgramAddress([
166
+ anchor.utils.bytes.utf8.encode('usedLeaf'),
167
+ Buffer.from(leaf, 'hex')
168
+ ]);
169
+ return usedLeafPDA;
170
+ }
171
+ async isLeafUsed(leaf) {
172
+ const usedLeafPDA = await this.getUsedLeafPDA(leaf);
173
+ const usedLeafInfo = await this.program.account['usedLeaf'].fetch(usedLeafPDA);
174
+ return usedLeafInfo?.used || false;
175
+ }
176
+ async batchFetchClaimed(leafs) {
177
+ const usedLeafPDAs = await Promise.all(leafs.map((leaf) => this.getUsedLeafPDA(leaf)));
178
+ const usedLeafInfo = await this.program.account['usedLeaf'].fetchMultiple(usedLeafPDAs);
179
+ return usedLeafInfo.map((info) => ({
180
+ result: info?.used || false,
181
+ status: 'success'
182
+ }));
183
+ }
184
+ async claim({ leaf, proof, index, unlockingAt, amount }) {
185
+ const config = await this.getContractInfo();
186
+ const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
187
+ const feePDA = await this.FeeCollector.getProjectFeePDA(this.programId);
188
+ const tokenVersion = await fetchTokenVersion(config.token, {
189
+ clusterOrEndpoint: this.chainId
190
+ });
191
+ return this.program.methods
192
+ .claim(this.projectId, Array.from(Buffer.from(leaf, 'hex')), proof.map((p) => Array.from(Buffer.from(p, 'hex'))), [], {
193
+ claimableTimestamp: new anchor.BN(unlockingAt),
194
+ claimableAmount: new anchor.BN(amount),
195
+ index: new anchor.BN(index)
196
+ })
197
+ .accounts({
198
+ recipient: this.wallet.publicKey,
199
+ tokenMint: new PublicKey(config.token),
200
+ feeCollector: this.FeeCollector.programId,
201
+ feeCollectorStorage: feeCollectorStoragePDA,
202
+ feeCollectorVault: null,
203
+ feeTokenMint: null,
204
+ fee: feePDA,
205
+ authorityFeeAta: null,
206
+ tokenProgram: tokenVersion?.programId || TOKEN_PROGRAM_ID,
207
+ feeTokenProgram: null
208
+ })
209
+ .rpc();
210
+ }
211
+ }
212
+ //# sourceMappingURL=MerkleDistributorClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MerkleDistributorClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/MerkleDistributorClient.ts"],"names":[],"mappings":"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"}
@@ -16,5 +16,6 @@ export declare class SignatureAirdropService {
16
16
  unlockingAt: number;
17
17
  value: string;
18
18
  hash: string;
19
+ fees: string;
19
20
  }[], recipient?: string): Promise<string>;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SignatureAirdropService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,MAAM,OAAO,uBAAuB;IAClC,OAAO,CAAqB;IAC5B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IASG,EACH,SAAkB;QAElB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SignatureAirdropService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,MAAM,OAAO,uBAAuB;IAClC,OAAO,CAAqB;IAC5B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAUG,EACH,SAAkB;QAElB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -14,6 +14,7 @@ export declare abstract class SolanaContractClientBase<T extends Idl = Idl> {
14
14
  protected wallet: Wallet;
15
15
  protected chainId: string;
16
16
  constructor(contractInfo: SolanaContractInfo);
17
+ get programId(): PublicKey;
17
18
  getConnection(endpoint?: string): Connection;
18
19
  protected findProgramAddress(seeds: Array<Buffer | Uint8Array>, programId?: PublicKey): Promise<[PublicKey, number]>;
19
20
  fetchAccountData<A extends keyof AllAccountsMap<T>>(accountName: A, address: PublicKey | string, commitment?: Commitment): Promise<IdlAccounts<T>[A]>;
@@ -15,6 +15,9 @@ export class SolanaContractClientBase {
15
15
  setProvider(provider);
16
16
  this.program = new Program(idl, provider);
17
17
  }
18
+ get programId() {
19
+ return this.program.programId;
20
+ }
18
21
  getConnection(endpoint) {
19
22
  const apiUrl = clusterApiUrl(endpoint ?? 'mainnet-beta');
20
23
  const conn = new Connection(apiUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaContractClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SolanaContractClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaContractClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SolanaContractClient.ts"],"names":[],"mappings":"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"}