@sign-global/tokentable 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +19 -55
  2. package/dist/cjs/airdrop/common/index.d.ts +1 -1
  3. package/dist/cjs/airdrop/common/index.js +4 -0
  4. package/dist/cjs/airdrop/common/index.js.map +1 -1
  5. package/dist/cjs/airdrop/core/evm/AirdropService.d.ts +1 -1
  6. package/dist/cjs/airdrop/core/evm/AirdropService.js +3 -4
  7. package/dist/cjs/airdrop/core/evm/AirdropService.js.map +1 -1
  8. package/dist/cjs/airdrop/core/ton/AirdropService.d.ts +1 -0
  9. package/dist/cjs/airdrop/core/ton/AirdropService.js +5 -0
  10. package/dist/cjs/airdrop/core/ton/AirdropService.js.map +1 -1
  11. package/dist/cjs/airdrop/index.d.ts +42 -3
  12. package/dist/cjs/airdrop/index.js +188 -20
  13. package/dist/cjs/airdrop/index.js.map +1 -1
  14. package/dist/cjs/airdrop/types/index.d.ts +35 -24
  15. package/dist/cjs/airdrop/types/index.js +7 -1
  16. package/dist/cjs/airdrop/types/index.js.map +1 -1
  17. package/dist/cjs/index.d.ts +2 -1
  18. package/dist/cjs/index.js +17 -3
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/esm/airdrop/common/index.d.ts +1 -1
  21. package/dist/esm/airdrop/common/index.js +4 -0
  22. package/dist/esm/airdrop/common/index.js.map +1 -1
  23. package/dist/esm/airdrop/core/evm/AirdropService.d.ts +1 -1
  24. package/dist/esm/airdrop/core/evm/AirdropService.js +3 -4
  25. package/dist/esm/airdrop/core/evm/AirdropService.js.map +1 -1
  26. package/dist/esm/airdrop/core/ton/AirdropService.d.ts +1 -0
  27. package/dist/esm/airdrop/core/ton/AirdropService.js +5 -0
  28. package/dist/esm/airdrop/core/ton/AirdropService.js.map +1 -1
  29. package/dist/esm/airdrop/index.d.ts +42 -3
  30. package/dist/esm/airdrop/index.js +186 -3
  31. package/dist/esm/airdrop/index.js.map +1 -1
  32. package/dist/esm/airdrop/types/index.d.ts +35 -24
  33. package/dist/esm/airdrop/types/index.js +6 -0
  34. package/dist/esm/airdrop/types/index.js.map +1 -1
  35. package/dist/esm/index.d.ts +2 -1
  36. package/dist/esm/index.js +2 -1
  37. package/dist/esm/index.js.map +1 -1
  38. package/jest.config.cjs +5 -0
  39. package/package.json +6 -2
  40. package/src/airdrop/common/index.ts +6 -1
  41. package/src/airdrop/core/evm/AirdropService.ts +3 -4
  42. package/src/airdrop/core/ton/AirdropService.ts +6 -0
  43. package/src/airdrop/index.ts +243 -3
  44. package/src/airdrop/tests/index.test.ts +95 -0
  45. package/src/airdrop/types/index.ts +39 -33
  46. package/src/index.ts +2 -1
  47. package/dist/cjs/airdrop/BaseAirdropClient.d.ts +0 -28
  48. package/dist/cjs/airdrop/BaseAirdropClient.js +0 -50
  49. package/dist/cjs/airdrop/BaseAirdropClient.js.map +0 -1
  50. package/dist/cjs/airdrop/EvmAirdropClient.d.ts +0 -19
  51. package/dist/cjs/airdrop/EvmAirdropClient.js +0 -65
  52. package/dist/cjs/airdrop/EvmAirdropClient.js.map +0 -1
  53. package/dist/cjs/airdrop/TonAirdropClient.d.ts +0 -24
  54. package/dist/cjs/airdrop/TonAirdropClient.js +0 -78
  55. package/dist/cjs/airdrop/TonAirdropClient.js.map +0 -1
  56. package/dist/esm/airdrop/BaseAirdropClient.d.ts +0 -28
  57. package/dist/esm/airdrop/BaseAirdropClient.js +0 -46
  58. package/dist/esm/airdrop/BaseAirdropClient.js.map +0 -1
  59. package/dist/esm/airdrop/EvmAirdropClient.d.ts +0 -19
  60. package/dist/esm/airdrop/EvmAirdropClient.js +0 -61
  61. package/dist/esm/airdrop/EvmAirdropClient.js.map +0 -1
  62. package/dist/esm/airdrop/TonAirdropClient.d.ts +0 -24
  63. package/dist/esm/airdrop/TonAirdropClient.js +0 -74
  64. package/dist/esm/airdrop/TonAirdropClient.js.map +0 -1
  65. package/index.ts +0 -34
  66. package/src/airdrop/BaseAirdropClient.ts +0 -75
  67. package/src/airdrop/EvmAirdropClient.ts +0 -74
  68. package/src/airdrop/TonAirdropClient.ts +0 -93
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/types/index.ts"],"names":[],"mappings":";;;AAgBA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAmDD,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,0CAAiB,CAAA;AACnB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,qCAAY,CAAA,CAAC,yBAAyB;AACxC,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/types/index.ts"],"names":[],"mappings":";;;AAgBA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAkDD,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,qCAAuB,CAAA;IACvB,4BAAc,CAAA;AAChB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AA6BD,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,0CAAiB,CAAA;AACnB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,qCAAY,CAAA,CAAC,yBAAyB;AACxC,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
@@ -1 +1,2 @@
1
- export { EvmAirdropClient, TonAirdropClient } from './airdrop';
1
+ export { AirdropClient } from './airdrop';
2
+ export * from './airdrop/types';
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,21 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TonAirdropClient = exports.EvmAirdropClient = void 0;
17
+ exports.AirdropClient = void 0;
4
18
  var airdrop_1 = require("./airdrop");
