@sign-global/tokentable 0.4.0-beta.1 → 0.4.0-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/README.md +98 -2
- package/dist/cjs/airdrop/AirdropClient.js +9 -2
- package/dist/cjs/airdrop/AirdropClient.js.map +1 -1
- package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +22 -9
- package/dist/cjs/airdrop/SignatureAirdropClient.js +95 -19
- package/dist/cjs/airdrop/SignatureAirdropClient.js.map +1 -1
- package/dist/cjs/airdrop/core/evm/SignatureAirdropService.d.ts +23 -0
- package/dist/cjs/airdrop/core/evm/SignatureAirdropService.js +71 -0
- package/dist/cjs/airdrop/core/evm/SignatureAirdropService.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.d.ts +16 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.js +47 -0
- package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.js.map +1 -0
- package/dist/cjs/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.d.ts +1 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js +6 -3
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js.map +1 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.d.ts +2 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js +6 -4
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js.map +1 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.d.ts +1 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js +10 -11
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js.map +1 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.d.ts +1 -1
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js +10 -9
- package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js.map +1 -1
- package/dist/cjs/airdrop/services/index.d.ts +25 -8
- package/dist/cjs/airdrop/services/index.js +34 -5
- package/dist/cjs/airdrop/services/index.js.map +1 -1
- package/dist/cjs/airdrop/types/index.d.ts +27 -0
- package/dist/cjs/airdrop/types/index.js.map +1 -1
- package/dist/cjs/utils/api-client.d.ts +1 -0
- package/dist/cjs/utils/api-client.js +2 -2
- package/dist/cjs/utils/api-client.js.map +1 -1
- package/dist/esm/airdrop/AirdropClient.js +9 -2
- package/dist/esm/airdrop/AirdropClient.js.map +1 -1
- package/dist/esm/airdrop/SignatureAirdropClient.d.ts +22 -9
- package/dist/esm/airdrop/SignatureAirdropClient.js +96 -20
- package/dist/esm/airdrop/SignatureAirdropClient.js.map +1 -1
- package/dist/esm/airdrop/core/evm/SignatureAirdropService.d.ts +23 -0
- package/dist/esm/airdrop/core/evm/SignatureAirdropService.js +67 -0
- package/dist/esm/airdrop/core/evm/SignatureAirdropService.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.d.ts +16 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.js +40 -0
- package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.js.map +1 -0
- package/dist/esm/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.d.ts +1 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js +6 -3
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js.map +1 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.d.ts +2 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js +7 -5
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js.map +1 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.d.ts +1 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js +11 -12
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js.map +1 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.d.ts +1 -1
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js +10 -9
- package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js.map +1 -1
- package/dist/esm/airdrop/services/index.d.ts +25 -8
- package/dist/esm/airdrop/services/index.js +31 -4
- package/dist/esm/airdrop/services/index.js.map +1 -1
- package/dist/esm/airdrop/types/index.d.ts +27 -0
- package/dist/esm/airdrop/types/index.js.map +1 -1
- package/dist/esm/utils/api-client.d.ts +1 -0
- package/dist/esm/utils/api-client.js +2 -2
- package/dist/esm/utils/api-client.js.map +1 -1
- package/package.json +3 -3
- package/src/airdrop/AirdropClient.ts +8 -2
- package/src/airdrop/SignatureAirdropClient.ts +155 -27
- package/src/airdrop/core/evm/SignatureAirdropService.ts +90 -0
- package/src/airdrop/core/evm/contracts/AirdropSignatureClient.ts +56 -0
- package/src/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
- package/src/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.ts +6 -3
- package/src/airdrop/core/useWeb3ConnectWallet/providers/evm/index.tsx +18 -5
- package/src/airdrop/core/useWeb3ConnectWallet/providers/solana/index.tsx +11 -14
- package/src/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.ts +16 -12
- package/src/airdrop/services/index.ts +75 -14
- package/src/airdrop/types/index.ts +31 -1
- package/src/utils/api-client.ts +3 -2
package/README.md
CHANGED
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
npm install @sign-global/tokentable
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
## Based MerkleTree Airdrop
|
|
12
|
+
|
|
11
13
|
## Initialization
|
|
12
14
|
|
|
15
|
+
### Initialization AirdropClient
|
|
13
16
|
|
|
14
17
|
AirdropClient supports initialization for two chain types:
|
|
15
18
|
|
|
16
19
|
|
|
17
|
-
### Initialization AirdropClient
|
|
18
|
-
|
|
19
20
|
The baseURL parameter determines which environment the SDK will interact with. The default is the production environment. You can pass the test environment address for testing.
|
|
20
21
|
|
|
21
22
|
```typescript
|
|
@@ -150,3 +151,98 @@ try {
|
|
|
150
151
|
console.error("Failed to fetch claims:", error)
|
|
151
152
|
}
|
|
152
153
|
```
|
|
154
|
+
|
|
155
|
+
## Based Identity Airdrop
|
|
156
|
+
|
|
157
|
+
### Initialization
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
import { SignatureAirdropClient } from '@sign-global/tokentable';
|
|
161
|
+
|
|
162
|
+
const client = new SignatureAirdropClient({
|
|
163
|
+
projectId: 'your_project_id', // Project ID
|
|
164
|
+
});
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Main Features
|
|
168
|
+
|
|
169
|
+
#### Get Airdrop Claims
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
const res = await client.getClaims();
|
|
173
|
+
|
|
174
|
+
console.log(res);
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
#### Connect Identity
|
|
178
|
+
|
|
179
|
+
```typescript
|
|
180
|
+
const checkEligibility = () => {
|
|
181
|
+
const res = await client.getClaims();
|
|
182
|
+
|
|
183
|
+
console.log(res);
|
|
184
|
+
}
|
|
185
|
+
// Connect Twitter account
|
|
186
|
+
await client.connectX({
|
|
187
|
+
onSuccess: () => {
|
|
188
|
+
checkEligibility();
|
|
189
|
+
console.log('Twitter connection successful');
|
|
190
|
+
},
|
|
191
|
+
onError: () => {
|
|
192
|
+
console.log('Twitter connection failed');
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
// Connect wallet
|
|
197
|
+
await client.connectWallet({
|
|
198
|
+
chainType: ChainType.Evm, // Supports Evm, Solana
|
|
199
|
+
onSuccess: () => {
|
|
200
|
+
checkEligibility();
|
|
201
|
+
console.log('Wallet connection successful');
|
|
202
|
+
},
|
|
203
|
+
onError: (error) => {
|
|
204
|
+
console.log('Wallet connection failed:', error);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
// Disconnect identity
|
|
209
|
+
await client.disconnectIdentity({
|
|
210
|
+
recipientType: AirdropSigIdentityTypeEnum.Twitter,
|
|
211
|
+
recipient?: 'optional_recipient'
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Claim Airdrop
|
|
217
|
+
|
|
218
|
+
``` typescript
|
|
219
|
+
import { useWalletClient } from 'wagmi';
|
|
220
|
+
|
|
221
|
+
const { data: walletClient } = useWalletClient();
|
|
222
|
+
// Check airdrop eligibility
|
|
223
|
+
const eligibility = await client.getClaims();
|
|
224
|
+
|
|
225
|
+
// Batch check claim status
|
|
226
|
+
const claimedStatus = await client.batchCheckClaimed();
|
|
227
|
+
|
|
228
|
+
const claimIds = eligibility.claims.map((claim) => claim.claimId);
|
|
229
|
+
// Claim airdrop
|
|
230
|
+
const txHash = await client.claimAirdrop({
|
|
231
|
+
claimIds: claimIds, // List of claim IDs
|
|
232
|
+
walletClient: walletClient, // Wallet client
|
|
233
|
+
recipient: 'optional_recipient' // Optional: recipient address
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Error Handling
|
|
239
|
+
|
|
240
|
+
All SDK methods throw appropriate errors. It's recommended to use try-catch for error handling:
|
|
241
|
+
|
|
242
|
+
``` typescript
|
|
243
|
+
try {
|
|
244
|
+
await client.claimAirdrop({...});
|
|
245
|
+
} catch (error) {
|
|
246
|
+
console.error('Claim failed:', error);
|
|
247
|
+
}
|
|
248
|
+
```
|
|
@@ -22,7 +22,12 @@ class AirdropClient {
|
|
|
22
22
|
}
|
|
23
23
|
this.projectId = params.projectId;
|
|
24
24
|
this.endpoint = params.endpoint;
|
|
25
|
-
|
|
25
|
+
if (this.project) {
|
|
26
|
+
this.project = params.project;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.projectPromise = this.initializeProjects();
|
|
30
|
+
}
|
|
26
31
|
}
|
|
27
32
|
setTonClient(tonClient) {
|
|
28
33
|
this.tonClient = tonClient;
|
|
@@ -65,7 +70,9 @@ class AirdropClient {
|
|
|
65
70
|
}
|
|
66
71
|
}
|
|
67
72
|
async getProjectInfo() {
|
|
68
|
-
|
|
73
|
+
if (this.projectPromise) {
|
|
74
|
+
await this.projectPromise;
|
|
75
|
+
}
|
|
69
76
|
if (!this.project)
|
|
70
77
|
throw new Error('Project not found');
|
|
71
78
|
return this.project;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/AirdropClient.ts"],"names":[],"mappings":";;;AACA,yCAAyG;AACzG,mCASiB;AACjB,qCAAoD;AACpD,gFAA6E;AAE7E,8DAA2D;AAE3D,MAAa,aAAa;IAChB,SAAS,CAAa;IACtB,IAAI,CAAU;IACd,SAAS,CAAU;IACnB,QAAQ,CAAU;IAClB,OAAO,CAAuB;IAC5B,MAAM,CAAmB;IAC3B,cAAc,CAA4B;IAC1C,SAAS,CAAgC;IACzC,cAAc,GAA2B,IAAI,CAAC;IAEtD,YAAY,MAAuB;QACjC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"AirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/AirdropClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
import { SignatureAirdropService } from './core/evm/SignatureAirdropService';
|
|
1
2
|
import { ChainType } from './core/useWeb3ConnectWallet/types';
|
|
2
|
-
import { IAirdropOptions, IProject } from './types';
|
|
3
|
+
import { AirdropSigIdentityTypeEnum, IAirdropOptions, IAirdropSignatureClaim, IProject, IWalletClient } from './types';
|
|
3
4
|
export declare class SignatureAirdropClient {
|
|
4
|
-
private slug?;
|
|
5
5
|
private projectId?;
|
|
6
6
|
private endpoint?;
|
|
7
7
|
private project;
|
|
8
|
-
protected claims?:
|
|
8
|
+
protected claims?: IAirdropSignatureClaim[];
|
|
9
9
|
private projectPromise;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
});
|
|
10
|
+
constructor(params: IAirdropOptions);
|
|
11
|
+
private readonly LOCAL_STORAGE_SID_PREFIX;
|
|
12
|
+
private setSid;
|
|
14
13
|
private fetchProjectDetails;
|
|
15
14
|
protected initializeProjects(): Promise<void>;
|
|
16
15
|
getProjectInfo(): Promise<IProject>;
|
|
@@ -20,7 +19,21 @@ export declare class SignatureAirdropClient {
|
|
|
20
19
|
}): Promise<void>;
|
|
21
20
|
connectWallet({ chainType, onSuccess, onError }: {
|
|
22
21
|
chainType: ChainType;
|
|
23
|
-
onSuccess
|
|
24
|
-
onError
|
|
22
|
+
onSuccess?: () => void;
|
|
23
|
+
onError?: (error: any) => void;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
getClaims(): Promise<import("./types").IAirdropSignatureData>;
|
|
26
|
+
disconnectIdentity({ recipientType, recipient }: {
|
|
27
|
+
recipientType: AirdropSigIdentityTypeEnum;
|
|
28
|
+
recipient?: string;
|
|
25
29
|
}): Promise<void>;
|
|
30
|
+
getStrategy(walletClient?: IWalletClient): Promise<SignatureAirdropService>;
|
|
31
|
+
getVersion(): Promise<string>;
|
|
32
|
+
getClaimFee(amount?: bigint): Promise<undefined | bigint>;
|
|
33
|
+
claimAirdrop({ claimIds, walletClient, recipient }: {
|
|
34
|
+
claimIds: string[];
|
|
35
|
+
walletClient: IWalletClient;
|
|
36
|
+
recipient?: string;
|
|
37
|
+
}): Promise<`0x${string}`>;
|
|
38
|
+
batchCheckClaimed(): Promise<boolean[]>;
|
|
26
39
|
}
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SignatureAirdropClient = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
4
5
|
const constants_1 = require("./constants");
|
|
6
|
+
const SignatureAirdropService_1 = require("./core/evm/SignatureAirdropService");
|
|
5
7
|
const useWeb3ConnectWallet_1 = require("./core/useWeb3ConnectWallet");
|
|
6
8
|
const types_1 = require("./core/useWeb3ConnectWallet/types");
|
|
7
9
|
const services_1 = require("./services");
|
|
8
10
|
const types_2 = require("./types");
|
|
9
11
|
class SignatureAirdropClient {
|
|
10
|
-
slug;
|
|
11
12
|
projectId;
|
|
12
13
|
endpoint;
|
|
13
14
|
project;
|
|
14
15
|
claims;
|
|
15
16
|
projectPromise;
|
|
16
|
-
claimHook;
|
|
17
|
-
// private contractConfig: IContractConfig | null = null;
|
|
18
17
|
constructor(params) {
|
|
19
|
-
if ('slug' in params) {
|
|
20
|
-
this.slug = params.slug;
|
|
21
|
-
}
|
|
22
18
|
this.projectId = params.projectId;
|
|
23
19
|
this.endpoint = params.endpoint;
|
|
24
20
|
if (this.project) {
|
|
@@ -28,6 +24,10 @@ class SignatureAirdropClient {
|
|
|
28
24
|
this.projectPromise = this.initializeProjects();
|
|
29
25
|
}
|
|
30
26
|
}
|
|
27
|
+
LOCAL_STORAGE_SID_PREFIX = 'sid_';
|
|
28
|
+
setSid(projectId, sid) {
|
|
29
|
+
window.localStorage.setItem(`${this.LOCAL_STORAGE_SID_PREFIX}${projectId}`, sid);
|
|
30
|
+
}
|
|
31
31
|
async fetchProjectDetails(projectId) {
|
|
32
32
|
this.project = await (0, services_1.getAirdropProject)(projectId, this.endpoint);
|
|
33
33
|
}
|
|
@@ -55,13 +55,13 @@ class SignatureAirdropClient {
|
|
|
55
55
|
const project = await this.getProjectInfo();
|
|
56
56
|
const onWindowMessage = async (message) => {
|
|
57
57
|
if (message.data.name && message.data.name === constants_1.CONST.TWITTER_AUTH_SUCCESS) {
|
|
58
|
-
const {
|
|
58
|
+
const { code } = message.data.data || {};
|
|
59
59
|
try {
|
|
60
|
-
await (0, services_1.connectTwitter)({ code,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
onError();
|
|
60
|
+
const res = await (0, services_1.connectTwitter)({ code, projectId: project.id }, this.endpoint);
|
|
61
|
+
if (res?.sid) {
|
|
62
|
+
this.setSid(project.id, res?.sid);
|
|
64
63
|
}
|
|
64
|
+
onSuccess();
|
|
65
65
|
}
|
|
66
66
|
catch (error) {
|
|
67
67
|
onError();
|
|
@@ -79,30 +79,106 @@ class SignatureAirdropClient {
|
|
|
79
79
|
try {
|
|
80
80
|
const project = await this.getProjectInfo();
|
|
81
81
|
const wallet = useWeb3ConnectWallet_1.WalletFactory.getWallet(chainType);
|
|
82
|
-
|
|
83
|
-
const
|
|
82
|
+
await wallet.disconnect();
|
|
83
|
+
const timestamp = Date.now();
|
|
84
84
|
const recipientTypeMap = {
|
|
85
85
|
[types_1.ChainType.Evm]: types_2.AirdropSigIdentityTypeEnum.EVMWallet,
|
|
86
86
|
[types_1.ChainType.Solana]: types_2.AirdropSigIdentityTypeEnum.SolanaWallet,
|
|
87
87
|
[types_1.ChainType.Ton]: ''
|
|
88
88
|
};
|
|
89
|
+
const msg = [project.id, recipientTypeMap[chainType], timestamp].join(',');
|
|
90
|
+
const signResult = await wallet.signin(msg, false);
|
|
91
|
+
const { message, signature } = signResult || {};
|
|
89
92
|
const payload = {
|
|
90
93
|
signature: signature,
|
|
91
94
|
message: message,
|
|
92
95
|
key: wallet.publicKey || wallet.address,
|
|
93
96
|
projectId: project.id,
|
|
94
|
-
timestamp:
|
|
97
|
+
timestamp: timestamp,
|
|
95
98
|
recipientType: recipientTypeMap[chainType]
|
|
96
99
|
};
|
|
97
|
-
await (0, services_1.bindWallet)(payload, this.endpoint);
|
|
98
|
-
|
|
100
|
+
const res = await (0, services_1.bindWallet)(payload, this.endpoint);
|
|
101
|
+
if (res?.sid) {
|
|
102
|
+
this.setSid(project.id, res?.sid);
|
|
103
|
+
}
|
|
104
|
+
onSuccess?.();
|
|
99
105
|
}
|
|
100
106
|
catch (error) {
|
|
101
|
-
onError(error);
|
|
107
|
+
onError?.(error);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async getClaims() {
|
|
111
|
+
const project = await this.getProjectInfo();
|
|
112
|
+
const res = await (0, services_1.checkEligibility)({
|
|
113
|
+
projectId: project.id
|
|
114
|
+
}, this.endpoint);
|
|
115
|
+
this.claims = res.claims;
|
|
116
|
+
return res;
|
|
117
|
+
}
|
|
118
|
+
async disconnectIdentity({ recipientType, recipient }) {
|
|
119
|
+
const project = await this.getProjectInfo();
|
|
120
|
+
return await (0, services_1.disconnectRecipient)({
|
|
121
|
+
projectId: project.id,
|
|
122
|
+
recipientType,
|
|
123
|
+
recipient
|
|
124
|
+
}, this.endpoint);
|
|
125
|
+
}
|
|
126
|
+
async getStrategy(walletClient) {
|
|
127
|
+
const project = await this.getProjectInfo();
|
|
128
|
+
return new SignatureAirdropService_1.SignatureAirdropService({
|
|
129
|
+
chainId: Number(project.chainId),
|
|
130
|
+
contractAddress: project.contractAddress,
|
|
131
|
+
walletClient: walletClient
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
async getVersion() {
|
|
135
|
+
const strategy = await this.getStrategy();
|
|
136
|
+
return strategy.getVersion();
|
|
137
|
+
}
|
|
138
|
+
async getClaimFee(amount) {
|
|
139
|
+
const strategy = await this.getStrategy();
|
|
140
|
+
if (!strategy.getClaimFee) {
|
|
141
|
+
throw new Error('getClaimFee is not supported for this chain');
|
|
142
|
+
}
|
|
143
|
+
return await strategy.getClaimFee(this.project?.contractAddress || '', amount || BigInt(1));
|
|
144
|
+
}
|
|
145
|
+
async claimAirdrop({ claimIds, walletClient, recipient }) {
|
|
146
|
+
if (!claimIds.length) {
|
|
147
|
+
throw new Error('Claim IDs cannot be empty');
|
|
102
148
|
}
|
|
103
|
-
|
|
104
|
-
|
|
149
|
+
if (!walletClient) {
|
|
150
|
+
throw new Error('Wallet client is required');
|
|
151
|
+
}
|
|
152
|
+
const service = await this.getStrategy(walletClient);
|
|
153
|
+
const res = await (0, services_1.checkGetSignatures)({
|
|
154
|
+
claimIds,
|
|
155
|
+
projectId: this.projectId
|
|
156
|
+
}, this.endpoint);
|
|
157
|
+
const signatureMap = res?.signatures?.reduce((map, item) => {
|
|
158
|
+
map[item.claimId] = item;
|
|
159
|
+
return map;
|
|
160
|
+
}, {});
|
|
161
|
+
const claimData = this.claims
|
|
162
|
+
?.filter((it) => claimIds.includes(it.claimId))
|
|
163
|
+
.map((it) => ({
|
|
164
|
+
...it,
|
|
165
|
+
recipient: recipient ? recipient : walletClient.account?.address,
|
|
166
|
+
...signatureMap?.[it.claimId]
|
|
167
|
+
})) || [];
|
|
168
|
+
const delegateMode = recipient ? (0, viem_1.getAddress)(recipient) !== walletClient.account?.address : false;
|
|
169
|
+
const feeData = (await this.getClaimFee(1n)) || 0n;
|
|
170
|
+
const hash = (await service.claim(claimData, delegateMode ? feeData * BigInt(claimData.length) : feeData));
|
|
171
|
+
return hash;
|
|
172
|
+
}
|
|
173
|
+
async batchCheckClaimed() {
|
|
174
|
+
if (!this.claims?.length)
|
|
175
|
+
return [];
|
|
176
|
+
const strategy = await this.getStrategy();
|
|
177
|
+
if (!strategy.batchFetchClaimed) {
|
|
178
|
+
throw new Error('batchCheckClaimed is not supported for this chain');
|
|
105
179
|
}
|
|
180
|
+
const claimIds = this.claims?.map((it) => it.claimId);
|
|
181
|
+
return strategy.batchFetchClaimed(claimIds);
|
|
106
182
|
}
|
|
107
183
|
}
|
|
108
184
|
exports.SignatureAirdropClient = SignatureAirdropClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignatureAirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/SignatureAirdropClient.ts"],"names":[],"mappings":";;;AAAA,2CAAoC;AACpC,sEAA4D;AAC5D,6DAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"SignatureAirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/SignatureAirdropClient.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAClC,2CAAoC;AACpC,gFAA6E;AAC7E,sEAA4D;AAC5D,6DAA8D;AAC9D,yCAOoB;AACpB,mCAQiB;AAEjB,MAAa,sBAAsB;IACzB,SAAS,CAAU;IACnB,QAAQ,CAAU;IAClB,OAAO,CAAuB;IAC5B,MAAM,CAA4B;IACpC,cAAc,CAA4B;IAClD,YAAY,MAAuB;QACjC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAEgB,wBAAwB,GAAG,MAAM,CAAC;IAE3C,MAAM,CAAC,SAAiB,EAAE,GAAW;QAC3C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,wBAAwB,GAAG,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACjD,IAAI,CAAC,OAAO,GAAG,MAAM,IAAA,4BAAiB,EAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAES,KAAK,CAAC,kBAAkB;QAChC,IAAI,CAAC;YACH,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAE/B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAkD;QACnF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,KAAK,EAAE,OAAY,EAAE,EAAE;YAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAc,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAEjF,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBACpC,CAAC;oBACD,SAAS,EAAE,CAAC;gBACd,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,CAAC;gBACZ,CAAC;wBAAS,CAAC;oBACT,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAC1C,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,kCAA0B,CAAC,OAAO,CACxE,EAAE,YAAY,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,cAAc,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAClB,SAAS,EACT,SAAS,EACT,OAAO,EAKR;QACC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,oCAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG;gBACvB,CAAC,iBAAS,CAAC,GAAG,CAAC,EAAE,kCAA0B,CAAC,SAAS;gBACrD,CAAC,iBAAS,CAAC,MAAM,CAAC,EAAE,kCAA0B,CAAC,YAAY;gBAC3D,CAAC,iBAAS,CAAC,GAAG,CAAC,EAAE,EAAE;aACpB,CAAC;YACF,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEnD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;YAEhD,MAAM,OAAO,GAAG;gBACd,SAAS,EAAE,SAAmB;gBAC9B,OAAO,EAAE,OAAiB;gBAC1B,GAAG,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAQ;gBACxC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,gBAAgB,CAAC,SAAS,CAAC;aAC3C,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,SAAS,EAAE,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAgB,EAChC;YACE,SAAS,EAAE,OAAO,CAAC,EAAE;SACtB,EACD,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,EAC9B,aAAa,EACb,SAAS,EAIV;QACC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,OAAO,MAAM,IAAA,8BAAmB,EAC9B;YACE,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,aAAa;YACb,SAAS;SACV,EACD,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,YAA4B;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,OAAO,IAAI,iDAAuB,CAAC;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAY;YAC3C,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,YAAY,EAAE,YAAmB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAe;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EACjB,QAAQ,EACR,YAAY,EACZ,SAAS,EAKV;QACC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAkB,EAClC;YACE,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,SAAU;SAC3B,EACD,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,MAAM,YAAY,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACzD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAqC,CAAC,CAAC;QAC1C,MAAM,SAAS,GACb,IAAI,CAAC,MAAM;YACT,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,EAAE;YACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,OAAQ;YACjE,GAAG,YAAY,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,SAAS,CAAC,KAAK,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACjG,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,CAAC,MAAM,OAAQ,CAAC,KAAK,CAChC,SAAS,EACT,YAAY,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5D,CAAkB,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AAhOD,wDAgOC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EvmContractClientOption } from '../../types';
|
|
2
|
+
import { DeployerClient } from './contracts/DeployClient';
|
|
3
|
+
export declare class SignatureAirdropService {
|
|
4
|
+
options: EvmContractClientOption;
|
|
5
|
+
constructor(options: EvmContractClientOption);
|
|
6
|
+
private get airdropClient();
|
|
7
|
+
getDeployerClient(): Promise<DeployerClient>;
|
|
8
|
+
private getFeeClient;
|
|
9
|
+
getDeployer(): Promise<string>;
|
|
10
|
+
getVersion(): Promise<any>;
|
|
11
|
+
feeCollectors: (address: string) => Promise<unknown>;
|
|
12
|
+
feeTokens: (address: string) => Promise<unknown>;
|
|
13
|
+
getFeelessThreshold(): Promise<void>;
|
|
14
|
+
getClaimFee(address: string, amount: bigint): Promise<bigint | undefined>;
|
|
15
|
+
batchFetchClaimed(userClaimIds: string[]): Promise<boolean[]>;
|
|
16
|
+
claim(data: {
|
|
17
|
+
recipient: string;
|
|
18
|
+
claimId: string;
|
|
19
|
+
data: string;
|
|
20
|
+
signature: string;
|
|
21
|
+
extraData?: string;
|
|
22
|
+
}[], value?: bigint): Promise<`0x${string}`>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignatureAirdropService = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
const AirdropSignatureClient_1 = require("./contracts/AirdropSignatureClient");
|
|
6
|
+
const DeployClient_1 = require("./contracts/DeployClient");
|
|
7
|
+
const FeeCollectorClient_1 = require("./contracts/FeeCollectorClient");
|
|
8
|
+
class SignatureAirdropService {
|
|
9
|
+
options;
|
|
10
|
+
constructor(options) {
|
|
11
|
+
this.options = options;
|
|
12
|
+
}
|
|
13
|
+
get airdropClient() {
|
|
14
|
+
if (!this.options) {
|
|
15
|
+
throw new Error('options is empty');
|
|
16
|
+
}
|
|
17
|
+
return new AirdropSignatureClient_1.AirdropSignatureClient(this.options);
|
|
18
|
+
}
|
|
19
|
+
async getDeployerClient() {
|
|
20
|
+
const deployer = await this.getDeployer();
|
|
21
|
+
return new DeployClient_1.DeployerClient({
|
|
22
|
+
...this.options,
|
|
23
|
+
contractAddress: deployer
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
getFeeClient(address) {
|
|
27
|
+
if (!this.options) {
|
|
28
|
+
throw new Error('options is empty');
|
|
29
|
+
}
|
|
30
|
+
return new FeeCollectorClient_1.FeeCollectorClient({
|
|
31
|
+
...this.options,
|
|
32
|
+
chainId: this.options.chainId,
|
|
33
|
+
contractAddress: address
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async getDeployer() {
|
|
37
|
+
return this.airdropClient.getDeployer();
|
|
38
|
+
}
|
|
39
|
+
async getVersion() {
|
|
40
|
+
return this.airdropClient.getVersion();
|
|
41
|
+
}
|
|
42
|
+
feeCollectors = async (address) => {
|
|
43
|
+
const deployerClient = await this.getDeployerClient();
|
|
44
|
+
return await deployerClient.feeCollectors(address);
|
|
45
|
+
};
|
|
46
|
+
feeTokens = async (address) => {
|
|
47
|
+
const deployerClient = await this.getDeployerClient();
|
|
48
|
+
return await deployerClient.feeTokens(address);
|
|
49
|
+
};
|
|
50
|
+
async getFeelessThreshold() {
|
|
51
|
+
// return this.airdropClient.getFeelessThreshold();
|
|
52
|
+
}
|
|
53
|
+
async getClaimFee(address, amount) {
|
|
54
|
+
const feeCollector = await this.feeCollectors(this.options.contractAddress);
|
|
55
|
+
if (!feeCollector || feeCollector === constants_1.ZERO_ADDRESS) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
const feeClient = this.getFeeClient(feeCollector);
|
|
59
|
+
const fee = (await feeClient.getFee(address, amount));
|
|
60
|
+
return fee;
|
|
61
|
+
}
|
|
62
|
+
async batchFetchClaimed(userClaimIds) {
|
|
63
|
+
const res = await this.airdropClient.batchFetchClaimed(userClaimIds);
|
|
64
|
+
return res;
|
|
65
|
+
}
|
|
66
|
+
async claim(data, value) {
|
|
67
|
+
return this.airdropClient.claim(data, value);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.SignatureAirdropService = SignatureAirdropService;
|
|
71
|
+
//# sourceMappingURL=SignatureAirdropService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/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,KAAK,CACT,IAMG,EACH,KAAc;QAEd,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF;AAnFD,0DAmFC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EvmContractClientOption } from '../../../types';
|
|
2
|
+
import { ContractBaseClient } from './ContractBaseClient';
|
|
3
|
+
export declare class AirdropSignatureClient extends ContractBaseClient {
|
|
4
|
+
constructor(options: EvmContractClientOption);
|
|
5
|
+
getClaimStatus(userClaimId: string): Promise<unknown>;
|
|
6
|
+
claim(data: {
|
|
7
|
+
recipient: string;
|
|
8
|
+
data: string;
|
|
9
|
+
claimId: string;
|
|
10
|
+
signature: string;
|
|
11
|
+
extraData?: string;
|
|
12
|
+
}[], value?: bigint): Promise<`0x${string}`>;
|
|
13
|
+
batchFetchClaimed(userClaimIds: string[]): Promise<boolean[]>;
|
|
14
|
+
getDeployer(): Promise<string>;
|
|
15
|
+
getVersion(): Promise<any>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AirdropSignatureClient = void 0;
|
|
7
|
+
const FungibleTokenECDSADistributor_json_1 = __importDefault(require("./abis/FungibleTokenECDSADistributor.json"));
|
|
8
|
+
const ContractBaseClient_1 = require("./ContractBaseClient");
|
|
9
|
+
class AirdropSignatureClient extends ContractBaseClient_1.ContractBaseClient {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
super({
|
|
12
|
+
...options,
|
|
13
|
+
abi: FungibleTokenECDSADistributor_json_1.default
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async getClaimStatus(userClaimId) {
|
|
17
|
+
return this.readContract({ functionName: 'getClaimStatus', args: [userClaimId] });
|
|
18
|
+
}
|
|
19
|
+
async claim(data, value) {
|
|
20
|
+
const [recipients = [], userClaimIds = [], datas = [], signatures = [], extraDatas = []] = [
|
|
21
|
+
'recipient',
|
|
22
|
+
'claimId',
|
|
23
|
+
'data',
|
|
24
|
+
'signature',
|
|
25
|
+
'extraData'
|
|
26
|
+
].map((key) => data.map((item) => item[key] || ''));
|
|
27
|
+
return this.writeContract({
|
|
28
|
+
functionName: 'claim',
|
|
29
|
+
args: [recipients, userClaimIds, datas, signatures, extraDatas],
|
|
30
|
+
value: value || 0n
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async batchFetchClaimed(userClaimIds) {
|
|
34
|
+
const res = (await this.readContract({ functionName: 'getClaimStatus', args: [userClaimIds] }));
|
|
35
|
+
return res;
|
|
36
|
+
}
|
|
37
|
+
async getDeployer() {
|
|
38
|
+
const res = (await this.readContract({ functionName: 'getStorage' }));
|
|
39
|
+
return res?.[3];
|
|
40
|
+
}
|
|
41
|
+
async getVersion() {
|
|
42
|
+
const res = (await this.readContract({ functionName: 'getStorage' }));
|
|
43
|
+
return res?.[0];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.AirdropSignatureClient = AirdropSignatureClient;
|
|
47
|
+
//# sourceMappingURL=AirdropSignatureClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../../src/airdrop/core/evm/contracts/AirdropSignatureClient.ts"],"names":[],"mappings":";;;;;;AACA,mHAA4D;AAC5D,6DAA0D;AAE1D,MAAa,sBAAuB,SAAQ,uCAAkB;IAC5D,YAAY,OAAgC;QAC1C,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,GAAG,EAAE,4CAAG;SACT,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAMG,EACH,KAAc;QAEd,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,GAAG;YACzF,WAAW;YACX,SAAS;YACT,MAAM;YACN,WAAW;YACX,WAAW;SACZ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,aAAa,CAAC;YACxB,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC;YAC/D,KAAK,EAAE,KAAK,IAAI,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC5C,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAc,CAAC;QAC7G,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAU,CAAC;QAC/E,OAAO,GAAG,EAAE,CAAC,CAAC,CAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAU,CAAC;QAC/E,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF;AAnDD,wDAmDC"}
|