@sign-global/tokentable 0.4.1-beta.0 → 0.4.1-beta.10
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.
- package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +6 -3
- package/dist/cjs/airdrop/SignatureAirdropClient.js +62 -20
- package/dist/cjs/airdrop/SignatureAirdropClient.js.map +1 -1
- package/dist/cjs/airdrop/common/index.d.ts +35 -0
- package/dist/cjs/airdrop/constants/chain-config.d.ts +36 -0
- package/dist/cjs/airdrop/constants/chain-config.js +5 -0
- package/dist/cjs/airdrop/constants/chain-config.js.map +1 -1
- package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.d.ts +1 -1
- package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.js +6 -1
- package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.js.map +1 -1
- package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.d.ts +8 -2
- package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js +37 -21
- package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
- package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.d.ts +2 -1
- package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js +12 -3
- package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
- package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.d.ts +2 -6
- package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.js +3 -25
- package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.js.map +1 -1
- package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.d.ts +5 -4
- package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js +14 -8
- package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
- package/dist/cjs/airdrop/contracts/solana/fee_collector.d.ts +681 -415
- package/dist/cjs/airdrop/contracts/solana/fee_collector.json +110 -93
- package/dist/cjs/airdrop/contracts/solana/fungible_token_distributor_solana.d.ts +1051 -570
- package/dist/cjs/airdrop/contracts/solana/fungible_token_distributor_solana.json +121 -75
- package/dist/cjs/airdrop/types/index.d.ts +5 -3
- package/dist/cjs/airdrop/types/index.js.map +1 -1
- package/dist/cjs/utils/utils.d.ts +2 -0
- package/dist/cjs/utils/utils.js +15 -1
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/cjs/utils/web3.d.ts +15 -1
- package/dist/cjs/utils/web3.js +43 -0
- package/dist/cjs/utils/web3.js.map +1 -1
- package/dist/cjs/wallets/providers/evm/EvmWallet.js +27 -17
- package/dist/cjs/wallets/providers/evm/EvmWallet.js.map +1 -1
- package/dist/esm/airdrop/SignatureAirdropClient.d.ts +6 -3
- package/dist/esm/airdrop/SignatureAirdropClient.js +62 -20
- package/dist/esm/airdrop/SignatureAirdropClient.js.map +1 -1
- package/dist/esm/airdrop/common/index.d.ts +35 -0
- package/dist/esm/airdrop/constants/chain-config.d.ts +36 -0
- package/dist/esm/airdrop/constants/chain-config.js +6 -1
- package/dist/esm/airdrop/constants/chain-config.js.map +1 -1
- package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.d.ts +1 -1
- package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.js +6 -1
- package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.js.map +1 -1
- package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.d.ts +8 -2
- package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js +38 -22
- package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
- package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.d.ts +2 -1
- package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js +12 -3
- package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
- package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.d.ts +2 -6
- package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.js +3 -25
- package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.js.map +1 -1
- package/dist/esm/airdrop/contracts/solana/SolanaContractClient.d.ts +5 -4
- package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js +14 -8
- package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
- package/dist/esm/airdrop/contracts/solana/fee_collector.d.ts +681 -415
- package/dist/esm/airdrop/contracts/solana/fee_collector.json +110 -93
- package/dist/esm/airdrop/contracts/solana/fungible_token_distributor_solana.d.ts +1051 -570
- package/dist/esm/airdrop/contracts/solana/fungible_token_distributor_solana.json +121 -75
- package/dist/esm/airdrop/types/index.d.ts +5 -3
- package/dist/esm/airdrop/types/index.js.map +1 -1
- package/dist/esm/utils/utils.d.ts +2 -0
- package/dist/esm/utils/utils.js +12 -0
- package/dist/esm/utils/utils.js.map +1 -1
- package/dist/esm/utils/web3.d.ts +15 -1
- package/dist/esm/utils/web3.js +43 -2
- package/dist/esm/utils/web3.js.map +1 -1
- package/dist/esm/wallets/providers/evm/EvmWallet.js +27 -17
- package/dist/esm/wallets/providers/evm/EvmWallet.js.map +1 -1
- package/package.json +10 -1
- package/src/airdrop/SignatureAirdropClient.ts +79 -34
- package/src/airdrop/constants/chain-config.ts +7 -2
- package/src/airdrop/contracts/evm/SignatureAirdropService.ts +6 -1
- package/src/airdrop/contracts/solana/AirdropSignatureClient.ts +44 -37
- package/src/airdrop/contracts/solana/FeeCollectorClient.ts +12 -3
- package/src/airdrop/contracts/solana/SignatureAirdropService.ts +4 -30
- package/src/airdrop/contracts/solana/SolanaContractClient.ts +30 -17
- package/src/airdrop/contracts/solana/fee_collector.json +110 -93
- package/src/airdrop/contracts/solana/fee_collector.ts +757 -491
- package/src/airdrop/contracts/solana/fungible_token_distributor_solana.json +121 -75
- package/src/airdrop/contracts/solana/fungible_token_distributor_solana.ts +1157 -676
- package/src/airdrop/types/index.ts +5 -3
- package/src/utils/utils.ts +15 -0
- package/src/utils/web3.ts +62 -2
- package/src/wallets/providers/evm/EvmWallet.ts +27 -19
|
@@ -8,19 +8,22 @@ export declare class SignatureAirdropClient {
|
|
|
8
8
|
protected claims?: IAirdropSignatureClaim[];
|
|
9
9
|
protected identities?: IAirdropSignatureIdentity[];
|
|
10
10
|
private projectPromise;
|
|
11
|
+
private twitterPromise;
|
|
12
|
+
private strategyCache;
|
|
11
13
|
constructor(params: IAirdropOptions);
|
|
12
14
|
private readonly LOCAL_STORAGE_SID_PREFIX;
|
|
15
|
+
private checkAndHandleTwitterCode;
|
|
13
16
|
private setSid;
|
|
14
17
|
private fetchProjectDetails;
|
|
15
18
|
protected initializeProjects(): Promise<void>;
|
|
16
19
|
getProjectInfo(): Promise<IProject>;
|
|
17
20
|
connectX({ onSuccess, onError }: {
|
|
18
21
|
onSuccess: () => void;
|
|
19
|
-
onError: () => void;
|
|
22
|
+
onError: (error: Error) => void;
|
|
20
23
|
}): Promise<void>;
|
|
21
24
|
connectWallet({ chainType, onSuccess, onError }: {
|
|
22
25
|
chainType: ChainType;
|
|
23
|
-
onSuccess?: () => void;
|
|
26
|
+
onSuccess?: (address: string) => void;
|
|
24
27
|
onError?: (error: any) => void;
|
|
25
28
|
}): Promise<void>;
|
|
26
29
|
getClaims(): Promise<import("./types").IAirdropSignatureData>;
|
|
@@ -30,7 +33,7 @@ export declare class SignatureAirdropClient {
|
|
|
30
33
|
}): Promise<void>;
|
|
31
34
|
getStrategy(walletClient?: IWalletClient): Promise<EvmSignatureAirdropService | SolanaSignatureAirdropService>;
|
|
32
35
|
getVersion(): Promise<string>;
|
|
33
|
-
getClaimFee(amount?: bigint): Promise<undefined | bigint>;
|
|
36
|
+
getClaimFee(amount?: bigint, walletClient?: IWalletClient): Promise<undefined | bigint>;
|
|
34
37
|
claimAirdrop({ claimIds, walletClient, recipient }: {
|
|
35
38
|
claimIds: string[];
|
|
36
39
|
walletClient: IWalletClient;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SignatureAirdropClient = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
4
|
const constants_1 = require("./constants");
|
|
6
5
|
const contracts_1 = require("./contracts");
|
|
7
6
|
const wallets_1 = require("../wallets");
|
|
8
7
|
const types_1 = require("../wallets/types");
|
|
9
8
|
const services_1 = require("./services");
|
|
10
9
|
const types_2 = require("./types");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
11
|
class SignatureAirdropClient {
|
|
12
12
|
projectId;
|
|
13
13
|
endpoint;
|
|
@@ -15,6 +15,8 @@ class SignatureAirdropClient {
|
|
|
15
15
|
claims;
|
|
16
16
|
identities;
|
|
17
17
|
projectPromise;
|
|
18
|
+
twitterPromise;
|
|
19
|
+
strategyCache = new Map();
|
|
18
20
|
constructor(params) {
|
|
19
21
|
this.projectId = params.projectId;
|
|
20
22
|
this.endpoint = params.endpoint;
|
|
@@ -24,8 +26,28 @@ class SignatureAirdropClient {
|
|
|
24
26
|
else {
|
|
25
27
|
this.projectPromise = this.initializeProjects();
|
|
26
28
|
}
|
|
29
|
+
if ((0, utils_1.isMobile)()) {
|
|
30
|
+
this.twitterPromise = this.checkAndHandleTwitterCode();
|
|
31
|
+
}
|
|
27
32
|
}
|
|
28
33
|
LOCAL_STORAGE_SID_PREFIX = 'sid_';
|
|
34
|
+
async checkAndHandleTwitterCode() {
|
|
35
|
+
try {
|
|
36
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
37
|
+
const code = urlParams.get('code');
|
|
38
|
+
const type = urlParams.get('type');
|
|
39
|
+
if (type === 'twitter' && code && this.projectId) {
|
|
40
|
+
const res = await (0, services_1.connectTwitter)({ code, projectId: this.projectId }, this.endpoint);
|
|
41
|
+
if (res?.sid) {
|
|
42
|
+
this.setSid(this.projectId, res.sid);
|
|
43
|
+
}
|
|
44
|
+
(0, utils_1.cleanUrlParams)(['code', 'type']);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error(error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
29
51
|
setSid(projectId, sid) {
|
|
30
52
|
window.localStorage.setItem(`${this.LOCAL_STORAGE_SID_PREFIX}${projectId}`, sid);
|
|
31
53
|
}
|
|
@@ -54,6 +76,12 @@ class SignatureAirdropClient {
|
|
|
54
76
|
}
|
|
55
77
|
async connectX({ onSuccess, onError }) {
|
|
56
78
|
const project = await this.getProjectInfo();
|
|
79
|
+
const authorizeUrl = project.identities.find((item) => item.identityType === types_2.AirdropSigIdentityTypeEnum.Twitter)?.authorizeUrl;
|
|
80
|
+
if ((0, utils_1.isMobile)()) {
|
|
81
|
+
const state = encodeURIComponent(window.location.href);
|
|
82
|
+
window.location.href = `${authorizeUrl}&state=${state}`;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
57
85
|
const onWindowMessage = async (message) => {
|
|
58
86
|
if (message.data.name && message.data.name === constants_1.CONST.TWITTER_AUTH_SUCCESS) {
|
|
59
87
|
const { code } = message.data.data || {};
|
|
@@ -65,7 +93,7 @@ class SignatureAirdropClient {
|
|
|
65
93
|
onSuccess();
|
|
66
94
|
}
|
|
67
95
|
catch (error) {
|
|
68
|
-
onError();
|
|
96
|
+
onError(error);
|
|
69
97
|
}
|
|
70
98
|
finally {
|
|
71
99
|
window.removeEventListener('message', onWindowMessage);
|
|
@@ -73,8 +101,7 @@ class SignatureAirdropClient {
|
|
|
73
101
|
}
|
|
74
102
|
};
|
|
75
103
|
window.addEventListener('message', onWindowMessage);
|
|
76
|
-
|
|
77
|
-
window.open(authorizeUrl + '&state=state', `twitter_auth_${project.id}`, 'width=600,height=800');
|
|
104
|
+
window.open(`${authorizeUrl}&state=state`, `twitter_auth_${project.id}`, 'width=600,height=800');
|
|
78
105
|
}
|
|
79
106
|
async connectWallet({ chainType, onSuccess, onError }) {
|
|
80
107
|
try {
|
|
@@ -86,7 +113,6 @@ class SignatureAirdropClient {
|
|
|
86
113
|
[types_1.ChainType.Solana]: types_2.AirdropSigIdentityTypeEnum.SolanaWallet,
|
|
87
114
|
[types_1.ChainType.Ton]: types_2.AirdropSigIdentityTypeEnum.TONWallet
|
|
88
115
|
};
|
|
89
|
-
console.log(recipientTypeMap, recipientTypeMap[chainType], 'chain');
|
|
90
116
|
const msg = [project.id, recipientTypeMap[chainType], timestamp].join(',');
|
|
91
117
|
const signResult = await wallet.signin(msg, false);
|
|
92
118
|
await wallet.disconnect();
|
|
@@ -108,7 +134,7 @@ class SignatureAirdropClient {
|
|
|
108
134
|
if (res?.sid) {
|
|
109
135
|
this.setSid(project.id, res?.sid);
|
|
110
136
|
}
|
|
111
|
-
onSuccess?.();
|
|
137
|
+
onSuccess?.(wallet.address);
|
|
112
138
|
}
|
|
113
139
|
catch (error) {
|
|
114
140
|
onError?.(error);
|
|
@@ -116,6 +142,9 @@ class SignatureAirdropClient {
|
|
|
116
142
|
}
|
|
117
143
|
async getClaims() {
|
|
118
144
|
const project = await this.getProjectInfo();
|
|
145
|
+
if (this.twitterPromise) {
|
|
146
|
+
await this.twitterPromise;
|
|
147
|
+
}
|
|
119
148
|
const res = await (0, services_1.checkEligibility)({
|
|
120
149
|
projectId: project.id
|
|
121
150
|
}, this.endpoint);
|
|
@@ -133,26 +162,38 @@ class SignatureAirdropClient {
|
|
|
133
162
|
}
|
|
134
163
|
async getStrategy(walletClient) {
|
|
135
164
|
const project = await this.getProjectInfo();
|
|
136
|
-
|
|
137
|
-
|
|
165
|
+
const cacheKey = walletClient
|
|
166
|
+
? project.chainType === types_1.ChainType.Evm
|
|
167
|
+
? walletClient.account?.address
|
|
168
|
+
: project.chainType === types_1.ChainType.Solana
|
|
169
|
+
? walletClient.publicKey.toString()
|
|
170
|
+
: 'walletClient'
|
|
171
|
+
: 'default';
|
|
172
|
+
if (this.strategyCache.has(cacheKey)) {
|
|
173
|
+
return this.strategyCache.get(cacheKey);
|
|
174
|
+
}
|
|
175
|
+
const strategy = project.chainType === types_1.ChainType.Solana
|
|
176
|
+
? new contracts_1.SolanaSignatureAirdropService({
|
|
138
177
|
chainId: project.chainId,
|
|
139
178
|
projectId: project.id,
|
|
140
179
|
token: project.tokenAddress,
|
|
141
180
|
walletClient: walletClient
|
|
181
|
+
})
|
|
182
|
+
: new contracts_1.EvmSignatureAirdropService({
|
|
183
|
+
chainId: Number(project.chainId),
|
|
184
|
+
contractAddress: project.contractAddress,
|
|
185
|
+
walletClient: walletClient
|
|
142
186
|
});
|
|
143
|
-
|
|
144
|
-
return
|
|
145
|
-
chainId: Number(project.chainId),
|
|
146
|
-
contractAddress: project.contractAddress,
|
|
147
|
-
walletClient: walletClient
|
|
148
|
-
});
|
|
187
|
+
this.strategyCache.set(cacheKey, strategy);
|
|
188
|
+
return strategy;
|
|
149
189
|
}
|
|
150
190
|
async getVersion() {
|
|
151
191
|
const strategy = await this.getStrategy();
|
|
152
192
|
return strategy.getVersion();
|
|
153
193
|
}
|
|
154
|
-
|
|
155
|
-
|
|
194
|
+
// solana prams need to wallet
|
|
195
|
+
async getClaimFee(amount, walletClient) {
|
|
196
|
+
const strategy = await this.getStrategy(walletClient);
|
|
156
197
|
if (!strategy.getClaimFee) {
|
|
157
198
|
throw new Error('getClaimFee is not supported for this chain');
|
|
158
199
|
}
|
|
@@ -169,6 +210,7 @@ class SignatureAirdropClient {
|
|
|
169
210
|
throw new Error('No claims available');
|
|
170
211
|
}
|
|
171
212
|
const service = await this.getStrategy(walletClient);
|
|
213
|
+
const project = await this.getProjectInfo();
|
|
172
214
|
const res = await (0, services_1.checkGetSignatures)({
|
|
173
215
|
claimIds,
|
|
174
216
|
projectId: this.projectId
|
|
@@ -184,6 +226,8 @@ class SignatureAirdropClient {
|
|
|
184
226
|
if (!filteredClaims.length) {
|
|
185
227
|
throw new Error('No matching claims found');
|
|
186
228
|
}
|
|
229
|
+
// only evm use
|
|
230
|
+
const defaultRecipient = project.chainType === types_1.ChainType.Evm ? walletClient.account?.address : '';
|
|
187
231
|
const claimData = filteredClaims.map((it) => {
|
|
188
232
|
const signature = signatureMap[it.claimId];
|
|
189
233
|
if (!signature) {
|
|
@@ -191,13 +235,11 @@ class SignatureAirdropClient {
|
|
|
191
235
|
}
|
|
192
236
|
return {
|
|
193
237
|
...it,
|
|
194
|
-
recipient: recipient ? recipient :
|
|
238
|
+
recipient: recipient ? recipient : defaultRecipient,
|
|
195
239
|
...signature
|
|
196
240
|
};
|
|
197
241
|
});
|
|
198
|
-
const
|
|
199
|
-
const feeData = (await this.getClaimFee(1n)) || 0n;
|
|
200
|
-
const hash = (await service.claim(claimData, delegateMode ? feeData * BigInt(claimData.length) : feeData));
|
|
242
|
+
const hash = (await service.claim(claimData, recipient));
|
|
201
243
|
return hash;
|
|
202
244
|
}
|
|
203
245
|
async batchCheckClaimed() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureAirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/SignatureAirdropClient.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"SignatureAirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/SignatureAirdropClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -874,6 +874,38 @@ export declare function getChainById(chainId: ChainId): {
|
|
|
874
874
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
875
875
|
formatters?: undefined;
|
|
876
876
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
877
|
+
} | {
|
|
878
|
+
blockExplorers: {
|
|
879
|
+
readonly default: {
|
|
880
|
+
readonly name: "Arbiscan";
|
|
881
|
+
readonly url: "https://arbiscan.io";
|
|
882
|
+
readonly apiUrl: "https://api.arbiscan.io/api";
|
|
883
|
+
};
|
|
884
|
+
};
|
|
885
|
+
contracts: {
|
|
886
|
+
readonly multicall3: {
|
|
887
|
+
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
|
|
888
|
+
readonly blockCreated: 7654707;
|
|
889
|
+
};
|
|
890
|
+
};
|
|
891
|
+
id: 42161;
|
|
892
|
+
name: "Arbitrum One";
|
|
893
|
+
nativeCurrency: {
|
|
894
|
+
readonly name: "Ether";
|
|
895
|
+
readonly symbol: "ETH";
|
|
896
|
+
readonly decimals: 18;
|
|
897
|
+
};
|
|
898
|
+
rpcUrls: {
|
|
899
|
+
readonly default: {
|
|
900
|
+
readonly http: readonly ["https://arb1.arbitrum.io/rpc"];
|
|
901
|
+
};
|
|
902
|
+
};
|
|
903
|
+
sourceId?: number | undefined;
|
|
904
|
+
testnet?: boolean | undefined;
|
|
905
|
+
custom?: Record<string, unknown> | undefined;
|
|
906
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
907
|
+
formatters?: undefined;
|
|
908
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
877
909
|
} | {
|
|
878
910
|
blockExplorers: {
|
|
879
911
|
readonly default: {
|
|
@@ -998,6 +1030,9 @@ export declare function getChainConfig(chainId: ChainId): {
|
|
|
998
1030
|
} | {
|
|
999
1031
|
contractAddress: string;
|
|
1000
1032
|
rpcUrl: string;
|
|
1033
|
+
} | {
|
|
1034
|
+
contractAddress: string;
|
|
1035
|
+
rpcUrl: "https://arb1.arbitrum.io/rpc";
|
|
1001
1036
|
} | {
|
|
1002
1037
|
contractAddress: string;
|
|
1003
1038
|
rpcUrl: string;
|
|
@@ -32,6 +32,10 @@ export declare const ChainConfig: {
|
|
|
32
32
|
contractAddress: string;
|
|
33
33
|
rpcUrl: string;
|
|
34
34
|
};
|
|
35
|
+
42161: {
|
|
36
|
+
contractAddress: string;
|
|
37
|
+
rpcUrl: "https://arb1.arbitrum.io/rpc";
|
|
38
|
+
};
|
|
35
39
|
80085: {
|
|
36
40
|
contractAddress: string;
|
|
37
41
|
rpcUrl: string;
|
|
@@ -941,6 +945,38 @@ export declare const SupportedChains: ({
|
|
|
941
945
|
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
942
946
|
formatters?: undefined;
|
|
943
947
|
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
948
|
+
} | {
|
|
949
|
+
blockExplorers: {
|
|
950
|
+
readonly default: {
|
|
951
|
+
readonly name: "Arbiscan";
|
|
952
|
+
readonly url: "https://arbiscan.io";
|
|
953
|
+
readonly apiUrl: "https://api.arbiscan.io/api";
|
|
954
|
+
};
|
|
955
|
+
};
|
|
956
|
+
contracts: {
|
|
957
|
+
readonly multicall3: {
|
|
958
|
+
readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
|
|
959
|
+
readonly blockCreated: 7654707;
|
|
960
|
+
};
|
|
961
|
+
};
|
|
962
|
+
id: 42161;
|
|
963
|
+
name: "Arbitrum One";
|
|
964
|
+
nativeCurrency: {
|
|
965
|
+
readonly name: "Ether";
|
|
966
|
+
readonly symbol: "ETH";
|
|
967
|
+
readonly decimals: 18;
|
|
968
|
+
};
|
|
969
|
+
rpcUrls: {
|
|
970
|
+
readonly default: {
|
|
971
|
+
readonly http: readonly ["https://arb1.arbitrum.io/rpc"];
|
|
972
|
+
};
|
|
973
|
+
};
|
|
974
|
+
sourceId?: number | undefined;
|
|
975
|
+
testnet?: boolean | undefined;
|
|
976
|
+
custom?: Record<string, unknown> | undefined;
|
|
977
|
+
fees?: import("viem").ChainFees<undefined> | undefined;
|
|
978
|
+
formatters?: undefined;
|
|
979
|
+
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
|
|
944
980
|
} | {
|
|
945
981
|
blockExplorers: {
|
|
946
982
|
readonly default: {
|
|
@@ -37,6 +37,10 @@ exports.ChainConfig = {
|
|
|
37
37
|
contractAddress: '0x00aFD4466E4Afa4F43cCd414b1BC65e574ACA2f5',
|
|
38
38
|
rpcUrl: 'https://zetachain-mainnet.g.alchemy.com/v2/1tmk0FrhwTJHXh0XIyae7_SXw1lDCjgs'
|
|
39
39
|
},
|
|
40
|
+
[chains_1.arbitrum.id]: {
|
|
41
|
+
contractAddress: '0x759ac3CA33FeeAfB8C41aEbC8687A7Bd849Fc87a',
|
|
42
|
+
rpcUrl: chains_1.arbitrum.rpcUrls.default.http[0]
|
|
43
|
+
},
|
|
40
44
|
[chains_1.berachainTestnet.id]: {
|
|
41
45
|
contractAddress: '',
|
|
42
46
|
rpcUrl: '',
|
|
@@ -84,6 +88,7 @@ exports.SupportedChains = [
|
|
|
84
88
|
chains_1.polygonMumbai,
|
|
85
89
|
chains_1.polygonAmoy,
|
|
86
90
|
network_1.mevmDevNet,
|
|
91
|
+
chains_1.arbitrum,
|
|
87
92
|
network_1.tonTestNet,
|
|
88
93
|
network_1.tonMainNet
|
|
89
94
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-config.js","sourceRoot":"","sources":["../../../../src/airdrop/constants/chain-config.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAC7C,wCAcqB;AACrB,uCAA+D;AAElD,QAAA,WAAW,GAAG;IACzB,CAAC,gBAAO,CAAC,EAAE,CAAC,EAAE;QACZ,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,uEAAuE;KAChF;IACD,CAAC,YAAG,CAAC,EAAE,CAAC,EAAE;QACR,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,uEAAuE;KAChF;IACD,CAAC,aAAI,CAAC,EAAE,CAAC,EAAE;QACT,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,aAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACrC;IACD,CAAC,cAAK,CAAC,EAAE,CAAC,EAAE;QACV,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,cAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACtC;IACD,CAAC,gBAAO,CAAC,EAAE,CAAC,EAAE;QACZ,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,wCAAwC;KACjD;IACD,CAAC,oBAAW,CAAC,EAAE,CAAC,EAAE;QAChB,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,oBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5C;IACD,CAAC,+BAAsB,CAAC,EAAE,CAAC,EAAE;QAC3B,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,+BAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACvD;IACD,CAAC,kBAAS,CAAC,EAAE,CAAC,EAAE;QACd,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,6EAA6E;KACtF;IACD,CAAC,yBAAgB,CAAC,EAAE,CAAC,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,EAAE;QACV,kBAAkB,EAAE,EAAE;KACvB;IACD,CAAC,sBAAa,CAAC,EAAE,CAAC,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,EAAE;QACV,kBAAkB,EAAE,EAAE;KACvB;IACD,CAAC,oBAAW,CAAC,EAAE,CAAC,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,EAAE;QACV,kBAAkB,EAAE,EAAE;KACvB;IACD,CAAC,oBAAU,CAAC,EAAE,CAAC,EAAE;QACf,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,oBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3C;IACD,CAAC,gBAAK,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,8CAA8C,EAAE,sCAAsC;QAC9F,YAAY,EAAE,2BAA2B;QACzC,aAAa,EAAE,+BAA+B;KAC/C;IACD,CAAC,gBAAK,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,sCAAsC;QAC9C,YAAY,EAAE,mBAAmB;QACjC,aAAa,EAAE,uBAAuB;KACvC;CACF,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,gBAAO;IACP,YAAG;IACH,aAAI;IACJ,cAAK;IACL,gBAAO;IACP,oBAAW;IACX,kBAAS;IACT,+BAAsB;IACtB,yBAAgB;IAChB,sBAAa;IACb,oBAAW;IACX,oBAAU;IACV,oBAAU;IACV,oBAAU;CACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"chain-config.js","sourceRoot":"","sources":["../../../../src/airdrop/constants/chain-config.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAC7C,wCAcqB;AACrB,uCAA+D;AAElD,QAAA,WAAW,GAAG;IACzB,CAAC,gBAAO,CAAC,EAAE,CAAC,EAAE;QACZ,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,uEAAuE;KAChF;IACD,CAAC,YAAG,CAAC,EAAE,CAAC,EAAE;QACR,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,uEAAuE;KAChF;IACD,CAAC,aAAI,CAAC,EAAE,CAAC,EAAE;QACT,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,aAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACrC;IACD,CAAC,cAAK,CAAC,EAAE,CAAC,EAAE;QACV,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,cAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACtC;IACD,CAAC,gBAAO,CAAC,EAAE,CAAC,EAAE;QACZ,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,wCAAwC;KACjD;IACD,CAAC,oBAAW,CAAC,EAAE,CAAC,EAAE;QAChB,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,oBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC5C;IACD,CAAC,+BAAsB,CAAC,EAAE,CAAC,EAAE;QAC3B,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,+BAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACvD;IACD,CAAC,kBAAS,CAAC,EAAE,CAAC,EAAE;QACd,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,6EAA6E;KACtF;IACD,CAAC,iBAAQ,CAAC,EAAE,CAAC,EAAE;QACb,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,iBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KACzC;IACD,CAAC,yBAAgB,CAAC,EAAE,CAAC,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,EAAE;QACV,kBAAkB,EAAE,EAAE;KACvB;IACD,CAAC,sBAAa,CAAC,EAAE,CAAC,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,EAAE;QACV,kBAAkB,EAAE,EAAE;KACvB;IACD,CAAC,oBAAW,CAAC,EAAE,CAAC,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,EAAE;QACV,kBAAkB,EAAE,EAAE;KACvB;IACD,CAAC,oBAAU,CAAC,EAAE,CAAC,EAAE;QACf,eAAe,EAAE,4CAA4C;QAC7D,MAAM,EAAE,oBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC3C;IACD,CAAC,gBAAK,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,8CAA8C,EAAE,sCAAsC;QAC9F,YAAY,EAAE,2BAA2B;QACzC,aAAa,EAAE,+BAA+B;KAC/C;IACD,CAAC,gBAAK,CAAC,OAAO,CAAC,EAAE;QACf,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,sCAAsC;QAC9C,YAAY,EAAE,mBAAmB;QACjC,aAAa,EAAE,uBAAuB;KACvC;CACF,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,gBAAO;IACP,YAAG;IACH,aAAI;IACJ,cAAK;IACL,gBAAO;IACP,oBAAW;IACX,kBAAS;IACT,+BAAsB;IACtB,yBAAgB;IAChB,sBAAa;IACb,oBAAW;IACX,oBAAU;IACV,iBAAQ;IACR,oBAAU;IACV,oBAAU;CACX,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SignatureAirdropService = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
4
5
|
const constants_1 = require("../../constants");
|
|
5
6
|
const AirdropSignatureClient_1 = require("./contracts/AirdropSignatureClient");
|
|
6
7
|
const DeployClient_1 = require("./contracts/DeployClient");
|
|
@@ -66,7 +67,11 @@ class SignatureAirdropService {
|
|
|
66
67
|
async getPaused() {
|
|
67
68
|
return this.airdropClient.getPaused();
|
|
68
69
|
}
|
|
69
|
-
async claim(data,
|
|
70
|
+
async claim(data, recipient) {
|
|
71
|
+
const defaultRecipient = this.options.walletClient?.account?.address;
|
|
72
|
+
const delegateMode = recipient ? (0, viem_1.getAddress)(recipient) !== defaultRecipient : false;
|
|
73
|
+
const feeData = (await this.getClaimFee(this.options.contractAddress, 1n)) || 0n;
|
|
74
|
+
const value = delegateMode ? feeData * BigInt(data.length) : feeData;
|
|
70
75
|
return this.airdropClient.claim(data, value);
|
|
71
76
|
}
|
|
72
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/evm/SignatureAirdropService.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAE/C,+EAA4E;AAC5E,2DAA0D;AAC1D,uEAAoE;AAEpE,MAAa,uBAAuB;IAClC,OAAO,CAA0B;IACjC,YAAY,OAAgC;QAC1C,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,+CAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,IAAI,6BAAc,CAAC;YACxB,GAAG,IAAI,CAAC,OAAO;YACf,eAAe,EAAE,QAAQ;SAC1B,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,uCAAkB,CAAC;YAC5B,GAAG,IAAI,CAAC,OAAO;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAkB;YACxC,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QACxC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,SAAS,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QACpC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO,MAAM,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,KAAK,CAAC,mBAAmB;QACvB,mDAAmD;IACrD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,eAAyB,CAAC,CAAC;QACtF,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,wBAAY,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAsB,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAW,CAAC;QAChE,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,IAMG,EACH,
|
|
1
|
+
{"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/evm/SignatureAirdropService.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,10 @@ import { FeeCollectorClient } from './FeeCollectorClient';
|
|
|
5
5
|
export declare class AirdropSignatureClient extends SolanaContractClientBase<FungibleTokenDistributorSolana> {
|
|
6
6
|
projectId: string;
|
|
7
7
|
constructor(options: SolanaContractInfo);
|
|
8
|
-
|
|
8
|
+
getVersionPDA(): Promise<PublicKey>;
|
|
9
|
+
getVersion(): Promise<string>;
|
|
9
10
|
get FeeCollector(): FeeCollectorClient;
|
|
11
|
+
getClaimFee(amount: bigint): Promise<bigint>;
|
|
10
12
|
getStoragePDA(): Promise<PublicKey>;
|
|
11
13
|
getAirdropPDA(): Promise<PublicKey>;
|
|
12
14
|
getVaultPDA(): Promise<PublicKey>;
|
|
@@ -26,6 +28,10 @@ export declare class AirdropSignatureClient extends SolanaContractClientBase<Fun
|
|
|
26
28
|
initialize(projectId: string, feeCollector?: PublicKey): Promise<string>;
|
|
27
29
|
setBaseParams(tokenAddress: string, startTime: number, endTime: number, signer: string): Promise<void>;
|
|
28
30
|
togglePause(): Promise<void>;
|
|
31
|
+
getFeeInfo(): Promise<{
|
|
32
|
+
feeToken: string;
|
|
33
|
+
feeCollector: string;
|
|
34
|
+
}>;
|
|
29
35
|
claim(data: {
|
|
30
36
|
recipient: string;
|
|
31
37
|
data: string;
|
|
@@ -35,5 +41,5 @@ export declare class AirdropSignatureClient extends SolanaContractClientBase<Fun
|
|
|
35
41
|
unlockingAt: number;
|
|
36
42
|
value: string;
|
|
37
43
|
hash: string;
|
|
38
|
-
}[]): Promise<string
|
|
44
|
+
}[]): Promise<string>;
|
|
39
45
|
}
|
|
@@ -43,8 +43,14 @@ class AirdropSignatureClient extends SolanaContractClient_1.SolanaContractClient
|
|
|
43
43
|
});
|
|
44
44
|
this.projectId = options.projectId;
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
async getVersionPDA() {
|
|
47
|
+
const [versionPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('version')]);
|
|
48
|
+
return versionPDA;
|
|
49
|
+
}
|
|
50
|
+
async getVersion() {
|
|
51
|
+
const versionPDA = await this.getVersionPDA();
|
|
52
|
+
const versionData = await this.fetchAccountData('version', versionPDA);
|
|
53
|
+
return versionData.version;
|
|
48
54
|
}
|
|
49
55
|
get FeeCollector() {
|
|
50
56
|
return new FeeCollectorClient_1.FeeCollectorClient({
|
|
@@ -53,6 +59,9 @@ class AirdropSignatureClient extends SolanaContractClient_1.SolanaContractClient
|
|
|
53
59
|
chainId: this.chainId
|
|
54
60
|
});
|
|
55
61
|
}
|
|
62
|
+
async getClaimFee(amount) {
|
|
63
|
+
return this.FeeCollector.getClaimFee(amount.toString());
|
|
64
|
+
}
|
|
56
65
|
async getStoragePDA() {
|
|
57
66
|
const [storagePDA] = await this.findProgramAddress([
|
|
58
67
|
anchor.utils.bytes.utf8.encode('storage'),
|
|
@@ -83,9 +92,7 @@ class AirdropSignatureClient extends SolanaContractClient_1.SolanaContractClient
|
|
|
83
92
|
}
|
|
84
93
|
async getContractInfo() {
|
|
85
94
|
const airdropPDA = await this.getAirdropPDA();
|
|
86
|
-
console.log(airdropPDA);
|
|
87
95
|
const config = await this.fetchAccountData('airdrop', airdropPDA);
|
|
88
|
-
console.log(config);
|
|
89
96
|
return {
|
|
90
97
|
version: '1.0.0',
|
|
91
98
|
token: config.token.toString(),
|
|
@@ -104,8 +111,7 @@ class AirdropSignatureClient extends SolanaContractClient_1.SolanaContractClient
|
|
|
104
111
|
const claimPDA = await this.getClaimPDA(id);
|
|
105
112
|
try {
|
|
106
113
|
const claimData = await this.fetchAccountData('claim', claimPDA);
|
|
107
|
-
|
|
108
|
-
return true;
|
|
114
|
+
return claimData?.used;
|
|
109
115
|
}
|
|
110
116
|
catch (error) {
|
|
111
117
|
return false;
|
|
@@ -142,57 +148,67 @@ class AirdropSignatureClient extends SolanaContractClient_1.SolanaContractClient
|
|
|
142
148
|
async togglePause() {
|
|
143
149
|
await this.invokeInstruction('togglePause', {}, [this.projectId]);
|
|
144
150
|
}
|
|
151
|
+
async getFeeInfo() {
|
|
152
|
+
const airdropPDA = await this.getAirdropPDA();
|
|
153
|
+
const config = await this.fetchAccountData('airdrop', airdropPDA);
|
|
154
|
+
return {
|
|
155
|
+
feeToken: config.feeToken.toString(),
|
|
156
|
+
feeCollector: config.feeCollector.toString()
|
|
157
|
+
};
|
|
158
|
+
}
|
|
145
159
|
async claim(data) {
|
|
146
160
|
const config = await this.getContractInfo();
|
|
147
161
|
const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
|
|
148
|
-
const
|
|
162
|
+
const feePDA = await this.FeeCollector.getProjectFeePDA();
|
|
149
163
|
const airdropPDA = await this.getAirdropPDA();
|
|
150
|
-
const
|
|
164
|
+
const tokenVersion = await (0, utils_1.fetchTokenVersion)(config.token, {
|
|
165
|
+
clusterOrEndpoint: this.chainId
|
|
166
|
+
});
|
|
151
167
|
const authorityATA = await (0, utils_1.getOrCreateAssociatedTokenAccount)({
|
|
152
168
|
connection: this.connection,
|
|
153
169
|
payer: this.wallet.publicKey,
|
|
154
170
|
mint: new web3_js_1.PublicKey(config.token),
|
|
155
171
|
owner: new web3_js_1.PublicKey(this.wallet.publicKey),
|
|
156
172
|
signTransaction: this.wallet.signTransaction,
|
|
157
|
-
programId: spl_token_1.TOKEN_2022_PROGRAM_ID
|
|
173
|
+
programId: tokenVersion?.programId || spl_token_1.TOKEN_2022_PROGRAM_ID
|
|
158
174
|
});
|
|
159
|
-
|
|
175
|
+
let lastHash = '';
|
|
176
|
+
// solana max transaction size of 1232
|
|
160
177
|
for (const claim of data) {
|
|
178
|
+
const tx = new anchor.web3.Transaction();
|
|
161
179
|
tx.add(anchor.web3.Ed25519Program.createInstructionWithPublicKey({
|
|
162
180
|
publicKey: new web3_js_1.PublicKey(config.signer).toBytes(),
|
|
163
181
|
message: Uint8Array.from((0, utils_1.hexStrToU8Array)(claim.hash)),
|
|
164
182
|
signature: new Uint8Array((0, utils_1.hexStrToU8Array)(claim.signature))
|
|
165
183
|
}));
|
|
166
|
-
console.log(anchor.web3.Ed25519Program.programId.toString(), {
|
|
167
|
-
publicKey: new web3_js_1.PublicKey(config.signer).toBytes(),
|
|
168
|
-
message: Uint8Array.from((0, utils_1.hexStrToU8Array)(claim.hash)),
|
|
169
|
-
signature: new Uint8Array((0, utils_1.hexStrToU8Array)(claim.signature))
|
|
170
|
-
}, 'sign');
|
|
171
184
|
const claimPDA = await this.getClaimPDA(claim.claimId);
|
|
172
185
|
const decodedData = {
|
|
173
186
|
claimableTimestamp: new anchor.BN(claim.unlockingAt),
|
|
174
187
|
claimableAmount: new anchor.BN(claim.value)
|
|
175
188
|
};
|
|
176
|
-
console.log(airdropPDA.toString(), claimPDA, this.projectId, new Uint8Array((0, utils_1.hexStrToU8Array)(claim.claimId)), [], decodedData, Buffer.from((0, utils_1.hexStrToU8Array)(claim.signature)), 'txdata');
|
|
177
189
|
tx.add(await this.program.methods
|
|
178
190
|
.claim(this.projectId, new Uint8Array((0, utils_1.hexStrToU8Array)(claim.claimId)), [], decodedData, Buffer.from((0, utils_1.hexStrToU8Array)(claim.signature)))
|
|
179
191
|
.accountsPartial({
|
|
180
192
|
authority: this.wallet.publicKey,
|
|
181
193
|
airdrop: airdropPDA,
|
|
182
194
|
claim: claimPDA,
|
|
183
|
-
vault: vaultPDA,
|
|
184
195
|
authorityAta: authorityATA.address,
|
|
185
196
|
tokenMint: new web3_js_1.PublicKey(config.token),
|
|
186
197
|
feeCollectorStorage: feeCollectorStoragePDA,
|
|
187
198
|
feeCollectorVault: null,
|
|
188
|
-
|
|
199
|
+
fee: feePDA,
|
|
189
200
|
authorityFeeAta: null,
|
|
190
|
-
tokenProgram: spl_token_1.TOKEN_2022_PROGRAM_ID
|
|
201
|
+
tokenProgram: tokenVersion?.programId || spl_token_1.TOKEN_2022_PROGRAM_ID,
|
|
202
|
+
feeTokenProgram: null,
|
|
203
|
+
feeTokenMint: null
|
|
191
204
|
})
|
|
192
205
|
.transaction());
|
|
193
|
-
|
|
206
|
+
const hash = await this.program.provider.sendAndConfirm?.(tx, [], {
|
|
207
|
+
commitment: 'finalized'
|
|
208
|
+
});
|
|
209
|
+
lastHash = hash;
|
|
194
210
|
}
|
|
195
|
-
return
|
|
211
|
+
return lastHash;
|
|
196
212
|
}
|
|
197
213
|
}
|
|
198
214
|
exports.AirdropSignatureClient = AirdropSignatureClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA4C;AAC5C,iEAAsF;AACtF,sHAA2D;AAC3D,0DAA4C;AAE5C,iDAA0D;AAC1D,6DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
|