@sign-global/tokentable 0.4.1-beta.1 → 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 +5 -2
- package/dist/cjs/airdrop/SignatureAirdropClient.js +61 -18
- 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 +5 -2
- package/dist/esm/airdrop/SignatureAirdropClient.js +61 -18
- 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 +1 -1
- package/src/airdrop/SignatureAirdropClient.ts +77 -31
- 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,8 +8,11 @@ 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>;
|
|
@@ -20,7 +23,7 @@ export declare class SignatureAirdropClient {
|
|
|
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 || {};
|
|
@@ -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 {
|
|
@@ -107,7 +134,7 @@ class SignatureAirdropClient {
|
|
|
107
134
|
if (res?.sid) {
|
|
108
135
|
this.setSid(project.id, res?.sid);
|
|
109
136
|
}
|
|
110
|
-
onSuccess?.();
|
|
137
|
+
onSuccess?.(wallet.address);
|
|
111
138
|
}
|
|
112
139
|
catch (error) {
|
|
113
140
|
onError?.(error);
|
|
@@ -115,6 +142,9 @@ class SignatureAirdropClient {
|
|
|
115
142
|
}
|
|
116
143
|
async getClaims() {
|
|
117
144
|
const project = await this.getProjectInfo();
|
|
145
|
+
if (this.twitterPromise) {
|
|
146
|
+
await this.twitterPromise;
|
|
147
|
+
}
|
|
118
148
|
const res = await (0, services_1.checkEligibility)({
|
|
119
149
|
projectId: project.id
|
|
120
150
|
}, this.endpoint);
|
|
@@ -132,26 +162,38 @@ class SignatureAirdropClient {
|
|
|
132
162
|
}
|
|
133
163
|
async getStrategy(walletClient) {
|
|
134
164
|
const project = await this.getProjectInfo();
|
|
135
|
-
|
|
136
|
-
|
|
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({
|
|
137
177
|
chainId: project.chainId,
|
|
138
178
|
projectId: project.id,
|
|
139
179
|
token: project.tokenAddress,
|
|
140
180
|
walletClient: walletClient
|
|
181
|
+
})
|
|
182
|
+
: new contracts_1.EvmSignatureAirdropService({
|
|
183
|
+
chainId: Number(project.chainId),
|
|
184
|
+
contractAddress: project.contractAddress,
|
|
185
|
+
walletClient: walletClient
|
|
141
186
|
});
|
|
142
|
-
|
|
143
|
-
return
|
|
144
|
-
chainId: Number(project.chainId),
|
|
145
|
-
contractAddress: project.contractAddress,
|
|
146
|
-
walletClient: walletClient
|
|
147
|
-
});
|
|
187
|
+
this.strategyCache.set(cacheKey, strategy);
|
|
188
|
+
return strategy;
|
|
148
189
|
}
|
|
149
190
|
async getVersion() {
|
|
150
191
|
const strategy = await this.getStrategy();
|
|
151
192
|
return strategy.getVersion();
|
|
152
193
|
}
|
|
153
|
-
|
|
154
|
-
|
|
194
|
+
// solana prams need to wallet
|
|
195
|
+
async getClaimFee(amount, walletClient) {
|
|
196
|
+
const strategy = await this.getStrategy(walletClient);
|
|
155
197
|
if (!strategy.getClaimFee) {
|
|
156
198
|
throw new Error('getClaimFee is not supported for this chain');
|
|
157
199
|
}
|
|
@@ -168,6 +210,7 @@ class SignatureAirdropClient {
|
|
|
168
210
|
throw new Error('No claims available');
|
|
169
211
|
}
|
|
170
212
|
const service = await this.getStrategy(walletClient);
|
|
213
|
+
const project = await this.getProjectInfo();
|
|
171
214
|
const res = await (0, services_1.checkGetSignatures)({
|
|
172
215
|
claimIds,
|
|
173
216
|
projectId: this.projectId
|
|
@@ -183,6 +226,8 @@ class SignatureAirdropClient {
|
|
|
183
226
|
if (!filteredClaims.length) {
|
|
184
227
|
throw new Error('No matching claims found');
|
|
185
228
|
}
|
|
229
|
+
// only evm use
|
|
230
|
+
const defaultRecipient = project.chainType === types_1.ChainType.Evm ? walletClient.account?.address : '';
|
|
186
231
|
const claimData = filteredClaims.map((it) => {
|
|
187
232
|
const signature = signatureMap[it.claimId];
|
|
188
233
|
if (!signature) {
|
|
@@ -190,13 +235,11 @@ class SignatureAirdropClient {
|
|
|
190
235
|
}
|
|
191
236
|
return {
|
|
192
237
|
...it,
|
|
193
|
-
recipient: recipient ? recipient :
|
|
238
|
+
recipient: recipient ? recipient : defaultRecipient,
|
|
194
239
|
...signature
|
|
195
240
|
};
|
|
196
241
|
});
|
|
197
|
-
const
|
|
198
|
-
const feeData = (await this.getClaimFee(1n)) || 0n;
|
|
199
|
-
const hash = (await service.claim(claimData, delegateMode ? feeData * BigInt(claimData.length) : feeData));
|
|
242
|
+
const hash = (await service.claim(claimData, recipient));
|
|
200
243
|
return hash;
|
|
201
244
|
}
|
|
202
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":"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"}
|
|
@@ -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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"}
|
|
@@ -5,6 +5,7 @@ export declare class FeeCollectorClient extends SolanaContractClientBase<FeeColl
|
|
|
5
5
|
projectId: string;
|
|
6
6
|
constructor(options: SolanaContractInfo);
|
|
7
7
|
getStoragePDA(): Promise<PublicKey>;
|
|
8
|
-
|
|
8
|
+
getProjectFeePDA(): Promise<PublicKey>;
|
|
9
9
|
setDefaultFee(fee: string): Promise<string>;
|
|
10
|
+
getClaimFee(tokenAmount: string): Promise<bigint>;
|
|
10
11
|
}
|