@clawnch/clawncher-sdk 0.1.3 → 0.3.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 +190 -0
- package/dist/analytics.d.ts +157 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +468 -0
- package/dist/analytics.js.map +1 -0
- package/dist/api-deployer.d.ts.map +1 -1
- package/dist/api-deployer.js +38 -35
- package/dist/api-deployer.js.map +1 -1
- package/dist/claimer.d.ts.map +1 -1
- package/dist/claimer.js +9 -7
- package/dist/claimer.js.map +1 -1
- package/dist/errors.d.ts +13 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +50 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/liquidity.d.ts +13 -7
- package/dist/liquidity.d.ts.map +1 -1
- package/dist/liquidity.js +143 -46
- package/dist/liquidity.js.map +1 -1
- package/dist/orders.d.ts +338 -0
- package/dist/orders.d.ts.map +1 -0
- package/dist/orders.js +611 -0
- package/dist/orders.js.map +1 -0
- package/dist/permit2.d.ts +258 -0
- package/dist/permit2.d.ts.map +1 -0
- package/dist/permit2.js +520 -0
- package/dist/permit2.js.map +1 -0
- package/dist/price.d.ts +95 -0
- package/dist/price.d.ts.map +1 -0
- package/dist/price.js +207 -0
- package/dist/price.js.map +1 -0
- package/dist/swap.d.ts.map +1 -1
- package/dist/swap.js +21 -19
- package/dist/swap.js.map +1 -1
- package/dist/trader.d.ts +188 -0
- package/dist/trader.d.ts.map +1 -0
- package/dist/trader.js +277 -0
- package/dist/trader.js.map +1 -0
- package/dist/uniswap-abis.d.ts +525 -0
- package/dist/uniswap-abis.d.ts.map +1 -1
- package/dist/uniswap-abis.js +432 -1
- package/dist/uniswap-abis.js.map +1 -1
- package/dist/uniswap-chains.d.ts +77 -0
- package/dist/uniswap-chains.d.ts.map +1 -0
- package/dist/uniswap-chains.js +362 -0
- package/dist/uniswap-chains.js.map +1 -0
- package/dist/uniswap-quoter.d.ts +178 -0
- package/dist/uniswap-quoter.d.ts.map +1 -0
- package/dist/uniswap-quoter.js +432 -0
- package/dist/uniswap-quoter.js.map +1 -0
- package/dist/uniswap-trading.d.ts +203 -0
- package/dist/uniswap-trading.d.ts.map +1 -0
- package/dist/uniswap-trading.js +380 -0
- package/dist/uniswap-trading.js.map +1 -0
- package/dist/watcher.d.ts +117 -2
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +147 -2
- package/dist/watcher.js.map +1 -1
- package/package.json +3 -1
package/dist/claimer.js
CHANGED
|
@@ -181,8 +181,9 @@ export class ClawncherClaimer {
|
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
catch (err) {
|
|
184
|
-
//
|
|
185
|
-
// The caller can inspect claimFeesWeth === null to detect this
|
|
184
|
+
// WETH fees may not be available for this feeOwner.
|
|
185
|
+
// The caller can inspect claimFeesWeth === null to detect this.
|
|
186
|
+
console.warn(`[clawnch] claimAll WETH step failed for ${token}:`, err instanceof Error ? err.message : err);
|
|
186
187
|
}
|
|
187
188
|
// Step 3: Claim token fees (if fee preference is Clawnch)
|
|
188
189
|
let claimToken = null;
|
|
@@ -199,7 +200,8 @@ export class ClawncherClaimer {
|
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
202
|
catch (err) {
|
|
202
|
-
//
|
|
203
|
+
// Token fees may not be available for this feeOwner/token pair.
|
|
204
|
+
console.warn(`[clawnch] claimAll token step failed for ${token}:`, err instanceof Error ? err.message : err);
|
|
203
205
|
}
|
|
204
206
|
return {
|
|
205
207
|
collectRewards: collectResult,
|
|
@@ -269,8 +271,8 @@ export class ClawncherClaimer {
|
|
|
269
271
|
tokenResult.claimFeesWeth = claimWeth;
|
|
270
272
|
}
|
|
271
273
|
}
|
|
272
|
-
catch {
|
|
273
|
-
|
|
274
|
+
catch (err) {
|
|
275
|
+
console.warn(`[clawnch] batchClaim WETH step failed for ${token}:`, err instanceof Error ? err.message : err);
|
|
274
276
|
}
|
|
275
277
|
// Step 3: Claim token fees
|
|
276
278
|
options?.onProgress?.(token, 'claiming token fees');
|
|
@@ -287,8 +289,8 @@ export class ClawncherClaimer {
|
|
|
287
289
|
tokenResult.claimFeesToken = claimToken;
|
|
288
290
|
}
|
|
289
291
|
}
|
|
290
|
-
catch {
|
|
291
|
-
|
|
292
|
+
catch (err) {
|
|
293
|
+
console.warn(`[clawnch] batchClaim token step failed for ${token}:`, err instanceof Error ? err.message : err);
|
|
292
294
|
}
|
|
293
295
|
tokenResult.success = true;
|
|
294
296
|
options?.onProgress?.(token, 'done');
|
package/dist/claimer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimer.js","sourceRoot":"","sources":["../src/claimer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"claimer.js","sourceRoot":"","sources":["../src/claimer.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare enum ClawnchErrorCode {
|
|
|
21
21
|
CLAIM_FAILED = "CLAIM_FAILED",
|
|
22
22
|
NO_FEES_AVAILABLE = "NO_FEES_AVAILABLE",
|
|
23
23
|
FEATURE_NOT_AVAILABLE = "FEATURE_NOT_AVAILABLE",
|
|
24
|
+
INVALID_CHAIN = "INVALID_CHAIN",
|
|
24
25
|
RPC_ERROR = "RPC_ERROR",
|
|
25
26
|
TIMEOUT = "TIMEOUT"
|
|
26
27
|
}
|
|
@@ -59,4 +60,16 @@ export declare class ClawnchDeployError extends Error {
|
|
|
59
60
|
* Type guard to check if an error is a ClawnchDeployError
|
|
60
61
|
*/
|
|
61
62
|
export declare function isClawnchError(err: unknown): err is ClawnchDeployError;
|
|
63
|
+
/**
|
|
64
|
+
* Retry an async operation with exponential backoff.
|
|
65
|
+
*
|
|
66
|
+
* Only retries on transient errors (network timeouts, 5xx, RPC errors).
|
|
67
|
+
* Validation errors, 4xx, and feature-not-available are never retried.
|
|
68
|
+
*
|
|
69
|
+
* @param fn - Async function to retry
|
|
70
|
+
* @param maxRetries - Maximum number of retries (default: 2, so 3 total attempts)
|
|
71
|
+
* @param baseDelayMs - Base delay in ms between retries (default: 1000)
|
|
72
|
+
* @returns Result of the function
|
|
73
|
+
*/
|
|
74
|
+
export declare function withRetry<T>(fn: () => Promise<T>, maxRetries?: number, baseDelayMs?: number): Promise<T>;
|
|
62
75
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,oBAAY,gBAAgB;IAE1B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAGnC,qBAAqB,0BAA0B;IAC/C,4BAA4B,iCAAiC;IAG7D,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IAGzC,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IAGvC,qBAAqB,0BAA0B;IAG/C,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAIzB,IAAI,EAAE,gBAAgB;aAEtB,KAAK,CAAC,EAAE,KAAK;IAL/B,QAAQ,CAAC,IAAI,wBAAwB;gBAGnB,IAAI,EAAE,gBAAgB,EACtC,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAIhC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAEtE"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,oBAAY,gBAAgB;IAE1B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAGnC,qBAAqB,0BAA0B;IAC/C,4BAA4B,iCAAiC;IAG7D,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IAGzC,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IAGvC,qBAAqB,0BAA0B;IAG/C,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAIzB,IAAI,EAAE,gBAAgB;aAEtB,KAAK,CAAC,EAAE,KAAK;IAL/B,QAAQ,CAAC,IAAI,wBAAwB;gBAGnB,IAAI,EAAE,gBAAgB,EACtC,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAIhC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAEtE;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,GAAE,MAAU,EACtB,WAAW,GAAE,MAAa,GACzB,OAAO,CAAC,CAAC,CAAC,CAiCZ"}
|
package/dist/errors.js
CHANGED
|
@@ -27,6 +27,8 @@ export var ClawnchErrorCode;
|
|
|
27
27
|
ClawnchErrorCode["NO_FEES_AVAILABLE"] = "NO_FEES_AVAILABLE";
|
|
28
28
|
// Feature not available
|
|
29
29
|
ClawnchErrorCode["FEATURE_NOT_AVAILABLE"] = "FEATURE_NOT_AVAILABLE";
|
|
30
|
+
// Chain errors
|
|
31
|
+
ClawnchErrorCode["INVALID_CHAIN"] = "INVALID_CHAIN";
|
|
30
32
|
// Network errors
|
|
31
33
|
ClawnchErrorCode["RPC_ERROR"] = "RPC_ERROR";
|
|
32
34
|
ClawnchErrorCode["TIMEOUT"] = "TIMEOUT";
|
|
@@ -72,4 +74,52 @@ export class ClawnchDeployError extends Error {
|
|
|
72
74
|
export function isClawnchError(err) {
|
|
73
75
|
return err instanceof ClawnchDeployError;
|
|
74
76
|
}
|
|
77
|
+
// =========================================================================
|
|
78
|
+
// Retry Utility
|
|
79
|
+
// =========================================================================
|
|
80
|
+
/**
|
|
81
|
+
* Retry an async operation with exponential backoff.
|
|
82
|
+
*
|
|
83
|
+
* Only retries on transient errors (network timeouts, 5xx, RPC errors).
|
|
84
|
+
* Validation errors, 4xx, and feature-not-available are never retried.
|
|
85
|
+
*
|
|
86
|
+
* @param fn - Async function to retry
|
|
87
|
+
* @param maxRetries - Maximum number of retries (default: 2, so 3 total attempts)
|
|
88
|
+
* @param baseDelayMs - Base delay in ms between retries (default: 1000)
|
|
89
|
+
* @returns Result of the function
|
|
90
|
+
*/
|
|
91
|
+
export async function withRetry(fn, maxRetries = 2, baseDelayMs = 1000) {
|
|
92
|
+
let lastError;
|
|
93
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
94
|
+
try {
|
|
95
|
+
return await fn();
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
lastError = err;
|
|
99
|
+
// Don't retry on non-transient errors
|
|
100
|
+
if (err instanceof ClawnchDeployError) {
|
|
101
|
+
const nonRetryable = [
|
|
102
|
+
ClawnchErrorCode.INVALID_BPS,
|
|
103
|
+
ClawnchErrorCode.INVALID_NAME,
|
|
104
|
+
ClawnchErrorCode.INVALID_SYMBOL,
|
|
105
|
+
ClawnchErrorCode.INVALID_ADDRESS,
|
|
106
|
+
ClawnchErrorCode.WALLET_NOT_CONFIGURED,
|
|
107
|
+
ClawnchErrorCode.PUBLIC_CLIENT_NOT_CONFIGURED,
|
|
108
|
+
ClawnchErrorCode.FEATURE_NOT_AVAILABLE,
|
|
109
|
+
ClawnchErrorCode.INVALID_CHAIN,
|
|
110
|
+
ClawnchErrorCode.INSUFFICIENT_FUNDS,
|
|
111
|
+
];
|
|
112
|
+
if (nonRetryable.includes(err.code))
|
|
113
|
+
throw err;
|
|
114
|
+
}
|
|
115
|
+
// Last attempt — don't sleep, just throw
|
|
116
|
+
if (attempt === maxRetries)
|
|
117
|
+
break;
|
|
118
|
+
// Exponential backoff: 1s, 2s, 4s, ...
|
|
119
|
+
const delay = baseDelayMs * Math.pow(2, attempt);
|
|
120
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
throw lastError;
|
|
124
|
+
}
|
|
75
125
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,gBA6BX;AA7BD,WAAY,gBAAgB;IAC1B,oBAAoB;IACpB,+CAA2B,CAAA;IAC3B,iDAA6B,CAAA;IAC7B,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IAEnC,uBAAuB;IACvB,mEAA+C,CAAA;IAC/C,iFAA6D,CAAA;IAE7D,oBAAoB;IACpB,mDAA+B,CAAA;IAC/B,+CAA2B,CAAA;IAC3B,6DAAyC,CAAA;IAEzC,kBAAkB;IAClB,iDAA6B,CAAA;IAC7B,2DAAuC,CAAA;IAEvC,wBAAwB;IACxB,mEAA+C,CAAA;IAE/C,eAAe;IACf,mDAA+B,CAAA;IAE/B,iBAAiB;IACjB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;AACrB,CAAC,EA7BW,gBAAgB,KAAhB,gBAAgB,QA6B3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAIzB;IAEA;IALT,IAAI,GAAG,oBAAoB,CAAC;IAErC,YACkB,IAAsB,EACtC,OAAe,EACC,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAkB;QAEtB,UAAK,GAAL,KAAK,CAAQ;IAG/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG,YAAY,kBAAkB,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAC5E,gBAAgB;AAChB,4EAA4E;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,aAAqB,CAAC,EACtB,cAAsB,IAAI;IAE1B,IAAI,SAAkB,CAAC;IACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;YAEhB,sCAAsC;YACtC,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAuB;oBACvC,gBAAgB,CAAC,WAAW;oBAC5B,gBAAgB,CAAC,YAAY;oBAC7B,gBAAgB,CAAC,cAAc;oBAC/B,gBAAgB,CAAC,eAAe;oBAChC,gBAAgB,CAAC,qBAAqB;oBACtC,gBAAgB,CAAC,4BAA4B;oBAC7C,gBAAgB,CAAC,qBAAqB;oBACtC,gBAAgB,CAAC,aAAa;oBAC9B,gBAAgB,CAAC,kBAAkB;iBACpC,CAAC;gBACF,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM,GAAG,CAAC;YACjD,CAAC;YAED,yCAAyC;YACzC,IAAI,OAAO,KAAK,UAAU;gBAAE,MAAM;YAElC,uCAAuC;YACvC,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC;AAClB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -54,8 +54,16 @@ export * from './liquidity.js';
|
|
|
54
54
|
export * from './liquidity-types.js';
|
|
55
55
|
export * from './uniswap-addresses.js';
|
|
56
56
|
export * from './uniswap-abis.js';
|
|
57
|
+
export * from './uniswap-chains.js';
|
|
58
|
+
export * from './uniswap-trading.js';
|
|
59
|
+
export * from './uniswap-quoter.js';
|
|
60
|
+
export * from './permit2.js';
|
|
57
61
|
export * from './api-deployer.js';
|
|
58
62
|
export * from './api-deployer-types.js';
|
|
63
|
+
export * from './price.js';
|
|
64
|
+
export * from './orders.js';
|
|
65
|
+
export * from './trader.js';
|
|
66
|
+
export * from './analytics.js';
|
|
59
67
|
export * from './wayfinder.js';
|
|
60
68
|
export * from './wayfinder-types.js';
|
|
61
69
|
export interface ClawnchClientOptions {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -59,9 +59,25 @@ export * from './liquidity.js';
|
|
|
59
59
|
export * from './liquidity-types.js';
|
|
60
60
|
export * from './uniswap-addresses.js';
|
|
61
61
|
export * from './uniswap-abis.js';
|
|
62
|
+
// Multi-chain Uniswap registry (15+ chains)
|
|
63
|
+
export * from './uniswap-chains.js';
|
|
64
|
+
// Uniswap Trading API (swap via Uniswap's hosted API)
|
|
65
|
+
export * from './uniswap-trading.js';
|
|
66
|
+
// V4 Quoter (on-chain swap simulation + price impact)
|
|
67
|
+
export * from './uniswap-quoter.js';
|
|
68
|
+
// Permit2 (EIP-712 signature-based token approvals)
|
|
69
|
+
export * from './permit2.js';
|
|
62
70
|
// Verified agent launches (via Clawnch API)
|
|
63
71
|
export * from './api-deployer.js';
|
|
64
72
|
export * from './api-deployer-types.js';
|
|
73
|
+
// On-chain price reading
|
|
74
|
+
export * from './price.js';
|
|
75
|
+
// Conditional order engine
|
|
76
|
+
export * from './orders.js';
|
|
77
|
+
// Trade-level portfolio tracking (cost basis, P&L, snapshots)
|
|
78
|
+
export * from './trader.js';
|
|
79
|
+
// Market analytics (OHLCV candles, technical indicators)
|
|
80
|
+
export * from './analytics.js';
|
|
65
81
|
// Wayfinder Paths integration (cross-chain DeFi)
|
|
66
82
|
export * from './wayfinder.js';
|
|
67
83
|
export * from './wayfinder-types.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/liquidity.d.ts
CHANGED
|
@@ -26,13 +26,17 @@
|
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
28
|
import { type Address, type Hex, type Hash } from 'viem';
|
|
29
|
+
import { Permit2Client } from './permit2.js';
|
|
29
30
|
import type { LiquidityConfig, V4PoolKey, V4PoolState, V4MintParams, V3MintParams, V3AddLiquidityParams, V3RemoveLiquidityParams, V3CollectFeesParams, PositionInfo, MintResult, ModifyLiquidityResult, CollectFeesResult } from './liquidity-types.js';
|
|
30
31
|
export type { LiquidityConfig, V4PoolKey, V4PoolState, V4MintParams, V4AddLiquidityParams, V4RemoveLiquidityParams, V4CollectFeesParams, V3MintParams, V3AddLiquidityParams, V3RemoveLiquidityParams, V3CollectFeesParams, PositionInfo, MintResult, ModifyLiquidityResult, CollectFeesResult, } from './liquidity-types.js';
|
|
31
32
|
export declare class ClawnchLiquidity {
|
|
32
33
|
private readonly wallet;
|
|
33
34
|
private readonly publicClient;
|
|
34
35
|
private readonly network;
|
|
36
|
+
private _permit2;
|
|
35
37
|
constructor(config: LiquidityConfig);
|
|
38
|
+
/** Lazy-initialized Permit2 client for V4 approval flows */
|
|
39
|
+
get permit2(): Permit2Client;
|
|
36
40
|
private getChain;
|
|
37
41
|
private getWalletAddress;
|
|
38
42
|
/**
|
|
@@ -48,17 +52,19 @@ export declare class ClawnchLiquidity {
|
|
|
48
52
|
*/
|
|
49
53
|
v4GetPosition(tokenId: bigint): Promise<PositionInfo>;
|
|
50
54
|
/**
|
|
51
|
-
* Mint a new V4 liquidity position
|
|
55
|
+
* Mint a new V4 liquidity position using the @uniswap/v4-sdk.
|
|
52
56
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* may not be available.
|
|
57
|
+
* Creates a Position object from the desired amounts, computes the
|
|
58
|
+
* encoded calldata via V4PositionManager.addCallParameters(), and
|
|
59
|
+
* executes it through the PositionManager contract.
|
|
57
60
|
*
|
|
58
|
-
*
|
|
59
|
-
* V4PositionManager.addCallParameters() for proper slippage calculation.
|
|
61
|
+
* Handles token approvals to the PositionManager before minting.
|
|
60
62
|
*/
|
|
61
63
|
v4MintPosition(params: V4MintParams): Promise<MintResult>;
|
|
64
|
+
/**
|
|
65
|
+
* Helper: get ERC20 token decimals
|
|
66
|
+
*/
|
|
67
|
+
private getTokenDecimals;
|
|
62
68
|
/**
|
|
63
69
|
* Execute a V4 PositionManager multicall with pre-built calldata
|
|
64
70
|
*
|
package/dist/liquidity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquidity.d.ts","sourceRoot":"","sources":["../src/liquidity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,IAAI,EAKV,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EAIZ,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AA4B9B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;
|
|
1
|
+
{"version":3,"file":"liquidity.d.ts","sourceRoot":"","sources":["../src/liquidity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,IAAI,EAKV,MAAM,MAAM,CAAC;AAKd,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EAIZ,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AA4B9B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAA8B;gBAElC,MAAM,EAAE,eAAe;IAmBnC,4DAA4D;IAC5D,IAAI,OAAO,IAAI,aAAa,CAS3B;IAED,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;YACW,cAAc;IA8B5B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IA8C9D;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+E3D;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAkK/D;;OAEG;YACW,gBAAgB;IAa9B;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IA4BpG;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA8B3D;;OAEG;IACG,uBAAuB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsCxE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IA6E/D;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2DnG;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA8GzG;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8ClG;;OAEG;IACG,oBAAoB,CACxB,YAAY,EAAE,OAAO,EACrB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,EAAE,CAAC;CAQ3B"}
|
package/dist/liquidity.js
CHANGED
|
@@ -28,8 +28,9 @@
|
|
|
28
28
|
import { erc20Abi, maxUint256, maxUint128, encodeFunctionData, } from 'viem';
|
|
29
29
|
import { base, baseSepolia } from 'viem/chains';
|
|
30
30
|
import { ClawnchErrorCode, ClawnchDeployError } from './errors.js';
|
|
31
|
-
import { getUniswapV4Addresses, getUniswapV3Addresses } from './uniswap-addresses.js';
|
|
32
|
-
import { StateViewABI, V4PositionManagerABI, V3NonfungiblePositionManagerABI
|
|
31
|
+
import { getUniswapV4Addresses, getUniswapV3Addresses, getCommonAddresses } from './uniswap-addresses.js';
|
|
32
|
+
import { StateViewABI, V4PositionManagerABI, V3NonfungiblePositionManagerABI } from './uniswap-abis.js';
|
|
33
|
+
import { Permit2Client } from './permit2.js';
|
|
33
34
|
// ============================================================================
|
|
34
35
|
// Constants
|
|
35
36
|
// ============================================================================
|
|
@@ -54,6 +55,7 @@ export class ClawnchLiquidity {
|
|
|
54
55
|
wallet;
|
|
55
56
|
publicClient;
|
|
56
57
|
network;
|
|
58
|
+
_permit2 = null;
|
|
57
59
|
constructor(config) {
|
|
58
60
|
if (!config.wallet) {
|
|
59
61
|
throw new ClawnchDeployError(ClawnchErrorCode.WALLET_NOT_CONFIGURED, 'Wallet client is required for ClawnchLiquidity');
|
|
@@ -65,6 +67,17 @@ export class ClawnchLiquidity {
|
|
|
65
67
|
this.publicClient = config.publicClient;
|
|
66
68
|
this.network = config.network ?? 'mainnet';
|
|
67
69
|
}
|
|
70
|
+
/** Lazy-initialized Permit2 client for V4 approval flows */
|
|
71
|
+
get permit2() {
|
|
72
|
+
if (!this._permit2) {
|
|
73
|
+
this._permit2 = new Permit2Client({
|
|
74
|
+
wallet: this.wallet,
|
|
75
|
+
publicClient: this.publicClient,
|
|
76
|
+
chainId: this.getChain().id,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
return this._permit2;
|
|
80
|
+
}
|
|
68
81
|
getChain() {
|
|
69
82
|
return this.network === 'mainnet' ? base : baseSepolia;
|
|
70
83
|
}
|
|
@@ -207,60 +220,144 @@ export class ClawnchLiquidity {
|
|
|
207
220
|
// V4: Mint Position
|
|
208
221
|
// ==========================================================================
|
|
209
222
|
/**
|
|
210
|
-
* Mint a new V4 liquidity position
|
|
223
|
+
* Mint a new V4 liquidity position using the @uniswap/v4-sdk.
|
|
211
224
|
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
* may not be available.
|
|
225
|
+
* Creates a Position object from the desired amounts, computes the
|
|
226
|
+
* encoded calldata via V4PositionManager.addCallParameters(), and
|
|
227
|
+
* executes it through the PositionManager contract.
|
|
216
228
|
*
|
|
217
|
-
*
|
|
218
|
-
* V4PositionManager.addCallParameters() for proper slippage calculation.
|
|
229
|
+
* Handles token approvals to the PositionManager before minting.
|
|
219
230
|
*/
|
|
220
231
|
async v4MintPosition(params) {
|
|
221
232
|
const v4 = getUniswapV4Addresses(this.network);
|
|
233
|
+
const common = getCommonAddresses(this.network);
|
|
222
234
|
const recipient = params.recipient ?? this.getWalletAddress();
|
|
223
235
|
const hookAddress = params.hookAddress ?? ZERO_ADDRESS;
|
|
224
|
-
//
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
236
|
+
// Dynamically import the V4 SDK (heavy dependency, loaded lazily)
|
|
237
|
+
let v4Sdk;
|
|
238
|
+
let sdkCore;
|
|
239
|
+
try {
|
|
240
|
+
v4Sdk = await import('@uniswap/v4-sdk');
|
|
241
|
+
sdkCore = await import('@uniswap/sdk-core');
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
throw new ClawnchDeployError(ClawnchErrorCode.FEATURE_NOT_AVAILABLE, 'V4 minting requires @uniswap/v4-sdk and @uniswap/sdk-core. ' +
|
|
245
|
+
'Install them: npm install @uniswap/v4-sdk @uniswap/sdk-core');
|
|
246
|
+
}
|
|
247
|
+
// Build Currency objects for the SDK
|
|
248
|
+
const chainId = this.getChain().id;
|
|
249
|
+
const isToken0Native = params.token0.toLowerCase() === ZERO_ADDRESS.toLowerCase();
|
|
250
|
+
const isToken1Native = params.token1.toLowerCase() === ZERO_ADDRESS.toLowerCase();
|
|
251
|
+
const isToken0Weth = params.token0.toLowerCase() === common.weth.toLowerCase();
|
|
252
|
+
const isToken1Weth = params.token1.toLowerCase() === common.weth.toLowerCase();
|
|
253
|
+
// For the SDK, we need Token objects. WETH is treated as a Token, not native.
|
|
254
|
+
const currency0 = new sdkCore.Token(chainId, params.token0, 18);
|
|
255
|
+
const currency1 = new sdkCore.Token(chainId, params.token1, 18);
|
|
256
|
+
// We need to fetch token decimals for non-WETH tokens
|
|
257
|
+
const [decimals0, decimals1] = await Promise.all([
|
|
258
|
+
isToken0Native ? Promise.resolve(18) : this.getTokenDecimals(params.token0),
|
|
259
|
+
isToken1Native ? Promise.resolve(18) : this.getTokenDecimals(params.token1),
|
|
228
260
|
]);
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
261
|
+
const token0 = new sdkCore.Token(chainId, params.token0, decimals0);
|
|
262
|
+
const token1 = new sdkCore.Token(chainId, params.token1, decimals1);
|
|
263
|
+
// Read current pool state to construct Pool object
|
|
264
|
+
const poolState = await this.v4GetPoolState({
|
|
265
|
+
currency0: params.token0,
|
|
266
|
+
currency1: params.token1,
|
|
267
|
+
fee: params.fee,
|
|
268
|
+
tickSpacing: params.tickSpacing,
|
|
269
|
+
hooks: hookAddress,
|
|
270
|
+
});
|
|
271
|
+
if (poolState.sqrtPriceX96 === 0n) {
|
|
272
|
+
throw new ClawnchDeployError(ClawnchErrorCode.DEPLOY_FAILED, 'Pool does not exist or has no liquidity. Initialize the pool first.');
|
|
273
|
+
}
|
|
274
|
+
// Construct the SDK Pool object
|
|
275
|
+
const pool = new v4Sdk.Pool(token0, token1, params.fee, params.tickSpacing, hookAddress, poolState.sqrtPriceX96.toString(), poolState.liquidity.toString(), poolState.tick);
|
|
276
|
+
// Construct Position from amounts
|
|
277
|
+
const position = v4Sdk.Position.fromAmounts({
|
|
278
|
+
pool,
|
|
279
|
+
tickLower: params.tickLower,
|
|
280
|
+
tickUpper: params.tickUpper,
|
|
281
|
+
amount0: params.amount0Desired.toString(),
|
|
282
|
+
amount1: params.amount1Desired.toString(),
|
|
283
|
+
useFullPrecision: true,
|
|
284
|
+
});
|
|
285
|
+
// Compute slippage-adjusted parameters
|
|
286
|
+
const slippageBps = params.slippageBps ?? DEFAULT_SLIPPAGE_BPS;
|
|
287
|
+
const slippageTolerance = new sdkCore.Percent(slippageBps, 10000);
|
|
288
|
+
const deadline = getDeadline(params.deadline);
|
|
289
|
+
// Build calldata using V4PositionManager
|
|
290
|
+
const useNative = params.useNativeEth && (isToken0Weth || isToken1Weth)
|
|
291
|
+
? sdkCore.Ether.onChain(chainId)
|
|
292
|
+
: undefined;
|
|
293
|
+
const { calldata, value } = v4Sdk.V4PositionManager.addCallParameters(position, {
|
|
294
|
+
slippageTolerance,
|
|
295
|
+
deadline: deadline.toString(),
|
|
296
|
+
recipient,
|
|
297
|
+
useNative,
|
|
298
|
+
});
|
|
299
|
+
// Approve tokens via Permit2 for the V4 PositionManager.
|
|
300
|
+
// V4 uses Permit2-based approvals: ERC20→Permit2 (one-time), then
|
|
301
|
+
// Permit2→PositionManager (allowance grant).
|
|
302
|
+
const tokensToApprove = [];
|
|
303
|
+
if (!isToken0Native && !(params.useNativeEth && isToken0Weth)) {
|
|
304
|
+
tokensToApprove.push(params.token0);
|
|
305
|
+
}
|
|
306
|
+
if (!isToken1Native && !(params.useNativeEth && isToken1Weth)) {
|
|
307
|
+
tokensToApprove.push(params.token1);
|
|
308
|
+
}
|
|
309
|
+
if (tokensToApprove.length === 2) {
|
|
310
|
+
await this.permit2.ensurePermit2AllowancePair(tokensToApprove[0], tokensToApprove[1], v4.positionManager, params.amount0Desired, params.amount1Desired);
|
|
311
|
+
}
|
|
312
|
+
else if (tokensToApprove.length === 1) {
|
|
313
|
+
const amount = tokensToApprove[0].toLowerCase() === params.token0.toLowerCase()
|
|
314
|
+
? params.amount0Desired
|
|
315
|
+
: params.amount1Desired;
|
|
316
|
+
await this.permit2.ensurePermit2Allowance(tokensToApprove[0], v4.positionManager, amount);
|
|
317
|
+
}
|
|
318
|
+
// Execute the multicall
|
|
319
|
+
const ethValue = BigInt(value);
|
|
320
|
+
const { txHash, receipt } = await this.v4ExecuteMulticall(calldata, ethValue);
|
|
321
|
+
// Parse mint event from receipt to get tokenId and amounts
|
|
322
|
+
// PositionManager emits Transfer(address,address,uint256) for the NFT mint
|
|
323
|
+
let tokenId = 0n;
|
|
324
|
+
let amount0 = params.amount0Desired;
|
|
325
|
+
let amount1 = params.amount1Desired;
|
|
326
|
+
let liquidityMinted = BigInt(position.liquidity.toString());
|
|
327
|
+
// Try to parse Transfer event (ERC721: topic[0]=Transfer, topic[1]=from, topic[2]=to, topic[3]=tokenId)
|
|
328
|
+
const transferTopic = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';
|
|
329
|
+
for (const log of receipt.logs) {
|
|
330
|
+
if (log.address.toLowerCase() === v4.positionManager.toLowerCase() &&
|
|
331
|
+
log.topics[0] === transferTopic &&
|
|
332
|
+
log.topics.length === 4) {
|
|
333
|
+
tokenId = BigInt(log.topics[3] || '0');
|
|
334
|
+
break;
|
|
252
335
|
}
|
|
253
336
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
337
|
+
return {
|
|
338
|
+
txHash,
|
|
339
|
+
tokenId,
|
|
340
|
+
amount0,
|
|
341
|
+
amount1,
|
|
342
|
+
liquidity: liquidityMinted,
|
|
343
|
+
receipt,
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Helper: get ERC20 token decimals
|
|
348
|
+
*/
|
|
349
|
+
async getTokenDecimals(token) {
|
|
350
|
+
try {
|
|
351
|
+
const decimals = await this.publicClient.readContract({
|
|
352
|
+
address: token,
|
|
353
|
+
abi: erc20Abi,
|
|
354
|
+
functionName: 'decimals',
|
|
355
|
+
});
|
|
356
|
+
return decimals;
|
|
357
|
+
}
|
|
358
|
+
catch {
|
|
359
|
+
return 18; // default assumption
|
|
360
|
+
}
|
|
264
361
|
}
|
|
265
362
|
/**
|
|
266
363
|
* Execute a V4 PositionManager multicall with pre-built calldata
|