@andrewkimjoseph/celina-sdk 0.27.6 → 0.28.1
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 +2 -2
- package/build/a2a/skills.js +1 -1
- package/build/a2a/skills.js.map +1 -1
- package/build/abis/uniswap-v3.d.ts +171 -0
- package/build/abis/uniswap-v3.js +120 -0
- package/build/abis/uniswap-v3.js.map +1 -0
- package/build/config/uniswap.d.ts +15 -0
- package/build/config/uniswap.js +9 -1
- package/build/config/uniswap.js.map +1 -1
- package/build/index.d.ts +3 -3
- package/build/services/swap-pairs.d.ts +18 -4
- package/build/services/swap-pairs.js +35 -2
- package/build/services/swap-pairs.js.map +1 -1
- package/build/services/uniswap-path-router.d.ts +11 -1
- package/build/services/uniswap-path-router.js +36 -10
- package/build/services/uniswap-path-router.js.map +1 -1
- package/build/services/uniswap-v3-path-router.d.ts +40 -0
- package/build/services/uniswap-v3-path-router.js +183 -0
- package/build/services/uniswap-v3-path-router.js.map +1 -0
- package/build/services/uniswap-v3-pool-discovery.d.ts +33 -0
- package/build/services/uniswap-v3-pool-discovery.js +141 -0
- package/build/services/uniswap-v3-pool-discovery.js.map +1 -0
- package/build/services/uniswap-venue-quote.d.ts +28 -0
- package/build/services/uniswap-venue-quote.js +114 -0
- package/build/services/uniswap-venue-quote.js.map +1 -0
- package/build/services/uniswap.service.d.ts +24 -9
- package/build/services/uniswap.service.js +86 -37
- package/build/services/uniswap.service.js.map +1 -1
- package/build/src/a2a/skills.js +1 -1
- package/build/src/a2a/skills.js.map +1 -1
- package/build/src/abis/uniswap-v3.d.ts +171 -0
- package/build/src/abis/uniswap-v3.js +120 -0
- package/build/src/abis/uniswap-v3.js.map +1 -0
- package/build/src/config/uniswap.d.ts +15 -0
- package/build/src/config/uniswap.js +9 -1
- package/build/src/config/uniswap.js.map +1 -1
- package/build/src/index.d.ts +3 -3
- package/build/src/services/swap-pairs.d.ts +18 -4
- package/build/src/services/swap-pairs.js +35 -2
- package/build/src/services/swap-pairs.js.map +1 -1
- package/build/src/services/uniswap-path-router.d.ts +11 -1
- package/build/src/services/uniswap-path-router.js +36 -10
- package/build/src/services/uniswap-path-router.js.map +1 -1
- package/build/src/services/uniswap-v3-path-router.d.ts +40 -0
- package/build/src/services/uniswap-v3-path-router.js +183 -0
- package/build/src/services/uniswap-v3-path-router.js.map +1 -0
- package/build/src/services/uniswap-v3-pool-discovery.d.ts +33 -0
- package/build/src/services/uniswap-v3-pool-discovery.js +141 -0
- package/build/src/services/uniswap-v3-pool-discovery.js.map +1 -0
- package/build/src/services/uniswap-venue-quote.d.ts +28 -0
- package/build/src/services/uniswap-venue-quote.js +114 -0
- package/build/src/services/uniswap-venue-quote.js.map +1 -0
- package/build/src/services/uniswap.service.d.ts +24 -9
- package/build/src/services/uniswap.service.js +86 -37
- package/build/src/services/uniswap.service.js.map +1 -1
- package/build/src/tools/domains/browser.js +5 -3
- package/build/src/tools/domains/browser.js.map +1 -1
- package/build/src/tools/domains/uniswap.js +5 -5
- package/build/src/tools/domains/uniswap.js.map +1 -1
- package/build/src/tools/swap-routing.d.ts +2 -2
- package/build/src/tools/swap-routing.js +21 -6
- package/build/src/tools/swap-routing.js.map +1 -1
- package/build/tests/catalog/domains/defi.js +8 -1
- package/build/tests/catalog/domains/defi.js.map +1 -1
- package/build/tools/domains/browser.js +5 -3
- package/build/tools/domains/browser.js.map +1 -1
- package/build/tools/domains/uniswap.js +5 -5
- package/build/tools/domains/uniswap.js.map +1 -1
- package/build/tools/swap-routing.d.ts +2 -2
- package/build/tools/swap-routing.js +21 -6
- package/build/tools/swap-routing.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Uniswap
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Uniswap swaps on Celo mainnet: quote, estimate, and prepare flows.
|
|
3
|
+
* Quotes the best v3 path and the best v4 path, then keeps the higher output.
|
|
4
|
+
* v4 uses V4Quoter and Universal Router + Permit2. v3 uses QuoterV2 and SwapRouter02.
|
|
5
5
|
*/
|
|
6
6
|
import { encodeFunctionData, erc20Abi, formatUnits, maxUint256, } from "viem";
|
|
7
7
|
import { permit2Abi } from "../abis/permit2.js";
|
|
8
8
|
import { universalRouterAbi } from "../abis/universal-router.js";
|
|
9
9
|
import { Actions, CommandType, RoutePlanner, V4Planner, } from "../clients/uniswap-sdk.js";
|
|
10
10
|
import { appendCelinaCalldataTag } from "../config/celina-tag.js";
|
|
11
|
-
import { UNISWAP_V4, uniswapInputTokenAddress, toUniswapRoutingCurrency, } from "../config/uniswap.js";
|
|
11
|
+
import { UNISWAP_V3, UNISWAP_V4, uniswapInputTokenAddress, toUniswapRoutingCurrency, } from "../config/uniswap.js";
|
|
12
12
|
import { ALLOWANCE_MAPPING_SLOTS, erc20AllowanceStateOverride, isLikelyTransferFailed, } from "../utils/erc20-allowance-storage.js";
|
|
13
13
|
import { serializePreparedFlow, } from "../types/prepared.js";
|
|
14
14
|
import { CHAIN } from "../config/chains.js";
|
|
15
|
-
import {
|
|
15
|
+
import { applySlippage } from "./uniswap-path-router.js";
|
|
16
|
+
import { buildSwapRouter02Calldata } from "./uniswap-v3-path-router.js";
|
|
17
|
+
import { getUniswapV3PoolIndex } from "./uniswap-v3-pool-discovery.js";
|
|
18
|
+
import { findBestUniswapQuote } from "./uniswap-venue-quote.js";
|
|
16
19
|
import { getUniswapPoolIndex } from "./uniswap-pool-discovery.js";
|
|
17
|
-
import { buildPairsFromUniswapIndex, withTokenFilter, } from "./swap-pairs.js";
|
|
20
|
+
import { buildPairsFromUniswapIndex, mergeSwapPairs, withTokenFilter, withVenue, } from "./swap-pairs.js";
|
|
18
21
|
import { TokenService } from "./token.service.js";
|
|
19
22
|
const DEFAULT_SLIPPAGE = 0.5;
|
|
20
23
|
const DEFAULT_DEADLINE_MINUTES = 5;
|
|
@@ -40,11 +43,11 @@ function swapOptions(params) {
|
|
|
40
43
|
function formatUniswapError(error, tokenIn, tokenOut) {
|
|
41
44
|
const message = error instanceof Error ? error.message : String(error);
|
|
42
45
|
if (/insufficient liquidity|amountOut.*0/i.test(message)) {
|
|
43
|
-
throw new Error(`Insufficient liquidity in Uniswap v4 pools for ${tokenIn} → ${tokenOut}.`);
|
|
46
|
+
throw new Error(`Insufficient liquidity in Uniswap v3/v4 pools for ${tokenIn} → ${tokenOut}.`);
|
|
44
47
|
}
|
|
45
48
|
throw error instanceof Error ? error : new Error(message);
|
|
46
49
|
}
|
|
47
|
-
/** Uniswap v4 quotes, gas estimates, and `prepareSwap` flows on Celo mainnet. */
|
|
50
|
+
/** Uniswap v3 and v4 quotes, gas estimates, and `prepareSwap` flows on Celo mainnet. */
|
|
48
51
|
export class UniswapService {
|
|
49
52
|
clientFactory;
|
|
50
53
|
tokenService;
|
|
@@ -62,9 +65,9 @@ export class UniswapService {
|
|
|
62
65
|
const inputToken = uniswapInputTokenAddress(resolvedIn.address);
|
|
63
66
|
return { resolvedIn, resolvedOut, routingIn, routingOut, inputToken };
|
|
64
67
|
}
|
|
65
|
-
baseQuoteFields(resolvedIn, resolvedOut, amount, expectedOutWei, routeHops, indexSource) {
|
|
68
|
+
baseQuoteFields(protocol, resolvedIn, resolvedOut, amount, expectedOutWei, routeHops, indexSource) {
|
|
66
69
|
return {
|
|
67
|
-
protocol
|
|
70
|
+
protocol,
|
|
68
71
|
network: "mainnet",
|
|
69
72
|
tokenIn: resolvedIn.symbol,
|
|
70
73
|
tokenOut: resolvedOut.symbol,
|
|
@@ -83,20 +86,20 @@ export class UniswapService {
|
|
|
83
86
|
const amountInWei = this.tokenService.parseAmount(amount, resolvedIn.decimals);
|
|
84
87
|
if (from) {
|
|
85
88
|
const celoHint = resolvedIn.address === "native"
|
|
86
|
-
? " Uniswap
|
|
89
|
+
? " Uniswap swaps require wrapped CELO (WCELO), not native CELO."
|
|
87
90
|
: "";
|
|
88
91
|
await this.tokenService.assertSpendableBalance(from, resolvedIn, amount, {
|
|
89
92
|
spendToken: inputToken === "native" ? "native" : inputToken,
|
|
90
93
|
hint: celoHint,
|
|
91
94
|
});
|
|
92
95
|
}
|
|
93
|
-
const quote = await
|
|
96
|
+
const quote = await findBestUniswapQuote(client, routingIn, routingOut, amountInWei, { protocol: params?.protocol });
|
|
94
97
|
if (!quote) {
|
|
95
|
-
throw new Error(`No Uniswap v4 route for ${resolvedIn.symbol} → ${resolvedOut.symbol}.`);
|
|
98
|
+
throw new Error(`No Uniswap v3/v4 route for ${resolvedIn.symbol} → ${resolvedOut.symbol}.`);
|
|
96
99
|
}
|
|
97
100
|
const { slippageTolerance, deadlineMinutes, deadline } = swapOptions(params);
|
|
98
101
|
const amountOutMin = applySlippage(quote.amountOut, slippageTolerance);
|
|
99
|
-
|
|
102
|
+
const shared = {
|
|
100
103
|
client,
|
|
101
104
|
resolvedIn,
|
|
102
105
|
resolvedOut,
|
|
@@ -104,7 +107,7 @@ export class UniswapService {
|
|
|
104
107
|
routingOut,
|
|
105
108
|
inputToken,
|
|
106
109
|
amountInWei,
|
|
107
|
-
|
|
110
|
+
hops: quote.hops,
|
|
108
111
|
expectedOutWei: quote.amountOut,
|
|
109
112
|
amountOutMin,
|
|
110
113
|
slippageTolerance,
|
|
@@ -112,6 +115,10 @@ export class UniswapService {
|
|
|
112
115
|
deadline,
|
|
113
116
|
indexSource: quote.indexSource,
|
|
114
117
|
};
|
|
118
|
+
if (quote.protocol === "uniswap_v3") {
|
|
119
|
+
return { ...shared, protocol: "uniswap_v3", route: quote.route };
|
|
120
|
+
}
|
|
121
|
+
return { ...shared, protocol: "uniswap_v4", route: quote.route };
|
|
115
122
|
}
|
|
116
123
|
buildUniversalRouterCalldata(built, _recipient) {
|
|
117
124
|
const { route, amountInWei, amountOutMin, deadline, routingIn, routingOut, } = built;
|
|
@@ -165,17 +172,18 @@ export class UniswapService {
|
|
|
165
172
|
value: 0n,
|
|
166
173
|
};
|
|
167
174
|
}
|
|
168
|
-
async getApprovalSteps(client, from, inputToken, tokenSymbol, amountInWei, deadline) {
|
|
175
|
+
async getApprovalSteps(client, from, inputToken, tokenSymbol, amountInWei, deadline, protocol) {
|
|
169
176
|
if (inputToken === "native") {
|
|
170
177
|
return [];
|
|
171
178
|
}
|
|
172
179
|
const steps = [];
|
|
173
180
|
const token = inputToken;
|
|
181
|
+
const erc20Spender = protocol === "uniswap_v3" ? UNISWAP_V3.swapRouter02 : UNISWAP_V4.permit2;
|
|
174
182
|
const erc20Allowance = await client.readContract({
|
|
175
183
|
address: token,
|
|
176
184
|
abi: erc20Abi,
|
|
177
185
|
functionName: "allowance",
|
|
178
|
-
args: [from,
|
|
186
|
+
args: [from, erc20Spender],
|
|
179
187
|
});
|
|
180
188
|
if (erc20Allowance < amountInWei) {
|
|
181
189
|
steps.push({
|
|
@@ -184,12 +192,17 @@ export class UniswapService {
|
|
|
184
192
|
data: appendCelinaCalldataTag(encodeFunctionData({
|
|
185
193
|
abi: erc20Abi,
|
|
186
194
|
functionName: "approve",
|
|
187
|
-
args: [
|
|
195
|
+
args: [erc20Spender, maxUint256],
|
|
188
196
|
}), this.attributionTags),
|
|
189
197
|
value: "0",
|
|
190
|
-
description:
|
|
198
|
+
description: protocol === "uniswap_v3"
|
|
199
|
+
? `Approve ${tokenSymbol} for Uniswap SwapRouter02`
|
|
200
|
+
: `Approve ${tokenSymbol} for Uniswap Permit2`,
|
|
191
201
|
});
|
|
192
202
|
}
|
|
203
|
+
if (protocol === "uniswap_v3") {
|
|
204
|
+
return steps;
|
|
205
|
+
}
|
|
193
206
|
const permit2Allowance = await client.readContract({
|
|
194
207
|
address: UNISWAP_V4.permit2,
|
|
195
208
|
abi: permit2Abi,
|
|
@@ -227,13 +240,13 @@ export class UniswapService {
|
|
|
227
240
|
});
|
|
228
241
|
return gas.toString();
|
|
229
242
|
}
|
|
230
|
-
async estimateSwapGasWithAllowance(client, from, to, data, token, amount) {
|
|
243
|
+
async estimateSwapGasWithAllowance(client, from, to, data, token, spender, amount) {
|
|
231
244
|
const request = { account: from, to, data, value: 0n };
|
|
232
245
|
for (const mappingSlot of ALLOWANCE_MAPPING_SLOTS) {
|
|
233
246
|
try {
|
|
234
247
|
const gas = await client.estimateGas({
|
|
235
248
|
...request,
|
|
236
|
-
stateOverride: erc20AllowanceStateOverride(token, from,
|
|
249
|
+
stateOverride: erc20AllowanceStateOverride(token, from, spender, amount, mappingSlot),
|
|
237
250
|
});
|
|
238
251
|
return gas.toString();
|
|
239
252
|
}
|
|
@@ -245,24 +258,53 @@ export class UniswapService {
|
|
|
245
258
|
}
|
|
246
259
|
throw new Error("Could not estimate Uniswap swap gas: failed to simulate ERC-20 allowance for this token.");
|
|
247
260
|
}
|
|
261
|
+
venueLabel(protocol) {
|
|
262
|
+
return protocol === "uniswap_v3" ? "v3" : "v4";
|
|
263
|
+
}
|
|
264
|
+
buildSwapCalldata(built, recipient) {
|
|
265
|
+
if (built.protocol === "uniswap_v3") {
|
|
266
|
+
return {
|
|
267
|
+
to: UNISWAP_V3.swapRouter02,
|
|
268
|
+
data: buildSwapRouter02Calldata({
|
|
269
|
+
tokenIn: built.routingIn,
|
|
270
|
+
recipient,
|
|
271
|
+
amountIn: built.amountInWei,
|
|
272
|
+
amountOutMin: built.amountOutMin,
|
|
273
|
+
deadline: built.deadline,
|
|
274
|
+
pools: built.route.pools,
|
|
275
|
+
}),
|
|
276
|
+
value: 0n,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
return this.buildUniversalRouterCalldata(built, recipient);
|
|
280
|
+
}
|
|
248
281
|
/**
|
|
249
|
-
* Uniswap
|
|
282
|
+
* Uniswap registry-token pairs on Celo mainnet (v4 graph plus v3 hub pools).
|
|
283
|
+
* `protocol` stays `uniswap_v4` for existing consumers. Each pair's `venues`
|
|
284
|
+
* lists which versions can route it.
|
|
250
285
|
* @param token - Optional registry symbol; when set, only pairs involving that token
|
|
251
286
|
*/
|
|
252
287
|
async listPairs(token) {
|
|
253
288
|
const { public: client } = this.clientFactory.getClients();
|
|
254
|
-
const
|
|
255
|
-
|
|
289
|
+
const [v4Index, v3Index] = await Promise.all([
|
|
290
|
+
getUniswapPoolIndex(client),
|
|
291
|
+
getUniswapV3PoolIndex(client),
|
|
292
|
+
]);
|
|
293
|
+
const pairs = mergeSwapPairs([
|
|
294
|
+
withVenue(buildPairsFromUniswapIndex(v4Index), "uniswap_v4"),
|
|
295
|
+
withVenue(buildPairsFromUniswapIndex(v3Index), "uniswap_v3"),
|
|
296
|
+
]);
|
|
256
297
|
const symbol = token ? this.tokenService.resolveToken(token).symbol : undefined;
|
|
257
298
|
return withTokenFilter({
|
|
258
299
|
network: "mainnet",
|
|
259
300
|
protocol: "uniswap_v4",
|
|
260
301
|
pairs,
|
|
261
|
-
source:
|
|
302
|
+
source: v4Index.source,
|
|
262
303
|
}, symbol);
|
|
263
304
|
}
|
|
264
305
|
/**
|
|
265
|
-
* Expected Uniswap
|
|
306
|
+
* Expected Uniswap output for a token pair — no wallet required.
|
|
307
|
+
* Compares v3 and v4 and returns the higher output.
|
|
266
308
|
* @param tokenIn - Input token symbol or address
|
|
267
309
|
* @param tokenOut - Output token symbol or address
|
|
268
310
|
* @param amount - Human-readable input amount
|
|
@@ -272,7 +314,7 @@ export class UniswapService {
|
|
|
272
314
|
try {
|
|
273
315
|
const built = await this.buildSwapRoute(tokenIn, tokenOut, amount, undefined, undefined);
|
|
274
316
|
return {
|
|
275
|
-
...this.baseQuoteFields(built.resolvedIn, built.resolvedOut, amount, built.expectedOutWei, built.
|
|
317
|
+
...this.baseQuoteFields(built.protocol, built.resolvedIn, built.resolvedOut, amount, built.expectedOutWei, built.hops, built.indexSource),
|
|
276
318
|
route: {
|
|
277
319
|
pools: built.route.pools,
|
|
278
320
|
},
|
|
@@ -283,7 +325,8 @@ export class UniswapService {
|
|
|
283
325
|
}
|
|
284
326
|
}
|
|
285
327
|
/**
|
|
286
|
-
* Simulate gas for a Uniswap
|
|
328
|
+
* Simulate gas for a Uniswap swap from `from`.
|
|
329
|
+
* v4 includes Permit2 approvals when needed. v3 includes one ERC-20 approval when needed.
|
|
287
330
|
* @param from - Sender wallet address
|
|
288
331
|
* @param tokenIn - Input token symbol or address
|
|
289
332
|
* @param tokenOut - Output token symbol or address
|
|
@@ -294,8 +337,8 @@ export class UniswapService {
|
|
|
294
337
|
try {
|
|
295
338
|
const built = await this.buildSwapRoute(tokenIn, tokenOut, amount, params, from);
|
|
296
339
|
const recipient = params?.recipient ?? from;
|
|
297
|
-
const approvalSteps = await this.getApprovalSteps(built.client, from, built.inputToken, built.resolvedIn.symbol, built.amountInWei, built.deadline);
|
|
298
|
-
const swapTx = this.
|
|
340
|
+
const approvalSteps = await this.getApprovalSteps(built.client, from, built.inputToken, built.resolvedIn.symbol, built.amountInWei, built.deadline, built.protocol);
|
|
341
|
+
const swapTx = this.buildSwapCalldata(built, recipient);
|
|
299
342
|
const taggedSwapData = appendCelinaCalldataTag(swapTx.data, this.attributionTags);
|
|
300
343
|
const approvalGasEntries = await Promise.all(approvalSteps.map(async (step) => this.estimateCallGas(built.client, from, step.to, step.data)));
|
|
301
344
|
let swapGas;
|
|
@@ -303,14 +346,16 @@ export class UniswapService {
|
|
|
303
346
|
try {
|
|
304
347
|
swapGas =
|
|
305
348
|
built.inputToken !== "native" && approvalSteps.length > 0
|
|
306
|
-
? await this.estimateSwapGasWithAllowance(built.client, from, swapTx.to, taggedSwapData, built.inputToken, built.
|
|
349
|
+
? await this.estimateSwapGasWithAllowance(built.client, from, swapTx.to, taggedSwapData, built.inputToken, built.protocol === "uniswap_v3"
|
|
350
|
+
? UNISWAP_V3.swapRouter02
|
|
351
|
+
: UNISWAP_V4.permit2, built.amountInWei)
|
|
307
352
|
: await this.estimateCallGas(built.client, from, swapTx.to, taggedSwapData);
|
|
308
353
|
}
|
|
309
354
|
catch {
|
|
310
355
|
swapGasEstimated = false;
|
|
311
356
|
}
|
|
312
357
|
return {
|
|
313
|
-
...this.baseQuoteFields(built.resolvedIn, built.resolvedOut, amount, built.expectedOutWei, built.
|
|
358
|
+
...this.baseQuoteFields(built.protocol, built.resolvedIn, built.resolvedOut, amount, built.expectedOutWei, built.hops, built.indexSource),
|
|
314
359
|
from,
|
|
315
360
|
recipient,
|
|
316
361
|
amountOutMin: formatUnits(built.amountOutMin, built.resolvedOut.decimals),
|
|
@@ -328,7 +373,10 @@ export class UniswapService {
|
|
|
328
373
|
}
|
|
329
374
|
}
|
|
330
375
|
/**
|
|
331
|
-
* Build unsigned Uniswap
|
|
376
|
+
* Build unsigned Uniswap steps.
|
|
377
|
+
* v4: ERC-20 approve → Permit2 approve → Universal Router swap.
|
|
378
|
+
* v3: ERC-20 approve → SwapRouter02 multicall swap.
|
|
379
|
+
* Pass `params.protocol` to pin the venue from a quote the caller already chose.
|
|
332
380
|
* @param from - Sender wallet address
|
|
333
381
|
* @param tokenIn - Input token symbol or address
|
|
334
382
|
* @param tokenOut - Output token symbol or address
|
|
@@ -342,8 +390,9 @@ export class UniswapService {
|
|
|
342
390
|
const recipient = params?.recipient ?? from;
|
|
343
391
|
const displayIn = trimDisplayDecimals(amount);
|
|
344
392
|
const displayOut = trimDisplayDecimals(formatUnits(built.expectedOutWei, built.resolvedOut.decimals));
|
|
345
|
-
const approvalSteps = await this.getApprovalSteps(built.client, from, built.inputToken, built.resolvedIn.symbol, built.amountInWei, built.deadline);
|
|
346
|
-
const swapTx = this.
|
|
393
|
+
const approvalSteps = await this.getApprovalSteps(built.client, from, built.inputToken, built.resolvedIn.symbol, built.amountInWei, built.deadline, built.protocol);
|
|
394
|
+
const swapTx = this.buildSwapCalldata(built, recipient);
|
|
395
|
+
const venue = this.venueLabel(built.protocol);
|
|
347
396
|
const steps = [
|
|
348
397
|
...approvalSteps,
|
|
349
398
|
{
|
|
@@ -351,13 +400,13 @@ export class UniswapService {
|
|
|
351
400
|
to: swapTx.to,
|
|
352
401
|
data: appendCelinaCalldataTag(swapTx.data, this.attributionTags),
|
|
353
402
|
value: swapTx.value.toString(),
|
|
354
|
-
description: `Swap ${displayIn} ${built.resolvedIn.symbol} → ~${displayOut} ${built.resolvedOut.symbol} via Uniswap
|
|
403
|
+
description: `Swap ${displayIn} ${built.resolvedIn.symbol} → ~${displayOut} ${built.resolvedOut.symbol} via Uniswap ${venue}`,
|
|
355
404
|
},
|
|
356
405
|
];
|
|
357
406
|
const flow = {
|
|
358
407
|
chainId: CHAIN.id,
|
|
359
408
|
from,
|
|
360
|
-
summary: `Uniswap
|
|
409
|
+
summary: `Uniswap ${venue}: ${displayIn} ${built.resolvedIn.symbol} → ${displayOut} ${built.resolvedOut.symbol}${recipient !== from ? ` (recipient ${recipient})` : ""}`,
|
|
361
410
|
steps,
|
|
362
411
|
};
|
|
363
412
|
return serializePreparedFlow(flow);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap.service.js","sourceRoot":"","sources":["../../../src/services/uniswap.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uniswap.service.js","sourceRoot":"","sources":["../../../src/services/uniswap.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { resolveWalletFromRuntime } from "../utils/wallet.js";
|
|
|
6
6
|
export const browserToolDefinitions = [
|
|
7
7
|
{
|
|
8
8
|
name: "get_swap_quote",
|
|
9
|
-
description: "Best swap quote on Celo — tries Mento FX, GoodDollar reserve (G$ ↔ USDm), and Uniswap v4 in parallel.",
|
|
9
|
+
description: "Best swap quote on Celo — tries Mento FX, GoodDollar reserve (G$ ↔ USDm), and Uniswap v3 and v4 in parallel.",
|
|
10
10
|
inputSchema: z.object({
|
|
11
11
|
token_in: z.string(),
|
|
12
12
|
token_out: z.string(),
|
|
@@ -21,9 +21,11 @@ export const browserToolDefinitions = [
|
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
name: "prepare_swap",
|
|
24
|
-
description: "Prepare unsigned swap using the best route (Mento FX, GoodDollar reserve, or Uniswap v4).",
|
|
24
|
+
description: "Prepare unsigned swap using the best route (Mento FX, GoodDollar reserve, or Uniswap v3/v4).",
|
|
25
25
|
inputSchema: uniswapWalletSchema.extend({
|
|
26
|
-
protocol: z
|
|
26
|
+
protocol: z
|
|
27
|
+
.enum(["mento_fx", "uniswap_v3", "uniswap_v4", "gooddollar_reserve"])
|
|
28
|
+
.optional(),
|
|
27
29
|
amount_side: goodDollarReserveAmountSideSchema,
|
|
28
30
|
}),
|
|
29
31
|
families: ["prepare"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/tools/domains/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iCAAiC,EACjC,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,CAAC,MAAM,sBAAsB,GAAqB;IACtD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/tools/domains/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iCAAiC,EACjC,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,CAAC,MAAM,sBAAsB,GAAqB;IACtD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,8GAA8G;QAChH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,wBAAwB,CAC7B,OAAO,CAAC,MAAM,EACd,2BAA2B,CAAC,KAAK,CAAC,QAAkB,CAAC,EACrD,2BAA2B,CAAC,KAAK,CAAC,SAAmB,CAAC,EACtD,KAAK,CAAC,MAAgB,EACtB,IAAI,CACL,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,8FAA8F;QAChG,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACtC,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;iBACpE,QAAQ,EAAE;YACb,WAAW,EAAE,iCAAiC;SAC/C,CAAC;QACF,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE;gBAC/C,IAAI,EAAE,KAAK,CAAC,IAA0B;aACvC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9D,OAAO,uBAAuB,CAC5B,OAAO,CAAC,MAAM,EACd,MAAM,EACN,2BAA2B,CAAC,KAAK,CAAC,QAAkB,CAAC,EACrD,2BAA2B,CAAC,KAAK,CAAC,SAAmB,CAAC,EACtD,KAAK,CAAC,MAAgB,EACtB;gBACE,SAAS,EAAE,KAAK,CAAC,SAAsC;gBACvD,iBAAiB,EAAE,KAAK,CAAC,kBAAwC;gBACjE,eAAe,EAAE,KAAK,CAAC,gBAAsC;gBAC7D,UAAU;aACX,EACD,KAAK,CAAC,QAAoC,CAC3C,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
|
|
@@ -12,7 +12,7 @@ function mapUniswapWalletOptions(input) {
|
|
|
12
12
|
export const uniswapToolDefinitions = [
|
|
13
13
|
{
|
|
14
14
|
name: "get_uniswap_swap_pairs",
|
|
15
|
-
description: "List Uniswap v4 registry-token pairs on Celo mainnet
|
|
15
|
+
description: "List Uniswap v3 and v4 registry-token pairs on Celo mainnet. Each pair includes venues. v3 covers hub-token pools only. Call this before listing Uniswap pairs — do not invent them.",
|
|
16
16
|
inputSchema: z.object({
|
|
17
17
|
token: tokenSymbolSchema
|
|
18
18
|
.optional()
|
|
@@ -26,7 +26,7 @@ export const uniswapToolDefinitions = [
|
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
name: "get_uniswap_quote",
|
|
29
|
-
description: "Uniswap
|
|
29
|
+
description: "Uniswap AMM quote for a token pair on Celo mainnet. Compares v3 and v4 and returns the higher output. protocol is uniswap_v3 or uniswap_v4.",
|
|
30
30
|
inputSchema: uniswapQuoteSchema,
|
|
31
31
|
families: ["read"],
|
|
32
32
|
mcp: { title: "Get Uniswap Quote", annotations: { readOnlyHint: true } },
|
|
@@ -34,7 +34,7 @@ export const uniswapToolDefinitions = [
|
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
name: "estimate_uniswap_swap",
|
|
37
|
-
description: "Estimate gas for
|
|
37
|
+
description: "Estimate gas for the better Uniswap v3 or v4 swap. v4 includes ERC-20 and Permit2 approvals when needed. v3 includes one ERC-20 approval to SwapRouter02 when needed.",
|
|
38
38
|
inputSchema: uniswapWalletSchema,
|
|
39
39
|
families: ["read"],
|
|
40
40
|
mcp: { title: "Estimate Uniswap Swap", annotations: { readOnlyHint: true } },
|
|
@@ -49,7 +49,7 @@ export const uniswapToolDefinitions = [
|
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
name: "execute_uniswap_swap",
|
|
52
|
-
description: "Execute
|
|
52
|
+
description: "Execute the better Uniswap v3 or v4 swap on Celo mainnet. Requires CELO_PRIVATE_KEY. v3 uses SwapRouter02. v4 uses Universal Router and Permit2.",
|
|
53
53
|
inputSchema: uniswapWalletSchema,
|
|
54
54
|
families: ["execute"],
|
|
55
55
|
surfaces: ["mcp"],
|
|
@@ -67,7 +67,7 @@ export const uniswapToolDefinitions = [
|
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
name: "prepare_uniswap_swap",
|
|
70
|
-
description: "Prepare Uniswap v4 swap only. Prefer prepare_swap after get_swap_quote for automatic routing.",
|
|
70
|
+
description: "Prepare the better Uniswap v3 or v4 swap only. Prefer prepare_swap after get_swap_quote for automatic routing.",
|
|
71
71
|
inputSchema: uniswapWalletSchema,
|
|
72
72
|
families: ["prepare"],
|
|
73
73
|
surfaces: ["browser"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniswap.js","sourceRoot":"","sources":["../../../../src/tools/domains/uniswap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,SAAS,uBAAuB,CAAC,KAA8B;IAC7D,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAsC;QACvD,iBAAiB,EAAE,KAAK,CAAC,kBAAwC;QACjE,eAAe,EAAE,KAAK,CAAC,gBAAsC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAqB;IACtD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"uniswap.js","sourceRoot":"","sources":["../../../../src/tools/domains/uniswap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CelinaClient } from "../index.js";
|
|
2
|
-
export type SwapProtocol = "mento_fx" | "uniswap_v4" | "gooddollar_reserve";
|
|
2
|
+
export type SwapProtocol = "mento_fx" | "uniswap_v3" | "uniswap_v4" | "gooddollar_reserve";
|
|
3
3
|
export interface SwapQuoteResult {
|
|
4
4
|
protocol: SwapProtocol;
|
|
5
5
|
tokenIn: string;
|
|
@@ -20,6 +20,6 @@ export interface SwapPrepareParams {
|
|
|
20
20
|
deadlineMinutes?: number;
|
|
21
21
|
amountSide?: "in" | "out";
|
|
22
22
|
}
|
|
23
|
-
/** Quote a swap across Mento FX, GoodDollar reserve, and Uniswap v4; returns the best route. */
|
|
23
|
+
/** Quote a swap across Mento FX, GoodDollar reserve, and Uniswap v3/v4; returns the best route. */
|
|
24
24
|
export declare function getSwapQuoteWithFallback(celina: CelinaClient, tokenIn: string, tokenOut: string, amount: string, from?: `0x${string}`): Promise<SwapQuoteResult>;
|
|
25
25
|
export declare function prepareSwapWithFallback(celina: CelinaClient, from: `0x${string}`, tokenIn: string, tokenOut: string, amount: string, params?: SwapPrepareParams, protocol?: SwapProtocol): Promise<import("../index.js").SerializedPreparedFlow>;
|
|
@@ -10,7 +10,19 @@ function isMentoRouteError(message) {
|
|
|
10
10
|
return /no mento fx route/i.test(message);
|
|
11
11
|
}
|
|
12
12
|
function isUniswapRouteError(message) {
|
|
13
|
-
return /no uniswap v4 route|insufficient liquidity in uniswap v4/i.test(message);
|
|
13
|
+
return /no uniswap (v4|v3\/v4) route|insufficient liquidity in uniswap (v4|v3\/v4)/i.test(message);
|
|
14
|
+
}
|
|
15
|
+
function uniswapFailureProtocols(message) {
|
|
16
|
+
const v3 = /uniswap v3/i.test(message);
|
|
17
|
+
const v4 = /uniswap v4/i.test(message);
|
|
18
|
+
if (v3 && v4)
|
|
19
|
+
return ["uniswap_v3", "uniswap_v4"];
|
|
20
|
+
if (v3)
|
|
21
|
+
return ["uniswap_v3"];
|
|
22
|
+
return ["uniswap_v4"];
|
|
23
|
+
}
|
|
24
|
+
function isUniswapProtocol(protocol) {
|
|
25
|
+
return protocol === "uniswap_v3" || protocol === "uniswap_v4";
|
|
14
26
|
}
|
|
15
27
|
function isGoodDollarReserveRouteError(message) {
|
|
16
28
|
return /no gooddollar reserve route/i.test(message);
|
|
@@ -30,7 +42,7 @@ function filterAlternatives(best, others) {
|
|
|
30
42
|
return others;
|
|
31
43
|
}
|
|
32
44
|
return others.filter((alt) => {
|
|
33
|
-
if (alt.protocol
|
|
45
|
+
if (!isUniswapProtocol(alt.protocol) || alt.error) {
|
|
34
46
|
return true;
|
|
35
47
|
}
|
|
36
48
|
const altOut = parseExpectedOut(alt.expectedOut);
|
|
@@ -52,7 +64,7 @@ async function tryMentoQuote(celina, tokenIn, tokenOut, amount, from) {
|
|
|
52
64
|
async function tryUniswapQuote(celina, tokenIn, tokenOut, amount, from) {
|
|
53
65
|
const quote = await celina.uniswap.getSwapQuote(tokenIn, tokenOut, amount, from);
|
|
54
66
|
return {
|
|
55
|
-
protocol:
|
|
67
|
+
protocol: quote.protocol,
|
|
56
68
|
tokenIn: quote.tokenIn,
|
|
57
69
|
tokenOut: quote.tokenOut,
|
|
58
70
|
amountIn: quote.amountIn,
|
|
@@ -73,7 +85,7 @@ async function tryGoodDollarReserveQuote(celina, tokenIn, tokenOut, amount, from
|
|
|
73
85
|
network: quote.network,
|
|
74
86
|
};
|
|
75
87
|
}
|
|
76
|
-
/** Quote a swap across Mento FX, GoodDollar reserve, and Uniswap v4; returns the best route. */
|
|
88
|
+
/** Quote a swap across Mento FX, GoodDollar reserve, and Uniswap v3/v4; returns the best route. */
|
|
77
89
|
export async function getSwapQuoteWithFallback(celina, tokenIn, tokenOut, amount, from) {
|
|
78
90
|
const reserveEligible = isGoodDollarUsdReservePair(tokenIn, tokenOut);
|
|
79
91
|
const quoteTasks = [
|
|
@@ -104,7 +116,9 @@ export async function getSwapQuoteWithFallback(celina, tokenIn, tokenOut, amount
|
|
|
104
116
|
else {
|
|
105
117
|
const message = rejectionMessage(uniswapResult.reason);
|
|
106
118
|
if (!isUniswapRouteError(message)) {
|
|
107
|
-
|
|
119
|
+
for (const protocol of uniswapFailureProtocols(message)) {
|
|
120
|
+
alternatives.push({ protocol, expectedOut: "0", error: message });
|
|
121
|
+
}
|
|
108
122
|
}
|
|
109
123
|
}
|
|
110
124
|
if (reserveResult) {
|
|
@@ -134,7 +148,7 @@ export async function getSwapQuoteWithFallback(celina, tokenIn, tokenOut, amount
|
|
|
134
148
|
if (marketClosedError) {
|
|
135
149
|
throw new Error(marketClosedError);
|
|
136
150
|
}
|
|
137
|
-
throw new Error(`No swap route for ${tokenIn} → ${tokenOut} via Mento FX, GoodDollar reserve, or Uniswap v4.`);
|
|
151
|
+
throw new Error(`No swap route for ${tokenIn} → ${tokenOut} via Mento FX, GoodDollar reserve, or Uniswap v3/v4.`);
|
|
138
152
|
}
|
|
139
153
|
successes.sort((a, b) => parseExpectedOut(b.expectedOut) - parseExpectedOut(a.expectedOut));
|
|
140
154
|
const best = successes[0];
|
|
@@ -169,6 +183,7 @@ export async function prepareSwapWithFallback(celina, from, tokenIn, tokenOut, a
|
|
|
169
183
|
recipient: params?.recipient,
|
|
170
184
|
slippageTolerance: params?.slippageTolerance,
|
|
171
185
|
deadlineMinutes: params?.deadlineMinutes,
|
|
186
|
+
protocol: chosen === "uniswap_v3" || chosen === "uniswap_v4" ? chosen : undefined,
|
|
172
187
|
});
|
|
173
188
|
}
|
|
174
189
|
//# sourceMappingURL=swap-routing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap-routing.js","sourceRoot":"","sources":["../../../src/tools/swap-routing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AA0BrE,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,OAAO,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"swap-routing.js","sourceRoot":"","sources":["../../../src/tools/swap-routing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AA0BrE,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC/C,OAAO,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,6EAA6E,CAAC,IAAI,CACvF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,EAAE,IAAI,EAAE;QAAE,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAClD,IAAI,EAAE;QAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAsB;IAEtB,OAAO,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC;AAChE,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAe;IACpD,OAAO,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAe;IACjD,OAAO,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAqB,EACrB,MAAoD;IAEpD,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,MAAM,IAAI,OAAO,GAAG,IAAI,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAoB,EACpB,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,IAAoB;IAEpB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/E,OAAO;QACL,QAAQ,EAAE,UAAmB;QAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAAoB,EACpB,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,IAAoB;IAEpB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,MAAoB,EACpB,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,IAAoB;IAEpB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,eAAe,CACnD,OAAO,EACP,QAAQ,EACR,MAAM,EACN,EAAE,IAAI,EAAE,CACT,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,oBAA6B;QACvC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAoB,EACpB,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,IAAoB;IAEpB,MAAM,eAAe,GAAG,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEtE,MAAM,UAAU,GAA+B;QAC7C,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;QACtD,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;KACzD,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CACb,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAChC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAClC,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,MAAM,YAAY,GAAoC,EAAE,CAAC;IAEzD,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACvC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,QAAQ,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,aAAa,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,YAAY,CAAC,IAAI,CAAC;oBAChB,QAAQ,EAAE,oBAAoB;oBAC9B,WAAW,EAAE,GAAG;oBAChB,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO;aACrB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC;aAChD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClE,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,KAAK,CACb,qBAAqB,OAAO,MAAM,QAAQ,sDAAsD,CACjG,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAC5E,CAAC;IAEF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;IAC3B,MAAM,cAAc,GAAG,kBAAkB,CACvC,IAAI,EACJ,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,WAAW,EAAE,CAAC,CAAC,WAAW;KAC3B,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,YAAY,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAoB,EACpB,IAAmB,EACnB,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,MAA0B,EAC1B,QAAuB;IAEvB,MAAM,MAAM,GACV,QAAQ;QACR,CAAC,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;aACtE,QAAQ,CAAC;IAEd,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC/D,SAAS,EAAE,MAAM,EAAE,SAAS;YAC5B,iBAAiB,EAAE,MAAM,EAAE,iBAAiB;YAC5C,eAAe,EAAE,MAAM,EAAE,eAAe;SACzC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC3E,SAAS,EAAE,MAAM,EAAE,SAAS;YAC5B,iBAAiB,EAAE,MAAM,EAAE,iBAAiB;YAC5C,UAAU,EAAE,MAAM,EAAE,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;QACjE,SAAS,EAAE,MAAM,EAAE,SAAS;QAC5B,iBAAiB,EAAE,MAAM,EAAE,iBAAiB;QAC5C,eAAe,EAAE,MAAM,EAAE,eAAe;QACxC,QAAQ,EAAE,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAClF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -123,7 +123,14 @@ export const uniswapOperations = [
|
|
|
123
123
|
throw new Error(`Expected uniswap_v4, got ${listing.protocol}`);
|
|
124
124
|
}
|
|
125
125
|
if (!Array.isArray(listing.pairs) || listing.pairs.length === 0) {
|
|
126
|
-
throw new Error("Expected at least one Uniswap
|
|
126
|
+
throw new Error("Expected at least one Uniswap pair involving USDC");
|
|
127
|
+
}
|
|
128
|
+
for (const pair of listing.pairs) {
|
|
129
|
+
const venues = pair.venues ?? [];
|
|
130
|
+
if (venues.length === 0 ||
|
|
131
|
+
venues.some((venue) => venue !== "uniswap_v3" && venue !== "uniswap_v4")) {
|
|
132
|
+
throw new Error("Expected each Uniswap pair to list v3 and/or v4 venues");
|
|
133
|
+
}
|
|
127
134
|
}
|
|
128
135
|
},
|
|
129
136
|
},
|