@sign-global/tokentable 0.0.4 → 0.0.6
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/core/ton/AirdropClientV21.d.ts +29 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV21.js +112 -0
- package/dist/cjs/airdrop/core/ton/AirdropClientV21.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/AirdropService.d.ts +11 -2
- package/dist/cjs/airdrop/core/ton/AirdropService.js +15 -1
- package/dist/cjs/airdrop/core/ton/AirdropService.js.map +1 -1
- package/dist/cjs/airdrop/core/ton/v21/build/Leaf.compiled.json +1 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/constants.d.ts +44 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/constants.js +51 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/constants.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/date.utils.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/date.utils.js +15 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/date.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/index.d.ts +3 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/index.js +20 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/index.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/ton.utils.d.ts +17 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/ton.utils.js +87 -0
- package/dist/cjs/airdrop/core/ton/v21/utils/ton.utils.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/Leaf.d.ts +24 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/Leaf.js +60 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/Leaf.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.d.ts +66 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js +255 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/index.d.ts +2 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/index.js +19 -0
- package/dist/cjs/airdrop/core/ton/v21/wrappers/index.js.map +1 -0
- package/dist/cjs/airdrop/index.d.ts +10 -12
- package/dist/cjs/airdrop/index.js +115 -110
- package/dist/cjs/airdrop/index.js.map +1 -1
- package/dist/cjs/airdrop/services/index.d.ts +6 -1
- package/dist/cjs/airdrop/services/index.js +6 -1
- package/dist/cjs/airdrop/services/index.js.map +1 -1
- package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.d.ts +13 -0
- package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js +22 -0
- package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js.map +1 -0
- package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.d.ts +26 -0
- package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.js +79 -0
- package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.js.map +1 -0
- package/dist/cjs/airdrop/strategies/IAirdropStrategy.d.ts +27 -0
- package/dist/cjs/airdrop/strategies/IAirdropStrategy.js +3 -0
- package/dist/cjs/airdrop/strategies/IAirdropStrategy.js.map +1 -0
- package/dist/cjs/airdrop/strategies/StrategyCache.d.ts +10 -0
- package/dist/cjs/airdrop/strategies/StrategyCache.js +32 -0
- package/dist/cjs/airdrop/strategies/StrategyCache.js.map +1 -0
- package/dist/cjs/airdrop/strategies/TonAirdropStrategy.d.ts +26 -0
- package/dist/cjs/airdrop/strategies/TonAirdropStrategy.js +64 -0
- package/dist/cjs/airdrop/strategies/TonAirdropStrategy.js.map +1 -0
- package/dist/cjs/airdrop/types/index.d.ts +7 -1
- package/dist/cjs/airdrop/types/index.js +1 -0
- package/dist/cjs/airdrop/types/index.js.map +1 -1
- package/dist/esm/airdrop/core/ton/AirdropClientV21.d.ts +29 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV21.js +105 -0
- package/dist/esm/airdrop/core/ton/AirdropClientV21.js.map +1 -0
- package/dist/esm/airdrop/core/ton/AirdropService.d.ts +11 -2
- package/dist/esm/airdrop/core/ton/AirdropService.js +15 -1
- package/dist/esm/airdrop/core/ton/AirdropService.js.map +1 -1
- package/dist/esm/airdrop/core/ton/v21/build/Leaf.compiled.json +1 -0
- package/dist/esm/airdrop/core/ton/v21/utils/constants.d.ts +44 -0
- package/dist/esm/airdrop/core/ton/v21/utils/constants.js +48 -0
- package/dist/esm/airdrop/core/ton/v21/utils/constants.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v21/utils/date.utils.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v21/utils/date.utils.js +10 -0
- package/dist/esm/airdrop/core/ton/v21/utils/date.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v21/utils/index.d.ts +3 -0
- package/dist/esm/airdrop/core/ton/v21/utils/index.js +4 -0
- package/dist/esm/airdrop/core/ton/v21/utils/index.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v21/utils/ton.utils.d.ts +17 -0
- package/dist/esm/airdrop/core/ton/v21/utils/ton.utils.js +69 -0
- package/dist/esm/airdrop/core/ton/v21/utils/ton.utils.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/Leaf.d.ts +24 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/Leaf.js +55 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/Leaf.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.d.ts +66 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js +249 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js.map +1 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/index.d.ts +2 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/index.js +3 -0
- package/dist/esm/airdrop/core/ton/v21/wrappers/index.js.map +1 -0
- package/dist/esm/airdrop/index.d.ts +10 -12
- package/dist/esm/airdrop/index.js +117 -112
- package/dist/esm/airdrop/index.js.map +1 -1
- package/dist/esm/airdrop/services/index.d.ts +6 -1
- package/dist/esm/airdrop/services/index.js +4 -0
- package/dist/esm/airdrop/services/index.js.map +1 -1
- package/dist/esm/airdrop/strategies/AirdropStrategyFactory.d.ts +13 -0
- package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js +18 -0
- package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js.map +1 -0
- package/dist/esm/airdrop/strategies/EvmAirdropStrategy.d.ts +26 -0
- package/dist/esm/airdrop/strategies/EvmAirdropStrategy.js +75 -0
- package/dist/esm/airdrop/strategies/EvmAirdropStrategy.js.map +1 -0
- package/dist/esm/airdrop/strategies/IAirdropStrategy.d.ts +27 -0
- package/dist/esm/airdrop/strategies/IAirdropStrategy.js +2 -0
- package/dist/esm/airdrop/strategies/IAirdropStrategy.js.map +1 -0
- package/dist/esm/airdrop/strategies/StrategyCache.d.ts +10 -0
- package/dist/esm/airdrop/strategies/StrategyCache.js +28 -0
- package/dist/esm/airdrop/strategies/StrategyCache.js.map +1 -0
- package/dist/esm/airdrop/strategies/TonAirdropStrategy.d.ts +26 -0
- package/dist/esm/airdrop/strategies/TonAirdropStrategy.js +60 -0
- package/dist/esm/airdrop/strategies/TonAirdropStrategy.js.map +1 -0
- package/dist/esm/airdrop/types/index.d.ts +7 -1
- package/dist/esm/airdrop/types/index.js +1 -0
- package/dist/esm/airdrop/types/index.js.map +1 -1
- package/package.json +1 -1
- package/src/airdrop/core/ton/AirdropClientV21.ts +131 -0
- package/src/airdrop/core/ton/AirdropService.ts +18 -1
- package/src/airdrop/core/ton/v21/build/Leaf.compiled.json +1 -0
- package/src/airdrop/core/ton/v21/build/MerkleTokenDistributor.compiled.json +1 -0
- package/src/airdrop/core/ton/v21/utils/constants.ts +48 -0
- package/src/airdrop/core/ton/v21/utils/date.utils.ts +11 -0
- package/src/airdrop/core/ton/v21/utils/index.ts +3 -0
- package/src/airdrop/core/ton/v21/utils/ton.utils.ts +84 -0
- package/src/airdrop/core/ton/v21/wrappers/Leaf.ts +69 -0
- package/src/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.ts +346 -0
- package/src/airdrop/core/ton/v21/wrappers/index.ts +2 -0
- package/src/airdrop/index.ts +140 -139
- package/src/airdrop/services/index.ts +6 -1
- package/src/airdrop/strategies/AirdropStrategyFactory.ts +29 -0
- package/src/airdrop/strategies/EvmAirdropStrategy.ts +85 -0
- package/src/airdrop/strategies/IAirdropStrategy.ts +25 -0
- package/src/airdrop/strategies/StrategyCache.ts +34 -0
- package/src/airdrop/strategies/TonAirdropStrategy.ts +72 -0
- package/src/airdrop/tests/index.test.ts +100 -0
- package/src/airdrop/types/index.ts +8 -1
|
@@ -48,11 +48,46 @@ describe('AirdropClient', () => {
|
|
|
48
48
|
expect(version).toBeDefined();
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
+
it('should get paused', async () => {
|
|
52
|
+
const client = new AirdropClient({
|
|
53
|
+
projectId: 'AD_PeMV2dboWAui',
|
|
54
|
+
endpoint: mockEndpoint
|
|
55
|
+
});
|
|
56
|
+
const paused = await client.getPaused();
|
|
57
|
+
console.log(paused);
|
|
58
|
+
expect(paused).toBeDefined();
|
|
59
|
+
});
|
|
60
|
+
|
|
51
61
|
it('should get claim fee', async () => {
|
|
62
|
+
// evm
|
|
63
|
+
const client = new AirdropClient({
|
|
64
|
+
projectId: 'AD_50lczFu9Yhvq',
|
|
65
|
+
endpoint: mockEndpoint
|
|
66
|
+
});
|
|
67
|
+
const fee = await client.getClaimFee();
|
|
68
|
+
console.log(fee);
|
|
69
|
+
expect(fee).toBeDefined();
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('should get paused throw error', async () => {
|
|
73
|
+
// evm
|
|
52
74
|
const client = new AirdropClient({
|
|
53
75
|
projectId: 'AD_50lczFu9Yhvq',
|
|
54
76
|
endpoint: mockEndpoint
|
|
55
77
|
});
|
|
78
|
+
await expect(client.getPaused()).rejects.toThrow();
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
//AD_S4dSTEXQN96i
|
|
82
|
+
|
|
83
|
+
it('should work on native v1', async () => {
|
|
84
|
+
client = new AirdropClient({
|
|
85
|
+
projectId: 'AD_S4dSTEXQN96i',
|
|
86
|
+
endpoint: mockEndpoint
|
|
87
|
+
});
|
|
88
|
+
const version = await client.getVersion();
|
|
89
|
+
console.log(version);
|
|
90
|
+
expect(version).toBeDefined();
|
|
56
91
|
const fee = await client.getClaimFee();
|
|
57
92
|
console.log(fee);
|
|
58
93
|
expect(fee).toBeDefined();
|
|
@@ -72,6 +107,71 @@ describe('AirdropClient', () => {
|
|
|
72
107
|
});
|
|
73
108
|
});
|
|
74
109
|
|
|
110
|
+
describe('getStrategy', () => {
|
|
111
|
+
let client: AirdropClient;
|
|
112
|
+
const mockWalletClient = {
|
|
113
|
+
connected: true,
|
|
114
|
+
account: { address: '0xMockAddress' },
|
|
115
|
+
network: { name: 'mock', chainId: 1 },
|
|
116
|
+
connector: { name: 'mock' },
|
|
117
|
+
sendTransaction: jest.fn()
|
|
118
|
+
} as any;
|
|
119
|
+
|
|
120
|
+
beforeEach(async () => {
|
|
121
|
+
client = new AirdropClient({
|
|
122
|
+
projectId: 'AD_TEV94wvkxkvn',
|
|
123
|
+
endpoint: mockEndpoint
|
|
124
|
+
});
|
|
125
|
+
// Clear strategy cache before each test
|
|
126
|
+
jest.clearAllMocks();
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it('should get strategy without wallet client (read-only mode)', async () => {
|
|
130
|
+
const strategy = await client.getStrategy();
|
|
131
|
+
expect(strategy).toBeDefined();
|
|
132
|
+
// Verify it's in read-only mode
|
|
133
|
+
expect((strategy as any).walletClient).toBeUndefined();
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
it('should get strategy with wallet client (interactive mode)', async () => {
|
|
137
|
+
const strategy = await client.getStrategy(mockWalletClient);
|
|
138
|
+
expect(strategy).toBeDefined();
|
|
139
|
+
expect((strategy as any).walletClient).toBeDefined();
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
it('should use cached strategy when available', async () => {
|
|
143
|
+
// First call to get strategy
|
|
144
|
+
const strategy1 = await client.getStrategy(mockWalletClient);
|
|
145
|
+
|
|
146
|
+
// Second call should return cached strategy
|
|
147
|
+
const strategy2 = await client.getStrategy(mockWalletClient);
|
|
148
|
+
|
|
149
|
+
// Both should be the same instance
|
|
150
|
+
expect(strategy1).toBe(strategy2);
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
it('should reinitialize wallet client even with cached strategy', async () => {
|
|
154
|
+
// Get strategy with first wallet client
|
|
155
|
+
const strategy1 = await client.getStrategy(mockWalletClient);
|
|
156
|
+
|
|
157
|
+
// Create new mock wallet client
|
|
158
|
+
const newMockWalletClient = {
|
|
159
|
+
connected: true,
|
|
160
|
+
account: { address: '0xNewMockAddress' },
|
|
161
|
+
network: { name: 'mock', chainId: 1 },
|
|
162
|
+
connector: { name: 'mock' },
|
|
163
|
+
sendTransaction: jest.fn()
|
|
164
|
+
} as any;
|
|
165
|
+
|
|
166
|
+
// Get strategy with new wallet client
|
|
167
|
+
const strategy2 = await client.getStrategy(newMockWalletClient);
|
|
168
|
+
|
|
169
|
+
// Should be same strategy instance but reinitialized with new wallet
|
|
170
|
+
expect((strategy2 as any).walletClient).toBeDefined();
|
|
171
|
+
expect((strategy2 as any).walletClient).toBe(newMockWalletClient);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
|
|
75
175
|
// describe('catch error', () => {
|
|
76
176
|
// it('throw error when projectId is not provided', async () => {
|
|
77
177
|
// client = new AirdropClient({
|
|
@@ -103,7 +103,8 @@ export interface IAirdropData {
|
|
|
103
103
|
export enum TonAirdropVersionEnum {
|
|
104
104
|
V1 = '1.0.0',
|
|
105
105
|
V2 = '2.0.0',
|
|
106
|
-
LiteV1 = '11.0.0'
|
|
106
|
+
LiteV1 = '11.0.0',
|
|
107
|
+
NativeV1 = '21.0.0'
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
export enum EvmAirdropVersionEnum {
|
|
@@ -132,3 +133,9 @@ type SlugOptions = BaseAirdropOptions & {
|
|
|
132
133
|
};
|
|
133
134
|
|
|
134
135
|
export type IAirdropOptions = ProjectIdOptions | SlugOptions;
|
|
136
|
+
|
|
137
|
+
export interface IContractConfig {
|
|
138
|
+
version?: string | null;
|
|
139
|
+
paused: boolean | null;
|
|
140
|
+
claimFee?: string | null;
|
|
141
|
+
}
|