sushi 5.1.0 → 5.1.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # sushi
2
2
 
3
+ ## 5.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#178](https://github.com/sushi-labs/sushi/pull/178) [`9449c2a`](https://github.com/sushi-labs/sushi/commit/9449c2a407b7fb39d152adf20136e106bb463c9f) Thanks [@OlaStenberg](https://github.com/OlaStenberg)! - Update subgraph ids
8
+
9
+ ## 5.1.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#175](https://github.com/sushi-labs/sushi/pull/175) [`2c46ccf`](https://github.com/sushi-labs/sushi/commit/2c46ccf76044f4b38c4a1f1a668162013980714f) Thanks [@matthewlilley](https://github.com/matthewlilley)! - quote api example and sdk function
14
+
3
15
  ## 5.1.0
4
16
 
5
17
  ### Minor Changes
package/_cjs/api/index.js CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./price.js"), exports);
18
18
  __exportStar(require("./swap.js"), exports);
19
+ __exportStar(require("./quote.js"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AACzB,6CAA0B"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQuote = getQuote;
4
+ const zod_1 = require("zod");
5
+ const route_status_js_1 = require("../router/route-status.js");
6
+ const zod_js_1 = require("../validate/zod.js");
7
+ const version_js_1 = require("../version.js");
8
+ function quoteResponseSchema(vizualize) {
9
+ const tokenSchema = zod_1.z.object({
10
+ address: zod_js_1.sz.address(),
11
+ decimals: zod_1.z.number(),
12
+ symbol: zod_1.z.string(),
13
+ name: zod_1.z.string(),
14
+ });
15
+ const baseSuccessPartial = zod_1.z
16
+ .object({
17
+ status: zod_1.z.literal(route_status_js_1.RouteStatus.Success).or(zod_1.z.literal(route_status_js_1.RouteStatus.Partial)),
18
+ tokens: zod_1.z.array(tokenSchema),
19
+ tokenFrom: zod_1.z.number(),
20
+ tokenTo: zod_1.z.number(),
21
+ swapPrice: zod_1.z.number(),
22
+ priceImpact: zod_1.z.number(),
23
+ amountIn: zod_1.z.string(),
24
+ assumedAmountOut: zod_1.z.string(),
25
+ })
26
+ .transform((data) => ({
27
+ ...data,
28
+ tokenFrom: data.tokens[data.tokenFrom],
29
+ tokenTo: data.tokens[data.tokenTo],
30
+ }));
31
+ const baseNoWay = zod_1.z.object({
32
+ status: zod_1.z.literal(route_status_js_1.RouteStatus.NoWay),
33
+ });
34
+ const baseSchema = baseSuccessPartial.or(baseNoWay);
35
+ const baseVizualizeSchema = baseSchema
36
+ .and(zod_1.z.object({
37
+ vizualization: zod_1.z.object({
38
+ liquidityProviders: zod_1.z.array(zod_1.z.string()),
39
+ nodes: zod_1.z.array(tokenSchema),
40
+ links: zod_1.z.array(zod_1.z.object({
41
+ source: zod_1.z.number(),
42
+ target: zod_1.z.number(),
43
+ liquidityProvider: zod_1.z.number(),
44
+ amountIn: zod_1.z.string(),
45
+ amountOut: zod_1.z.string(),
46
+ value: zod_1.z.number(),
47
+ })),
48
+ }),
49
+ }))
50
+ .or(baseNoWay);
51
+ return (vizualize ? baseVizualizeSchema : baseSchema);
52
+ }
53
+ async function getQuote(params, options) {
54
+ const url = new URL(`quote/v7/${params.chainId}`, params.baseUrl ?? 'https://api.sushi.com');
55
+ url.searchParams.append('tokenIn', params.tokenIn);
56
+ url.searchParams.append('tokenOut', params.tokenOut);
57
+ url.searchParams.append('amount', params.amount.toString());
58
+ url.searchParams.append('maxSlippage', params.maxSlippage.toString());
59
+ if (params.maxPriceImpact) {
60
+ url.searchParams.append('maxPriceImpact', params.maxPriceImpact.toString());
61
+ }
62
+ if (typeof params.fee === 'bigint' &&
63
+ params.fee > 0n &&
64
+ params.feeReceiver !== undefined) {
65
+ url.searchParams.append('fee', params.fee.toString());
66
+ url.searchParams.append('feeReceiver', params.feeReceiver);
67
+ if (params.feeBy !== undefined) {
68
+ url.searchParams.append('feeBy', params.feeBy);
69
+ }
70
+ }
71
+ if (params?.vizualize) {
72
+ url.searchParams.append('vizualize', params.vizualize.toString());
73
+ }
74
+ if (params.referrer) {
75
+ url.searchParams.append('referrer', params.referrer);
76
+ }
77
+ else {
78
+ url.searchParams.append('referrer', `sushi-sdk/${version_js_1.version}`);
79
+ }
80
+ const res = await fetch(url.toString(), options);
81
+ if (!res.ok) {
82
+ throw new Error(`Failed to fetch quote: ${await res.text()}`);
83
+ }
84
+ return quoteResponseSchema(params.vizualize).parse(await res.json());
85
+ }
86
+ //# sourceMappingURL=quote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote.js","sourceRoot":"","sources":["../../api/quote.ts"],"names":[],"mappings":";;AAwFA,4BAgDC;AAvID,6BAAuB;AAEvB,+DAAuD;AAEvD,+CAAuC;AACvC,8CAAuC;AAiBvC,SAAS,mBAAmB,CAA4B,SAAqB;IAC3E,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;QAC3B,OAAO,EAAE,WAAE,CAAC,OAAO,EAAE;QACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,OAAC;SACzB,MAAM,CAAC;QACN,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,6BAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,6BAAW,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,WAAW,CAAC;QAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QAEnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;QAEvB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;KAC7B,CAAC;SACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpB,GAAG,IAAI;QACP,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAE;QACvC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAE;KACpC,CAAC,CAAC,CAAA;IAEL,MAAM,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,6BAAW,CAAC,KAAK,CAAC;KACrC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IAEnD,MAAM,mBAAmB,GAAG,UAAU;SACnC,GAAG,CACF,OAAC,CAAC,MAAM,CAAC;QACP,aAAa,EAAE,OAAC,CAAC,MAAM,CAAC;YACtB,kBAAkB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;YACvC,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3B,KAAK,EAAE,OAAC,CAAC,KAAK,CACZ,OAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;gBAClB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;gBAClB,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE;gBAC7B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;gBACpB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;gBACrB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;aAClB,CAAC,CACH;SACF,CAAC;KACH,CAAC,CACH;SACA,EAAE,CAAC,SAAS,CAAC,CAAA;IAMhB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAW,CAAA;AACjE,CAAC;AAMM,KAAK,UAAU,QAAQ,CAC5B,MAA+B,EAC/B,OAAqB;IAGrB,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,YAAY,MAAM,CAAC,OAAO,EAAE,EAC5B,MAAM,CAAC,OAAO,IAAI,uBAAuB,CAC1C,CAAA;IAED,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAClD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAErE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,IACE,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;QAC9B,MAAM,CAAC,GAAG,GAAG,EAAE;QACf,MAAM,CAAC,WAAW,KAAK,SAAS,EAChC,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,oBAAO,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAA;IAEhD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;AACtE,CAAC"}
package/_cjs/api/swap.js CHANGED
@@ -63,11 +63,13 @@ async function getSwap(params, options) {
63
63
  if (params.recipient) {
64
64
  url.searchParams.append('recipient', params.recipient);
65
65
  }
66
- if (params.fee?.enableFee) {
67
- url.searchParams.append('fee', params.fee.fee.toString());
68
- url.searchParams.append('feeReceiver', params.fee.feeReceiver);
69
- if (params.fee.feeBy) {
70
- url.searchParams.append('feeBy', params.fee.feeBy);
66
+ if (typeof params.fee === 'bigint' &&
67
+ params.fee > 0n &&
68
+ params.feeReceiver !== undefined) {
69
+ url.searchParams.append('fee', params.fee.toString());
70
+ url.searchParams.append('feeReceiver', params.feeReceiver);
71
+ if (params.feeBy !== undefined) {
72
+ url.searchParams.append('feeBy', params.feeBy);
71
73
  }
72
74
  }
73
75
  if (params.referrer) {
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../api/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../api/swap.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,16 @@ const index_js_1 = require("../../../chain/evm/index.js");
5
5
  const get_subgraph_url_js_1 = require("../get-subgraph-url.js");
6
6
  const hosts_js_1 = require("../hosts.js");
7
7
  const SUSHISWAP_V2_DECENTRALIZED_DEPLOYMENT_IDS = {
8
- [index_js_1.EvmChainId.ETHEREUM]: `QmQ2h69a3vnE6N3TN7Ys9K1vpjYiJSi8fexnj1pWpRc6uY`,
8
+ [index_js_1.EvmChainId.ETHEREUM]: `QmaR2nAMF6dCHBL1eFNQ4F5nGpJQs7V11PZobJB2FgQtbt`,
9
9
  [index_js_1.EvmChainId.AVALANCHE]: `QmadNP3fXrcba189BuSrT88Tw7YHhTtHWsdBTQhNpyaF6c`,
10
- [index_js_1.EvmChainId.ARBITRUM]: `QmV5qTnwjz65z6TH63DYngLr1gj52KQ6Lr6m8aeNj6yxxb`,
10
+ [index_js_1.EvmChainId.ARBITRUM]: `QmfN96hDXYtgeLsBv5WjQY8FAwqBfBFoiq8gzsn9oApcoU`,
11
11
  [index_js_1.EvmChainId.BSC]: `QmQ3b4S6PSgvRkd5PhxtDPDQRybfmaRYxGVZCLbYJopoKJ`,
12
12
  [index_js_1.EvmChainId.CELO]: `QmNxrypMUwDagUwxcBDPPebNx4ZPZ3XGJ2cdaejAjXg735`,
13
13
  [index_js_1.EvmChainId.FANTOM]: `QmbitwNMFxEcJVtZyTcLYr2GrQSLg99rpZZmmD2m13xRp2`,
14
14
  [index_js_1.EvmChainId.GNOSIS]: `QmU7USviTB8LtJ9tkPjZLcretNnYyUWzwDy9N7zTupNYj2`,
15
15
  [index_js_1.EvmChainId.OPTIMISM]: `QmZWaFzzzs7CEzpVeLrNqW6e7oNxG8AnkJt9kUEV5rFzxn`,
16
16
  [index_js_1.EvmChainId.BOBA]: `QmYzLBMamDBWJWsUNFiRfq91w2H38SAf9jXyCYDTzhyHh3`,
17
- [index_js_1.EvmChainId.POLYGON]: `QmebwDJ8a8uGf5sW6inqVfJwDGgYrvCvif19wnQqHN8GzQ`,
17
+ [index_js_1.EvmChainId.POLYGON]: `QmcFVSFXGgodMVUGLAdYdYPfohyMwWat8pfi5pHSDXgskU`,
18
18
  [index_js_1.EvmChainId.BASE]: `QmQfYe5Ygg9A3mAiuBZYj5a64bDKLF4gF6sezfhgxKvb9y`,
19
19
  [index_js_1.EvmChainId.SCROLL]: `QmZkX4zi2RzLsQKva29gE3uCcMuJVxXE3R11Ln1J3FY3f7`,
20
20
  [index_js_1.EvmChainId.LINEA]: `QmWYpVMcyczvRvpzLpw5R7tKWouFLEzmufN55jnrNWmpth`,
@@ -5,18 +5,18 @@ const index_js_1 = require("../../../chain/evm/index.js");
5
5
  const get_subgraph_url_js_1 = require("../get-subgraph-url.js");
6
6
  const hosts_js_1 = require("../hosts.js");
7
7
  const SUSHISWAP_V3_DECENTRALIZED_DEPLOYMENT_IDS = {
8
- [index_js_1.EvmChainId.ARBITRUM]: `QmS9GKBA49mDpWchU2Us1PJ7kmu4S7tWa4gAmRvE3HK42w`,
9
- [index_js_1.EvmChainId.AVALANCHE]: `Qmcdd4SGVwG9VY4itrXBnBPWBVsQvsxfzaib9bVny9C8jT`,
10
- [index_js_1.EvmChainId.BSC]: `QmXsPN4TD4PUhT1ZWd5d1mdQPePFNMdJwUr6guSh1z9ZzA`,
8
+ [index_js_1.EvmChainId.ARBITRUM]: `QmecewJ7QhNTKycFQjySoim7eDrZ53MaR754GbEPqqMGHy`,
9
+ [index_js_1.EvmChainId.AVALANCHE]: `QmUyC7YYpRkh5M2S7BP2gM8t8wkm7NYNAKrspW4r6uimjM`,
10
+ [index_js_1.EvmChainId.BSC]: `QmWQcbEg7J9gWBWfuqnknj5pdYZTp4U31JxQrmjWNEmpTM`,
11
11
  [index_js_1.EvmChainId.BOBA]: `QmVbYM6wz7XnH32QzQLNBwyzx7r1HNsFP6jfUi22NRvvJu`,
12
12
  [index_js_1.EvmChainId.ETHEREUM]: `QmP1FMFsU4wNcui1eezwuvBjxrbLPucKrKZ9Kftn34nULw`,
13
- [index_js_1.EvmChainId.FANTOM]: `QmQXFxg4dCxMqcobGQAtsNe4ufnG1KmjSVgtEdtxvYo4Lf`,
14
- [index_js_1.EvmChainId.GNOSIS]: `QmS9uxga2rzpWyHKFATGYas6ntdHLpX7w45EKAatBTZJ25`,
15
- [index_js_1.EvmChainId.OPTIMISM]: `QmbT6ZsxJEZKUrbzLrAWV5EnQfSKZeYtZ265mQUaB552vK`,
16
- [index_js_1.EvmChainId.POLYGON]: `QmfTAHYV86ymwV2Vm6kw9cNzTCmDhe9EWghQ3U3pD7jEGZ`,
17
- [index_js_1.EvmChainId.BASE]: `QmWWh7RgdXHcxaSwhJMpH1SB7D9rFZRGLZVwRfg2BPKsHt`,
18
- [index_js_1.EvmChainId.LINEA]: `QmNZ9ePvxGRDHAEhb7cLsb3AvtCCPJ3qAwh1CDvDn39RMa`,
19
- [index_js_1.EvmChainId.SCROLL]: `QmR6VP1qoF8nxhtMaGEg9VMmkaTDFqyeM8nJWkakP6nHes`,
13
+ [index_js_1.EvmChainId.FANTOM]: `QmdqDrZZKzASkiY1UpCUXSYdzVrJ5ru1JrqxMHGd5Ag2yS`,
14
+ [index_js_1.EvmChainId.GNOSIS]: `Qmadb2zb5P2avAy7zs454bLoEycfA6qzk61LwmDVJExUWg`,
15
+ [index_js_1.EvmChainId.OPTIMISM]: `QmVHZfj6pWc7WSe4vY5epZVGGfggyVZt48voKVxf19Dc8U`,
16
+ [index_js_1.EvmChainId.POLYGON]: `QmYAA8ymppZN4APXnqUhVNEnCwN1ZqHJyWsbmXuzpQ25Km`,
17
+ [index_js_1.EvmChainId.BASE]: `QmNw2ShqcGgu9iqxhAXdi89jCJn5DMU77tYJVLHg7HjZQ9`,
18
+ [index_js_1.EvmChainId.LINEA]: `QmVUWgFKqLABaX7QDaJFxXai2MZeZtqjvLuPqCrED8eJfN`,
19
+ [index_js_1.EvmChainId.SCROLL]: `QmNqxqVfBETuMhV91BfquULGBLFvPZwr3ADVFTMgGZcqNf`,
20
20
  [index_js_1.EvmChainId.SONIC]: `Qmaa6gJsqzeSnDBjq4NnwerMGMSaSDLqRMDkrevGXwVUt1`,
21
21
  };
22
22
  const SUSHISWAP_V3_DECENTRALIZED_SUBGRAPH_IDS = {};
package/_esm/api/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './price.js';
2
2
  export * from './swap.js';
3
+ export * from './quote.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
@@ -0,0 +1,84 @@
1
+ import { z } from 'zod';
2
+ import { RouteStatus } from '../router/route-status.js';
3
+ import { sz } from '../validate/zod.js';
4
+ import { version } from '../version.js';
5
+ function quoteResponseSchema(vizualize) {
6
+ const tokenSchema = z.object({
7
+ address: sz.address(),
8
+ decimals: z.number(),
9
+ symbol: z.string(),
10
+ name: z.string(),
11
+ });
12
+ const baseSuccessPartial = z
13
+ .object({
14
+ status: z.literal(RouteStatus.Success).or(z.literal(RouteStatus.Partial)),
15
+ tokens: z.array(tokenSchema),
16
+ tokenFrom: z.number(),
17
+ tokenTo: z.number(),
18
+ swapPrice: z.number(),
19
+ priceImpact: z.number(),
20
+ amountIn: z.string(),
21
+ assumedAmountOut: z.string(),
22
+ })
23
+ .transform((data) => ({
24
+ ...data,
25
+ tokenFrom: data.tokens[data.tokenFrom],
26
+ tokenTo: data.tokens[data.tokenTo],
27
+ }));
28
+ const baseNoWay = z.object({
29
+ status: z.literal(RouteStatus.NoWay),
30
+ });
31
+ const baseSchema = baseSuccessPartial.or(baseNoWay);
32
+ const baseVizualizeSchema = baseSchema
33
+ .and(z.object({
34
+ vizualization: z.object({
35
+ liquidityProviders: z.array(z.string()),
36
+ nodes: z.array(tokenSchema),
37
+ links: z.array(z.object({
38
+ source: z.number(),
39
+ target: z.number(),
40
+ liquidityProvider: z.number(),
41
+ amountIn: z.string(),
42
+ amountOut: z.string(),
43
+ value: z.number(),
44
+ })),
45
+ }),
46
+ }))
47
+ .or(baseNoWay);
48
+ return (vizualize ? baseVizualizeSchema : baseSchema);
49
+ }
50
+ export async function getQuote(params, options) {
51
+ // TODO: VALIDATE PARAMS
52
+ const url = new URL(`quote/v7/${params.chainId}`, params.baseUrl ?? 'https://api.sushi.com');
53
+ url.searchParams.append('tokenIn', params.tokenIn);
54
+ url.searchParams.append('tokenOut', params.tokenOut);
55
+ url.searchParams.append('amount', params.amount.toString());
56
+ url.searchParams.append('maxSlippage', params.maxSlippage.toString());
57
+ if (params.maxPriceImpact) {
58
+ url.searchParams.append('maxPriceImpact', params.maxPriceImpact.toString());
59
+ }
60
+ if (typeof params.fee === 'bigint' &&
61
+ params.fee > 0n &&
62
+ params.feeReceiver !== undefined) {
63
+ url.searchParams.append('fee', params.fee.toString());
64
+ url.searchParams.append('feeReceiver', params.feeReceiver);
65
+ if (params.feeBy !== undefined) {
66
+ url.searchParams.append('feeBy', params.feeBy);
67
+ }
68
+ }
69
+ if (params?.vizualize) {
70
+ url.searchParams.append('vizualize', params.vizualize.toString());
71
+ }
72
+ if (params.referrer) {
73
+ url.searchParams.append('referrer', params.referrer);
74
+ }
75
+ else {
76
+ url.searchParams.append('referrer', `sushi-sdk/${version}`);
77
+ }
78
+ const res = await fetch(url.toString(), options);
79
+ if (!res.ok) {
80
+ throw new Error(`Failed to fetch quote: ${await res.text()}`);
81
+ }
82
+ return quoteResponseSchema(params.vizualize).parse(await res.json());
83
+ }
84
+ //# sourceMappingURL=quote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote.js","sourceRoot":"","sources":["../../api/quote.ts"],"names":[],"mappings":"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"}
package/_esm/api/swap.js CHANGED
@@ -61,11 +61,13 @@ export async function getSwap(params, options) {
61
61
  if (params.recipient) {
62
62
  url.searchParams.append('recipient', params.recipient);
63
63
  }
64
- if (params.fee?.enableFee) {
65
- url.searchParams.append('fee', params.fee.fee.toString());
66
- url.searchParams.append('feeReceiver', params.fee.feeReceiver);
67
- if (params.fee.feeBy) {
68
- url.searchParams.append('feeBy', params.fee.feeBy);
64
+ if (typeof params.fee === 'bigint' &&
65
+ params.fee > 0n &&
66
+ params.feeReceiver !== undefined) {
67
+ url.searchParams.append('fee', params.fee.toString());
68
+ url.searchParams.append('feeReceiver', params.feeReceiver);
69
+ if (params.feeBy !== undefined) {
70
+ url.searchParams.append('feeBy', params.feeBy);
69
71
  }
70
72
  }
71
73
  if (params.referrer) {
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../api/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../api/swap.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,16 @@ import { EvmChainId } from '../../../chain/evm/index.js';
2
2
  import { getSubgraphUrlWrapper, wrapAsIdType } from '../get-subgraph-url.js';
3
3
  import { CORE_HOST, HAQQ_HOST, METIS_0XGRAPH_HOST, SKALE_HOST, SUSHI_DEDICATED_GOLDSKY_HOST, SUSHI_GOLDSKY_HOST, THUNDERCORE_HOST, } from '../hosts.js';
4
4
  const SUSHISWAP_V2_DECENTRALIZED_DEPLOYMENT_IDS = {
5
- [EvmChainId.ETHEREUM]: `QmQ2h69a3vnE6N3TN7Ys9K1vpjYiJSi8fexnj1pWpRc6uY`,
5
+ [EvmChainId.ETHEREUM]: `QmaR2nAMF6dCHBL1eFNQ4F5nGpJQs7V11PZobJB2FgQtbt`,
6
6
  [EvmChainId.AVALANCHE]: `QmadNP3fXrcba189BuSrT88Tw7YHhTtHWsdBTQhNpyaF6c`,
7
- [EvmChainId.ARBITRUM]: `QmV5qTnwjz65z6TH63DYngLr1gj52KQ6Lr6m8aeNj6yxxb`,
7
+ [EvmChainId.ARBITRUM]: `QmfN96hDXYtgeLsBv5WjQY8FAwqBfBFoiq8gzsn9oApcoU`,
8
8
  [EvmChainId.BSC]: `QmQ3b4S6PSgvRkd5PhxtDPDQRybfmaRYxGVZCLbYJopoKJ`,
9
9
  [EvmChainId.CELO]: `QmNxrypMUwDagUwxcBDPPebNx4ZPZ3XGJ2cdaejAjXg735`,
10
10
  [EvmChainId.FANTOM]: `QmbitwNMFxEcJVtZyTcLYr2GrQSLg99rpZZmmD2m13xRp2`,
11
11
  [EvmChainId.GNOSIS]: `QmU7USviTB8LtJ9tkPjZLcretNnYyUWzwDy9N7zTupNYj2`,
12
12
  [EvmChainId.OPTIMISM]: `QmZWaFzzzs7CEzpVeLrNqW6e7oNxG8AnkJt9kUEV5rFzxn`,
13
13
  [EvmChainId.BOBA]: `QmYzLBMamDBWJWsUNFiRfq91w2H38SAf9jXyCYDTzhyHh3`,
14
- [EvmChainId.POLYGON]: `QmebwDJ8a8uGf5sW6inqVfJwDGgYrvCvif19wnQqHN8GzQ`,
14
+ [EvmChainId.POLYGON]: `QmcFVSFXGgodMVUGLAdYdYPfohyMwWat8pfi5pHSDXgskU`,
15
15
  [EvmChainId.BASE]: `QmQfYe5Ygg9A3mAiuBZYj5a64bDKLF4gF6sezfhgxKvb9y`,
16
16
  [EvmChainId.SCROLL]: `QmZkX4zi2RzLsQKva29gE3uCcMuJVxXE3R11Ln1J3FY3f7`,
17
17
  [EvmChainId.LINEA]: `QmWYpVMcyczvRvpzLpw5R7tKWouFLEzmufN55jnrNWmpth`,
@@ -2,18 +2,18 @@ import { EvmChainId } from '../../../chain/evm/index.js';
2
2
  import { getSubgraphUrlWrapper, wrapAsIdType } from '../get-subgraph-url.js';
3
3
  import { CORE_HOST, HAQQ_HOST, METIS_0XGRAPH_HOST, SUSHI_DEDICATED_GOLDSKY_HOST, SUSHI_GOLDSKY_HOST, THUNDERCORE_HOST, } from '../hosts.js';
4
4
  const SUSHISWAP_V3_DECENTRALIZED_DEPLOYMENT_IDS = {
5
- [EvmChainId.ARBITRUM]: `QmS9GKBA49mDpWchU2Us1PJ7kmu4S7tWa4gAmRvE3HK42w`,
6
- [EvmChainId.AVALANCHE]: `Qmcdd4SGVwG9VY4itrXBnBPWBVsQvsxfzaib9bVny9C8jT`,
7
- [EvmChainId.BSC]: `QmXsPN4TD4PUhT1ZWd5d1mdQPePFNMdJwUr6guSh1z9ZzA`,
5
+ [EvmChainId.ARBITRUM]: `QmecewJ7QhNTKycFQjySoim7eDrZ53MaR754GbEPqqMGHy`,
6
+ [EvmChainId.AVALANCHE]: `QmUyC7YYpRkh5M2S7BP2gM8t8wkm7NYNAKrspW4r6uimjM`,
7
+ [EvmChainId.BSC]: `QmWQcbEg7J9gWBWfuqnknj5pdYZTp4U31JxQrmjWNEmpTM`,
8
8
  [EvmChainId.BOBA]: `QmVbYM6wz7XnH32QzQLNBwyzx7r1HNsFP6jfUi22NRvvJu`,
9
9
  [EvmChainId.ETHEREUM]: `QmP1FMFsU4wNcui1eezwuvBjxrbLPucKrKZ9Kftn34nULw`,
10
- [EvmChainId.FANTOM]: `QmQXFxg4dCxMqcobGQAtsNe4ufnG1KmjSVgtEdtxvYo4Lf`,
11
- [EvmChainId.GNOSIS]: `QmS9uxga2rzpWyHKFATGYas6ntdHLpX7w45EKAatBTZJ25`,
12
- [EvmChainId.OPTIMISM]: `QmbT6ZsxJEZKUrbzLrAWV5EnQfSKZeYtZ265mQUaB552vK`,
13
- [EvmChainId.POLYGON]: `QmfTAHYV86ymwV2Vm6kw9cNzTCmDhe9EWghQ3U3pD7jEGZ`,
14
- [EvmChainId.BASE]: `QmWWh7RgdXHcxaSwhJMpH1SB7D9rFZRGLZVwRfg2BPKsHt`,
15
- [EvmChainId.LINEA]: `QmNZ9ePvxGRDHAEhb7cLsb3AvtCCPJ3qAwh1CDvDn39RMa`,
16
- [EvmChainId.SCROLL]: `QmR6VP1qoF8nxhtMaGEg9VMmkaTDFqyeM8nJWkakP6nHes`,
10
+ [EvmChainId.FANTOM]: `QmdqDrZZKzASkiY1UpCUXSYdzVrJ5ru1JrqxMHGd5Ag2yS`,
11
+ [EvmChainId.GNOSIS]: `Qmadb2zb5P2avAy7zs454bLoEycfA6qzk61LwmDVJExUWg`,
12
+ [EvmChainId.OPTIMISM]: `QmVHZfj6pWc7WSe4vY5epZVGGfggyVZt48voKVxf19Dc8U`,
13
+ [EvmChainId.POLYGON]: `QmYAA8ymppZN4APXnqUhVNEnCwN1ZqHJyWsbmXuzpQ25Km`,
14
+ [EvmChainId.BASE]: `QmNw2ShqcGgu9iqxhAXdi89jCJn5DMU77tYJVLHg7HjZQ9`,
15
+ [EvmChainId.LINEA]: `QmVUWgFKqLABaX7QDaJFxXai2MZeZtqjvLuPqCrED8eJfN`,
16
+ [EvmChainId.SCROLL]: `QmNqxqVfBETuMhV91BfquULGBLFvPZwr3ADVFTMgGZcqNf`,
17
17
  [EvmChainId.SONIC]: `Qmaa6gJsqzeSnDBjq4NnwerMGMSaSDLqRMDkrevGXwVUt1`,
18
18
  // Deprecated chains
19
19
  // [EvmChainId.FUSE]: `QmakqW3KCpEXJGTSuyfXHGg6C8ppbrPdSqVXWj3Guor9zA`,
@@ -1,3 +1,4 @@
1
1
  export * from './price.js';
2
2
  export * from './swap.js';
3
+ export * from './quote.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
@@ -0,0 +1,332 @@
1
+ import type { Address } from 'viem';
2
+ import { z } from 'zod';
3
+ import type { ExtractorSupportedChainId } from '../config/index.js';
4
+ import { RouteStatus } from '../router/route-status.js';
5
+ import type { TransferValue } from '../router/transfer-value.js';
6
+ export type QuoteRequest<Vizualize extends boolean = false> = {
7
+ chainId: ExtractorSupportedChainId;
8
+ tokenIn: Address;
9
+ tokenOut: Address;
10
+ amount: bigint;
11
+ maxSlippage: number;
12
+ maxPriceImpact?: number;
13
+ fee?: bigint;
14
+ feeReceiver?: Address;
15
+ feeBy?: TransferValue;
16
+ referrer?: string;
17
+ vizualize?: Vizualize;
18
+ baseUrl?: string;
19
+ };
20
+ declare function quoteResponseSchema<Vizualize extends boolean>(vizualize?: Vizualize): Vizualize extends true ? z.ZodUnion<[z.ZodIntersection<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
21
+ status: z.ZodUnion<[z.ZodLiteral<RouteStatus.Success>, z.ZodLiteral<RouteStatus.Partial>]>;
22
+ tokens: z.ZodArray<z.ZodObject<{
23
+ address: z.ZodEffects<z.ZodString, `0x${string}`, string>;
24
+ decimals: z.ZodNumber;
25
+ symbol: z.ZodString;
26
+ name: z.ZodString;
27
+ }, "strip", z.ZodTypeAny, {
28
+ symbol: string;
29
+ name: string;
30
+ address: `0x${string}`;
31
+ decimals: number;
32
+ }, {
33
+ symbol: string;
34
+ name: string;
35
+ address: string;
36
+ decimals: number;
37
+ }>, "many">;
38
+ tokenFrom: z.ZodNumber;
39
+ tokenTo: z.ZodNumber;
40
+ swapPrice: z.ZodNumber;
41
+ priceImpact: z.ZodNumber;
42
+ amountIn: z.ZodString;
43
+ assumedAmountOut: z.ZodString;
44
+ }, "strip", z.ZodTypeAny, {
45
+ status: RouteStatus.Success | RouteStatus.Partial;
46
+ tokens: {
47
+ symbol: string;
48
+ name: string;
49
+ address: `0x${string}`;
50
+ decimals: number;
51
+ }[];
52
+ tokenFrom: number;
53
+ tokenTo: number;
54
+ swapPrice: number;
55
+ priceImpact: number;
56
+ amountIn: string;
57
+ assumedAmountOut: string;
58
+ }, {
59
+ status: RouteStatus.Success | RouteStatus.Partial;
60
+ tokens: {
61
+ symbol: string;
62
+ name: string;
63
+ address: string;
64
+ decimals: number;
65
+ }[];
66
+ tokenFrom: number;
67
+ tokenTo: number;
68
+ swapPrice: number;
69
+ priceImpact: number;
70
+ amountIn: string;
71
+ assumedAmountOut: string;
72
+ }>, {
73
+ tokenFrom: {
74
+ symbol: string;
75
+ name: string;
76
+ address: `0x${string}`;
77
+ decimals: number;
78
+ };
79
+ tokenTo: {
80
+ symbol: string;
81
+ name: string;
82
+ address: `0x${string}`;
83
+ decimals: number;
84
+ };
85
+ status: RouteStatus.Success | RouteStatus.Partial;
86
+ tokens: {
87
+ symbol: string;
88
+ name: string;
89
+ address: `0x${string}`;
90
+ decimals: number;
91
+ }[];
92
+ swapPrice: number;
93
+ priceImpact: number;
94
+ amountIn: string;
95
+ assumedAmountOut: string;
96
+ }, {
97
+ status: RouteStatus.Success | RouteStatus.Partial;
98
+ tokens: {
99
+ symbol: string;
100
+ name: string;
101
+ address: string;
102
+ decimals: number;
103
+ }[];
104
+ tokenFrom: number;
105
+ tokenTo: number;
106
+ swapPrice: number;
107
+ priceImpact: number;
108
+ amountIn: string;
109
+ assumedAmountOut: string;
110
+ }>, z.ZodObject<{
111
+ status: z.ZodLiteral<RouteStatus.NoWay>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ status: RouteStatus.NoWay;
114
+ }, {
115
+ status: RouteStatus.NoWay;
116
+ }>]>, z.ZodObject<{
117
+ vizualization: z.ZodObject<{
118
+ liquidityProviders: z.ZodArray<z.ZodString, "many">;
119
+ nodes: z.ZodArray<z.ZodObject<{
120
+ address: z.ZodEffects<z.ZodString, `0x${string}`, string>;
121
+ decimals: z.ZodNumber;
122
+ symbol: z.ZodString;
123
+ name: z.ZodString;
124
+ }, "strip", z.ZodTypeAny, {
125
+ symbol: string;
126
+ name: string;
127
+ address: `0x${string}`;
128
+ decimals: number;
129
+ }, {
130
+ symbol: string;
131
+ name: string;
132
+ address: string;
133
+ decimals: number;
134
+ }>, "many">;
135
+ links: z.ZodArray<z.ZodObject<{
136
+ source: z.ZodNumber;
137
+ target: z.ZodNumber;
138
+ liquidityProvider: z.ZodNumber;
139
+ amountIn: z.ZodString;
140
+ amountOut: z.ZodString;
141
+ value: z.ZodNumber;
142
+ }, "strip", z.ZodTypeAny, {
143
+ value: number;
144
+ amountIn: string;
145
+ source: number;
146
+ target: number;
147
+ liquidityProvider: number;
148
+ amountOut: string;
149
+ }, {
150
+ value: number;
151
+ amountIn: string;
152
+ source: number;
153
+ target: number;
154
+ liquidityProvider: number;
155
+ amountOut: string;
156
+ }>, "many">;
157
+ }, "strip", z.ZodTypeAny, {
158
+ liquidityProviders: string[];
159
+ nodes: {
160
+ symbol: string;
161
+ name: string;
162
+ address: `0x${string}`;
163
+ decimals: number;
164
+ }[];
165
+ links: {
166
+ value: number;
167
+ amountIn: string;
168
+ source: number;
169
+ target: number;
170
+ liquidityProvider: number;
171
+ amountOut: string;
172
+ }[];
173
+ }, {
174
+ liquidityProviders: string[];
175
+ nodes: {
176
+ symbol: string;
177
+ name: string;
178
+ address: string;
179
+ decimals: number;
180
+ }[];
181
+ links: {
182
+ value: number;
183
+ amountIn: string;
184
+ source: number;
185
+ target: number;
186
+ liquidityProvider: number;
187
+ amountOut: string;
188
+ }[];
189
+ }>;
190
+ }, "strip", z.ZodTypeAny, {
191
+ vizualization: {
192
+ liquidityProviders: string[];
193
+ nodes: {
194
+ symbol: string;
195
+ name: string;
196
+ address: `0x${string}`;
197
+ decimals: number;
198
+ }[];
199
+ links: {
200
+ value: number;
201
+ amountIn: string;
202
+ source: number;
203
+ target: number;
204
+ liquidityProvider: number;
205
+ amountOut: string;
206
+ }[];
207
+ };
208
+ }, {
209
+ vizualization: {
210
+ liquidityProviders: string[];
211
+ nodes: {
212
+ symbol: string;
213
+ name: string;
214
+ address: string;
215
+ decimals: number;
216
+ }[];
217
+ links: {
218
+ value: number;
219
+ amountIn: string;
220
+ source: number;
221
+ target: number;
222
+ liquidityProvider: number;
223
+ amountOut: string;
224
+ }[];
225
+ };
226
+ }>>, z.ZodObject<{
227
+ status: z.ZodLiteral<RouteStatus.NoWay>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ status: RouteStatus.NoWay;
230
+ }, {
231
+ status: RouteStatus.NoWay;
232
+ }>]> : z.ZodUnion<[z.ZodEffects<z.ZodObject<{
233
+ status: z.ZodUnion<[z.ZodLiteral<RouteStatus.Success>, z.ZodLiteral<RouteStatus.Partial>]>;
234
+ tokens: z.ZodArray<z.ZodObject<{
235
+ address: z.ZodEffects<z.ZodString, `0x${string}`, string>;
236
+ decimals: z.ZodNumber;
237
+ symbol: z.ZodString;
238
+ name: z.ZodString;
239
+ }, "strip", z.ZodTypeAny, {
240
+ symbol: string;
241
+ name: string;
242
+ address: `0x${string}`;
243
+ decimals: number;
244
+ }, {
245
+ symbol: string;
246
+ name: string;
247
+ address: string;
248
+ decimals: number;
249
+ }>, "many">;
250
+ tokenFrom: z.ZodNumber;
251
+ tokenTo: z.ZodNumber;
252
+ swapPrice: z.ZodNumber;
253
+ priceImpact: z.ZodNumber;
254
+ amountIn: z.ZodString;
255
+ assumedAmountOut: z.ZodString;
256
+ }, "strip", z.ZodTypeAny, {
257
+ status: RouteStatus.Success | RouteStatus.Partial;
258
+ tokens: {
259
+ symbol: string;
260
+ name: string;
261
+ address: `0x${string}`;
262
+ decimals: number;
263
+ }[];
264
+ tokenFrom: number;
265
+ tokenTo: number;
266
+ swapPrice: number;
267
+ priceImpact: number;
268
+ amountIn: string;
269
+ assumedAmountOut: string;
270
+ }, {
271
+ status: RouteStatus.Success | RouteStatus.Partial;
272
+ tokens: {
273
+ symbol: string;
274
+ name: string;
275
+ address: string;
276
+ decimals: number;
277
+ }[];
278
+ tokenFrom: number;
279
+ tokenTo: number;
280
+ swapPrice: number;
281
+ priceImpact: number;
282
+ amountIn: string;
283
+ assumedAmountOut: string;
284
+ }>, {
285
+ tokenFrom: {
286
+ symbol: string;
287
+ name: string;
288
+ address: `0x${string}`;
289
+ decimals: number;
290
+ };
291
+ tokenTo: {
292
+ symbol: string;
293
+ name: string;
294
+ address: `0x${string}`;
295
+ decimals: number;
296
+ };
297
+ status: RouteStatus.Success | RouteStatus.Partial;
298
+ tokens: {
299
+ symbol: string;
300
+ name: string;
301
+ address: `0x${string}`;
302
+ decimals: number;
303
+ }[];
304
+ swapPrice: number;
305
+ priceImpact: number;
306
+ amountIn: string;
307
+ assumedAmountOut: string;
308
+ }, {
309
+ status: RouteStatus.Success | RouteStatus.Partial;
310
+ tokens: {
311
+ symbol: string;
312
+ name: string;
313
+ address: string;
314
+ decimals: number;
315
+ }[];
316
+ tokenFrom: number;
317
+ tokenTo: number;
318
+ swapPrice: number;
319
+ priceImpact: number;
320
+ amountIn: string;
321
+ assumedAmountOut: string;
322
+ }>, z.ZodObject<{
323
+ status: z.ZodLiteral<RouteStatus.NoWay>;
324
+ }, "strip", z.ZodTypeAny, {
325
+ status: RouteStatus.NoWay;
326
+ }, {
327
+ status: RouteStatus.NoWay;
328
+ }>]>;
329
+ export type QuoteResponse<Vizualize extends boolean = false> = z.infer<ReturnType<typeof quoteResponseSchema<Vizualize>>>;
330
+ export declare function getQuote<Vizualize extends boolean = false>(params: QuoteRequest<Vizualize>, options?: RequestInit): Promise<QuoteResponse<Vizualize>>;
331
+ export {};
332
+ //# sourceMappingURL=quote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../api/quote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAIhE,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,OAAO,GAAG,KAAK,IAAI;IAC5D,OAAO,EAAE,yBAAyB,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,iBAAS,mBAAmB,CAAC,SAAS,SAAS,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2D5E;AAED,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,CACpE,UAAU,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAClD,CAAA;AAED,wBAAsB,QAAQ,CAAC,SAAS,SAAS,OAAO,GAAG,KAAK,EAC9D,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,EAC/B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CA6CnC"}
@@ -4,18 +4,7 @@ import type { ExtractorSupportedChainId } from '../config/index.js';
4
4
  import { RouteStatus } from '../router/route-status.js';
5
5
  import type { RouterLiquiditySource } from '../router/router-liquidity-source.js';
6
6
  import type { TransferValue } from '../router/transfer-value.js';
7
- type Fee<Enabled extends boolean> = Enabled extends true ? {
8
- enableFee: Enabled;
9
- fee: bigint;
10
- feeReceiver: Address;
11
- feeBy?: TransferValue;
12
- } : {
13
- enableFee?: Enabled;
14
- fee?: bigint;
15
- feeReceiver?: Address;
16
- feeBy?: TransferValue;
17
- };
18
- export type SwapRequest<EnableFee extends boolean> = {
7
+ export type SwapRequest<Simulate extends boolean = true> = {
19
8
  chainId: ExtractorSupportedChainId;
20
9
  tokenIn: Address;
21
10
  tokenOut: Address;
@@ -24,11 +13,13 @@ export type SwapRequest<EnableFee extends boolean> = {
24
13
  maxSlippage: number;
25
14
  maxPriceImpact?: number;
26
15
  source?: RouterLiquiditySource;
27
- fee?: Fee<EnableFee>;
16
+ fee?: bigint;
17
+ feeReceiver?: Address;
18
+ feeBy?: TransferValue;
28
19
  referrer?: string;
29
20
  baseUrl?: string;
30
21
  recipient?: Address;
31
- simulate?: boolean;
22
+ simulate?: Simulate;
32
23
  override?: boolean;
33
24
  facade?: boolean;
34
25
  validate?: boolean;
@@ -350,6 +341,6 @@ declare function swapResponseSchema<Simulate extends boolean>(simulate?: Simulat
350
341
  status: RouteStatus.NoWay;
351
342
  }>]>;
352
343
  export type SwapResponse<Simulate extends boolean = true> = z.infer<ReturnType<typeof swapResponseSchema<Simulate>>>;
353
- export declare function getSwap<Simulate extends boolean = true, EnableFee extends boolean = false>(params: SwapRequest<EnableFee>, options?: RequestInit): Promise<SwapResponse<Simulate>>;
344
+ export declare function getSwap<Simulate extends boolean = true>(params: SwapRequest<Simulate>, options?: RequestInit): Promise<SwapResponse<Simulate>>;
354
345
  export {};
355
346
  //# sourceMappingURL=swap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../api/swap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAIhE,KAAK,GAAG,CAAC,OAAO,SAAS,OAAO,IAAI,OAAO,SAAS,IAAI,GACpD;IACE,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,GACD;IACE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAEL,MAAM,MAAM,WAAW,CAAC,SAAS,SAAS,OAAO,IAAI;IACnD,OAAO,EAAE,yBAAyB,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,iBAAS,kBAAkB,CAAC,QAAQ,SAAS,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoDxE;AAED,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CACjE,UAAU,CAAC,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAChD,CAAA;AAED,wBAAsB,OAAO,CAC3B,QAAQ,SAAS,OAAO,GAAG,IAAI,EAC/B,SAAS,SAAS,OAAO,GAAG,KAAK,EAEjC,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,EAC9B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAwDjC"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../api/swap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAIhE,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,OAAO,GAAG,IAAI,IAAI;IACzD,OAAO,EAAE,yBAAyB,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,iBAAS,kBAAkB,CAAC,QAAQ,SAAS,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoDxE;AAED,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CACjE,UAAU,CAAC,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAChD,CAAA;AAED,wBAAsB,OAAO,CAAC,QAAQ,SAAS,OAAO,GAAG,IAAI,EAC3D,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAC7B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CA4DjC"}
@@ -34,9 +34,9 @@ export declare const swapSchema: z.ZodObject<{
34
34
  includeRoute: boolean;
35
35
  to?: `0x${string}` | undefined;
36
36
  maxPriceImpact?: number | undefined;
37
- enableFee?: boolean | undefined;
38
37
  feeReceiver?: `0x${string}` | undefined;
39
38
  gasPrice?: number | undefined;
39
+ enableFee?: boolean | undefined;
40
40
  }, {
41
41
  amount: bigint;
42
42
  tokenIn: `0x${string}`;
@@ -46,7 +46,6 @@ export declare const swapSchema: z.ZodObject<{
46
46
  source?: RouterLiquiditySource | undefined;
47
47
  maxPriceImpact?: number | undefined;
48
48
  fee?: number | undefined;
49
- enableFee?: unknown;
50
49
  feeReceiver?: `0x${string}` | undefined;
51
50
  feeBy?: TransferValue | undefined;
52
51
  gasPrice?: number | undefined;
@@ -55,6 +54,7 @@ export declare const swapSchema: z.ZodObject<{
55
54
  includeTransaction?: unknown;
56
55
  includeTokens?: unknown;
57
56
  includeRoute?: unknown;
57
+ enableFee?: unknown;
58
58
  }>;
59
59
  export type SwapSchema = z.infer<typeof swapSchema>;
60
60
  //# sourceMappingURL=schema.d.ts.map
package/api/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './price.js'
2
2
  export * from './swap.js'
3
+ export * from './quote.js'
package/api/quote.ts ADDED
@@ -0,0 +1,137 @@
1
+ import type { Address } from 'viem'
2
+ import { z } from 'zod'
3
+ import type { ExtractorSupportedChainId } from '../config/index.js'
4
+ import { RouteStatus } from '../router/route-status.js'
5
+ import type { TransferValue } from '../router/transfer-value.js'
6
+ import { sz } from '../validate/zod.js'
7
+ import { version } from '../version.js'
8
+
9
+ export type QuoteRequest<Vizualize extends boolean = false> = {
10
+ chainId: ExtractorSupportedChainId
11
+ tokenIn: Address
12
+ tokenOut: Address
13
+ amount: bigint
14
+ maxSlippage: number
15
+ maxPriceImpact?: number
16
+ fee?: bigint
17
+ feeReceiver?: Address
18
+ feeBy?: TransferValue
19
+ referrer?: string
20
+ vizualize?: Vizualize
21
+ baseUrl?: string
22
+ }
23
+
24
+ function quoteResponseSchema<Vizualize extends boolean>(vizualize?: Vizualize) {
25
+ const tokenSchema = z.object({
26
+ address: sz.address(),
27
+ decimals: z.number(),
28
+ symbol: z.string(),
29
+ name: z.string(),
30
+ })
31
+
32
+ const baseSuccessPartial = z
33
+ .object({
34
+ status: z.literal(RouteStatus.Success).or(z.literal(RouteStatus.Partial)),
35
+ tokens: z.array(tokenSchema),
36
+ tokenFrom: z.number(),
37
+ tokenTo: z.number(),
38
+
39
+ swapPrice: z.number(),
40
+ priceImpact: z.number(),
41
+
42
+ amountIn: z.string(),
43
+ assumedAmountOut: z.string(),
44
+ })
45
+ .transform((data) => ({
46
+ ...data,
47
+ tokenFrom: data.tokens[data.tokenFrom]!,
48
+ tokenTo: data.tokens[data.tokenTo]!,
49
+ }))
50
+
51
+ const baseNoWay = z.object({
52
+ status: z.literal(RouteStatus.NoWay),
53
+ })
54
+
55
+ const baseSchema = baseSuccessPartial.or(baseNoWay)
56
+
57
+ const baseVizualizeSchema = baseSchema
58
+ .and(
59
+ z.object({
60
+ vizualization: z.object({
61
+ liquidityProviders: z.array(z.string()),
62
+ nodes: z.array(tokenSchema),
63
+ links: z.array(
64
+ z.object({
65
+ source: z.number(),
66
+ target: z.number(),
67
+ liquidityProvider: z.number(),
68
+ amountIn: z.string(),
69
+ amountOut: z.string(),
70
+ value: z.number(),
71
+ }),
72
+ ),
73
+ }),
74
+ }),
75
+ )
76
+ .or(baseNoWay)
77
+
78
+ type Schema = Vizualize extends true
79
+ ? typeof baseVizualizeSchema
80
+ : typeof baseSchema
81
+
82
+ return (vizualize ? baseVizualizeSchema : baseSchema) as Schema
83
+ }
84
+
85
+ export type QuoteResponse<Vizualize extends boolean = false> = z.infer<
86
+ ReturnType<typeof quoteResponseSchema<Vizualize>>
87
+ >
88
+
89
+ export async function getQuote<Vizualize extends boolean = false>(
90
+ params: QuoteRequest<Vizualize>,
91
+ options?: RequestInit,
92
+ ): Promise<QuoteResponse<Vizualize>> {
93
+ // TODO: VALIDATE PARAMS
94
+ const url = new URL(
95
+ `quote/v7/${params.chainId}`,
96
+ params.baseUrl ?? 'https://api.sushi.com',
97
+ )
98
+
99
+ url.searchParams.append('tokenIn', params.tokenIn)
100
+ url.searchParams.append('tokenOut', params.tokenOut)
101
+ url.searchParams.append('amount', params.amount.toString())
102
+ url.searchParams.append('maxSlippage', params.maxSlippage.toString())
103
+
104
+ if (params.maxPriceImpact) {
105
+ url.searchParams.append('maxPriceImpact', params.maxPriceImpact.toString())
106
+ }
107
+
108
+ if (
109
+ typeof params.fee === 'bigint' &&
110
+ params.fee > 0n &&
111
+ params.feeReceiver !== undefined
112
+ ) {
113
+ url.searchParams.append('fee', params.fee.toString())
114
+ url.searchParams.append('feeReceiver', params.feeReceiver)
115
+ if (params.feeBy !== undefined) {
116
+ url.searchParams.append('feeBy', params.feeBy)
117
+ }
118
+ }
119
+
120
+ if (params?.vizualize) {
121
+ url.searchParams.append('vizualize', params.vizualize.toString())
122
+ }
123
+
124
+ if (params.referrer) {
125
+ url.searchParams.append('referrer', params.referrer)
126
+ } else {
127
+ url.searchParams.append('referrer', `sushi-sdk/${version}`)
128
+ }
129
+
130
+ const res = await fetch(url.toString(), options)
131
+
132
+ if (!res.ok) {
133
+ throw new Error(`Failed to fetch quote: ${await res.text()}`)
134
+ }
135
+
136
+ return quoteResponseSchema(params.vizualize).parse(await res.json())
137
+ }
package/api/swap.ts CHANGED
@@ -7,21 +7,7 @@ import type { TransferValue } from '../router/transfer-value.js'
7
7
  import { sz } from '../validate/zod.js'
8
8
  import { version } from '../version.js'
9
9
 
10
- type Fee<Enabled extends boolean> = Enabled extends true
11
- ? {
12
- enableFee: Enabled
13
- fee: bigint
14
- feeReceiver: Address
15
- feeBy?: TransferValue
16
- }
17
- : {
18
- enableFee?: Enabled
19
- fee?: bigint
20
- feeReceiver?: Address
21
- feeBy?: TransferValue
22
- }
23
-
24
- export type SwapRequest<EnableFee extends boolean> = {
10
+ export type SwapRequest<Simulate extends boolean = true> = {
25
11
  chainId: ExtractorSupportedChainId
26
12
  tokenIn: Address
27
13
  tokenOut: Address
@@ -30,11 +16,13 @@ export type SwapRequest<EnableFee extends boolean> = {
30
16
  maxSlippage: number
31
17
  maxPriceImpact?: number
32
18
  source?: RouterLiquiditySource
33
- fee?: Fee<EnableFee>
19
+ fee?: bigint
20
+ feeReceiver?: Address
21
+ feeBy?: TransferValue
34
22
  referrer?: string
35
23
  baseUrl?: string
36
24
  recipient?: Address
37
- simulate?: boolean
25
+ simulate?: Simulate
38
26
  override?: boolean
39
27
  facade?: boolean
40
28
  validate?: boolean
@@ -98,11 +86,8 @@ export type SwapResponse<Simulate extends boolean = true> = z.infer<
98
86
  ReturnType<typeof swapResponseSchema<Simulate>>
99
87
  >
100
88
 
101
- export async function getSwap<
102
- Simulate extends boolean = true,
103
- EnableFee extends boolean = false,
104
- >(
105
- params: SwapRequest<EnableFee>,
89
+ export async function getSwap<Simulate extends boolean = true>(
90
+ params: SwapRequest<Simulate>,
106
91
  options?: RequestInit,
107
92
  ): Promise<SwapResponse<Simulate>> {
108
93
  // TODO: VALIDATE PARAMS
@@ -129,11 +114,15 @@ export async function getSwap<
129
114
  url.searchParams.append('recipient', params.recipient)
130
115
  }
131
116
 
132
- if (params.fee?.enableFee) {
133
- url.searchParams.append('fee', params.fee.fee.toString())
134
- url.searchParams.append('feeReceiver', params.fee.feeReceiver)
135
- if (params.fee.feeBy) {
136
- url.searchParams.append('feeBy', params.fee.feeBy)
117
+ if (
118
+ typeof params.fee === 'bigint' &&
119
+ params.fee > 0n &&
120
+ params.feeReceiver !== undefined
121
+ ) {
122
+ url.searchParams.append('fee', params.fee.toString())
123
+ url.searchParams.append('feeReceiver', params.feeReceiver)
124
+ if (params.feeBy !== undefined) {
125
+ url.searchParams.append('feeBy', params.feeBy)
137
126
  }
138
127
  }
139
128
 
@@ -12,16 +12,16 @@ import {
12
12
  } from '../hosts.js'
13
13
 
14
14
  const SUSHISWAP_V2_DECENTRALIZED_DEPLOYMENT_IDS = {
15
- [EvmChainId.ETHEREUM]: `QmQ2h69a3vnE6N3TN7Ys9K1vpjYiJSi8fexnj1pWpRc6uY`,
15
+ [EvmChainId.ETHEREUM]: `QmaR2nAMF6dCHBL1eFNQ4F5nGpJQs7V11PZobJB2FgQtbt`,
16
16
  [EvmChainId.AVALANCHE]: `QmadNP3fXrcba189BuSrT88Tw7YHhTtHWsdBTQhNpyaF6c`,
17
- [EvmChainId.ARBITRUM]: `QmV5qTnwjz65z6TH63DYngLr1gj52KQ6Lr6m8aeNj6yxxb`,
17
+ [EvmChainId.ARBITRUM]: `QmfN96hDXYtgeLsBv5WjQY8FAwqBfBFoiq8gzsn9oApcoU`,
18
18
  [EvmChainId.BSC]: `QmQ3b4S6PSgvRkd5PhxtDPDQRybfmaRYxGVZCLbYJopoKJ`,
19
19
  [EvmChainId.CELO]: `QmNxrypMUwDagUwxcBDPPebNx4ZPZ3XGJ2cdaejAjXg735`,
20
20
  [EvmChainId.FANTOM]: `QmbitwNMFxEcJVtZyTcLYr2GrQSLg99rpZZmmD2m13xRp2`,
21
21
  [EvmChainId.GNOSIS]: `QmU7USviTB8LtJ9tkPjZLcretNnYyUWzwDy9N7zTupNYj2`,
22
22
  [EvmChainId.OPTIMISM]: `QmZWaFzzzs7CEzpVeLrNqW6e7oNxG8AnkJt9kUEV5rFzxn`,
23
23
  [EvmChainId.BOBA]: `QmYzLBMamDBWJWsUNFiRfq91w2H38SAf9jXyCYDTzhyHh3`,
24
- [EvmChainId.POLYGON]: `QmebwDJ8a8uGf5sW6inqVfJwDGgYrvCvif19wnQqHN8GzQ`,
24
+ [EvmChainId.POLYGON]: `QmcFVSFXGgodMVUGLAdYdYPfohyMwWat8pfi5pHSDXgskU`,
25
25
  [EvmChainId.BASE]: `QmQfYe5Ygg9A3mAiuBZYj5a64bDKLF4gF6sezfhgxKvb9y`,
26
26
  [EvmChainId.SCROLL]: `QmZkX4zi2RzLsQKva29gE3uCcMuJVxXE3R11Ln1J3FY3f7`,
27
27
  [EvmChainId.LINEA]: `QmWYpVMcyczvRvpzLpw5R7tKWouFLEzmufN55jnrNWmpth`,
@@ -11,18 +11,18 @@ import {
11
11
  } from '../hosts.js'
12
12
 
13
13
  const SUSHISWAP_V3_DECENTRALIZED_DEPLOYMENT_IDS = {
14
- [EvmChainId.ARBITRUM]: `QmS9GKBA49mDpWchU2Us1PJ7kmu4S7tWa4gAmRvE3HK42w`,
15
- [EvmChainId.AVALANCHE]: `Qmcdd4SGVwG9VY4itrXBnBPWBVsQvsxfzaib9bVny9C8jT`,
16
- [EvmChainId.BSC]: `QmXsPN4TD4PUhT1ZWd5d1mdQPePFNMdJwUr6guSh1z9ZzA`,
14
+ [EvmChainId.ARBITRUM]: `QmecewJ7QhNTKycFQjySoim7eDrZ53MaR754GbEPqqMGHy`,
15
+ [EvmChainId.AVALANCHE]: `QmUyC7YYpRkh5M2S7BP2gM8t8wkm7NYNAKrspW4r6uimjM`,
16
+ [EvmChainId.BSC]: `QmWQcbEg7J9gWBWfuqnknj5pdYZTp4U31JxQrmjWNEmpTM`,
17
17
  [EvmChainId.BOBA]: `QmVbYM6wz7XnH32QzQLNBwyzx7r1HNsFP6jfUi22NRvvJu`,
18
18
  [EvmChainId.ETHEREUM]: `QmP1FMFsU4wNcui1eezwuvBjxrbLPucKrKZ9Kftn34nULw`,
19
- [EvmChainId.FANTOM]: `QmQXFxg4dCxMqcobGQAtsNe4ufnG1KmjSVgtEdtxvYo4Lf`,
20
- [EvmChainId.GNOSIS]: `QmS9uxga2rzpWyHKFATGYas6ntdHLpX7w45EKAatBTZJ25`,
21
- [EvmChainId.OPTIMISM]: `QmbT6ZsxJEZKUrbzLrAWV5EnQfSKZeYtZ265mQUaB552vK`,
22
- [EvmChainId.POLYGON]: `QmfTAHYV86ymwV2Vm6kw9cNzTCmDhe9EWghQ3U3pD7jEGZ`,
23
- [EvmChainId.BASE]: `QmWWh7RgdXHcxaSwhJMpH1SB7D9rFZRGLZVwRfg2BPKsHt`,
24
- [EvmChainId.LINEA]: `QmNZ9ePvxGRDHAEhb7cLsb3AvtCCPJ3qAwh1CDvDn39RMa`,
25
- [EvmChainId.SCROLL]: `QmR6VP1qoF8nxhtMaGEg9VMmkaTDFqyeM8nJWkakP6nHes`,
19
+ [EvmChainId.FANTOM]: `QmdqDrZZKzASkiY1UpCUXSYdzVrJ5ru1JrqxMHGd5Ag2yS`,
20
+ [EvmChainId.GNOSIS]: `Qmadb2zb5P2avAy7zs454bLoEycfA6qzk61LwmDVJExUWg`,
21
+ [EvmChainId.OPTIMISM]: `QmVHZfj6pWc7WSe4vY5epZVGGfggyVZt48voKVxf19Dc8U`,
22
+ [EvmChainId.POLYGON]: `QmYAA8ymppZN4APXnqUhVNEnCwN1ZqHJyWsbmXuzpQ25Km`,
23
+ [EvmChainId.BASE]: `QmNw2ShqcGgu9iqxhAXdi89jCJn5DMU77tYJVLHg7HjZQ9`,
24
+ [EvmChainId.LINEA]: `QmVUWgFKqLABaX7QDaJFxXai2MZeZtqjvLuPqCrED8eJfN`,
25
+ [EvmChainId.SCROLL]: `QmNqxqVfBETuMhV91BfquULGBLFvPZwr3ADVFTMgGZcqNf`,
26
26
  [EvmChainId.SONIC]: `Qmaa6gJsqzeSnDBjq4NnwerMGMSaSDLqRMDkrevGXwVUt1`,
27
27
 
28
28
  // Deprecated chains
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sushi",
3
3
  "description": "Sushi",
4
- "version": "5.1.0",
4
+ "version": "5.1.2",
5
5
  "type": "module",
6
6
  "main": "./_cjs/index.js",
7
7
  "module": "./_esm/index.js",