5
- Object.defineProperty(exports, "EvmAirdropClient", { enumerable: true, get: function () { return airdrop_1.EvmAirdropClient; } });
6
- Object.defineProperty(exports, "TonAirdropClient", { enumerable: true, get: function () { return airdrop_1.TonAirdropClient; } });
19
+ Object.defineProperty(exports, "AirdropClient", { enumerable: true, get: function () { return airdrop_1.AirdropClient; } });
20
+ __exportStar(require("./airdrop/types"), exports);
7
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAA+D;AAAtD,2GAAA,gBAAgB,OAAA;AAAE,2GAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,kDAAgC"}
@@ -1028,7 +1028,7 @@ export declare function getChainConfig(chainId: ChainId): {
1028
1028
  };
1029
1029
  export declare function getChainRpc(chainId: ChainId): string;
1030
1030
  export declare const getTonProjectIdByAddress: ({ address, slug, data }: {
1031
- address: string;
1031
+ address?: string;
1032
1032
  slug: string;
1033
1033
  data: Record<string, string>;
1034
1034
  }) => string | undefined;
@@ -22,6 +22,10 @@ export const getTonProjectIdByAddress = ({ address, slug, data }) => {
22
22
  if (!project) {
23
23
  project = data;
24
24
  }
25
+ if (!address) {
26
+ const firstProject = Object.values(project)[0];
27
+ return firstProject;
28
+ }
25
29
  const lastText = address[address.length - 1];
26
30
  const group = Object.keys(project || {}).find((key) => key.includes(lastText));
27
31
  const projectId = group ? project[group] : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAc,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,EAAE,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,OAAO,EACP,IAAI,EACJ,IAAI,EAKL,EAAsB,EAAE;IACvB,IAAI,OAAO,GAA2B,iBAAiB,CAAC,IAAsC,CAAC,CAAC;IAChG,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/E,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAA6B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAc,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,EAAE,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,OAAO,EACP,IAAI,EACJ,IAAI,EAKL,EAAsB,EAAE;IACvB,IAAI,OAAO,GAA2B,iBAAiB,CAAC,IAAsC,CAAC,CAAC;IAChG,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/E,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAA6B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -31,6 +31,6 @@ export declare class AirdropService {
31
31
  feeCollectors: (address: string) => Promise<unknown>;
32
32
  feeTokens: (address: string) => Promise<unknown>;
33
33
  getFeelessThreshold(): Promise<unknown>;
34
- getClaimFee(address: string, tokenTransferred: bigint): Promise<bigint | undefined>;
34
+ getClaimFee(address: string, amount: bigint): Promise<bigint | undefined>;
35
35
  getKycThreshold(): Promise<bigint>;
36
36
  }
@@ -63,7 +63,6 @@ export class AirdropService {
63
63
  }
64
64
  async claim({ proof, group, data, value, extraData }) {
65
65
  const version = await this.getVersion();
66
- console.log(version, 'version');
67
66
  if (version === AirdropVersionEnum.V4) {
68
67
  const encodeData = encodeAbiParameters([
69
68
  {
@@ -115,17 +114,17 @@ export class AirdropService {
115
114
  async getFeelessThreshold() {
116
115
  return this.airdropV3FeeClient.getFeelessThreshold();
117
116
  }
118
- async getClaimFee(address, tokenTransferred) {
117
+ async getClaimFee(address, amount) {
119
118
  const feeCollector = await this.feeCollectors(this.options.contractAddress);
120
119
  if (!feeCollector || feeCollector === ZERO_ADDRESS) {
121
120
  return undefined;
122
121
  }
123
122
  const feeClient = this.getFeeClient(feeCollector);
124
- const fee = await feeClient.getFee(address, tokenTransferred);
123
+ const fee = await feeClient.getFee(address, amount);
125
124
  const version = await this.getVersion();
126
125
  if (version === AirdropVersionEnum.V3) {
127
126
  const threshold = await this.getFeelessThreshold();
128
- if (BigNumber(Number(tokenTransferred)).gt(BigNumber(Number(threshold)))) {
127
+ if (BigNumber(Number(amount)).gt(BigNumber(Number(threshold)))) {
129
128
  return fee;
130
129
  }
131
130
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"AirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/evm/AirdropService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/evm/AirdropService.ts"],"names":[],"mappings":"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"}
@@ -37,4 +37,5 @@ export declare class AirdropService {
37
37
  claimFee: string;
38
38
  claimFeeReceiver: string;
39
39
  }>;
40
+ getClaimFee(address: string, amount: bigint): Promise<string>;
40
41
  }
@@ -94,5 +94,10 @@ export class AirdropService {
94
94
  claimFeeReceiver: feeInfo.claimFeeReceiver.toString({ bounceable: false })
95
95
  };
96
96
  }
97
+ async getClaimFee(address, amount) {
98
+ const client = await this.getClient();
99
+ const feeInfo = await client.getFeeInfo();
100
+ return fromNano(feeInfo.claimFee);
101
+ }
97
102
  }
98
103
  //# sourceMappingURL=AirdropService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/ton/AirdropService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/ton/AirdropService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,42 @@
1
- export { EvmAirdropClient } from './EvmAirdropClient';
2
- export { TonAirdropClient } from './TonAirdropClient';
3
- export * from './types';
1
+ import { AirdropService as TonAirdropService } from './core/ton/AirdropService';
2
+ import { AirdropService as EvmAirdropService } from './core/evm/AirdropService';
3
+ import { IAirdropClaim, IAirdropOptions, IProject, IWalletClient } from './types';
4
+ export declare class AirdropClient {
5
+ private tonClient?;
6
+ private slug?;
7
+ private projectId?;
8
+ private endpoint?;
9
+ private project;
10
+ protected claims?: IAirdropClaim[];
11
+ private contractInstanceWithWallet;
12
+ private contractInstanceWithoutWallet;
13
+ private projectPromise;
14
+ private claimHook;
15
+ private cachedVersion;
16
+ constructor(params: IAirdropOptions);
17
+ protected initializeProjects(address?: string): Promise<void>;
18
+ getProjectInfo(): Promise<IProject>;
19
+ getAirdropClaims(data: {
20
+ address: string;
21
+ }): Promise<IAirdropClaim[]>;
22
+ getAirdropContractWrapper(options?: {
23
+ walletClient?: IWalletClient;
24
+ }): Promise<TonAirdropService | EvmAirdropService>;
25
+ private getClaimDataById;
26
+ setClaimFeeHook(fn: (v: any) => any): void;
27
+ claimAirdrop({ claimId, walletClient }: {
28
+ claimId: string;
29
+ walletClient: IWalletClient;
30
+ }, options: {
31
+ onLoading?: () => void;
32
+ }): Promise<`0x${string}` | import("tonapi-sdk-js").Event | null>;
33
+ checkClaimed(claimId: string): Promise<boolean>;
34
+ getPaused(): Promise<boolean>;
35
+ getVersion(): Promise<string>;
36
+ batchCheckClaimed(): Promise<{
37
+ result: boolean;
38
+ status: string;
39
+ }[]>;
40
+ getNFT(): Promise<unknown>;
41
+ getClaimFee(amount?: bigint): Promise<string | bigint | undefined>;
42
+ }
@@ -1,4 +1,187 @@
1
- export { EvmAirdropClient } from './EvmAirdropClient';
2
- export { TonAirdropClient } from './TonAirdropClient';
3
- export * from './types';
1
+ import { AirdropService as TonAirdropService } from './core/ton/AirdropService';
2
+ import { AirdropService as EvmAirdropService } from './core/evm/AirdropService';
3
+ import { getAirdropPro, getAirdropProject, getAirdropQuery } from './services';
4
+ import { ChainType, ETokenType, EvmAirdropVersionEnum } from './types';
5
+ import { getTonProjectIdByAddress } from './common';
6
+ export class AirdropClient {
7
+ tonClient;
8
+ slug;
9
+ projectId;
10
+ endpoint;
11
+ project;
12
+ claims;
13
+ contractInstanceWithWallet;
14
+ contractInstanceWithoutWallet;
15
+ projectPromise;
16
+ claimHook;
17
+ cachedVersion = null;
18
+ constructor(params) {
19
+ if ('slug' in params) {
20
+ this.slug = params.slug;
21
+ }
22
+ this.tonClient = params.tonClient;
23
+ this.projectId = params.projectId;
24
+ this.endpoint = params.endpoint;
25
+ this.projectPromise = this.initializeProjects();
26
+ }
27
+ async initializeProjects(address) {
28
+ let projectId = this.projectId;
29
+ if (this.slug) {
30
+ const res = await getAirdropPro(this.slug, this.endpoint);
31
+ const projectMap = res?.childProjectMapping || {};
32
+ let legacyProjectId;
33
+ legacyProjectId = getTonProjectIdByAddress({ address, slug: this.slug, data: projectMap });
34
+ if (legacyProjectId) {
35
+ projectId = legacyProjectId;
36
+ }
37
+ }
38
+ if (!projectId)
39
+ throw new Error('Project ID is required');
40
+ this.project = await getAirdropProject(projectId, this.endpoint);
41
+ }
42
+ async getProjectInfo() {
43
+ await this.projectPromise;
44
+ if (!this.project)
45
+ throw new Error('Project not found');
46
+ return this.project;
47
+ }
48
+ async getAirdropClaims(data) {
49
+ const project = await this.getProjectInfo();
50
+ const res = await getAirdropQuery({
51
+ recipient: data.address,
52
+ projectId: project.id,
53
+ recipientType: project.recipientType
54
+ }, this.endpoint);
55
+ const claimsRes = res.claims?.map((it) => ({
56
+ ...it,
57
+ project: project,
58
+ claimId: project.chainType === ChainType.Evm ? `${project.id}:${it.leaf}` : `${project.id}:${it.index}`
59
+ }));
60
+ this.claims = claimsRes;
61
+ return this.claims;
62
+ }
63
+ async getAirdropContractWrapper(options) {
64
+ const project = await this.getProjectInfo();
65
+ if (options?.walletClient) {
66
+ if (!this.contractInstanceWithWallet) {
67
+ const instance = project.chainType === ChainType.Evm
68
+ ? new EvmAirdropService({
69
+ contractAddress: project.contractAddress,
70
+ chainId: Number(project.chainId),
71
+ walletClient: options.walletClient
72
+ })
73
+ : new TonAirdropService({
74
+ chainId: project.chainId.toString(),
75
+ address: project.contractAddress,
76
+ walletClient: options.walletClient,
77
+ tonClient: this.tonClient
78
+ });
79
+ this.contractInstanceWithWallet = instance;
80
+ }
81
+ return this.contractInstanceWithWallet;
82
+ }
83
+ else {
84
+ if (!this.contractInstanceWithoutWallet) {
85
+ const instance = project.chainType === ChainType.Evm
86
+ ? new EvmAirdropService({
87
+ contractAddress: project.contractAddress,
88
+ chainId: Number(project.chainId)
89
+ })
90
+ : new TonAirdropService({
91
+ chainId: project.chainId.toString(),
92
+ address: project.contractAddress,
93
+ tonClient: this.tonClient
94
+ });
95
+ this.contractInstanceWithoutWallet = instance;
96
+ }
97
+ return this.contractInstanceWithoutWallet;
98
+ }
99
+ }
100
+ getClaimDataById(claimId) {
101
+ const claimData = this.claims?.find((it) => it.claimId === claimId);
102
+ if (!claimData)
103
+ throw new Error('Claim data not found');
104
+ return claimData;
105
+ }
106
+ setClaimFeeHook(fn) {
107
+ this.claimHook = fn;
108
+ }
109
+ async claimAirdrop({ claimId, walletClient }, options) {
110
+ const claimData = this.getClaimDataById(claimId);
111
+ const project = await this.getProjectInfo();
112
+ const contractWrapper = await this.getAirdropContractWrapper({
113
+ walletClient
114
+ });
115
+ if (project.chainType === ChainType.Evm) {
116
+ const version = await contractWrapper.getVersion();
117
+ const needsFeeData = !(project.tokenType === ETokenType.Native &&
118
+ [EvmAirdropVersionEnum.V3, EvmAirdropVersionEnum.V4].includes(version));
119
+ const value = needsFeeData ? await this.getClaimFee(BigInt(claimData.amount)) : undefined;
120
+ let extraData = {
121
+ isLegacy: true,
122
+ attestationId: BigInt(1)
123
+ };
124
+ if (this.claimHook) {
125
+ extraData = this.claimHook(claimData);
126
+ }
127
+ return contractWrapper.claim({
128
+ proof: claimData.proof,
129
+ group: claimData.group,
130
+ data: claimData.data,
131
+ value: value,
132
+ extraData: extraData
133
+ });
134
+ }
135
+ return contractWrapper.claim(claimData, options);
136
+ }
137
+ async checkClaimed(claimId) {
138
+ const claimData = this.getClaimDataById(claimId);
139
+ const project = await this.getProjectInfo();
140
+ const contractWrapper = await this.getAirdropContractWrapper();
141
+ if (project.chainType === ChainType.Evm) {
142
+ return contractWrapper.isLeafUsed(claimData.leaf);
143
+ }
144
+ return contractWrapper.checkClaimed(claimData);
145
+ }
146
+ async getPaused() {
147
+ const project = await this.getProjectInfo();
148
+ const contractWrapper = await this.getAirdropContractWrapper();
149
+ if (project.chainType === ChainType.Evm) {
150
+ throw new Error('EVM chain is not supported');
151
+ }
152
+ return contractWrapper.getPaused();
153
+ }
154
+ async getVersion() {
155
+ if (this.cachedVersion) {
156
+ return this.cachedVersion;
157
+ }
158
+ const contractWrapper = await this.getAirdropContractWrapper();
159
+ this.cachedVersion = await contractWrapper?.getVersion();
160
+ return this.cachedVersion;
161
+ }
162
+ async batchCheckClaimed() {
163
+ const project = await this.getProjectInfo();
164
+ if (project.chainType === ChainType.Ton) {
165
+ throw new Error('TON chain is not supported');
166
+ }
167
+ const contractWrapper = await this.getAirdropContractWrapper({});
168
+ const leafs = this.claims?.map((it) => it.leaf);
169
+ if (!leafs)
170
+ return [];
171
+ return contractWrapper.batchFetchClaimed(leafs);
172
+ }
173
+ async getNFT() {
174
+ const project = await this.getProjectInfo();
175
+ if (project.chainType === ChainType.Ton) {
176
+ throw new Error('TON chain is not supported');
177
+ }
178
+ const contractWrapper = await this.getAirdropContractWrapper({});
179
+ return contractWrapper.getNFT();
180
+ }
181
+ async getClaimFee(amount) {
182
+ const project = await this.getProjectInfo();
183
+ const contractWrapper = await this.getAirdropContractWrapper({});
184
+ return contractWrapper.getClaimFee(project.contractAddress, amount || BigInt(1));
185
+ }
186
+ }
4
187
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/airdrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/airdrop/index.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,31 @@ export declare enum ChainType {
15
15
  Evm = "evm",
16
16
  Ton = "ton"
17
17
  }
18
+ export type ThemeConfig = {
19
+ logo: string;
20
+ title: string;
21
+ description: string;
22
+ coverImage: string;
23
+ subTitle: string;
24
+ primaryColor: string;
25
+ secondaryColor: string;
26
+ buttonPrimaryHover: string;
27
+ buttonSecondaryHover: string;
28
+ buttonPrimaryForeground: string;
29
+ buttonSecondaryForeground: string;
30
+ welcomeModalText: string;
31
+ welcomeModalTitle: string;
32
+ isShowWelcomeModal: boolean;
33
+ blockCountries: string;
34
+ termsOfUse: string;
35
+ successModalPrimaryBtnText: string;
36
+ successModalUrl: string;
37
+ successModalTitle: string;
38
+ successModalDesc: string;
39
+ successModalShareTexts: string;
40
+ isUnAvailable: boolean;
41
+ privacyPolicy: string;
42
+ };
18
43
  export interface IProject {
19
44
  id: string;
20
45
  name: string;
@@ -29,13 +54,18 @@ export interface IProject {
29
54
  merkleRoot: string;
30
55
  ownerAddress: string;
31
56
  blockCountries: Record<string, string>;
32
- themeConf: Record<string, any>;
57
+ themeConf: ThemeConfig | null;
33
58
  version: string;
34
59
  extra?: {
35
60
  kyc: boolean;
36
61
  tag: string;
37
62
  };
38
63
  }
64
+ export declare enum ETokenType {
65
+ Erc20 = "ERC20",
66
+ Native = "NATIVE_TOKEN",
67
+ NFT = "ERC721"
68
+ }
39
69
  export type IAirdropClaim = {
40
70
  index: number;
41
71
  recipient: string;
@@ -70,36 +100,17 @@ export declare enum EvmAirdropVersionEnum {
70
100
  }
71
101
  export type IWalletClient = TonConnectUI | ViemWalletClient;
72
102
  export type IAirdropService = TonAirdropService | EvmAirdropService;
73
- export type BaseAirdropOptions = {
74
- endpoint?: string;
75
- projectId?: string;
76
- };
77
- type BaseTonConfig = {
103
+ type BaseAirdropOptions = {
78
104
  endpoint?: string;
79
105
  tonClient?: TonClient;
80
106
  };
81
- type TonProjectIdConfig = BaseTonConfig & {
107
+ type ProjectIdOptions = BaseAirdropOptions & {
82
108
  projectId: string;
83
109
  slug?: never;
84
110
  };
85
- type TonSlugConfig = BaseTonConfig & {
111
+ type SlugOptions = BaseAirdropOptions & {
86
112
  slug: string;
87
113
  projectId?: never;
88
114
  };
89
- export type TonAirdropOptions = TonProjectIdConfig | TonSlugConfig;
90
- export interface EvmAirdropOptions extends BaseAirdropOptions {
91
- projectId: string;
92
- }
93
- export interface TonContractWrapperOptions {
94
- chainId: ChainId;
95
- contractAddress: string;
96
- walletClient?: TonConnectUI;
97
- tonClient?: TonClient;
98
- }
99
- export interface EvmContractWrapperOptions {
100
- chainId: ChainId;
101
- contractAddress: string;
102
- walletClient?: ViemWalletClient;
103
- }
104
- export type ContractWrapperOptions = TonContractWrapperOptions | EvmContractWrapperOptions;
115
+ export type IAirdropOptions = ProjectIdOptions | SlugOptions;
105
116
  export {};
@@ -3,6 +3,12 @@ export var ChainType;
3
3
  ChainType["Evm"] = "evm";
4
4
  ChainType["Ton"] = "ton";
5
5
  })(ChainType || (ChainType = {}));
6
+ export var ETokenType;
7
+ (function (ETokenType) {
8
+ ETokenType["Erc20"] = "ERC20";
9
+ ETokenType["Native"] = "NATIVE_TOKEN";
10
+ ETokenType["NFT"] = "ERC721";
11
+ })(ETokenType || (ETokenType = {}));
6
12
  export var TonAirdropVersionEnum;
7
13
  (function (TonAirdropVersionEnum) {
8
14
  TonAirdropVersionEnum["V1"] = "1.0.0";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/types/index.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAmDD,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,0CAAiB,CAAA;AACnB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,qCAAY,CAAA,CAAC,yBAAyB;AACxC,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/airdrop/types/index.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACb,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAkDD,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,qCAAuB,CAAA;IACvB,4BAAc,CAAA;AAChB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AA6BD,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,0CAAiB,CAAA;AACnB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,qCAAY,CAAA;IACZ,qCAAY,CAAA;IACZ,qCAAY,CAAA,CAAC,yBAAyB;AACxC,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC"}
@@ -1 +1,2 @@
1
- export { EvmAirdropClient, TonAirdropClient } from './airdrop';
1
+ export { AirdropClient } from './airdrop';
2
+ export * from './airdrop/types';
package/dist/esm/index.js CHANGED
@@ -1,2 +1,3 @@
1
- export { EvmAirdropClient, TonAirdropClient } from './airdrop';
1
+ export { AirdropClient } from './airdrop';
2
+ export * from './airdrop/types';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ testMatch: ['**/tests/**/*.test.ts'],
5
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sign-global/tokentable",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,7 +11,8 @@
11
11
  "scripts": {
12
12
  "build-cjs": "tsc -m commonjs --outDir dist/cjs",
13
13
  "build-esm": "tsc -m esnext --outDir dist/esm",
14
- "build": "pnpm run build-cjs && pnpm run build-esm"
14
+ "build": "pnpm run build-cjs && pnpm run build-esm",
15
+ "test": "jest"
15
16
  },
16
17
  "author": "Evan",
17
18
  "license": "ISC",
@@ -20,10 +21,13 @@
20
21
  "@ton/core": "^0.59.0",
21
22
  "@ton/ton": "^15.1.0",
22
23
  "@tonconnect/ui-react": "^2.0.9",
24
+ "@types/jest": "^29.5.14",
23
25
  "bignumber.js": "^9.1.2",
24
26
  "dayjs": "^1.11.13",
27
+ "jest": "^29.7.0",
25
28
  "tonapi-sdk-js": "^2.0.3",
26
29
  "tonweb": "^0.0.66",
30
+ "ts-jest": "^29.2.5",
27
31
  "viem": "^2.21.49",
28
32
  "wagmi": "^2.13.0"
29
33
  },
@@ -31,7 +31,7 @@ export const getTonProjectIdByAddress = ({
31
31
  slug,
32
32
  data
33
33
  }: {
34
- address: string;
34
+ address?: string;
35
35
  slug: string;
36
36
  data: Record<string, string>;
37
37
  }): string | undefined => {
@@ -39,6 +39,11 @@ export const getTonProjectIdByAddress = ({
39
39
  if (!project) {
40
40
  project = data;
41
41
  }
42
+
43
+ if (!address) {
44
+ const firstProject = Object.values(project)[0];
45
+ return firstProject;
46
+ }
42
47
  const lastText = address[address.length - 1];
43
48
 
44
49
  const group = Object.keys(project || {}).find((key) => key.includes(lastText));
@@ -94,7 +94,6 @@ export class AirdropService {
94
94
  }) {
95
95
  const version = await this.getVersion();
96
96
 
97
- console.log(version, 'version');
98
97
  if (version === AirdropVersionEnum.V4) {
99
98
  const encodeData = encodeAbiParameters(
100
99
  [
@@ -156,17 +155,17 @@ export class AirdropService {
156
155
  return this.airdropV3FeeClient.getFeelessThreshold();
157
156
  }
158
157
 
159
- async getClaimFee(address: string, tokenTransferred: bigint): Promise<bigint | undefined> {
158
+ async getClaimFee(address: string, amount: bigint): Promise<bigint | undefined> {
160
159
  const feeCollector = await this.feeCollectors(this.options.contractAddress as string);
161
160
  if (!feeCollector || feeCollector === ZERO_ADDRESS) {
162
161
  return undefined;
163
162
  }
164
163
  const feeClient = this.getFeeClient(feeCollector as string);
165
- const fee = await feeClient.getFee(address, tokenTransferred);
164
+ const fee = await feeClient.getFee(address, amount);
166
165
  const version = await this.getVersion();
167
166
  if (version === AirdropVersionEnum.V3) {
168
167
  const threshold = await this.getFeelessThreshold();
169
- if (BigNumber(Number(tokenTransferred)).gt(BigNumber(Number(threshold)))) {
168
+ if (BigNumber(Number(amount)).gt(BigNumber(Number(threshold)))) {
170
169
  return fee;
171
170
  } else {
172
171
  return undefined;