@sign-global/tokentable 0.4.2-beta.2 → 0.4.2-beta.4

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 (119) hide show
  1. package/dist/cjs/airdrop/common/index.d.ts +1 -1
  2. package/dist/cjs/airdrop/constants/chain-config.d.ts +1 -1
  3. package/dist/cjs/airdrop/constants/chain-config.js +1 -1
  4. package/dist/cjs/airdrop/constants/chain-config.js.map +1 -1
  5. package/dist/esm/airdrop/common/index.d.ts +1 -1
  6. package/dist/esm/airdrop/constants/chain-config.d.ts +1 -1
  7. package/dist/esm/airdrop/constants/chain-config.js +1 -1
  8. package/dist/esm/airdrop/constants/chain-config.js.map +1 -1
  9. package/package.json +2 -9
  10. package/src/airdrop/AirdropClient.ts +0 -307
  11. package/src/airdrop/SignatureAirdropClient.ts +0 -378
  12. package/src/airdrop/common/index.ts +0 -54
  13. package/src/airdrop/common/projectDataForTon.ts +0 -79
  14. package/src/airdrop/constants/chain-config.ts +0 -107
  15. package/src/airdrop/constants/index.ts +0 -9
  16. package/src/airdrop/constants/network.ts +0 -78
  17. package/src/airdrop/contracts/evm/AirdropService.ts +0 -181
  18. package/src/airdrop/contracts/evm/SignatureAirdropService.ts +0 -114
  19. package/src/airdrop/contracts/evm/contracts/AirdropSignatureClient.ts +0 -63
  20. package/src/airdrop/contracts/evm/contracts/AirdropSignatureFeeClient.ts +0 -61
  21. package/src/airdrop/contracts/evm/contracts/AirdropV2Client.ts +0 -37
  22. package/src/airdrop/contracts/evm/contracts/AirdropV3Client.ts +0 -49
  23. package/src/airdrop/contracts/evm/contracts/AirdropV3FeeClient.ts +0 -16
  24. package/src/airdrop/contracts/evm/contracts/AirdropV4Client.ts +0 -36
  25. package/src/airdrop/contracts/evm/contracts/ContractBaseClient.ts +0 -85
  26. package/src/airdrop/contracts/evm/contracts/DeployClient.ts +0 -35
  27. package/src/airdrop/contracts/evm/contracts/FeeCollectorClient.ts +0 -21
  28. package/src/airdrop/contracts/evm/contracts/KycClient.ts +0 -21
  29. package/src/airdrop/contracts/evm/contracts/abis/Airdrop.json +0 -674
  30. package/src/airdrop/contracts/evm/contracts/abis/AirdropV2.json +0 -676
  31. package/src/airdrop/contracts/evm/contracts/abis/AirdropV3.json +0 -740
  32. package/src/airdrop/contracts/evm/contracts/abis/AirdropV3_Fee.json +0 -678
  33. package/src/airdrop/contracts/evm/contracts/abis/CustomFeeNativeAirdropV4.json +0 -701
  34. package/src/airdrop/contracts/evm/contracts/abis/Deployer.json +0 -271
  35. package/src/airdrop/contracts/evm/contracts/abis/ERC721.json +0 -737
  36. package/src/airdrop/contracts/evm/contracts/abis/FeeCollector.json +0 -322
  37. package/src/airdrop/contracts/evm/contracts/abis/FungibleTokenECDSADistributor.json +0 -564
  38. package/src/airdrop/contracts/evm/contracts/abis/FungibleTokenWithFeesECDSADistributor.json +0 -260
  39. package/src/airdrop/contracts/evm/contracts/abis/KycHook.json +0 -312
  40. package/src/airdrop/contracts/index.ts +0 -4
  41. package/src/airdrop/contracts/solana/AirdropSignatureClient.ts +0 -242
  42. package/src/airdrop/contracts/solana/FeeCollectorClient.ts +0 -43
  43. package/src/airdrop/contracts/solana/SignatureAirdropService.ts +0 -51
  44. package/src/airdrop/contracts/solana/SolanaContractClient.ts +0 -126
  45. package/src/airdrop/contracts/solana/fee_collector.json +0 -1063
  46. package/src/airdrop/contracts/solana/fee_collector.ts +0 -1069
  47. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.json +0 -1573
  48. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.ts +0 -1579
  49. package/src/airdrop/contracts/ton/AirdropClientV1.ts +0 -122
  50. package/src/airdrop/contracts/ton/AirdropClientV2.ts +0 -118
  51. package/src/airdrop/contracts/ton/AirdropClientV21.ts +0 -131
  52. package/src/airdrop/contracts/ton/AirdropClientV3.ts +0 -127
  53. package/src/airdrop/contracts/ton/AirdropService.ts +0 -150
  54. package/src/airdrop/contracts/ton/TonContractBaseClient.ts +0 -236
  55. package/src/airdrop/contracts/ton/v1/build/Leaf.compiled.json +0 -1
  56. package/src/airdrop/contracts/ton/v1/build/MerkleTokenDistributor.compiled.json +0 -1
  57. package/src/airdrop/contracts/ton/v1/utils/constants.ts +0 -42
  58. package/src/airdrop/contracts/ton/v1/utils/date.utils.ts +0 -11
  59. package/src/airdrop/contracts/ton/v1/utils/index.ts +0 -3
  60. package/src/airdrop/contracts/ton/v1/utils/ton.utils.ts +0 -84
  61. package/src/airdrop/contracts/ton/v1/wrappers/JettonMinter.ts +0 -81
  62. package/src/airdrop/contracts/ton/v1/wrappers/JettonWallet.ts +0 -73
  63. package/src/airdrop/contracts/ton/v1/wrappers/Leaf.ts +0 -88
  64. package/src/airdrop/contracts/ton/v1/wrappers/MerkleTokenDistributor.ts +0 -317
  65. package/src/airdrop/contracts/ton/v1/wrappers/index.ts +0 -2
  66. package/src/airdrop/contracts/ton/v2/build/Leaf.compiled.json +0 -1
  67. package/src/airdrop/contracts/ton/v2/build/MerkleTokenDistributor.compiled.json +0 -1
  68. package/src/airdrop/contracts/ton/v2/utils/constants.ts +0 -43
  69. package/src/airdrop/contracts/ton/v2/utils/date.utils.ts +0 -11
  70. package/src/airdrop/contracts/ton/v2/utils/index.ts +0 -3
  71. package/src/airdrop/contracts/ton/v2/utils/ton.utils.ts +0 -102
  72. package/src/airdrop/contracts/ton/v2/wrappers/Leaf.ts +0 -69
  73. package/src/airdrop/contracts/ton/v2/wrappers/MerkleTokenDistributor.ts +0 -340
  74. package/src/airdrop/contracts/ton/v2/wrappers/index.ts +0 -2
  75. package/src/airdrop/contracts/ton/v21/build/Leaf.compiled.json +0 -1
  76. package/src/airdrop/contracts/ton/v21/build/MerkleTokenDistributor.compiled.json +0 -1
  77. package/src/airdrop/contracts/ton/v21/utils/constants.ts +0 -48
  78. package/src/airdrop/contracts/ton/v21/utils/date.utils.ts +0 -11
  79. package/src/airdrop/contracts/ton/v21/utils/index.ts +0 -3
  80. package/src/airdrop/contracts/ton/v21/utils/ton.utils.ts +0 -84
  81. package/src/airdrop/contracts/ton/v21/wrappers/Leaf.ts +0 -69
  82. package/src/airdrop/contracts/ton/v21/wrappers/MerkleTokenDistributor.ts +0 -346
  83. package/src/airdrop/contracts/ton/v21/wrappers/index.ts +0 -2
  84. package/src/airdrop/contracts/ton/v3/build/Leaf.compiled.json +0 -1
  85. package/src/airdrop/contracts/ton/v3/build/MerkleTokenDistributor.compiled.json +0 -1
  86. package/src/airdrop/contracts/ton/v3/utils/constants.ts +0 -43
  87. package/src/airdrop/contracts/ton/v3/utils/date.utils.ts +0 -11
  88. package/src/airdrop/contracts/ton/v3/utils/index.ts +0 -3
  89. package/src/airdrop/contracts/ton/v3/utils/ton.utils.ts +0 -84
  90. package/src/airdrop/contracts/ton/v3/wrappers/Leaf.ts +0 -68
  91. package/src/airdrop/contracts/ton/v3/wrappers/MerkleTokenDistributor.ts +0 -316
  92. package/src/airdrop/contracts/ton/v3/wrappers/index.ts +0 -2
  93. package/src/airdrop/index.ts +0 -10
  94. package/src/airdrop/services/index.ts +0 -166
  95. package/src/airdrop/services/wallet-service/ton/WalletService.ts +0 -226
  96. package/src/airdrop/services/wallet-service/ton/index.ts +0 -1
  97. package/src/airdrop/strategies/AirdropStrategyFactory.ts +0 -31
  98. package/src/airdrop/strategies/EvmAirdropStrategy.ts +0 -81
  99. package/src/airdrop/strategies/IAirdropStrategy.ts +0 -26
  100. package/src/airdrop/strategies/StrategyCache.ts +0 -34
  101. package/src/airdrop/strategies/TonAirdropStrategy.ts +0 -77
  102. package/src/airdrop/tests/index.test.ts +0 -387
  103. package/src/airdrop/types/index.ts +0 -200
  104. package/src/index.ts +0 -3
  105. package/src/utils/api-client.ts +0 -69
  106. package/src/utils/index.ts +0 -3
  107. package/src/utils/utils.ts +0 -45
  108. package/src/utils/web3.ts +0 -172
  109. package/src/wallets/WalletBase.ts +0 -92
  110. package/src/wallets/WalletFactory.tsx +0 -35
  111. package/src/wallets/index.ts +0 -3
  112. package/src/wallets/providers/evm/EvmWallet.ts +0 -101
  113. package/src/wallets/providers/evm/index.tsx +0 -56
  114. package/src/wallets/providers/index.ts +0 -4
  115. package/src/wallets/providers/solana/index.tsx +0 -133
  116. package/src/wallets/providers/ton/TonWallet.ts +0 -153
  117. package/src/wallets/providers/ton/index.tsx +0 -41
  118. package/src/wallets/types.ts +0 -45
  119. package/src/wallets/utils/index.ts +0 -61
