@accesly/react 1.3.2 → 1.4.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/dist/.tsbuildinfo +1 -1
- package/dist/index.cjs +32 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -4
- package/dist/index.d.ts +12 -4
- package/dist/index.js +32 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -683,8 +683,8 @@ interface UseWalletStatusResult {
|
|
|
683
683
|
declare function useWalletStatus(): UseWalletStatusResult;
|
|
684
684
|
|
|
685
685
|
/**
|
|
686
|
-
* `useBalance(walletAddress?)` — devuelve
|
|
687
|
-
* con push real-time vía SSE.
|
|
686
|
+
* `useBalance(walletAddress?)` — devuelve los balances XLM y USDC del Smart
|
|
687
|
+
* Account con push real-time vía SSE.
|
|
688
688
|
*
|
|
689
689
|
* Si SSE está configurado (env tiene `walletStreamUrl` y `EventSource` existe),
|
|
690
690
|
* el hook se suscribe al canal `balance` del `wallet-stream` Lambda y se
|
|
@@ -695,12 +695,20 @@ declare function useWalletStatus(): UseWalletStatusResult;
|
|
|
695
695
|
*
|
|
696
696
|
* El `walletAddress` se auto-resuelve desde el `DeviceStore` si no se pasa
|
|
697
697
|
* (cubrir el caso "wallet del user actual sin tener que pasarla a mano").
|
|
698
|
+
*
|
|
699
|
+
* **Multi-asset (1.4.0+):** además de `stroops`/`xlm` (XLM) ahora devuelve
|
|
700
|
+
* `usdc` (formatted) y `usdcAtomic` (micro-USDC, 1e-7). Backwards compat:
|
|
701
|
+
* apps en 1.3 que solo leen `stroops`/`xlm` siguen funcionando sin cambios.
|
|
698
702
|
*/
|
|
699
703
|
interface UseBalanceResult {
|
|
700
|
-
/**
|
|
704
|
+
/** XLM en stroops (string base-10). `null` mientras se carga o no hay address. */
|
|
701
705
|
readonly stroops: string | null;
|
|
702
|
-
/**
|
|
706
|
+
/** XLM formatted (sin trailing zeros). `null` mientras se carga. */
|
|
703
707
|
readonly xlm: string | null;
|
|
708
|
+
/** USDC formatted (sin trailing zeros). `null` mientras se carga o si el SAC nunca registró la cuenta. */
|
|
709
|
+
readonly usdc: string | null;
|
|
710
|
+
/** USDC en unidades atómicas (1e-7 USDC). `null` mientras se carga. */
|
|
711
|
+
readonly usdcAtomic: string | null;
|
|
704
712
|
readonly isLoading: boolean;
|
|
705
713
|
readonly error: Error | null;
|
|
706
714
|
/** Fuerza fetch HTTP inmediato (útil tras una operación del user). */
|
package/dist/index.d.ts
CHANGED
|
@@ -683,8 +683,8 @@ interface UseWalletStatusResult {
|
|
|
683
683
|
declare function useWalletStatus(): UseWalletStatusResult;
|
|
684
684
|
|
|
685
685
|
/**
|
|
686
|
-
* `useBalance(walletAddress?)` — devuelve
|
|
687
|
-
* con push real-time vía SSE.
|
|
686
|
+
* `useBalance(walletAddress?)` — devuelve los balances XLM y USDC del Smart
|
|
687
|
+
* Account con push real-time vía SSE.
|
|
688
688
|
*
|
|
689
689
|
* Si SSE está configurado (env tiene `walletStreamUrl` y `EventSource` existe),
|
|
690
690
|
* el hook se suscribe al canal `balance` del `wallet-stream` Lambda y se
|
|
@@ -695,12 +695,20 @@ declare function useWalletStatus(): UseWalletStatusResult;
|
|
|
695
695
|
*
|
|
696
696
|
* El `walletAddress` se auto-resuelve desde el `DeviceStore` si no se pasa
|
|
697
697
|
* (cubrir el caso "wallet del user actual sin tener que pasarla a mano").
|
|
698
|
+
*
|
|
699
|
+
* **Multi-asset (1.4.0+):** además de `stroops`/`xlm` (XLM) ahora devuelve
|
|
700
|
+
* `usdc` (formatted) y `usdcAtomic` (micro-USDC, 1e-7). Backwards compat:
|
|
701
|
+
* apps en 1.3 que solo leen `stroops`/`xlm` siguen funcionando sin cambios.
|
|
698
702
|
*/
|
|
699
703
|
interface UseBalanceResult {
|
|
700
|
-
/**
|
|
704
|
+
/** XLM en stroops (string base-10). `null` mientras se carga o no hay address. */
|
|
701
705
|
readonly stroops: string | null;
|
|
702
|
-
/**
|
|
706
|
+
/** XLM formatted (sin trailing zeros). `null` mientras se carga. */
|
|
703
707
|
readonly xlm: string | null;
|
|
708
|
+
/** USDC formatted (sin trailing zeros). `null` mientras se carga o si el SAC nunca registró la cuenta. */
|
|
709
|
+
readonly usdc: string | null;
|
|
710
|
+
/** USDC en unidades atómicas (1e-7 USDC). `null` mientras se carga. */
|
|
711
|
+
readonly usdcAtomic: string | null;
|
|
704
712
|
readonly isLoading: boolean;
|
|
705
713
|
readonly error: Error | null;
|
|
706
714
|
/** Fuerza fetch HTTP inmediato (útil tras una operación del user). */
|
package/dist/index.js
CHANGED
|
@@ -665,6 +665,10 @@ function useAccesly() {
|
|
|
665
665
|
* passkey + derivación HKDF + ensureWallet en una sola llamada.
|
|
666
666
|
*/
|
|
667
667
|
async bootstrap(input) {
|
|
668
|
+
try {
|
|
669
|
+
await ctx.tokenManager.getValidIdToken();
|
|
670
|
+
} catch {
|
|
671
|
+
}
|
|
668
672
|
const enc = new TextEncoder();
|
|
669
673
|
const userIdHash = sha256(enc.encode(input.email));
|
|
670
674
|
const prfSalt = getRandomBytes(32);
|
|
@@ -1491,6 +1495,8 @@ function useBalance(walletAddress) {
|
|
|
1491
1495
|
);
|
|
1492
1496
|
const [stroops, setStroops] = useState(null);
|
|
1493
1497
|
const [xlm, setXlm] = useState(null);
|
|
1498
|
+
const [usdc, setUsdc] = useState(null);
|
|
1499
|
+
const [usdcAtomic, setUsdcAtomic] = useState(null);
|
|
1494
1500
|
const [isLoading, setIsLoading] = useState(true);
|
|
1495
1501
|
const [error, setError] = useState(null);
|
|
1496
1502
|
const walletRef = useStableRef3(wallet);
|
|
@@ -1524,8 +1530,15 @@ function useBalance(walletAddress) {
|
|
|
1524
1530
|
if (!resolvedAddress) return;
|
|
1525
1531
|
try {
|
|
1526
1532
|
const res = await endpointsRef.current.walletBalance(resolvedAddress);
|
|
1527
|
-
setStroops(res.xlm.stroops);
|
|
1528
|
-
setXlm(res.xlm.xlm);
|
|
1533
|
+
setStroops(res.xlm.atomic ?? res.xlm.stroops);
|
|
1534
|
+
setXlm(res.xlm.formatted ?? res.xlm.xlm);
|
|
1535
|
+
if (res.usdc) {
|
|
1536
|
+
setUsdc(res.usdc.formatted);
|
|
1537
|
+
setUsdcAtomic(res.usdc.atomic);
|
|
1538
|
+
} else {
|
|
1539
|
+
setUsdc(null);
|
|
1540
|
+
setUsdcAtomic(null);
|
|
1541
|
+
}
|
|
1529
1542
|
setError(null);
|
|
1530
1543
|
} catch (err) {
|
|
1531
1544
|
setError(err);
|
|
@@ -1544,8 +1557,22 @@ function useBalance(walletAddress) {
|
|
|
1544
1557
|
resolvedAddress,
|
|
1545
1558
|
"balance",
|
|
1546
1559
|
(data) => {
|
|
1547
|
-
|
|
1548
|
-
|
|
1560
|
+
const d = data;
|
|
1561
|
+
const xlmField = d["xlm"];
|
|
1562
|
+
if (xlmField && typeof xlmField === "object") {
|
|
1563
|
+
const x = xlmField;
|
|
1564
|
+
if (typeof x.atomic === "string") setStroops(x.atomic);
|
|
1565
|
+
if (typeof x.formatted === "string") setXlm(x.formatted);
|
|
1566
|
+
} else if (typeof xlmField === "string") {
|
|
1567
|
+
setXlm(xlmField);
|
|
1568
|
+
}
|
|
1569
|
+
if (typeof d["stroops"] === "string") setStroops(d["stroops"]);
|
|
1570
|
+
const usdcField = d["usdc"];
|
|
1571
|
+
if (usdcField && typeof usdcField === "object") {
|
|
1572
|
+
const u = usdcField;
|
|
1573
|
+
if (typeof u.formatted === "string") setUsdc(u.formatted);
|
|
1574
|
+
if (typeof u.atomic === "string") setUsdcAtomic(u.atomic);
|
|
1575
|
+
}
|
|
1549
1576
|
setError(null);
|
|
1550
1577
|
setIsLoading(false);
|
|
1551
1578
|
}
|
|
@@ -1576,7 +1603,7 @@ function useBalance(walletAddress) {
|
|
|
1576
1603
|
const refresh = useCallback(async () => {
|
|
1577
1604
|
await doFetchRef.current();
|
|
1578
1605
|
}, [doFetchRef]);
|
|
1579
|
-
return { stroops, xlm, isLoading, error, refresh };
|
|
1606
|
+
return { stroops, xlm, usdc, usdcAtomic, isLoading, error, refresh };
|
|
1580
1607
|
}
|
|
1581
1608
|
|
|
1582
1609
|
// src/hooks/useWalletActivity.ts
|