aegis-swap-widget 0.13.2 → 0.14.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,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.14.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8c80e3c: Add Aegis-only smart routing through KyberSwap. With `liquiditySources: 'aegis'`
8
+ on `fetchAggregatedSwapQuote` and `executeKyberSwap`, or with
9
+ `liquiditySources="aegis"` on `AegisAggregatedSwapWidget`, Kyber is asked only
10
+ for `uniswap-v4-aegis` liquidity. Every route hop must carry that tag, checked
11
+ before build and again before signing; otherwise the swap fails closed with
12
+ `NoAegisRouteError`. The widget shows "No Aegis route" when no all-Aegis path
13
+ exists. Aggregated routes now also run on BNB Smart Chain, Unichain and Base,
14
+ with the Kyber router bytecode pinned on each chain. Builds now reserve 1 bp of
15
+ the slippage tolerance, because Kyber's `/route/build` reprices about 1 wei
16
+ below `/routes`.
17
+
18
+ ### Patch Changes
19
+
20
+ - Updated dependencies [8c80e3c]
21
+ - @aegis-engine/core@0.10.0
22
+
3
23
  ## 0.13.2
4
24
 
5
25
  ### Patch Changes
package/README.md CHANGED
@@ -803,6 +803,27 @@ 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. Ink is not
825
+ supported by Kyber yet.
826
+
806
827
  ## Fees
807
828
 
808
829
  The widget applies an internal output-token fee per chain. Each bundled chain config
@@ -817,7 +838,7 @@ bundled config provides one.
817
838
 
818
839
  For `AegisAggregatedSwapWidget`, the fee is taken by the KyberSwap route itself.
819
840
  On Ethereum mainnet, every aggregated route request includes these Kyber fee
820
- parameters:
841
+ parameters (routes on BSC, Unichain and Base carry no Kyber fee):
821
842
 
822
843
  ```text
823
844
  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-D7y-EnqT.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-D7y-EnqT.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";