@@ -1,316 +0,0 @@
1
- import {
2
- Address,
3
- beginCell,
4
- Builder,
5
- Cell,
6
- Contract,
7
- contractAddress,
8
- ContractProvider,
9
- Dictionary,
10
- Sender,
11
- SendMode,
12
- Slice,
13
- toNano,
14
- TupleItem
15
- } from '@ton/core';
16
- import { CodeType, dateToUnixTimestamp, intToString, OpCode, stringToInt, unixTimestampToDate } from '../utils';
17
-
18
- export type MerkleTokenDistributorConfig = {
19
- version: string;
20
- adminAddress: Address;
21
- root: bigint;
22
- deployer: Address;
23
- token?: Address;
24
- startTime: Date;
25
- endTime: Date;
26
- leafCode: Cell;
27
- claimFee: bigint;
28
- claimFeeAddress: Address;
29
- paused?: boolean;
30
- feelessThreshold?: bigint;
31
- };
32
-
33
- export function tokenDistributorConfigToCell(config: MerkleTokenDistributorConfig): Cell {
34
- const {
35
- version,
36
- adminAddress,
37
- deployer,
38
- endTime,
39
- leafCode,
40
- root,
41
- startTime,
42
- token,
43
- claimFee,
44
- claimFeeAddress,
45
- paused = false,
46
- feelessThreshold = 0
47
- } = config;
48
- const c2 = beginCell()
49
- .storeCoins(claimFee)
50
- .storeAddress(claimFeeAddress)
51
- .storeUint(paused ? 1 : 0, 1)
52
- .storeCoins(feelessThreshold)
53
- .endCell();
54
-
55
- const c1 = beginCell()
56
- .storeAddress(deployer)
57
- .storeAddress(token)
58
- .storeUint(dateToUnixTimestamp(startTime), 32)
59
- .storeUint(dateToUnixTimestamp(endTime), 32)
60
- .storeRef(leafCode)
61
- .endCell();
62
-
63
- return beginCell()
64
- .storeUint(stringToInt(version), 64)
65
- .storeAddress(adminAddress)
66
- .storeUint(root, 256)
67
- .storeRef(c1)
68
- .storeRef(c2)
69
- .endCell();
70
- }
71
-
72
- export type TokenDistributorEntry = {
73
- address: Address;
74
- claimableAmount: bigint;
75
- claimableTimestamp: number;
76
- };
77
-
78
- export const tokenDistributorEntryValue = {
79
- serialize: (src: TokenDistributorEntry, buidler: Builder) => {
80
- buidler.storeAddress(src.address).storeCoins(src.claimableAmount).storeUint(src.claimableTimestamp, 32);
81
- },
82
- parse: (src: Slice) => {
83
- return {
84
- address: src.loadAddress(),
85
- claimableAmount: src.loadCoins(),
86
- claimableTimestamp: src.loadUint(32)
87
- };
88
- }
89
- };
90
-
91
- export function generateEntriesDictionary(entries: TokenDistributorEntry[]): Dictionary<bigint, TokenDistributorEntry> {
92
- const dict: Dictionary<bigint, TokenDistributorEntry> = Dictionary.empty(
93
- Dictionary.Keys.BigUint(64),
94
- tokenDistributorEntryValue
95
- );
96
-
97
- for (let i = 0; i < entries.length; i++) {
98
- dict.set(BigInt(i), entries[i]);
99
- }
100
-
101
- return dict;
102
- }
103
-
104
- export class MerkleTokenDistributor implements Contract {
105
- constructor(readonly address: Address, readonly init?: { code: Cell; data: Cell }) {}
106
-
107
- static createFromAddress(address: Address) {
108
- return new MerkleTokenDistributor(address);
109
- }
110
-
111
- static createFromConfig(config: MerkleTokenDistributorConfig, code: Cell, workchain = 0) {
112
- const data = tokenDistributorConfigToCell(config);
113
- const init = { code, data };
114
- return new MerkleTokenDistributor(contractAddress(workchain, init), init);
115
- }
116
-
117
- async sendDeploy(provider: ContractProvider, via: Sender, value: bigint) {
118
- await provider.internal(via, {
119
- value,
120
- sendMode: SendMode.PAY_GAS_SEPARATELY,
121
- body: beginCell().endCell()
122
- });
123
- }
124
-
125
- async getVersion(provider: ContractProvider): Promise<string> {
126
- const result = await provider.get('get_version', []);
127
-
128
- return intToString(Number(result.stack.readBigNumber()));
129
- }
130
-
131
- async getLeafAddress(provider: ContractProvider, index: bigint): Promise<Address> {
132
- const arg: TupleItem = {
133
- value: index,
134
- type: 'int'
135
- };
136
- const result = await provider.get('get_leaf_address', [arg]);
137
-
138
- return result.stack.readAddress();
139
- }
140
-
141
- async getRoot(provider: ContractProvider): Promise<bigint> {
142
- const result = await provider.get('get_root', []);
143
-
144
- return result.stack.readBigNumber();
145
- }
146
-
147
- async getTime(provider: ContractProvider): Promise<[Date, Date] | [null, null]> {
148
- const result = await provider.get('get_time', []);
149
- const stack = result.stack;
150
-
151
- try {
152
- return [unixTimestampToDate(stack.readNumber()), unixTimestampToDate(stack.readNumber())];
153
- } catch (e) {
154
- return [null, null];
155
- }
156
- }
157
-
158
- async getToken(provider: ContractProvider): Promise<Address | null> {
159
- const result = await provider.get('get_token', []);
160
-
161
- try {
162
- return result.stack.readAddress();
163
- } catch (e) {
164
- return null;
165
- }
166
- }
167
-
168
- async getAdminAddress(provider: ContractProvider): Promise<Address> {
169
- const result = await provider.get('get_admin_address', []);
170
-
171
- return result.stack.readAddress();
172
- }
173
-
174
- async getClaimFee(provider: ContractProvider): Promise<bigint> {
175
- const result = await provider.get('get_claim_fee', []);
176
-
177
- return result.stack.readBigNumber();
178
- }
179
-
180
- async getClaimFeeAddress(provider: ContractProvider): Promise<Address> {
181
- const result = await provider.get('get_claim_fee_address', []);
182
-
183
- return result.stack.readAddress();
184
- }
185
-
186
- async getPaused(provider: ContractProvider): Promise<boolean> {
187
- const result = await provider.get('get_paused', []);
188
-
189
- return result.stack.readNumber() === 1;
190
- }
191
-
192
- async getFeelessThreshold(provider: ContractProvider): Promise<bigint> {
193
- const result = await provider.get('get_feeless_threshold', []);
194
-
195
- return result.stack.readBigNumber();
196
- }
197
-
198
- async sendChangeAdmin(provider: ContractProvider, via: Sender, newAdmin: Address) {
199
- const messageBody = beginCell().storeUint(OpCode.ChangeAdmin, 32).storeUint(0, 64).storeAddress(newAdmin).endCell();
200
- const result = await provider.internal(via, {
201
- value: '0.01',
202
- body: messageBody
203
- });
204
-
205
- return result;
206
- }
207
-
208
- async sendChangeCode(provider: ContractProvider, via: Sender, codeType: CodeType, newCode: Cell) {
209
- const messageBody = beginCell()
210
- .storeUint(OpCode.ChangeCode, 32)
211
- .storeUint(0, 64)
212
- .storeUint(codeType, 32)
213
- .storeRef(newCode)
214
- .endCell();
215
- const result = await provider.internal(via, {
216
- value: '0.01',
217
- body: messageBody
218
- });
219
-
220
- return result;
221
- }
222
-
223
- async sendChangeVersion(provider: ContractProvider, via: Sender, version: string) {
224
- const messageBody = beginCell()
225
- .storeUint(OpCode.ChangeVersion, 32)
226
- .storeUint(0, 64)
227
- .storeUint(stringToInt(version), 64)
228
- .endCell();
229
- const result = await provider.internal(via, {
230
- value: '0.01',
231
- body: messageBody
232
- });
233
-
234
- return result;
235
- }
236
-
237
- async sendWithdraw(provider: ContractProvider, via: Sender, amount: string) {
238
- const messageBody = beginCell()
239
- .storeUint(OpCode.Withdraw, 32)
240
- .storeUint(0, 64)
241
- .storeCoins(toNano(amount))
242
- .endCell();
243
- const result = await provider.internal(via, {
244
- value: '0.01',
245
- body: messageBody
246
- });
247
-
248
- return result;
249
- }
250
-
251
- async sendWithdrawTokens(provider: ContractProvider, via: Sender, amount: string) {
252
- const messageBody = beginCell()
253
- .storeUint(OpCode.WithdrawTokens, 32)
254
- .storeUint(0, 64)
255
- .storeCoins(toNano(amount))
256
- .endCell();
257
- const result = await provider.internal(via, {
258
- value: '0.1',
259
- body: messageBody
260
- });
261
-
262
- return result;
263
- }
264
-
265
- async sendSetBaseParams(
266
- provider: ContractProvider,
267
- via: Sender,
268
- startTime: Date,
269
- endTime: Date,
270
- root: bigint,
271
- token: Address
272
- ) {
273
- const messageBody = beginCell()
274
- .storeUint(OpCode.SetBaseParams, 32)
275
- .storeUint(0, 64)
276
- .storeAddress(token)
277
- .storeUint(dateToUnixTimestamp(startTime), 32)
278
- .storeUint(dateToUnixTimestamp(endTime), 32)
279
- .storeUint(root, 256)
280
- .endCell();
281
- const result = await provider.internal(via, {
282
- value: '0.01',
283
- body: messageBody
284
- });
285
-
286
- return result;
287
- }
288
-
289
- async sendSetPaused(provider: ContractProvider, via: Sender, paused: boolean) {
290
- const messageBody = beginCell()
291
- .storeUint(OpCode.SetPaused, 32)
292
- .storeUint(0, 64)
293
- .storeUint(paused ? 1 : 0, 1)
294
- .endCell();
295
- const result = await provider.internal(via, {
296
- value: '0.01',
297
- body: messageBody
298
- });
299
-
300
- return result;
301
- }
302
-
303
- async sendSetFeelessThreshold(provider: ContractProvider, via: Sender, feelessThreshold: bigint) {
304
- const messageBody = beginCell()
305
- .storeUint(OpCode.SetFeelessThreshold, 32)
306
- .storeUint(0, 64)
307
- .storeCoins(feelessThreshold)
308
- .endCell();
309
- const result = await provider.internal(via, {
310
- value: '0.01',
311
- body: messageBody
312
- });
313
-
314
- return result;
315
- }
316
- }
@@ -1,2 +0,0 @@
1
- export * from './Leaf';
2
- export * from './MerkleTokenDistributor';
@@ -1,10 +0,0 @@
1
- export { AirdropClient } from './AirdropClient';
2
- export { SignatureAirdropClient } from './SignatureAirdropClient';
3
- export {
4
- EvmSignatureAirdropService,
5
- SolanaSignatureAirdropService,
6
- EvmAirdropService,
7
- TonAirdropService
8
- } from './contracts';
9
-
10
- export { CONST } from './constants';
@@ -1,166 +0,0 @@
1
- import { apiClient } from '../../utils/api-client';
2
- import { safeParseJSON } from '../../utils/utils';
3
- import {
4
- AirdropSigIdentityTypeEnum,
5
- IAirdropData,
6
- IAirdropSignatureData,
7
- IClaimSignature,
8
- IContractConfig,
9
- IProject
10
- } from '../types';
11
-
12
- export { TonWalletService } from './wallet-service/ton';
13
-
14
- const createApiClient = (baseURL?: string) => {
15
- return baseURL ? apiClient.extend({ baseURL }) : apiClient;
16
- };
17
-
18
- export const getAirdropProject = async (projectId: string, baseURL?: string): Promise<IProject> => {
19
- const client = createApiClient(baseURL);
20
- const res = await client.get<any>(`/airdrop-open/projects/${projectId}`);
21
- if (!res) return res; // res is null
22
- const projectConfig = res?.themeConf;
23
- const blockCountries = safeParseJSON(projectConfig?.blockCountries);
24
- return {
25
- ...res,
26
- blockCountries
27
- };
28
- };
29
-
30
- export const getAirdropProjectId = async (
31
- data: {
32
- recipient: string;
33
- slug: string;
34
- },
35
- baseURL?: string
36
- ): Promise<{ recipient: string; projectIds: string[] }> => {
37
- const client = createApiClient(baseURL);
38
- return client.post(`/airdrop-open/query-pid`, data);
39
- };
40
-
41
- export const getAirdropPro = async (
42
- slug: string,
43
- baseURL?: string
44
- ): Promise<{
45
- slug: string;
46
- childProjectMapping: Record<string, string>;
47
- }> => {
48
- const client = createApiClient(baseURL);
49
- return client.get(`/airdrop-open/airdrop-pro/${slug}`);
50
- };
51
-
52
- export const getAirdropQuery = async (
53
- data: {
54
- recipient: string;
55
- projectId: string;
56
- recipientType: string;
57
- },
58
- baseURL?: string
59
- ): Promise<IAirdropData> => {
60
- const client = createApiClient(baseURL);
61
- return client.post(`/airdrop-open/query`, data);
62
- };
63
-
64
- export const getAirdropContractConfig = async (
65
- data: { chainId: string; chainType: string; contractAddress: string },
66
- baseURL?: string
67
- ): Promise<IContractConfig> => {
68
- const client = createApiClient(baseURL);
69
- return client.post(`/airdrop-open/contract/config`, data);
70
- };
71
-
72
- export const getJettonInfo = async (
73
- data: { address: string; isTestnet: 'true' | 'false' },
74
- baseURL?: string
75
- ): Promise<any> => {
76
- const client = createApiClient(baseURL);
77
- return client.get(`/airdrop-open/jetton/${data.address}?isTestnet=${data.isTestnet}`);
78
- };
79
-
80
- interface SidResponse {
81
- sid: string;
82
- }
83
-
84
- interface SocialConnectParams {
85
- code: string;
86
- projectId: string;
87
- }
88
-
89
- interface WalletBindParams {
90
- projectId: string;
91
- key: string;
92
- signature: string;
93
- message: string;
94
- timestamp: number;
95
- recipientType: string;
96
- address: string;
97
- }
98
-
99
- const getSidHeader = (projectId: string) => ({
100
- sid: window.localStorage.getItem(`sid_${projectId}`) || ''
101
- });
102
-
103
- export const connectTwitter = async (data: SocialConnectParams, baseURL?: string): Promise<SidResponse> => {
104
- const client = createApiClient(baseURL);
105
- return client.post('/airdrop-open/connect-twitter', data, {
106
- headers: getSidHeader(data.projectId)
107
- });
108
- };
109
-
110
- export const connectGoogleApi = async (data: SocialConnectParams, baseURL?: string): Promise<SidResponse> => {
111
- const client = createApiClient(baseURL);
112
- return client.post('/airdrop-open/connect-google', data, {
113
- headers: getSidHeader(data.projectId)
114
- });
115
- };
116
-
117
- export const checkEligibility = async (
118
- data: { projectId: string },
119
- baseURL?: string
120
- ): Promise<IAirdropSignatureData> => {
121
- const headers = getSidHeader(data.projectId);
122
- if (!headers.sid)
123
- return {
124
- claims: [],
125
- identities: []
126
- };
127
- const client = createApiClient(baseURL);
128
-
129
- return client.post('/airdrop-open/check-eligibility', data, {
130
- headers: headers
131
- });
132
- };
133
-
134
- export const bindWallet = async (data: WalletBindParams, baseURL?: string): Promise<SidResponse> => {
135
- const client = createApiClient(baseURL);
136
- return client.post('/airdrop-open/connect-wallet', data, {
137
- headers: getSidHeader(data.projectId)
138
- });
139
- };
140
-
141
- interface DisconnectParams {
142
- projectId: string;
143
- recipientType: AirdropSigIdentityTypeEnum;
144
- recipient?: string;
145
- }
146
-
147
- export const disconnectRecipient = async (data: DisconnectParams, baseURL?: string): Promise<void> => {
148
- const client = createApiClient(baseURL);
149
- return client.post('/airdrop-open/disconnect', data, {
150
- headers: getSidHeader(data.projectId)
151
- });
152
- };
153
-
154
- export const checkGetSignatures = async (
155
- data: {
156
- projectId: string;
157
- claimIds: string[];
158
- recipient: string;
159
- },
160
- baseURL?: string
161
- ): Promise<{ signatures: IClaimSignature[] }> => {
162
- const client = createApiClient(baseURL);
163
- return client.post('/airdrop-open/check-get-signatures', data, {
164
- headers: getSidHeader(data.projectId)
165
- });
166
- };