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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) 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.js +2 -2
  23. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
  24. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.d.ts +3 -2
  25. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js +7 -3
  26. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
  27. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.d.ts +49 -0
  28. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.js +242 -0
  29. package/dist/cjs/airdrop/contracts/solana/MerkleDistributorClient.js.map +1 -0
  30. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.d.ts +1 -0
  31. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js +3 -0
  32. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
  33. package/dist/cjs/airdrop/contracts/solana/fee_collector.d.ts +49 -1
  34. package/dist/cjs/airdrop/contracts/solana/fee_collector.json +51 -3
  35. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.d.ts +1695 -0
  36. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.js +3 -0
  37. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.js.map +1 -0
  38. package/dist/cjs/airdrop/contracts/solana/merkle_token_distributor_solana.json +1689 -0
  39. package/dist/cjs/airdrop/services/index.d.ts +3 -2
  40. package/dist/cjs/airdrop/services/index.js +8 -1
  41. package/dist/cjs/airdrop/services/index.js.map +1 -1
  42. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.d.ts +1 -0
  43. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js +2 -1
  44. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js.map +1 -1
  45. package/dist/cjs/airdrop/strategies/IAirdropStrategy.d.ts +1 -0
  46. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.d.ts +25 -0
  47. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.js +62 -0
  48. package/dist/cjs/airdrop/strategies/SolanaAirdropStrategy.js.map +1 -0
  49. package/dist/cjs/airdrop/types/index.d.ts +6 -1
  50. package/dist/cjs/airdrop/types/index.js +1 -0
  51. package/dist/cjs/airdrop/types/index.js.map +1 -1
  52. package/dist/esm/airdrop/AirdropClient.d.ts +1 -1
  53. package/dist/esm/airdrop/AirdropClient.js +4 -3
  54. package/dist/esm/airdrop/AirdropClient.js.map +1 -1
  55. package/dist/esm/airdrop/SignatureAirdropClient.d.ts +10 -1
  56. package/dist/esm/airdrop/SignatureAirdropClient.js +49 -12
  57. package/dist/esm/airdrop/SignatureAirdropClient.js.map +1 -1
  58. package/dist/esm/airdrop/common/index.d.ts +1 -1
  59. package/dist/esm/airdrop/constants/chain-config.d.ts +1 -1
  60. package/dist/esm/airdrop/constants/chain-config.js +1 -1
  61. package/dist/esm/airdrop/constants/chain-config.js.map +1 -1
  62. package/dist/esm/airdrop/constants/index.d.ts +1 -0
  63. package/dist/esm/airdrop/constants/index.js +1 -0
  64. package/dist/esm/airdrop/constants/index.js.map +1 -1
  65. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureClient.js +0 -1
  66. package/dist/esm/airdrop/contracts/evm/contracts/AirdropSignatureClient.js.map +1 -1
  67. package/dist/esm/airdrop/contracts/index.d.ts +1 -0
  68. package/dist/esm/airdrop/contracts/index.js +1 -0
  69. package/dist/esm/airdrop/contracts/index.js.map +1 -1
  70. package/dist/esm/airdrop/contracts/solana/AirdropService.d.ts +16 -0
  71. package/dist/esm/airdrop/contracts/solana/AirdropService.js +34 -0
  72. package/dist/esm/airdrop/contracts/solana/AirdropService.js.map +1 -0
  73. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js +2 -2
  74. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
  75. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.d.ts +3 -2
  76. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js +7 -3
  77. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
  78. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.d.ts +49 -0
  79. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.js +212 -0
  80. package/dist/esm/airdrop/contracts/solana/MerkleDistributorClient.js.map +1 -0
  81. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.d.ts +1 -0
  82. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js +3 -0
  83. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
  84. package/dist/esm/airdrop/contracts/solana/fee_collector.d.ts +49 -1
  85. package/dist/esm/airdrop/contracts/solana/fee_collector.json +51 -3
  86. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.d.ts +1695 -0
  87. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.js +2 -0
  88. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.js.map +1 -0
  89. package/dist/esm/airdrop/contracts/solana/merkle_token_distributor_solana.json +1689 -0
  90. package/dist/esm/airdrop/services/index.d.ts +3 -2
  91. package/dist/esm/airdrop/services/index.js +6 -0
  92. package/dist/esm/airdrop/services/index.js.map +1 -1
  93. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.d.ts +1 -0
  94. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js +2 -1
  95. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js.map +1 -1
  96. package/dist/esm/airdrop/strategies/IAirdropStrategy.d.ts +1 -0
  97. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.d.ts +25 -0
  98. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.js +58 -0
  99. package/dist/esm/airdrop/strategies/SolanaAirdropStrategy.js.map +1 -0
  100. package/dist/esm/airdrop/types/index.d.ts +6 -1
  101. package/dist/esm/airdrop/types/index.js +1 -0
  102. package/dist/esm/airdrop/types/index.js.map +1 -1
  103. package/package.json +2 -9
  104. package/src/airdrop/AirdropClient.ts +0 -307
  105. package/src/airdrop/SignatureAirdropClient.ts +0 -337
  106. package/src/airdrop/common/index.ts +0 -54
  107. package/src/airdrop/common/projectDataForTon.ts +0 -79
  108. package/src/airdrop/constants/chain-config.ts +0 -107
  109. package/src/airdrop/constants/index.ts +0 -8
  110. package/src/airdrop/constants/network.ts +0 -78
  111. package/src/airdrop/contracts/evm/AirdropService.ts +0 -181
  112. package/src/airdrop/contracts/evm/SignatureAirdropService.ts +0 -114
  113. package/src/airdrop/contracts/evm/contracts/AirdropSignatureClient.ts +0 -63
  114. package/src/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.ts +0 -61
  115. package/src/airdrop/contracts/evm/contracts/AirdropV2Client.ts +0 -37
  116. package/src/airdrop/contracts/evm/contracts/AirdropV3Client.ts +0 -49
  117. package/src/airdrop/contracts/evm/contracts/AirdropV3FeeClient.ts +0 -16
  118. package/src/airdrop/contracts/evm/contracts/AirdropV4Client.ts +0 -36
  119. package/src/airdrop/contracts/evm/contracts/ContractBaseClient.ts +0 -85
  120. package/src/airdrop/contracts/evm/contracts/DeployClient.ts +0 -35
  121. package/src/airdrop/contracts/evm/contracts/FeeCollectorClient.ts +0 -21
  122. package/src/airdrop/contracts/evm/contracts/KycClient.ts +0 -21
  123. package/src/airdrop/contracts/evm/contracts/abis/Airdrop.json +0 -674
  124. package/src/airdrop/contracts/evm/contracts/abis/AirdropV2.json +0 -676
  125. package/src/airdrop/contracts/evm/contracts/abis/AirdropV3.json +0 -740
  126. package/src/airdrop/contracts/evm/contracts/abis/AirdropV3_Fee.json +0 -678
  127. package/src/airdrop/contracts/evm/contracts/abis/CustomFeeNativeAirdropV4.json +0 -701
  128. package/src/airdrop/contracts/evm/contracts/abis/Deployer.json +0 -271
  129. package/src/airdrop/contracts/evm/contracts/abis/ERC721.json +0 -737
  130. package/src/airdrop/contracts/evm/contracts/abis/FeeCollector.json +0 -322
  131. package/src/airdrop/contracts/evm/contracts/abis/FungibleTokenECDSADistributor.json +0 -564
  132. package/src/airdrop/contracts/evm/contracts/abis/FungibleTokenWithFeesECDSADistributor.json +0 -260
  133. package/src/airdrop/contracts/evm/contracts/abis/KycHook.json +0 -312
  134. package/src/airdrop/contracts/index.ts +0 -4
  135. package/src/airdrop/contracts/solana/AirdropSignatureClient.ts +0 -242
  136. package/src/airdrop/contracts/solana/FeeCollectorClient.ts +0 -43
  137. package/src/airdrop/contracts/solana/SignatureAirdropService.ts +0 -51
  138. package/src/airdrop/contracts/solana/SolanaContractClient.ts +0 -126
  139. package/src/airdrop/contracts/solana/fee_collector.json +0 -1063
  140. package/src/airdrop/contracts/solana/fee_collector.ts +0 -1069
  141. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.json +0 -1573
  142. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.ts +0 -1579
  143. package/src/airdrop/contracts/ton/AirdropClientV1.ts +0 -122
  144. package/src/airdrop/contracts/ton/AirdropClientV2.ts +0 -118
  145. package/src/airdrop/contracts/ton/AirdropClientV21.ts +0 -131
  146. package/src/airdrop/contracts/ton/AirdropClientV3.ts +0 -127
  147. package/src/airdrop/contracts/ton/AirdropService.ts +0 -150
  148. package/src/airdrop/contracts/ton/TonContractBaseClient.ts +0 -236
  149. package/src/airdrop/contracts/ton/v1/build/Leaf.compiled.json +0 -1
  150. package/src/airdrop/contracts/ton/v1/build/MerkleTokenDistributor.compiled.json +0 -1
  151. package/src/airdrop/contracts/ton/v1/utils/constants.ts +0 -42
  152. package/src/airdrop/contracts/ton/v1/utils/date.utils.ts +0 -11
  153. package/src/airdrop/contracts/ton/v1/utils/index.ts +0 -3
  154. package/src/airdrop/contracts/ton/v1/utils/ton.utils.ts +0 -84
  155. package/src/airdrop/contracts/ton/v1/wrappers/JettonMinter.ts +0 -81
  156. package/src/airdrop/contracts/ton/v1/wrappers/JettonWallet.ts +0 -73
  157. package/src/airdrop/contracts/ton/v1/wrappers/Leaf.ts +0 -88
  158. package/src/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.ts +0 -317
  159. package/src/airdrop/contracts/ton/v1/wrappers/index.ts +0 -2
  160. package/src/airdrop/contracts/ton/v2/build/Leaf.compiled.json +0 -1
  161. package/src/airdrop/contracts/ton/v2/build/MerkleTokenDistributor.compiled.json +0 -1
  162. package/src/airdrop/contracts/ton/v2/utils/constants.ts +0 -43
  163. package/src/airdrop/contracts/ton/v2/utils/date.utils.ts +0 -11
  164. package/src/airdrop/contracts/ton/v2/utils/index.ts +0 -3
  165. package/src/airdrop/contracts/ton/v2/utils/ton.utils.ts +0 -102
  166. package/src/airdrop/contracts/ton/v2/wrappers/Leaf.ts +0 -69
  167. package/src/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.ts +0 -340
  168. package/src/airdrop/contracts/ton/v2/wrappers/index.ts +0 -2
  169. package/src/airdrop/contracts/ton/v21/build/Leaf.compiled.json +0 -1
  170. package/src/airdrop/contracts/ton/v21/build/MerkleTokenDistributor.compiled.json +0 -1
  171. package/src/airdrop/contracts/ton/v21/utils/constants.ts +0 -48
  172. package/src/airdrop/contracts/ton/v21/utils/date.utils.ts +0 -11
  173. package/src/airdrop/contracts/ton/v21/utils/index.ts +0 -3
  174. package/src/airdrop/contracts/ton/v21/utils/ton.utils.ts +0 -84
  175. package/src/airdrop/contracts/ton/v21/wrappers/Leaf.ts +0 -69
  176. package/src/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.ts +0 -346
  177. package/src/airdrop/contracts/ton/v21/wrappers/index.ts +0 -2
  178. package/src/airdrop/contracts/ton/v3/build/Leaf.compiled.json +0 -1
  179. package/src/airdrop/contracts/ton/v3/build/MerkleTokenDistributor.compiled.json +0 -1
  180. package/src/airdrop/contracts/ton/v3/utils/constants.ts +0 -43
  181. package/src/airdrop/contracts/ton/v3/utils/date.utils.ts +0 -11
  182. package/src/airdrop/contracts/ton/v3/utils/index.ts +0 -3
  183. package/src/airdrop/contracts/ton/v3/utils/ton.utils.ts +0 -84
  184. package/src/airdrop/contracts/ton/v3/wrappers/Leaf.ts +0 -68
  185. package/src/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.ts +0 -316
  186. package/src/airdrop/contracts/ton/v3/wrappers/index.ts +0 -2
  187. package/src/airdrop/index.ts +0 -10
  188. package/src/airdrop/services/index.ts +0 -159
  189. package/src/airdrop/services/wallet-service/ton/WalletService.ts +0 -226
  190. package/src/airdrop/services/wallet-service/ton/index.ts +0 -1
  191. package/src/airdrop/strategies/AirdropStrategyFactory.ts +0 -31
  192. package/src/airdrop/strategies/EvmAirdropStrategy.ts +0 -81
  193. package/src/airdrop/strategies/IAirdropStrategy.ts +0 -26
  194. package/src/airdrop/strategies/StrategyCache.ts +0 -34
  195. package/src/airdrop/strategies/TonAirdropStrategy.ts +0 -77
  196. package/src/airdrop/tests/index.test.ts +0 -387
  197. package/src/airdrop/types/index.ts +0 -199
  198. package/src/index.ts +0 -3
  199. package/src/utils/api-client.ts +0 -69
  200. package/src/utils/index.ts +0 -3
  201. package/src/utils/utils.ts +0 -45
  202. package/src/utils/web3.ts +0 -172
  203. package/src/wallets/WalletBase.ts +0 -92
  204. package/src/wallets/WalletFactory.tsx +0 -35
  205. package/src/wallets/index.ts +0 -3
  206. package/src/wallets/providers/evm/EvmWallet.ts +0 -101
  207. package/src/wallets/providers/evm/index.tsx +0 -56
  208. package/src/wallets/providers/index.ts +0 -4
  209. package/src/wallets/providers/solana/index.tsx +0 -133
  210. package/src/wallets/providers/ton/TonWallet.ts +0 -153
  211. package/src/wallets/providers/ton/index.tsx +0 -41
  212. package/src/wallets/types.ts +0 -45
  213. package/src/wallets/utils/index.ts +0 -61
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.MerkleTokenDistributorClient = void 0;
30
+ const web3_js_1 = require("@solana/web3.js");
31
+ const SolanaContractClient_1 = require("./SolanaContractClient");
32
+ const merkle_token_distributor_solana_json_1 = __importDefault(require("./merkle_token_distributor_solana.json"));
33
+ const anchor = __importStar(require("@coral-xyz/anchor"));
34
+ const spl_token_1 = require("@solana/spl-token");
35
+ const FeeCollectorClient_1 = require("./FeeCollectorClient");
36
+ const utils_1 = require("../../../utils");
37
+ class MerkleTokenDistributorClient extends SolanaContractClient_1.SolanaContractClientBase {
38
+ projectId;
39
+ constructor(options) {
40
+ super({
41
+ ...options,
42
+ idl: merkle_token_distributor_solana_json_1.default
43
+ });
44
+ this.projectId = options.projectId;
45
+ }
46
+ get FeeCollector() {
47
+ return new FeeCollectorClient_1.FeeCollectorClient({
48
+ projectId: this.projectId,
49
+ walletClient: this.wallet,
50
+ chainId: this.chainId
51
+ });
52
+ }
53
+ async getStoragePDA() {
54
+ const [storagePDA] = await this.findProgramAddress([
55
+ anchor.utils.bytes.utf8.encode('storage'),
56
+ anchor.utils.bytes.utf8.encode(this.projectId)
57
+ ]);
58
+ return storagePDA;
59
+ }
60
+ async getAirdropPDA() {
61
+ const [airdropPDA] = await this.findProgramAddress([
62
+ anchor.utils.bytes.utf8.encode('airdrop'),
63
+ anchor.utils.bytes.utf8.encode(this.projectId)
64
+ ]);
65
+ return airdropPDA;
66
+ }
67
+ async getConfigPDA() {
68
+ const [configPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('config')]);
69
+ return configPDA;
70
+ }
71
+ async getVersionPDA() {
72
+ const [versionPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('version')]);
73
+ return versionPDA;
74
+ }
75
+ async getVaultPDA() {
76
+ const airdropPDA = await this.getAirdropPDA();
77
+ const [vaultPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('vault'), airdropPDA.toBuffer()]);
78
+ return vaultPDA;
79
+ }
80
+ async getContractInfo() {
81
+ const airdropPDA = await this.getAirdropPDA();
82
+ const config = await this.fetchAccountData('merkleAirdrop', airdropPDA);
83
+ const versionPDA = await this.getVersionPDA();
84
+ const versionData = await this.fetchAccountData('version', versionPDA);
85
+ return {
86
+ version: versionData.version,
87
+ token: config.projectToken.toString(),
88
+ startTime: Number(config.startTime),
89
+ endTime: Number(config.endTime),
90
+ paused: config.paused,
91
+ root: Buffer.from(config.root).toString('hex'),
92
+ owner: config.owner.toString()
93
+ };
94
+ }
95
+ async getVersion() {
96
+ const versionPDA = await this.getVersionPDA();
97
+ const versionData = await this.fetchAccountData('version', versionPDA);
98
+ return versionData.version;
99
+ }
100
+ async getPaused() {
101
+ const config = await this.getContractInfo();
102
+ return config.paused;
103
+ }
104
+ async getClaimFee(amount) {
105
+ return this.FeeCollector.getClaimFee(this.programId, amount.toString());
106
+ }
107
+ async getFeeInfo() {
108
+ const airdropPDA = await this.getAirdropPDA();
109
+ const config = await this.fetchAccountData('merkleAirdrop', airdropPDA);
110
+ return {
111
+ feeToken: config.feeToken.toString(),
112
+ feeCollector: config.feeCollector.toString()
113
+ };
114
+ }
115
+ async deploy() {
116
+ return this.invokeInstruction('deploy', {
117
+ feeCollector: this.FeeCollector.programId,
118
+ authority: this.wallet.publicKey
119
+ }, [new web3_js_1.PublicKey(this.FeeCollector.programId)]);
120
+ }
121
+ async getAirdropAddress() {
122
+ try {
123
+ const airdropPDA = await this.getAirdropPDA();
124
+ await this.fetchAccountData('merkleAirdrop', airdropPDA);
125
+ return airdropPDA.toString();
126
+ }
127
+ catch (error) {
128
+ return '';
129
+ }
130
+ }
131
+ async initialize({ projectId, token }) {
132
+ await this.FeeCollector.initProjectFee();
133
+ const owner = this.wallet.publicKey;
134
+ const airdropPDA = await this.getAirdropPDA();
135
+ const projectFeePDA = await this.FeeCollector.getProjectFeePDA(this.programId);
136
+ const feeCollectorStorage = await this.FeeCollector.getStoragePDA();
137
+ console.log(airdropPDA.toString(), 'airdropPDA');
138
+ console.log(projectFeePDA.toString(), 'projectFeePDA', feeCollectorStorage.toString(), 'feeCollectorStorage');
139
+ const tx = await this.program.methods
140
+ .initialize(projectId, new web3_js_1.PublicKey(token), owner, true)
141
+ .accountsPartial({
142
+ feeCollector: this.FeeCollector.programId,
143
+ feeCollectorStorage: feeCollectorStorage,
144
+ fee: projectFeePDA
145
+ })
146
+ .rpc();
147
+ await this.confirmTransaction(tx);
148
+ try {
149
+ const versionPDA = await this.getVersionPDA();
150
+ await this.fetchAccountData('version', versionPDA);
151
+ }
152
+ catch (err) {
153
+ // init version only once
154
+ await this.invokeInstruction('version', {}, []);
155
+ }
156
+ const airdropAddress = await this.getAirdropAddress();
157
+ return airdropAddress;
158
+ }
159
+ async setBaseParams(tokenAddress, startTime, endTime, root) {
160
+ const start = new anchor.BN(startTime), end = new anchor.BN(endTime);
161
+ await this.invokeInstruction('setBaseParams', {
162
+ // airdrop: airdropPDA,
163
+ authority: this.wallet.publicKey
164
+ }, [this.projectId, new web3_js_1.PublicKey(tokenAddress), start, end, Array.from(Buffer.from(root, 'hex')), '']);
165
+ }
166
+ async togglePause() {
167
+ await this.invokeInstruction('togglePause', {}, [this.projectId]);
168
+ }
169
+ async setFeeCollector(feeCollector) {
170
+ await this.invokeInstruction('setFeeCollector', {}, [this.projectId, new web3_js_1.PublicKey(feeCollector)]);
171
+ }
172
+ async setFeeParams(feeCollector, feeToken) {
173
+ const tx = new anchor.web3.Transaction()
174
+ .add(await this.program.methods
175
+ .setFeeCollector(this.projectId, new web3_js_1.PublicKey(feeCollector), true)
176
+ .accountsPartial({
177
+ feeCollectorStorage: null,
178
+ fee: null
179
+ })
180
+ .transaction())
181
+ .add(await this.program.methods.setFeeToken(this.projectId, new web3_js_1.PublicKey(feeToken)).transaction());
182
+ return await this.program.provider.sendAndConfirm?.(tx, [], { commitment: 'finalized' });
183
+ }
184
+ async transferOwnership(newOwner) {
185
+ const tx = await this.program.methods
186
+ .transferOwnership(this.projectId, new web3_js_1.PublicKey(newOwner))
187
+ .accountsPartial({
188
+ authority: this.wallet.publicKey
189
+ })
190
+ .rpc();
191
+ await this.confirmTransaction?.(tx);
192
+ }
193
+ async getUsedLeafPDA(leaf) {
194
+ const [usedLeafPDA] = await this.findProgramAddress([
195
+ anchor.utils.bytes.utf8.encode('usedLeaf'),
196
+ Buffer.from(leaf, 'hex')
197
+ ]);
198
+ return usedLeafPDA;
199
+ }
200
+ async isLeafUsed(leaf) {
201
+ const usedLeafPDA = await this.getUsedLeafPDA(leaf);
202
+ const usedLeafInfo = await this.program.account['usedLeaf'].fetch(usedLeafPDA);
203
+ return usedLeafInfo?.used || false;
204
+ }
205
+ async batchFetchClaimed(leafs) {
206
+ const usedLeafPDAs = await Promise.all(leafs.map((leaf) => this.getUsedLeafPDA(leaf)));
207
+ const usedLeafInfo = await this.program.account['usedLeaf'].fetchMultiple(usedLeafPDAs);
208
+ return usedLeafInfo.map((info) => ({
209
+ result: info?.used || false,
210
+ status: 'success'
211
+ }));
212
+ }
213
+ async claim({ leaf, proof, index, unlockingAt, amount }) {
214
+ const config = await this.getContractInfo();
215
+ const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
216
+ const feePDA = await this.FeeCollector.getProjectFeePDA(this.programId);
217
+ const tokenVersion = await (0, utils_1.fetchTokenVersion)(config.token, {
218
+ clusterOrEndpoint: this.chainId
219
+ });
220
+ return this.program.methods
221
+ .claim(this.projectId, Array.from(Buffer.from(leaf, 'hex')), proof.map((p) => Array.from(Buffer.from(p, 'hex'))), [], {
222
+ claimableTimestamp: new anchor.BN(unlockingAt),
223
+ claimableAmount: new anchor.BN(amount),
224
+ index: new anchor.BN(index)
225
+ })
226
+ .accounts({
227
+ recipient: this.wallet.publicKey,
228
+ tokenMint: new web3_js_1.PublicKey(config.token),
229
+ feeCollector: this.FeeCollector.programId,
230
+ feeCollectorStorage: feeCollectorStoragePDA,
231
+ feeCollectorVault: null,
232
+ feeTokenMint: null,
233
+ fee: feePDA,
234
+ authorityFeeAta: null,
235
+ tokenProgram: tokenVersion?.programId || spl_token_1.TOKEN_PROGRAM_ID,
236
+ feeTokenProgram: null
237
+ })
238
+ .rpc();
239
+ }
240
+ }
241
+ exports.MerkleTokenDistributorClient = MerkleTokenDistributorClient;
242
+ //# 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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"}
@@ -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]>;
@@ -18,6 +18,9 @@ class SolanaContractClientBase {
18
18
  (0, anchor_1.setProvider)(provider);
19
19
  this.program = new anchor_1.Program(idl, provider);
20
20
  }
