@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.
Files changed (125) hide show
  1. package/dist/cjs/airdrop/core/ton/AirdropClientV21.d.ts +29 -0
  2. package/dist/cjs/airdrop/core/ton/AirdropClientV21.js +112 -0
  3. package/dist/cjs/airdrop/core/ton/AirdropClientV21.js.map +1 -0
  4. package/dist/cjs/airdrop/core/ton/AirdropService.d.ts +11 -2
  5. package/dist/cjs/airdrop/core/ton/AirdropService.js +15 -1
  6. package/dist/cjs/airdrop/core/ton/AirdropService.js.map +1 -1
  7. package/dist/cjs/airdrop/core/ton/v21/build/Leaf.compiled.json +1 -0
  8. package/dist/cjs/airdrop/core/ton/v21/utils/constants.d.ts +44 -0
  9. package/dist/cjs/airdrop/core/ton/v21/utils/constants.js +51 -0
  10. package/dist/cjs/airdrop/core/ton/v21/utils/constants.js.map +1 -0
  11. package/dist/cjs/airdrop/core/ton/v21/utils/date.utils.d.ts +3 -0
  12. package/dist/cjs/airdrop/core/ton/v21/utils/date.utils.js +15 -0
  13. package/dist/cjs/airdrop/core/ton/v21/utils/date.utils.js.map +1 -0
  14. package/dist/cjs/airdrop/core/ton/v21/utils/index.d.ts +3 -0
  15. package/dist/cjs/airdrop/core/ton/v21/utils/index.js +20 -0
  16. package/dist/cjs/airdrop/core/ton/v21/utils/index.js.map +1 -0
  17. package/dist/cjs/airdrop/core/ton/v21/utils/ton.utils.d.ts +17 -0
  18. package/dist/cjs/airdrop/core/ton/v21/utils/ton.utils.js +87 -0
  19. package/dist/cjs/airdrop/core/ton/v21/utils/ton.utils.js.map +1 -0
  20. package/dist/cjs/airdrop/core/ton/v21/wrappers/Leaf.d.ts +24 -0
  21. package/dist/cjs/airdrop/core/ton/v21/wrappers/Leaf.js +60 -0
  22. package/dist/cjs/airdrop/core/ton/v21/wrappers/Leaf.js.map +1 -0
  23. package/dist/cjs/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.d.ts +66 -0
  24. package/dist/cjs/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js +255 -0
  25. package/dist/cjs/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js.map +1 -0
  26. package/dist/cjs/airdrop/core/ton/v21/wrappers/index.d.ts +2 -0
  27. package/dist/cjs/airdrop/core/ton/v21/wrappers/index.js +19 -0
  28. package/dist/cjs/airdrop/core/ton/v21/wrappers/index.js.map +1 -0
  29. package/dist/cjs/airdrop/index.d.ts +10 -12
  30. package/dist/cjs/airdrop/index.js +115 -110
  31. package/dist/cjs/airdrop/index.js.map +1 -1
  32. package/dist/cjs/airdrop/services/index.d.ts +6 -1
  33. package/dist/cjs/airdrop/services/index.js +6 -1
  34. package/dist/cjs/airdrop/services/index.js.map +1 -1
  35. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.d.ts +13 -0
  36. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js +22 -0
  37. package/dist/cjs/airdrop/strategies/AirdropStrategyFactory.js.map +1 -0
  38. package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.d.ts +26 -0
  39. package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.js +79 -0
  40. package/dist/cjs/airdrop/strategies/EvmAirdropStrategy.js.map +1 -0
  41. package/dist/cjs/airdrop/strategies/IAirdropStrategy.d.ts +27 -0
  42. package/dist/cjs/airdrop/strategies/IAirdropStrategy.js +3 -0
  43. package/dist/cjs/airdrop/strategies/IAirdropStrategy.js.map +1 -0
  44. package/dist/cjs/airdrop/strategies/StrategyCache.d.ts +10 -0
  45. package/dist/cjs/airdrop/strategies/StrategyCache.js +32 -0
  46. package/dist/cjs/airdrop/strategies/StrategyCache.js.map +1 -0
  47. package/dist/cjs/airdrop/strategies/TonAirdropStrategy.d.ts +26 -0
  48. package/dist/cjs/airdrop/strategies/TonAirdropStrategy.js +64 -0
  49. package/dist/cjs/airdrop/strategies/TonAirdropStrategy.js.map +1 -0
  50. package/dist/cjs/airdrop/types/index.d.ts +7 -1
  51. package/dist/cjs/airdrop/types/index.js +1 -0
  52. package/dist/cjs/airdrop/types/index.js.map +1 -1
  53. package/dist/esm/airdrop/core/ton/AirdropClientV21.d.ts +29 -0
  54. package/dist/esm/airdrop/core/ton/AirdropClientV21.js +105 -0
  55. package/dist/esm/airdrop/core/ton/AirdropClientV21.js.map +1 -0
  56. package/dist/esm/airdrop/core/ton/AirdropService.d.ts +11 -2
  57. package/dist/esm/airdrop/core/ton/AirdropService.js +15 -1
  58. package/dist/esm/airdrop/core/ton/AirdropService.js.map +1 -1
  59. package/dist/esm/airdrop/core/ton/v21/build/Leaf.compiled.json +1 -0
  60. package/dist/esm/airdrop/core/ton/v21/utils/constants.d.ts +44 -0
  61. package/dist/esm/airdrop/core/ton/v21/utils/constants.js +48 -0
  62. package/dist/esm/airdrop/core/ton/v21/utils/constants.js.map +1 -0
  63. package/dist/esm/airdrop/core/ton/v21/utils/date.utils.d.ts +3 -0
  64. package/dist/esm/airdrop/core/ton/v21/utils/date.utils.js +10 -0
  65. package/dist/esm/airdrop/core/ton/v21/utils/date.utils.js.map +1 -0
  66. package/dist/esm/airdrop/core/ton/v21/utils/index.d.ts +3 -0
  67. package/dist/esm/airdrop/core/ton/v21/utils/index.js +4 -0
  68. package/dist/esm/airdrop/core/ton/v21/utils/index.js.map +1 -0
  69. package/dist/esm/airdrop/core/ton/v21/utils/ton.utils.d.ts +17 -0
  70. package/dist/esm/airdrop/core/ton/v21/utils/ton.utils.js +69 -0
  71. package/dist/esm/airdrop/core/ton/v21/utils/ton.utils.js.map +1 -0
  72. package/dist/esm/airdrop/core/ton/v21/wrappers/Leaf.d.ts +24 -0
  73. package/dist/esm/airdrop/core/ton/v21/wrappers/Leaf.js +55 -0
  74. package/dist/esm/airdrop/core/ton/v21/wrappers/Leaf.js.map +1 -0
  75. package/dist/esm/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.d.ts +66 -0
  76. package/dist/esm/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js +249 -0
  77. package/dist/esm/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.js.map +1 -0
  78. package/dist/esm/airdrop/core/ton/v21/wrappers/index.d.ts +2 -0
  79. package/dist/esm/airdrop/core/ton/v21/wrappers/index.js +3 -0
  80. package/dist/esm/airdrop/core/ton/v21/wrappers/index.js.map +1 -0
  81. package/dist/esm/airdrop/index.d.ts +10 -12
  82. package/dist/esm/airdrop/index.js +117 -112
  83. package/dist/esm/airdrop/index.js.map +1 -1
  84. package/dist/esm/airdrop/services/index.d.ts +6 -1
  85. package/dist/esm/airdrop/services/index.js +4 -0
  86. package/dist/esm/airdrop/services/index.js.map +1 -1
  87. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.d.ts +13 -0
  88. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js +18 -0
  89. package/dist/esm/airdrop/strategies/AirdropStrategyFactory.js.map +1 -0
  90. package/dist/esm/airdrop/strategies/EvmAirdropStrategy.d.ts +26 -0
  91. package/dist/esm/airdrop/strategies/EvmAirdropStrategy.js +75 -0
  92. package/dist/esm/airdrop/strategies/EvmAirdropStrategy.js.map +1 -0
  93. package/dist/esm/airdrop/strategies/IAirdropStrategy.d.ts +27 -0
  94. package/dist/esm/airdrop/strategies/IAirdropStrategy.js +2 -0
  95. package/dist/esm/airdrop/strategies/IAirdropStrategy.js.map +1 -0
  96. package/dist/esm/airdrop/strategies/StrategyCache.d.ts +10 -0
  97. package/dist/esm/airdrop/strategies/StrategyCache.js +28 -0
  98. package/dist/esm/airdrop/strategies/StrategyCache.js.map +1 -0
  99. package/dist/esm/airdrop/strategies/TonAirdropStrategy.d.ts +26 -0
  100. package/dist/esm/airdrop/strategies/TonAirdropStrategy.js +60 -0
  101. package/dist/esm/airdrop/strategies/TonAirdropStrategy.js.map +1 -0
  102. package/dist/esm/airdrop/types/index.d.ts +7 -1
  103. package/dist/esm/airdrop/types/index.js +1 -0
  104. package/dist/esm/airdrop/types/index.js.map +1 -1
  105. package/package.json +1 -1
  106. package/src/airdrop/core/ton/AirdropClientV21.ts +131 -0
  107. package/src/airdrop/core/ton/AirdropService.ts +18 -1
  108. package/src/airdrop/core/ton/v21/build/Leaf.compiled.json +1 -0
  109. package/src/airdrop/core/ton/v21/build/MerkleTokenDistributor.compiled.json +1 -0
  110. package/src/airdrop/core/ton/v21/utils/constants.ts +48 -0
  111. package/src/airdrop/core/ton/v21/utils/date.utils.ts +11 -0
  112. package/src/airdrop/core/ton/v21/utils/index.ts +3 -0
  113. package/src/airdrop/core/ton/v21/utils/ton.utils.ts +84 -0
  114. package/src/airdrop/core/ton/v21/wrappers/Leaf.ts +69 -0
  115. package/src/airdrop/core/ton/v21/wrappers/MerkleTokenDistributor.ts +346 -0
  116. package/src/airdrop/core/ton/v21/wrappers/index.ts +2 -0
  117. package/src/airdrop/index.ts +140 -139
  118. package/src/airdrop/services/index.ts +6 -1
  119. package/src/airdrop/strategies/AirdropStrategyFactory.ts +29 -0
  120. package/src/airdrop/strategies/EvmAirdropStrategy.ts +85 -0
  121. package/src/airdrop/strategies/IAirdropStrategy.ts +25 -0
  122. package/src/airdrop/strategies/StrategyCache.ts +34 -0
  123. package/src/airdrop/strategies/TonAirdropStrategy.ts +72 -0
  124. package/src/airdrop/tests/index.test.ts +100 -0
  125. 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
+ }