@andrewkimjoseph/celina-sdk 0.27.6 → 0.28.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 (72) hide show
  1. package/README.md +2 -2
  2. package/build/a2a/skills.js +1 -1
  3. package/build/a2a/skills.js.map +1 -1
  4. package/build/abis/uniswap-v3.d.ts +171 -0
  5. package/build/abis/uniswap-v3.js +120 -0
  6. package/build/abis/uniswap-v3.js.map +1 -0
  7. package/build/config/uniswap.d.ts +15 -0
  8. package/build/config/uniswap.js +9 -1
  9. package/build/config/uniswap.js.map +1 -1
  10. package/build/index.d.ts +3 -3
  11. package/build/services/swap-pairs.d.ts +18 -4
  12. package/build/services/swap-pairs.js +35 -2
  13. package/build/services/swap-pairs.js.map +1 -1
  14. package/build/services/uniswap-path-router.d.ts +11 -1
  15. package/build/services/uniswap-path-router.js +36 -10
  16. package/build/services/uniswap-path-router.js.map +1 -1
  17. package/build/services/uniswap-v3-path-router.d.ts +40 -0
  18. package/build/services/uniswap-v3-path-router.js +183 -0
  19. package/build/services/uniswap-v3-path-router.js.map +1 -0
  20. package/build/services/uniswap-v3-pool-discovery.d.ts +33 -0
  21. package/build/services/uniswap-v3-pool-discovery.js +141 -0
  22. package/build/services/uniswap-v3-pool-discovery.js.map +1 -0
  23. package/build/services/uniswap-venue-quote.d.ts +28 -0
  24. package/build/services/uniswap-venue-quote.js +114 -0
  25. package/build/services/uniswap-venue-quote.js.map +1 -0
  26. package/build/services/uniswap.service.d.ts +24 -9
  27. package/build/services/uniswap.service.js +86 -37
  28. package/build/services/uniswap.service.js.map +1 -1
  29. package/build/src/a2a/skills.js +1 -1
  30. package/build/src/a2a/skills.js.map +1 -1
  31. package/build/src/abis/uniswap-v3.d.ts +171 -0
  32. package/build/src/abis/uniswap-v3.js +120 -0
  33. package/build/src/abis/uniswap-v3.js.map +1 -0
  34. package/build/src/config/uniswap.d.ts +15 -0
  35. package/build/src/config/uniswap.js +9 -1
  36. package/build/src/config/uniswap.js.map +1 -1
  37. package/build/src/index.d.ts +3 -3
  38. package/build/src/services/swap-pairs.d.ts +18 -4
  39. package/build/src/services/swap-pairs.js +35 -2
  40. package/build/src/services/swap-pairs.js.map +1 -1
  41. package/build/src/services/uniswap-path-router.d.ts +11 -1
  42. package/build/src/services/uniswap-path-router.js +36 -10
  43. package/build/src/services/uniswap-path-router.js.map +1 -1
  44. package/build/src/services/uniswap-v3-path-router.d.ts +40 -0
  45. package/build/src/services/uniswap-v3-path-router.js +183 -0
  46. package/build/src/services/uniswap-v3-path-router.js.map +1 -0
  47. package/build/src/services/uniswap-v3-pool-discovery.d.ts +33 -0
  48. package/build/src/services/uniswap-v3-pool-discovery.js +141 -0
  49. package/build/src/services/uniswap-v3-pool-discovery.js.map +1 -0
  50. package/build/src/services/uniswap-venue-quote.d.ts +28 -0
  51. package/build/src/services/uniswap-venue-quote.js +114 -0
  52. package/build/src/services/uniswap-venue-quote.js.map +1 -0
  53. package/build/src/services/uniswap.service.d.ts +24 -9
  54. package/build/src/services/uniswap.service.js +86 -37
  55. package/build/src/services/uniswap.service.js.map +1 -1
  56. package/build/src/tools/domains/browser.js +5 -3
  57. package/build/src/tools/domains/browser.js.map +1 -1
  58. package/build/src/tools/domains/uniswap.js +5 -5
  59. package/build/src/tools/domains/uniswap.js.map +1 -1
  60. package/build/src/tools/swap-routing.d.ts +2 -2
  61. package/build/src/tools/swap-routing.js +21 -6
  62. package/build/src/tools/swap-routing.js.map +1 -1
  63. package/build/tests/catalog/domains/defi.js +8 -1
  64. package/build/tests/catalog/domains/defi.js.map +1 -1
  65. package/build/tools/domains/browser.js +5 -3
  66. package/build/tools/domains/browser.js.map +1 -1
  67. package/build/tools/domains/uniswap.js +5 -5
  68. package/build/tools/domains/uniswap.js.map +1 -1
  69. package/build/tools/swap-routing.d.ts +2 -2
  70. package/build/tools/swap-routing.js +21 -6
  71. package/build/tools/swap-routing.js.map +1 -1
  72. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import type { CeloClientFactory } from "../clients/celo-client.js";
