@clawnch/clawncher-sdk 0.3.1 → 0.3.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 (54) hide show
  1. package/README.md +89 -0
  2. package/dist/deployer.d.ts +13 -0
  3. package/dist/deployer.d.ts.map +1 -1
  4. package/dist/deployer.js +8 -0
  5. package/dist/deployer.js.map +1 -1
  6. package/dist/errors.d.ts +2 -1
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +2 -0
  9. package/dist/errors.js.map +1 -1
  10. package/dist/herd-auth.d.ts +79 -0
  11. package/dist/herd-auth.d.ts.map +1 -0
  12. package/dist/herd-auth.js +188 -0
  13. package/dist/herd-auth.js.map +1 -0
  14. package/dist/herd-hal.d.ts +92 -0
  15. package/dist/herd-hal.d.ts.map +1 -0
  16. package/dist/herd-hal.js +337 -0
  17. package/dist/herd-hal.js.map +1 -0
  18. package/dist/herd-types.d.ts +479 -0
  19. package/dist/herd-types.d.ts.map +1 -0
  20. package/dist/herd-types.js +18 -0
  21. package/dist/herd-types.js.map +1 -0
  22. package/dist/herd.d.ts +223 -0
  23. package/dist/herd.d.ts.map +1 -0
  24. package/dist/herd.js +1486 -0
  25. package/dist/herd.js.map +1 -0
  26. package/dist/hummingbot-types.d.ts +702 -0
  27. package/dist/hummingbot-types.d.ts.map +1 -0
  28. package/dist/hummingbot-types.js +12 -0
  29. package/dist/hummingbot-types.js.map +1 -0
  30. package/dist/hummingbot.d.ts +747 -0
  31. package/dist/hummingbot.d.ts.map +1 -0
  32. package/dist/hummingbot.js +1478 -0
  33. package/dist/hummingbot.js.map +1 -0
  34. package/dist/index.d.ts +8 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +10 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/price.d.ts +16 -11
  39. package/dist/price.d.ts.map +1 -1
  40. package/dist/price.js +56 -25
  41. package/dist/price.js.map +1 -1
  42. package/dist/trader.d.ts +55 -0
  43. package/dist/trader.d.ts.map +1 -1
  44. package/dist/trader.js +81 -0
  45. package/dist/trader.js.map +1 -1
  46. package/dist/uniswap-quoter.d.ts +25 -4
  47. package/dist/uniswap-quoter.d.ts.map +1 -1
  48. package/dist/uniswap-quoter.js +52 -8
  49. package/dist/uniswap-quoter.js.map +1 -1
  50. package/dist/walletconnect-signer.d.ts +154 -0
  51. package/dist/walletconnect-signer.d.ts.map +1 -0
  52. package/dist/walletconnect-signer.js +307 -0
  53. package/dist/walletconnect-signer.js.map +1 -0
  54. package/package.json +1 -1
