aegis-swap-widget 0.13.2 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bee2caf: Add Aegis-only smart routing on Ink. Kyber does not cover Ink, so
8
+ `aggregatedRouteProviderForChain(57073)` now returns an in-house provider. It
9
+ enumerates paths of up to three hops through the shipped Ink pool catalogue,
10
+ quotes them all in one Multicall3 `eth_call` to the V4 quoter, and settles the
11
+ best on the Aegis router through Permit2, with a fixed minimum `TAKE` that
12
+ reverts a short fill. Ink accepts only `liquiditySources: 'aegis'`.
13
+ `fetchAggregatedSwapQuote` now uses its `publicClient` argument, and the
14
+ aggregated widget passes its read client.
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [bee2caf]
19
+ - @aegis-engine/core@0.11.0
20
+
21
+ ## 0.14.0
22
+
23
+ ### Minor Changes
24
+
25
+ - 8c80e3c: Add Aegis-only smart routing through KyberSwap. With `liquiditySources: 'aegis'`
26
+ on `fetchAggregatedSwapQuote` and `executeKyberSwap`, or with
27
+ `liquiditySources="aegis"` on `AegisAggregatedSwapWidget`, Kyber is asked only
28
+ for `uniswap-v4-aegis` liquidity. Every route hop must carry that tag, checked
29
+ before build and again before signing; otherwise the swap fails closed with
30
+ `NoAegisRouteError`. The widget shows "No Aegis route" when no all-Aegis path
31
+ exists. Aggregated routes now also run on BNB Smart Chain, Unichain and Base,
32
+ with the Kyber router bytecode pinned on each chain. Builds now reserve 1 bp of
33
+ the slippage tolerance, because Kyber's `/route/build` reprices about 1 wei
34
+ below `/routes`.
35
+
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies [8c80e3c]
39
+ - @aegis-engine/core@0.10.0
40
+
3
41
  ## 0.13.2
4
42
 
5
43
  ### Patch Changes
package/README.md CHANGED
@@ -803,6 +803,31 @@ because it quotes and encodes against the Uniswap V4 pool directly.
803
803
 
804
804
  Reference: [KyberSwap Aggregator API EVM swaps](https://docs.kyberswap.com/kyberswap-solutions/kyberswap-aggregator/aggregator-api-specification/evm-swaps).
805
805
 
806
+ ## Aegis-Only Smart Routing
807
+
808
+ Aggregated routes run on Ethereum (1), BNB Smart Chain (56), Unichain (130) and
809
+ Base (8453). Unichain and Base are not bundled chain configs, so pass them
810
+ through `chains` as for the direct widget.
811
+
812
+ Set `liquiditySources="aegis"` to route only through Aegis pools (Uniswap v4
813
+ pools that use the Aegis hook), including multi-hop paths such as
814
+ token → USDC → token. The default, `'any'`, keeps KyberSwap's full source set.
815
+
816
+ ```tsx
817
+ <AegisAggregatedSwapWidget chainId={130} chains={{ 130: unichainConfig }} tokens={tokens} liquiditySources="aegis" />
818
+ ```
819
+
820
+ In Aegis mode the widget asks Kyber for `includedSources=uniswap-v4-aegis`,
821
+ then refuses any route in which a hop is not tagged `uniswap-v4-aegis`. It
822
+ checks once before the route is built and again before the wallet is asked to
823
+ sign. When no all-Aegis path exists, the widget shows "No Aegis route" and
824
+ cannot submit. Every existing calldata check still applies.
825
+
826
+ On Ink (57073), which Kyber does not cover, the widget routes through an
827
+ in-house provider instead: up to three hops over the bundled Ink Aegis pools,
828
+ quoted in one Multicall3 call, settled on the Aegis router through Permit2.
829
+ Ink requires `liquiditySources="aegis"`; `'any'` shows an error.
830
+
806
831
  ## Fees
807
832
 
808
833
  The widget applies an internal output-token fee per chain. Each bundled chain config
@@ -817,7 +842,7 @@ bundled config provides one.
817
842
 
818
843
  For `AegisAggregatedSwapWidget`, the fee is taken by the KyberSwap route itself.
819
844
  On Ethereum mainnet, every aggregated route request includes these Kyber fee
820
- parameters:
845
+ parameters (routes on BSC, Unichain and Base carry no Kyber fee):
821
846
 
822
847
  ```text
823
848
  feeAmount=50
@@ -1,7 +1,7 @@
1
1
  import { jsxs as h, jsx as i, Fragment as Pe } from "react/jsx-runtime";
2
2
  import * as E from "react";
3
3
  import { useState as H, useEffect as ue, useRef as F, useId as kt, useMemo as ce } from "react";
4
- import { E as St, u as _t, a as Ye, b as $t, c as Ft, d as Pt, e as Ot, F as mt, f as gt, g as ft, C as Ut, h as Ht, i as pt, j as Vt } from "./index-CfvA9l12.js";
4
+ import { E as St, u as _t, a as Ye, b as $t, c as Ft, d as Pt, e as Ot, F as mt, f as gt, g as ft, C as Ut, h as Ht, i as pt, j as Vt } from "./index-B0agjrrs.js";
5
5
  import { enginePoolPriceSegments as Xt, splitEngineMarketCandleSegments as Yt, fetchTokenPriceHistory as jt } from "@aegis-engine/core";
6
6
  import { m as Wt } from "./marketOrientation-B6SD7xSk.js";
7
7
  function qt({
@@ -1,4 +1,4 @@
1
- import { A as s, k as i, l as o, m as n, n as r, o as t, p as A, q as E, r as g, s as u, t as S, S as _, v as c, k as m, w as l, x as P, y as p, z as d, B as W } from "./index-CfvA9l12.js";
1
+ import { A as s, k as i, l as o, m as n, n as r, o as t, p as A, q as E, r as g, s as u, t as S, S as _, v as c, k as m, w as l, x as P, y as p, z as d, B as W } from "./index-B0agjrrs.js";
2
2
  import { u as R, a as T, b as G, c as I, d as O, e as L, f as x, g as D } from "./useEngineActivity-BkhItrUI.js";
3
3
  import { WOLF_GAME_ENGINE_WIDGET_PRESET as k, WOLF_GAME_RESOURCES as v, WOLF_GAME_RESOURCE_ORDER as w, resolveWolfGameResource as M, wolfGameResourceWidgetProps as y } from "./presets/wolf-game.js";
4
4
  import { normalizePartnerActionRequirement as N, normalizePartnerResourceAmount as z, partnerLaunchIntentForRequirement as C, partnerResourceAssetKey as U } from "./partner-context.js";