2
+ import { type UniswapProtocol } from "../config/uniswap.js";
2
3
  import { type SerializedPreparedFlow } from "../types/prepared.js";
3
4
  import { type SwapPairsResult } from "./swap-pairs.js";
4
- /** Optional parameters for Uniswap v4 swap estimates and prepares. */
5
+ /** Optional parameters for Uniswap swap estimates and prepares. */
5
6
  export interface UniswapSwapParams {
6
7
  /** Max slippage tolerance in percent (default `0.5`). */
7
8
  slippageTolerance?: number;
@@ -9,8 +10,13 @@ export interface UniswapSwapParams {
9
10
  deadlineMinutes?: number;
10
11
  /** Address receiving output tokens (default: `from`). */
11
12
  recipient?: `0x${string}`;
13
+ /**
14
+ * When set, quote and prepare only this venue.
15
+ * Omit to compare v3 and v4 and keep the higher output.
16
+ */
17
+ protocol?: UniswapProtocol;
12
18
  }
13
- /** Uniswap v4 quotes, gas estimates, and `prepareSwap` flows on Celo mainnet. */
19
+ /** Uniswap v3 and v4 quotes, gas estimates, and `prepareSwap` flows on Celo mainnet. */
14
20
  export declare class UniswapService {
15
21
  private readonly clientFactory;
16
22
  private readonly tokenService;
@@ -23,13 +29,18 @@ export declare class UniswapService {
23
29
  private getApprovalSteps;
24
30
  private estimateCallGas;
25
31
  private estimateSwapGasWithAllowance;
32
+ private venueLabel;
33
+ private buildSwapCalldata;
26
34
  /**
27
- * Uniswap v4 registry-token pairs on Celo mainnet (direct pools and 2-hop routes).
35
+ * Uniswap registry-token pairs on Celo mainnet (v4 graph plus v3 hub pools).
36
+ * `protocol` stays `uniswap_v4` for existing consumers. Each pair's `venues`
37
+ * lists which versions can route it.
28
38
  * @param token - Optional registry symbol; when set, only pairs involving that token
29
39
  */
30
40
  listPairs(token?: string): Promise<SwapPairsResult>;
31
41
  /**
32
- * Expected Uniswap v4 output for a token pair — no wallet required.
42
+ * Expected Uniswap output for a token pair — no wallet required.
43
+ * Compares v3 and v4 and returns the higher output.
33
44
  * @param tokenIn - Input token symbol or address
34
45
  * @param tokenOut - Output token symbol or address
35
46
  * @param amount - Human-readable input amount
@@ -37,9 +48,9 @@ export declare class UniswapService {
37
48
  */
38
49
  getSwapQuote(tokenIn: string, tokenOut: string, amount: string, _from?: `0x${string}`): Promise<{
39
50
  route: {
40
- pools: import("../config/uniswap.js").UniswapPoolKey[];
51
+ pools: import("../config/uniswap.js").UniswapPoolKey[] | import("../config/uniswap.js").UniswapV3Pool[];
41
52
  };
42
- protocol: "uniswap_v4";
53
+ protocol: UniswapProtocol;
43
54
  network: "mainnet";
44
55
  tokenIn: string;
45
56
  tokenOut: string;
@@ -49,7 +60,8 @@ export declare class UniswapService {
49
60
  indexSource: string | undefined;
50
61
  }>;
51
62
  /**
52
- * Simulate gas for a Uniswap v4 swap from `from`, including Permit2 approvals when needed.
63
+ * Simulate gas for a Uniswap swap from `from`.
64
+ * v4 includes Permit2 approvals when needed. v3 includes one ERC-20 approval when needed.
53
65
  * @param from - Sender wallet address
54
66
  * @param tokenIn - Input token symbol or address
55
67
  * @param tokenOut - Output token symbol or address
@@ -67,7 +79,7 @@ export declare class UniswapService {
67
79
  slippageTolerance: number;
68
80
  deadline: string;
69
81
  deadlineMinutes: number;
70
- protocol: "uniswap_v4";
82
+ protocol: UniswapProtocol;
71
83
  network: "mainnet";
72
84
  tokenIn: string;
73
85
  tokenOut: string;
@@ -77,7 +89,10 @@ export declare class UniswapService {
77
89
  indexSource: string | undefined;
78
90
  }>;
79
91
  /**
80
- * Build unsigned Uniswap v4 steps (ERC-20 approve → Permit2 approve → swap when needed).
92
+ * Build unsigned Uniswap steps.
93
+ * v4: ERC-20 approve → Permit2 approve → Universal Router swap.
94
+ * v3: ERC-20 approve → SwapRouter02 multicall swap.
95
+ * Pass `params.protocol` to pin the venue from a quote the caller already chose.
81
96
  * @param from - Sender wallet address
82
97
  * @param tokenIn - Input token symbol or address
83
98
  * @param tokenOut - Output token symbol or address
@@ -1,20 +1,23 @@
1
1
  /**
2
- * Uniswap v4 swaps on Celo mainnet: quote, estimate, and prepare flows.
3
- * Uses V4Quoter for pricing and Universal Router + Permit2 for execution calldata.
4
- * Pool discovery prefers the v4 subgraph; falls back to on-chain hub probing when unavailable.
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 { findBestUniswapRoute, applySlippage } from "./uniswap-path-router.js";
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: "uniswap_v4",
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 v4 swaps require wrapped CELO (WCELO), not native CELO."
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 findBestUniswapRoute(client, routingIn, routingOut, amountInWei);
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
- return {
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
- route: quote.route,
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, UNISWAP_V4.permit2],
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: [UNISWAP_V4.permit2, maxUint256],
195
+ args: [erc20Spender, maxUint256],
188
196
  }), this.attributionTags),
189
197
  value: "0",
190
- description: `Approve ${tokenSymbol} for Uniswap Permit2`,
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, UNISWAP_V4.permit2, amount, mappingSlot),
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 v4 registry-token pairs on Celo mainnet (direct pools and 2-hop routes).
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 index = await getUniswapPoolIndex(client);
255
- const pairs = buildPairsFromUniswapIndex(index);
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: index.source,
302
+ source: v4Index.source,
262
303
  }, symbol);
263
304
  }
264
305
  /**
265
- * Expected Uniswap v4 output for a token pair — no wallet required.
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.route.hops, built.indexSource),
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 v4 swap from `from`, including Permit2 approvals when needed.
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.buildUniversalRouterCalldata(built, recipient);
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.amountInWei)
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.route.hops, built.indexSource),
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 v4 steps (ERC-20 approve → Permit2 approve → swap when needed).
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.buildUniversalRouterCalldata(built, recipient);
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 v4`,
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 v4: ${displayIn} ${built.resolvedIn.symbol} → ${displayOut} ${built.resolvedOut.symbol}${recipient !== from ? ` (recipient ${recipient})` : ""}`,
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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"}
@@ -28,7 +28,7 @@ export const CATEGORY_TO_A2A_SKILL = {
28
28
  },
29
29
  Uniswap: {
30
30
  id: "uniswap",
31
- name: "Uniswap v4 quotes",
31
+ name: "Uniswap v3 and v4 quotes",
32
32
  tags: ["celo", "uniswap", "swap", "amm"],
33
33
  },
34
34
  Wallet: {
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/a2a/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/a2a/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ /** Uniswap v3 factory, QuoterV2, and SwapRouter02 on Celo mainnet. */
2
+ export declare const uniswapV3FactoryAbi: readonly [{
3
+ readonly name: "getPool";
4
+ readonly type: "function";
5
+ readonly stateMutability: "view";
6
+ readonly inputs: readonly [{
7
+ readonly name: "tokenA";
8
+ readonly type: "address";
9
+ }, {
10
+ readonly name: "tokenB";
11
+ readonly type: "address";
12
+ }, {
13
+ readonly name: "fee";
14
+ readonly type: "uint24";
15
+ }];
16
+ readonly outputs: readonly [{
17
+ readonly name: "pool";
18
+ readonly type: "address";
19
+ }];
20
+ }];
21
+ export declare const uniswapV3PoolAbi: readonly [{
22
+ readonly name: "liquidity";
23
+ readonly type: "function";
24
+ readonly stateMutability: "view";
25
+ readonly inputs: readonly [];
26
+ readonly outputs: readonly [{
27
+ readonly name: "liquidity";
28
+ readonly type: "uint128";
29
+ }];
30
+ }];
31
+ export declare const v3QuoterAbi: readonly [{
32
+ readonly name: "quoteExactInputSingle";
33
+ readonly type: "function";
34
+ readonly stateMutability: "nonpayable";
35
+ readonly inputs: readonly [{
36
+ readonly name: "params";
37
+ readonly type: "tuple";
38
+ readonly components: readonly [{
39
+ readonly name: "tokenIn";
40
+ readonly type: "address";
41
+ }, {
42
+ readonly name: "tokenOut";
43
+ readonly type: "address";
44
+ }, {
45
+ readonly name: "amountIn";
46
+ readonly type: "uint256";
47
+ }, {
48
+ readonly name: "fee";
49
+ readonly type: "uint24";
50
+ }, {
51
+ readonly name: "sqrtPriceLimitX96";
52
+ readonly type: "uint160";
53
+ }];
54
+ }];
55
+ readonly outputs: readonly [{
56
+ readonly name: "amountOut";
57
+ readonly type: "uint256";
58
+ }, {
59
+ readonly name: "sqrtPriceX96After";
60
+ readonly type: "uint160";
61
+ }, {
62
+ readonly name: "initializedTicksCrossed";
63
+ readonly type: "uint32";
64
+ }, {
65
+ readonly name: "gasEstimate";
66
+ readonly type: "uint256";
67
+ }];
68
+ }, {
69
+ readonly name: "quoteExactInput";
70
+ readonly type: "function";
71
+ readonly stateMutability: "nonpayable";
72
+ readonly inputs: readonly [{
73
+ readonly name: "path";
74
+ readonly type: "bytes";
75
+ }, {
76
+ readonly name: "amountIn";
77
+ readonly type: "uint256";
78
+ }];
79
+ readonly outputs: readonly [{
80
+ readonly name: "amountOut";
81
+ readonly type: "uint256";
82
+ }, {
83
+ readonly name: "sqrtPriceX96AfterList";
84
+ readonly type: "uint160[]";
85
+ }, {
86
+ readonly name: "initializedTicksCrossedList";
87
+ readonly type: "uint32[]";
88
+ }, {
89
+ readonly name: "gasEstimate";
90
+ readonly type: "uint256";
91
+ }];
92
+ }];
93
+ /**
94
+ * SwapRouter02 execution surface used by Celina.
95
+ * `exactInputSingle` / `exactInput` have no deadline; `multicall(uint256,bytes[])` applies one.
96
+ */
97
+ export declare const swapRouter02Abi: readonly [{
98
+ readonly name: "exactInputSingle";
99
+ readonly type: "function";
100
+ readonly stateMutability: "payable";
101
+ readonly inputs: readonly [{
102
+ readonly name: "params";
103
+ readonly type: "tuple";
104
+ readonly components: readonly [{
105
+ readonly name: "tokenIn";
106
+ readonly type: "address";
107
+ }, {
108
+ readonly name: "tokenOut";
109
+ readonly type: "address";
110
+ }, {
111
+ readonly name: "fee";
112
+ readonly type: "uint24";
113
+ }, {
114
+ readonly name: "recipient";
115
+ readonly type: "address";
116
+ }, {
117
+ readonly name: "amountIn";
118
+ readonly type: "uint256";
119
+ }, {
120
+ readonly name: "amountOutMinimum";
121
+ readonly type: "uint256";
122
+ }, {
123
+ readonly name: "sqrtPriceLimitX96";
124
+ readonly type: "uint160";
125
+ }];
126
+ }];
127
+ readonly outputs: readonly [{
128
+ readonly name: "amountOut";
129
+ readonly type: "uint256";
130
+ }];
131
+ }, {
132
+ readonly name: "exactInput";
133
+ readonly type: "function";
134
+ readonly stateMutability: "payable";
135
+ readonly inputs: readonly [{
136
+ readonly name: "params";
137
+ readonly type: "tuple";
138
+ readonly components: readonly [{
139
+ readonly name: "path";
140
+ readonly type: "bytes";
141
+ }, {
142
+ readonly name: "recipient";
143
+ readonly type: "address";
144
+ }, {
145
+ readonly name: "amountIn";
146
+ readonly type: "uint256";
147
+ }, {
148
+ readonly name: "amountOutMinimum";
149
+ readonly type: "uint256";
150
+ }];
151
+ }];
152
+ readonly outputs: readonly [{
153
+ readonly name: "amountOut";
154
+ readonly type: "uint256";
155
+ }];
156
+ }, {
157
+ readonly name: "multicall";
158
+ readonly type: "function";
159
+ readonly stateMutability: "payable";
160
+ readonly inputs: readonly [{
161
+ readonly name: "deadline";
162
+ readonly type: "uint256";
163
+ }, {
164
+ readonly name: "data";
165
+ readonly type: "bytes[]";
166
+ }];
167
+ readonly outputs: readonly [{
168
+ readonly name: "results";
169
+ readonly type: "bytes[]";
170
+ }];
171
+ }];