21
+ get programId() {
22
+ return this.program.programId;
23
+ }
21
24
  getConnection(endpoint) {
22
25
  const apiUrl = (0, web3_js_1.clusterApiUrl)(endpoint ?? 'mainnet-beta');
23
26
  const conn = new web3_js_1.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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"}
@@ -5,7 +5,7 @@
5
5
  * IDL can be found at `target/idl/fee_collector.json`.
6
6
  */
7
7
  export type FeeCollector = {
8
- "address": "FCAaMMWdkNJnbFvz71rkXtsHPL1voheMHXdKucT3EUd8";
8
+ "address": "81oZDfqqbWkPbCx26A1mAwZmEDDZoeyxqmHuVtf4o7KB";
9
9
  "metadata": {
10
10
  "name": "feeCollector";
11
11
  "version": "0.1.0";
@@ -86,6 +86,10 @@ export type FeeCollector = {
86
86
  101
87
87
  ];
88
88
  },
89
+ {
90
+ "kind": "arg";
91
+ "path": "distributor";
92
+ },
89
93
  {
90
94
  "kind": "arg";
91
95
  "path": "projectId";
@@ -174,6 +178,10 @@ export type FeeCollector = {
174
178
  "name": "feeToken";
175
179
  "type": "pubkey";
176
180
  },
181
+ {
182
+ "name": "distributor";
183
+ "type": "pubkey";
184
+ },
177
185
  {
178
186
  "name": "projectId";
179
187
  "type": "string";
@@ -229,6 +237,10 @@ export type FeeCollector = {
229
237
  101
230
238
  ];
231
239
  },
240
+ {
241
+ "kind": "arg";
242
+ "path": "distributor";
243
+ },
232
244
  {
233
245
  "kind": "arg";
234
246
  "path": "projectId";
@@ -238,6 +250,10 @@ export type FeeCollector = {
238
250
  }
239
251
  ];
240
252
  "args": [
253
+ {
254
+ "name": "distributor";
255
+ "type": "pubkey";
256
+ },
241
257
  {
242
258
  "name": "projectId";
243
259
  "type": "string";
@@ -373,6 +389,10 @@ export type FeeCollector = {
373
389
  101
374
390
  ];
375
391
  },
392
+ {
393
+ "kind": "arg";
394
+ "path": "distributor";
395
+ },
376
396
  {
377
397
  "kind": "arg";
378
398
  "path": "projectId";
@@ -391,6 +411,10 @@ export type FeeCollector = {
391
411
  }
392
412
  ];
393
413
  "args": [
414
+ {
415
+ "name": "distributor";
416
+ "type": "pubkey";
417
+ },
394
418
  {
395
419
  "name": "projectId";
396
420
  "type": "string";
@@ -533,6 +557,10 @@ export type FeeCollector = {
533
557
  101
534
558
  ];
535
559
  },
560
+ {
561
+ "kind": "arg";
562
+ "path": "distributor";
563
+ },
536
564
  {
537
565
  "kind": "arg";
538
566
  "path": "projectId";
@@ -551,6 +579,10 @@ export type FeeCollector = {
551
579
  }
552
580
  ];
553
581
  "args": [
582
+ {
583
+ "name": "distributor";
584
+ "type": "pubkey";
585
+ },
554
586
  {
555
587
  "name": "projectId";
556
588
  "type": "string";
@@ -607,6 +639,10 @@ export type FeeCollector = {
607
639
  101
608
640
  ];
609
641
  },
642
+ {
643
+ "kind": "arg";
644
+ "path": "distributor";
645
+ },
610
646
  {
611
647
  "kind": "arg";
612
648
  "path": "projectId";
@@ -625,6 +661,10 @@ export type FeeCollector = {
625
661
  }
626
662
  ];
627
663
  "args": [
664
+ {
665
+ "name": "distributor";
666
+ "type": "pubkey";
667
+ },
628
668
  {
629
669
  "name": "projectId";
630
670
  "type": "string";
@@ -986,6 +1026,10 @@ export type FeeCollector = {
986
1026
  "type": {
987
1027
  "kind": "struct";
988
1028
  "fields": [
1029
+ {
1030
+ "name": "distributor";
1031
+ "type": "pubkey";
1032
+ },
989
1033
  {
990
1034
  "name": "bips";
991
1035
  "type": "u64";
@@ -1002,6 +1046,10 @@ export type FeeCollector = {
1002
1046
  "type": {
1003
1047
  "kind": "struct";
1004
1048
  "fields": [
1049
+ {
1050
+ "name": "distributor";
1051
+ "type": "pubkey";
1052
+ },
1005
1053
  {
1006
1054
  "name": "fixedFee";
1007
1055
  "type": "u64";
@@ -1,5 +1,5 @@
1
1
  {
2
- "address": "FCAaMMWdkNJnbFvz71rkXtsHPL1voheMHXdKucT3EUd8",
2
+ "address": "81oZDfqqbWkPbCx26A1mAwZmEDDZoeyxqmHuVtf4o7KB",
3
3
  "metadata": {
4
4
  "name": "fee_collector",
5
5
  "version": "0.1.0",
@@ -63,7 +63,7 @@
63
63
  },
64
64
  {
65
65
  "kind": "arg",
66
- "path": "fee_token"
66
+ "path": "_fee_token"
67
67
  }
68
68
  ]
69
69
  }
@@ -80,6 +80,10 @@
80
80
  101
81
81
  ]
82
82
  },
83
+ {
84
+ "kind": "arg",
85
+ "path": "_distributor"
86
+ },
83
87
  {
84
88
  "kind": "arg",
85
89
  "path": "_project_id"
@@ -103,7 +107,7 @@
103
107
  },
104
108
  {
105
109
  "kind": "arg",
106
- "path": "fee_token"
110
+ "path": "_fee_token"
107
111
  }
108
112
  ],
109
113
  "program": {
@@ -168,6 +172,10 @@
168
172
  "name": "fee_token",
169
173
  "type": "pubkey"
170
174
  },
175
+ {
176
+ "name": "distributor",
177
+ "type": "pubkey"
178
+ },
171
179
  {
172
180
  "name": "project_id",
173
181
  "type": "string"
@@ -223,6 +231,10 @@
223
231
  101
224
232
  ]
225
233
  },
234
+ {
235
+ "kind": "arg",
236
+ "path": "_distributor"
237
+ },
226
238
  {
227
239
  "kind": "arg",
228
240
  "path": "_project_id"
@@ -232,6 +244,10 @@
232
244
  }
233
245
  ],
234
246
  "args": [
247
+ {
248
+ "name": "distributor",
249
+ "type": "pubkey"
250
+ },
235
251
  {
236
252
  "name": "project_id",
237
253
  "type": "string"
@@ -367,6 +383,10 @@
367
383
  101
368
384
  ]
369
385
  },
386
+ {
387
+ "kind": "arg",
388
+ "path": "_distributor"
389
+ },
370
390
  {
371
391
  "kind": "arg",
372
392
  "path": "_project_id"
@@ -385,6 +405,10 @@
385
405
  }
386
406
  ],
387
407
  "args": [
408
+ {
409
+ "name": "distributor",
410
+ "type": "pubkey"
411
+ },
388
412
  {
389
413
  "name": "project_id",
390
414
  "type": "string"
@@ -527,6 +551,10 @@
527
551
  101
528
552
  ]
529
553
  },
554
+ {
555
+ "kind": "arg",
556
+ "path": "_distributor"
557
+ },
530
558
  {
531
559
  "kind": "arg",
532
560
  "path": "_project_id"
@@ -545,6 +573,10 @@
545
573
  }
546
574
  ],
547
575
  "args": [
576
+ {
577
+ "name": "distributor",
578
+ "type": "pubkey"
579
+ },
548
580
  {
549
581
  "name": "project_id",
550
582
  "type": "string"
@@ -601,6 +633,10 @@
601
633
  101
602
634
  ]
603
635
  },
636
+ {
637
+ "kind": "arg",
638
+ "path": "_distributor"
639
+ },
604
640
  {
605
641
  "kind": "arg",
606
642
  "path": "_project_id"
@@ -619,6 +655,10 @@
619
655
  }
620
656
  ],
621
657
  "args": [
658
+ {
659
+ "name": "distributor",
660
+ "type": "pubkey"
661
+ },
622
662
  {
623
663
  "name": "project_id",
624
664
  "type": "string"
@@ -980,6 +1020,10 @@
980
1020
  "type": {
981
1021
  "kind": "struct",
982
1022
  "fields": [
1023
+ {
1024
+ "name": "distributor",
1025
+ "type": "pubkey"
1026
+ },
983
1027
  {
984
1028
  "name": "bips",
985
1029
  "type": "u64"
@@ -996,6 +1040,10 @@
996
1040
  "type": {
997
1041
  "kind": "struct",
998
1042
  "fields": [
1043
+ {
1044
+ "name": "distributor",
1045
+ "type": "pubkey"
1046
+ },
999
1047
  {
1000
1048
  "name": "fixed_fee",
1001
1049
  "type": "u64"