@clawnch/clawncher-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.
Files changed (98) hide show
  1. package/README.md +603 -0
  2. package/dist/abis.d.ts +935 -0
  3. package/dist/abis.d.ts.map +1 -0
  4. package/dist/abis.js +486 -0
  5. package/dist/abis.js.map +1 -0
  6. package/dist/addresses.d.ts +51 -0
  7. package/dist/addresses.d.ts.map +1 -0
  8. package/dist/addresses.js +80 -0
  9. package/dist/addresses.js.map +1 -0
  10. package/dist/api-deployer-types.d.ts +165 -0
  11. package/dist/api-deployer-types.d.ts.map +1 -0
  12. package/dist/api-deployer-types.js +9 -0
  13. package/dist/api-deployer-types.js.map +1 -0
  14. package/dist/api-deployer.d.ts +114 -0
  15. package/dist/api-deployer.d.ts.map +1 -0
  16. package/dist/api-deployer.js +309 -0
  17. package/dist/api-deployer.js.map +1 -0
  18. package/dist/claimer.d.ts +197 -0
  19. package/dist/claimer.d.ts.map +1 -0
  20. package/dist/claimer.js +311 -0
  21. package/dist/claimer.js.map +1 -0
  22. package/dist/deployer.d.ts +229 -0
  23. package/dist/deployer.d.ts.map +1 -0
  24. package/dist/deployer.js +305 -0
  25. package/dist/deployer.js.map +1 -0
  26. package/dist/erc8004-types.d.ts +94 -0
  27. package/dist/erc8004-types.d.ts.map +1 -0
  28. package/dist/erc8004-types.js +8 -0
  29. package/dist/erc8004-types.js.map +1 -0
  30. package/dist/errors.d.ts +62 -0
  31. package/dist/errors.d.ts.map +1 -0
  32. package/dist/errors.js +75 -0
  33. package/dist/errors.js.map +1 -0
  34. package/dist/index.d.ts +204 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +358 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/liquidity-types.d.ts +198 -0
  39. package/dist/liquidity-types.d.ts.map +1 -0
  40. package/dist/liquidity-types.js +8 -0
  41. package/dist/liquidity-types.js.map +1 -0
  42. package/dist/liquidity.d.ts +111 -0
  43. package/dist/liquidity.d.ts.map +1 -0
  44. package/dist/liquidity.js +608 -0
  45. package/dist/liquidity.js.map +1 -0
  46. package/dist/molten-types.d.ts +282 -0
  47. package/dist/molten-types.d.ts.map +1 -0
  48. package/dist/molten-types.js +8 -0
  49. package/dist/molten-types.js.map +1 -0
  50. package/dist/molten.d.ts +336 -0
  51. package/dist/molten.d.ts.map +1 -0
  52. package/dist/molten.js +560 -0
  53. package/dist/molten.js.map +1 -0
  54. package/dist/portfolio.d.ts +129 -0
  55. package/dist/portfolio.d.ts.map +1 -0
  56. package/dist/portfolio.js +218 -0
  57. package/dist/portfolio.js.map +1 -0
  58. package/dist/reader.d.ts +249 -0
  59. package/dist/reader.d.ts.map +1 -0
  60. package/dist/reader.js +488 -0
  61. package/dist/reader.js.map +1 -0
  62. package/dist/swap-types.d.ts +159 -0
  63. package/dist/swap-types.d.ts.map +1 -0
  64. package/dist/swap-types.js +22 -0
  65. package/dist/swap-types.js.map +1 -0
  66. package/dist/swap.d.ts +762 -0
  67. package/dist/swap.d.ts.map +1 -0
  68. package/dist/swap.js +345 -0
  69. package/dist/swap.js.map +1 -0
  70. package/dist/token-verification-data.d.ts +4 -0
  71. package/dist/token-verification-data.d.ts.map +1 -0
  72. package/dist/token-verification-data.js +6 -0
  73. package/dist/token-verification-data.js.map +1 -0
  74. package/dist/types.d.ts +244 -0
  75. package/dist/types.d.ts.map +1 -0
  76. package/dist/types.js +5 -0
  77. package/dist/types.js.map +1 -0
  78. package/dist/uniswap-abis.d.ts +470 -0
  79. package/dist/uniswap-abis.d.ts.map +1 -0
  80. package/dist/uniswap-abis.js +322 -0
  81. package/dist/uniswap-abis.js.map +1 -0
  82. package/dist/uniswap-addresses.d.ts +38 -0
  83. package/dist/uniswap-addresses.d.ts.map +1 -0
  84. package/dist/uniswap-addresses.js +67 -0
  85. package/dist/uniswap-addresses.js.map +1 -0
  86. package/dist/vanity.d.ts +115 -0
  87. package/dist/vanity.d.ts.map +1 -0
  88. package/dist/vanity.js +166 -0
  89. package/dist/vanity.js.map +1 -0
  90. package/dist/verify.d.ts +88 -0
  91. package/dist/verify.d.ts.map +1 -0
  92. package/dist/verify.js +181 -0
  93. package/dist/verify.js.map +1 -0
  94. package/dist/watcher.d.ts +112 -0
  95. package/dist/watcher.d.ts.map +1 -0
  96. package/dist/watcher.js +132 -0
  97. package/dist/watcher.js.map +1 -0
  98. package/package.json +59 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * ClawnchWatcher - Live event watching for Clawncher tokens