package/dist/herd.d.ts ADDED
@@ -0,0 +1,223 @@
1
+ /**
2
+ * HerdIntelligence — On-chain intelligence via Herd MCP
3
+ *
4
+ * Composes Herd's block explorer data with Clawncher's domain-specific
5
+ * on-chain reading to produce rich, actionable intelligence that neither
6
+ * system can provide alone.
7
+ *
8
+ * Architecture:
9
+ * - Uses the MCP SDK's HTTP client to call Herd's MCP server
10
+ * - Combines Herd responses with ClawnchReader / ClawnchPrice data
11
+ * - Caches responses with configurable TTLs
12
+ * - Degrades gracefully when Herd is unavailable
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const herd = new HerdIntelligence({
17
+ * accessToken: 'your-herd-token',
18
+ * publicClient,
19
+ * network: 'mainnet',
20
+ * });
21
+ *
22
+ * // Investigate any contract — enriched with Clawncher data if applicable
23
+ * const profile = await herd.investigateContract('0x...');
24
+ *
25
+ * // Audit a token for safety before interacting
26
+ * const audit = await herd.auditTokenSafety('0x...');
27
+ *
28
+ * // Validate a swap route against historical on-chain data
29
+ * const validation = await herd.validateSwapRoute('0xTokenIn', '0xTokenOut', '1.0');
30
+ * ```
31
+ */
32
+ import type { PublicClient } from 'viem';
33
+ import { type NetworkName } from './addresses.js';
34
+ import type { HerdBlockchain, HerdCacheTtl, ContractProfile, TokenAuditReport, TransactionProfile, WalletProfile, ContractRelationship, TokenFlowReport, VersionDiff, SwapValidation, FeeClaimValidation, CounterpartyProfile, Bookmark, BookmarkType } from './herd-types.js';
35
+ export type { ContractProfile, TokenAuditReport, TransactionProfile, WalletProfile, ContractRelationship, TokenFlowReport, VersionDiff, SwapValidation, FeeClaimValidation, CounterpartyProfile, Bookmark, BookmarkType, SecurityFlag, SecuritySeverity, } from './herd-types.js';
36
+ export interface HerdIntelligenceConfig {
37
+ /** Public client for on-chain reads (composing Herd data with ours) */
38
+ publicClient?: PublicClient;
39
+ /** Network for Clawncher address lookups */
40
+ network?: NetworkName;
41
+ /** Herd access token (or set HERD_ACCESS_TOKEN env var) */
42
+ accessToken?: string;
43
+ /** Herd MCP server URL */
44
+ mcpUrl?: string;
45
+ /** Default blockchain for Herd queries */
46
+ blockchain?: HerdBlockchain;
47
+ /** Cache TTL overrides in seconds */
48
+ cacheTtl?: Partial<HerdCacheTtl>;
49
+ /** Timeout for MCP calls in ms (default: 30000) */
50
+ timeout?: number;
51
+ }
52
+ export declare class HerdIntelligence {
53
+ private mcp;
54
+ private reader;
55
+ private price;
56
+ private publicClient;
57
+ private network;
58
+ private blockchain;
59
+ private addresses;
60
+ private knownAddresses;
61
+ private cache;
62
+ private cacheTtl;
63
+ constructor(config?: HerdIntelligenceConfig);
64
+ /**
65
+ * Check if the Herd MCP server is reachable and authenticated.
66
+ */
67
+ isAvailable(): Promise<boolean>;
68
+ /**
69
+ * Investigate any contract on Base/Ethereum.
70
+ *
71
+ * Returns a rich profile combining Herd's metadata (ABI, proxy info,
72
+ * token data, protocol labels) with Clawncher-specific data when the
73
+ * contract is one of ours (vault status, MEV config, fees, etc.).
74
+ *
75
+ * Also runs security pattern analysis on the source code.
76
+ */
77
+ investigateContract(address: string, options?: {
78
+ blockchain?: HerdBlockchain;
79
+ skipCodeAnalysis?: boolean;
80
+ }): Promise<ContractProfile>;
81
+ /**
82
+ * Investigate any transaction.
83
+ *
84
+ * Decodes traces, logs, and balance changes via Herd, then annotates
85
+ * with Clawncher-specific context (e.g. "this was a fee claim",
86
+ * "this was a V4 swap with 0.35 ETH output").
87
+ */
88
+ investigateTransaction(txHash: string, options?: {
89
+ blockchain?: HerdBlockchain;
90
+ }): Promise<TransactionProfile>;
91
+ /**
92
+ * Investigate any wallet.
93
+ *
94
+ * Detects wallet type (EOA, 4337, 7702, multisig), shows holdings,
95
+ * and overlays Clawncher token positions and fee data if the wallet
96
+ * holds any of our tokens.
97
+ */
98
+ investigateWallet(address: string, options?: {
99
+ blockchain?: HerdBlockchain;
100
+ includeActivity?: boolean;
101
+ }): Promise<WalletProfile>;
102
+ /**
103
+ * Map relationships for a contract — who calls it, what it calls,
104
+ * what it deployed. Highlights Clawncher contracts in the graph.
105
+ */
106
+ getContractRelationships(address: string, options?: {
107
+ blockchain?: HerdBlockchain;
108
+ }): Promise<ContractRelationship>;
109
+ /**
110
+ * Track token transfer history for a holder.
111
+ * Annotates transfers with known contract labels.
112
+ */
113
+ trackTokenFlow(holder: string, token: string, options?: {
114
+ blockchain?: HerdBlockchain;
115
+ page?: number;
116
+ }): Promise<TokenFlowReport>;
117
+ /**
118
+ * Compare implementation versions of an upgradeable contract.
119
+ */
120
+ compareVersions(address: string, options?: {
121
+ blockchain?: HerdBlockchain;
122
+ allVersions?: boolean;
123
+ }): Promise<VersionDiff>;
124
+ /**
125
+ * Search contract source code using natural language or regex.
126
+ */
127
+ searchCode(addresses: string[], query: string, options?: {
128
+ includeProxies?: boolean;
129
+ returnAllCode?: boolean;
130
+ }): Promise<string>;
131
+ /**
132
+ * Comprehensive security audit of any ERC-20 token.
133
+ *
134
+ * Combines contract metadata, code analysis for dangerous patterns,
135
+ * proxy/upgrade detection, and owner privilege scanning into a single
136
+ * risk report with a 0-100 score.
137
+ */
138
+ auditTokenSafety(tokenAddress: string, options?: {
139
+ blockchain?: HerdBlockchain;
140
+ }): Promise<TokenAuditReport>;
141
+ /**
142
+ * Validate a swap route by comparing our on-chain quote against
143
+ * historical execution data from Herd.
144
+ *
145
+ * Answers: "Is our quote reasonable? What did recent swaps actually get?"
146
+ */
147
+ validateSwapRoute(tokenIn: string, tokenOut: string, amountIn: string, options?: {
148
+ blockchain?: HerdBlockchain;
149
+ }): Promise<SwapValidation>;
150
+ /**
151
+ * Validate fee claim expectations against historical on-chain data.
152
+ *
153
+ * Looks up recent claimFees txs on our FeeLocker, decodes actual gas
154
+ * costs and outcomes, and compares with our ClawnchReader estimate.
155
+ */
156
+ validateFeeClaim(tokenAddress: string, options?: {
157
+ blockchain?: HerdBlockchain;
158
+ }): Promise<FeeClaimValidation>;
159
+ /**
160
+ * Profile a counterparty wallet before interacting.
161
+ *
162
+ * Combines wallet overview, transaction history, deployed contracts,
163
+ * and derives a trust assessment.
164
+ */
165
+ profileCounterparty(address: string, options?: {
166
+ blockchain?: HerdBlockchain;
167
+ }): Promise<CounterpartyProfile>;
168
+ /**
169
+ * Validate a factory contract before deploying through it.
170
+ * Checks metadata, recent successful deploys, and source code.
171
+ */
172
+ validateDeployTarget(factoryAddress?: string, options?: {
173
+ blockchain?: HerdBlockchain;
174
+ }): Promise<{
175
+ factory: ContractProfile;
176
+ recentDeploys: number;
177
+ warnings: string[];
178
+ safe: boolean;
179
+ }>;
180
+ /**
181
+ * Get all bookmarks for the authenticated user.
182
+ */
183
+ getBookmarks(): Promise<Bookmark[]>;
184
+ /**
185
+ * Add or update a bookmark.
186
+ */
187
+ bookmark(objectType: BookmarkType, objectId: string, label?: string, blockchain?: HerdBlockchain): Promise<void>;
188
+ /**
189
+ * Remove a bookmark.
190
+ */
191
+ removeBookmark(objectType: BookmarkType, objectId: string, blockchain?: HerdBlockchain): Promise<void>;
192
+ /**
193
+ * Clear the in-memory cache.
194
+ */
195
+ clearCache(): void;
196
+ /**
197
+ * Call a Herd tool with retry and graceful error handling.
198
+ * Returns null instead of throwing on non-critical failures.
199
+ * Logs warnings on transient failures so callers can distinguish
200
+ * "no data" from "Herd unreachable".
201
+ */
202
+ private callToolSafe;
203
+ private buildContractProfile;
204
+ private buildTransactionProfile;
205
+ private buildWalletProfile;
206
+ private buildRelationships;
207
+ private buildTokenFlowReport;
208
+ private buildVersionDiff;
209
+ private getClawncherOverlay;
210
+ private getClawncherWalletOverlay;
211
+ private analyzeContractSecurity;
212
+ private parseTraces;
213
+ private annotateTransaction;
214
+ private extractHistoricalSwaps;
215
+ private analyzeSwapValidation;
216
+ private extractHistoricalClaims;
217
+ private analyzeFeeClaimValidation;
218
+ private extractDeployedContracts;
219
+ private assessCounterpartyRisk;
220
+ private calculateAge;
221
+ private parseBookmarks;
222
+ }
223
+ //# sourceMappingURL=herd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herd.d.ts","sourceRoot":"","sources":["../src/herd.ts"],"names":[],"mappings":"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"}