aegis-swap-widget 0.13.0 → 0.13.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,42 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 5a3889f: Show SDK-derived collateral and market borrowing limits with explicit unavailable
8
+ and refreshing states. Explain selected markets that cannot borrow or lend, and
9
+ document the existing balanced-lending and protected review integration.
10
+ Custom sizing uses an SDK capacity quote without a market-liquidity fallback,
11
+ and keeps the collateral-capacity read independent of the Custom output draft.
12
+ Simple sizing preserves target-specific collateral floors and compatible limits,
13
+ including when returning to a freshly cached request.
14
+
15
+ Announce changing numeric borrowing limits without replaying unchanged labels.
16
+ Keep loan health indicators scoped to compatible inputs, shorten onboarding and
17
+ permission-dialog dismissal, and improve Engine account, review and trade-share
18
+ touch feedback and reduced-motion behavior.
19
+
20
+ Display independently quoted capacity before connection while keeping wallet
21
+ bounds unavailable. Allow Custom Borrow fills from a ready SDK token bound when
22
+ USD prices are unavailable; dollar-valued room and health remain unknown.
23
+
24
+ - Updated dependencies [2b83546]
25
+ - Updated dependencies [f2fc4c5]
26
+ - @aegis-engine/core@0.9.2
27
+
28
+ ## 0.13.1
29
+
30
+ ### Patch Changes
31
+
32
+ - dad3c28: Trust twelve more Ink direct-swap pools, so backend discovery now exposes all
33
+ thirteen enabled Ink markets: USDC-USDG, USDC-WETH, USD₮0-WETH, USDC-kBTC,
34
+ USD₮0-kBTC, WETH-kBTC, ETH-wSPYx, and wSPCXx, wNVDAx, wPLTRx, wTSLAx and wMSTRx
35
+ against wSPYx, alongside the existing USD₮0-USDC. Hosts on widget 0.13.x pick
36
+ these up by refreshing their resolved `@aegis-engine/core` lock entry.
37
+ - Updated dependencies [dad3c28]
38
+ - @aegis-engine/core@0.9.1
39
+
3
40
  ## 0.13.0
4
41
 
5
42
  ### Minor Changes
package/README.md CHANGED
@@ -74,6 +74,65 @@ export function Engine({ account, provider }) {
74
74
  }
75
75
  ```
76
76
 
77
+ ### Borrow and Lend integration
78
+
79
+ Use the existing Engine surfaces for a lending-focused embed. Include Positions
80
+ so users can return to their loans and deposits:
81
+
82
+ ```tsx
83
+ <AegisEngineWidget
84
+ account={account}
85
+ provider={provider}
86
+ chains={engineChains}
87
+ engineDataSource={{ kind: 'rest', baseUrl: '/api/engine' }}
88
+ surfaces={['buy', 'borrow', 'lend', 'positions']}
89
+ defaultSurface="borrow"
90
+ balancedLending={{ nativeGasReserve: hostNativeReserve }}
91
+ />
92
+ ```
93
+
94
+ The market reader supplies `borrowEnabled` / `lendEnabled`; optional
95
+ `canBorrow` / `canLend` capability values must be `true` to enable the action.
96
+ Missing readiness fails closed. Listing a surface does not enable an
97
+ unready market. A selected market that cannot support the action has an explicit
98
+ unavailable state; existing positions can still be inspected in Positions.
99
+
100
+ Simple Borrow shows the SDK's wallet/collateral limit separately from its market
101
+ limit in the Borrowing limit disclosure. Independently quoted limits can appear
102
+ before connecting; wallet-specific bounds remain unavailable until the wallet
103
+ balance is known. Custom Borrow shows the effective limit for the entered
104
+ collateral. Its slider and Max action use the SDK token bound even when a dollar
105
+ price is unavailable; dollar-denominated room and health stay unavailable. Editing
106
+ the Custom borrow amount refreshes its
107
+ execution quote without repeating the collateral-capacity read. Simple Borrow
108
+ retains compatible limits while requesting a new target-specific collateral floor.
109
+ Changes to the wallet, market,
110
+ collateral, token side, vault or risk settings invalidate those limits immediately;
111
+ failed or stale capacity cannot describe current utilization. Submission always
112
+ requires a fresh quote for the requested amount.
113
+
114
+ The Custom capacity meter may retain its last fill during a compatible collateral
115
+ refresh. Wallet, network, market, pool, token-side, flow or risk changes reset it.
116
+ This visual continuity never makes unknown capacity executable. Updated numeric
117
+ borrowing limits are announced politely together with their labels.
118
+
119
+ The tighter known limit explains the constraint. Missing prices, failed reads,
120
+ wallet changes and a refreshing capacity quote never turn market liquidity into
121
+ the user's borrowing power. The amount review uses the Engine quote's collateral,
122
+ received assets, projected LTV and current/projected variable rate; the selected
123
+ term is a cost assumption, not a fixed-rate loan or liquidation countdown.
124
+
125
+ Single-token Lend includes any internal balancing swap in its protected review.
126
+ Opting into `balancedLending` adds Both tokens and reuses the same protected
127
+ spend caps, minimum share output, native reserve and transaction recovery. See
128
+ [balanced lending](../../docs/balanced-lending.md) for the two-input semantics.
129
+ The playground exposes these through **Tabs** and **Both-token lending**.
130
+
131
+ The widget owns authorization, refreshed-quote review and final simulation.
132
+ Hosts should preserve the mounted widget during an interaction and use
133
+ `onInteractionLockChange` to suspend conflicting navigation. Successful wallet
134
+ authorization does not mean the loan or deposit has been submitted or confirmed.
135
+
77
136
  ## Wolf Game Trade and Earn preset
78
137
 
79
138
  The Wolf preset reproduces the focused gamer flow: a resource Store under
@@ -657,12 +716,13 @@ tokens — is documented in [DESIGN.md](./DESIGN.md).
657
716
 
658
717
  ## Configure Pools
659
718
 
660
- Out of the box, `<AegisSwapWidget />` exposes the enabled markets returned by
661
- the Aegis backend for the active chain. Use `enabledChainIds` when a project
662
- should expose only some backend-enabled networks, and use `poolIds` when a host
663
- wants a different backend-market order or subset. Pass `backendBaseUrl={null}`
664
- when those ids should resolve against the bundled static WATER, WOOD, GRASS,
665
- and STONE mainnet pools:
719
+ Out of the box, `<AegisSwapWidget />` exposes the backend-enabled markets for the
720
+ active chain that match the direct-swap catalogue shipped in the installed
721
+ `@aegis-engine/core`; the backend cannot add a pool outside that catalogue. Use
722
+ `enabledChainIds` when a project should expose only some backend-enabled
723
+ networks, and use `poolIds` when a host wants a different backend-market order
724
+ or subset. Pass `backendBaseUrl={null}` when those ids should resolve against
725
+ the bundled static WATER, WOOD, GRASS, and STONE mainnet pools:
666
726
 
667
727
  ```tsx
668
728
  import { AegisSwapWidget } from 'aegis-swap-widget'
@@ -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-CvIQ_zY8.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-CfvA9l12.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-CvIQ_zY8.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-CfvA9l12.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";