3
+ *
4
+ * Watches for new token deployments and swap events in real-time
5
+ * using viem's event subscription (WebSocket recommended).
6
+ *
7
+ * Uses `publicClient.watchContractEvent()` which works with both
8
+ * polling (HTTP) and subscription (WebSocket) transports.
9
+ */
10
+ import { ClawnchFactoryABI } from './abis.js';
11
+ import { getAddresses } from './addresses.js';
12
+ /**
13
+ * ClawnchWatcher - Watch live events from Clawncher contracts
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import { ClawnchWatcher } from '@clawnch/clawncher-sdk';
18
+ * import { createPublicClient, webSocket } from 'viem';
19
+ * import { base } from 'viem/chains';
20
+ *
21
+ * // WebSocket recommended for live watching
22
+ * const publicClient = createPublicClient({
23
+ * chain: base,
24
+ * transport: webSocket('wss://base-mainnet.g.alchemy.com/v2/YOUR_KEY'),
25
+ * });
26
+ *
27
+ * const watcher = new ClawnchWatcher({
28
+ * publicClient,
29
+ * network: 'mainnet',
30
+ * });
31
+ *
32
+ * // Watch for new token deployments
33
+ * const unwatch = watcher.watchDeployments((event) => {
34
+ * console.log(`New token: ${event.tokenSymbol} at ${event.tokenAddress}`);
35
+ * });
36
+ *
37
+ * // Stop watching later
38
+ * unwatch();
39
+ * ```
40
+ */
41
+ export class ClawnchWatcher {
42
+ publicClient;
43
+ network;
44
+ constructor(config) {
45
+ this.publicClient = config.publicClient;
46
+ this.network = config.network;
47
+ }
48
+ /**
49
+ * Get contract addresses for configured network
50
+ */
51
+ getAddresses() {
52
+ return getAddresses(this.network);
53
+ }
54
+ /**
55
+ * Watch for new token deployments from the factory.
56
+ *
57
+ * Subscribes to TokenCreated events on the factory contract.
58
+ * Returns an unsubscribe function to stop watching.
59
+ *
60
+ * @param callback - Called for each new token deployment
61
+ * @param options - Optional filter by token admin
62
+ * @returns Unsubscribe function
63
+ */
64
+ watchDeployments(callback, options) {
65
+ const addresses = this.getAddresses();
66
+ const unwatch = this.publicClient.watchContractEvent({
67
+ address: addresses.clawnch.factory,
68
+ abi: ClawnchFactoryABI,
69
+ eventName: 'TokenCreated',
70
+ args: options?.tokenAdmin ? { tokenAdmin: options.tokenAdmin } : undefined,
71
+ onLogs: (logs) => {
72
+ for (const log of logs) {
73
+ const args = log.args;
74
+ if (!args.tokenAddress)
75
+ continue;
76
+ callback({
77
+ tokenAddress: args.tokenAddress,
78
+ tokenAdmin: args.tokenAdmin ?? '0x0000000000000000000000000000000000000000',
79
+ tokenName: args.tokenName ?? '',
80
+ tokenSymbol: args.tokenSymbol ?? '',
81
+ tokenImage: args.tokenImage ?? '',
82
+ deployer: args.msgSender ?? '0x0000000000000000000000000000000000000000',
83
+ poolHook: args.poolHook ?? '0x0000000000000000000000000000000000000000',
84
+ locker: args.locker ?? '0x0000000000000000000000000000000000000000',
85
+ poolId: args.poolId ?? '0x0000000000000000000000000000000000000000000000000000000000000000',
86
+ blockNumber: log.blockNumber ?? 0n,
87
+ txHash: log.transactionHash ?? '0x0000000000000000000000000000000000000000000000000000000000000000',
88
+ });
89
+ }
90
+ },
91
+ });
92
+ return unwatch;
93
+ }
94
+ /**
95
+ * Get historical token deployments (past events).
96
+ *
97
+ * Fetches TokenCreated events from the factory within a block range.
98
+ * Useful for building initial state before starting live watching.
99
+ *
100
+ * @param options - Block range and optional filter
101
+ */
102
+ async getHistoricalDeployments(options) {
103
+ const addresses = this.getAddresses();
104
+ const fromBlock = options?.fromBlock ?? await this.publicClient.getBlockNumber()
105
+ .then(n => n > 10000n ? n - 10000n : 0n);
106
+ const logs = await this.publicClient.getContractEvents({
107
+ address: addresses.clawnch.factory,
108
+ abi: ClawnchFactoryABI,
109
+ eventName: 'TokenCreated',
110
+ args: options?.tokenAdmin ? { tokenAdmin: options.tokenAdmin } : undefined,
111
+ fromBlock,
112
+ toBlock: options?.toBlock,
113
+ });
114
+ return logs.map(log => {
115
+ const args = log.args;
116
+ return {
117
+ tokenAddress: args.tokenAddress ?? '0x0000000000000000000000000000000000000000',
118
+ tokenAdmin: args.tokenAdmin ?? '0x0000000000000000000000000000000000000000',
119
+ tokenName: args.tokenName ?? '',
120
+ tokenSymbol: args.tokenSymbol ?? '',
121
+ tokenImage: args.tokenImage ?? '',
122
+ deployer: args.msgSender ?? '0x0000000000000000000000000000000000000000',
123
+ poolHook: args.poolHook ?? '0x0000000000000000000000000000000000000000',
124
+ locker: args.locker ?? '0x0000000000000000000000000000000000000000',
125
+ poolId: args.poolId ?? '0x0000000000000000000000000000000000000000000000000000000000000000',
126
+ blockNumber: log.blockNumber ?? 0n,
127
+ txHash: log.transactionHash ?? '0x0000000000000000000000000000000000000000000000000000000000000000',
128
+ };
129
+ });
130
+ }
131
+ }
132
+ //# sourceMappingURL=watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@clawnch/clawncher-sdk",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript SDK for Clawncher - token launch toolkit for Base, optimized for agents",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "README.md"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "dev": "tsc --watch",
21
+ "clean": "rm -rf dist",
22
+ "prepublishOnly": "npm run build",
23
+ "test": "vitest"
24
+ },
25
+ "keywords": [
26
+ "clawncher",
27
+ "clawnch",
28
+ "base",
29
+ "memecoin",
30
+ "uniswap",
31
+ "v4",
32
+ "token",
33
+ "deploy",
34
+ "sdk"
35
+ ],
36
+ "author": "Clawncher",
37
+ "license": "MIT",
38
+ "homepage": "https://clawn.ch/er",
39
+ "engines": {
40
+ "node": ">=18"
41
+ },
42
+ "dependencies": {
43
+ "clanker-sdk": "^4.2.10",
44
+ "viem": "^2.0.0"
45
+ },
46
+ "devDependencies": {
47
+ "@types/node": "^22.10.0",
48
+ "typescript": "^5.7.2",
49
+ "vitest": "^2.1.0"
50
+ },
51
+ "peerDependencies": {
52
+ "viem": "^2.0.0"
53
+ },
54
+ "peerDependenciesMeta": {
55
+ "viem": {
56
+ "optional": true
57
+ }
58
+ }
59
+ }