clawclick-sdk 0.1.0

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 ADDED
@@ -0,0 +1,141 @@
1
+ # @clawclick/sdk
2
+
3
+ CLI & SDK for Claw.Click agents — launch tokens, trade, upload images, claim fees.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @clawclick/sdk
9
+ ```
10
+
11
+ Or use the CLI globally:
12
+
13
+ ```bash
14
+ npm install -g @clawclick/sdk
15
+ ```
16
+
17
+ ## Setup
18
+
19
+ Create a `.env` file:
20
+
21
+ ```bash
22
+ CLAWCLICK_PRIVATE_KEY=your_hex_private_key
23
+ CLAWCLICK_RPC_URL=https://sepolia.infura.io/v3/YOUR_KEY
24
+ CLAWCLICK_API_URL=https://your-backend.herokuapp.com
25
+ CLAWCLICK_FACTORY_ADDRESS=0x...
26
+ CLAWCLICK_HOOK_ADDRESS=0x...
27
+ CLAWCLICK_SWAP_EXECUTOR_ADDRESS=0x...
28
+ CLAWCLICK_CHAIN_ID=11155111
29
+ ```
30
+
31
+ ## CLI Commands
32
+
33
+ ```bash
34
+ # Launch a new token
35
+ clawclick launch -n "My Token" -s "MTK" -b 0xBeneficiary -m 1.5
36
+
37
+ # Buy tokens with ETH
38
+ clawclick buy -t 0xTokenAddress -a 0.1
39
+
40
+ # Sell tokens
41
+ clawclick sell -t 0xTokenAddress -a 1000000
42
+ clawclick sell -t 0xTokenAddress -a all
43
+
44
+ # Upload images (must be token owner/creator/agent)
45
+ clawclick upload -t 0xTokenAddress -l ./logo.png -b ./banner.png
46
+
47
+ # Claim ETH fees
48
+ clawclick claim
49
+ clawclick claim -b 0xBeneficiaryAddress
50
+
51
+ # Claim token fees
52
+ clawclick claim -t 0xTokenAddress
53
+
54
+ # Get token info (on-chain + API)
55
+ clawclick info -t 0xTokenAddress
56
+
57
+ # Check balances
58
+ clawclick balance
59
+ clawclick balance -t 0xTokenAddress
60
+
61
+ # List tokens
62
+ clawclick list
63
+ clawclick list -s mcap -l 20
64
+ clawclick list -q "search term"
65
+
66
+ # Trending tokens
67
+ clawclick trending
68
+
69
+ # Platform stats
70
+ clawclick stats
71
+ ```
72
+
73
+ ## SDK Usage
74
+
75
+ ```typescript
76
+ import { ClawClick } from '@clawclick/sdk'
77
+
78
+ const sdk = new ClawClick({
79
+ privateKey: process.env.PRIVATE_KEY!,
80
+ rpcUrl: 'https://sepolia.infura.io/v3/...',
81
+ apiUrl: 'https://your-backend.herokuapp.com',
82
+ factoryAddress: '0x...',
83
+ hookAddress: '0x...',
84
+ swapExecutorAddress: '0x...',
85
+ chainId: 11155111,
86
+ })
87
+
88
+ // Launch a token
89
+ const { tokenAddress, poolId, txHash } = await sdk.launch({
90
+ name: 'My Token',
91
+ symbol: 'MTK',
92
+ beneficiary: '0x...',
93
+ targetMcapETH: '1.5',
94
+ })
95
+
96
+ // Buy
97
+ await sdk.buy(tokenAddress, '0.1')
98
+
99
+ // Sell
100
+ await sdk.sell(tokenAddress, '1000000')
101
+ await sdk.sell(tokenAddress, 'all')
102
+
103
+ // Upload images
104
+ await sdk.uploadImages(tokenAddress, {
105
+ logoPath: './logo.png',
106
+ bannerPath: './banner.png',
107
+ })
108
+
109
+ // Claim fees
110
+ await sdk.claimFeesETH()
111
+ await sdk.claimFeesToken(tokenAddress)
112
+
113
+ // Read data
114
+ const info = await sdk.getTokenInfo(tokenAddress)
115
+ const progress = await sdk.getPoolProgress(tokenAddress)
116
+ const tax = await sdk.getCurrentTax(tokenAddress)
117
+ const limits = await sdk.getCurrentLimits(tokenAddress)
118
+ const graduated = await sdk.isGraduated(tokenAddress)
119
+ const balance = await sdk.getTokenBalance(tokenAddress)
120
+ const ethBalance = await sdk.getETHBalance()
121
+
122
+ // API reads
123
+ const tokens = await sdk.listTokens({ sort: 'hot', limit: 10 })
124
+ const trending = await sdk.getTrending()
125
+ const stats = await sdk.getStats()
126
+ const tokenData = await sdk.getTokenFromAPI(tokenAddress)
127
+ ```
128
+
129
+ ## Building
130
+
131
+ ```bash
132
+ cd cli
133
+ npm install
134
+ npm run build
135
+ ```
136
+
137
+ ## Development
138
+
139
+ ```bash
140
+ npm run dev -- launch -n "Test" -s "TST" -b 0x...
141
+ ```
package/dist/abi.d.ts ADDED
@@ -0,0 +1,542 @@
1
+ export declare const FACTORY_ABI: readonly [{
2
+ readonly name: "createLaunch";
3
+ readonly type: "function";
4
+ readonly stateMutability: "payable";
5
+ readonly inputs: readonly [{
6
+ readonly name: "params";
7
+ readonly type: "tuple";
8
+ readonly components: readonly [{
9
+ readonly name: "name";
10
+ readonly type: "string";
11
+ }, {
12
+ readonly name: "symbol";
13
+ readonly type: "string";
14
+ }, {
15
+ readonly name: "beneficiary";
16
+ readonly type: "address";
17
+ }, {
18
+ readonly name: "agentWallet";
19
+ readonly type: "address";
20
+ }, {
21
+ readonly name: "targetMcapETH";
22
+ readonly type: "uint256";
23
+ }, {
24
+ readonly name: "feeSplit";
25
+ readonly type: "tuple";
26
+ readonly components: readonly [{
27
+ readonly name: "wallets";
28
+ readonly type: "address[5]";
29
+ }, {
30
+ readonly name: "percentages";
31
+ readonly type: "uint16[5]";
32
+ }, {
33
+ readonly name: "count";
34
+ readonly type: "uint8";
35
+ }];
36
+ }];
37
+ }];
38
+ readonly outputs: readonly [{
39
+ readonly name: "token";
40
+ readonly type: "address";
41
+ }, {
42
+ readonly name: "poolId";
43
+ readonly type: "bytes32";
44
+ }];
45
+ }, {
46
+ readonly name: "launchByToken";
47
+ readonly type: "function";
48
+ readonly stateMutability: "view";
49
+ readonly inputs: readonly [{
50
+ readonly name: "token";
51
+ readonly type: "address";
52
+ }];
53
+ readonly outputs: readonly [{
54
+ readonly name: "";
55
+ readonly type: "tuple";
56
+ readonly components: readonly [{
57
+ readonly name: "token";
58
+ readonly type: "address";
59
+ }, {
60
+ readonly name: "beneficiary";
61
+ readonly type: "address";
62
+ }, {
63
+ readonly name: "agentWallet";
64
+ readonly type: "address";
65
+ }, {
66
+ readonly name: "creator";
67
+ readonly type: "address";
68
+ }, {
69
+ readonly name: "poolId";
70
+ readonly type: "bytes32";
71
+ }, {
72
+ readonly name: "poolKey";
73
+ readonly type: "tuple";
74
+ readonly components: readonly [{
75
+ readonly name: "currency0";
76
+ readonly type: "address";
77
+ }, {
78
+ readonly name: "currency1";
79
+ readonly type: "address";
80
+ }, {
81
+ readonly name: "fee";
82
+ readonly type: "uint24";
83
+ }, {
84
+ readonly name: "tickSpacing";
85
+ readonly type: "int24";
86
+ }, {
87
+ readonly name: "hooks";
88
+ readonly type: "address";
89
+ }];
90
+ }, {
91
+ readonly name: "targetMcapETH";
92
+ readonly type: "uint256";
93
+ }, {
94
+ readonly name: "createdAt";
95
+ readonly type: "uint256";
96
+ }, {
97
+ readonly name: "createdBlock";
98
+ readonly type: "uint256";
99
+ }, {
100
+ readonly name: "name";
101
+ readonly type: "string";
102
+ }, {
103
+ readonly name: "symbol";
104
+ readonly type: "string";
105
+ }, {
106
+ readonly name: "feeSplit";
107
+ readonly type: "tuple";
108
+ readonly components: readonly [{
109
+ readonly name: "wallets";
110
+ readonly type: "address[5]";
111
+ }, {
112
+ readonly name: "percentages";
113
+ readonly type: "uint16[5]";
114
+ }, {
115
+ readonly name: "count";
116
+ readonly type: "uint8";
117
+ }];
118
+ }];
119
+ }];
120
+ }, {
121
+ readonly name: "poolStates";
122
+ readonly type: "function";
123
+ readonly stateMutability: "view";
124
+ readonly inputs: readonly [{
125
+ readonly name: "poolId";
126
+ readonly type: "bytes32";
127
+ }];
128
+ readonly outputs: readonly [{
129
+ readonly name: "";
130
+ readonly type: "tuple";
131
+ readonly components: readonly [{
132
+ readonly name: "token";
133
+ readonly type: "address";
134
+ }, {
135
+ readonly name: "beneficiary";
136
+ readonly type: "address";
137
+ }, {
138
+ readonly name: "startingMCAP";
139
+ readonly type: "uint256";
140
+ }, {
141
+ readonly name: "graduationMCAP";
142
+ readonly type: "uint256";
143
+ }, {
144
+ readonly name: "totalSupply";
145
+ readonly type: "uint256";
146
+ }, {
147
+ readonly name: "positionTokenIds";
148
+ readonly type: "uint256[5]";
149
+ }, {
150
+ readonly name: "positionMinted";
151
+ readonly type: "bool[5]";
152
+ }, {
153
+ readonly name: "positionRetired";
154
+ readonly type: "bool[5]";
155
+ }, {
156
+ readonly name: "recycledETH";
157
+ readonly type: "uint256";
158
+ }, {
159
+ readonly name: "activated";
160
+ readonly type: "bool";
161
+ }, {
162
+ readonly name: "graduated";
163
+ readonly type: "bool";
164
+ }];
165
+ }];
166
+ }, {
167
+ readonly name: "getTokenCount";
168
+ readonly type: "function";
169
+ readonly stateMutability: "view";
170
+ readonly inputs: readonly [];
171
+ readonly outputs: readonly [{
172
+ readonly name: "";
173
+ readonly type: "uint256";
174
+ }];
175
+ }, {
176
+ readonly name: "getTokenAtIndex";
177
+ readonly type: "function";
178
+ readonly stateMutability: "view";
179
+ readonly inputs: readonly [{
180
+ readonly name: "index";
181
+ readonly type: "uint256";
182
+ }];
183
+ readonly outputs: readonly [{
184
+ readonly name: "";
185
+ readonly type: "address";
186
+ }];
187
+ }, {
188
+ readonly name: "totalLaunches";
189
+ readonly type: "function";
190
+ readonly stateMutability: "view";
191
+ readonly inputs: readonly [];
192
+ readonly outputs: readonly [{
193
+ readonly name: "";
194
+ readonly type: "uint256";
195
+ }];
196
+ }, {
197
+ readonly name: "previewSqrtPrice";
198
+ readonly type: "function";
199
+ readonly stateMutability: "pure";
200
+ readonly inputs: readonly [{
201
+ readonly name: "targetMcapETH";
202
+ readonly type: "uint256";
203
+ }];
204
+ readonly outputs: readonly [{
205
+ readonly name: "";
206
+ readonly type: "uint160";
207
+ }];
208
+ }, {
209
+ readonly name: "hook";
210
+ readonly type: "function";
211
+ readonly stateMutability: "view";
212
+ readonly inputs: readonly [];
213
+ readonly outputs: readonly [{
214
+ readonly name: "";
215
+ readonly type: "address";
216
+ }];
217
+ }, {
218
+ readonly name: "poolManager";
219
+ readonly type: "function";
220
+ readonly stateMutability: "view";
221
+ readonly inputs: readonly [];
222
+ readonly outputs: readonly [{
223
+ readonly name: "";
224
+ readonly type: "address";
225
+ }];
226
+ }, {
227
+ readonly name: "mintNextPosition";
228
+ readonly type: "function";
229
+ readonly stateMutability: "nonpayable";
230
+ readonly inputs: readonly [{
231
+ readonly name: "poolId";
232
+ readonly type: "bytes32";
233
+ }, {
234
+ readonly name: "positionIndex";
235
+ readonly type: "uint256";
236
+ }];
237
+ readonly outputs: readonly [];
238
+ }, {
239
+ readonly name: "collectFeesFromPosition";
240
+ readonly type: "function";
241
+ readonly stateMutability: "nonpayable";
242
+ readonly inputs: readonly [{
243
+ readonly name: "poolId";
244
+ readonly type: "bytes32";
245
+ }, {
246
+ readonly name: "positionIndex";
247
+ readonly type: "uint256";
248
+ }];
249
+ readonly outputs: readonly [];
250
+ }];
251
+ export declare const HOOK_ABI: readonly [{
252
+ readonly name: "launches";
253
+ readonly type: "function";
254
+ readonly stateMutability: "view";
255
+ readonly inputs: readonly [{
256
+ readonly name: "poolId";
257
+ readonly type: "bytes32";
258
+ }];
259
+ readonly outputs: readonly [{
260
+ readonly name: "";
261
+ readonly type: "tuple";
262
+ readonly components: readonly [{
263
+ readonly name: "token";
264
+ readonly type: "address";
265
+ }, {
266
+ readonly name: "beneficiary";
267
+ readonly type: "address";
268
+ }, {
269
+ readonly name: "startMcap";
270
+ readonly type: "uint256";
271
+ }, {
272
+ readonly name: "baseTax";
273
+ readonly type: "uint256";
274
+ }, {
275
+ readonly name: "startSqrtPrice";
276
+ readonly type: "uint160";
277
+ }, {
278
+ readonly name: "phase";
279
+ readonly type: "uint8";
280
+ }, {
281
+ readonly name: "liquidityStage";
282
+ readonly type: "uint8";
283
+ }, {
284
+ readonly name: "graduationMcap";
285
+ readonly type: "uint256";
286
+ }];
287
+ }];
288
+ }, {
289
+ readonly name: "getCurrentTax";
290
+ readonly type: "function";
291
+ readonly stateMutability: "view";
292
+ readonly inputs: readonly [{
293
+ readonly name: "poolId";
294
+ readonly type: "bytes32";
295
+ }];
296
+ readonly outputs: readonly [{
297
+ readonly name: "";
298
+ readonly type: "uint256";
299
+ }];
300
+ }, {
301
+ readonly name: "getCurrentLimits";
302
+ readonly type: "function";
303
+ readonly stateMutability: "view";
304
+ readonly inputs: readonly [{
305
+ readonly name: "poolId";
306
+ readonly type: "bytes32";
307
+ }];
308
+ readonly outputs: readonly [{
309
+ readonly name: "maxTx";
310
+ readonly type: "uint256";
311
+ }, {
312
+ readonly name: "maxWallet";
313
+ readonly type: "uint256";
314
+ }];
315
+ }, {
316
+ readonly name: "getCurrentEpoch";
317
+ readonly type: "function";
318
+ readonly stateMutability: "view";
319
+ readonly inputs: readonly [{
320
+ readonly name: "poolId";
321
+ readonly type: "bytes32";
322
+ }];
323
+ readonly outputs: readonly [{
324
+ readonly name: "";
325
+ readonly type: "uint256";
326
+ }];
327
+ }, {
328
+ readonly name: "isGraduated";
329
+ readonly type: "function";
330
+ readonly stateMutability: "view";
331
+ readonly inputs: readonly [{
332
+ readonly name: "poolId";
333
+ readonly type: "bytes32";
334
+ }];
335
+ readonly outputs: readonly [{
336
+ readonly name: "";
337
+ readonly type: "bool";
338
+ }];
339
+ }, {
340
+ readonly name: "isGraduatedByToken";
341
+ readonly type: "function";
342
+ readonly stateMutability: "view";
343
+ readonly inputs: readonly [{
344
+ readonly name: "token";
345
+ readonly type: "address";
346
+ }];
347
+ readonly outputs: readonly [{
348
+ readonly name: "";
349
+ readonly type: "bool";
350
+ }];
351
+ }, {
352
+ readonly name: "poolProgress";
353
+ readonly type: "function";
354
+ readonly stateMutability: "view";
355
+ readonly inputs: readonly [{
356
+ readonly name: "poolId";
357
+ readonly type: "bytes32";
358
+ }];
359
+ readonly outputs: readonly [{
360
+ readonly name: "currentPosition";
361
+ readonly type: "uint256";
362
+ }, {
363
+ readonly name: "currentEpoch";
364
+ readonly type: "uint256";
365
+ }, {
366
+ readonly name: "lastEpochMCAP";
367
+ readonly type: "uint256";
368
+ }, {
369
+ readonly name: "graduated";
370
+ readonly type: "bool";
371
+ }];
372
+ }, {
373
+ readonly name: "getPoolIdForToken";
374
+ readonly type: "function";
375
+ readonly stateMutability: "view";
376
+ readonly inputs: readonly [{
377
+ readonly name: "token";
378
+ readonly type: "address";
379
+ }];
380
+ readonly outputs: readonly [{
381
+ readonly name: "";
382
+ readonly type: "bytes32";
383
+ }];
384
+ }, {
385
+ readonly name: "claimBeneficiaryFeesETH";
386
+ readonly type: "function";
387
+ readonly stateMutability: "nonpayable";
388
+ readonly inputs: readonly [{
389
+ readonly name: "beneficiary";
390
+ readonly type: "address";
391
+ }];
392
+ readonly outputs: readonly [];
393
+ }, {
394
+ readonly name: "claimBeneficiaryFeesToken";
395
+ readonly type: "function";
396
+ readonly stateMutability: "nonpayable";
397
+ readonly inputs: readonly [{
398
+ readonly name: "beneficiary";
399
+ readonly type: "address";
400
+ }, {
401
+ readonly name: "token";
402
+ readonly type: "address";
403
+ }];
404
+ readonly outputs: readonly [];
405
+ }, {
406
+ readonly name: "TOTAL_SUPPLY";
407
+ readonly type: "function";
408
+ readonly stateMutability: "pure";
409
+ readonly inputs: readonly [];
410
+ readonly outputs: readonly [{
411
+ readonly name: "";
412
+ readonly type: "uint256";
413
+ }];
414
+ }];
415
+ export declare const SWAP_EXECUTOR_ABI: readonly [{
416
+ readonly name: "executeBuy";
417
+ readonly type: "function";
418
+ readonly stateMutability: "payable";
419
+ readonly inputs: readonly [{
420
+ readonly name: "key";
421
+ readonly type: "tuple";
422
+ readonly components: readonly [{
423
+ readonly name: "currency0";
424
+ readonly type: "address";
425
+ }, {
426
+ readonly name: "currency1";
427
+ readonly type: "address";
428
+ }, {
429
+ readonly name: "fee";
430
+ readonly type: "uint24";
431
+ }, {
432
+ readonly name: "tickSpacing";
433
+ readonly type: "int24";
434
+ }, {
435
+ readonly name: "hooks";
436
+ readonly type: "address";
437
+ }];
438
+ }, {
439
+ readonly name: "amountIn";
440
+ readonly type: "uint256";
441
+ }, {
442
+ readonly name: "amountOutMin";
443
+ readonly type: "uint256";
444
+ }];
445
+ readonly outputs: readonly [];
446
+ }, {
447
+ readonly name: "executeSell";
448
+ readonly type: "function";
449
+ readonly stateMutability: "nonpayable";
450
+ readonly inputs: readonly [{
451
+ readonly name: "key";
452
+ readonly type: "tuple";
453
+ readonly components: readonly [{
454
+ readonly name: "currency0";
455
+ readonly type: "address";
456
+ }, {
457
+ readonly name: "currency1";
458
+ readonly type: "address";
459
+ }, {
460
+ readonly name: "fee";
461
+ readonly type: "uint24";
462
+ }, {
463
+ readonly name: "tickSpacing";
464
+ readonly type: "int24";
465
+ }, {
466
+ readonly name: "hooks";
467
+ readonly type: "address";
468
+ }];
469
+ }, {
470
+ readonly name: "token";
471
+ readonly type: "address";
472
+ }, {
473
+ readonly name: "amountIn";
474
+ readonly type: "uint256";
475
+ }, {
476
+ readonly name: "amountOutMin";
477
+ readonly type: "uint256";
478
+ }];
479
+ readonly outputs: readonly [];
480
+ }];
481
+ export declare const ERC20_ABI: readonly [{
482
+ readonly name: "approve";
483
+ readonly type: "function";
484
+ readonly stateMutability: "nonpayable";
485
+ readonly inputs: readonly [{
486
+ readonly name: "spender";
487
+ readonly type: "address";
488
+ }, {
489
+ readonly name: "amount";
490
+ readonly type: "uint256";
491
+ }];
492
+ readonly outputs: readonly [{
493
+ readonly name: "";
494
+ readonly type: "bool";
495
+ }];
496
+ }, {
497
+ readonly name: "balanceOf";
498
+ readonly type: "function";
499
+ readonly stateMutability: "view";
500
+ readonly inputs: readonly [{
501
+ readonly name: "account";
502
+ readonly type: "address";
503
+ }];
504
+ readonly outputs: readonly [{
505
+ readonly name: "";
506
+ readonly type: "uint256";
507
+ }];
508
+ }, {
509
+ readonly name: "allowance";
510
+ readonly type: "function";
511
+ readonly stateMutability: "view";
512
+ readonly inputs: readonly [{
513
+ readonly name: "owner";
514
+ readonly type: "address";
515
+ }, {
516
+ readonly name: "spender";
517
+ readonly type: "address";
518
+ }];
519
+ readonly outputs: readonly [{
520
+ readonly name: "";
521
+ readonly type: "uint256";
522
+ }];
523
+ }, {
524
+ readonly name: "symbol";
525
+ readonly type: "function";
526
+ readonly stateMutability: "view";
527
+ readonly inputs: readonly [];
528
+ readonly outputs: readonly [{
529
+ readonly name: "";
530
+ readonly type: "string";
531
+ }];
532
+ }, {
533
+ readonly name: "decimals";
534
+ readonly type: "function";
535
+ readonly stateMutability: "view";
536
+ readonly inputs: readonly [];
537
+ readonly outputs: readonly [{
538
+ readonly name: "";
539
+ readonly type: "uint8";
540
+ }];
541
+ }];
542
+ //# sourceMappingURL=abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmKd,CAAA;AAKV,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwGX,CAAA;AAKV,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CpB,CAAA;AAKV,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CZ,CAAA"}